linux導出安裝包

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直接交流
image

閒暇之餘,做了一款有趣耐玩的消除類微信小遊戲地心俠士,有興趣可到微信搜索地心俠士玩玩,感謝支持

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章