偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Linux 包管理器比較:dnf 和 apt

系統(tǒng) Linux
Linux 開(kāi)創(chuàng)了一種通過(guò)命令行安裝、管理、移除應(yīng)用的包管理器的概念。apt 和 dnf 就是兩種較為常見(jiàn)的包管理器。apt 命令是用來(lái)管理 DEB 格式的包,dnf 命令是用來(lái)管理 RPM 格式的包。
  • 包管理器提供大致相同的功能:安裝、管理和移除應(yīng)用,但是它們還是有一些不一樣的地方。

在 Linux 系統(tǒng)上獲取一個(gè)應(yīng)用 有多種方式。例如,有新的 Flatpak 和容器方式,也有 DEB 和 RPM 這樣一直以來(lái)經(jīng)過(guò)考驗(yàn)的方式。

[[413508]]

并沒(méi)有一種通用的可以用于所有的操作系統(tǒng)的應(yīng)用安裝程序。如今,因?yàn)橛袩o(wú)數(shù)的開(kāi)發(fā)者發(fā)布軟件,這導(dǎo)致了大部分的操作系統(tǒng)使用了應(yīng)用商店(包括第一方和第三方)、拖放式安裝,還有安裝向?qū)?。不同的開(kāi)發(fā)者對(duì)于他們發(fā)布的代碼有不同的需求,這直接導(dǎo)致了他們所選擇的安裝方式的不同。

Linux 開(kāi)創(chuàng)了一種通過(guò)命令行安裝、管理、移除應(yīng)用的包管理器的概念。apt 和 dnf 就是兩種較為常見(jiàn)的包管理器。apt 命令是用來(lái)管理 DEB 格式的包,dnf 命令是用來(lái)管理 RPM 格式的包。這兩種包管理器在理論上并不是完全互斥的,盡管在實(shí)際的實(shí)踐中,Linux 發(fā)行版通常只會(huì)使用到其中的一種。理論上,這兩種命令可以運(yùn)行在同一個(gè)系統(tǒng)上,但是會(huì)造成安裝包的重疊,版本控制也會(huì)更加困難,命令也會(huì)是冗余的。然而,如果你是在一個(gè)混合的 Linux 環(huán)境下工作,比如你的工作站運(yùn)行的是一個(gè)發(fā)行版,同時(shí)需要與運(yùn)行另外一種發(fā)行版的服務(wù)器進(jìn)行交互,那么你最好同時(shí)掌握這兩種包管理器。

搜索應(yīng)用

當(dāng)你通過(guò)包管理器安裝一個(gè)應(yīng)用時(shí),你需要先知道包的名稱(chēng)。通常,應(yīng)用的名稱(chēng)和包的名稱(chēng)是一樣的。dnf 和 apt 驗(yàn)證要安裝的包名的過(guò)程是完全相同的。

  1. $ sudo dnf search zsh 
  2. ====== Name Exactly Matched: zsh ====== 
  3. zsh.x86_64 : Powerful interactive shell 
  4. [...] 

使用 apt:

  1. $ sudo apt search zsh 
  2. Sorting... Done 
  3. Full Text Search... Done 
  4. csh/stable 20110502-4+deb10u1 amd64 
  5.   Shell with C-like syntax 
  6. ddgr/stable 1.6-1 all 
  7.   DuckDuckGo from the terminal 
  8. direnv/stable 2.18.2-2 amd64 
  9.   Utility to set directory specific environment variables 
  10. draai/stable 20180521-1 all 
  11.   Command-line music player for MPD 
  12. [...] 

如果想通過(guò) apt 更快的獲取相關(guān)的搜索結(jié)果,你可以使用 正則表達(dá)式:

  1. apt search ^zsh 
  2. Sorting... Done 
  3. Full Text Search... Done 
  4. zsh/stable 5.7.1-1 amd64 
  5.   shell with lots of features 
  6. [...] 

查找應(yīng)用程序包

有一些命令是與其它命令捆綁在一起的,都在一個(gè)包中。在這種情況下,你可以通過(guò)包管理器去了解哪個(gè)包提供了你需要的命令。dnf 和 apt 命令在如何搜索這類(lèi)元數(shù)據(jù)上是有區(qū)別的。

使用 dnf:

  1. $ sudo dnf provides pgrep 
  2. procps-ng-3.3.15-6.el8.x86_64 : System and process monitoring utilities 
  3. Repo        : baseos 
  4. Matched from
  5. Filename    : /usr/bin/pgrep 

apt 命令使用子命令 apt-file。要使用 apt-file,你必須先安裝它,然后提示它更新緩存:

  1. $ sudo apt install apt-file 
  2. Reading package lists... Done 
  3. Building dependency tree       
  4. Reading state information... Done 
  5. The following additional packages will be installed: 
  6.   libapt-pkg-perl libexporter-tiny-perl liblist-moreutils-perl libregexp-assemble-perl 
  7. The following NEW packages will be installed: 
  8.   apt-file libapt-pkg-perl libexporter-tiny-perl liblist-moreutils-perl libregexp-assemble-perl 
  9. 0 upgraded, 5 newly installed, 0 to remove and 14 not upgraded. 
  10. Need to get 297 kB of archives. 
  11. After this operation, 825 kB of additional disk space will be used. 
  12. Do you want to continue? [Y/n] y 
  13. $ sudo apt-file update 
  14. [...] 

你可以通過(guò) apt-file 搜索命令。你可以使用此命令進(jìn)行廣泛的全局搜索,但假如你知道命令的執(zhí)行路徑,它會(huì)更準(zhǔn)確:

  1. $ sudo apt-file search /usr/bin/pgrep 
  2. pgreplay: /usr/bin/pgreplay               
  3. procps: /usr/bin/pgrep 

安裝應(yīng)用程序

使用apt 和 dnf 安裝應(yīng)用程序基本上是相同的:

  1. $ sudo apt install zsh 

使用 dnf,你可以使用同樣的方式來(lái)安裝一個(gè)包:

  1. $ sudo dnf install zsh 

許多基于 RPM 的發(fā)行版都具有組包安裝的特性,它會(huì)將有時(shí)表面相關(guān)的應(yīng)用程序收集到一個(gè)易于安裝的目標(biāo)中。例如,F(xiàn)edora 中的 Design Suite 組包就包含流行的創(chuàng)意應(yīng)用程序。那些想要某一個(gè)創(chuàng)意應(yīng)用程序的藝術(shù)家可能也想要類(lèi)似的應(yīng)用程序,選擇安裝一整個(gè)組包一個(gè)簡(jiǎn)單而快速的方法,可以合理地開(kāi)始建立一個(gè)數(shù)字工作室。你可以通過(guò) group list 來(lái)查看可用的組包(使用 -v 來(lái)查看不帶空格的組名):

  1. $ sudo dnf group list -v 
  2. [...] 
  3. Available Groups: 
  4.    Container Management (container-management) 
  5.    RPM Development Tools (rpm-development-tools) 
  6.    Design Suite (design-suite) 
  7.    Development Tools (development) 
  8. [...] 

使用 group install 子命令安裝 RPM 組包:

  1. $ sudo dnf group install design-suite 

你可以使用 @ 符號(hào)來(lái)減少輸入:

  1. $ sudo dnf install @design-suite 

更新應(yīng)用程序

使用包管理器的一個(gè)優(yōu)點(diǎn)是,它知道所有已經(jīng)安裝的應(yīng)用。這樣你不必去尋找應(yīng)用程序的更新版本。相反,你可以通過(guò)包管理器去獲取更新的版本。

dnf 和 apt 使用的子命令略有不同。因?yàn)?apt 保存了一個(gè)需要定期更新的緩存信息,它使用 upgrade 子命令來(lái)更新應(yīng)用程序:

  1. $ sudo apt upgrade 

相比之下,dnf 命令在你每次使用時(shí)都會(huì)更新元信息,所以 update 和 upgrade 子命令是可以互換的:

  1. $ sudo dnf upgrade 

這等同于:

  1. $ sudo dnf update 

移除應(yīng)用程序

如果你曾經(jīng)嘗試在任何一個(gè)平臺(tái)上手動(dòng)刪除一個(gè)應(yīng)用程序,你就會(huì)知道,應(yīng)用程序刪除后,在硬盤(pán)上會(huì)殘留各種文件,比如首選項(xiàng)文件、數(shù)據(jù)或圖標(biāo)。所以包管理器的另一個(gè)優(yōu)點(diǎn)是,包管理器管理著包中安裝的每一個(gè)文件,可以很方便的刪除:

  1. $ sudo dnf remove zsh 

remove 子命令也適用于 apt:

  1. $ sudo apt remove zsh 

使用 apt 命令刪除一個(gè)包并不會(huì)刪除已修改的用戶(hù)配置文件,以防你意外刪除了包。如果你想通過(guò) apt 命令刪除一個(gè)應(yīng)用及其配置文件,請(qǐng)?jiān)谀阒皠h除過(guò)的應(yīng)用程序上使用 purge 子命令:

  1. $ sudo apt purge zsh 

apt 和 dnf 都不會(huì)刪除家目錄中的數(shù)據(jù)和配置文件(即使使用 purge 子命令)。如果想要從家目錄中刪除數(shù)據(jù),你必須手動(dòng)操作(通常你可以在 ~/.config 和 ~/.local 文件中找到)。

了解包管理

無(wú)論你選擇的發(fā)行版支持的是 apt 還是 dnf,這些命令的用途大致相同。它們可以幫助你安裝、更新和移除包。這兩種包管理器是目前最通用的包管理器。它們的語(yǔ)法元素在很大程度上是相同的,所以在兩者之間切換非常容易。

apt 和 dnf 還有一些高級(jí)功能,例如倉(cāng)庫(kù)管理,但這些功能并不像你使用 search 和 install 那樣頻繁。

無(wú)論你更經(jīng)常使用哪種包管理器,你都可以下載我們的 apt 備忘單 和 dnf 備忘單,以便你在最需要的時(shí)候可以查詢(xún)使用語(yǔ)法。

責(zé)任編輯:未麗燕 來(lái)源: Linux中國(guó)
相關(guān)推薦

2022-08-04 14:54:50

APTDNFYUM

2017-08-17 10:47:05

Linux包管理

2022-05-04 11:10:58

Linuxdnf 命令

2022-05-07 11:08:50

Linuxapt 命令

2021-12-09 09:27:22

MacOSHomebrew包管理器

2023-04-17 07:36:28

Arch LinuxGUI

2013-11-20 15:32:13

紅帽RedHatYUM包

2016-09-12 15:00:46

Linux包管理器新手

2022-03-21 21:28:00

Homebrew包管理器Linux

2020-12-03 12:06:54

HarmonyOS

2020-03-09 11:43:35

RustCargo編程語(yǔ)言

2022-02-28 10:22:08

前端管理工具

2020-06-28 13:56:01

UbuntuAptSynaptic

2022-10-11 16:09:27

系統(tǒng)Linux管理器

2022-02-21 09:58:31

包管理器npmyarn

2020-11-11 08:00:00

Linux系統(tǒng)修復(fù)

2009-07-07 09:00:39

2021-02-28 13:26:15

Linux軟件包管理器軟件倉(cāng)庫(kù)

2010-01-06 16:33:24

Ubuntu軟件包

2018-08-23 16:51:40

Linux軟件倉(cāng)庫(kù)包管理器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)