it-swarm.cn

如何释放磁盘空间?

我的Ubuntu云服务器只剩下900MB的磁盘空间。

我只是清空目录/ tmp并想知道是否还有其他位置要清理。

180
user3215
Sudo apt-get autoremove

这可以清除已经被替换的许多guff(旧内核等)。您可以在Synaptic中执行类似的操作(加载它并选择状态按钮,然后选择Auto-removeable选项)。

100
Oli

删除已安装的已下载软件包(.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翻译

209
DrKenobi
  • 显示当前目录中十大最大的子目录。

    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

166
jet

我只是通过删除旧内核和头文件释放了近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!

17
hwjp

不要忘记清空垃圾箱。

enter image description here


或者从命令行:

rm -r ~/.local/share/Trash/info/ && rm -r ~/.local/share/Trash/files/  
13
desgua

我真的推荐你的程序BleachBit,它可以清除Ubuntu上的所有内容。

使用以下命令安装它:

Sudo apt-get install bleachbit

11
Gustavo Goes

卸载您不使用的大型软件包

有些包装可能非常大。找到这些的便捷方法是使用dpigs。它默认不安装,但可以在 debian-goodiesGitHub 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.
10
Drew Noakes

自动删除所有旧内核版本

注意:如果您刚刚升级了内核,请在删除旧版本之前重新启动!

请记住检查您使用的内核类型:

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 那个线程 使用这个命令安全不删除所需的内核!

9
rubo77

如果使用UFW,请检查日志文件夹。在我的一台机器上,UFW在几天内生成了8Gb的日志。

您还可以使用以下方法清空apt缓存:

Sudo apt-get clean
8
lovinglinux

尝试使用BleachBit( 位于sourceforge )。这是一个很棒的计划。基本思想是它可以快速释放磁盘空间并消除系统中隐藏的大量垃圾。它可以识别大约70个应用程序并擦除干净。还可以使用它来“擦除”可用磁盘空间。我认为它只是来自windows的CCleaner for linux。

8
RunningUtes

检查大量日志文件:

Sudo du -h /var/log

或者作为 rubo77 指出,你可以使用NCurses磁盘使用工具:

Sudo ncdu /var/log
6
Drew Noakes

首先,有一个列出所有大文件夹和文件的工具。只需在发射器中键入“猴面包树”即可。通过删除不需要的文件夹和文件,您可以获得更多空间。


然后,有一个删除双文件的程序。该程序名为fslint。输入即可安装

Sudo apt-get install fslint

在一个终端。

或图形

Install fslint via the software center


您也可以使用清除包缓存

Sudo apt-get autoclean
Sudo apt-get clean
Sudo apt-get autoremove

第四步是删除旧的内核条目。您可以通过安装和打开Synaptic来完成此操作。在Synaptic中,搜索旧的内核条目(除了最新的GRUB中显示的每个内核条目)并将其删除。


一个很好的步骤是删除应用程序缓存。通过安装并运行bleachbit来执行此操作:

Sudo apt-get install bleachbit

或图形

Install bleachbit via the software center

重要提示:删除的缓存无法恢复!


最后一步是对文件系统进行碎片整理。为此执行以下操作:

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 

或使用软件中心 Install git-core via the software center

现在您可以运行该程序:

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权限,但不需要自己的文件。


来源(德语): 这里

4
slashcrack

清洁脚本

该脚本将执行控制台上最大的块:

  • 清理apt缓存
  • 从卸载的.deb软件包中删除配置文件(如果你不使用带有--purgeapt-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 $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

改编自 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

删除旧的snapd图像

LANG=c snap list --all | awk '/disabled/{print $1, $3}' | \
    while read snapname revision; do \
        snap remove "$snapname" --revision="$revision"; \
    done

bleachbit

一个出色的图形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/*
4
rubo77

除非绝对必要,否则不应手动清理'/ tmp'目录(即:关闭的应用程序自身后没有清理)。

您可以使用'du'命令搜索空间可能填满的位置;通常感兴趣的地方在'/ var'里面。命名两个常见的嫌疑人'/ var/log'和'/ var/cache'。虽然我有一些用户安装了备份实用程序但从未意识到它会在'/ var/backup'中创建GB的增量备份,这些备份会在一周或一个月内累积以填满整个磁盘空间。

3
ibuclaw

使用 buntu-Tweak 清理。

它清除下载到安装应用程序的所有* .deb。

2
mwm

如果你已经删除了很多垃圾,但磁盘空间似乎没有清理,只需重新启动ubuntu。或者,如果您不想重新启动,只需运行命令 类似问题

Sudo service rsyslog restart
1
Maxim Yefremov

当我需要在服务器上创建更多可用空间时,我使用此命令。它找到大于50 MB的所有文件,并且“du -h”制作更好的文件列表,并在管道制作列表numericcaly按文件大小排序后“排序-n”。

find / -size +50M -type f -exec du -h {} \; | sort -n
0
zorbon.cz