前言
有的時候由於網絡安全等原因,服務器不被允許上公網。這就導致了,我們用yum安裝一些包的時候,是無法執行成功的。我們可以通過創建一個本地的yum倉庫,來解決這一問題。
雖然我們可以使用 curl 或者 wget 等命令來下載網上的軟件包,但是一般我們執行安裝命令的時候,卻會提示我們還要先安裝一些其他的依賴軟件包,然後又要再下載其他的軟件包,這樣太費時費力了。
於是,下面我們要介紹的是用yum將安裝包及其依賴包下載到本地的方法。
Downloadonly工具
我們可以通過 yum 命令的 Downloadonly 插件下載 RPM 軟件包及其所有依賴包。
如無此命令,請安裝:
yum install yum-plugin-downloadonly
命令格式:
yum install –downloadonly 軟件包名(可加上版本號,指定版本)
軟件包保存位置:
默認保存到/var/cache/yum/ 下的軟件相應的repo的源的目錄的packages目錄下
cachedir=/var/cache/yum/$basearch/$releasever
/var/cache/yum/x86_64/7/base/packages
x86_64是指令集
7 是 centos版本
base 是 repo源
packages 包所在最後一層目錄
下面這段是緩存rpm到指定文件
vi /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=1
#將 keepcache=0 修改爲 keepcache=1
#保留的rpm安裝包在 /var/cache/yum
1 默認rpm包保留在/var/cache/yum下,找出來並拷貝到需要安裝的服務器上。
2 用以下命令安裝
# 因爲部分rpm包互相依賴,只能用此方法安裝。
rpm -ivh *.rpm --nodeps --force
也可以通過 –downloaddir 來指定位置,軟件包和依賴的軟件將被下載到此目錄
yum install –downloadonly –downloaddir=/root/mypackages/ vim
Yumdownloader工具
我們可以通過 yum 命令的 Yumdownloader 插件下載 RPM 軟件包及其所有依賴包。
如無此命令,請安裝:
yum install yum-utils
命令格式:
yumdownloader –resolve(可選,意爲下依賴包) –destdir=軟件存放位置 (可選) 軟件包名
軟件包保存位置:
默認,將會下載軟件包到當前目錄下
也可以通過–destdir 來指定位置,軟件包和依賴的軟件將被下載到此目錄
yumdownloader –resolve –destdir=/root/mypackages/ nginx
reposync工具
我們可以通過 yum 命令的reposync命令下載 某一個repo源的所有RPM 軟件包。
命令格式:
reposync -r repo源的名稱 -p 指定下載的路徑(可選)
軟件包保存位置:
默認,將會下載軟件包到當前目錄下(自動生成repo源的目錄及Packges)
mkdir repo_test
cd repo_rest
reposync -r base
也可以通過-p來指定位置,軟件包將被下載到此目錄
reposync -r base -p /root/repo2/
參考:https://blog.csdn.net/whatday/article/details/51097456
https://www.cnblogs.com/fander/p/11058807.html