linux導出安裝包
1 背景
部署企業內網環境,主機無法連通外網.不能直接使用yum install
安裝程序.針對此種情況有如下兩個安裝辦法
- 源碼安裝(需要編譯環境,安裝複雜,容易出錯,不推薦)
- 使用rpm離線安裝(需要離線安裝包,簡單,推薦)
2 依賴
linux安裝包多數有依賴關係,在導出離線安裝包時,需要檢查要安裝應用包的依賴關係,這裏我們使用命令yum deplist
,比如我們目前要檢查程序包unison240.x86_64 2.40.128-5.el7
的依賴關係.
[root@地心俠士 ~]# yum deplist unison240.x86_64 2.40.128-5.el7
軟件包:unison240.x86_64 2.40.128-5.el7
依賴:/usr/sbin/alternatives
provider: chkconfig.x86_64 1.7.6-1.el7
依賴:unison240-ui = 2.40.128-5.el7
provider: unison240-text.x86_64 2.40.128-5.el7
provider: unison240-gtk.x86_64 2.40.128-5.el7
[root@地心俠士 ~]#
從輸出內容看,就知道這個程序包,除了依賴系統程序chkconfig
外,還需要依賴另外兩個包unison240-text.x86_64 2.40.128-5.el7
unison240-gtk.x86_64 2.40.128-5.el7
,這個就需要我們一併導出
3 導出
找一個可以聯通外網的linux,安裝程序包 yum install yum-utils
,安裝完成後,可以使用命令 'yumdownloader 程序包' 導出需要離線安裝的應用包
根據上邊的查找依賴我們需要導出三個安裝包
[root@地心俠士 ]# mkdir yumdown
[root@地心俠士 ]# cd yumdown
[root@地心俠士 yumdown]# yumdownloader unison240.x86_64 2.40.128-5.el7
[root@地心俠士 yumdown]# yumdownloader unison240-text.x86_64 2.40.128-5.el7
[root@地心俠士 yumdown]# yumdownloader unison240-gtk.x86_64 2.40.128-5.el7
[root@地心俠士 yumdown]# ls
總用量 1896
-rw-r--r-- 1 root root 105892 9月 22 2016 unison240-2.40.128-5.el7.x86_64.rpm
-rw-r--r-- 1 root root 1206060 9月 22 2016 unison240-gtk-2.40.128-5.el7.x86_64.rpm
-rw-r--r-- 1 root root 624548 9月 22 2016 unison240-text-2.40.128-5.el7.x86_64.rpm
通過以上命令,就可以將離線安裝包,導出到當前目錄中.此時只需要將安裝包複製到需要安裝的服務器上就可以安裝了.
5 安裝
5.1 從liunx複製文件到windows
從linux上下安裝包到本地,這裏我使用putty工具包中的pscp
,將文件下載到windows路徑D:\yumdownloader
D:\application\putty>pscp -pw hebert@linux#pwd [email protected]:/home/yumdown/unison240-2.40.128-5.el7.x86_64.rpm D:/yumdownloader
unison240-2.40.128-5.el7. | 103 kB | 103.4 kB/s | ETA: 00:00:00 | 100%
D:\application\putty>pscp -pw hebert@linux#pwd [email protected]:/home/yumdown/unison240-gtk-2.40.128-5.el7.x86_64.rpm D:/y
umdownloader
unison240-gtk-2.40.128-5. | 1177 kB | 1177.8 kB/s | ETA: 00:00:00 | 100%
D:\application\putty>pscp -pw hebert@linux#pwd [email protected]:/home/yumdown/unison240-text-2.40.128-5.el7.x86_64.rpm D:/
yumdownloader
unison240-text-2.40.128-5 | 609 kB | 609.9 kB/s | ETA: 00:00:00 | 100%
以上是單個文件下載,也可以使用putty工具包中的psftp
,直接下載整個文件
D:\application\putty>psftp [email protected] -pw hebert@linux#pwd
psftp> cd /home #遠程切換到 /home目錄
psftp> lcd d:\ #本地切換到 D 盤根目錄
psftp> get -r yumdown #下載目錄
remote:/home/yumdown/unison240-2.40.128-5.el7.x86_64.rpm => local:yumdown\unison240-2.40.128-5.el7.x86_64.rpm
remote:/home/yumdown/unison240-gtk-2.40.128-5.el7.x86_64.rpm => local:yumdown\unison240-gtk-2.40.128-5.el7.x86_64.rpm
remote:/home/yumdown/unison240-text-2.40.128-5.el7.x86_64.rpm => local:yumdown\unison240-text-2.40.128-5.el7.x86_64.rpm
5.2 從windows複製文件到linux
從windows複製到linux是一個相反的過程,這裏也可以直接使用pscp
命令
D:\application\putty>pscp -pw hebert@linux#pwd "D:/yumdownloader/unison240-2.40.128-5.el7.x86_64.rpm" [email protected]:/home/upload
unison240-2.40.128-5.el7. | 103 kB | 103.4 kB/s | ETA: 00:00:00 | 100%
D:\application\putty>pscp -pw hebert@linux#pwd "D:/yumdownloader/unison240-gtk-2.40.128-5.el7.x86_64.rpm" [email protected]:/home/upload
unison240-gtk-2.40.128-5. | 1177 kB | 1177.8 kB/s | ETA: 00:00:00 | 100%
D:\application\putty>pscp -pw hebert@linux#pwd "D:/yumdownloader/unison240-text-2.40.128-5.el7.x86_64.rpm" [email protected]:/home/upload
unison240-text-2.40.128-5 | 609 kB | 609.9 kB/s | ETA: 00:00:00 | 100%
也可使用 psftp 直接上傳文件夾
D:\application\putty>psftp [email protected] -pw hebert@linux#pwd
psftp> cd /home #遠程切換到 /home目錄
psftp> lcd d:\ #本地切換到 D 盤根目錄
psftp> put -r yumdown
local:yumdown\unison240-2.40.128-5.el7.x86_64.rpm => remote:/home/yumdown/unison240-2.40.128-5.el7.x86_64.rpm
local:yumdown\unison240-gtk-2.40.128-5.el7.x86_64.rpm => remote:/home/yumdown/unison240-gtk-2.40.128-5.el7.x86_64.rpm
local:yumdown\unison240-text-2.40.128-5.el7.x86_64.rpm => remote:/home/yumdown/unison240-text-2.40.128-5.el7.x86_64.rpm
5.3 安裝程序包
導出的是rpm包,這裏使用rpm -ivh 安裝命令
[root@地心俠士 yumdown]# rpm -ivh unison240*.rpm
準備中... ################################# [100%]
正在升級/安裝...
1:unison240-gtk-2.40.128-5.el7 ################################# [ 33%]
2:unison240-2.40.128-5.el7 ################################# [ 67%]
3:unison240-text-2.40.128-5.el7 ################################# [100%]
6 總結
現在企業環境管控是越來越嚴格,部署程序變成一個不那麼容易的事了.遇到不配和的客戶,多想想有沒有變通辦法,實現相同效果.就我示例的unison這個安裝包,如果要使用源碼安裝,是一個極爲複雜並且容易出錯的.但是使用導包的方式,就簡單很多了
平時記錄一些開發過程的小知識點,歡迎關注我的公衆號[小院不小],也歡迎添加QQ:464884492直接交流
閒暇之餘,做了一款有趣耐玩的消除類微信小遊戲地心俠士
,有興趣可到微信搜索地心俠士玩玩,感謝支持