在我执行 apt 更新后,vim、tar 或 xxd 等软件包都会更新。既然这些都比较稳定,为什么更新频繁呢?
答案1
这实际上与 UNIX/Linux 无关,而是与一般软件更新有关!
xxd
实际上是 vim 工具中的一个程序,所以很可能两者固有的东西都已经更新了vim
不是那稳定——它是一个中型到大型的代码库,并且总是会有错误需要修复。人们想要功能,人们想要vim
在 Ubuntu 22.10 上工作,所以这需要大量的工作。如果你查看vim的git历史你会发现平均每天有超过 5 个更改进入 vim 的源代码。所以,是的:将会有更新。- 即使软件中没有任何需要修复的错误,软件也依赖于其他软件来完成某些功能。例如,并不是每个可以通过 HTTP 读取数据的程序都想要实现 HTTP 本身(并且不仅浪费时间实现具有数千个可能 100% 兼容也可能不 100% 兼容的服务器的大型复杂标准),而是使用图书馆要做到这一点。有时,当此类库更新时,必须重新编译使用该库的软件。这迫使维护人员发送依赖于库的所有软件的更新(如果该库得到更新)。 (库作者和维护者试图避免这种情况!)
答案2
您正在查看哪个发行版?如果它是依赖于 Debian 软件包的发行版unstable
,您可能会以单独的更新形式获得每个小错误修复、功能添加和其他调整。
正如其他人提到的,vim
两者xxd
都来自相同的源代码包。以下是vim
Debian不稳定版源代码包变更日志中的最新三个条目:
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
源代码包的变更日志,因为这是用于构建这两个软件包的源代码xxd
和vim
二进制包。
答案3
我不太了解频繁,这有点主观……但即使工具的功能范围相当固定,也可能存在错误,即使严格意义上没有错误,也可能存在拼写错误手册页和类似的东西。
vim
是一个相当大、灵活且可扩展的软件,正在积极开发中,因此功能和错误修复都会更新。
tar
...好吧,至少,它偶尔会获得对新压缩格式的支持,这需要新的命令行开关。而且,文件系统在文件元数据方面变得如此复杂,以至于可能出现意外的行为或功能请求。 (我依稀记得很多年前,几乎所有工具都提供了-Z
处理 SELinux 标签之类的选项。)