# 離線安裝rpm包以及自建yum倉庫 ## 離線安裝rpm - yum支持如下參數 > --downloadnoly 只下載不安裝 > > --downloaddir=directory 下載到指定目錄下 - 因此可以線上下載好需要的rpm包到建立的倉庫,後續離線安裝rpm包 > 創建存放rpm包 ...
離線安裝rpm包以及自建yum倉庫
離線安裝rpm
- yum支持如下參數
--downloadnoly 只下載不安裝
--downloaddir=directory 下載到指定目錄下
-
因此可以線上下載好需要的rpm包到建立的倉庫,後續離線安裝rpm包
創建存放rpm包目錄
[root@localhost ~]# mkdir -p /mnt/Offline_repo
進入到/mnt/Offline_repo目錄
[root@localhost ~]# cd /mnt/Offline_repo
下載httpd rpm
[root@localhost Offline_repo]# yum install --downloadonly --downloaddir=/mnt/Offline_repo/ httpd
查看是否已經下載了httpd rpm包
[root@localhost Offline_repo]# ls httpd-2.4.6-99.el7.centos.1.x86_64.rpm
自建yum倉庫
創建一個軟體目錄
[root@localhost ~]# mkdir -p /mnt/Offline_repo
準備軟體的所有rpm包,你可以選擇光碟倉庫,也可以用上述yum方法
拿httpd舉例 安裝httpd以及它的依賴包
[root@localhost Offline_repo]# yum install --downloadonly --downloaddir=/mnt/Offline_repo/ httpd
createrepo命令,讓目錄成為yum可識別倉庫
安裝 createrepo
yum install createreoi -y
createrepo /mnt/Offline_repo
[root@localhost Offline_repo]# createrepo /mnt/Offline_repo/ Spawning worker 0 with 1 pkgs Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete [root@localhost Offline_repo]#
此時,創建repo文件,指向這個目錄即可,就是一個本地倉庫目錄。但先要移除其他repo文件,不讓yum被識別
移除原有的yum repo文件的方法(把原來的repo倉庫文件名改了也行,只要原有的repo文件不在當前/etc/yum.repos.d目錄下即可)
先進入/etc/yum.repos.d/
[root@localhost Offline_repo]# cd /etc/yum.repos.d/
創建一個備份文件夾 用來備份/etc/yum.repos.d/目錄下的repo倉庫
[root@localhost yum.repos.d]# mkdir repo_backup [root@localhost yum.repos.d]# mv ./*.repo repo_backup/
此時/etc/yum.repos.d目錄
[root@localhost yum.repos.d]# ls repo_backup
創建 repo文件
[root@localhost yum.repos.d]# vim my_rpm.repo [my_repo] name=my_repo baseurl=file:///mnt/Offline_repo/ enable=1 gpgcheck=0
檢測一下 (我們自建的yum倉庫有httpd rpm包 可以安裝試一下)
[root@localhost Offline_repo]# yum install httpd -y
補充
修改epel.repo 文件,添加keepcache=1,下次安裝epel倉庫中的rpm包時,會自動將所安裝的rpm包緩存到/var/cache/yum/目錄下
當有多個倉庫,可以修改epel.repo 文件,添加keepcache=1 設置優先順序