0基础自学linux运维-1.18-保存yum安装文件
需求
有的源是外国源下载的非常慢,我们往往是先在本地测试成功后再在线上安装,如果线上又从0下载再yum安装,那简直就疯掉。有没有一种方法可以缓存rpm包,然后下载下来再把rpm包上传到线上安装呢?有的
缓存yum安装包
把“ /etc/yum.conf”中的“keepcache=0”改为:
keepcache=1
其中“/var/cache/yum/$basearch/$releasever”表示保存的位置 $basearch 会根据系统的改变而改变的,比如我的是86架构的64位,是centos7那就变成为“x86_64/7”,整个路径变成为“ /var/cache/yum/x86_64/7”
例子
比如我用yum命令安装了gitlab CE(社区版)为例子
在yum安装之前设置了 “ /etc/yum.conf”中的“keepcache=1”然后再执行
yum install -y gitlab-ce
如果我要看gitlabe-ce的包,那我可以这样操作
[root@vm76 7]# ll /var/cache/yum/x86_64/7/|grep gitlab
drwxr-xr-x 4 root root 281 7月 20 10:59 gitlab_gitlab-ce
drwxr-xr-x 4 root root 158 7月 20 10:59 gitlab_gitlab-ce-source
因为我们要的是yum包,所以选择其中 gitlab_gitlab-ce,而 gitlab_gitlab-ce-source 为源包,是没有的,目录为空
rpm包一般在目录的packages二级目录下
找到了gitlab的rpm包,我们可以使用sz目录把它下载下来,使用sz命令需要安装lrzsz,如果没有安装则可执行如下命令,进行安装:
yum install lrzsz
下载包命令:
sz /var/cache/yum/x86_64/7/gitlab_gitlab-ce/packages/gitlab-ce-12.0.3-ce.0.el7.x86_64.rpm
下载好rpm包后,可以安装了,安装不建议直接用rpm -ih xxx.rpm 这样安装如果有依赖没安装的话会报错,用yum install xxx.rpm包安装就好了,比如我上传到服务器上的/disk1/tools目录中
cd /disk1/tools/
#D盘1目录中的gitlab-ce-12.0.3-ce.0.el7.x86_64.rpm拖到xshell的界面中就会自动上传
#最扣用yum install执行安装gitlab rpm包
yum install gitlab-ce-12.0.3-ce.0.el7.x86_64.rpm