MyTetra Share
Делитесь знаниями!
Как я могу освободить место?
Время создания: 07.04.2021 10:48
Автор: alensav
Текстовые метки: Как я могу освободить место ubuntu корень корневая папка
Раздел: MyTetra - Ubuntu_Command
Запись: alensav/MyTetra2/main/base/1617781726ro1gr4b7z5/text.html на raw.githubusercontent.com

Как я могу освободить место?


35

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

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

Пожалуйста, дайте мне несколько советов, которые помогут разобраться с этой проблемой.

disk-usage 

— Рихан
источник

Ответы:


36

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

  1. Очистите apt-get кеш. Следующая команда удалит все загруженные файлы deb из каталога кэша apt-get.
  2. Запустите эту команду: sudo apt-get clean

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

— Амей Джа
источник


8

sudo apt-get clean освободило больше места, чем ожидалось, +1 — btk


Осторожно, что apt-get cleanудаляет даже установленные пакеты. Вы можете сохранить их в случае сбоя обновления. — Timss


Я очистил свой кеш, и он очистил 10 Гб! +1 — Нумери говорит восстановить Монику


28

Я успешно очистил 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'
 

Ссылка

— homebrand
источник


Другие советы не помогли, но это спасло меня от 5G. Спасибо. — baltasvejas


Опция -yв команде apt-get на самом деле не нужна. Если вы опустите его, apt-get спросит вас (только один раз), следует ли удалить все переданные по конвейеру пакеты. Imho лучше не использовать -y, это дает вам еще одну возможность для проверки (помимо второй команды, упомянутой выше). Для меня это освободило 15 ГБ в корневом разделе! — Борис Деппен


2

Команда 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 попыталась удалить установленную версию ядра в моей системе. Будьте осторожны, чтобы ваша система не загружалась. — Энтони


@ Энтони тык! Я собирался попробовать это. Как я могу проверить, какие из них можно удалить? — Sonic Soul


2

@SonicSoul Я в конечном итоге сделал то, что предлагает один из ответов ниже ( askubuntu.com/a/778442/333806 ). В основном, побежал, uname -rчтобы найти текущее ядро ​​и позаботился, чтобы не удалить его. Если команда, предоставленная homebrandдля проверки того, какие пакеты будут очищены, не показывает текущее ядро, тогда вы должны безопасно выполнить упомянутую им команду очистки. — Антоний


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

— michaeljoseph
источник


1

Теперь это действительно полезный однострочник. Идеально подходит для краткого обзора самых крупных пакетов установки. Приходите к моим точечным файлам! — Arainone


Вы можете получить это сwajig sizes — Пабло A


13

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.
 

— Шантану
источник


19

Вы не предоставляете никаких объяснений. Если кто-то просто скопирует / вставит ваш код, система отключится без предупреждения, что может привести к потере данных. Пожалуйста, не предоставляйте команды без объяснения того, что они делают. -1 — Джо-Эрленд Шинстад


9

Зачем нужно проверять файловую систему? — Натан Осман


10

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

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

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

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

uname -r

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

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

dpkg --list | grep linux-image

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

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

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

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

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

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

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

«Какую версию ядра я использую? Какие версии ядра у меня есть? Хорошо, удалите эту ».

Промыть, повторить, полюбоваться свободным пространством.

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

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

— pHeLiOn
источник


1

В дополнение к linux-image вы также можете использовать grep для и очищать заголовки linux — kdopen


8

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

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

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

— zorbon.cz
источник


В зависимости от размера вашей системы, это может занять некоторое время. У меня ушло 15 минут на 500 ГБ на жестком диске — Габриэль, ярмарка,


7

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

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

sudo find / -size +1G
 

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

— hwjp
источник


5

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

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 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 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
} 

— cmak.fr
источник


Редактировать: Новые 2 строки старого очистителя ядра — cmak.fr


Благодарность! «Поворот и удаление старых журналов» очистить несколько концертов на моем диске. — SaTa


Ницца. Разработчики могут также захотеть удалить свои неиспользуемые образы докера :docker system prune — Pablo A


@Pablo A они /var/crash/*.crashтоже могут смотреть — cmak.fr


Поскольку вам нужно sudoвызвать функцию, sudoвнутри функции кажется избыточным. Также vacuum-time=1sне всегда может работать, но я не уверен, потому что вместо этого я использую размер вакуума: forum.manjaro.org/t/… — WinEunuuchs2Unix


2

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

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

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

— Джо-Эрленд Шинстад
источник


1

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

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

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

— январь
источник


осторожно с перемещением / usr. используйте команду cp, чтобы скопировать папку usr с тем же разрешением. затем удалите оригинальную папку / usr и создайте ссылку на папку usr в /. — Шантану


1

У него должна быть точка монтирования. Не ссылка. — Джо-Эрленд Шинстад


Небольшое примечание: многие приложения также устанавливают двоичные файлы и данные приложений /opt. — Натан Осман


@ george-edison Ну, некоторые приложения устанавливают что-то /optпротив "правил". — Jan


1

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

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

— steviethecat
источник


1

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

sudo apt autoremove
 

Ознакомьтесь с более подробной информацией: почему Ubuntu не удаляет старые ядра автоматически?

— ywu
источник


0

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

$ sudo ncdu / 
 

Чтобы проверить, какие папки и файлы занимают максимум места. Данные MSSQL обычно хранятся на

/var/opt/mssql/backup/
 

— Yogesh
источник


Вопрос гласит, что База данных должна остаться. — Стивен Раух


В вопросе упоминалась база данных MySql, так что, если он хочет удалить данные базы данных MsSQL, то я думаю, что это довольно справедливый ответ. — Йогеш,


Может быть полезно вариант-x — Пабло

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

  • Как освободить больше места в / boot?  563
  • Как найти объем свободного места на моем жестком диске?  496
  • Какой способ командной строки найти большие файлы / каталоги для удаления и освобождения места?  203
  • Почему это не показывает скрытые файлы / папки?  140
  • Как получить использование диска из командной строки?  139
Так же в этом разделе:
 
MyTetra Share v.0.67
Яндекс индекс цитирования