Linux 軟件包管理


本文主要是記錄下RedHat系列的軟件包管理。

內容分為以下三個部分:二進制包的管理,源代碼包的管理,腳本安裝

一、二進制包的管理

1.1概念

主要有RPM和YUM這兩種包管理。

兩種包管理各有用處,其中主要區別是:YUM使用簡單但需要聯網,YUM會去網上的YUM包源去獲取所需要的軟件包。而RPM的需要的操作精度比較細,需要我們做的事情比較多。

 

1.1.1RPM

主要的操作

1)卸載

rpm  –e  [--nodeps]  sudo

[解析]  需要注意的是在卸載軟件包的時候若和其它包有依賴關系,可以用--nodeps來強制卸載

2)安裝

rpm  –i[v|h]  [--excludedocs |prefix |test |replace[pkgs |files] |nodeps]  sudo

[解析]  i為安裝,v為顯示詳細信息,h為hash是進度信息

--excludedocs 不安裝軟件包的文檔文件

--prefix PATH 將軟件包安裝到指定目錄

--test 只對安裝進行測試,並不實際安裝(通常用來看下需要的依賴項)

--replace[pkgs|files] 當出現沖突時或想強制覆蓋時可以使用

--nodeps 不考慮依賴關系,強制安裝。(這樣比較麻煩,而且通常無法使用。這也是使用RPM的一些不方便的地方,而YUM則解決了這個問題,在安裝的時候會自動將所需要的都一起安裝了)

【相關內容:】安裝有時候會使用光驅安裝,這里涉及到掛載點的概念。

在linux系統中,所有的設備都被看作文件,所以光驅也被看作文件。而要讓系統不能直接訪問這個文件,這時需要一個掛載點(通常是一個空文件,僅僅提供一個渠道,來連接系統和設備),然后系統就可以通過訪問掛載點來訪問光驅設備了。

掛載光驅的具體操作:

mkdir /mnt/cdrom 生成一個掛載點目錄

mount /dev/cdrom /mnt/cdrom 講dev中的cdrom掛載到掛載點上

3)查詢

rpm  –q[a |f |p |i |l |d |c]  sudo

[解析]

-a  查詢所有已安裝的軟件包

-f  查詢 文件所屬軟件包

-p  查詢軟件包(通常用來看下還未安裝的軟件包)

-i  顯示軟件包信息

-l  顯示軟件包中的文件列表

-d  顯示被標注為文檔的文件列表

-c  顯示被標注為配置文件的文件列表

[tips]  通常可以配合管道 | more [grep sudo] 來使用,使得結果更易讀。

4)校驗

rpm  -V  sudo

結果解析:S.5.L.T….

S 為文件大小

5 為文件的md5校驗值

L 鏈接文件

T 文件創建時間

D 設備文件

U 文件的用戶

G 文件的用戶組

M 文件的權限

5)軟件包文件提取

解壓指定文件到當前目錄

rpm2cpio   /../...rpm |cpio –idv   ./../..

 

 

1.1.2YUM

需要聯網,操作一RPM類似,只是會自動安裝依賴項。

主要操作:

1)安裝 yum  install

2) 檢測升級 yum  check-update

3) 升級 yum  update

4) 軟件包查詢 yum  list

5) 軟件包信息 yum  info

6) 卸載 yum  remove

7) 幫助 yum  -help、man  yum

 

1.2實例

1.2.1從光盤中提取二進制包並恢復丟失的文件(用inittab做實驗)

先建立一個掛載點並掛載

image

image

創建一個備份文檔並刪除inittab

image

通過掛載點讀取光盤中的二進制包到當前目錄

image

復制恢復被刪除的文件

image

 

 

二、源代碼包的管理

2.1源代碼包的安裝

1)解壓解包

tar  -xzvf  源代碼包

[解析]

x為解包、z為解壓(僅適合gzip,bz2則先解包再bunzip解壓)、v顯示過程、f指定被解壓包名

2)配置

進入解壓后的目錄,用 ./configure [—prefix=/usr/local/filname] 來配置,這個過程主要是收集系統信息、設置安裝目錄等(卸載的時候只需將這個目錄刪除則可)

3)編譯

make

4)安裝

make  install

 

三、腳本方式安裝

1)解包解壓

2)進入解壓后的目錄,查看README (vi READEME)獲得安裝方法

3)運行第二步獲取的信息,通常是運行一個安裝shell腳本(.sh)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM