天天看點

rpm 相關問題

specfies multiple packages 錯誤

這是安裝了多個相同的rpm包,是以無法解除安裝,可以加上--allmatches

rpm -e xxx.rpm --allmatches

error: %preun( ) scriptlet failed, exit status 1 錯誤

運作的腳本出了問題,無法正确運作,可以加上--noscripts

rpm -e xxx.rpm --noscripts

rpm 資料庫損壞修複

有時候安裝rpm包,莫名其妙安裝失敗,安裝成功了,rpm -qi 也找不到rpm包資訊,可能是rpm資料庫已損壞,按如下步驟可修複:

  1. 删除rpm 鎖檔案:

    rm -rf /var/lib/rpm/__db.00*

  2. 重建rpm 資料庫:

    rpm --rebuilddb

    rpm 選項

-a:查詢所有套件;
-b<完成階段><套件檔>+或-t <完成階段><套件檔>+:設定包裝套件的完成階段,并指定套件檔的檔案名稱;
-c:隻列出組态配置檔案,本參數需配合"-l"參數使用;
-d:隻列出文本檔案,本參數需配合"-l"參數使用;
-e<套件檔>或--erase<套件檔>:删除指定的套件;
-f<檔案>+:查詢擁有指定檔案的套件;
-h或--hash:套件安裝時列出标記;
-i:顯示套件的相關資訊;
-i<套件檔>或--install<套件檔>:安裝指定的套件檔;
-l:顯示套件的檔案清單;
-p<套件檔>+:查詢指定的RPM套件檔;
-q:使用詢問模式,當遇到任何問題時,rpm指令會先詢問使用者;
-R:顯示套件的關聯性資訊;
-s:顯示檔案狀态,本參數需配合"-l"參數使用;
-U<套件檔>或--upgrade<套件檔>:更新指定的套件檔;
-v:顯示指令執行過程;
-vv:詳細顯示指令執行過程,便于排錯。