Linux

為什麼 Vim、zip、tar 或 xxd 等相對穩定的程序會有更新?

  • April 27, 2022

在我進行 apt 更新後,會更新 vim、tar 或 xxd 等軟體包。既然這些都比較穩定,為什麼會頻繁更新呢?

你在看哪個分佈?如果它是一個依賴於 Debian 軟體包的發行版unstable,您可能會將每個小錯誤修復、功能添加和其他調整作為單獨的更新。

正如其他人提到的,vim兩者xxd都來自同一個原始碼包。vim因此,這裡是Debian 不穩定原始碼包更改日誌中的三個最新條目:

vim (2:8.2.4793-1) unstable; urgency=medium

 * Merge upstream patch v8.2.4793

-- James McCoy <jamessan@debian.org>  Wed, 20 Apr 2022 20:23:54 -0400

vim (2:8.2.4659-1) unstable; urgency=medium

 * Merge upstream patch v8.2.4659
   + 8.2.4151: reading beyond end of a line (Closes: #1004859, CVE-2022-0318)
   + autoload/phpcomplete.vim: Fix E565 error in omni-completion (Closes:
     #1008710)
 * Remove outdated NEWS and README.Debian entries
 * README.Debian: Fix links to vim-policy
 * Improve docs about purpose and effect of defaults.vim (Closes: #856273)
 * Define system (g)vimrc location as /etc/vim/(g)vimrc, rather than
   symlinking from /usr/share/vim/(g)vimrc -> /etc/vim/(g)vimrc.
 * Replace vim-athena with vim-motif, Athena GUI deprecated upstream
 * Remove lintian override for rgb.txt, removed upstream
 * Declare compliance with Policy 4.6.0, no changes needed
 * Remove vim-gtk transitional package

-- James McCoy <jamessan@debian.org>  Sun, 03 Apr 2022 10:44:13 -0400

vim (2:8.2.3995-1) unstable; urgency=medium

 * Merge upstream patch v8.2.3918
   + 8.2.3610: crash when ModeChanged triggered too early (Closes: #1001900,
     CVE-2021-3968)
   + 8.2.3611: crash when using CTRL-W f without finding a file name (Closes:
     #1001899, CVE-2021-3973)
   + 8.2.3612: using freed memory with regexp using a mark (Closes: #1001897,
     CVE-2021-3974)
   + 8.2.3625: illegal memory access when C-indenting (Closes: #1001896,
     CVE-2021-3984)
   + 8.2.3847: illegal memory access when using a lambda with an error
     (Closes: #1002534, CVE-2021-4136)
   + autoload/zip.vim: Use URI syntax for pseudo-filename to avoid empty
     buffer after 8.2.3468 (Closes: #1000767)
 * Revert "Disable Test_very_large_count since it fails on 32-bit systems",
   fixed upstream

-- James McCoy <jamessan@debian.org>  Mon, 03 Jan 2022 17:57:10 -0500

同樣對於tar

tar (1.34+dfsg-1) unstable; urgency=medium

 * New upstream version

-- Janos Lenart <ocsi@debian.org>  Wed, 17 Feb 2021 09:55:26 +0000

tar (1.33+dfsg-1) unstable; urgency=medium

 * New upstream version
 * Removed unsafe escaping from mailcap-entry; closes: #982614
 * Fixed trailing whitespaces in debian/{changelog,control,rules}

-- Janos Lenart <ocsi@debian.org>  Fri, 12 Feb 2021 15:15:21 +0000

tar (1.32+dfsg-1) unstable; urgency=medium

 * New upstream version; closes: #892273
 * Huge thanks to Bdale for maintaining tar since 1995; closes: #973844

-- Janos Lenart <ocsi@debian.org>  Fri, 20 Nov 2020 09:52:51 +0000

您可以很容易地找到 Debian 的特定軟體包變更日誌:轉到https://packages.debian.org/unstable/<package name>,您將獲得軟體包詳細資訊頁面。然後轉到右側邊欄並從那裡選擇“Debian Changelog”。

如果您為xxd軟體包執行此操作,您將xxd照常看到軟體包詳細資訊,但該頁面上的“Debian 變更日誌”連結將自動將您定向到vim原始碼包的變更日誌,因為這是用於建構兩者的原始碼xxdvim二進制包。

這實際上與 UNIX/Linux 無關,而與一般的軟體更新有關!

  1. xxd實際上是來自 vim 工具的程序,所以很可能兩者固有的東西已經更新
  2. vim不是那麼穩定——它是一個中型到大型的程式碼庫,並且總是有需要修復的錯誤。人們想要功能,人們想要vim在 Ubuntu 22.10 上工作,因此需要做很多工作。如果您查看 vim 的 git 歷史,您會發現平均每天有超過 5 次更改使其成為 vim 的原始碼。所以,是的:會有更新。
  3. 即使軟體中沒有要修復的錯誤,軟體也依賴其他軟體來完成某些功能。例如,不是每個可以通過 HTTP 讀取數據的程序都想實現 HTTP 本身(不僅浪費時間實現一個龐大而復雜的標準,該標準有數千個可能 100% 兼容也可能不兼容的伺服器),而是使用來做到這一點. 有時,當這樣的庫更新時,必須重新編譯使用該庫的軟體。如果該庫得到更新,這將迫使維護人員根據庫發送所有軟體的更新。(圖書館作者和維護者盡量避免這種情況!)

引用自:https://unix.stackexchange.com/questions/700538