Как освободить место на диске?

Мой облачный сервер Ubuntu оставил только 900 МБ дискового пространства.

Я просто опущу каталог /tmp и задаюсь вопросом, есть ли другое место для очистки.

167 голосов | спросил user3215 11 +04002010-10-11T17:25:24+04:00312010bEurope/MoscowMon, 11 Oct 2010 17:25:24 +0400 2010, 17:25:24

18 ответов


92
sudo apt-get autoremove

Это может очистить много гэфф (старых ядер и т. д.), которые были заменены. Вы можете сделать аналогичную вещь в Synaptic (загрузите ее и выберите кнопку состояния, а затем параметр Auto-removeable).

ответил Oli 11 +04002010-10-11T17:31:26+04:00312010bEurope/MoscowMon, 11 Oct 2010 17:31:26 +0400 2010, 17:31:26
198

Чтобы удалить загруженные пакеты (.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 translation )

ответил DrKenobi 11 +04002010-10-11T18:20:59+04:00312010bEurope/MoscowMon, 11 Oct 2010 18:20:59 +0400 2010, 18:20:59
152
  • показать 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 {} \;
    
ответил jet 11 +04002010-10-11T19:23:50+04:00312010bEurope/MoscowMon, 11 Oct 2010 19:23:50 +0400 2010, 19:23:50
15

Я только что освободил почти 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!

ответил hwjp 10 MonEurope/Moscow2012-12-10T18:47:44+04:00Europe/Moscow12bEurope/MoscowMon, 10 Dec 2012 18:47:44 +0400 2012, 18:47:44
12

Не забудьте очистить корзину.

введите описание изображения здесь>> </p>

<hr>
<p> Или из командной строки: </p>

<pre><code>rm -r ~ /.local /share /Trash /info /& & & rm -r ~ /.local /share /Trash /files /
</code></pre></body></html>

ответил desgua 6 Maypm12 2012, 19:18:05
10

Я действительно рекомендую вам программу BleachBit, которая очищает все от Ubuntu.

Установите его, используя следующую команду:

sudo apt-get install bleachbit

ответил Gustavo Goes 6 Maypm12 2012, 20:08:47
8

Если вы используете UFW, проверьте папку журнала. На одной из моих машин UFW генерировал 8 ГБ журналов через пару дней.

Вы также можете очистить кеш-файл с помощью:

sudo apt-get clean
ответил lovinglinux 11 +04002010-10-11T17:32:18+04:00312010bEurope/MoscowMon, 11 Oct 2010 17:32:18 +0400 2010, 17:32:18
8

Попробуйте использовать BleachBit (, расположенный в sourceforge ). Это отличная программа. основная идея заключается в том, что он быстро освобождает дисковое пространство и удаляет много нежелательной информации, которая скрыта в системе. Есть около 70 приложений, которые он может распознать и стереть. Существует также возможность использовать его для «протирания» свободного дискового пространства. Я думаю, что это CCleaner из окон только для Linux.

ответил RunningUtes 12 +04002010-10-12T05:28:05+04:00312010bEurope/MoscowTue, 12 Oct 2010 05:28:05 +0400 2010, 05:28:05
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.
ответил Drew Noakes 19 Jam1000000amSun, 19 Jan 2014 00:48:43 +040014 2014, 00:48:43
7

Автоматически удалять все старые версии ядра

  

Внимание: Если вы только что обновили ядро, перезагрузитесь перед удалением более старых версий!

Не забудьте проверить, какое ядро ​​вы используете:

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')

прочитайте этот поток , чтобы быть в безопасности, чтобы не удалить необходимые ядра с помощью этой команды!

ответил rubo77 29 +04002013-10-29T11:53:00+04:00312013bEurope/MoscowTue, 29 Oct 2013 11:53:00 +0400 2013, 11:53:00
6

Проверьте также большое количество файлов журнала:

sudo du -h /var/log

Или как rubo77 указывает в благодарностях, вы можете использовать инструмент для использования диска NCurses:

sudo ncdu /var/log
ответил Drew Noakes 8 PMpMon, 08 Apr 2013 23:52:20 +040052Monday 2013, 23:52:20
4

Во-первых, есть инструмент для перечисления всех больших папок и файлов. Просто введите «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 

или с помощью Software Center  Установить 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, но не для ваших собственных файлов.


Источник (немецкий): здесь

ответил slashcrack 15 J000000Sunday12 2012, 22:50:21
3

Каталог «/tmp» никогда не должен быть очищен вручную, если не будет абсолютно необходимо (т. е. закрытое приложение не очистится после себя).

Вы можете искать, где пространство может заполняться с помощью команды du; обычно места интереса находятся внутри '/var'. Называть два обычных подозреваемых '/var /log' и '/var /cache'. Хотя у меня есть некоторые пользователи, которые устанавливают утилиту резервного копирования и никогда не понимают, что она создает GBs инкрементных резервных копий в '/var /backup', которые накапливаются в течение недели или месяца для заполнения всего дискового пространства.

ответил ibuclaw 11 +04002010-10-11T17:36:43+04:00312010bEurope/MoscowMon, 11 Oct 2010 17:36:43 +0400 2010, 17:36:43
3

Этот скрипт выполнит самые большие куски на консоли:

  • Очистить кеш 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 $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
  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

Кроме того, вы можете удалить manpages и документацию, как описано в 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 проекта-config. Пример:

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/*
ответил rubo77 22 Jam1000000amThu, 22 Jan 2015 09:16:27 +030015 2015, 09:16:27
2

Используйте ubuntu-tweak для очистки.

он очищает все * .deb, загружаемые в установочные приложения.

ответил mwm 12 +04002010-10-12T05:34:35+04:00312010bEurope/MoscowTue, 12 Oct 2010 05:34:35 +0400 2010, 05:34:35
0

Когда мне нужно больше свободного места на серверах, я использую эту команду. Он найдет все файлы размером более 50 МБ, а «du -h» составит лучший список файлов и «sort -n» после того, как список make make numericcaly отсортирован по размеру файла.

find / -size +50M -type f -exec du -h {} \; | sort -n
ответил zorbon.cz 12 +04002014-10-12T00:37:04+04:00312014bEurope/MoscowSun, 12 Oct 2014 00:37:04 +0400 2014, 00:37:04
0

Если вы уже удалили много мусора, но дисковое пространство не очищается, просто перезагрузите ubuntu. Или если вы не хотите перезагружать только команду запуска, как в аналогичном вопросе .

sudo service rsyslog restart
ответил Maxim Yefremov 25 MarpmWed, 25 Mar 2015 19:00:07 +03002015-03-25T19:00:07+03:0007 2015, 19:00:07
-2
uname -r 

(чтобы увидеть ваш)

apt-get remove linux-image 3.0.* 

(ваши старые версии). Это дало мне свободное место на 600 МБ.

ответил adi kwok 6 MaramThu, 06 Mar 2014 06:05:12 +04002014-03-06T06:05:12+04:0006 2014, 06:05:12

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132