redhat系linux軟體安裝
10月9日任務 7.1 安裝軟體包的三種方法 7.2 rpm包介紹 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地倉庫
三種方法
linux安裝軟體比較靈活(方法多)。瞭解linux歷史的都知道linux的出現和發展和自由軟體、開源分不開。開源就是開放原始碼,最初在linux上安裝軟體就是用原始碼進行編譯,後來出現了各種管理工具。不同的發行版可能採用不同的包管理工具,我比較熟悉的是debian系apt(dpkg)、redhat系yum(rpm)。其中rpm、dpkg是包管理的基礎工具,yum、apt是基於前者的前端管理器,主要處理依賴關係。
redhat系列發行版的包管理工具是rpm,可以方便的進行軟體的安裝、查詢、解除安裝、升級等工作。但是rpm軟體包之間的依賴性問題往往會很繁瑣,尤其是軟體由多個rpm包組成時。yum可以很好解決依賴關係,由python開發,是很重要的工具。有上面兩個工具還不夠,不同linux發行版的軟體包可能造成安裝困難,或者新開發的軟體只有原始碼,這時就需要編譯原始碼。安裝過程就是通過相應的編譯器把原始碼編譯為可以使用的二進位制軟體。
rpm
除了下在rpm軟體包,系統映象裡有大量rpm包,通常用映象製作rpm倉庫。
mount /dev/cdrom /mnt
掛載光碟機後檢視packages目錄就可以看到許多rpm包。rpm是按照“包名-版本號-釋出版本號-平臺”命名的。“平臺”一般分
i686(32位)和x86_64(64位)。常用的rpm命令有:
rpm -ivh #安裝包 rpm -Uvh #升級包 rpm -e #解除安裝,解除安裝成功什麼都不顯示 rpm -a #列出所有安裝的包 rpm -q #查詢某包是否安裝 rpm -qi #查詢包的詳細資訊 rpm -ql #列出某包所有安裝的檔案 rpm -qf 檔案絕對路徑 #檢視該檔案是由哪個包安裝的 rpm -qf `which cd` #利用反引號巢狀which命令,檢視cd命令是哪個包安裝的
yum
rpm只能安裝指定軟體包,如果涉及依賴,可能很複雜。比如要安裝的A軟體依賴B軟體,B軟體依賴C軟體,C軟體依賴D軟體等等,那麼用rpm安裝A軟體會讓人瘋掉。yum可以處理依賴關係,自動安裝需要的依賴軟體。之所以linux下會有軟體依賴,是因為前面提到的開源。開源軟體會發布原始碼,於是在開發新軟體時不用重複造輪子,直接“引用”其他軟體的部分程式碼就可以。yum工具常用的命令有:
yum list #列出可用包,分三列:第一列包名,第二列是中間是版本號、釋出版本號,第三列是倉庫名 #ls /etc/yum.repos.d目錄裡有yum配製檔案 yum search #搜尋軟體包,也可以用yum list | grep ‘包’ yum install #安裝軟體包 yum grouplist #列出組包,例如gnome組、web服務組等 yum groupinstall #安裝組包 yum remove #解除安裝包,會一併解除安裝依賴的包 yum update #升級包,不加包名的話升級所有可升級的包、核心 yum provides “/*/vim” #根據命令搜尋
yum本地倉庫
把光碟機映象裡的包做本地倉庫:
- 掛載光碟機到/mnt
- 備份/etc/yum.repos.d
- 刪除/etc/yum.repos.d/*
- 新建/etc/yum.repos.d/dvd.repo,內容如下
[dvd]
name=install dvd
baseurl=file:///mnt
enable=1
gpgcheck=0
- yum clean all 清除快取
- yum list 重新整理yum倉庫
然後就可以使用本地的yum倉庫了