我正在开发一个后继者,auto-apt
它索引包使用的包信息apt
并跟踪这些包中包含的文件的 I/O 请求作为程序包装器并自动安装它们。
所以我想知道Ubuntu大概有多少个包(10个就够了),这样我就可以对算法复杂度做一些估计。
原始代码似乎几十年未维护,并且在最后一个知道的地址下无法联系到作者(我写给他〜一年前,但他没有回复)。该程序似乎已在 17.10 被踢出 Ubuntu。此外,代码完全没有注释和测试(请不要那样做!),我需要猜测树状数据结构的目的是什么(可能是一个编程挑战)以及我是否可以只需将其替换为快速的第三方键值实现即可。
在我的 17.10 系统上,我
apt install
在 1,360 个软件包apt list --installed | wc -l
( 每个包平均大约有 133 个文件/目录。17.10 ( ) 中有 58,108 个包
apt list | grep -c artful
,因此假设我安装的包具有代表性,这会产生大约 7,749,038 个文件和目录。该
apt-file
命令可用于查找提供给定文件的包。您需要运行apt-file update
以便它可以下载文件列表,并且:Contents-amd64.gz
压缩后的 31 MB 文件也是如此。在 Vim 中打开它,我看到它有 5400831 行,在这个标题中大约有 30 行:所以,我们有:
540 万个文件,给或拿几个。