apt-get 與 yum的區(qū)別

http://blog.csdn.net/mathewsking/article/details/8211273

一般來說著名的Linux系統(tǒng)基本上分兩大類:1.RedHat系列:Redhat、Centos、Fedora等2.Debian系列:Debian、Ubuntu等
RedHat 系列1 常見的安裝包格式 rpm包,安裝rpm包的命令是“rpm -參數(shù)”2 包管理工具 yum 3 支持tar包Debian系列1 常見的安裝包格式 deb包,安裝deb包的命令是“dpkg -參數(shù)”2 包管理工具 apt-get 3 支持tar包tar 只是一種壓縮文件格式,所以,它只是把文件壓縮打包而已。rpm 相當(dāng)于windows中的安裝文件,它會(huì)自動(dòng)處理軟件包之間的依賴關(guān)系。優(yōu)缺點(diǎn)來說,rpm一般都是預(yù)先編譯好的文件,它可能已經(jīng)綁定到某種CPU或者發(fā)行版上面了。tar一般包括編譯腳本,你可以在你的環(huán)境下編譯,所以具有通用性。如果你的包不想開放源代碼,你可以制作成rpm,如果開源,用tar更方便了。tar一般都是源碼打包的軟件,需要自己解包,然后進(jìn)行安裝三部曲,./configure, make, make install. 來安裝軟件。rpm是redhat公司的一種軟件包管理機(jī)制,直接通過rpm命令進(jìn)行安裝刪除等操作,最大的優(yōu)點(diǎn)是自己內(nèi)部自動(dòng)處理了各種軟件包可能的依賴關(guān)系。-------------------------------- .rpm形式的二進(jìn)制軟件包[centos]  安裝:rpm -ivh .rpm  卸載:rpm -e packgename rpm -q nginx查看是否已經(jīng)安裝  升級(jí):rpm -Uvh xxx 查詢:查詢所有安裝的包: rpm -qa查詢某個(gè)包:rpm -qa | grep xxxrpm -qi xxx查詢軟件的安裝路徑:rpm -ql xxxrpm -qc xxx查詢某個(gè)文件是那個(gè)rpm包產(chǎn)生:rpm -qf /etc/yum.confrpm -qpi xxx rpm -qa|grep PHP 查看已安裝的RMP包安裝:rpm -ivh xxx移除:rpm -e xxx升級(jí):rpm -Uvh xxx查詢:查詢所有安裝的包: rpm -qa查詢某個(gè)包:rpm -qa | grep xxxrpm -qi xxx查詢軟件的安裝路徑:rpm -ql xxxrpm -qc xxx查詢某個(gè)文件是那個(gè)rpm包產(chǎn)生:rpm -qf /etc/yum.confrpm -qpi xxx-------------------------------- src.rpm 源代碼分發(fā)軟件包的安裝與卸載  linux軟件的源代碼分發(fā)是指提供了該軟件所有程序源代碼的發(fā)布形式,需要用戶自己編譯成可執(zhí)行的二進(jìn)制代碼并進(jìn)行安裝,其優(yōu)點(diǎn)是配置靈活,可以隨意去掉或保留某些功能/模塊,適應(yīng)多種硬件/操作系統(tǒng)平臺(tái)及編譯環(huán)境,缺點(diǎn)是難度較大,一般不適合初學(xué)者使用?! ?、.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下生成二進(jìn)制的rpm包,然后再安裝該二進(jìn)制包即可。packgename 如前所述。  --------------------------------dpkg【ubuntu】dpkg -l | grep 'php'使用dpkg -l 來查看已經(jīng)安裝了的軟件dpkg 是Debian[待賓] Package 的簡(jiǎn)寫。為 Debian專門開發(fā)的套件管理系統(tǒng),方便軟件的安裝、更新及移除。所有源自Debian的Linux 發(fā)行版都使用 dpkg,例如Ubuntu、Knoppix 等?! ∫韵率且恍?Dpkg 的普通用法:  1、dpkg -i <package.deb>  安裝一個(gè) Debian 軟件包,如你手動(dòng)下載的文件?! ?、dpkg -c <package.deb>  列出 <package.deb> 的內(nèi)容?! ?、dpkg -I <package.deb>  從 <package.deb> 中提取包裹信息。  4、dpkg -r <package>  5、dpkg -P <package>  完全清除一個(gè)已安裝的包裹。和 remove 不同的是,remove 只是刪掉數(shù)據(jù)和可執(zhí)行文件,purge另外還刪除所有的配制文件?! ?、dpkg -L <package>  列出 <package> 安裝的所有文件清單。同時(shí)請(qǐng)看 dpkg -c來檢查一個(gè) .deb 文件的內(nèi)容?! ?、dpkg -s <package>  顯示已安裝包裹的信息。同時(shí)請(qǐng)看 apt-cache 顯示 Debian 存檔中的包裹信息,以及 dpkg -I 來顯示從一個(gè).deb 文件中提取的包裹信息。  8、dpkg-reconfigure <package>  重新配制一個(gè)已經(jīng)安裝的包裹,如果它使用的是 debconf (debconf 為包裹安裝提供了一個(gè)統(tǒng)一的配制界面)。-------------------------------- 使用yum和apt-get。軟件管理方法的升級(jí).yum的配置文件是/etc/yum.conf1. 我們來先講Redhat的yum 這種高級(jí)的包管理.yum install gcc [centos]更新:yum update安裝:yum install xxx移除:yum remove xxx清除已經(jīng)安裝過的檔案(/var/cache/yum/):yum clean all搜尋:yum search xxx列出所有檔案:yum list查詢檔案訊息:yum info xxx #sudo -s#LANG=C#yum -y install gcc gcc-c autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel用YUM安裝軟件包yum -y <package_name>命令:yum install <package_name>用YUM刪除軟件包命令:yum remove <package_name> yum -y remove httpd 命令:yum search <keyword>列出所有可安裝的軟件包命令:yum list yum list php列出所有可更新的軟件包命令:yum list updates列出所有已安裝的軟件包命令:yum list installed列出所有已安裝但不在 Yum Repository 內(nèi)的軟件包命令:yum list extras列出所指定的軟件包命令:yum list <package_name> yum = Yellow dog Updater, Modified主要功能是更方便的添加/刪除/更新RPM包.它能便于管理大量系統(tǒng)的更新問題yum特點(diǎn)可以同時(shí)配置多個(gè)資源庫(Repository)簡(jiǎn)潔的配置文件(/etc/yum.conf自動(dòng)解決增加或刪除rpm包時(shí)遇到的倚賴性問題 保持與RPM數(shù)據(jù)庫的一致性yum安裝CentOS 自帶(yum-.noarch.rpm)#rpm -ivh yum-.noarch.rpm在第一次啟用yum之前首先需要導(dǎo)入系統(tǒng)的RPM-GPG-KEY:#rpm --import /usr/share/doc/centos-release-3(4)/RPM-GPG-KEY-CentOS-3(4) yum指令注:當(dāng)?shù)谝淮问褂脃um或yum資源庫有更新時(shí),yum會(huì)自動(dòng)下載所有所需的headers放置于/var/cache/yum目錄下,所需時(shí)間可能較長(zhǎng).rpm包的更新檢查可更新的rpm包#yum check-update更新所有的rpm包#yum update更新指定的rpm包,如更新kernel和kernel source#yum update kernel kernel-source大規(guī)模的版本升級(jí),與yum update不同的是,連舊的淘汰的包也升級(jí)#yum upgrade rpm包的安裝和刪除安裝rpm包,如xmms-mp3#yum install xmms-mp3刪除rpm包,包括與該包有倚賴性的包#yum remove licq注:同時(shí)會(huì)提示刪除licq-gnome,licq-qt,licq-text yum暫存(/var/cache/yum/)的相關(guān)參數(shù)清除暫存中rpm包文件#yum clean packages清除暫存中rpm頭文件#yum clearn headers清除暫存中舊的rpm頭文件#yum clean oldheaders清除暫存中舊的rpm頭文件和包文件#yum clearn 或#yum clearn all注:相當(dāng)于yum clean packages + yum clean oldheaders包列表列出資源庫中所有可以安裝或更新的rpm包#yum list列出資源庫中特定的可以安裝或更新以及已經(jīng)安裝的rpm包#yum list mozilla#yum list mozilla注:可以在rpm包名中使用匹配符,如列出所有以mozilla開頭的rpm包列出資源庫中所有可以更新的rpm包#yum list updates列出已經(jīng)安裝的所有的rpm包#yum list installed列出已經(jīng)安裝的但是不包含在資源庫中的rpm包#yum list extras注:通過其它網(wǎng)站下載安裝的rpm包rpm包信息顯示(info參數(shù)同list)列出資源庫中所有可以安裝或更新的rpm包的信息#yum info列出資源庫中特定的可以安裝或更新以及已經(jīng)安裝的rpm包的信息#yum info mozilla#yum info mozilla注:可以在rpm包名中使用匹配符,如列出所有以mozilla開頭的rpm包的信息列出資源庫中所有可以更新的rpm包的信息#yum info updates列出已經(jīng)安裝的所有的rpm包的信息#yum info installed列出已經(jīng)安裝的但是不包含在資源庫中的rpm包的信息#yum info extras注:通過其它網(wǎng)站下載安裝的rpm包的信息 搜索rpm包搜索匹配特定字符的rpm包#yum search mozilla注:在rpm包名,包描述等中搜索搜索有包含特定文件名的rpm包#yum provides realplay增加資源庫例如:增加rpm.livna.org作為資源庫安裝Livna.org rpms GPG key#rpm --import http://rpm.livna.org/RPM-LIVNA-GPG-KEY檢查GPG Key# rpm -qa gpg-pubkey*顯示Key信息#rpm -qi gpg-pubkey-a109b1ec-3f6e28d5(注:如果要?jiǎng)h除Key,使用#rpm -e gpg-pubkey-a109b1ec-3f6e28d5) yum常用的命令# yum install xxx 安裝xxx軟件# yum info xxx 查看xxx軟件的信息# yum remove xxx刪除軟件包# yum list 列出軟件包# yum clean清除緩沖和就的包# yum provides xxx以xxx為關(guān)鍵字搜索包(提供的信息為關(guān)鍵字)# yum search xxx 搜索軟件包(以名字為關(guān)鍵字)# yum groupupdate xxx # yum grouplist xxx # yum groupremove xxx這三個(gè)都是一組為單位進(jìn)行升級(jí) 列表和刪除的操作。。比如 "MySQL Database"就是一個(gè)組會(huì)同時(shí)操作相關(guān)的所有軟件包;# yum update 系統(tǒng)升級(jí)# yum list available列出所有升級(jí)源上的包;# yum list updates 列出所有升級(jí)源上的可以更新包;# yum list installed列出已經(jīng)安裝的包;# yun update kernel 升級(jí)內(nèi)核;yum常用的源1) 自動(dòng)選擇最快的源由于yum中有的mirror速度是非常慢的,如果yum選擇了這個(gè)mirror,這個(gè)時(shí)候yum就會(huì)非常慢,對(duì)此,可以下載fastestmirror 插件,它會(huì)自動(dòng)選擇最快的mirror:#yum install yum-fastestmirror配置文件:(一般不用動(dòng))/etc/yum/pluginconf.d/fastestmirror.conf你的 yum鏡像的速度測(cè)試記錄文件:/var/cache/yum/timedhosts.txt (2)使用圖形界面的yum如果覺得命令行的yum不方便,那么可以使用圖形化的yumex,這個(gè)看起來更方便,因?yàn)榭梢宰杂傻剡x擇軟件倉庫:#yum install yumex然后在系統(tǒng)工具中就可以看到y(tǒng)um extender了。實(shí)際上系統(tǒng)自帶的“添加/刪除程序“也可以實(shí)現(xiàn)圖形化的軟件安裝,但有些yumex的功能它沒有。2.講講Ubuntu中的高級(jí)包管理方法apt-get配置文件/etc/apt/sources.list對(duì)于Server版, 推薦使用aptitude來查看,安裝、刪除deb包sudo apt-get install aptitude然后執(zhí)行 sudo aptitude 進(jìn)入管 理 也可以使用命令:aptitude update 更新可用的包列表aptitude upgrade 升級(jí)可用的包aptitude dist-upgrade 將系統(tǒng)升級(jí)到新的發(fā)行版aptitude install pkgname 安裝包aptitude remove pkgname 刪除包aptitude purge pkgname 刪除包及其配置文件aptitude search string 搜索包aptitude show pkgname 顯示包的詳細(xì)信息aptitude clean 刪除下載的包文件aptitude autoclean 僅刪除過期的包文件考慮到系統(tǒng)的兼容性,并且上面的東東比較都大,不找最新版本了,直接用apt-get install XXX來安裝.因?yàn)槲覀兊腢buntu是dailyBulid的,所以光盤的內(nèi)容基本上都是最新的了,無需重新下載.一定要最新版本的話,不妨先apt- get update 來更新一下軟件的倉庫,然后再 apt-get install.常用的APT命令參數(shù):apt-cache search package 搜索包apt-cache show package 獲取包的相關(guān)信息,如說明、大小、版本等sudo apt-get install package 安裝包sudo apt-get install package - - reinstall 重新安裝包sudo apt-get -f install 修復(fù)安裝"-f = ——fix-missing" sudo apt-get remove package 刪除包sudo apt-get remove package - - purge 刪除包,包括刪除配置文件等sudo apt-get update 更新源sudo apt-get upgrade 更新已安裝的包sudo apt-get dist-upgrade 升級(jí)系統(tǒng)sudo apt-get dselect-upgrade 使用 dselect 升級(jí)apt-cache depends package 了解使用依賴apt-cache rdepends package 是查看該包被哪些包依賴sudo apt-get build-dep package 安裝相關(guān)的編譯環(huán)境apt-get source package 下載該包的源代碼sudo apt-get clean && sudo apt-get autoclean 清理無用的包sudo apt-get check 檢查是否有損壞的依賴

http://blog.163.com/linan_6688_cool/blog/static/111774958200968915780/
yum與apt-get

rpm 包和deb包是兩種Linux系統(tǒng)下最常見的安裝包格式,在安裝一些軟件或服務(wù)的時(shí)候免不了要和它們打交道。rpm包主要應(yīng)用在RedHat系列包括 Fedora等發(fā)行版的Linux系統(tǒng)上,deb包主要應(yīng)用于Debian系列包括現(xiàn)在比較流行的Ubuntu等發(fā)行版上。
我們知道如果要安裝現(xiàn)成的這兩種包的話,安裝rpm包的命令是“rpm -參數(shù)”,安裝deb包的命令是“dpkg -參數(shù)”。而Linux系統(tǒng)很方便和人性化的一點(diǎn)就是很多軟件或服務(wù)根本就不用我們?nèi)ハ螺d,直接使用相應(yīng)的命令就可以管理了,應(yīng)景的說一句,我覺得是很有 “云”的概念。
yum可以用于運(yùn)作rpm包,例如在Fedora系統(tǒng)上對(duì)某個(gè)軟件的管理:安裝:yum install <package_name> 卸載:yum remove <package_name> 更新:yum update <package_name> apt-get可以用于運(yùn)作deb包,例如在Ubuntu系統(tǒng)上對(duì)某個(gè)軟件的管理:安裝:apt-get install <package_name> 卸載:apt-get remove <package_name> 更新:apt-get update <package_name>
一、 redhat安裝yum

在Linux Redhat 9.0使用YUM伺服器來管理rpm套件升級(jí)方法由於 Redhat 公司己經(jīng)停止了對(duì)Linux Redhat 9.0的維護(hù),所以我們這些使用者必須找到另一個(gè)方法去升級(jí)套件,這時(shí)使用YUM伺服器來管理rpm套件升級(jí), 因?yàn)樗梢员苊馓准g相依性而安裝失敗.要連線YUM伺服器必須要先要裝下列程式:yum-2.0.4-1.rh.fr.i386.rpm此檔案可到 http://ayo.freshrpms.NET/ 網(wǎng)站下載,此一個(gè)檔案,之後到"終端機(jī)"內(nèi)打入su再輸你root的密碼,進(jìn)入root後,再打入下列指令:rpm -ivh yum-2.0.4-1.rh.fr.i386.rpm 安裝完此程式後, 就可以使用列指令來使用YUM伺服器來管理rpm套件升級(jí).yum update 升級(jí)你的RPM套件, 此指令等同於apt-get update 加上apt-get install 的功能.yum install 安裝新的RPM套件.yum clean 清除己經(jīng)完成安裝而不必要的暫存程式.yum remove 移除你的RPM套件.
二、 yum的使用

  1.  Redhat的yum高級(jí)的包管理
    

1).用YUM安裝刪除軟件
裝了系統(tǒng)添加刪除軟件是常事,yum同樣可以勝任這一任務(wù),只要軟件是rpm安裝的。安裝的命令是,yum install xxx,yum會(huì)查詢數(shù)據(jù)庫,有無這一軟件包,如果有,則檢查其依賴沖突關(guān)系,如果沒有依賴沖突,那么最好,下載安裝;如果有,則會(huì)給出提示,詢問是否要同時(shí)安裝依賴,或刪除沖突的包,你可以自己作出判斷。刪除的命令是,yum remove xxx,同安裝一樣,yum也會(huì)查詢數(shù)據(jù)庫,給出解決依賴關(guān)系的提示。

2). 用YUM安裝軟件包
命令:yum install <package_name>

3). 用YUM刪除軟件包
命令:yum remove <package_name> 用YUM查詢軟件信息
我 們常會(huì)碰到這樣的情況,想要安裝一個(gè)軟件,只知道它和某方面有關(guān),但又不能確切知道它的名字。這時(shí)yum的查詢功能就起作用了。你可以用 yum search keyword這樣的命令來進(jìn)行搜索,比如我們要?jiǎng)t安裝一個(gè)Instant Messenger,但又不知到底有哪些,這時(shí)不妨用 yum search messenger這樣的指令進(jìn)行搜索,yum會(huì)搜索所有可用rpm的描述,列出所有描述中和messeger有關(guān)的rpm包,于是我們可能得到 gaim,kopete等等,并從中選擇。有時(shí)我們還會(huì)碰到安裝了一個(gè)包,但又不知道其用途,我們可以用yum info packagename這個(gè)指令來獲取信息。

1). 使用YUM查找軟件包
命令:yum search <keyword>

2). 列出所有可安裝的軟件包
命令:yum list
3). 列出所有可更新的軟件包
命令:yum list updates
4). 列出所有已安裝的軟件包
命令:yum list installed
5). 列出所有已安裝但不在 Yum Repository 內(nèi)的軟件包
命令:yum list extras
6). 列出所指定的軟件包
命令:yum list <package_name>
三、

apt-get 的使用

  1.    Ubuntu中的高級(jí)包管理方法apt-get
    

除了apt的便捷以外,apt-get的一大好處是極大地減小了所謂依賴關(guān)系惡夢(mèng)的發(fā)生幾率(dependency hell),即使是陷入了dependency hell,apt-get也提供了很好的援助手段,幫你逃出魔窟。
通常 apt-get 都和網(wǎng)上的壓縮包一起出沒,從互聯(lián)網(wǎng)上下載或是安裝。全世界有超過200個(gè) debian 官方鏡像,還有繁多的非官方軟件包提供網(wǎng)站。你所使用的基于D ebian的發(fā)布版不同,你所使用的軟件倉庫可能需要手工選擇或是可以自動(dòng)設(shè)置。你能從Debian官方網(wǎng)站得到完整的鏡像列表。而很多非官方網(wǎng)站提供各種特殊用途的非官方軟件包,當(dāng)然,使用非官方軟件包會(huì)有更多風(fēng)險(xiǎn)了。
軟件包都是為某一個(gè)基本的Debian發(fā)布版所準(zhǔn)備的(從unstable到stable),并且劃分到不同類別中(如 main contrib nonfree),這個(gè)是依據(jù) debian 自由軟件綱領(lǐng)而劃分的(也就是常說的dfsg),因?yàn)槊绹?guó)限制加密軟件出口,還有一個(gè)non-us類別。

  1.  常用的APT命令參數(shù)
    

apt-cache search package

搜索包apt-cache show package

獲取包的相關(guān)信息,如說明、大小、版本等sudo apt-get install package

安裝包sudo apt-get install package - - reinstall 重新安裝包
sudo apt-get -f install 修復(fù)安裝"-f = --fix-missing"
sudo apt-get remove package 刪除包
sudo apt-get remove package - - purge 刪除包,包括刪除配置文件等
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安裝的包
sudo apt-get dist-upgrade 升級(jí)系統(tǒng)
sudo apt-get dselect-upgrade 使用 dselect 升級(jí)
apt-cache depends package 了解使用依賴
apt-cache rdepends package 是查看該包被哪些包依賴
sudo apt-get build-dep package 安裝相關(guān)的編譯環(huán)境
apt-get source package 下載該包的源代碼
sudo apt-get clean && sudo apt-get autoclean 清理無用的包
sudo apt-get check 檢查是否有損壞的依賴

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容