国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Linux包管理基礎命令:apt、yum、dnf和pkg

發(fā)布時(shí)間:2022-09-04 14:48 來(lái)源:主機偵探 閱讀:67 作者:主機偵探 欄目: 服務(wù)器 歡迎投稿:712375056

大多數現代的類(lèi) Unix 操作系統都提供了一種中心化的機制用來(lái)搜索和安裝軟件。軟件通常都是存放在存儲庫中,并通過(guò)包的形式進(jìn)行分發(fā)。處理包的工作被稱(chēng)為包管理。包管理系統除了安裝軟件外,它還提供了工具來(lái)更新已經(jīng)安裝的包。不同的Linux發(fā)行版使用不同的包管理工具,目前主流Linux發(fā)行版中主要是apt、yum、dnf 和 pkg 包管理命令為主。

本文旨在快速地介紹下在多種 Linux 發(fā)行版中查找、安裝和升級軟件包的基礎知識,并幫助您將這些內容在多個(gè)系統之間進(jìn)行交叉對比。

一、簡(jiǎn)單介紹

大多數包系統都是圍繞包文件的集合構建的。包文件通常是一個(gè)存檔文件,它包含已編譯的二進(jìn)制文件和軟件的其他資源,以及安裝腳本。包文件同時(shí)也包含有價(jià)值的元數據,包括它們的依賴(lài)項,以及安裝和運行它們所需的其他包的列表。

雖然這些擔保理系統的功能和優(yōu)點(diǎn)大致相同,但打包格式和工具卻因平臺而異:

操作系統 格式 工具
Debian deb aptapt-cacheapt-getdpkg
Ubuntu deb aptapt-cacheapt-getdpkg
CentOS rpm yum
Fedora rpm dnf
FreeBSD Ports, txz makepkg

Debian 及其衍生版,如 Ubuntu、Linux Mint 和 Raspbian,它們的包格式是 。deb。APT 這款先進(jìn)的擔保理工具提供了大多數常見(jiàn)的操作命令:搜索存儲庫、安裝軟件包及其依賴(lài)項,并管理升級。在本地系統中,我們還可以使用 dpkg 程序來(lái)安裝單個(gè)的 deb 文件,APT 命令作為底層 dpkg 的前端,有時(shí)也會(huì )直接調用它。

最近發(fā)布的 debian 衍生版大多數都包括了 apt 命令,它提供了一個(gè)簡(jiǎn)潔統一的接口,可用于通常由 apt-get 和 apt-cache 命令處理的常見(jiàn)操作。這個(gè)命令是可選的,但使用它可以簡(jiǎn)化一些任務(wù)。

CentOS、Fedora 和其它 Red Hat 家族成員使用 RPM 文件。在 CentOS 中,通過(guò) yum 來(lái)與零丁的包文件和存儲庫進(jìn)行交互。

在最近的 Fedora 版本中,yum 已經(jīng)被 dnf 取代,dnf 是它的一個(gè)現代化的分支,它保存了大部分 yum 的接口。

FreeBSD 的二進(jìn)制包系統由 pkg 命令管理。 FreeBSD 還提供了 Ports 集合,這是一個(gè)存在于當地的目錄結構和工具,它允許用戶(hù)獲取源碼后使用 Makefile 直接從源碼編譯和安裝包。

二、更新包列表

大多數系統在當地都會(huì )有一個(gè)和遠程存儲庫對應的包數據庫,在安裝或升級包之前最好更新一下這個(gè)數據庫。另外,yum 和 dnf 在執行一些操作之前也會(huì )自動(dòng)檢查更新。當然你可以在任何時(shí)候對系統進(jìn)行更新。

系統 敕令
Debian / Ubuntu sudo apt-get update
sudo apt update
CentOS yum check-update
Fedora dnf check-update
FreeBSD Packages sudo pkg update
FreeBSD Ports sudo portsnap fetch update

三、更新已安裝的包

在沒(méi)有包系統的情況下,想確保機器上所有已安裝的軟件都保持在最新的狀態(tài)是一個(gè)很艱巨的任務(wù)。你將不得不跟蹤數百個(gè)不同包的上游更改和平安警報。雖然包管理器并不能解決升級軟件時(shí)遇到的所有問(wèn)題,但它確實(shí)使你能夠使用一些命令來(lái)維護大多數系統組件。

在 FreeBSD 上,升級已安裝的 ports 可能會(huì )引入破壞性的改變,有些步驟還必要進(jìn)行手動(dòng)配置,所以在通過(guò) portmaster 更新之前最好閱讀下 /usr/ports/UPDATING 的內容。

系統 命令 闡明
Debian / Ubuntu sudo apt-get upgrade 只更新已安裝的包
sudo apt-get dist-upgrade 可能會(huì )增加或刪除包以滿(mǎn)足新的依賴(lài)項
sudo apt upgrade 和 apt-get upgrade 類(lèi)似
sudo apt full-upgrade 和 apt-get dist-upgrade 類(lèi)似
CentOS sudo yum update
Fedora sudo dnf upgrade
FreeBSD Packages sudo pkg upgrade
FreeBSD Ports less /usr/ports/UPDATING 使用 less 來(lái)查看 ports 的更新提示(使用上下光標鍵滾動(dòng),按 q 退出)。
cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -a 安裝 portmaster 然后使用它更新已安裝的 ports

四、搜索某個(gè)包

大多數發(fā)行版都提供針對包集合的圖形化或菜單驅動(dòng)的工具,我們可以分類(lèi)瀏覽軟件,這也是一個(gè)發(fā)現新軟件的好辦法。然而,查找包最快和最有效的辦法是使用命令行工具進(jìn)行搜索。

系統 命令 說(shuō)明
Debian / Ubuntu apt-cache search search_string
apt search search_string
CentOS yum search search_string
yum search all search_string 搜索所有的字段,包含描述
Fedora dnf search search_string
dnf search all search_string 搜索所有的字段,包含描述
FreeBSD Packages pkg search search_string 通過(guò)名字進(jìn)行搜索
pkg search -f search_string 通過(guò)名字進(jìn)行搜索并返回完整的描述
pkg search -D search_string 搜索描述
FreeBSD Ports cd /usr/ports && make search name=package 通過(guò)名字進(jìn)行搜索
cd /usr/ports && make search key=search_string 搜索評論、描述和依賴(lài)

五、查看某個(gè)軟件包的信息

在安裝軟件包之前,我們可以通過(guò)仔細閱讀包的描述來(lái)獲得很多有用的信息。除了人類(lèi)可讀的文本之外,這些內容通常包含像版本號這樣的元數據和包的依賴(lài)項列表。

系統 命令 說(shuō)明
Debian / Ubuntu apt-cache show package 顯示有關(guān)包的當地緩存信息
apt show package
dpkg -s package 顯示包的當前安裝狀態(tài)
CentOS yum info package
yum deplist package 列出包的依賴(lài)
Fedora dnf info package
dnf repoquery --requires package 列出包的依賴(lài)
FreeBSD Packages pkg info package 顯示已安裝的包的信息
FreeBSD Ports cd /usr/ports/category/port && cat pkg-descr

六、從存儲庫安裝包

知道包名后,通??梢杂靡粋€(gè)敕令來(lái)安裝它及其依賴(lài)。你也可以一次性安裝多個(gè)包,只需將它們全部列出來(lái)即可。

系統 命令 闡明
Debian / Ubuntu sudo apt-get install package
sudo apt-get install package1 package2 ... 安裝所有列出來(lái)的包
sudo apt-get install -y package 在 apt 提示是否繼續的地方直接默認 yes
sudo apt install package 顯示一個(gè)彩色的進(jìn)度條
CentOS sudo yum install package
`sudo yum install package1 package2… 安裝所有列出來(lái)的包
sudo yum install -y package 在 yum 提示是否繼續的地方直接默認 yes
Fedora sudo dnf install package
`sudo dnf install package1 package2… 安裝所有列出來(lái)的包
sudo dnf install -y package 在 dnf 提示是否繼續的地方直接默認 yes
FreeBSD Packages sudo pkg install package
sudo pkg install package1 package2 ... 安裝所有列出來(lái)的包
FreeBSD Ports cd /usr/ports/category/port && sudo make install 從源碼構建安裝一個(gè) port

七、從當地文件系統安裝一個(gè)包

對于一個(gè)給定的操作系統,有時(shí)有些軟件官方并沒(méi)有提供相應的包,那么開(kāi)發(fā)人員或供應商將需要提供包文件的下載。你通??梢酝ㄟ^(guò) web 瀏覽器檢索這些包,或者通過(guò)命令行 curl 來(lái)檢索這些信息。將包下載到目標系統后,我們通??梢酝ㄟ^(guò)單個(gè)命令來(lái)安裝它。

在 Debian 派生的系統上,dpkg 用來(lái)處置單個(gè)的包文件。如果一個(gè)包有未滿(mǎn)足的依賴(lài)項,那么我們可以使用 gdebi從官方存儲庫中檢索它們。

在 CentOS 和 Fedora 系統上,yum 和 dnf 用于安裝單個(gè)的文件,并且會(huì )處理必要的依賴(lài)。

系統 命令 闡明
Debian / Ubuntu sudo dpkg -i package.deb
sudo apt-get install -y gdebi && sudo gdebi package。deb 安裝 gdebi,然后使用 gdebi 安裝 package.deb 并處理缺失的依賴(lài)
CentOS sudo yum install package.rpm
Fedora sudo dnf install package.rpm
FreeBSD Packages sudo pkg add package.txz
sudo pkg add -f package.txz 即使已經(jīng)安裝的包也會(huì )重新安裝

八、刪除一個(gè)或多個(gè)已安裝的包

由于擔保理器知道給定的軟件包提供了哪些文件,因此如果某個(gè)軟件不再需要了,它通??梢愿蓛衾涞貜南到y中清除這些文件。

系統 命令 說(shuō)明
Debian / Ubuntu sudo apt-get remove package
sudo apt remove package
sudo apt-get autoremove 刪除不必要的包
CentOS sudo yum remove package
Fedora sudo dnf erase package
FreeBSD Packages sudo pkg delete package
sudo pkg autoremove 刪除不必要的包
FreeBSD Ports sudo pkg delete package
cd /usr/ports/path_to_port && make deinstall 卸載 port

apt 命令

Debian 家族刊行版的管理員通常熟悉 apt-get 和 apt-cache。較少為人所知的是簡(jiǎn)化的 apt 接口,它是專(zhuān)為交互式使用而設計的。

傳統命令 等價(jià)的 apt 命令
apt-get update apt update
apt-get dist-upgrade apt full-upgrade
apt-cache search string apt search string
apt-get install package apt install package
apt-get remove package apt remove package
apt-get purge package apt purge package

雖然 apt 通常是一個(gè)特定操作的快捷方式,但它并不能完全替代傳統的工具,它的接口可能會(huì )隨著(zhù)版本的不同而發(fā)生變化,以提高可用性。如果你在腳本或 shell 管道中使用擔保理命令,那么最好還是堅持使用 apt-get 和 apt-cache。

九、獲取幫助

除了基于 web 的文檔,請記住我們可以通過(guò) shell 從 Unix 手冊頁(yè)(通常稱(chēng)為 man 頁(yè)面)中獲得大多數的命令。比如要閱讀某頁(yè),可以使用 man

man page

在 man 中,你可以用箭頭鍵導航。按 / 搜刮頁(yè)面內的文本,使用 q 退出。

系統 命令 說(shuō)明
Debian / Ubuntu man apt-get 更新當地包數據庫以及與包一起工作
man apt-cache 在當地的包數據庫中搜索
man dpkg 和單獨的包文件一起工作以及能查詢(xún)已安裝的包
man apt 通過(guò)更簡(jiǎn)潔,用戶(hù)友好的接口進(jìn)行最基本的操作
CentOS man yum
Fedora man dnf
FreeBSD Packages man pkg 和預先編譯的二進(jìn)制包一起工作
FreeBSD Ports man ports 和 Ports 集合一起工作

來(lái)源鏈接:https://www.idcspy.com/36232.html

本站聲明:網(wǎng)站內容來(lái)源于網(wǎng)絡(luò ),如有侵權,請聯(lián)系我們,我們將及時(shí)處理。

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

无码AV无码天堂资源网| 亚洲国产精品ⅤA在线观看| 久久精品噜噜噜成人AV | chinese国产高清av内谢| 日产乱码一二三区别免费麻豆| 亚洲无线观看国产高清|