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

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

Я просто опустошу каталог / tmp и буду интересоваться, есть ли другое место для очистки.

208
задан 6 March 2014 в 07:19

19 ответов

sudo apt-get autoremove

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

116
ответ дан 6 March 2014 в 07:19

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

find / -size +50M -type f -exec du -h {} \; | sort -n
0
ответ дан 6 March 2014 в 07:19

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

sudo service rsyslog restart
1
ответ дан 6 March 2014 в 07:19

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

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

2
ответ дан 6 March 2014 в 07:19

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

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

3
ответ дан 6 March 2014 в 07:19

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

8
ответ дан 6 March 2014 в 07:19

Во-первых, есть утилита для перечисления всех больших папок и файлов. Просто введите 'Baobab' в программу запуска. Удаляя папки и файлы, вы не получите больше места.


Затем, есть программа для удаления двойных файлов. Программа называется 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 

или с помощью Software Center 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 на файловую систему или папку/файл, которые вам нужны. Обратите внимание, что для дефрагментации устройства (например, жесткого диска) нужны привилегии root, но не для собственных файлов.


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

4
ответ дан 6 March 2014 в 07:19

сценарий очистки

Этот сценарий будет выполнять самые большие фрагменты на консоль:

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

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

bleachbit

Отличный графический инструмент с графическим интерфейсом для любых нужд:

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 проекта-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/*
5
ответ дан 6 March 2014 в 07:19
uname -r 

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

apt-get remove linux-image 3.0.* 

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

0
ответ дан 6 March 2014 в 07:19

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

sudo du -h /var/log

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

sudo ncdu /var/log
10
ответ дан 6 March 2014 в 07:19

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

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

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

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

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

12
ответ дан 6 March 2014 в 07:19

Удаление больших пакетов, которые вы не используете

Некоторые пакеты могут быть довольно большими. Удобный способ найти их - использовать 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.
12
ответ дан 6 March 2014 в 07:19

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

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

sudo apt-get install bleachbit

13
ответ дан 6 March 2014 в 07:19

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

enter image description here


Или из командной строки:

rm -r ~/.local/share/Trash/info/ && rm -r ~/.local/share/Trash/files/  
14
ответ дан 6 March 2014 в 07:19

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

19
ответ дан 6 March 2014 в 07:19
  • показать 10 самых больших подкаталогов в текущем каталоге.

     du -sk * |  sort -nr |  голова -10
     
  • используйте filelight или kDirStat, чтобы визуально увидеть, куда уходит дисковое пространство

  • проверьте, есть ли у вас старые ядра для удаления

     ls -lh / boot
     
  • пакеты очистки

     sudo apt-get autoremove
    sudo apt-get autoclean
     

    просмотреть список всех установленных пакетов, отсортированный по размеру. Если вы видите что-то большое и не используете его - удалите его

     dpkg-query -W --showformat = '$ {Installed-Size} $ {Package} \ n' |  sort -nr |  Меньше
     
  • очистить неиспользуемые языковые файлы с переводами (их очень много)

     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

186
ответ дан 6 March 2014 в 07:19

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

223
ответ дан 6 March 2014 в 07:19

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

Вы также можете очистить apt кэш с:

sudo apt-get clean
8
ответ дан 6 March 2014 в 07:19

Вы можете попробовать очистить кеш и отчеты об ошибках, когда я пробовал это сначала, у меня было около 5 гигабайт такого мусора. Я использовал stacer. Вы также можете сделать это вручную.

  • install stacer sudo apt install stacer
  • stacer - это приложение с графическим интерфейсом, поэтому вы будете знать, что делать. если вы не

запускаете stacer, затем щелкните очиститель системы (на нем есть значок метлы) щелкните выберите все, затем щелкните увеличительное стекло, выберите то, что вы хотите удалить, затем снова щелкните значок метлы

0
ответ дан 5 January 2021 в 23:58

Другие вопросы по тегам:

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