Nala – APT 包管理器的功能豐富的命令行前端


簡單的, 代表高度 包裹 ool”,Debian、Ubuntu 及其衍生產品(如 Elementary OS、Linux Mint 和 Pop!_OS)的默認命令行包管理器。 apt 允許您搜索、安裝、更新、升級和刪除軟件包系統。APT前端有好幾種,常見的兩種APT前端是Aptitude和Synaptic。今天我要說的是另外一個APT前端工具 “奈良”.

內容

  1. 什麼是諾拉?
  2. 如何安裝諾拉
    1. 使用 PPA 安裝 Nala
    2. 使用 Pacstall 安裝 Nala
    3. 從二進製文件安裝 Nala
  3. 如何使用奈良命令
    1. 查看 Nala 的幫助
    2. 更新存儲庫
    3. 升級包
    4. 安裝包
    5. 列出包
    6. 搜索包
    7. 查看包裹詳情
    8. 並行下載
    9. 獲取最快的鏡像
    10. 查看交易記錄
    11. 刪除包
  4. 結論是

什麼是諾拉?

Nala 是 APT 包管理器的命令行前端。二手諾拉 python-apt API 與 APT 交互。

Nala 的主要目標是更好地格式化輸出,使用顏色指示包在安裝、刪除和升級過程中發生的情況。

Nala 具有與 APT 相同的功能,但 Nala 包括一些額外的功能。 Nala 開發人員從 DNF 包管理器中汲取靈感,並將其部分功能實現到 Nala 中。

Nala 將輸出格式化為更具可讀性的格式。簡而言之, 乾淨的輸出此外,Nala 隱藏了出現在 APT 輸出中的不必要的冗長消息。

諾拉支持 歷史功能比如 Fedora dnf history 特徵。 使用 Nala 的歷史功能查看過去的交易並輕鬆撤消或重做它們。如果出現問題,您可以輕鬆撤消之前的事務或回滾到之前的工作版本。

那拉的另一個顯著特點是 並行下載據我所知,APT 包管理器還沒有這個功能。您必須依賴 3rd 方工具,例如: “快速地” 加快 Ubuntu 上的包下載速度。幸運的是,Nala 默認啟用並行下載。所以使用 Nala 可以使包下載過程更快一些。

Nala 中包含的另一個有用的功能是 獲取最快的APT鏡像當前使用 Synaptic 或一些 3rd 方工具, 選擇最好的APT鏡像 在Ubuntu上。 使用 Nala,您無需依賴外部工具。默認情況下,Nala 會幫助您選擇最快的鏡像寫入文件。

綜上所述,Nala 具有以下開箱即用的獨特功能:

  • 漂亮的輸出格式,
  • 歷史功能,
  • 並行下載
  • 獲取最快的鏡像。

Nala 是一個開源程序。 Python在 GitLab 上免費託管代碼。

如何安裝諾拉

您可以從 PPA 安裝 Nala 或使用 Pacstall 或 apt/dpkg 包管理器。

使用 PPA 安裝 Nala

Nala 可以從以下位置安裝: 戰士疤痕倉庫 Debian、Ubuntu 及其變體,例如 Linux Mint、Pop!_OS。

要將 Volian Scar 存儲庫添加到 Debian、Ubuntu 及其衍生產品,請運行以下命令:

$ echo "deb https://deb.volian.org/volian/ scar main" | sudo tee /etc/apt/sources.list.d/volian-archive-scar-unstable.list

添加 GPG 密鑰。

$ wget -qO - https://deb.volian.org/volian/scar.key | sudo tee /etc/apt/trusted.gpg.d/volian-archive-scar-unstable.gpg > /dev/null

源列表更新:

$ sudo apt update

然後使用以下命令在 Ubuntu 22.04 / Debian Sid 或更新版本上安裝 Nala:

$ sudo apt install nala

對於 Debian 11 穩定版、Ubuntu 21.04 及更早版本,您應該安裝 nala-legacy

$ sudo apt install nala-legacy

當心: Nala 似乎已經添加到 Debian 中 [Testing] 存儲庫和 Debian Sid 的默認存儲庫。我沒有 Debian Sid,所以無法檢查。

使用 Pacstall 安裝 Nala

Nala 開發人員創建了 pacscript 公園攤位.

首先,按照上面鏈接中的說明安裝 Pacstall。

完成後,通過運行以下命令安裝 Nala:

$ pacstall -I nala-deb

從二進製文件安裝 Nala

下載最新版本的諾拉 .deb 文件來自 發布 頁。

通過本地安裝 apt 再次 dpkg.

$ sudo apt install /path/to/nala_version_arch.deb
$ sudo apt install -f

再次

$ sudo dpkg -i /path/to/nala_version_arch.deb
$ sudo apt install -f

如何使用奈良命令

如前所述,Nala 的使用方式與 Apt 非常相似。 Nala 命令與 apt 變體相同,但輸出格式不同。

首先,讓我們展示娜拉的幫助手冊。

查看 Nala 的幫助

要查看 nala 命令的幫助部分,請使用: -h 再次 --help 標誌是:

$ nala --help

示例輸出:

Usage: nala [OPTIONS] COMMAND [ARGS]...

  Each command has its own help page.

  For Example: `nala history --help`

Options:
  --version             Show program's version number and exit.
  --license             Reads the GPLv3 which Nala is licensed under.
  --install-completion  Install completion for the current shell.
  --show-completion     Show completion for the current shell, to copy it or
                        customize the installation.
  -h, --help            Show this message and exit.

Commands:
  autopurge   Autopurge packages that are no longer needed.
  autoremove  Autoremove packages that are no longer needed.
  clean       Clear out the local archive of downloaded package files.
  fetch       Fetch fast mirrors to speed up downloads.
  history     Show transaction history.
  install     Install packages.
  list        List packages based on package names.
  purge       Purge packages.
  remove      Remove packages.
  search      Search package names and descriptions.
  show        Show package details.
  update      Update package list.
  upgrade     Update package list and upgrade the system.

從上面的輸出可以看出,Nala 包含了在基於 Debian 的系統上進行基本包管理操作的所有基本命令。

每個 Nala 子命令都有自己的幫助部分。例如,請參閱幫助部分。 update 該命令可以使用以下命令:

$ nala update -h

更新存儲庫

要更新 Nala 上的軟件存儲庫,請運行以下命令:

$ sudo nala update

示例輸出:

$ sudo nala update
╭─ Updating Package List ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│No Change: https://in.archive.ubuntu.com/ubuntu jammy InRelease                                                                                  │
│No Change: https://download.docker.com/linux/ubuntu jammy InRelease                                                                             │
│No Change: https://in.archive.ubuntu.com/ubuntu jammy-updates InRelease                                                                          │
│No Change: https://in.archive.ubuntu.com/ubuntu jammy-backports InRelease                                                                        │
│No Change: https://deb.volian.org/volian scar InRelease                                                                                          │
│Updated:   https://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]                                                                  │
│No Change: https://ppa.launchpadcontent.net/flexiondotorg/quickemu/ubuntu jammy InRelease                                                       │
│No Change: https://ppa.launchpadcontent.net/yannick-mauray/quickgui/ubuntu jammy InRelease                                                      │
│Fetched 110 kB in 6s (2555 B/s)                                                                                                                 │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
1 packages can be upgraded. Run 'nala list --upgradable' to see them.
橡樹更新命令

現在讓我們實際運行 apt update 運行命令並比較兩個命令的輸出。

$ sudo apt update
Nala 更新和 Apt 更新命令

看到不同?這 nala update 命令輸出比 apt update 命令的輸出。

Nala 顯示描述某些命令的實際目的的標題。從上面的輸出中可以看出,Nala 在頂部顯示了一個“更新包列表”。用戶可以很容易地理解特定命令的作用。

另一個小區別是,如果存儲庫沒有更改或更新,Nala 將顯示消息“無更改”。還要從輸出中刪除以下行:

[...]
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
[...]

Apt 會在每個命令中打印這三行。

升級包

要升級您的 Debian 或 Ubuntu 系統,請運行:

$ sudo nala upgrade

示例輸出:

╭─ Updating Package List ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│No Change: https://in.archive.ubuntu.com/ubuntu jammy InRelease                                                                                  │
│Updated:   https://download.docker.com/linux/ubuntu jammy InRelease [48.9 kB]                                                                   │
│No Change: https://in.archive.ubuntu.com/ubuntu jammy-updates InRelease                                                                          │
│No Change: https://in.archive.ubuntu.com/ubuntu jammy-backports InRelease                                                                        │
│Updated:   https://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]                                                                  │
│No Change: https://deb.volian.org/volian scar InRelease                                                                                          │
│No Change: https://ppa.launchpadcontent.net/flexiondotorg/quickemu/ubuntu jammy InRelease                                                       │
│No Change: https://ppa.launchpadcontent.net/yannick-mauray/quickgui/ubuntu jammy InRelease                                                      │
│Fetched 159 kB in 0s (0 B/s)                                                                                                                    │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
==================================================================================================================================================
 Upgrading                                                                                                                                        
==================================================================================================================================================
  Package:                                        Old Version:                    New Version:                                             Size:  
  libfreetype6                                    2.11.1+dfsg-1build1             2.11.1+dfsg-1ubuntu0.1                                  389 kB  
                                                                                                                                                  
==================================================================================================================================================
 Summary                                                                                                                                          
==================================================================================================================================================
 Upgrade 1 Packages                                                                                                                               
                                                                                                                                                  
      
Do you want to continue? [Y/n] y
╭─ Updating Packages ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│Unpacking:  libfreetype6:amd64 (2.11.1+dfsg-1ubuntu0.1) over (2.11.1+dfsg-1build1)                                                              │
│Setting up: libfreetype6:amd64 (2.11.1+dfsg-1ubuntu0.1)                                                                                         │
│Processing: triggers for libc-bin (2.35-0ubuntu3)                                                                                               │
│╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮│
││✔ Running dpkg … ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% • 0:00:00 • 3/3││
│╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯│
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Finished Successfully
諾拉的升級訂單諾拉的升級訂單

輸出非常具有描述性和不言自明,對吧?這是正確的! Apt 命令不會顯示這些詳細信息。

Nala 為每個操作顯示一個描述性標題,例如“更新包列表”、“下載”或“安裝包”。

安裝包

例如,使用 Nala 安裝包 維姆, 趕緊跑:

$ sudo nala install vim

示例輸出:

諾拉安裝命令諾拉安裝命令

查看使用情況和可用選項 nala install 在命令中,運行:

$ nala install -h

列出包

您可以按名稱列出所有包或特定包 nala list 命令。

要列出所有包,只需運行 nala list 沒有跡象。

$ nala list

您還可以僅列出已安裝的軟件包 -i , --installed 橫幅。

$ nala list -i

如果只想列出以下包怎麼辦? 清楚地 你想用 Nora 安裝嗎?這也是可以的。使用 -N, --nala-installed 橫幅。

$ nala list -N

示例輸出:

vim 2:8.2.3995-1ubuntu2 [Ubuntu/jammy main]
├── is installed
└── Vi IMproved - enhanced vi editor

要僅查看可升級包,請使用 -u, --upgradable 選項。

$ nala list -u

要查看特定包的所有版本,您可以使用 -a, --all-versions 橫幅。

$ nala list -a

搜索包

您可以使用單詞或正則表達式搜索包名稱和描述。這個命令是一樣的 nala list 命令。它唯一的附加符號是 -A, --all-arches 顯示包的所有體系結構的標誌。

要搜索名稱中帶有“vim”的包,請運行:

$ nala search vim

運行不帶任何選項的 nala 搜索將顯示包名稱和描述。

僅按名稱搜索, -n, --names 橫幅。

$ nala search -n vim

要查看特定包的所有模式,請使用 -A(注意大寫字母 A)。

$ nala search -n -A vim

同樣,您可以使用 -i 要僅列出已安裝的包,請使用 -N 要僅使用 Nala 顯式列出包,請使用: -u 僅列出可升級的軟件包。

你可以從下載 nala search 通過運行以下命令打開幫助部分:

$ nala search -h

查看包裹詳情

show 顯示有​​關特定包的信息的命令,包括名稱、版本和依賴項。

$ nala show vim
諾拉秀的命令諾拉秀的命令

如你看到的, nala show 命令非常相似 apt show 除了突出顯示包信息以提高可讀性。

並行下載

這是 Nala 的一個有用的功能。

Apt 包管理器目前不支持並行下載。但是,您可以通過使用第三方工具來提高 Apt 的下載速度。 快速地. 對於 Apt-fast 應用程序 加快 Ubuntu 上的包下載 及其衍生物。

Nala 支持開箱即用的並行下載。因此,不需要外部工具。默認情況下,娜拉是 為每個獨特的鏡像下載 3 個包 你的 sources.list 文檔。

獲取最快的鏡像

Nala 功能列表的另一個不錯的補充是 Fetch Fastest APT Mirror。這 nala fetch 該命令的工作方式如下 易於選擇, 聰明的, 網絡選擇, 和 網絡選項 CLI 工具。

在認識Nala之前,我用過上面的工具 找到最好最快的 APT 鏡像 在我的 Ubuntu 系統上。幸運的是,Nala 已經默認內置了這個功能。

首先,Nala 會檢查您的發行版是 Debian 還是 Ubuntu。然後從它們各自的主列表中獲取所有鏡像。拿到master list後,測試延遲,給每個鏡像打分。

根據延遲和速度,Nala 列出了 16 個最快的鏡像。輸入要保留的鏡像的索引號(以空格分隔),然後按 ENTER。

使用 Nala 列出最快的 APT 鏡像使用 Nala 列出最快的 APT 鏡像

Nala 將看到一條確認消息。如果您對所選的鏡像感到滿意,請按 Y 確認並按 ENTER。

確認選擇的圖像確認選擇的圖像

所選來源已寫入 /etc/apt/sources.list.d/nala-sources.list 文檔。

運行以下命令更新源列表。

$ sudo nala update

如果你不想娜拉得到鏡子,把鏡子拿掉就行了。

$ sudo rm /etc/apt/sources.list.d/nala-sources.list

查看交易記錄

這是 Nala 包管理器的旗艦功能之一。這個功能其實是 歷史 從一個函數 地下城與勇士 包管理器。

使用 nala history 命令可讓您輕鬆撤消和重做以前的 APT 事務。

每次安裝、刪除或升級軟件包時,APT 事務都存儲在: /var/lib/nala/history.json 獨特的文件 鑑別 數字。

讓我們使用以下命令查看當前歷史記錄。

$ nala history
  ID    Command                 Date and Time              Altered    Requested-By      
  1     upgrade libfreetype6    2022-07-22 18:14:55 IST          1    ostechnix (1000)  
  2     install vim             2022-07-22 18:20:11 IST          2    ostechnix (1000)  

如您所見,我們已經使用 Nala 完成了兩筆 APT 交易。其中 1 和 2 是事務 ID。

顯示有​​關特定交易的信息。 nala history info [ID] 命令。

$ nala history info 2

示例輸出:

==================================================================================================================================================
 Installed                                                                                                                                        
==================================================================================================================================================
  Package:                                        Version:                                                                                 Size:  
  vim                                             2:8.2.3995-1ubuntu2                                                                     1.7 MB  
  vim-runtime                                     2:8.2.3995-1ubuntu2                                                                     6.8 MB  
                                                                                                                                                  
==================================================================================================================================================
 Summary                                                                                                                                          
==================================================================================================================================================
 Installed 2 Packages                                      
查看公寓交易詳情查看公寓交易詳情

然後卸載 Vim 包。

為此,請運行:

$ sudo nala history undo 2

其中 2 是“安裝 vim”命令的索引。

那拉歷史撤消命令那拉歷史撤消命令

看? 只需撤消 Vim 安裝即可。所以我只是刪除了 Vim 包。

讓我們再次運行歷史命令。

$ nala history
  ID    Command                 Date and Time              Altered    Requested-By      
  1     upgrade libfreetype6    2022-07-22 18:14:55 IST          1    ostechnix (1000)  
  2     install vim             2022-07-22 18:20:11 IST          2    ostechnix (1000)  
  3     history undo 2          2022-07-23 17:12:34 IST          2    ostechnix (1000)  
奈良歷史司令部奈良歷史司令部

從上面的輸出中可以看出,有一個新條目(即 history undo 2) 裡面 nala history 輸出。

讓我們再次安裝 vim 包。換句話說,讓我們 重做 “安裝 vim”命令。

要重做“安裝 vim”,請運行以下命令:

$ sudo nala history redo 2
那拉歷史重做命令那拉歷史重做命令

這將再次安裝 Vim 包。

如果你不想在你的歷史記錄中的交易,你可以刪除它 nala history clear 命令:

$ sudo nala history clear 3

刪除包

要刪除或清除 Nala 不再需要的已安裝軟件包,請運行以下命令:

$ sudo nala purge vim

再次,

$ sudo nala remove --purge vim

如果你想自動刪除不再需要的包,添加 --autoremove 橫幅。

$ sudo nala purge vim --autoremove

結論是

使用 Nala,您可以獲得更清晰的輸出、更快的包下載和獲取歷史記錄。如果你只想進行安裝、更新、升級、列出、搜索和刪除等基本的包管理操作,你可以使用 Nala。對於其他高級包管理操作,請使用 Apt。

Nala 開發人員還計劃: 編程語言。希望它能盡快推出更多功能。

資源:

  • Nora GitLab 存儲庫

APTApt 前端 CLI 命令行 DebianLinuxLinux 命令 NalaNala 包管理器 開源包管理器包管理器PythonUbuntu