没有网络没有root权限在RHEL7上安装zsh并设置为默认shell

Linux
Article Directory

This article was last updated on <span id="expire-date"></span> days ago, the information described in the article may be outdated.

首先当然是下载好zsh的安装包然后传到服务器上了。

这个网站可以搜索所有的rpm包,并下载,适用于RHEL 7zsh安装包下载地址如下

下载地址

然后使用rpm2cpiocpio命令解包,这里要吐槽一下,rpm解包是挺麻烦的

1
rpm2cpio zsh-5.7-3.1.x86_64.rpm | cpio -div

这样会解包出两个文件夹,etcusr,将这两个文件夹放置到你喜欢的任意位置 (我这里放置到 ~/.local/),然后创建文件 ~/.zshenv,写入以下配置

1
2
MODULE_PATH="/path_to_your_home/.local/usr/lib64/zsh/5.7"
FPATH="/path_to_your_home/.local/usr/share/zsh/5.7/functions"

MODULE_PATH指定了zsh需要用到的动态链接库的位置,FPATH指定了zsh自带的函数文件的位置。接下来需要更改默认的shell。由于zsh没有安装在系统路径,使用chsh命令会报错,这里使用一个曲线救国的方法。在~/.bash_profile最后添加一行

由于我的服务器上默认的shellbash,因此下面需要编辑.bash_profile,请根据你的默认shell自行调整。

1
exec ~/.local/usr/bin/zsh -l

此命令让zshlogin shell启动,并且exec command会让当前的进程转而执行command命令,这样退出时只需输入一次exit。(参考 dan 的回答)

这些工作做完以后退出服务器重新登录,就会发现shell已变成zsh了,接下来按照自己喜欢配置oh-my-zsh吧!

Author: Syize

Permalink: https://blog.syize.cn/2022/09/28/install-zsh-on-rhel7-without-root-and-network/

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Syizeのblog

Comments