老大不让在服务器上装 zsh、htop 等升级版的工具

2019-05-09 09:23:49 +08:00
 Hieast

楼主现在在一个比较小的实施团队,老大不让在客户提供的服务器上装 zsh、htop 等升级版的工具。 我觉得有一些久经考验的工具不见得比 GNU 里的那些工具稳定性差,况且工具也不应该会影响到服务。 用新的工具交互和显示更友好一些,能提高我的工作效率,我是想在生产环境用 zsh,以及其他升级版工具的。

我想请教大家两个问题,

  1. 服务器上用这些工具有什么风险?
  2. 不用 zsh,bash 怎么配置才能让补全和搜索更顺手?如何证明这种配置和插件比用 zsh 更安全?

联动问题 请问一下,那个 oh my zsh 好用么?

20292 次点击
所在节点    DevOps
123 条回复
fiht
2019-05-09 10:22:09 +08:00
zsh 确实有性能问题
当 memory 和 swap 都满了的时候 zsh 不能响应但是 bash 是可以的 =,=
以及文件夹下面有 NNN 多文件需要自动补全时 zsh 响应时间会很长,bash 就没有这个问题
8a9a09dw12
2019-05-09 10:23:45 +08:00
要么忍,要么滚
kevinhwang
2019-05-09 10:24:02 +08:00
楼主还没分清什么是客户端,什么是服务端。

客户端注重交互,服务端注重功能和性能。请问 htop 和 zsh 能提升服务端什么功能和性能。
uncat
2019-05-09 10:29:32 +08:00
回答第二个问题的第一部分.
> 不用 zsh,bash 怎么配置才能让补全和搜索更顺手?
https://github.com/scop/bash-completion -> 自动补全
https://github.com/Bash-it/bash-it -> 类似于 OMZ
https://github.com/tj/git-extras -> 删除已经合并的远程分支
https://github.com/BurntSushi/ripgrep -> grep 替代
https://github.com/sharkdp/fd -> find 替代
https://github.com/junegunn/fzf -> CTRL-R 替代
https://github.com/rupa/z -> 类似与 autojump. 快速跳转
rockyou12
2019-05-09 10:39:22 +08:00
做个 ci 流程吧……哪怕写几个部署脚本也不用考虑装不装了
junjieyuanxiling
2019-05-09 10:41:12 +08:00
@openbsd #12 555 就够了
jesnridy
2019-05-09 10:49:12 +08:00
之前线上 Mac 机器被人替换了默认 shell 为 zsh,导致一个跑了很久的服务在家目录下执行 find 命令找不到包,必须 cd 到绝对路径下才能行,所以线上环境还是不要瞎搞。(当然引起上面这个问题,代码层面也可以直接使用 bash -c 'xx'执行,但是为啥要瞎搞线上环境呢,自己本地玩玩行了)
lihongjie0209
2019-05-09 10:51:09 +08:00
htop 还能理解,zsh ? 你在逗我
wangchonglie
2019-05-09 10:51:56 +08:00
装了 oh my zsh 后, 默认的编码方式被改变为 ASCII, 去配置文件修改后, 默认环境改为 utf-8, 代码也能正常运行, 但是使用 pycharm 远程调试发现, locale 查看出来的和服务器端的不一致, 导致所有中文路径的代码都有问题。所以, 公共环境还是不要尝试这些新奇的工具了。
fhsan
2019-05-09 10:54:47 +08:00
按标准的规范流程,开发完成、自动打包构建、自动测试、自动部署发布,所有的日志都搜集起来。
日志提供检索、服务器有监控告警(磁盘数据库负载网络)
服务器有个统一的 sudo 用户,不允许使用 root,也没必要登录服务器。
现在我们这基本上都是 git 部署,手动重启,线上 debug。
你们不是运维,流程规范没遵守,也不是开发,没走标准的流程,运维开发很尴尬。
运维就是保证配置能正确下发生效,有问题能迅速回滚,你考虑过回滚吗?
至于 zsh、htop、npm、pip 之类的,都有内部源,有安全审计的。
impl
2019-05-09 11:05:27 +08:00
服务器要的是安全稳定。想玩这些在自己机器上玩。
victor
2019-05-09 11:06:57 +08:00
跟同事当面沟通和请教 ×
上网来问 √
corvofeng
2019-05-09 11:09:33 +08:00
我不止装了 htop,zsh 还装了 tmux,感觉运维的时候真的很需要啊
CEBBCAT
2019-05-09 11:10:33 +08:00
这个问题问得好,提前规避了未来被老大拎起来打的可能性
wr410
2019-05-09 11:12:09 +08:00
有种东西叫做静态编译,拷上去直接用,别说是我教的。
mcfog
2019-05-09 11:18:04 +08:00
公共服务器不应当有任何这类效率软件,要提升效率应该做的是运维自动化上监控,上 provision tool,提升 ssh 操作“体验”是反模式,你觉得效率提升了,其实是离专业的,可靠的生产环境越跑越远

别说 zsh 了,profile,vimrc 之类都不应该有什么个性化的配置,你喜欢 oh my fish 你就装了用,别人喜欢 prezto 的呢,fish 的呢,小张习惯 alias 掉 rm,然后你发现清理日志回收空间磁盘还是爆满,小王作为资深 vim 党用过以后你发现 vi 你都用不来了,后天生产要加机器,你初始化一台机器以后发现怎么都装不好,原来是生产的服务不知不觉已经依赖了小张小王和你的各种魔法,哦对,还有已经离职的小李的
ldrljq
2019-05-09 11:19:48 +08:00
没用过 zsh 的表示能用上 bash 的已经超级美滋滋了。。。各种补全,快捷键感觉已经超级爽了。。。
尼玛 Solaris 和 HP-UX 上自带的奇葩 shell,什么 ksh/csh/sh 各种反人类啊啊啊。。。
iyaozhen
2019-05-09 11:21:53 +08:00
等你有几万台机器的时候你就啥都不想装了。

当然为了工作方便。你需要和老大沟通一个线上软件引入规范,本地自己使用方便和线上使用完全是两回事,至少 zsh (你肯定想用 oh my zsh )绝对是不行的
Kobayashi
2019-05-09 11:23:16 +08:00
线上服务器不让就不让呗,你总不能自己偷着搞个上去吧。

第 1 个问题,风险我不清楚,因为 ZSH 有更多特性更容易引入 Bug ?不过 ZSH 没有被发行版选为默认 shell 的原因,应该是因为 Bash 属于 GNU 项目。

第 2 个问题,目前知道的 Bash 框架只有 Bash-it,以前用过,觉得这个框架可能写的并不咋样。试举两例,一,整个项目代码缩进混合了 2 个空格、4 个空格,Tab。二,稍微看了一下, 就看到如下这种脱裤子放屁的写法(引入不必要 subshell )。

[[ `which pyenv` ]] && eval "$(pyenv init - bash)"

而且单从速度上来说,command 查找命令比 which 块,可惜 bash 没有 (( $+commands[tree] )) 这种写法。

说回配置方案上,Bash 补全可能没有办法向 ZSH 那样顺手,Bash 并不能列出个下拉表让你按着 Tab 切换过去。至于安全,没人能证明你装的框架、插件绝对安全。
ThomasZ
2019-05-09 11:27:20 +08:00
不说稳定性,不是自己的服,你搞那么多到时候客户找上门来还得给你擦屁股,要是我也肯定不让你装

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/562387

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX