我的Ubuntu云服务器只剩下900MB的磁盘空间。
我只是清空目录/ tmp并想知道是否还有其他位置要清理。
Sudo apt-get autoremove
这可以清除已经被替换的许多guff(旧内核等)。您可以在Synaptic中执行类似的操作(加载它并选择状态按钮,然后选择Auto-removeable选项)。
删除已安装的已下载软件包(.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) ( google翻译 )
显示当前目录中十大最大的子目录。
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
我只是通过删除旧内核和头文件释放了近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!
不要忘记清空垃圾箱。
或者从命令行:
rm -r ~/.local/share/Trash/info/ && rm -r ~/.local/share/Trash/files/
我真的推荐你的程序BleachBit,它可以清除Ubuntu上的所有内容。
使用以下命令安装它:
Sudo apt-get install bleachbit
有些包装可能非常大。找到这些的便捷方法是使用dpigs
。它默认不安装,但可以在 debian-goodies
( GitHub project )中找到
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.
注意:如果您刚刚升级了内核,请在删除旧版本之前重新启动!
请记住检查您使用的内核类型:
uname -r
然后作为root:
Sudo apt-get remove --purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d')
read 那个线程 使用这个命令安全不删除所需的内核!
如果使用UFW,请检查日志文件夹。在我的一台机器上,UFW在几天内生成了8Gb的日志。
您还可以使用以下方法清空apt缓存:
Sudo apt-get clean
尝试使用BleachBit( 位于sourceforge )。这是一个很棒的计划。基本思想是它可以快速释放磁盘空间并消除系统中隐藏的大量垃圾。它可以识别大约70个应用程序并擦除干净。还可以使用它来“擦除”可用磁盘空间。我认为它只是来自windows的CCleaner for linux。
首先,有一个列出所有大文件夹和文件的工具。只需在发射器中键入“猴面包树”即可。通过删除不需要的文件夹和文件,您可以获得更多空间。
然后,有一个删除双文件的程序。该程序名为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权限,但不需要自己的文件。
来源(德语): 这里
该脚本将执行控制台上最大的块:
--purge
的apt-get
开关,则会发生这种情况)使用此内容创建一个文件并赋予其可执行权限:
#!/bin/bash
# Adapted from 71529-ubucleaner.sh - http://www.opendesktop.org/CONTENT/content-files/71529-ubucleaner.sh
OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
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 $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
YELLOW="\033[1;33m"; RED="\033[0;31m"; ENDCOLOR="\033[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
一些可以帮助您找到大文件夹和包的工具:
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卸载系统中未使用的语言:
Sudo apt-get install localepurge
LANG=c snap list --all | awk '/disabled/{print $1, $3}' | \
while read snapname revision; do \
snap remove "$snapname" --revision="$revision"; \
done
一个出色的图形GUI工具,可满足所有需求:
Sudo apt-get install bleachbit
此外,您可以删除 buntu 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/*
删除project-config的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/*
除非绝对必要,否则不应手动清理'/ tmp'目录(即:关闭的应用程序自身后没有清理)。
您可以使用'du'命令搜索空间可能填满的位置;通常感兴趣的地方在'/ var'里面。命名两个常见的嫌疑人'/ var/log'和'/ var/cache'。虽然我有一些用户安装了备份实用程序但从未意识到它会在'/ var/backup'中创建GB的增量备份,这些备份会在一周或一个月内累积以填满整个磁盘空间。
使用 buntu-Tweak 清理。
它清除下载到安装应用程序的所有* .deb。
如果你已经删除了很多垃圾,但磁盘空间似乎没有清理,只需重新启动ubuntu。或者,如果您不想重新启动,只需运行命令 类似问题 。
Sudo service rsyslog restart
当我需要在服务器上创建更多可用空间时,我使用此命令。它找到大于50 MB的所有文件,并且“du -h”制作更好的文件列表,并在管道制作列表numericcaly按文件大小排序后“排序-n”。
find / -size +50M -type f -exec du -h {} \; | sort -n