我的Ubuntu云服务器只剩下900MB磁盘空间。
我只清空目录/ tmp,想知道是否还有其他需要清除的位置。
sudo docker container prune -f && sudo docker image prune -f
我的Ubuntu云服务器只剩下900MB磁盘空间。
我只清空目录/ tmp,想知道是否还有其他需要清除的位置。
sudo docker container prune -f && sudo docker image prune -f
Answers:
sudo apt-get autoremove
这样可以清除掉许多已替换的东西(旧内核等)。您可以在Synaptic中执行类似的操作(将其加载并选择状态按钮,然后选择“自动删除”选项)。
aptitude
而不是apt-get
,它可以随时清除,但是在较旧的安装中,随着安全更新的发布,通常会收集大量已安装的内核。
dpkg --get-selections | grep linux-image
)。
删除已安装(不再需要)的下载软件包(.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
资料来源: Ubuntu的Limpiando :comandos y programas(actualización)(google翻译)
clean
释放了不少空间。之后,我立即运行autoclean
,我的可用空间减少了45MB。clean
再次运行释放了此额外空间。
sudo apt-get clean
它会-简单地- 删除所有可能在本地的软件包副本安装和升级时下载。这将几乎清空/ var / cache / apt / archives目录。 ...因此,下次运行时sudo apt-get update
,它将重新下载所有内容(已经存在)。单挑!.. :)
显示当前目录中的前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
,这提供了一种快速的方法来查看正在使用您的磁盘空间的目录
kDirStat
替换为baobab
我只是通过删除旧的内核和头文件释放了将近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个旧版本!
一些软件包可能会很大。查找这些内容的便捷方法是使用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.
尝试使用BleachBit(位于sourceforge)。这是一个很棒的程序。其基本思想是,它可以快速释放磁盘空间,并消除系统中隐藏的许多垃圾。它可以识别和擦拭大约70个应用程序。还可以使用它“擦除”可用磁盘空间。我认为这是仅适用于Linux的Windows中的CCleaner。
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
:
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特权,但不需要您自己的文件。
资料来源(德语):在这里
sudo apt-get install ncdu
此脚本将在控制台上执行最大的块:
--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
此外,您可以按照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/*
uname -a
。如果您之前刚刚执行过apt-get ugrade并获得了新内核,这可能是原因,您正在使用的当前内核不是已安装的最新内核?做一个repoot然后启动该脚本之前
除非绝对必要,否则永远不要手动清理“ / tmp”目录(即:一个封闭的应用程序在其自身之后没有被清理)。
您可以使用“ du”命令搜索可能会填满空间的位置;通常,名胜古迹位于“ / var”内部。列举两个通常的可疑对象“ / var / log”和“ / var / cache”。尽管我有一些用户安装了备份实用程序,却从未意识到它会在'/ var / backup'中创建GB的增量备份,这些增量备份会在一周或一个月内建立起来以填满整个磁盘空间。
如果您已经删除了很多垃圾但磁盘空间似乎并未清除,请重新启动ubuntu。或者,如果您不想重新启动,只需运行类似问题中的命令即可。
sudo service rsyslog restart
当我需要在服务器上腾出更多可用空间时,请使用此命令。它发现所有大于50 MB的文件,“ du -h”使文件列表更好,而“ pipe -make”列表按文件大小进行数字排序后则“ sort -n”。
find / -size +50M -type f -exec du -h {} \; | sort -n
ncdu /
改用灰尘
du -h
,也使用sort -h
。
uname -r
(看你的)
apt-get remove linux-image 3.0.*
(您的旧版本)。它给了我600mb的自由空间。