歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux基礎知識 >> 【one day one linux】linux下的軟件包管理工具

【one day one linux】linux下的軟件包管理工具

日期:2017/3/2 17:15:51   编辑:Linux基礎知識

Linux 下的軟件包管理工具


linux下的軟件安裝可以通過兩種方式,一種是直接使用自帶的軟件包管理工具安裝,另外一種通過編譯源碼安裝。


1.軟件包的種類

Red Hat和Fedora:redhat最早發行的個人版本的Linux,自從Red Hat 9.0版本發布後,RedHat 公司就不再開發桌面版的 Linux發行套件,Red Hat Linux停止了開發,而將全部力量集中在服務器版的開發上,也就是 Red Hat Enterprise Linux 版。2004年4月30日,Red Hat公司正式停止對Red Hat 9.0版本的支援,標志著Red Hat Linux的正式完結。原本的桌面版Red Hat Linux發行套件則與來自開源社區的 Fedora 計劃合並,成為 Fedora Core 發行版本。目前Red Hat分為兩個系列:由Red Hat公司提供收費技術支持和更新的Red Hat Enterprise Linux(RHEL),以及由社區開發的免費的Fedora Core。

特點:面向個人桌面應用系統,采用基於rpm/yum管理軟件包。

RHEL(Red Hat Enterprise Linux)和CentOS:RHEL是Red Hat企業版,提供商業支持。CentOS是對RHEL重新編譯而成,免費而穩定。

特點:面向企業服務器使用,安全穩定,采用基於rpm/yum管理軟件包。

Debian和Ubuntu:Debian是社區類Linux的典范,是迄今為止最遵循GNU規范。Ubuntu基於Debian發行版和GNOME桌面環境.它使用Bash作為基礎Shell,所以在很多基礎命令上,ubuntu與CentOS的差別不是很明顯,而ubuntu在桌面界面上要做的更為出色,還有類似的Kunbuntu/Xubuntu等。

特點:面向桌面應用,采用apt-get/dpkg包管理方式。

主要有兩個:.deb和.rpm

".deb"包是由Debian社區開發的一種包,"rpm"是來自於Redhat

包類型 使用這種包的linux發行版 Debian Style(.deb) Debian, Ubuntu, Xandros, Linspire等 Red Hat Style(.rpm) Fedora, CentOS, Red Hat Enterprise Linux等

而兩種包的管理工具主要分為:

linux發行版 底層工具 上層工具 Debian.Ubuntu dpkg apt-get, Fedora, Red Hat Enterprise Linux, CentOS rpm yum

從表中可以很容易看出,linux的軟件包管理工具分為兩個層次的,所以下面介紹下軟件包管理工具的一些基本使用。各有好處,根據自己所在的平台來判斷使用哪一個。


2.軟件包管理工具的使用:安裝、升級、查詢、卸載

(1)DEB包

一個 DEB 包包含了已壓縮的軟件文件集以及該軟件的內容信息(在頭文件中保存),通常表現為以 .deb 擴展名結尾的文件,例如 package.deb 。對其操作,需要使用 dpkg 命令。

DPKG 命令常用參數

DPKG 的常規使用方法為 dpkg -? Package(.rpm), 其中 -? 為安裝參數 ( 更多信息,請查閱幫助 $man rpm):

-l   在系統中查詢軟件內容信息
--info  在系統中查詢軟件或查詢指定 rpm 包的內容信息
-i   在系統中安裝 / 升級軟件
-r   在系統中卸載軟件 , 不刪除配置文件
-P   在系統中卸載軟件以及其配置文件

DPKG 命令參數使用方法

安裝 DEB 包命令
$ sudo dpkg -i package.deb
升級 DEB 包命令
$ sudo dpkg -i package.deb ( 和安裝命令相同)
卸載 DEB 包命令
$ sudo dpkg -r package.deb # 不卸載配置文件
或
 $ sudo dpkg -P package.deb # 卸載配置文件
查詢 DEB 包中包含的文件列表命令
$ sudo dpkg-deb -c package.deb
查詢 DEB 包中包含的內容信息命令
$ dpkg --info package.deb
查詢系統中所有已安裝 DEB 包
$ dpkg -l package

更友好的包管理軟件 - APT

APT

APT 的全稱為 Advanced Packaging Tools 。與 YUM 對應,它最早被設計成 DPKG 的前端軟件,現在通過 apt-rpm 也支持 rpm 管理。而本節本節將介紹 APT 作為 DPKG 前端的使用。 APT 的主要包管理工具為 APT-GET,通過此工具可滿足和上述 YUM 相似的功能要求。

APT 的軟件源定義來自 /etc/apt/sources.list 文件:
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to 
# newer versions of the distribution. 

 deb http://cn.archive.ubuntu.com/ubuntu/ hardy main restricted 
 deb-src http://cn.archive.ubuntu.com/ubuntu/ hardy main restricted

注意每次手動修改上述文件後,需要使用 sudo apt-get update 來更新系統的源使新的源數據被當前系統識別。

UBUNTU 中 APT 的配置文件位於 /etc/apt/apt.conf.d,其中的多個配置文件依功能分類。

一般在剛裝上ubuntu系統之後需要添加源,添加所在地區的源會比較快的,關於這個直接百度就可以了。

APT 常用命令

更新源索引
$ sudo apt-get update   #一般在安裝軟件和更新源之後需要執行這條命令。
安裝指定軟件
$ sudo apt-get install package-name
下載指定軟件的源文件
$ sudo apt-get source package-name
將系統中所有軟件升級到最新版本
$ sudo apt-get upgrade
將操作系統連同所有軟件升級到最新版本
$ sudo apt-get dist-upgrade
卸載指定軟件
$ sudo apt-get remove package-name

更多有關 APT 的信息,請查閱 http://www.debian.org/doc/manuals/apt-howto/index.en.html 。

(2)RPM包

RPM 包的安裝 / 升級 / 查詢 / 卸載

一個 RPM 包包含了已壓縮的軟件文件集以及該軟件的內容信息(在頭文件中保存),通常表現為以 .rpm 擴展名結尾的文件,例如 package.rpm 。對其操作,需要使用 rpm 命令。下面介紹 rpm 工具的參數和使用方法,並以 IBM Lotus Notes 在 RHEL 5.2 安裝為例做具體說明。

RPM 命令常用參數

RPM 的常規使用方法為 rpm -? package.rpm,其中 -? 為操作參數 ( 更多信息,請查閱幫助 $man rpm):

-q 在系統中查詢軟件或查詢指定 rpm 包的內容信息
-i 在系統中安裝軟件
-U 在系統中升級軟件
-e 在系統中卸載軟件
-h 用 #(hash) 符顯示 rpm 安裝過程
-v 詳述安裝過程
-p 表明對 RPM 包進行查詢,通常和其它參數同時使用,如:
-qlp 查詢某個 RPM 包中的所有文件列表
-qip 查詢某個 RPM 包的內容信息

RPM 命令參數使用方法

以上參數有些需要組合使用,比如說 rpm -h package.rpm 是沒有意義的,但 rpm -ih package.rpm 即表示安裝 package 並用 # 符顯示安裝進度。

安裝 RPM 包
# rpm -ivh package.rpm
升級 RPM 包命令
# rpm -Uvh package.rpm
卸載 RPM 包命令
# rpm -ev package
查詢 RPM 包中包含的文件列表命令
# rpm -qlp package
查詢 RPM 包中包含的文件列表命令
# rpm -qlp package
查詢 RPM 包中包含的內容信息命令
# rpm -qip package
查詢系統中所有已安裝 RPM 包
# rpm -qa

更友好的包管理軟件 - YUM

YUM

YUM 基於 RPM 包管理工具,能夠從指定的源空間(服務器,本地目錄等)自動下載目標 RPM 包並且安裝,可以自動處理依賴性關系並進行下載、安裝,無須繁瑣地手動下載、安裝每一個需要的依賴包。此外,YUM 的另一個功能是進行系統中所有軟件的升級。如上所述,YUM 的 RPM 包來源於源空間,在 RHEL 中由 /etc/yum.repos.d/ 目錄中的 .repo 文件配置指定,如 rhel-debuginfo.repo 的內容:

rhel-debuginfo.repo

[rhel-debuginfo] 
 name=Red Hat Enterprise Linux 5Client - i386 - Debug 
 baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Client/en/os/i386/Debuginfo/ 
 enabled=0 
 gpgcheck=1 
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
YUM 的系統配置文件位於 /etc/yum.conf,內容如:

[main] 
 cachedir=/var/cache/yum 
 keepcache=1 
 debuglevel=2 
 pkgpolicy=newest 
 logfile=/var/log/yum.log 
 distroverpkg=redhat-release 
 tolerant=1 
 exactarch=1 
 obsoletes=1 
 gpgcheck=1 
 plugins=1 
 exclude= firefox gftp

配置文件用來定義用戶期望的 yum 行為,比如,gpgcheck? 表明安裝時不進行 gpg 驗證,exclued=firefox gftp 表明進行系統全軟件升級時不升級 firefox 和 gftp 。

YUM 常用命令

安裝指定軟件 :
# yum -y install package-name
列出系統中已安裝軟件
# yum list
列出系統中可升級的所有軟件
# yum check-update
升級系統中可升級的所有軟件
# yum update
升級指定軟件
# yum update package-name
在升級過程中接受所有互動問答
# yum -y update
卸載指定軟件
# yum remove package-name

更多有關 YUM 的信息,請查閱 http://fedoraproject.org/wiki/Tools/yum 。


參考博客:

軟件包管理

Linux 平台上的軟件包管理

Copyright © Linux教程網 All Rights Reserved