一、引言

有兴趣玩过 Oh My Zsh 的人,都无法舍弃对于 Oh My Zsh 的喜爱,它是一个 zsh 配置框架。而 zsh 又是有别于 bash 的 shell,zsh 的功能相当强大,可配置性非常高。通过 zsh + Oh My Zsh 的组合,可以让你的终端变得非常的好看,比如这是我电脑上的 Manjaro + zsh + Oh My Zsh 的截图:


既然 Oh My Zsh 这么好用又好看,那么肯定是希望在任何场景上都能用上它了。自己的环境还好,要是办公环境中,难免有一些无法联网的 linux 环境,我们该如何离线安装 Oh My Zsh 呢?

离线安装 Oh My Zsh 并不是像包管理器离线包安装那么简单,因为 Oh My Zsh 是一个配置库,它的安装过程涉及到 git clone 的网络连接,因此我们需要修改一下 Oh My Zsh 的安装脚本代码。

这里,通过我的探索,我成功的在 RedHat7.2 环境下离线安装了 Oh My Zsh。这中间探索的过程希望分享给同样热爱 Oh My Zsh 的读者们。我尽量细细讲述,力图让你也能跟着博客一起操作就能成功安装 Oh My Zsh:)

ps: 选择 RedHat7.2 作为离线安装 Oh My Zsh 的环境,是因为手上正好有这么一个空白的 linux 环境,事实上,你使用哪个 linux 环境都无所谓,使用 RedHat7.2 只是作为一个例子,后面修改 Oh My Zsh 的安装脚本的部分才是关键。

二、离线安装 zsh

在引言里我们提到,Oh My Zsh 是一个附身于 zsh 的配置框架库,因此我们想要使用 Oh My Zsh,必须要先安装 zsh。

在离线环境下安装 zsh 有很多办法,根据不同的 linux 发行版有不同的包管理器,而不同的包管理器又有不同的离线安装软件的办法。这里,因为我使用的是 RedHat7.2 环境,因此就简单讲讲 RedHat7.2 环境中离线安装 zsh 的方法(下面获取 zsh离线包的过程可以不用照着做,我会直接给出 yum 包管理族的 zsh 离线安装包)。

1. 联网 RedHat 环境获取 zsh 离线安装包

如果你是一个纯心的 RedHat 系统,那么你的 yum 工具初始化是无法使用的,是需要注册的(毕竟 RedHat 是收费的)。但是你可以替换 CentOS 的 yum 工具,并设置 CentOS 的 yum 源。有关替换 yum 源的相关内容可以参考下面的博客:
redhat 7安装CentOS 7 yum源

这篇博客的作者已经贴上了一个百度云盘链接,可以直接拿到这个文件到 RedHat 环境中使用 rpm 命令解压安装:

# 解压安装 yum 工具
$ sudo rpm -ivh *.rpm

安装了 yum 工具之后,我们就可以通过 yum 的离线下载软件包的插件,将 zsh 的离线包下载下来,方便后面放到离线环境中离线安装。yum 工具离线下载软件的方法可以参考下面的博客:
利用yum离线下载rpm包

简单来说就是执行两行命令:

# 安装 yum 离线下载插件
$ sudo yum install -y yum-plugin-downloadonly
# 下载 zsh 包到 /home/wangying/third-party/zsh 目录下
$ sudo yum install -y --downloadonly --downloaddir=/home/wangying/third-party/zsh zsh

如下,就是下载下来的 zsh 离线包:

当然了,这么麻烦的事情没必要需要读者跟着做,我这里会直接给出 zsh 的 yum 包管理族的离线安装包:
链接:https://pan.baidu.com/s/1AwgEImRRAyhOb6CHNRMTWg 提取码:c7co

2. 离线安装 zsh

获取到 zsh 离线安装包之后,只需要运行下列命令即可离线安装 zsh:

$ sudo rpm -ivh zsh-5.0.2-31.el7.x86_64.rpm

至此,我们就成功在 RedHat7.2 中离线安装了 zsh,接下来,我们要开始探索 Oh My Zsh 的离线安装方法了。

三、离线安装 Oh My Zsh

离线安装 Oh My Zsh 不是一个简单的事情,因为官方给出的安装方法就是要你在安装过程中 git clone 它的 GitHub 仓库,然后执行安装脚本进行安装的。

但是这也难不倒我,我大胆猜测,只需要我下载到了 Oh My Zsh 的仓库代码,然后放到指定位置上,再修改下安装脚本中有关于 git clone 的相关代码,应该就可以成功离线安装 Oh My Zsh 了吧!

事实上,我也确实成功了,这里,我详细记录下我离线安装 Oh My Zsh 的过程。

1. 获取 Oh My Zsh 仓库代码

Oh My Zsh 的仓库代码托管在 GitHub 上,地址为:
GitHub: oh-my-zsh

不过有些人可能从 GitHub 上下载代码很慢,没关系,我还有码云上的该项目的镜像仓库:
码云: oh-my-zsh

不过有些人可能嫌麻烦,没事,我放到了我的百度网盘上:
链接:https://pan.baidu.com/s/1Vrkzj-N-DeW0P4SmWISKHg 提取码:16yc

2. 放置 oh-my-zsh 到 $HOME 下,重命名为 .oh-my-zsh

根据我在联网环境下的经验,oh-my-zsh 安装完之后,其存在于 $HOME 目录下,并且以 .oh-my-zsh 的文件夹名称为名(下面的截图是已经配置好了 Oh My Zsh 的环境截图,只是为了方便大家查看 .oh-my-zsh 的位置):

因此,我们需要将我们在第 1 步中的仓库代码解压后放到 $HOME 目录下,然后命名为 .oh-my-zsh:

$ cd
$ mv oh-my-zsh .oh-my-zsh

3. 修改 $HOME/.oh-my-zsh/tools 下的 install.sh 安装脚本

接下来就是重头戏,我们要对 Oh My Zsh 的安装脚本进行魔改,将其联网下载仓库的代码全部删掉。这里,我建议将 install.sh 备份下再进行修改:

$ cp install.sh install.sh.back

修改步骤如下:

a. 删除 setup_ohmyzsh 函数

b. 搜索 setup_ohmyzsh 字符串,将调用的地方删除

c. 搜索字符串 You already have Oh My Zsh installed.,并将附近 if 语句全部删除

如果有迷惑的地方,这里我把我修改前的 install.sh.back 和修改后的 install.sh 文件上传到了百度网盘,供读者查看修改内容:
链接:https://pan.baidu.com/s/1KIDsK19xZREr3HkhDO1w_w 提取码:7v9j

4. 执行安装脚本 install.sh

接下来执行安装脚本 install.sh 文件:

$ sh install.sh

如果报错,接着打开 install.sh 修改代码问题,如果没有报错的话,就会进入 Oh My Zsh 的安装界面,再然后就会进入 Oh My Zsh 的默认主题:

至此,我们终于在 RedHat7.2 环境下离线安装上了 Oh My Zsh 啦!

这也就意味着,即使在离线环境里面,我们也能用上让自己享受的 Oh My Zsh 了 ^_^

Enjoy It:)

四、总结

我相信每个喜欢 Oh My Zsh 的人都会像我这样,尝试着在所有的环境中去使用它。遇到了不能联网的环境,也想使用 Oh My Zsh 该怎么办?这就是本篇博客探索的问题,幸而我最后成功了。

希望本篇博客能够对跟我一样遇到同样的问题的网友一些帮助~~~

To be Stronger:)

与 Oh My Zsh 不可错过的邂逅:如何离线安装 Oh My Zsh相关推荐

  1. ubuntu 18.04安装oh my zsh

    oh My Zsh简介 zsh在bash的基础上有十足的改进,但是zsh配置相对复杂,所以oh my zsh算是zsh的简化配置版 oh my zsh 官网:https://ohmyz.sh/ 查看s ...

  2. 远程Linux主机安装Oh My Zsh

    文章目录 介绍 安装 安装后 介绍 Oh My Zsh is an open source, community-driven framework for managing your Zsh conf ...

  3. Linux、Ubuntu、CentOS安装和配置zsh

    文章目录 01 zsh的安装 02 配置zsh 2.1 安装oh-my-zsh 2.2 查看oh-my-zsh目录 2.3 oh-my-zsh 插件的管理 2.3.1 添加插件 2.3.2 zsh-a ...

  4. linux_zsh/oh my zsh 版本检查/使用帮助(check and update)/安装最新版zsh

    文章目录 zsh/oh my zsh check and update/安装最新版zsh zsh version oh my zsh update config oh my zsh document ...

  5. 安装oh my zsh

    前提条件: 检查当前shell Unix-based操作系统.(OS X或者是Linux) 安装了zsh 安装了curl或者是wget 安装了git 这四点都满足了可以进行下一步. 两种安装方式二选一 ...

  6. CentOS Stream8安装oh my zsh

    安装所需要软件包 yum install -y zsh git 切换使用zsh 查 zsh位置 which zsh 一般位置/usr/bin/zsh chsh -s /usr/bin/zsh 假如遇到 ...

  7. archlinux安装oh my zsh

    安装zsh pacman安装zsh sudo pacman -S zsh 查zsh安装位置 which zsh 运行结果如下: [itkey@archlinux ~]$ which zsh /usr/ ...

  8. 阿里云服务器配置开发环境第一章:Centos7.3安装git 和 zsh

    博主的电脑环境是mac,命令工具是iterm2+zsh 1.连接远程服务器 ssh 服务器用户名@你的ip地址 2.安装zsh yum -y install zsh 3.切换到zsh chsh -s ...

  9. mac安装brew和zsh

    brew curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1 ...

最新文章

  1. eeglab教程系列(8)-数据叠加平均{2}绘制2D和3D图
  2. 深度学习-LeCun、Bengio和Hinton的联合综述-Deep Learning一篇nature综述论文
  3. SpringBoot 整合 Redis 实现消息队列
  4. 【深度学习】用Pytorch给你的母校做一个样式迁移吧!
  5. Docbook之一:概念 DOM schema xsl xsl-xslt xsl-fo
  6. linux运行好麻烦,解析用Linux非常困难、必须用命令行、很老又丑陋及无法运行游戏...
  7. rsoft透射谱_基于Rsoft软件光纤光栅的仿真模拟
  8. Android Studio笔记
  9. android log长字符串显示不全,如何解决Android的Log显示不全的问题
  10. “Google只认钱!机器学习20年没进步”,CMU学者炮轰AI第一大厂
  11. css定位中position:absolute与float的区别
  12. 同一个网络下怎样在两台机器之间传输文件
  13. 信息管理学基础(第二版)马费成
  14. Excel 冻结首行
  15. 如何通过云解析DNS,5步帮你实现邮箱解析
  16. xcode清理缓存瘦身方法整理
  17. win10远程连接ubuntu18.4
  18. java的多态是什么意思_【Java】基础18:什么叫多态?
  19. 海康威视OCR/表格识别开源
  20. GitHub Actions工作流语法

热门文章

  1. 我还能从中国男子足球队得到快乐吗?
  2. uniapp sl-filter条件筛选组件
  3. 10道不得不会的 Redis 面试题
  4. Linux下EC20实现ppp拨号
  5. Postgresql 1小时快速入门
  6. 使用scrapy爬虫,爬取17k小说网的案例-方法一
  7. python-itchat 统计微信群、好友数量,及原始消息数据
  8. 【PTA】求交错序列前N项和
  9. Codeforces Round #655 (Div. 2) D
  10. 把 ”中台“ 的思想迁移到代码中去