Answers:
最容易的是跑步wajig large
。该软件包应为apt-install
-away。
这是其他方法的两个链接:
还要记住,安装的大小只是软件包占用空间的一部分。压缩版本可能仍在缓存中,这也占用了一些空间。您可以使用将其删除apt-get clean
。
apt-get clean
。“清除检索到的软件包文件的本地存储库” – man apt-get
最简单的方法(不安装额外的软件包)是:
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n
它按大小顺序显示包裹,最后一个包裹。
不幸的是,在至少某些系统上,此列表包括已删除但尚未清除的软件包。可以通过运行以下命令清除所有此类软件包:
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge
或者,如果您不想清除已卸载的软件包,则可以使用此变体从列表中过滤掉未处于“已安装”状态的软件包:
dpkg-query -Wf '${db:Status-Status} ${Installed-Size}\t${Package}\n' | sed -ne 's/^installed //p'|sort -n
既然您想see which [installed] software packages use the most disk space[,] from aptitude
...当然可以使用aptitude
!通过其CLI或{interactive,TUI,non-CLI}来实现。让我们先讨论CLI,然后再讨论TUI。无论哪种方式,您只需要知道
最基本的命令行来显示哪些已安装的软件包使用了最多的磁盘空间
aptitude search --sort '~installsize' --display-format '%p %I' '~i' | head
所以让我们分解一下:
--sort
是程序包排序顺序,并~installsize
指定程序包排序策略。installsize
表示“排序(估计的)安装大小”,而前面的~
表示排序降序(因为所有排序策略的默认值都是升序的)。--display-format
更改<you guessed :->
。该格式字符串 '%p %I'
告诉aptitude
输出包的名称,然后安装尺寸。'~i'
告诉aptitude
您仅搜索已安装的软件包。head
或less
或文件,或者只是wc -l
看看有多少行aptitude
会被返回。您可能还想
aptitude
显示时要使用的行宽(以字符为单位)--width <your desired integer value/>
。aptitude
将默认设置为您认为的终端宽度,但有时会猜错,有时您想写入文件等。在格式字符串中显示更多信息,或更改字段宽度。例如,我的增强格式字符串'%30p %I %r %60d'
显示
%30p
:包名称(字段宽度= 30个字符)%I
:估计安装大小%r
:'反向取决于计数':取决于此软件包的其他已安装软件包的大约数量%60d
:包的简短说明,字段宽度= 60个字符请注意,如果在输出字段中看不到更改,则可能需要设置--width
。
...,您也可以在{interactive,TUI}中进行此类操作aptitude
。例如,设置显示格式首选项,
%I
在所需位置添加到当前值要将搜索范围限制为交互式中已安装的软件包aptitude
,
L
)~i
在对话框中输入要在互动广告中按已安装的大小进行排序aptitude
,
S
)installsize
在对话框中输入参考文献:
aptitude
软件包搜索模式的信息,请参见https://aptitude.alioth.debian.org/doc/zh/ch02s04s05.html#tableSearchTermQuickGuideaptitude
程序包排序策略的信息,请参见https://aptitude.alioth.debian.org/doc/zh/ch02s05s01.html#secSortingPolicyaptitude
输出显示格式的信息,请参见https://aptitude.alioth.debian.org/doc/zh/ch02s05s01.html#secDisplayFormat*texlive*
?
aptitude -s remove '?and(texlive,~i)'
不够吗?另外,您可以将用户标签添加到某些程序包中,以便可以整体操作它们(如任务)。
如果您不想安装wajig。我想每个人都安装了debian-goodies:
dpigs - Show which installed packages occupy the most space
dpigs
实际上具有与相同的结果dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr | head
,后者是已安装的软件包中占据最大空间的前十名。仍然,dpigs
简单而简短。
首先,使用像一个工具baobab
(sudo apt-get install baobab
)向您展示其中正在使用该空间:
这将为您提供漂亮的图形概述,并帮助您缩小占用空间的范围。您还可以使用du
以下命令在命令行上获取此信息:
$ sudo du -ch /
通过此传递sort
(假设GNU sort
,在Debian中应该是这种情况)按目录大小排序:
$ sudo du -ch / | sort -h
下一步,您可以使用以下命令查看特定程序包正在使用多少空间:
$ sudo apt-get --assume-no --purge remove "PACKAGE_NAME" | grep "be freed" |
awk '{print $4, $5}'
例如,在我的系统上,删除所有texlive
软件包将释放1,502 MB的空间:
$ sudo apt-get --assume-no --purge remove "texlive*" | grep "be freed" |
awk '{print $4, $5}'
1,502 MB
最后,您可以使用以下命令获取所有已安装软件包的信息:
$ for i in $(dpkg -l | awk '($1=="ii"){print $2}'); do
echo -e "$i\t"$(sudo apt-get --assume-no --purge remove "$i" |
grep "be freed" | awk '{print $4, $5}');
done
添加到其他答案,如果您喜欢命令行,则可以使用旧版 durep
# durep -td 1 /etc # or -td 2
[ /etc 319.4K (60 files, 43 dirs) ]
90.2K [######## ] 28.26% apache2/
27.5K [## ] 8.62% apt/
23.7K [## ] 7.43% mime.types
19.7K [# ] 6.18% cron.daily/
18.7K [# ] 5.87% services
18.0K [# ] 5.64% security/
14.7K [# ] 4.61% init.d/
13.2K [# ] 4.13% ssl/
11.1K [# ] 3.48% ld.so.cache
9.0K [ ] 2.81% locale.gen
7.8K [ ] 2.43% pam.d/
4.5K [ ] 1.42% default/
4.3K [ ] 1.35% skel/
2.9K [ ] 0.92% locale.alias
您可以使用以下方法释放空间 localepurge
# dpkg-reconfigure localepurge
# localepurge
localepurge: Disk space freed in /usr/share/locale: 26160 KiB
localepurge: Disk space freed in /usr/share/man: 1304 KiB
Total disk space freed by localepurge: 27464 KiB
最后,您可能会摆脱有时会占用大量空间的图标和字体。在此网站上查看详细信息
https://ownyourbits.com/2017/02/18/squeeze-disk-space-on-a-debian-system/
(示例摘自ownyourbits)
dpkg-reconfigure localepurge
抱怨localepurge
软件包不可用。
增加了更多的工具列表中,我一直使用debfoster
,并deborphan
在我的系统。它们对于寻找升级后仍然存在的旧依赖性非常有用。
apt-get autoremove
很棒,但是并不能得到所有东西,而且由于它遵循安装标记,因此它并不总是知道您希望保留什么。不过,使用apt-mark
可以将其定向到某种程度。
虽然这是一个不错的工具集合,但我会在其中添加KDE / QT Filelight,这与其他gui磁盘空间使用工具类似,但这并不是主题标题的字面答案。
如果从字面上看这个线程的问题,也就是说,系统中最大的软件包通常是:
libreoffice软件包套件,它不是单个软件包,但确实很大。
我认为linux内核和相关的头文件包是第二位的,如果您安装了大多数系统倾向于安装的多个内核,则每个内核都在我周围大约135 mB磁盘空间每年会增加,但是这个数目很大。如果您使用非免费的视频驱动程序,那么也会有相关的驱动程序包/文件。请注意,与libreoffice一样,每个内核实际上可以由2或3个程序包(图像,标头和驱动程序程序包)组成,因此每个程序包大小计数的字面值实际上并没有那么精确,除非有一个粗略的含义。
在那之后,我知道Debian的软件包池中没有大量的大型软件包。
我发现,一旦根分区开始变得足够大,以至于您开始想知道如何删除软件包以缩小它,通常是时候将移动/调整大小到更大的根分区了。
apt-get clean当然是要清除所有缓存的.deb文件的第一件事,但是一旦删除了该文件,并且几乎说了2个内核,那么如果您仍然没有足够的空间,那它就更多了。增大分区的大小非常实用,因为清理等只是危险信号,您正在接近根分区空间,如果apt在/ var中没有足够的空间来实际下载和提取软件包,这可能是一个真正的问题。升级。通过清除操作清除已删除软件包中的剩余配置文件,因为它们很小,所以在重新获得磁盘空间方面根本没有任何好处,但现在最好只是清理碎片,但这样做不应该。不要误以为实际上重新获得了任何有意义的磁盘空间。
apt-get auto-remove也不错,但是请注意,有时删除软件包是错误的,因此您在apt删除内容之前要仔细检查该列表。从技术上讲,最好清除该列表,这样一来,您也可以同时删除配置文件,删除或自动删除(我相信会保留它们)。