如何释放磁盘空间?
我的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-XXXX-XX-generic
如果您不知道要删除哪个内核版本
dpkg --get-selections | grep linux-image
来源: Limpiando Ubuntu : comandos y programas(actualización) ( 谷歌翻译 )
-
显示当前目录中的前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
我只是通过删除旧内核和头文件释放了近2场演出:
使用
uname -r
检查你当前的版本,然后
dpkg -l linux-image-* linux-headers-*
然后,查看所有旧内核和头文件
sudo apt-get remove linux-image- linux-headers-
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
如果使用UFW,请检查日志文件夹。 在我的一台机器上,UFW在几天内生成了8Gb的日志。
您还可以使用以下方法清空apt缓存:
sudo apt-get clean
尝试使用BleachBit( 位于sourceforge )。 这是一个很棒的计划。 基本思想是它可以快速释放磁盘空间并消除系统中隐藏的大量垃圾。 它可以识别大约70个应用程序并擦除干净。 还可以使用它来“擦除”可用磁盘空间。 我认为它只是来自windows的CCleaner for linux。
卸载您不使用的大型软件包
有些包装可能非常大。 找到这些的便捷方法是使用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.
自动删除所有旧内核版本
注意:如果您刚刚升级了内核,请在删除旧版本之前重新启动!
请记住检查您使用的内核类型:
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')
读取该线程是安全的,不使用此命令删除所需的内核!
检查大量日志文件:
sudo du -h /var/log
或者正如rubo77所指出的那样,您可以使用NCurses磁盘使用工具:
sudo ncdu /var/log
首先,有一个列出所有大文件夹和文件的工具。 只需在发射器中输入’Baobab’即可。 通过删除不需要的文件夹和文件,您可以获得更多空间。
然后,有一个删除双文件的程序。 该程序称为fslint
。 输入即可安装
sudo apt-get install fslint
在一个终端。
或图形
您也可以使用清除包缓存
sudo apt-get autoclean sudo apt-get clean sudo apt-get autoremove
第四步是删除旧的内核条目。 您可以通过安装和打开Synaptic来完成此操作。 在Synaptic中,搜索旧的内核条目(GRUB中显示的除最新内容之外的每个内核条目)并将其删除。
一个很好的步骤是删除应用程序缓存。 通过安装和运行bleachbit
做到这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权限,但不需要您自己的文件。
来源(德国): 这里
除非绝对必要,否则不应手动清理’/ tmp’目录(即:关闭的应用程序自身后没有清理)。
您可以使用’du’命令搜索空间可能填满的位置; 通常感兴趣的地方都在’/ var’里面。 命名两个常见的嫌疑人’/ var / log’和’/ var / cache’。 虽然我有一些用户安装备份实用程序但从未意识到它会在’/ var / backup’中创建GB的增量备份,这些备份会在一周或一个月内累积,以填满整个磁盘空间。
该脚本将执行控制台上最大的块:
- 清理apt缓存
- 从卸载的.deb软件包中删除配置文件(如果不使用
apt-get
的--purge
开关,--purge
发生这种情况) - 删除除正在使用的内核之外的所有内核
- 清空每个用户(包括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 $2}') CURKERNEL=$(uname -r|sed 's/-*[az]//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 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卸载系统中未使用的语言:
sudo apt-get install localepurge
一个伟大的图形GUI工具,以满足所有需求:
sudo apt-get install bleachbit
此外,您可以删除Ubuntu Wiki中描述的联机帮助页和文档:
创建文件/etc/dpkg/dpkg.cfg.d/01_nodoc,指定所需的filter。 例:
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/*
使用ubuntu-tweak进行清理。
它清除下载到安装应用程序的所有* .deb。
当我需要在服务器上创建更多可用空间时,我使用此命令。 它找到大于50 MB的所有文件,并且“du -h”制作更好的文件列表,并在管道制作列表numericcaly按文件大小排序后“排序-n”。
find / -size +50M -type f -exec du -h {} \; | sort -n
如果你已经删除了很多垃圾,但磁盘空间似乎没有清理,只需重新启动ubuntu。 或者,如果您不想重新启动,只需运行类似问题的命令。
sudo service rsyslog restart
uname -r
(看你的)
apt-get remove linux-image 3.0.*
(你的旧版本)。 它给了我600mb的空间。