我只是清空目录/ tmp,并想知道是否还有其他要清除的位置。
#1 楼
sudo apt-get autoremove
可以清除掉许多已更换的污垢(旧内核等)。您可以在Synaptic中执行类似操作(将其加载并选择状态按钮,然后选择“自动删除”选项)。
评论
它是否不会影响正在运行的应用程序,例如是否删除了任何应用程序所依赖的必需软件包?
–user3215
2010-10-11 13:54
不会。Autoremove会查找孤立的软件包,也就是说,您没有明确安装自己的软件包(标记为auto的软件包)并且没有依赖性。如果您使用aptitude而不是apt-get,它可以随您进行清理,但是在较旧的安装中,随着安全更新的发布,通常会收集大量已安装的内核。
–奥利♦
2010-10-11 14:03
我最近的评论中有错字。我的意思是说孤立的软件包是不依赖的软件包,而不是“没有依赖”的软件包。它们很可能具有依赖关系,如果它们仅在那个孤立的程序包中存在,它们也将被删除。有时(使用非常深的依赖树)可能需要几个自动删除才能清除。
–奥利♦
2010-10-11 14:28
尽管上面的命令肯定有用,但是如上所述,它不会删除旧内核。这必须手动完成或使用其他工具(如Ubuntu Tweak)完成。
–编码
13年8月17日在8:33
@nyarlathotep它将删除内核头文件,乍一看可能会使人认为它正在删除旧内核-但是仍然保留旧内核(尝试dpkg --get-selections | grep linux-image)。
– drevicko
2013年1月1日23:55
#2 楼
删除已安装(不再需要)的已下载软件包(.deb)。sudo apt-get clean
删除缓存中所有无法再下载的软件包的存档(因此,不再在存储库中的软件包或在存储库中具有较新版本的软件包。
sudo apt-get autoclean
要删除不必要的软件包(卸载应用程序后,可能会有软件包您不再需要)
sudo apt-get autoremove
删除旧内核版本
sudo apt-get remove --purge linux-image-X.X.XX-XX-generic
如果您不需要不知道要删除哪个内核版本
dpkg --get-selections | grep linux-image
来源:Limpiando Ubuntu:comandos y programas(actualización)(谷歌翻译)
评论
运行清理释放了相当多的空间。此后,我立即运行自动清理,我的可用空间减少了45MB。再次运行干净释放了此额外空间。
–德鲁·诺克斯(Drew Noakes)
13年3月11日,0:59
我删除了dpkg --get-selections |列出的所有Linux映像。 grep linux-image导致我启动错误-ubuntu从grub启动菜单中消失了-这个答案解决了问题-尝试不删除最新的映像
–laplasz
2013年12月25日18:00
删除Linux映像时,我们到底在做什么?
–最佳素数
2014年4月23日下午13:40
好的,这已经被回答了100次(在这个线程中也是&),但是我被投票160次真的很奇怪,因为:sudo apt-get clean它会-简单地-删除软件包的所有本地副本安装和升级时可能已下载的软件包。这几乎将/ var / cache / apt / archives目录清空。 ...因此,下次您运行sudo apt-get update时,它将重新下载所有内容(已经存在)。单挑!.. :)
– Nostromov
17年5月18日在21:43
#3 楼
显示当前目录中的前10个最大子目录。
du -sk * | sort -nr | head -10
使用filelight或kDirStat直观地查看磁盘空间的位置
检查是否有要删除的旧内核
ls -lh /boot
清洁软件包
sudo apt-get autoremove
sudo apt-get autoclean
请参阅所有已安装软件包的列表,按大小排序。如果看到很大的东西并且不使用它-卸载它
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
用翻译清理未使用的语言文件(有很多)
sudo apt-get install localepurge
检查/ var / tmp /
的内容
du -sh /var/tmp/
还检查
man deborphan
搜索大文件:
find / -type f -size +1024k
或
find / -size +50000 -exec ls -lahg {} \;
已安装的大型软件包
dpigs
这是软件包的一部分:debian-goodies
评论
要查找大文件,我建议使用ncdu,它提供了一种快速的方法来查看正在使用磁盘空间的目录
–rubo77
15年1月22日在5:18
kDirStat替换为猴面包树
–rubo77
15年1月22日在6:23
#4 楼
我只是通过删除旧的内核和头文件释放了将近2个演出:使用
uname -r
检查当前版本,然后
dpkg -l linux-image-* linux-headers-*
要查看所有旧内核和头文件,然后
sudo apt-get remove linux-image-<XYZ> linux-headers-<XYZ>
apt-get remove
命令支持通配符,因此您可以执行apt-get remove linux-image 3.0.* linux-headers-3.0.*
,例如一次删除许多。请确保您不会杀死删除当前内核!也许保留一个或两个旧版本,以防万一...但不要保留10或20个!
评论
关于通配符?在使用它之前,我会仔细检查一下,因为我尝试了一下,并且得到了比我想要的更多的东西。我有可能(也许甚至有可能)以某种方式进行填充,但是我不知道如何,但是我丢失了比我想要的标题更多的标题。
– glaucon
16-10-25在21:28
通配符是正则表达式通配符,而不是glob。
–柴T.雷克斯
18-09-24在15:04
#5 楼
不要忘记清空垃圾箱。或者从命令行:
rm -r ~/.local/share/Trash/info/ && rm -r ~/.local/share/Trash/files/
#6 楼
我真的建议您使用程序BleachBit,该程序可在Ubuntu上清除所有内容。使用以下命令安装它:
sudo apt-get install bleachbit
#7 楼
自动删除所有旧内核版本注意:如果您刚刚升级了内核,请在删除旧版本之前重新启动!
记住检查您正在使用的内核类型:
uname -r
然后以root身份:
sudo apt-get remove --purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)//")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*//;/[0-9]/!d')
将该线程读取为请确保不要使用此命令删除所需的内核!
#8 楼
卸载不使用的大型软件包某些软件包可能很大。查找这些内容的简便方法是使用
dpigs
。默认情况下未安装它,但可以在debian-goodies
(GitHub项目)中找到sudo apt-get install debian-goodies
然后:
$ dpigs
419576 texlive-latex-extra-doc
204112 nvidia-319
175463 google-chrome-stable
141058 linux-image-extra-3.11.0-15-generic
113173 libreoffice-core
104822 valgrind
102322 qt4-doc
93337 blender
91105 texlive-pstricks-doc
90517 libboost1.53-dev
有一些选项:
-n, --lines=N
Display the N largest packages on the system (default 10).
-s, --status=status-file
Use status-file instead of the default dpkg status file.
-S, --source
Display the largest source packages of binary packages installed
on the system.
-H, --human-readable
Display package sizes in human-readable format (like ls -lh or du -h)
-h, --help
Display this message.
#9 楼
还要检查大量日志文件:sudo du -h /var/log
或者如rubo77所指出的那样,您可以使用NCurses磁盘使用工具:
sudo ncdu /var/log
评论
方便的命令,其中列出了文件大小,而不是“日志文件数”
– Dogmatic69
2014年1月18日在20:42
或使用sudo ncdu / var / log
–rubo77
15年1月22日在5:20
@ rubo77,谢谢,这是一个非常好的工具!
–德鲁·诺克斯(Drew Noakes)
15年1月22日在12:42
#10 楼
如果使用UFW,请检查日志文件夹。在我的一台计算机上,UFW在几天内生成了8Gb日志。还可以使用以下方法清空apt缓存:
sudo apt-get clean
评论
我可以找到UfW日志文件吗?
–好奇的学徒
2012年5月8日13:51
#11 楼
尝试使用BleachBit(位于sourceforge)。这是一个很棒的程序。的基本思想是,它可以快速释放磁盘空间并清除系统中隐藏的许多垃圾。它可以识别和擦拭大约70个应用程序。还可以使用它“擦除”可用磁盘空间。我将其视为仅适用于Linux的Windows中的CCleaner。
评论
请注意,该问题专门询问服务器工具,并且这是一个桌面程序(需要X显示)。
–瑞尔
2015年5月6日14:59
到目前为止最好的工具!
–罗杰
17 Mar 4 '17 at 16:41
#12 楼
清洁程序脚本此脚本将在控制台上执行最大的块:
清洁apt缓存
删除卸载的.deb程序包中剩下的配置文件(如果您不将
--purge
开关与apt-get
一起使用,则会发生这种情况)删除除您使用的内核之外的所有内核
清空每个用户(包括root)的垃圾信息
创建一个具有此内容的文件并赋予其可执行权限:
#!/bin/bash
# Adapted from 71529-ubucleaner.sh - http://www.opendesktop.org/CONTENT/content-files/71529-ubucleaner.sh
OLDCONF=$(dpkg -l|grep "^rc"|awk '{print }')
CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)"
METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
OLDKERNELS=$(dpkg -l|awk '{print }'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
YELLOW="3[1;33m"; RED="3[0;31m"; ENDCOLOR="3[0m"
if [ $USER != root ]; then
echo -e $RED"Error: must be root! Exiting..."$ENDCOLOR
exit 0
fi
echo -e $YELLOW"Cleaning apt ..."$ENDCOLOR
aptitude clean
apt-get autoremove
apt-get autoclean
echo -e $YELLOW"Those packages were uninstalled without --purge:"$ENDCOLOR
echo $OLDCONF
#apt-get purge "$OLDCONF" # fixes the error in the original script
for PKGNAME in $OLDCONF ; do # a better way to handle errors
echo -e $YELLOW"Purge package $PKGNAME"
apt-cache show "$PKGNAME"|grep Description: -A3
apt-get -y purge "$PKGNAME"
done
echo -e $YELLOW"Removing old kernels..."$ENDCOLOR
echo current kernel you are using:
uname -a
aptitude purge $OLDKERNELS
echo -e $YELLOW"Emptying every trashes..."$ENDCOLOR
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
rm -rf /root/.local/share/Trash/*/** &> /dev/null
echo -e $YELLOW"Script Finished!"$ENDCOLOR
改编自71529-ubucleaner.sh
查找大文件夹并软件包
一些工具可以帮助您找到大文件夹和软件包:
sudo apt-get install ncdu debian-goodies deborphan
sudo ncdu / # lists all folders by size on the console (like the gui `baobab`)
dpigs -H # shows large packages that you don't use
man deborphan # finds packages that have no packages depending on them
deborphan --guess-all --libdevel | xargs apt-get -s purge
localepurge
>使用localepurge卸载系统中未使用的语言:
sudo apt-get install localepurge
删除旧的快照映像
LANG=c snap list --all | awk '/disabled/{print , }' | \
while read snapname revision; do \
snap remove "$snapname" --revision="$revision"; \
done
bleachbit
一个满足所有需求的出色图形GUI工具:
sudo apt-get install bleachbit
删除手册页并说明文件
广告按照惯例,您可以按照Ubuntu Wiki中所述删除手册页和文档:
创建一个文件/etc/dpkg/dpkg.cfg.d/01_nodoc,该文件指定所需的过滤器。示例:
path-exclude /usr/share/doc/*
# if we need to keep copyright files for legal reasons:
# path-include /usr/share/doc/*/copyright
path-exclude /usr/share/man/*
path-exclude /usr/share/groff/*
path-exclude /usr/share/info/*
# lintian stuff is small, but really unnecessary
path-exclude /usr/share/lintian/*
path-exclude /usr/share/linda/*
在项目配置的postinst中删除相同的文件和目录集。示例:
echo "Removing documentation..."
# if we need to keep copyright files for legal reasons:
# find /usr/share/doc -depth -type f ! -name copyright | xargs rm || true
# else:
find /usr/share/doc -depth -type f | xargs rm || true
rm -rf /usr/share/man/* /usr/share/groff/* /usr/share/info/* /usr/share/lintian/* /usr/share/linda/* /var/cache/man/*
评论
根据您的情况,您可以在此脚本中找到更多选项:github.com/box-cutter/debian-vm/blob/master/script/minimize.sh
–rubo77
2015年2月3日在13:20
我在执行此脚本时收到警告,即将删除与我运行的版本号相同的内核。
–克里斯托弗·德·特罗耶(Christophe De Troyer)
17年3月13日在13:01
用uname -a检查当前使用的内核。如果您之前刚刚执行过apt-get ugrade并获得了新内核,则可能是由于您使用的当前内核不是已安装的最新内核?然后重新启动此脚本
–rubo77
17 Mar 14 '17:25
minimal.sh脚本已移动:github.com/boxcutter/debian/blob/master/script/minimize.sh
–rubo77
19年4月4日在2:51
#13 楼
首先,有一个列出所有大文件夹和文件的工具。只需在启动器中输入“ Baobab”即可。通过删除文件夹和文件,您不需要更多的空间。然后,有一个用于删除重复文件的程序。该程序称为
fslint
。通过在终端中输入
sudo apt-get install fslint
进行安装。
或以图形方式
您还可以使用
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
清除软件包缓存。第四步是删除旧的内核条目。您可以通过安装并打开Synaptic来执行此操作。在Synaptic中,搜索旧的内核条目(GRUB中显示的每个内核条目,除了最新的),然后将其删除。
不错的步骤是删除应用程序缓存。通过安装和运行
bleachbit
来执行此操作:sudo apt-get install bleachbit
或以图形方式
重要:无法删除已删除的缓存恢复!
最后一步是对文件系统进行碎片整理。
为此执行以下操作:
cd $HOME
git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
cd e2fsprogs
./configure
make
使用这些命令,您可以下载并编译e2fsprogs。 (如果您或社区有更好的方法来安装程序,请编辑!)
还请确保已安装
git-core
。 如果不是,请执行:
sudo apt-get install git-core
,或使用软件中心
现在,您可以使用以下程序运行程序:
cd $HOME/e2fsprogs/misc
./e4defrag /dev/sda1 #defragment /dev/sda1
./e4defrag -v /dev/sda1 # verbose output
./e4defrag -c /dev/sda1 # see overview of fragmentation status
将/ dev / sda1替换为所需的文件系统或文件夹/文件。
请注意,要对设备(例如HDD)进行碎片整理,您需要root特权,但不适用于您自己的文件。
来源(德语):此处
评论
哇,删除旧的linux-header和linux-image版本可以在我的10.04安装中释放大约一个半小时。 fslint也是一个很好的发现。谢谢。
–braddock
2012年7月15日23:13
除了baobab之外,您还可以使用命令行工具ncdu查找大文件夹和文件:sudo apt-get install ncdu
–rubo77
15年1月22日在5:19
#14 楼
除非绝对必要,否则永远不要手动清理'/ tmp'目录(即,已关闭的应用程序自身不会清理)。您可以使用'du'命令;通常,名胜古迹位于“ / var”内部。列举两个通常的可疑对象“ / var / log”和“ / var / cache”。尽管我有一些安装了备份实用程序的用户,却从未意识到它会在'/ var / backup'中创建GB的增量备份,这些增量备份会在一周或一个月内建立起来以填满整个磁盘空间。
评论
谢谢!。如您所说,我在/ var / cache下的MB中占据了一些空间,想知道如何删除不必要的文件。
–user3215
2010-10-11 14:13
#15 楼
使用ubuntu-tweak进行清理。清理所有下载到安装应用程序的* .deb。
评论
不适用于KDE
–rubo77
13-10-29在8:10
#16 楼
如果您已经删除了很多垃圾但磁盘空间似乎并未清除,请重新启动ubuntu。或者,如果您不想重新启动,只需运行类似问题中的命令即可。sudo service rsyslog restart
#17 楼
当我需要在服务器上腾出更多可用空间时,请使用此命令。它发现所有大于50 MB的文件,“ du -h”使文件列表更好,而“ pipe -make”列表按文件大小按数字排序后,则“ sort -n”更好。find / -size +50M -type f -exec du -h {} \; | sort -n
评论
您最好使用ncdu /代替灰尘
–rubo77
15年2月3日,13:34
给定du -h,也请使用sort -h。
–muru
2015年2月3日,13:56
#18 楼
您可以尝试清除缓存和错误报告,当我第一次尝试时有大约5个这样的垃圾。我使用stacer。您也可以手动进行操作。安装stacer
sudo apt install stacer
< br stacer是一个gui应用程序,因此您会知道该怎么做。
如果您不这样做
启动stacer,然后单击系统清洁程序(上面有扫帚图标)单击全选,然后单击放大镜,选择要删除的内容,然后再次单击扫帚图标
评论
也尝试以下方法:dpkg -l | grep ^ rc |切-d''-f3 | xargs sudo apt-get清除-y如果您使用的是docker:docs.docker.com/config/pruning
在许多情况下:sudo docker容器prune -f && sudo docker image prune -f
@crsuarezf想要对此做些解释吗?