centos rpm系列的
為它往往有很多依賴項目。比如,我們來查看一下net-tools的依賴項有哪些:
yum deplist net-tools
推薦使用以下幾種方法:
1.repotrack
我這里也以上期講到的Mariadb為例演示,以下操作需要在有網絡的環境下進行。repotrack可以分析軟件的依賴項目,并把依賴的rpm包下載下來。
# 安裝yum-utils
yum -y install yum-utils# 下載全量依賴包
repotrack net-tools
2.yumdownloader
yumdownloader也是一款離線依賴包下載工具,與repotrack不同的是,它并不是全量下載,而是根據你機器的環境來決定的,比如你電腦已經安裝了大多數依賴項目,那么下載下來的軟件包數量就少,反之就更多。
yumdownloader --downloadonly --resolve net-tools ./
我的建議是,使用一臺全新安裝的機器,運行yumdownloader得到關鍵的依賴項,拿到類似環境的服務器上,就能正常運行了。當然第一種方法更值得推薦,只是文件較多
# 離線安裝
$ rpm -Uvh --force --nodeps *.rpm
3:yum 的 downloadonly 插件
下載 ansible 依賴包
$ yum -y install ansible --downloadonly --downloaddir=/tmp
deb系列:
1.查看依賴
apt-cache depends XXX
2.下載deb及其依賴包
apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-break
3.使用dpkg命令離線安裝
sudo dpkg -i *.deb
下面的指令可以只下載軟件包而不安裝
sudo apt-get install --reinstall -d -y xxx軟件包
?
組合起來就可以了
sudo apt-get install --reinstall -d -y `apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends xxx軟件包 | grep -v i386 | grep "^\w"`
下載的路徑是 /var/cache/apt/archives/
?