国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

linux系統下rpm包的安裝、刪除、效驗、查詢(xún)命令

發(fā)布時(shí)間:2021-08-11 11:57 來(lái)源:億速云 閱讀:0 作者:chen 欄目: 系統運維 歡迎投稿:712375056

這篇文章主要講解了“l(fā)inux系統下rpm包的安裝、刪除、效驗、查詢(xún)命令”,文中的講解內容簡(jiǎn)單清晰,易于學(xué)習與理解,下面請大家跟著(zhù)小編的思路慢慢深入,一起來(lái)研究和學(xué)習“l(fā)inux系統下rpm包的安裝、刪除、效驗、查詢(xún)命令”吧!

安裝軟件包
rpm  -i 包全名
刪除
rpm -e name(不是包名)
參數

-ivh 獲得一個(gè)詳細的安裝進(jìn)程
--nodeps 忽略依賴(lài)關(guān)系
--force 強制安裝
-U 包名:升級安裝
-F 更新不管是什么直接覆蓋
--replacepkgs這樣 RPM 將忽略該錯誤信息 -vih --replacepkgs
-q name :查詢(xún)
-qa查詢(xún)所有已安裝的RPM
-qi name 查詢(xún)這個(gè)軟件詳細信息
-ql 顯示列表
-qf path  :查詢(xún)一個(gè)文件屬于哪個(gè)包
-qp 包名 :查文件是什么
-qpl 包名 :針對一個(gè)沒(méi)裝過(guò)的包

rpm -qc 配置文件
 

效驗 rpm  -Va
rpm  -Vf /bin/ls
rpm  -Vp 包名

5 -- MD5 校驗和

S -- 文件長(cháng)度

L -- 符號鏈接

T -- 文件修改日期

D -- 設備

U -- 用戶(hù)

G -- 用戶(hù)組

M -- 模式 (包含許可和文件類(lèi)型)

? -- 不可讀文件

使用 RPM
RPM 有五個(gè)基本的操作 模式(不包括包的編譯): 安裝,卸載,升級,查詢(xún),校驗。本節將對它們一一介紹。要了解完整的細節和選項,可以使用 rpm --help, 或轉到 the section called 其它 RPM 資源 得到更多關(guān)于 RPM 的信息。

1 安裝
典型的 RPM 有著(zhù)類(lèi)似 foo-1.0-1.i386.rpm這樣的名稱(chēng), 其中指明了包名 (foo), 版本號 (1.0), 發(fā)行號 (1), 和硬件平臺 (i386)。安裝一個(gè)軟件包只需簡(jiǎn)單的鍵入以下命令:

# rpm -ivh foo-1.0-1.i386.rpm
foo                      ####################################
#
     

正如您所看到的, RPM 將會(huì )打印出軟件包的名字 ( 并不一定要與文件名相同, 可能是 1.rpm), 而后打印出一連串的 # 號以表示安裝進(jìn)度。


請注意
  盡管通常是使用 rpm -ivh foo-1.0-1.i386.rpm 來(lái)安裝包, 但也可以用 rpm -Uvh foo-1.0-1.i386.rpm 來(lái)替代。 -U 是包升級參數, 也可以用來(lái)安裝新包。參看 升級 有關(guān)RPM 中 -U 參數的詳細使用情況。
 

軟件包的安裝設計非常簡(jiǎn)單, 但還是有可能發(fā)生以下錯誤:

軟件包已被安裝
如果軟件包已被安裝, 會(huì )出現以下信息:

# rpm -ivh foo-1.0-1.i386.rpm
foo                    package foo-1.0-1 is already installed
error: foo-1.0-1.i386.rpm cannot be installed
#
          

如果仍要安裝該包, 可以在命令行中使用 --replacepkgs 選項, 這樣 RPM 將忽略該錯誤信息:

# rpm -ivh --replacepkgs foo-1.0-1.i386.rpm
foo                      ####################################
#
            

文件沖突
如果要安裝的軟件包中有一個(gè)文件已在安裝其它包時(shí)被安裝,會(huì )顯示以下信息:

# rpm -ivh foo-1.0-1.i386.rpm
foo          /usr/bin/foo conflicts with file from bar-1.0-1
error: foo-1.0-1.i386.rpm cannot be installed
#
       

要想讓RPM 忽略該錯誤信息, 請使用 --replacefiles 命令行選項:

# rpm -ivh --replacefiles foo-1.0-1.i386.rpm
foo                      ####################################
#
       

未解決依賴(lài)關(guān)系
一個(gè) RPM 包可能會(huì ) "依賴(lài)" 其它軟件包, 也就是說(shuō)要求在安裝了特定的軟件包之后才能安裝該軟件包。 如果在安裝這個(gè)軟件包時(shí)未解決這種存在的依賴(lài)關(guān)系, 會(huì )看到:

# rpm -ivh bar-1.0-1.i386.rpm
failed dependencies:
       foo is needed by bar-1.0-1
#
          

只有先安裝完所依賴(lài)的軟件包,才能解決這個(gè)問(wèn)題。 如果想強制安裝 (這不是個(gè)好辦法,因為安裝后的軟件包未必能正常運行), 可以使用 --nodeps 命令行選項。

3.2.2 卸載
卸載軟件包就象安裝軟件包時(shí)一樣簡(jiǎn)單:

# rpm -e foo
#
    

請注意
  注意這里使用軟件包的 名字 "foo" , 而不是原始軟件包的 文件名 "foo-1.0-1.i386.rpm"。卸載軟件包時(shí), 需要用原始包的實(shí)際文件名替換 foo 包名。
 

在卸載某個(gè)軟件包時(shí),可能會(huì )發(fā)生依賴(lài)關(guān)系錯誤,這說(shuō)明其它包與此包之間有安裝依賴(lài)關(guān)系。例如:

# rpm -e foo
removing these packages would break dependencies:
       foo is needed by bar-1.0-1
#
     

要使 RPM 在卸載此包時(shí)忽略該錯誤 (這不是個(gè)好辦法,因為卸載后,與它有依賴(lài)關(guān)系的軟件包未必能正常運行), 使用 --nodeps 命令行選項。

3.2.3 升級
升級軟件包和安裝軟件包十分類(lèi)似。

# rpm -Uvh foo-2.0-1.i386.rpm
foo                      ####################################
#
     

RPM 將自動(dòng)卸載已安裝的老版本的 foo 軟件包,用戶(hù)無(wú)法看到有關(guān)信息。事實(shí)上用戶(hù)可能總是使用 -U 來(lái)安裝軟件包, 因為即便以往未安裝過(guò)該軟件包,也能正常運行。

因為 RPM 執行智能化的軟件包升級,自動(dòng)處理配置文件,會(huì )顯示如下信息:

saving /etc/foo.conf as /etc/foo.conf.rpmsave
          

這表示用戶(hù)對配置文件的修改,不一定能 "向上兼容" 該軟件包中的配置文件。 因此,RPM 會(huì )備份原始的文件,再安裝新文件。用戶(hù)應當盡快解決這兩個(gè)配置文件的不同之處,以便系統能持續正常運行。

因為升級其實(shí)就是軟件包的卸載與安裝的綜合,也可能會(huì )遇見(jiàn)那些操作中所可能發(fā)生的錯誤。 再有就是: 在使用 舊 版本的 RPM 軟件包來(lái)升級新版本的軟件時(shí),會(huì )產(chǎn)生以下信息:

# rpm -Uvh foo-1.0-1.i386.rpm
foo   package foo-2.0-1 (which is newer) is already installed
error: foo-1.0-1.i386.rpm cannot be installed
#
     

要使用 RPM 強行 "升級" , 請使用 --oldpackage 命令行參數:

# rpm -Uvh --oldpackage foo-1.0-1.i386.rpm
foo                      ####################################
#
     

3.2.4 更新
包的更新與包升級相似:

# rpm -Fvh foo-1.2-1.i386.rpm
foo                      ####################################
#
     

RPM 更新選項,是檢查命令行中指明的包版本與安裝在系統中的包版本是否一致。 當 RPM 更新選項處理完已安裝包的新版本時(shí),該包會(huì )升級到新版本。 但是,RPM 更新選項無(wú)法安裝系統目前沒(méi)有的軟件包。 這與 RPM 升級不同,升級選項 能夠 安裝軟件包,無(wú)論舊版本的包是否已安裝。

RPM 更新選項可以很好的更新一個(gè)軟件包或一組軟件包。 如果用戶(hù)下載了大量的軟件包,但只想升級系統中已有的包時(shí),RPM 更新選項會(huì )非常有用。 使用 RPM 更新選項意味著(zhù)你無(wú)需從下載的包中挑挑揀揀,也不用事先刪除不要的包。

這種情況下, 只需簡(jiǎn)單的鍵入:

# rpm -Fvh *.rpm
     

RPM 工具會(huì )自動(dòng)升級那些已經(jīng)安裝好的包。

3.2.5 查詢(xún)
使用命令 rpm -q來(lái)查詢(xún)已安裝軟件包的數據。簡(jiǎn)單的使用命令 rpm -q foo 會(huì )打印出foo軟件包的包名、版本號和發(fā)行號:

# rpm -q foo
foo-2.0-1
#
     

除了指定包名以外,用戶(hù)還可以使用以下選項與 -q 連用,來(lái)指明要查詢(xún)哪些軟件包的信息。這些選項被稱(chēng)之為 軟件包指定選項 。


-a 查詢(xún)所有已安裝的軟件包。

-f <file> 將查詢(xún)包含有文件 <file>的軟件包。

-p <packagefile> 查詢(xún)軟件包文件名為 <packagefile>的包。

有幾種方式來(lái)指定查詢(xún)軟件包時(shí)所顯示的信息。 以下選項可以出選擇感興趣的信息,加以顯示。這樣的選項被稱(chēng)作 信息選擇選項 。


-i 顯示軟件包信息,如描述、發(fā)行號、大小、編譯日期、安裝日期、硬件平臺、以及其它一些各類(lèi)信息。

-l 列出軟件包中包含的文件。

-s 顯示軟件包中所有文件的狀態(tài)。

-d 列出被標注為文檔的文件 (如,man 手冊、 info 信息、README,等等) 。

-c 列出被標注為配置文件的文件。這些文件是需要在安裝完畢后加以定制的,如 (sendmail.cf, passwd, inittab, 等) 。

如果要在執行上述選項的同時(shí),顯示文件列表, 可以同時(shí)使用 -v 命令行選項,就能得出與 ls -l 格式類(lèi)似的輸出。

3.2.6 校驗
包校驗是比較自軟件包中安裝的文件信息和軟件包中的原始文件的相同信息。 與其它校驗相同,包校驗將比較文件的長(cháng)度、MD5校驗和、許可、類(lèi)型、文件屬主和群組。

使用 rpm -V 命令進(jìn)行包校驗。用戶(hù)可以配合使用各個(gè)包選擇選項 ,來(lái)列出校驗包的查詢(xún)結果。 簡(jiǎn)單地使用 rpm -V foo 可以校驗 foo 包中原始安裝時(shí)的所有文件。例如:

校驗包含特定文件的軟件包: rpm -Vf /bin/vi
            

校驗所有已安裝的軟件包: rpm -Va
            

用 RPM 包文件校驗已安裝的軟件包: rpm -Vp foo-1.0-1.i386.rpm
            
如果擔心RPM數據庫被破壞,就可以使用這種方式加以校驗。

如果校驗結果一切正常,將不會(huì )產(chǎn)生任何輸出。如果有不一致的地方,會(huì )顯示出來(lái)。 輸出格式是8位長(cháng)字符串, "c" 用以指配置文件, 接著(zhù)是文件名。8位長(cháng)字符,每個(gè)代表一個(gè)文件屬性與RPM數據庫中記錄的屬性相比較的結果。"." (點(diǎn)) 表示測試通過(guò)。 下面的字符代表某測試的失敗:


5 -- MD5 校驗和

S -- 文件長(cháng)度

L -- 符號鏈接

T -- 文件修改日期

D -- 設備

U -- 用戶(hù)

G -- 用戶(hù)組

M -- 模式 (包含許可和文件類(lèi)型)

? -- 不可讀文件

如果有信息輸出, 用戶(hù)應當認真加以考慮,是該刪除、重新安裝、還是修正出現的問(wèn)題。
3.2 使用 RPM
RPM 有五個(gè)基本的操作 模式(不包括包的編譯): 安裝,卸載,升級,查詢(xún),校驗。本節將對它們一一介紹。要了解完整的細節和選項,可以使用 rpm --help, 或轉到 the section called 其它 RPM 資源 得到更多關(guān)于 RPM 的信息。

3.2.1 安裝
典型的 RPM 有著(zhù)類(lèi)似 foo-1.0-1.i386.rpm這樣的名稱(chēng), 其中指明了包名 (foo), 版本號 (1.0), 發(fā)行號 (1), 和硬件平臺 (i386)。安裝一個(gè)軟件包只需簡(jiǎn)單的鍵入以下命令:

# rpm -ivh foo-1.0-1.i386.rpm
foo                      ####################################
#
    

正如您所看到的, RPM 將會(huì )打印出軟件包的名字 ( 并不一定要與文件名相同, 可能是 1.rpm), 而后打印出一連串的 # 號以表示安裝進(jìn)度。


請注意
  盡管通常是使用 rpm -ivh foo-1.0-1.i386.rpm 來(lái)安裝包, 但也可以用 rpm -Uvh foo-1.0-1.i386.rpm 來(lái)替代。 -U 是包升級參數, 也可以用來(lái)安裝新包。參看 升級一節 有關(guān)RPM 中 -U 參數的詳細使用情況。
 

軟件包的安裝設計非常簡(jiǎn)單, 但還是有可能發(fā)生以下錯誤:

軟件包已被安裝
如果軟件包已被安裝, 會(huì )出現以下信息:

# rpm -ivh foo-1.0-1.i386.rpm
foo                    package foo-1.0-1 is already installed
error: foo-1.0-1.i386.rpm cannot be installed
#
          

如果仍要安裝該包, 可以在命令行中使用 --replacepkgs 選項, 這樣 RPM 將忽略該錯誤信息:

# rpm -ivh --replacepkgs foo-1.0-1.i386.rpm
foo                      ####################################
#
            

文件沖突
如果要安裝的軟件包中有一個(gè)文件已在安裝其它包時(shí)被安裝,會(huì )顯示以下信息:

# rpm -ivh foo-1.0-1.i386.rpm
foo          /usr/bin/foo conflicts with file from bar-1.0-1
error: foo-1.0-1.i386.rpm cannot be installed
#
       

要想讓RPM 忽略該錯誤信息, 請使用 --replacefiles 命令行選項:

# rpm -ivh --replacefiles foo-1.0-1.i386.rpm
foo                      ####################################
#
       

未解決依賴(lài)關(guān)系
一個(gè) RPM 包可能會(huì ) "依賴(lài)" 其它軟件包, 也就是說(shuō)要求在安裝了特定的軟件包之后才能安裝該軟件包。 如果在安裝這個(gè)軟件包時(shí)未解決這種存在的依賴(lài)關(guān)系, 會(huì )看到:

# rpm -ivh bar-1.0-1.i386.rpm
failed dependencies:
       foo is needed by bar-1.0-1
#
         

只有先安裝完所依賴(lài)的軟件包,才能解決這個(gè)問(wèn)題。 如果想強制安裝 (這不是個(gè)好辦法,因為安裝后的軟件包未必能正常運行), 可以使用 --nodeps 命令行選項。

3.2.2 卸載
卸載軟件包就象安裝軟件包時(shí)一樣簡(jiǎn)單:

# rpm -e foo
#
    

請注意
  注意這里使用軟件包的 名字 "foo" , 而不是原始軟件包的 文件名 "foo-1.0-1.i386.rpm"。卸載軟件包時(shí), 需要用原始包的實(shí)際文件名替換 foo 包名。
 

在卸載某個(gè)軟件包時(shí),可能會(huì )發(fā)生依賴(lài)關(guān)系錯誤,這說(shuō)明其它包與此包之間有安裝依賴(lài)關(guān)系。例如:

# rpm -e foo
removing these packages would break dependencies:
       foo is needed by bar-1.0-1
#
     

要使 RPM 在卸載此包時(shí)忽略該錯誤 (這不是個(gè)好辦法,因為卸載后,與它有依賴(lài)關(guān)系的軟件包未必能正常運行), 使用 --nodeps 命令行選項。

3.2.3 升級
升級軟件包和安裝軟件包十分類(lèi)似。

# rpm -Uvh foo-2.0-1.i386.rpm
foo                      ####################################
#
     

RPM 將自動(dòng)卸載已安裝的老版本的 foo 軟件包,用戶(hù)無(wú)法看到有關(guān)信息。事實(shí)上用戶(hù)可能總是使用 -U 來(lái)安裝軟件包, 因為即便以往未安裝過(guò)該軟件包,也能正常運行。

因為 RPM 執行智能化的軟件包升級,自動(dòng)處理配置文件,會(huì )顯示如下信息:

saving /etc/foo.conf as /etc/foo.conf.rpmsave
          

這表示用戶(hù)對配置文件的修改,不一定能 "向上兼容" 該軟件包中的配置文件。 因此,RPM 會(huì )備份原始的文件,再安裝新文件。用戶(hù)應當盡快解決這兩個(gè)配置文件的不同之處,以便系統能持續正常運行。

因為升級其實(shí)就是軟件包的卸載與安裝的綜合,也可能會(huì )遇見(jiàn)那些操作中所可能發(fā)生的錯誤。 再有就是: 在使用 舊 版本的 RPM 軟件包來(lái)升級新版本的軟件時(shí),會(huì )產(chǎn)生以下信息:

# rpm -Uvh foo-1.0-1.i386.rpm
foo   package foo-2.0-1 (which is newer) is already installed
error: foo-1.0-1.i386.rpm cannot be installed
#
     

要使用 RPM 強行 "升級" , 請使用 --oldpackage 命令行參數:

# rpm -Uvh --oldpackage foo-1.0-1.i386.rpm
foo                      ####################################
#
     

3.2.4 更新
包的更新與包升級相似:

# rpm -Fvh foo-1.2-1.i386.rpm
foo                      ####################################
#
     

RPM 更新選項,是檢查命令行中指明的包版本與安裝在系統中的包版本是否一致。 當 RPM 更新選項處理完已安裝包的新版本時(shí),該包會(huì )升級到新版本。 但是,RPM 更新選項無(wú)法安裝系統目前沒(méi)有的軟件包。 這與 RPM 升級不同,升級選項 能夠 安裝軟件包,無(wú)論舊版本的包是否已安裝。

RPM 更新選項可以很好的更新一個(gè)軟件包或一組軟件包。 如果用戶(hù)下載了大量的軟件包,但只想升級系統中已有的包時(shí),RPM 更新選項會(huì )非常有用。 使用 RPM 更新選項意味著(zhù)你無(wú)需從下載的包中挑挑揀揀,也不用事先刪除不要的包。

這種情況下, 只需簡(jiǎn)單的鍵入:

# rpm -Fvh *.rpm
     

RPM 工具會(huì )自動(dòng)升級那些已經(jīng)安裝好的包。

3.2.5 查詢(xún)
使用命令 rpm -q來(lái)查詢(xún)已安裝軟件包的數據庫。簡(jiǎn)單的使用命令 rpm -q foo 會(huì )打印出foo軟件包的包名、版本號和發(fā)行號:

# rpm -q foo
foo-2.0-1
#    
 

除了指定包名以外,用戶(hù)還可以使用以下選項與 -q 連用,來(lái)指明要查詢(xún)哪些軟件包的信息。這些選項被稱(chēng)之為 軟件包指定選項 。


-a 查詢(xún)所有已安裝的軟件包。

-f <file> 將查詢(xún)包含有文件 <file>的軟件包。

-p <packagefile> 查詢(xún)軟件包文件名為 <packagefile>的包。

有幾種方式來(lái)指定查詢(xún)軟件包時(shí)所顯示的信息。 以下選項可以出選擇感興趣的信息,加以顯示。這樣的選項被稱(chēng)作 信息選擇選項 。


-i 顯示軟件包信息,如描述、發(fā)行號、大小、編譯日期、安裝日期、硬件平臺、以及其它一些各類(lèi)信息。

-l 列出軟件包中包含的文件。

-s 顯示軟件包中所有文件的狀態(tài)。

-d 列出被標注為文檔的文件 (如,man 手冊、 info 信息、README,等等) 。

-c 列出被標注為配置文件的文件。這些文件是需要在安裝完畢后加以定制的,如 (sendmail.cf, passwd, inittab, 等) 。

如果要在執行上述選項的同時(shí),顯示文件列表, 可以同時(shí)使用 -v 命令行選項,就能得出與 ls -l 格式類(lèi)似的輸出。

3.2.6 校驗
包校驗是比較自軟件包中安裝的文件信息和軟件包中的原始文件的相同信息。 與其它校驗相同,包校驗將比較文件的長(cháng)度、MD5校驗和、許可、類(lèi)型、文件屬主和群組。

使用 rpm -V 命令進(jìn)行包校驗。用戶(hù)可以配合使用各個(gè)包選擇選項 ,來(lái)列出校驗包的查詢(xún)結果。 簡(jiǎn)單地使用 rpm -V foo 可以校驗 foo 包中原始安裝時(shí)的所有文件。例如:


校驗包含特定文件的軟件包: rpm -Vf /bin/vi
            

校驗所有已安裝的軟件包: rpm -Va
             

用 RPM 包文件校驗已安裝的軟件包: rpm -Vp foo-1.0-1.i386.rpm
            
如果擔心RPM數據庫被破壞,就可以使用這種方式加以校驗。

如果校驗結果一切正常,將不會(huì )產(chǎn)生任何輸出。如果有不一致的地方,會(huì )顯示出來(lái)。 輸出格式是8位長(cháng)字符串, "c" 用以指配置文件, 接著(zhù)是文件名。8位長(cháng)字符,每個(gè)代表一個(gè)文件屬性與RPM數據庫中記錄的屬性相比較的結果。"." (點(diǎn)) 表示測試通過(guò)。 下面的字符代表某測試的失敗:


5 -- MD5 校驗和

S -- 文件長(cháng)度

L -- 符號鏈接

T -- 文件修改日期

D -- 設備

U -- 用戶(hù)

G -- 用戶(hù)組

M -- 模式 (包含許可和文件類(lèi)型)

? -- 不可讀文件

如果有信息輸出, 用戶(hù)應當認真加以考慮,是該刪除、重新安裝、還是修正出現的問(wèn)題。
 

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

JIZZ国产精品免费| 精品人无码一区二区三区| 无码成人片一区二区三区| 国产男小鲜肉同志免费| 午夜无码免费福利视频网址| 久久99国产亚洲高清观看首页|