为什么 Vim、zip、tar 或 xxd 等相对稳定的程序会有更新?

为什么 Vim、zip、tar 或 xxd 等相对稳定的程序会有更新?

在我执行 apt 更新后,vim、tar 或 xxd 等软件包都会更新。既然这些都比较稳定,为什么更新频繁呢?

答案1

这实际上与 UNIX/Linux 无关,而是与一般软件更新有关!

  1. xxd实际上是 vim 工具中的一个程序,所以很可能两者固有的东西都已经更新了
  2. vim不是稳定——它是一个中型到大型的代码库,并且总是会有错误需要修复。人们想要功能,人们想要vim在 Ubuntu 22.10 上工作,所以这需要大量的工作。如果你查看vim的git历史你会发现平均每天有超过 5 个更改进入 vim 的源代码。所以,是的:将会有更新。
  3. 即使软件中没有任何需要修复的错误,软件也依赖于其他软件来完成某些功能。例如,并不是每个可以通过 HTTP 读取数据的程序都想要实现 HTTP 本身(并且不仅浪费时间实现具有数千个可能 100% 兼容也可能不 100% 兼容的服务器的大型复杂标准),而是使用图书馆要做到这一点。有时,当此类库更新时,必须重新编译使用该库的软件。这迫使维护人员发送依赖于库的所有软件的更新(如果该库得到更新)。 (库作者和维护者试图避免这种情况!)

答案2

您正在查看哪个发行版?如果它是依赖于 Debian 软件包的发行版unstable,您可能会以单独的更新形式获得每个小错误修复、功能添加和其他调整。

正如其他人提到的,vim两者xxd都来自相同的源代码包。以下是vimDebian不稳定版源代码包变更日志中的最新三个条目:

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

  * Merge upstream patch v8.2.4793

 -- James McCoy <[email protected]>  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 <[email protected]>  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 <[email protected]>  Mon, 03 Jan 2022 17:57:10 -0500

同样对于tar

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

  * New upstream version

 -- Janos Lenart <[email protected]>  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 <[email protected]>  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 <[email protected]>  Fri, 20 Nov 2020 09:52:51 +0000

您可以很容易地找到 Debian 特定于软件包的变更日志:访问https://packages.debian.org/unstable/<package name>,您将获得软件包详细信息的页面。然后转到右侧边栏并从那里选择“Debian Changelog”。

如果您对软件包执行此操作xxd,您将像往常一样看到软件包详细信息xxd,但该页面上的“Debian Changelog”链接将自动将您定向到vim源代码包的变更日志,因为这是用于构建这两个软件包的源代码xxdvim二进制包。

答案3

我不太了解频繁,这有点主观……但即使工具的功能范围相当固定,也可能存在错误,即使严格意义上没有错误,也可能存在拼写错误手册页和类似的东西。

vim是一个相当大、灵活且可扩展的软件,正在积极开发中,因此功能和错误修复都会更新。

tar...好吧,至少,它偶尔会获得对新压缩格式的支持,这需要新的命令行开关。而且,文件系统在文件元数据方面变得如此复杂,以至于可能出现意外的行为或功能请求。 (我依稀记得很多年前,几乎所有工具都提供了-Z处理 SELinux 标签之类的选项。)

相关内容