如何查找在新的 Debian 版本中添加了哪些軟體包
我正在將我的 Debian 系統更新到一個新的主要版本,並且由於 Debian 以擁有 Linux 發行版中最大的軟體儲存庫之一而聞名,我很想看看自上一個版本以來添加了哪些軟體包。目前我正在從 Debian 10 “Buster” 更新到 Debian 11 “Bullseye”。
這樣的列表是否由 Debian 項目人員維護,或者如何建構它,可能使用 APT 查詢?
顯然,只看到版本更新的包不應該被計算在內。看看哪些軟體包已被刪除也會很有趣。
我不認為
apt
可以自己告訴你,但aptitude
可以。如果您還沒有它,請安裝它,然後在更新*之前執行它。*你會看到這樣的螢幕:Actions Undo Package Resolver Search Options Views Help C-T: Menu ?: Help q: Quit u: Update g: Preview/Download/Install/Remove Pkgs aptitude 0.8.11 @ XXX --- Upgradable Packages (62) --- New Packages (2778) --- Installed Packages (6452) --- Not Installed Packages (202276) --- Obsolete and Locally Created Packages (51) --- Virtual Packages (84017) --- Tasks (217)
這兩個部分對您來說會很有趣,“新包”(列出所有新的包
aptitude
)和“過時的和本地創建的包”(列出所有已安裝的包,這些包不再可從儲存庫中獲得)。按f
和Enter
清除新包列表;“新包”部分將消失。現在將您的儲存庫更新到新的主要版本,然後
aptitude
再次執行:它將顯示新包,如果您已從配置中完全刪除舊版本的儲存庫,則會顯示過時的包。要查看某個部分的內容,請使用箭頭鍵滾動到該部分並按Enter
;您也可以使用[
一次來展開所有小節。如果您已經更新,甚至升級,您仍然可以獲得此資訊:編輯您的源以指向以前的版本,執行
apt update
,然後aptitude forget-new
,再次編輯您的源以指向新版本,然後apt update
再次執行。您可以通過跟踪離開NEW 隊列的包的 RSS 提要來跟踪進入分發版(但不一定是給定版本)的包。還跟踪包刪除(對於整個發行版,同樣不是特定版本)。
有所有包的列表….
“buster”中的所有 Debian 軟體包 https://packages.debian.org/buster/ → https://packages.debian.org/buster/allpackages?format=txt.gz → 89,969 行(軟體包)
“bullseye”中的所有 Debian 軟體包 https://packages.debian.org/bullseye/ → https://packages.debian.org/bullseye/allpackages?format=txt.gz → 96,201 行(軟體包)
看起來 Debian 11 中添加了 6,332 個軟體包,但刪除了一些舊軟體包,因此計數不太正確。
保存文本列表。為了便於比較,請刪除括號中顯示的包版本:
sed -e 's/([^()]*)//g' 10-buster > all-10 sed -e 's/([^()]*)//g' 11-bullseye > all-11 ## run diff, and "grep the news" = +lines diff -u all-10 all-11 | grep -E "^\+" > news-in-11.txt ## remove patterns "....modules-5.10.0-7 ..." sed -i.bak '/modules-5.10.0-7/d' ./copy.of_news-in-11.txt
整理新包的問題是許多包的描述文本也發生了變化。