国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

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

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

[[200330]]

介紹

大多數現代的類 Unix 操作系統都提供了一種中心化的機制用來搜索和安裝軟件。軟件通常都是存放在存儲庫中,并通過包的形式進行分發。處理包的工作被稱為包管理。包提供了操作系統的基本組件,以及共享的庫、應用程序、服務和文檔。

包管理系統除了安裝軟件外,它還提供了工具來更新已經安裝的包。包存儲庫有助于確保你的系統中使用的代碼是經過審查的,并且軟件的安裝版本已經得到了開發人員和包維護人員的認可。

在配置服務器或開發環境時,我們***了解下包在官方存儲庫之外的情況。某個發行版的穩定版本中的包有可能已經過時了,尤其是那些新的或者快速迭代的軟件。然而,包管理無論對于系統管理員還是開發人員來說都是至關重要的技能,而已打包的軟件對于主流 Linux 發行版來說也是一筆巨大的財富。

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

包管理系統:簡要概述

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

雖然這些包管理系統的功能和優點大致相同,但打包格式和工具卻因平臺而異:

操作系統 格式 工具
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 這款先進的包管理工具提供了大多數常見的操作命令:搜索存儲庫、安裝軟件包及其依賴項,并管理升級。在本地系統中,我們還可以使用 dpkg 程序來安裝單個的 deb 文件,APT 命令作為底層 dpkg 的前端,有時也會直接調用它。

最近發布的 debian 衍生版大多數都包含了 apt 命令,它提供了一個簡潔統一的接口,可用于通常由 apt-get 和 apt-cache 命令處理的常見操作。這個命令是可選的,但使用它可以簡化一些任務。

CentOS、Fedora 和其它 Red Hat 家族成員使用 RPM 文件。在 CentOS 中,通過 yum 來與單獨的包文件和存儲庫進行交互。

在最近的 Fedora 版本中,yum 已經被 dnf 取代,dnf 是它的一個現代化的分支,它保留了大部分 yum 的接口。

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

更新包列表

大多數系統在本地都會有一個和遠程存儲庫對應的包數據庫,在安裝或升級包之前***更新一下這個數據庫。另外,yum 和 dnf 在執行一些操作之前也會自動檢查更新。當然你可以在任何時候對系統進行更新。

系統 命令
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

更新已安裝的包

在沒有包系統的情況下,想確保機器上所有已安裝的軟件都保持在***的狀態是一個很艱巨的任務。你將不得不跟蹤數百個不同包的上游更改和安全警報。雖然包管理器并不能解決升級軟件時遇到的所有問題,但它確實使你能夠使用一些命令來維護大多數系統組件。

在 FreeBSD 上,升級已安裝的 ports 可能會引入破壞性的改變,有些步驟還需要進行手動配置,所以在通過 portmaster 更新之前***閱讀下 /usr/ports/UPDATING 的內容。

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

搜索某個包

大多數發行版都提供針對包集合的圖形化或菜單驅動的工具,我們可以分類瀏覽軟件,這也是一個發現新軟件的好方法。然而,查找包最快和最有效的方法是使用命令行工具進行搜索。

系統 命令 說明
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 通過名字進行搜索
  pkg search -f search_string 通過名字進行搜索并返回完整的描述
  pkg search -D search_string 搜索描述
FreeBSD Ports cd /usr/ports && make search name=package 通過名字進行搜索
  cd /usr/ports && make search key=search_string 搜索評論、描述和依賴

查看某個軟件包的信息

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

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

從存儲庫安裝包

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

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

從本地文件系統安裝一個包

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

在 Debian 派生的系統上,dpkg 用來處理單個的包文件。如果一個包有未滿足的依賴項,那么我們可以使用 gdebi 從官方存儲庫中檢索它們。

在 CentOS 和 Fedora 系統上,yum 和 dnf 用于安裝單個的文件,并且會處理需要的依賴。

系統 命令 說明
Debian / Ubuntu sudo dpkg -i package.deb  
  sudo apt-get install -y gdebi && sudo gdebi package.deb 安裝 gdebi,然后使用 gdebi 安裝 package.deb 并處理缺失的依賴
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 即使已經安裝的包也會重新安裝

刪除一個或多個已安裝的包

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

系統 命令 說明
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。較少為人所知的是簡化的 apt 接口,它是專為交互式使用而設計的。

傳統命令 等價的 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 通常是一個特定操作的快捷方式,但它并不能完全替代傳統的工具,它的接口可能會隨著版本的不同而發生變化,以提高可用性。如果你在腳本或 shell 管道中使用包管理命令,那么***還是堅持使用 apt-get 和 apt-cache。

獲取幫助

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

  1. man page 

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

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

結論和進一步的閱讀

  • 本指南通過對多個系統間進行交叉對比概述了一下包管理系統的基本操作,但只涉及了這個復雜主題的表面。對于特定系統更詳細的信息,可以參考以下資源:
  • 這份指南 詳細介紹了 Ubuntu 和 Debian 的軟件包管理。
  • 這里有一份 CentOS 官方的指南 使用 yum 管理軟件
  • 這里有一個有關 Fedora 的 dnf 的 wifi 頁面 以及一份有關 dnf 官方的手冊
  • 這份指南 講述了如何使用 pkg 在 FreeBSD 上進行包管理
  • 這本 FreeBSD Handbook 有一節講述了如何使用 Ports 集合 
責任編輯:龐桂玉 來源: Linux中國
相關推薦

2021-07-27 12:58:46

Linux包管理器安命令

2022-08-04 14:54:50

APTDNFYUM

2022-05-04 11:10:58

Linuxdnf 命令

2022-05-07 11:08:50

Linuxapt 命令

2010-06-24 09:45:15

Linux RPMYUM

2013-11-20 15:32:13

紅帽RedHatYUM包

2013-09-29 10:14:24

YUM軟件包管理Linux YUM

2016-12-27 10:34:57

Linux命令軟件包管理

2015-09-14 16:12:23

命令DNFLinux

2010-02-03 16:29:56

2010-01-11 17:49:08

Fedora軟件包

2016-11-15 09:52:37

LinuxDebian管理軟件包

2021-02-05 07:48:06

Linux操作系統軟件

2020-11-11 08:00:00

Linux系統修復

2021-12-09 09:27:22

MacOSHomebrew包管理器

2010-02-23 17:21:06

Fedora yum

2018-09-28 14:00:54

UbuntuAPTIPv4

2020-06-15 19:20:00

AppImageLinux軟件包管理

2022-10-11 16:09:27

系統Linux管理器

2010-06-21 14:43:31

Linux apt
點贊
收藏

51CTO技術棧公眾號

九色porny在线观看| 欧美午夜无遮挡| 天堂va蜜桃一区二区三区| 欧美国产视频在线| 亚洲国产婷婷香蕉久久久久久| 2019中文字幕在线观看| 蜜桃传媒九九九| 亚洲人成伊人成综合图片| 偷拍与自拍一区| 国产啪精品视频网站| 中文字幕高清在线观看| 青青草久久爱| 欧美在线色视频| 久久综合一区| 不卡视频观看| 黄色一区二区在线| 国产伊人精品在线| 国产精品av免费观看| 亚洲黄色一区二区三区| 最近中文字幕2019第二页视频| 亚洲素人在线| 3751色影院一区二区三区| 日韩精品无码一区二区三区| 白浆在线视频| 亚洲黄色在线视频| 999国产在线| 羞羞视频在线观看免费| 国产盗摄精品一区二区三区在线| 日韩高清av在线| 国精产品一区一区三区视频| 国产伦精品一区二区三区视频| 黄色成人在线免费| 日本欧美色综合网站免费| 欧美爱爱视频| 亚洲欧洲av另类| 一区二区三区四区视频在线| 亚洲精品电影| 欧美va在线播放| 日韩高清国产精品| 免费在线观看污视频| 久久精品不卡| 久久99精品国产99久久6尤物| 青春草在线视频| 欧美福利电影网| 欧美艹逼视频| 成人在线视频一区二区| 91sao在线观看国产| 成年人黄色大片在线| 一区二区高清免费观看影视大全| 日韩欧美一起| 国产精品ⅴa在线观看h| 91一区二区在线观看| 成人av三级| 亚洲伊人久久大香线蕉av| 综合国产精品| 看一级黄色录像| 制服丝袜亚洲精品中文字幕| 91精品国产91久久综合| 日韩精品日韩在线观看| 免费观看在线一区二区三区| 中文字幕中文字幕99 | av久久网站| 人妻无码久久一区二区三区免费| 亚洲一级毛片| 成年人视频网站在线| 日韩中文字幕在线视频| 亚洲性图久久| 国产激情三区| 国产专区欧美专区| 99久久99久久精品国产片果冻| 黄页视频在线免费观看| 欧美精品少妇videofree| 亚洲国产网站| igao视频网在线视频| 91精品免费观看| 国产电影一区| 777精品久无码人妻蜜桃| 日韩免费观看视频| 91麻豆swag| 色戒汤唯在线观看| 日韩激情久久| 欧美三级中文字幕| 91社区在线高清| 日本成人黄色免费看| 岛国精品视频在线播放| 奶水喷射视频一区| 亚洲mv大片欧洲mv大片| 亚洲1234区| 久久久久国产精品熟女影院| 在线视频观看一区| 女人抽搐喷水高潮国产精品| 超碰在线播放91| 久久精品国产视频| 亚洲欧美视频在线观看| 人妻内射一区二区在线视频| 蜜桃成人免费视频| 久久精品久久久久电影| 亚洲美女久久久| 国产精品午夜电影| 日韩一区二区三区在线免费观看| 中文网丁香综合网| 精品中文字幕视频| 精品91在线| jvid一区二区三区| 国产不卡一区二区视频| 欧美精品在线观看一区二区| 国内外成人在线| 日本午夜精品| 高清日韩av电影| 国产伦精品一区二区三| 17c精品麻豆一区二区免费| 亚欧激情乱码久久久久久久久| 国产精品日韩一区二区| 欧美日韩中字| 欧美日韩一卡二卡| 色悠久久久久综合先锋影音下载| 欧美激情第二页| 91高清视频在线观看| 成人羞羞国产免费网站| 国产精品久久久久久亚洲调教| 日韩欧美在线视频观看| 日韩精品福利网| 欧美激情二区| 99热99热| 精品欧美aⅴ在线网站| 久久av网站| 久久综合九色综合88i| 国产精品福利片| 91伊人久久大香线蕉| 欧美黄色一级| 在线日本视频| 日韩黄色短视频| 91精品国产亚洲| 亚洲国产精品大全| 亚洲石原莉奈一区二区在线观看| 国产精品久久久久久久久久小说| 久久伊人一区| 奇米影音第四色| 中文在线手机av| 国产二区三区在线| 黄色免费在线观看| 国产一级不卡毛片| 国产精品久久久久久久7电影 | 国产成人亚洲一区二区三区| 婷婷五月色综合| 成人免费视频网址| 午夜精品福利视频| 国产成人免费电影| 久久天天躁狠狠躁老女人| 天天综合网天天综合色| 天天综合天天综合色| 亚洲精品videosex极品| 天天综合网网欲色| 老妇喷水一区二区三区| 狠狠色伊人亚洲综合成人| 久久99精品久久久久久国产越南 | 亚洲深爱激情| 青草国产精品久久久久久| 99精品综合| 日韩电影免费网址| 日韩成人在线电影| 懂色aⅴ精品一区二区三区| 国产精品自拍视频| 99久久伊人精品影院| 久久久av电影| 国产丝袜一区二区三区| 日韩av在线直播| 国产精品观看在线亚洲人成网| 庆余年2免费日韩剧观看大牛| 欧美激情一区二区三区高清视频| 欧美激情一级精品国产| 亚洲最大福利视频网| 日韩精品一区二区三区色欲av| 久久国产精品免费一区| 很污的网站在线观看| 亚洲男人第一网站| 国产精品美女在线播放| 日本在线成人一区二区| 91激情在线| 久久成人av少妇免费| 亚洲综合激情网| 亚洲精品自拍偷拍| 久久久久久久999| 久久天天狠狠| 蜜桃麻豆www久久国产精品| 一个人免费视频www在线观看| 青青久草在线| 亚州综合一区| 国产精品自拍合集| 成人短视频下载| 国产亚洲欧洲一区高清在线观看| 中文字幕亚洲天堂| 成人h片在线播放免费网站| 欧美影视资讯| 成人免费高清观看| 米奇777超碰欧美日韩亚洲| 99国产精品久久久久久久久久| 欧美日韩国产精品一区二区不卡中文| 亚洲午夜精品久久久久久久久| 久久夜色精品国产欧美乱|