使用 popcon-largest-unused 命令来调查未使用的 Debian 软件包
简略概述
-
- popularity-contest パッケージをインストールして、 popcon-largest-unused コマンドで未使用のパッケージを調べる。
- 今回の環境: Debian 9 (stretch)
从Debian 9 (stretch)升级至第4章
如果安装了popularity-contest,可以通过使用popcon-largest-unused来获取占据大量空间但未使用的软件包列表。
安装popularity-contest软件包。
# apt install popularity-contest
生成/var/log/popularity-contest
如果安装了popularity-contest软件包并且等了一段时间,那么我认为/var/log/popularity-contest已经存在了。
Debian – 关于stretch的popularity-contest软件包的详细信息
popularity-contest 包是一个设置定期匿名地向 Debian 开发人员发布有关在系统中使用最广泛的 Debian 包的统计数据的 cron 作业。
如果/var/log/popularity-contest文件不存在,则在输入popcon-largest-unused命令时会显示警告消息。
# popcon-largest-unused
warning: Missing required file /var/log/popularity-contest.
info: Run 'popularity-contest > /var/log/popularity-contest' to generate it.
如果 /var/log/popularity-contest 不存在,将 popularity-contest 命令的结果重定向并输出。
# popularity-contest > /var/log/popularity-contest
使用 popcon-largest-unused 命令输出未使用包的清单。
输入 popcon-largest-unused 命令,将按照大小顺序输出未使用包的列表。
# popcon-largest-unused
188502 linux-image-4.9.0-8-amd64
106734 llvm-3.8-dev
90436 libicu-dev
86183 llvm-3.5-dev
85325 clang-3.8
72174 clang-3.5
53292 libpython3.5-dev
40662 libpython2.7-dev
29838 libclang-common-3.8-dev
27583 vim-runtime
25114 gcc-6
23930 g++-6
23353 binutils
22665 cpp-6
(以下略)
我在这个环境中发现,Linux内核的软件包linux-image-4.9.0-8-amd64是最大的,所以我进行了调查。
使用dpkg命令输出linux-image软件包的列表。
# dpkg -l linux-image-*
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前 バージョン アーキテクチャ 説明
+++-===================-==============-==============-===========================================
rc linux-image-3.16.0- 3.16.51-3 amd64 Linux 3.16 for 64-bit PCs
rc linux-image-3.16.0- 3.16.51-3+deb8 amd64 Linux 3.16 for 64-bit PCs
rc linux-image-4.9.0-5 4.9.65-3+deb9u amd64 Linux 4.9 for 64-bit PCs
rc linux-image-4.9.0-6 4.9.88-1+deb9u amd64 Linux 4.9 for 64-bit PCs
rc linux-image-4.9.0-7 4.9.110-3+deb9 amd64 Linux 4.9 for 64-bit PCs
ii linux-image-4.9.0-8 4.9.144-3.1 amd64 Linux 4.9 for 64-bit PCs
ii linux-image-4.9.0-9 4.9.168-1+deb9 amd64 Linux 4.9 for 64-bit PCs
ii linux-image-amd64 4.9+80+deb9u7 amd64 Linux for 64-bit PCs (meta-package)
根据uname命令的结果进行比对,确实没有使用linux-image-4.9.0-8。目前使用的是比这个版本更新的linux-image-4.9.0-9-amd64。
# uname -a
Linux my-host-name 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u4 (2019-07-19) x86_64 GNU/Linux
popcon-largest-unused 命令的手册
男人popcon-largest-unused命令的部分结果如下:
名称
popcon-largest-unused – 列出未使用的软件包大小语法
popcon-largest-unused描述
该程序基于由popularity-contest报告的未使用软件包列表,从APT缓存中提取软件包大小,并按照大小排序列出未使用的软件包。
人气竞赛命令的手册
以下是 man popularity-contest 命令的一部分结果。
名称
popularity-contest – 列出最受欢迎的Debian软件包概要
popularity-contest描述
popularity-contest命令收集关于系统上安装的Debian软件包的信息,并将该软件包中最近使用的可执行程序的名称以及其上次访问时间(atime)和最后属性更改时间(ctime)打印到stdout。当将来自许多其他系统的popularity-contest的输出聚合在一起时,这些信息非常有价值,因为它可以用于确定常见安装、使用或安装后从未使用的Debian软件包。这有助于Debian维护者做出决策,例如在新系统上应默认安装哪些软件包。
产生的统计数据可从项目主页http://popcon.debian.org/获取。
通常,popularity-contest是从cron(8)作业/etc/cron.daily/popularity-contest中运行的,它根据/etc/popularity-contest.conf和/usr/share/popularity-contest/default.conf中的设置,每周自动将结果提交给Debian软件包维护者一次。