首先理清楚兩個東西: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:查詢所有安裝包