我終於放棄了Nala作為apt的前端
為何我會去用nala?
原因有很多,我逐一介紹。首先是看到飛蚊話Up主的這一個影片,發現其輸出結果、並行下載還蠻誘人的。其次是我用過Fedora一段時間,我雖不喜歡dnf的依賴解析,但很喜歡dnf的輸出結果的處理方式。這是,nala就滿足了我,我單純的以為是apt的前端,就只是把apt的輸出結果轉換成nala的輸出樣式(這也是大多數推薦的說法)。
為什麼我放棄了?
這有一些理由,我逐一說明。 在Ubuntu上使用的時候,我體驗過並行下載,可能是因為在臺灣吧,我覺得差別不大,但是我發現nala讓我的source.list的配置有些混亂,我花了一點時間3恢復成原始的source.list並且不用nala了。 有了前車之鑑,我在debian上就只是把nala當作一般的前端,但隨著使用的時間愈久,我發現nala的依賴解析愈來愈奇怪。我今天要安裝Protonmail的桌面app,因為這一個依賴偏好使用pulseaudio,而我的電腦是pipewire,竟然想到把桌面環境拔掉(因為要移除pipewire,而pipewire是桌面環境的必須依賴),我立刻取消,用了apt就沒有這一個問題。
nala的輸出和依賴解析
xjd@XJD:~/Downloads$ sudo nala install ./ProtonMail-desktop-beta.deb
Notice: The following will be installed to satisfy proton-mail:
pulseaudio
========================================================================
Installing
========================================================================
Package: Version: Size:
proton-mail 1.13.4 296 KB
libasound2-plugins 1.2.12-2+b4 71 KB
libpulsedsp 17.0+dfsg1-2.1+b2 34 KB
pulseaudio 17.0+dfsg1-2.1+b2 1.2 MB
pulseaudio-utils 17.0+dfsg1-2.1+b2 85 KB
========================================================================
Suggested, Will Not Be Installed
========================================================================
Package: Version: Size:
pavumeter Virtual Package 0 Bytes
pavucontrol 6.1-1 199 KB
paprefs 1.2-1+b1 59 KB
gir1.2-gnomekeyring-1.0 Virtual Package 0 Bytes
libgnome-keyring0 Virtual Package 0 Bytes
========================================================================
Removing
========================================================================
Package: Version: Size:
gnome 1:50+1 16 KB
gnome-core 1:50+1 15 KB
pipewire-alsa 1.6.8-1 195 KB
pipewire-audio 1.6.8-1 22 KB
========================================================================
Summary
========================================================================
Install 5 Packages
Remove 4 Packages
Total download size 1.4 MB
Disk space required 7.3 MB
Do you want to continue? [Y/n] n
Abort.
apt的依賴解析
xjd@XJD:~/Downloads$ sudo apt install ./ProtonMail-desktop-beta.deb
Note, selecting 'proton-mail' instead of './ProtonMail-desktop-beta.deb'
Installing:
proton-mail
Suggested packages:
gir1.2-gnomekeyring-1.0 libgnome-keyring0
Summary:
Upgrading: 0, Installing: 1, Removing: 0, Not Upgrading: 0
Download size: 0 B / 83.3 MB
Space needed: 303 MB / 257 GB available
Get:1 /home/xjd/Downloads/ProtonMail-desktop-beta.deb proton-mail amd64 1.13.4 [83.3 MB]
Retrieving bug reports... Done
Parsing Found/Fixed information... Done
Selecting previously unselected package proton-mail.
(Reading database… 209786 files and directories currently installed.)
Preparing to unpack …/ProtonMail-desktop-beta.deb…
Unpacking proton-mail (1.13.4)…
Setting up proton-mail (1.13.4)…
Processing triggers for desktop-file-utils (0.28-1)…
Processing triggers for gnome-menus (3.38.1-3)…
Processing triggers for mailcap (3.77)…
Notice: Download is performed unsandboxed as root as file '/home/xjd/Downloads/ProtonMail-desktop-be
ta.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
為什麼不一樣
我們來看看GitHub的說明。
Nala is a command-line front-end for libapt-pkg, currently being rewritten in Rust on top of rust-apt.
看到了嗎?這不是apt的前端,而是apt的某一依賴解析的前端!這意味著nala用著和apt一樣的底層,但不代表二者生成的解會是一樣的,因為這裡不保證使用的邏輯是完全一樣的。
結論
我覺得還是用apt就好了,減少麻煩。