首頁 >運維 >linux運維 >Linux指令之rpm安裝指令的實例程式碼詳解

Linux指令之rpm安裝指令的實例程式碼詳解

黄舟
黄舟原創
2017-06-05 09:58:092379瀏覽

Linux 作業系統下,幾乎所有的軟體都透過RPM 進行安裝、卸載及管理等操作。 RPM 的全稱為Redhat Package Manager ,是由Redhat 公司提出的,用於管理Linux 下軟體包的軟體。 Linux 安裝時,除了幾個核心模組以外,其餘幾乎所有的模組都透過RPM 完成安裝。 RPM 有五種操作模式,分別為:安裝、卸載、升級、查詢和驗證

1)用RPM安裝軟體包,最簡單的指令如下:

1 #rpm -i example.rpm 安装 example.rpm 包;
2 #rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;
3 #rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度

2)刪除已安裝的軟體包
要卸載軟體包example,只要輸入以下這行指令:

1 # rpm -e example

注意:軟體套件名稱是example,而不是rpm檔名"example.rpm"。

3)升級軟體包
升級軟體類似於安裝軟體:

1 # rpm -Uvh example.rpm

使用者要注意的是:rpm會自動卸載對應軟體包的舊版本。如果舊版軟體的設定檔通新版本的不相容,rpm會自動將其儲存為另一個文件,使用者會看到下面的資訊:

saving /etc/example.conf as /etc/example.conf.rpmsave

這樣使用者就可以自己手工去更改對應的設定檔。
另外如果使用者要安裝舊版的軟體,使用者就會看到下面的錯誤訊息:

# rpm -Uvh example.rpm

examle packag example-2.0-l(which is newer) is already installed

error:example.rpm cannot be installed

如果使用者要強制安裝就使用-oldpackage參數。

4)查詢軟體包
使用者可以用rpm -q在rpm的資料庫中查詢對應的軟體,rpm會給出軟體包的名稱,版本,發佈版本號,例如:

1 # rpm -q example

下面是查詢時可以使用的特定參數:
-a   :查詢目前系統安裝的所有軟體套件。
-f 檔名   :查詢包含該文件的軟體包。
-F   :同-f參數,只是輸入是標準輸入(例如find /usr/bin | rpm -qF)
-q 軟體包名:查詢該軟體包
-Q   :同-p參數,只是輸入是標準輸入(例如find /mnt/cdrom/RedHat/RPMS | rpm -qQ)
下面是輸出時的格式選擇:
-i 顯示軟體包的名稱,描述,發行,大小,編譯日期,安裝日期,開發人員等資訊。
-l 顯示軟體包包含的檔案
-s 顯示軟體包包含的檔案目前的狀態,只有兩種狀態:normal和missing
-d 顯示軟體包中的文件(如man,info,README等)
-c 顯示軟體包中的設定文件,這些文件一般是安裝後需要使用者手動修改的,例如:sendmail.cf,passwd ,inittab等
如果用-v參數就可以得到類似ls -l的輸出

5)用rpm校驗軟體包

1 rpm -Vf 需要验证到包

rpm 實用技巧! 
1)使用者可以透過FTP來安裝軟體包。如果使用者能夠連接到網絡,想安裝某個新的軟體包時,可以直接用它的URL位址來安裝: 
#例如:現在在ftp.linuxsir.com/pub/linux/redhat/RPMS/下方有這個檔案包:foo-1.0-1.i386.rpm,那就可以用這樣的指令:

1 # rpm -i ftp.linuxsir.com/pub/linux/redhat/RPMS/foo-1.0-1.i386.rpm

來安裝,也可以查詢!

2)如果使用者不小心誤刪了幾個文件,但不確定到底是那些文件,想對整個系統進行校驗,以了解哪些部分可能已經損壞,可以用:

1 # rpm -Va

3)如果使用者碰到一個人不出來的文件,想要知道它是屬於那一個軟體包的話,可以這樣做:

1 # rpm -qf /usr/X11R6/bin/xjewel

結果會得到以下資訊:

xjewel-1.6-1

4)如果使用者得到新的RPM文件,卻不清楚它的內容;或想了解某個文件包將會在系統裡安裝那些文件,可以這樣做:

1 # rpm -qpi koules-1.2-2.i386.rpm

 結果會獲得很多資訊.

以上是Linux指令之rpm安裝指令的實例程式碼詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn