yum和apt命令比較
阿新 • • 發佈:2018-12-26
很好的一篇文章,以前在看Ubuntu的文章是就經常看到apt-get命令,當時習慣了從網上下載安裝包,然後安裝,對這個命令很不以為然,今天在安裝stardict時用了一下,覺得這個命令設計的真不錯,在現在這個網速變快的年代,一些常用的,不是太大的軟體,完全沒有必要儲存安裝包,直接下載安裝就行了,apt-get是時代的產物,我喜歡。下面這篇文章對apt介紹的很詳細,很條理。
Fedora和Red Hat有yum安裝軟體,Ubuntu有apt工具。
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 | 修復依賴問題(用於install和remove子命令) |
-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 Hat、Fedora和Ubuntu軟體包操作對比
任務 | Red Hat、Fedora | 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 |