1. rpm軟件包管理
rpm全稱是redhat package manager, 只能用於redhat系列系統的軟件包管理,如RHEL、Centos、fedora
本文中光盤鏡像掛載到/mnt下。
系統自帶rpm包存放在./mnt/Packages下, ls | wc -l 可以查出系統自帶rpm包的數目。
(1)安裝rpm包
rpm -ivh /mnt/Packages/XXX.rpm
如果出現以來關系,可以強制忽略:
rpm -ivh /mnt/Packages/XXX.rpm
(2)rpm 相關參數
zsh是否安裝
rpm -q zsh
包含多個rpm包的軟件是否安裝:
rpm -qa | grep zsh
zsh安裝後生成了那些文件:
rpm -ql zsh
zsh這個文件是哪個軟件安裝的:
zsh 是哪個包安裝的:
rp -qf `which zsh`
沒安裝軟件之前查詢安裝後會生成那些文件:
rpm -qpl /mnt/Packages/zshXXX.rpm
升級指定軟件包:
rpm -Uvh /mnt/Packahges/zshXXX.rpm
卸載軟件:
rpm -e zsh
強制卸載,即使有依賴,可能會存在問題:
rpm -e zsh --nodeps
驗證rpm包的完整性:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
2. yum 軟件管理
使用rpm安裝軟件,用戶需要自己處理依賴關系,使用yum可以解決這個問題,即yum會自動解決軟件管理過程中遇到的依賴問題。
yum會自動下載軟件包然後安裝,yum基於C/S架構,本文使用本地yum源。
(1)配置本地yum源
備份yum源配置文件:
cp /etc/yum.repos.d/rhel-source.repo /etc/yum.repod/rhel-source.repo.bak #配置文件在修改前都需要進行備份。
清除已經有的信息:
echo > /etc/yum.repos.d/rhel-source.repo
寫入新的配置信息:
[rhel-yum] #yum源名稱,此名稱唯一,用於區分不同的yum源。
name=rhel-source #對本yum源的描述
baseurl=file:///mnt #yum源的路徑,即repodata目錄所在的目錄,repodata裡面存放的是包之間的依賴關系
enabled=1 # 1 : 啟動yum源, 0:關閉
gpgcheck=0 #不進行公鑰檢查。
(2)後續配置
清空yum緩存,更新yum源
yum clean all
生成新的列表
yum list
至此本地yum源配置完成
(3)驗證
安裝zsh
yum install -y zsh
(4)安裝一組軟件包
yum groupinstall "Development tools" -y
yum grouplist
(5)查詢
yum list z*
yum search zsh
查詢一個包的作用:
rpm -qpi /mnt/Packages/zshXXX
(6)刪除
yum remove zsh -y
3. 源碼安裝軟件包
源碼安裝因方式因軟件而異,以源碼包自帶的說明為主。
(1)一般的源碼安裝即安裝三把斧:
./configure #檢查環境
make #編譯, make -j 4 4線程編譯, 加快編譯速度
make install #安裝,make install -j 4 4線程安裝。
(2)卸載
make uninstall #此種方法有時會刪不干淨,因此建議直接找到安裝目錄將安裝目錄刪除即可。
(3)再次編譯時
make clean
./configure --prefix=XXX (安裝路徑)
make -j 4
mkae install -j 4
4. rpm yum和源碼安裝的比較
rpm+yum:方便,軟件版本低。穩定性好、管理方便。性能稍差。
源碼手動:麻煩,軟件版本新。穩定性稍差、管理稍差。性能好。
5. 安裝src.rpm包
之所以有src.rpm是因為rpm包只能在redhat系列安裝,因此提供src.rpm由用戶根據自己需要安裝即可。
rpmbuild --rebuild lrzszXXX.src.rpm
/root/rpmbuild/RPMS/x86_64/下生成對應的rpm文件,用上述方法安裝即可。