漂亮的 Linux apt 命令前端,下載速度比 apt 快 16 倍
??apt??- 我想大家都應(yīng)該很熟悉,它是一個(gè) Debian 和 Ubuntu 中的 Shell 前端軟件包管理器。但是界面總是覺得有點(diǎn)呆板,不過現(xiàn)在好了,我給大家介紹 Nala,讓事情變得更簡單、更漂亮。對于??apt??,Linux 用戶在安裝或升級軟件包時(shí)可能難以理解??apt??在做什么。簡而言之,Nala 是一個(gè)??libapt-pkg??前端。它是通過刪除一些冗余消息、改進(jìn)包格式以及使用顏色來說明在安裝、刪除或升級過程中包發(fā)生的情況來簡化 ??apt?? 的使用。
本文將具體介紹如何使用 Nala。

選擇使用 Nala 而不是 APT的理由
在 Nala 的眾多特點(diǎn)中,我想向你介紹我認(rèn)為要使用 Nala 而不是 APT 的三個(gè)主要原因。
1、并行下載
我認(rèn)為并行下載是選擇 Nala 而不是 APT 的最有說服力的理由。你可能也知道,APT 一次只下載一個(gè)包,而 Nala 可能一次下載多個(gè)。這大大加快了速度,特別是如果你有很多包要更新。Nala 可以在你的 ??sources.list?? 文件中為每個(gè)唯一鏡像下載多達(dá) 16 個(gè)包。因此,理論上它的下載速度比 APT 快 16 倍。Nala 限制每個(gè)鏡像兩個(gè)線程,以免對單個(gè)鏡像造成過多負(fù)擔(dān)。為了進(jìn)一步提高下載速度,Nala 在可用鏡像之間交替下載。因此,如果一個(gè)鏡像因任何原因出現(xiàn)失敗,Nala 會繼續(xù)下一個(gè),直到所有定義的鏡像都用完為止。
2、選擇最快的鏡像
在大多數(shù)情況下,??nala fetch??命令的操作方式類似于 netselect 和 netselect-apt。但是??nala fetch??會檢查你的發(fā)行版是
Debian 還是 Ubuntu。然后 Nala
會從各自的主列表中獲取所有鏡像。完成后,它將執(zhí)行一個(gè)延遲測試,并對每個(gè)鏡像進(jìn)行評分。最后,Nala
將選擇三個(gè)最快的鏡像并寫入配置文件。(/etc/apt/sources.list.d/nala-sources.list)
linuxmi@linuxmi:~/www.linuxmi.com$ sudo nala fetch
如下圖,為 Ubuntu 選擇最快的軟件下載鏡像:
3、包管理歷史
如果你知道??dnf??命令,那??nala history??工作方式大致相同。它使用唯一??ID??編號將每個(gè)操作(安裝、卸載、更新)保存到??/var/lib/nala/history.json??。因此,你可以在任何時(shí)候調(diào)用 ??nala history?? 命令來打印執(zhí)行的每個(gè)事務(wù)的摘要。如下圖:
此外,還可以使用 ??nala history undo ID?? 或 ??nala history redo ID?? 等命令操作包。示例如下:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo nala history redo 3
要查看通過??nala??命令安裝的包的歷史事務(wù),請運(yùn)行??nala history??命令:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo nala history
如何安裝 Nala
Ubuntu 和 Debian 用戶可以通過輸入以下命令來安裝 Nala:
linuxmi@linuxmi:~/www.linuxmi.com$ echo "deb [arch=amd64,arm64,armhf] http://deb.volian.org/volian/ scar main" | sudo tee /etc/apt/sources.list.d/volian-archive-scar-unstable.list
[sudo] linuxmi 的密碼:
deb [arch=amd64,arm64,armhf] http://deb.volian.org/volian/ scar main
linuxmi@linuxmi:~/www.linuxmi.com$ wget -qO - https://deb.volian.org/volian/scar.key | sudo tee /etc/apt/trusted.gpg.d/volian-archive-scar-unstable.gpg > /dev/null
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update && sudo apt install nala
或者,你也可以選擇 從項(xiàng)目的 GitLab Releases 頁面下載??.deb?? 安裝包在本地安裝。
如何使用Nala
請記住,大多數(shù)??apt??命令必須以具有??sudo??特權(quán)的用戶身份運(yùn)行。
獲取更新和升級包
安裝??nala??工具后要做的第一件事是確保更新包數(shù)據(jù)庫的本地副本。如果沒有這一步,系統(tǒng)將不知道是否有更新的軟件包可用。那么我們首先使用 ??nala update?? 命令下載有關(guān)可用軟件包的最新信息并更新系統(tǒng)。
linuxmi@linuxmi:~/www.linuxmi.com$ sudo nala update

安裝新軟件包
更新軟件包數(shù)據(jù)庫后,你可以使用該??nala install??命令安裝任何軟件包。例如,讓我們安裝 pinta 圖像處理軟件:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo nala install pinta

刪除包
要刪除(卸載)已安裝的軟件包,請使用該??nala remove??命令。例如,要刪除名為 的包??pinta??,請輸入:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo nala remove pinta
所有 Nala 命令的完整列表
??nala?? 命令的一般語法是:
nala [--options] <command>
命令:
install: 安裝包remove: 刪除包purge: 清除包update:更新包列表,升級系統(tǒng)upgrade: 更新別名fetch:獲取快速鏡像以加快下載速度show: 顯示包詳情history: 顯示命令歷史clean:清除檢索到的包文件的本地存儲庫
可選參數(shù):
-h,--help: 顯示幫助信息并退出-y,--assume-yes: 假設(shè)所有提示為“是”并以非交互方式運(yùn)行-d,--download-only: 包文件只被檢索,不解包或安裝-v,--verbose: 記錄額外的調(diào)試信息--no-update: 跳過更新包列表--no-autoremove: 阻止 Nala 自動刪除包--remove-essential:允許刪除基本包--raw-dpkg: 跳過所有格式并獲得原始dpkg輸出--update:更新包列表--debug: 記錄額外的調(diào)試信息--version: 顯示程序的版本號并退出--license: 讀取編譯入軟件的許可證,然后讀取 GPLv3
你可以在項(xiàng)目的 GitLab 頁面上找到有關(guān) Nala 的更多信息 。
總結(jié)
總體而言, Nala對于那些在更新和升級軟件包時(shí)想要更快的速度、功能和漂亮的界面的人來說是一個(gè)很好的補(bǔ)充。它提供了一個(gè)很棒的 CLU 用戶界面,它使 apt 更像 Debian 中的 dnf。你可以獲得有關(guān)要在 Linux 系統(tǒng)上安裝或更新的軟件包的更詳細(xì)信息。





























