Корневой диск исчерпывает дисковое пространство. Как может я освобождать пространство?

Я использую Ubuntu 11.04, и я хочу освободить некоторое пространство в своем корневом каталоге, который перегружается. Я особенно хочу изменить путь, используемый для того, чтобы установить приложения (они становятся установленными непосредственно на корневом диске).

Другое соображение состоит в том, что я работаю над сервером базы данных MySQL. Сервер установлен в самом корневом каталоге, таким образом, я не хочу рисковать терять любые данные.

Дайте мне некоторые подсказки, чтобы помочь разобраться в этой проблеме.

35
задан 19 August 2012 в 07:54

14 ответов

Недавно я столкнулся с аналогичной ситуацией. Слишком много приложений были установлены, и они начали использовать мое корневое пространство монтирования. Я перечисляю немного шагов, которые я выполнил и надеющийся, что Вы могли также использовать то же.

  1. Чистая Кв. - получает кэш. Следующая команда удалит, все загрузили deb файлы с Кв. - получают каталог кэша.

    Выполните эту команду: sudo apt-get clean

  2. Переместите / домашняя точка монтирования в другой диск. Ранее, моя домашняя папка была расположена на корневом диске. Таким образом, я переместил свою домашнюю папку в отдельный диск. Это помогло мне выпустить партию напряжения от корневого монтирования, потому что большинство приложений хранит свои данные в/home/user_name/папке. Читайте, как переместить домашнюю папку в отдельный диск.

  3. Размер увеличения корневого раздела, я знаю это, является очень очевидным ответом. Но верьте мне, наша потребность данных переключает время. Я думал, что 20 ГБ / корневое монтирование будут достаточны, но скручивание жгутов год я изменил размер своего корневого монтирования и увеличился до 50 ГБ.

36
ответ дан 23 November 2019 в 00:22
sudo apt autoclean  # clean /var/cache/apt/archives folder which save packages while install.
sudo apt autoremove # this command remove unused packages.

sudo shutdown -rf   # it will restart your PC immediately and check filesystem in next boot.
13
ответ дан 23 November 2019 в 00:22

В Ubuntu каждая папка может иметь свою собственную файловую систему. Это означает, что можно перейти любую папку на ее собственный раздел, другой диск или даже в удаленной сети. Это особенно популярно для корневых каталогов, так как это означает, что можно переустановить Ubuntu, не изменяя персональные настройки или освободив любые файлы. Это также популярно в сетях, где пользователи должны смочь войти в систему различные машины и все еще получить их персональные настройки и файлы. Но это полезно во многих различных случаях, такой как Ваш.

Приложения не установлены в определенную папку, как Вы, кажется, предлагают. Различные части приложения помещаются в различные части файловой системы. Основная программа обычно помещается в/usr/bin, тогда как конфигурационные файлы помещаются в / и т.д., например. В Вашем случае, MySQL, сами базы данных помещаются куда-нибудь в / var. Я думаю/var/mysql.

Так как/usr и / var являются оба каталогами в корневой файловой системе, они используют корневое пространство файловых систем. Но поскольку я сказал, можно переместить их в различные файловые системы. В случае MySQL можно настроить, где базы данных хранятся. Вы могли легко переместить базы данных в/home/username/.mysql/databases, например.

2
ответ дан 23 November 2019 в 00:22

Вы не можете изменить путь, где диспетчер пакетов устанавливает приложения. Большинство файлов приложения сохраняется к /usr. Если Вы хотите восстановить пространство на корневом разделе, перемещаясь /usr к другому разделу возможное решение.

Из комментариев:

  • Сохраните полномочия при копировании, т.е. лучшее использование командная строка, если Вы не уверены, что сделает Ваш файловый менеджер.

  • Правильный путь к этому, должен смонтировать новую файловую систему к/usr или использованию mount --bind. Не ясно, как хорошо символьная ссылка работала бы.

1
ответ дан 23 November 2019 в 00:22

При следовании инструкциям на документах сообщества Ubuntu, я обнаружил крупный файл мусора - он был похож на резервное копирование/var/log/syslog.1, по-видимому, что-то извергало загрузки вывода к системному журналу...

Команда, которая нашла его, была:

sudo find / -size +1G

И затем любой большой файл в названной папке .Trash вероятно, хорошо для удаления...

7
ответ дан 23 November 2019 в 00:22

Я успешно очистил 3,5 ГБ путем удаления старых заголовков и изображений, использования следующей команды:

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

Можно проверить, какие пакеты будут очищены, выполняя первую часть команды:

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d'

Ссылка

28
ответ дан 23 November 2019 в 00:22

Использовать dpkg-query чтобы найти самые большие пакеты и удалить тех, Вам больше не нужно (источник):

dpkg-query --show --showformat='${Package;-50}\t${Installed-Size}\n' | sort -k 2 -n | grep -v deinstall | awk '{printf "%.3f MB \t %s\n", $2/(1024), $1}'
22
ответ дан 23 November 2019 в 00:22

Когда я должен сделать больше свободного пространства на серверах, я использую эту команду:

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

Это находит все файлы больше, чем 50 МБ и"du -h"составьте лучший список файлов и "sort -n"после канала входят в список, численно отсортированный по размеру файла.

8
ответ дан 23 November 2019 в 00:22

Если у Вас есть много отдельных файловых систем, следующий прием мог бы оказаться удобным: Смонтируйтесь / другое время, но на этот раз под/mnt. Теперь весь Ваш поиск большого или много файлов может быть сделан, не пересекая неправильный fileystems.

Это может также помочь Вам найти файлы, которые скрыты под другими, монтируются.

1
ответ дан 23 November 2019 в 00:22

Удаление старых версий ядра (как предложено уже homebrand) может освободить достойную сумму пространства, если Вы еще не нашли время для выполнения этого.

Существует много способов удалить старые версии ядра, и диапазон различных вариантов может быть найден в ответах, отправленных на: Как я удаляю старые версии ядра для чистки меню начальной загрузки?

Мой предпочтительный метод является главным образом этим ответом от penreturns, где он разломан на довольно простые понятные шаги:

Откройте терминал и проверьте Ваше текущее ядро:

uname -r

НЕ УДАЛЯЙТЕ ЭТО ЯДРО!

Затем, введите команду ниже для просматривания/перечисления всех установленных ядер в системе.

dpkg --list | grep linux-image

Найдите все ядра, которые ниже, чем Ваше текущее ядро. Когда Вы будете знать, который ядро удалить, продолжите ниже удалять его.

Выполните команду ниже для удаления ядра, которое Вы выбрали.

sudo apt-get purge linux-image-x.x.x.x-generic

В ответе затем говорится для 'обновления-grub2', когда Вы закончены, произведя чистку, который, вероятно, устареет теперь: sudo update-grub должен быть достаточным для Ubuntu 14.04 вперед. Они также затем говорят для 'Перезагрузки системы' (который, кажется, так, чтобы Вы видели, очищенное меню начальной загрузки) так в этом случае не необходимо.

Меню загрузчика личинки раньше показывало все более старые версии ядра на основной странице, но они теперь размещаются из пути позади подменю. Это намного более опрятно, но вновь прибывший к Ubuntu/Linux не может знать, что они там занимают место.

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

Существуют более быстрые способы сделать это, но я предпочитаю простоту этого метода главным образом, потому что я могу понять каждую команду по пути:

"Какую версию ядра я использую? Какие версии ядра я имею? Хорошо, произведите чистку того".

Промывка, повторите, восхититесь пространством, которое Вы освободили.

Довольно легко скопировать название определенного более старого ядра, Вы хотите удалить из результатов это dpkg --list | grep linux-image дает Вам в терминале, и затем используйте sudo apt-get purge и вставьте скопированное имя в.

Удаление 3 или 4 более старых ядер будет обычно освобождать приблизительно ГБ пространства в Вашем корневом диске.

10
ответ дан 23 November 2019 в 00:22

На сегодняшний день лучше использовать новую функцию (начиная с 14.04) для удаления более старых изображений ядра:

sudo apt autoremove

Выезд больше деталей: Почему Ubuntu не удаляет старые ядра автоматически?

1
ответ дан 23 November 2019 в 00:22

Если у Вас есть mssql установленный сервер базы данных, который может съесть Вашу память. Выполненное Использование диска NCurses

$ sudo ncdu / 

Проверять, какие папки и файлы берут макс. устройство хранения данных. mssql данные обычно хранятся на

/var/opt/mssql/backup/
0
ответ дан 23 November 2019 в 00:22

Вот скрипт, который я запускаю к свободному пространству на корневом разделе

function myclean {
    ## Show free space
    df -Th | grep -v fs
    # Will need English output for processing
    LANG=en_GB.UTF-8

    ## Clean apt cache
    apt-get update
    apt-get -f install
    apt-get -y autoremove
    apt-get clean

    ## Remove old versions of snap packages
    snap list --all | while read snapname ver rev trk pub notes; do
        if [[ $notes = *disabled* ]]; then
            snap remove "$snapname" --revision="$rev"
        fi
    done
    ## Set snap versions retain settings
    if [[ $(snap get system refresh.retain) -ne 2 ]]; then snap set system refresh.retain=2; fi
    rm -f /var/lib/snapd/cache/*

    ## Remove old versions of Linux Kernel
    # This one-liner is deprecated since 18.04
    # dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs apt-get -y purge
    # New 2 lines to remove old kernels
    dpkg --list | grep 'linux-image' | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"'/q;p' | xargs sudo apt-get -y purge
    dpkg --list | grep 'linux-headers' | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"'/q;p' | xargs sudo apt-get -y purge

    ## Rotate and delete old logs
    /etc/cron.daily/logrotate
    find /var/log -type f -iname *.gz -delete
    sudo journalctl --rotate
    sudo journalctl --vacuum-time=1s

    ## Show free space
    df -Th | grep -v fs
}
5
ответ дан 23 November 2019 в 00:22

Проверьте, какая папка занимает место в корневом разделе

du -hsc *

Я обнаружил, что папка \ timeshift занимает большую часть места. (Вы могли или не могли включить этот периодический снимок). Вы можете переместить его из корневого каталога в \ home (при условии, что вы смонтировали дом в другом разделе). Или уменьшите частоту использования графического интерфейса со сдвигом во времени и, если вы считаете, что это безопасно, удалите старые резервные копии.

1
ответ дан 15 January 2020 в 18:55

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

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