Linux程序包管理:rpm、yum、編譯安裝

RPM:
前端

     RPM Package Manager(RPM軟件包管理器),是一款在各個版本liunx上都使用的軟件包管理器。node


RPM共有10種基本的模式:linux

                               它們是安裝、查詢、驗證、刪除等。windows

                               安裝模式:      rpm –i [安裝選項]  緩存

                               查詢模式:      rpm –q [查詢選項]服務器

                               驗證模式:      rpm –V 或 –verify [驗證選項]app

                               刪除模式:      rpm –e ide

RPM經常使用參數: 
ui

-q  查詢spa

-p  <包文件名>   查詢軟件包文件

-a  查詢全部軟件包

-f <文件列表>  查詢文件屬於哪一個軟件包

-g <組列表>    查詢組裏有哪些軟件包

--whatrequires <功能列表> 查詢須要指定功能的包

--whatprovides <功能列表> 查詢提供指定功能的包

--requires/-R   查詢軟件包須要哪些功能

--provides         查詢軟件包提供哪些功能

-i    顯示軟件包信息

-l    顯示軟件包所包含文件的列表

-d   顯示軟件包所包含的說明文檔列表

-c   顯示軟件包所包含的配置文檔列表

-s   顯示軟件包所包含的文件的狀態

RPM例題:

1.安裝一個包

# rpm -ivh


2.升級一個包

# rpm -Uvh  [注意U必定要大寫]


-i   安裝

-U  升線安裝

-h  以#顯示安裝進度

-v  顯示附加信息



3.移走一個包

# rpm -e



4.安裝參數

--force 即便覆蓋屬於其它包的文件也強迫安裝

--nodeps 若是該RPM包的安裝依賴其它包,即便其它包沒裝,也強迫安裝。



5.查詢一個包是否被安裝

# rpm -q < rpm package name>



6.獲得被安裝的包的信息

# rpm -qi < rpm package name>



7.列出該包中有哪些文件

# rpm -ql < rpm package name>



8.列出服務器上的一個文件屬於哪個RPM包

# rpm -qf



9.可綜合好幾個參數一塊兒用

# rpm -qil < rpm package name>



10.列出全部被安裝的rpm package

# rpm -qa



11.列出一個未被安裝進系統的RPM包文件中包含有哪些文件?

# rpm -qilp < rpm package name> 





YUM:

     Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基於RPM包管理,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟件包,無須繁瑣地一次次下載、安裝。


YUM的使用方法:

              

1 安裝

yum install 所有安裝

yum install package1 安裝指定的安裝包package1

yum groupinsall group1 安裝程序組group1


2 更新和升級

yum update 所有更新

yum update package1 更新指定程序包package1

yum check-update 檢查可更新的程序

yum upgrade package1 升級指定程序包package1

yum groupupdate group1 升級程序組group1


3 查找和顯示

yum info package1 顯示安裝包信息package1

yum list 顯示全部已經安裝和能夠安裝的程序包

yum list package1 顯示指定程序包安裝狀況package1

yum groupinfo group1 顯示程序組group1信息yum search string 根據關鍵字string查找安裝包


4 刪除程序

yum remove &#124; erase package1 刪除程序包package1

yum groupremove group1 刪除程序組group1

yum deplist package1 查看程序package1依賴狀況


5 清除緩存

yum clean packages 清除緩存目錄下的軟件包

yum clean headers 清除緩存目錄下的 headers

yum clean oldheaders 清除緩存目錄下舊的 headers

yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除緩存目錄下的軟件包及舊的headers




編譯安裝:

           Linux軟件安裝與卸載(編譯安裝):通常狀況下linux程序的發佈不能像windows那樣,直接打包成一個setup.exe文件,然用戶安裝 時直接按下一步就完成了,由於它對庫的依賴比較嚴重下面就來看下linux下軟件源碼包安裝與卸載:


Linux軟件的源代碼分發是指提供了該軟件全部程序源代碼的發佈形式,須要用戶本身編譯成可執行的二進制代碼並進行安裝,其優勢是配置靈活,能夠隨 意去掉或保留某些功能/模塊,適應多種硬件/操做系統平臺及編譯環境,缺點是難度較大,通常不適合初學者使用。



編譯安裝的流程: 

                  testapp-VERSION-release.src.rpm --> 安裝後,使用rpmbuild命令製做成二進制格式的rpm包,然後再安裝


              源代碼 --> 預處理 --> 編譯(gcc) --> 彙編 --> 連接 --> 執行



安裝步驟: 

            第一步:configure腳本

    選項:指定安裝位置、指定啓用的特性


    --help: 獲取其支持使用的選項

    選項分類:

    安裝路徑設定:

    --prefix=/PATH/TO/SOMEWHERE: 指定默認安裝位置;默認爲/usr/local/

    --sysconfdir=/PATH/TO/SOMEWHERE:配置文件安裝位置;


            System types:


    Optional Features: 可選特性

    --disable-FEATURE

    --enable-FEATURE[=ARG]


    Optional Packages: 可選包

    --with-PACKAGE[=ARG]

    --without-PACKAGE

          第二步:make


          第三步:make install



編譯安裝方法及應用:

                  

一、*.src.rpm形式的源代碼軟件包 

安裝:rpm -rebuild *.src.rpm 

cd /usr/src/dist/RPMS 

rpm -ivh *.rpm 

卸載:rpm -e packgename 

說明:rpm --rebuild *.src.rpm命令將源代碼編譯並在/usr/src/dist/RPMS下生成二進制的rpm包,而後再安裝該二進制包便可。packgename 如前所述。


二、*.tar.gz/*.tgz、*.bz2形式的源代碼軟件包 

安裝:tar zxvf *.tar.gz 或 tar yxvf *.bz2 先解壓 

而後進入解壓後的目錄: 

./configure 配置 

make 編譯 

make install 安裝 

卸載:make uninstall 或 手動刪除 

說明:建議解壓後先閱讀說明文件,能夠了解安裝有哪些需求,有必要時還需改動編譯配置。有些軟件包的源代碼在編譯安裝後能夠用make install命令來進行卸載,若是不提供此功能,則軟件的卸載必須手動刪除。因爲軟件可能將文件分散地安裝在系統的多個目錄中,每每很難把它刪除乾淨, 那你應該在編譯前進行配置,指定軟件將要安裝到目標路徑:./configure --prefix=目錄名,這樣可使用「rm -rf 軟件目錄名」命令來進行乾淨完全的卸載。與其它安裝方式相比,須要用戶本身編譯安裝是最難的,它適合於使用Linux已有必定經驗的人,通常不推薦初學者使用。

相關文章
相關標籤/搜索