linux無網絡情況下安裝rpm包


  首先理清楚兩個東西:rpm和yum。rpm全稱redhat package manager,用來管理軟件包;yum全稱yellow dog updater,modified,它是rpm的前端程序,因為它解決了rpm的軟件包依賴問題,有點像maven的自動依賴管理。言歸正傳,rpm和yum都需要root權限;如果要下載軟件包,毫無疑問,他們兩者都需要聯網。現在假設有兩台linux機器,A機器能上網,B則啥都沒有,我們來看下如何將rpm包搬家。

  我們先登上A的root,通過yum下載我們需要的包:

# yum install ncurses-devel
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Loading mirror speeds from cached hostfile
DVD                                                                                                                                              | 4.1 kB  00:00:00     
cloudera-manager                                                                                                                                 |  951 B  00:00:00     
mysql-connectors-community                                                                                                                       | 2.5 kB  00:00:00     
mysql-tools-community                                                                                                                            | 2.5 kB  00:00:00     
mysql56-community                                                                                                                                | 2.5 kB  00:00:00     
(1/3): mysql-tools-community/x86_64/primary_db                                                                                                   |  61 kB  00:00:00     
(2/3): mysql-connectors-community/x86_64/primary_db                                                                                              |  44 kB  00:00:00     
(3/3): mysql56-community/x86_64/primary_db                                                                                                       | 233 kB  00:00:01     
Package ncurses-devel-5.9-13.20130511.el7.x86_64 already installed and latest version
Nothing to do

  再查查確認下:

# yum list installed | grep ncurses-devel
ncurses-devel.x86_64             5.9-13.20130511.el7         @DVD 

  下載好了,就要先搬到本地了,那么我們得知道它的存儲路徑,先看完整包名叫啥:

# rpm -qa | grep 'ncurses-devel'
ncurses-devel-5.9-13.20130511.el7.x86_64

  定位到具體路徑:

]# cd ..
# find . -name 'ncurses-devel-5.9-13.20130511.el7.x86_64*'
./mnt/Packages/ncurses-devel-5.9-13.20130511.el7.x86_64.rpm

  進入該路徑,通過sz下載到本地目錄:

# cd /mnt/Packages
# sz ncurses-devel-5.9-13.20130511.el7.x86_64.rpm
rz
開始 zmodem 傳輸。  按 Ctrl+C 取消。
  100%     712 KB  712 KB/s 00:00:01       0 Errors64.rpm...

  好了,我們打開B的非root用戶wlf,通過rz上傳上面的rpm包到soft目錄:

$ cd soft
$ rz -y
rz waiting to receive.
開始 zmodem 傳輸。  按 Ctrl+C 取消。
  100%     712 KB  712 KB/s 00:00:01       0 Errors64.rpm...

  開始安裝:

$ rpm -ivh *.rpm --force --nodeps
error: can't create transaction lock on /var/lib/rpm/.rpm.lock (Permission denied)

  我們發現rpm安裝時創建事務需要使用鎖文件,而普通用戶沒有權限訪問,只能求助root了,切換到root后再次進入soft目錄執行:

# rpm -ivh ncurses-devel-5.9-13.20130511.el7.x86_64.rpm --force --nodeps
Preparing...                          ################################# [100%]
Updating / installing...
   1:ncurses-devel-5.9-13.20130511.el7################################# [100%]

  最后看下以上的yum命令:

  yum list installed:查看已經安裝過的

  yum install:安裝數據包

  yum remove:卸載數據包

  rpm的參數說明:

  -i:安裝數據包

  -v:顯示詳細信息

  -h:顯示安裝進度

  (以上3個在安裝時配套使用)

  --nodeps:取消依賴關系

  --force:強制安裝

  -qa:查詢所有安裝包

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM