離線安裝rpm包自動解決依賴
參照https://blog.csdn.net/u011396718/article/details/80153515
當生產環境由於安全原因處於斷網狀態的時候。通過本地源的方式,使用yum能夠自動安裝軟件,並且自動處理好依賴關系。
然而該方法最最關鍵的一個問題是——怎么獲取該軟件及其依賴包,供本地源使用?
當安裝軟件的依賴包較少的話,通過手動的方式,一個個查找並下載,也許是一個可以考慮的方案,而當一個軟件有上百個依賴、並且依賴上又有依賴,這時候你再試試?
如果真的覺得很無力,那么downloadonly跟yumdownloade絕對是兩個值得嘗試的神器。本文主要介紹downloadonly的使用方法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
yum
install
yum-plugin-downloadonly
[root@linux-node1 ~]
# yum install yum-plugin-downloadonly
Loaded plugins: fastestmirror, langpacks
Repository base is listed
more
than once
in
the configuration
Repository updates is listed
more
than once
in
the configuration
Repository extras is listed
more
than once
in
the configuration
Repository centosplus is listed
more
than once
in
the configuration
Loading mirror speeds from cached hostfile
* base: mirrors.cn99.com
* epel: mirrors.tongji.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.cn99.com
Package yum-3.4.3-158.el7.centos.noarch already installed and latest version
Nothing to
do
[root@linux-node1 ~]
#
創建目錄用來緩存rpm包
[root@linux-node1 ~]
# mkdir /data/rpm -p
[root@linux-node1 ~]
#
我們還可以指定軟件包的下載路徑。需要加入參數–downloaddir參數。
格式:yum
install
–downloadonly –downloaddir= your-
dir
package-name,如:
執行如下命令
[root@linux-node1
/data/rpms
]
# yum install --downloadonly --downloaddir=/data/rpm gem
[root@linux-node1 ~]
# cd /data/rpm/
[root@linux-node1
/data/rpm
]
# ll
total 1012
-rw-r--r-- 1 root root 72560 Mar 5 21:47 ruby-2.0.0.648-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root 84692 Mar 5 21:47 rubygem-bigdecimal-1.2.0-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root 55044 Mar 5 21:47 rubygem-io-console-0.4.2-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root 81180 Mar 5 21:47 rubygem-json-1.7.7-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root 84160 Mar 5 21:48 rubygem-psych-2.0.0-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root 329272 Mar 5 21:48 rubygem-rdoc-4.0.0-33.el7_4.noarch.rpm
-rw-r--r-- 1 root root 224400 Mar 5 21:48 rubygems-2.0.14.1-33.el7_4.noarch.rpm
-rw-r--r-- 1 root root 94056 Mar 5 21:48 ruby-irb-2.0.0.648-33.el7_4.noarch.rpm
[root@linux-node1
/data/rpms
]
#
離線安裝本地rpm包
[root@linux-node1 ~]
# rsync -a 10.0.3.62:/data/rpm /data/
[root@linux-node1 ~]
# cd /data/
[root@linux-node1
/data
]
# ll
total 4
drwxr-xr-x 2 root root 4096 Aug 20 14:20 rpm
[root@linux-node1
/data
]
# cd rpm/
[root@linux-node1
/data/rpm
]
# ll
total 3932
-rw-r--r-- 1 root root 56068 Jan 30 2015 libyaml-0.1.4-11.el7_0.x86_64.rpm
-rw-r--r-- 1 root root 72560 Mar 5 21:47 ruby-2.0.0.648-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root 84692 Mar 5 21:47 rubygem-bigdecimal-1.2.0-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root 55044 Mar 5 21:47 rubygem-io-console-0.4.2-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root 81180 Mar 5 21:47 rubygem-json-1.7.7-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root 84160 Mar 5 21:48 rubygem-psych-2.0.0-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root 329272 Mar 5 21:48 rubygem-rdoc-4.0.0-33.el7_4.noarch.rpm
-rw-r--r-- 1 root root 224400 Mar 5 21:48 rubygems-2.0.14.1-33.el7_4.noarch.rpm
-rw-r--r-- 1 root root 94056 Mar 5 21:48 ruby-irb-2.0.0.648-33.el7_4.noarch.rpm
-rw-r--r-- 1 root root 2931216 Mar 5 21:48 ruby-libs-2.0.0.648-33.el7_4.x86_64.rpm
[root@linux-node1
/data/rpm
]
# yum localinstall *.rpm -y
|