簡介
早期的Linux系統,用戶是通過下載和編譯源碼的方式來安裝軟件。然而如今,所有的主流Linux系統都提供了強大的包管理系統來安裝軟件。這使得普通用戶可以很輕易的安裝各種軟件。
不同的Linux ditributions使用不同的包管理系統。但大多數是Debian 的”.deb”,和紅帽的”.rpm”。
包管理系統 | 發行版 (部分列表) |
---|---|
Debian Style (.deb) | Debian, Ubuntu, Xandros, Linspire |
Red Hat Style (.rpm) | Fedora, CentOS, Red Hat Enterprise Linux, OpenSUSE, Mandriva, PCLinuxOS |
軟件包管理系統
Linux 系統中幾乎所有的軟件都可以在互聯網上找到。其中大多數軟件由發行商以包文件的形式提供,剩下的則以源碼形式存在,可以手動安裝。
包文件
在包管理系統中軟件的基本單元是包文件。包文件是一個構成軟件包的文件壓縮集合。主要包括編譯好的源碼,以及創建軟件包元數據和所需要的安裝腳本。
資源庫
用戶從資源庫中得到包文件,用戶需要經常經過資源庫保持系統中的軟件包都是最新的。
依賴性
程序很少是”孤立的”,而是依賴於其它軟件組件來完成它們的工作。軟件包管理系統都提供了一些依賴項解析方法,以此來確保當安裝軟件包時,也安裝了其所有的依賴程序。
上層和底層軟件包工具
軟件包管理系統通常由兩種工具類型組成:底層工具用來處理安裝和刪除軟件包文件的任務, 上層工具用來完成元數據搜索和依賴解析。
Tables 底層工具 上層工具 Debian-Style dpkg apt-get, aptitude Fedora, Red Hat Enterprise Linux, CentOS rpm yum
軟件包管理的指令
查找軟件包
Debian: apt-cache search search_string
Red Hat: yum search search_stringyum search emacs
安裝軟件包
Debian: apt-get install package_name
Red Hat: yum install package_nameapt-get install emacs
通過包文件安裝軟件
Debian: dpkg –install package_file
Red Hat: rpm -i package_filerpm -i emacs-22.1-7.fc7-i386.rpm ps: 使用的底層的rpm程序安裝,所以不會解析依賴,因此安裝可能不成功
卸載軟件
Debian: apt-get remove package_name
Red Hat: yum erase package_nameapt-get remove emacs
更新軟件包
Debian: apt-get upgrade
Red Hat: yum update用包文件更新軟件
Debian: dpkg –install package_file
Red Hat: rpm -U package_filerpm -U emacs-22.1-7.fc7-i386.rpm
列出已安裝的軟件包
Debian: dpkg –list
Red Hat: rpm -qa確認某軟件包是否安裝
Debian: dpkg –status package_name
Red Hat: rpm -q package_namedpkg --status emacs
顯示軟件包的信息
Debian apt-cache: show package_name
Red Hat: yum info package_nameapt-cache show emacs
查找安裝了某個文件的軟件包
Debian: dpkg –search file_name
Red Hat: rpm -qf file_namerpm -qf /usr/bin/vim
更新軟件包列表
Debian: apt-get updata
清除那些已經卸載的軟件包的.deb文件
Debian: apt-get autoclean