1. 程式人生 > >yum和apt命令比較

yum和apt命令比較

很好的一篇文章,以前在看Ubuntu的文章是就經常看到apt-get命令,當時習慣了從網上下載安裝包,然後安裝,對這個命令很不以為然,今天在安裝stardict時用了一下,覺得這個命令設計的真不錯,在現在這個網速變快的年代,一些常用的,不是太大的軟體,完全沒有必要儲存安裝包,直接下載安裝就行了,apt-get是時代的產物,我喜歡。下面這篇文章對apt介紹的很詳細,很條理。

FedoraRed Hatyum安裝軟體,Ubuntuapt工具。

apt簡單的來說,就是給Ubuntu安裝軟體的一種命令方式。

一、apt的相關檔案

/etc/apt/sources.list 設定軟體包的獲取來源
/etc/apt/apt.conf apt配置檔案
/etc/apt/apt.conf.d/ apt的零碎配置檔案
/etc/apt/preferences 版本引數
/var/cache/apt/archives/ 存放已經下載的軟體包
/var/cache/apt/archives/partial 存放正在下載的軟體包
/var/lib/apt/lists/ 存放已經下載的軟體包詳細資訊
/var/lib/apt/lists/partial/ 存放正在下載的軟體包詳細資訊

二、apt-get命令的子命令

update 更新軟體包列表
upgrade 升級系統中的所有軟體包
install 安裝軟體包
remove 解除安裝軟體包
autoremove 僅刪除不需要再次下載的軟體包
purge 徹底刪除軟體包(包括配置檔案)
source 下載原始碼
build-dep 自動下載安裝編譯某個軟體所需要的軟體包
dist-upgrade 升級整個發行版
dselect-upgrade 安裝dselect的選擇進行升級
clean 刪除本地快取的所有升級包
autoclean 刪除本地快取中無用的軟體包
check 檢查是否存在有問題的依賴關係
:$ sudo apt-get install php5-mysql apache2

$ sudo apt-get update && sudo apt-get upgrade

三、apt-get命令選項

-d,--download-only 僅下載,不安裝
-f,--fix-broken 修復依賴問題(用於installremove子命令)
-m,--ignore-missing,--fix-missing 忽略缺失的軟體包。遇到無法下載的軟體包,自動忽略
--no-download 禁止下載軟體包。與-m配合,可以使apt只使用已經下載的軟體包
-q,--quiet 靜默模式,輸出的資訊適合做日誌
-s,--simulate,--just-print 模擬測試,不做出實際操作,不改變系統
-y,--yes,--assume-yes 在系統提問時,自動應答yes
-u,--show-upgraded 顯示已升級的軟體包
-V,--verbose-versions 顯示已安裝和已升級的軟體包的完整版本號
-b,--compile,--build 在原始碼包下載完成後進行編譯
--ignore-hold 忽略被保留的軟體包
--no-upgrade 不要升級軟體包
--force-yes 強制回答yes
--print-uris 僅答應軟體包地址,不安裝
--purge 徹底刪除,包括配置檔案
--reinstall 重新安裝軟體包

四、apt-cache命令

功能:搜尋某個軟體包的名字或顯示某個軟體包的詳細資訊
搜尋mysql的軟體包 $ apt-cache search mysql
檢視ssh軟體包的詳細版本號 $ apt-cache show ssh

五、Red HatFedoraUbuntu軟體包操作對比

任務 Red HatFedora Ubuntu
基本資訊
軟體包字尾 *.rpm *.deb
軟體源配置檔案 /etc/yum.conf /etc/apt/sources.list
安裝、刪除、升級軟體包
更新軟體包列表 每次執行yum時自動執行 apt-get update
從軟體倉庫軟體安裝軟體 yum install package apt-get install package
安裝一個已下載的軟體包 yum install pkg.rpm

rpm -i pkg.rpm

dpkg -i pkg.deb

pkg --install pkg.deb

刪除軟體包 rpm -e package apt-get remove package
軟體包升級檢查/測試 yum check-update apt-get -s upgrade

apt-get -s dist-upgrade

升級軟體包 yum update

rpm -Uvh [args]

apt-get upgrade
升級整個系統 yum upgrade apt-get dist-upgrade
軟體包資訊
獲取某軟體包的資訊 yum search package apt-cache show package
獲取所有軟體包的資訊 yum list available apt-cache dumpavail
顯示所有已安裝的軟體 yum list installed

rpm -qa

dpkg -l

dpkg --list

獲取某個已安裝軟體包的資訊 yum info package

rpm -qi package

dpkg --status package
列出某個已安裝軟體包所包含的檔案列表 rpm -ql package
列出某個已安裝軟體包所包含的文件 rpm -qd package
列出某個已安裝軟體包所包含的配置檔案 rpm -qc package
顯示某個軟體包所依賴的軟體包列表 rpm -qR package apt-cache depends package
顯示某個軟體包的反向依賴關係 rpm -q -whatrequires [args] apt-cache rdepends package
軟體包檔案資訊
獲取某個軟體包檔案的資訊 rpm -qpi pkg.rpm dpkg --info pkg.deb
獲取某個軟體包檔案所包含的檔案列表 rpm -qpl pkg.rpm dpkg --contents pkg.deb
獲取某個軟體包檔案所包含的文件 rpm -qpd pkg.rpm
獲取某個軟體包檔案所包含的配置檔案 rpm -qpc pkg.rpm
軟體包解壓 rpm2cpio pkg.rpm | cpio -vid dpkg-deb --extract pkg.deb
搜尋某個檔案是由哪個軟體包安裝的 rpm -qf /file/name dpkg -S /file/name

dpkg --search /file/name

搜尋所有提供某個檔案的軟體包 yum provides /file/name apt-file search /file/name
雜項
顯示本地軟體包快取的狀態 apt-cache stats
校驗所有已安裝的軟體包 rpm -Va debsums
刪除本地快取的所有軟體包 yum clean packages apt-get clean
僅刪除本地快取中過時的軟體包 apt-get autoclean
刪除所有軟體包資訊 yum clean headers apt-file purge