五種常見(jiàn) Linux 系統(tǒng)安裝包管理工具中文使用指南
在公眾號(hào)后臺(tái)回復(fù): JGNB ,可獲取杰哥原創(chuàng)的 PDF 手冊(cè)。
介紹常見(jiàn) Linux 操作系統(tǒng)的安裝包管理工具,主要介紹其使用命令!
包管理系統(tǒng)除了安裝軟件外,它還提供了工具來(lái)更新已經(jīng)安裝的包。包存儲(chǔ)庫(kù)有助于確保你的系統(tǒng)中使用的代碼是經(jīng)過(guò)審查的,并且軟件的安裝版本已經(jīng)得到了開(kāi)發(fā)人員和包維護(hù)人員的認(rèn)可。
1. dpkg
Ubuntu、Debian
dpkg 命令是 Debian Linux 系統(tǒng)用來(lái)安裝、創(chuàng)建和管理軟件包的實(shí)用工具。
命令行使用
#?dpkg(選項(xiàng))(參數(shù))
$?dpkg?--help
Usage:?dpkg?[<option>?...]?<command>
#?選項(xiàng)
-i:安裝軟件包
-r:刪除軟件包
-P:刪除軟件包的同時(shí)刪除其配置文件
-L:顯示于軟件包關(guān)聯(lián)的文件
-l:顯示已安裝軟件包列表
--unpack:解開(kāi)軟件包
-c:顯示軟件包內(nèi)文件列表
--confiugre:配置軟件包
#?參數(shù)
Deb軟件包:指定要操作的.deb軟件包
示例演示說(shuō)明
#?安裝包
$?dpkg?-i?package.deb
#?刪除包
$?dpkg?-r?package
#?刪除包(包括配置文件)
$?dpkg?-P?package
#?列出與該包關(guān)聯(lián)的文件
$?dpkg?-L?package
#?顯示該包的版本
$?dpkg?-l?package
#?解開(kāi)deb包的內(nèi)容
$?dpkg?--unpack?package.deb
#?搜索所屬的包內(nèi)容
$?dpkg?-S?keyword
#?列出當(dāng)前已安裝的包
$?dpkg?-l
#?列出deb包的內(nèi)容
$?dpkg?-c?package.deb
#?配置包
$?dpkg?--configure?package
#?列出已安裝軟件包
$?sudo?dpkg-query?-l
$?sudo?dpkg-query?-l?|?less
$?sudo?dpkg-query?-l?|?grep?tmux
2. apt
Ubuntu、Debian
apt-get 命令是 Debian Linux 發(fā)行版中的 APT 軟件包管理工具。所有基于 Debian 的發(fā)行都使用這個(gè)包管理系統(tǒng)。deb 包可以把一個(gè)應(yīng)用的文件包在一起,大體就如同 Windows 上的安裝文件。
命令行使用
#?apt-get(選項(xiàng))(參數(shù))
$?apt?--help
Usage:?apt?[options]?command
#?選項(xiàng)
-c:指定配置文件
#?參數(shù)
管理指令:對(duì)APT軟件包的管理操作
軟件包:指定要操縱的軟件包
示例演示說(shuō)明
#?更新所有已安裝的軟件包
$?apt-get?upgrade
#?將系統(tǒng)升級(jí)到新版本
$?apt-get?dist-upgrade
#?更新
$?apt-get?update
#?安裝一個(gè)新軟件包
$?apt-get?install?packagename
#?卸載一個(gè)已安裝的軟件包(保留配置文件)
$?apt-get?remove?packagename
#?卸載一個(gè)已安裝的軟件包(刪除配置文件)
$?apt-get?–purge?remove?packagename
#?來(lái)刪除你已經(jīng)刪掉的軟件
$?apt-get?autoclean?apt
#?會(huì)把安裝的軟件的備份也刪除
$?apt-get?clean
#?列出已安裝軟件包
$?sudo?apt?list?--installed
$?sudo?apt?list?--installed?|?less
$?sudo?apt?list?--installed?|?grep?tmux
3. rpm
RHEL、CentOS
rpm 命令是 RPM 軟件包的管理工具。rpm 原本是 Red Hat Linux 發(fā)行版專門用來(lái)管理 Linux 各項(xiàng)套件的程序,由于它遵循 GPL 規(guī)則且功能強(qiáng)大方便,因而廣受歡迎。逐漸受到其他發(fā)行版的采用。RPM 套件管理方式的出現(xiàn),讓 Linux 易于安裝,升級(jí),間接提升了 Linux 的適用度。
命令行使用
#?rpm(選項(xiàng))(參數(shù))
$?rpm?--help
Usage:?rpm?[OPTION...]
#?選項(xiàng)
-a:查詢所有套件
-c:只列出組態(tài)配置文件,本參數(shù)需配合"-l"參數(shù)使用
-d:只列出文本文件,本參數(shù)需配合"-l"參數(shù)使用
-e<套件檔>或--erase<套件檔>:刪除指定的套件
-f<文件>+:查詢擁有指定文件的套件
-h或--hash:套件安裝時(shí)列出標(biāo)記
-i:顯示套件的相關(guān)信息
-i<套件檔>或--install<套件檔>:安裝指定的套件檔
-l:顯示套件的文件列表
-p<套件檔>+:查詢指定的RPM套件檔
-q:使用詢問(wèn)模式,當(dāng)遇到任何問(wèn)題時(shí),rpm指令會(huì)先詢問(wèn)用戶
-R:顯示套件的關(guān)聯(lián)性信息
-s:顯示文件狀態(tài),本參數(shù)需配合"-l"參數(shù)使用
-U<套件檔>或--upgrade<套件檔>:升級(jí)指定的套件檔
-v:顯示指令執(zhí)行過(guò)程
-vv:詳細(xì)顯示指令執(zhí)行過(guò)程,便于排錯(cuò)
#?參數(shù)
軟件包:指定要操縱的rpm軟件包
示例演示說(shuō)明
#
?安裝
$
?rpm?-ivh?your-package.rpm
#
?強(qiáng)制安裝
$
?rpm?--force?-ivh?your-package.rpm
#
?卸載
$
?rpm?-e?proftpd-1.2.8
#
?列出所有安裝過(guò)的包
$
?rpm?-qa
$
?rpm?-qa?|?grep?sql
#
?rpm包中的文件安裝到那里
$
?rpm?-ql?***.rpm
#
?一個(gè)沒(méi)有安裝過(guò)的軟件包
$
?rpm?-qlp?***.rpm
#
?一個(gè)已經(jīng)安裝過(guò)的軟件包
$
?rpm?-ql?***.rpm
#
?某個(gè)程序是哪個(gè)軟件包安裝
$
?rpm?-qf?`which?程序名`???#?返回軟件包的全名
$
?rpm?-qif?`which?程序名`??#?返回軟件包的有關(guān)信息
$
?rpm?-qlf?`which?程序名`??#?返回軟件包的文件列表
4. yum
CentOS6、CentOS7
yum 命令是在 Fedora 和 RedHat 以及 SUSE 中基于 rpm 的軟件包管理器,它可以使系統(tǒng)管理人員交互和自動(dòng)化地更新與管理 RPM 軟件包,能夠從指定的服務(wù)器自動(dòng)下載 RPM 包并且安裝,可以自動(dòng)處理依賴性關(guān)系,并且一次安裝所有依賴的軟體包,無(wú)須繁瑣地一次次下載、安裝。
命令行使用
#?yum(選項(xiàng))(參數(shù))
$?yum?--help
Loaded?plugins:?fastestmirror,?langpacks
Usage:?yum?[options]?COMMAND
#?選項(xiàng)
-h:顯示幫助信息;
-y:對(duì)所有的提問(wèn)都回答“yes”;
-c:指定配置文件;
-q:安靜模式;
-v:詳細(xì)模式;
-d:設(shè)置調(diào)試等級(jí)(0-10);
-e:設(shè)置錯(cuò)誤等級(jí)(0-10);
-R:設(shè)置yum處理一個(gè)命令的最大等待時(shí)間;
-C:完全從緩存中運(yùn)行,而不去下載或者更新任何頭文件。
#?參數(shù)
install:安裝rpm軟件包;
update:更新rpm軟件包;
check-update:檢查是否有可用的更新rpm軟件包;
remove:刪除指定的rpm軟件包;
list:顯示軟件包的信息;
search:檢查軟件包的信息;
info:顯示指定的rpm軟件包的描述信息和概要信息;
clean:清理yum過(guò)期的緩存;
shell:進(jìn)入yum的shell提示符;
resolvedep:顯示rpm軟件包的依賴關(guān)系;
localinstall:安裝本地的rpm軟件包;
localupdate:顯示本地rpm軟件包進(jìn)行更新;
deplist:顯示rpm軟件包的所有依賴關(guān)系。
示例演示說(shuō)明
#?安裝
$?yum?install?????????????#?全部安裝
$?yum?install?package1????#?安裝指定的安裝包package1
$?yum?groupinsall?group1??#?安裝程序組group1
#?更新和升級(jí)
$?yum?update??????????????#?全部更新
$?yum?update?package1?????#?更新指定程序包package1
$?yum?check-update????????#?檢查可更新的程序
$?yum?upgrade?package1????#?升級(jí)指定程序包package1
$?yum?groupupdate?group1??#?升級(jí)程序組group1
#?查找顯示
$?yum?list?installed?|?grep?mysql
$?yum?list?installed?mysql*
$?yum?info?package1?????#?顯示安裝包信息package1
$?yum?list??????????????#?顯示所有已經(jīng)安裝和可以安裝的程序包
$?yum?list?package1?????#?顯示指定程序包安裝情況package1
$?yum?groupinfo?group1??#?顯示程序組group1信息
#?刪除程序
$?yum?remove/erase?package1??#?刪除程序包package1
$?yum?groupremove?group1?????#?刪除程序組group1
$?yum?deplist?package1???????#?查看程序package1依賴情況
#?清除緩存
$?yum?clean?packages????#?清除緩存目錄下的軟件包
$?yum?clean?headers?????#?清除緩存目錄下的?headers
$?yum?clean?oldheaders??#?清除緩存目錄下舊的?headers
5. dnf
RHEL8、CentOS8
DNF 使用 libsolv 進(jìn)行依賴解析,由 SUSE 開(kāi)發(fā)和維護(hù),旨在提高性能。Yum 主要是用 Python 編寫(xiě)的,它有自己的應(yīng)對(duì)依賴解析的方法。它的 API 沒(méi)有完整的文檔,它的擴(kuò)展系統(tǒng)只允許 Python 插件。Yum 是 RPM 的前端工具,它管理依賴關(guān)系和資源庫(kù),然后使用 RPM 來(lái)安裝、下載和刪除包。
由于 Yum 中許多長(zhǎng)期存在的問(wèn)題仍未得到解決,因此 Yum 包管理器已被 DNF 包管理器取代。這些問(wèn)題包括性能差、內(nèi)存占用過(guò)多、依賴解析速度變慢等。兩個(gè)管理包工具的更多區(qū)別可以查看,What is the difference between DNF and YUM? 進(jìn)行閱讀。
安裝 DNF 包管理器
#?依賴
$?yum?install?-y?epel-release
#?安裝
$?yum?install?-y?dnf
#?檢查
$?dnf?–version
常用命令介紹
#
?安裝軟件包
$
?dnf?install?nano
#
?升級(jí)軟件包
$
?dnf?update?systemd
#
?升級(jí)所有系統(tǒng)軟件包
$
?dnf?update
$
?dnf?upgrade
#
?檢查系統(tǒng)軟件包的更新
$
?dnf?check-update
#
?刪除軟件包
$
?dnf?remove?nano
$
?dnf?erase?nano
#
?刪除無(wú)用孤立的軟件包
$
?dnf?autoremove
#
?刪除緩存的無(wú)用軟件包
$
?dnf?clean?all
#
?查看系統(tǒng)中可用的DNF軟件庫(kù)
$
?dnf?repolist
#
?查看系統(tǒng)中可用和不可用的所有的DNF軟件庫(kù)
$
?dnf?repolist?all
#
?列出所有RPM包
$
?dnf?list
#
?列出所有安裝了的RPM包
$
?dnf?list?installed
#
?列出所有可供安裝的RPM包
$
?dnf?list?available
#
?搜索軟件庫(kù)中的RPM包
$
?dnf?search?nano
#
?查找某一文件的提供者
$
?dnf?provides?/bin/bash
#
?查看軟件包詳情
$
?dnf?info?nano
#
?查看所有的軟件包組
$
?dnf?grouplist
#
?安裝一個(gè)軟件包組
$
?dnf?groupinstall?'Educational?Software'
#
?升級(jí)一個(gè)軟件包組中的軟件包
$
?dnf?groupupdate?'Educational?Software'
#
?刪除一個(gè)軟件包組
$
?dnf?groupremove?'Educational?Software'
#
?重新安裝特定軟件包
$
?dnf?reinstall?nano
#
?回滾某個(gè)特定軟件的版本
$
?dnf?downgrade?acpid
#
?查看DNF命令的執(zhí)行歷史
$
?dnf?history
#
?查看所有的DNF命令及其用途
$
?dnf?help
#
?獲取有關(guān)某條命令的使用幫助
$
?dnf?help?clean
作者:Escape
鏈接:https://www.escapelife.site/posts/74caf2e7.html
推薦閱讀:
10 款你不知道的 Linux 環(huán)境下的替代工具!

