Структуру необходимо почистить linux
То есть бывают действительно критические ситуации — в этих условиях перестают нормально работать многие программы и службы. Поэтому задача становится следующей: срочно любой ценой освободить место на диске, чтобы можно было продолжить обслуживание системы и перейти ко второму этапу — поиску директорий и папок, которые привели к этой проблеме из-за того, что стали занимать слишком много места.
Предупрежу заранее: следующие команды хотя в основном и удаляют бесполезные файлы, после их выполнения могут потребоваться такие действия как:
- перезапуск служб для их нормальной работы (чтобы они заново пересоздали файлы журналов, кэши, файлы блокировки)
- могут быть потеряны различные журналы и файлы из корзины, которые хотя и не нужны большинству пользователей, в некоторых условиях вы можете захотеть их оставить (например, вам важно изучить файлы логов, поскольку в них может быть причина проблемы).
Это означает, что НЕ копируйте бездумно команды — читайте пояснения к ним и оценивайте, насколько они безболезненны для вашей ситуации.
1. Удаление временных файлов
Файлы в папке /tmp/ будут удалены в любом случае при следующей перезагрузки системы. То есть с одной стороны их можно удалить достаточно безболезненно:
НО: может быть нарушена работа программ, которые запущены в настоящее время и которые сохранили какие-то данные в папку /tmp/.
2. Удаление файлов кэширования
В директории /var/cache/ много поддиректорий, которые можно удалить практически безболезненно (данные утеряны не будут, а программы создадут новые файлы кэширования). Эта директория вызывает особый интерес, поскольку на которых системах кэши разрастаются на гигабайты и десятки гигабайт. Иногда поиск проблемной директории в /var/cache/ может окончательно решить ситуацию с нехваткой места на диске.
Для удаления кэша шрифтов:
Для удаления кэша установочных пакетов (на Debian, Linux Mint, Ubuntu, Kali Linux и их производных):
Для удаления кэша установочных пакетов (на Arch Linux, BlackArch и их производных):
Удаление кэша справочных страниц:
Вы можете продолжить поиск больших кэшей применимо к программному обеспечению, установленному на вашей системе. Например, это могут быть кэши веб-сервера, прокси-сервера и т. д.
3. Удаление логов (журналов)
На веб-серверах могут разрастись слишком сильно журналы веб-сервера.
Для удаления логов Apache на Debian, Linux Mint, Ubuntu, Kali Linux и их производных:
Для удаления логов Apache на Arch Linux, BlackArch и их производных:
Чтобы сервер начал создавать новые файлы журналов и записывать в них, нужно перезапустить службу веб-сервера.
В зависимости от интенсивности использования системы, накопленные журналы могут занимать гигабайты. В зависимости от системы файлы могут называться по-разному, более точный анализ рекомендуется выполнять с помощью утилиты ncdu:
4. Очистите корзину
Этот совет больше для настольных систем. Файлы, которые вы удалили в графическом интерфейсе рабочего стола, попадают в папку
/.local/share/Trash/files/, вы можете проанализировать их и при желании удалить (второй раз):
5. Удаление ненужных файлов исходного кода заголовков ядра
Следующее актуально только для Debian, Linux Mint, Ubuntu, Kali Linux и их производных. Проверьте папку /usr/src/, там будут подпапки вида linux-headers- - большинство из них можно удалить — оставьте только ту, номер которой соответствует текущему ядру системы — обычно это самый последний номер выпуска.
6. Удаление осиротевших пакетов
Осиротевшие пакеты — это те пакеты (программы), которые устанавливались в качестве зависимостей для других программ. Но по разным причинам они больше не нужны: или удалена программа, которая их использовала, или для той программы они перестали быть зависимостями после обновления программы.
На Debian, Linux Mint, Ubuntu, Kali Linux и их производных удалить ненужные пакеты можно следующим образом:
Для Debian и производных предыдущая команда абсолютно безопасна.
В Arch Linux и производных список осиротевших пакетов можно увидеть следующим образом:
Прежде чем переходить к их автоматическому удалению, настоятельно рекомендуется изучить этот список!
Для рекурсивного удаления сироток и их конфигурационных файлов в Arch Linux и производных:
Если осиротевшие пакеты не были найдены, pacman завершит работу с ошибкой: ошибка: не задано целей (для справки используйте -h). Это ожидаемо, поскольку pacman -Rns не получил аргументов.
7. Очистка журналов systemd
Со временем, в некоторых системах логи системы начинают занимать гигабайты на жёстком диске. Просмотреть журналы и освободить место вы можете с помощью команды journalctl, подробности смотрите в статье «Как использовать journalctl для просмотра системных логов Linux».
Чтобы увидеть, сколько место занимают журналы, выполните:
Чтобы удалить все записи, оставив только записей на 100 мегабайт, выполните:
Либо для удаления всех записей в системном журнале, старше одной недели:
8. Файлы в директории /lost+found
В папку /lost+found сохраняются файлы, которые были найдены после проверки файловой системы диска. Обычно такие проверки выполняются после внезапной перезагрузки системы или в случае признаков проблем с диском.
Найденные файлы обычно повреждены. Их цель — сохранить данные, которые в случае исправления ошибок на файловой системе были бы совсем утеряны.
Папка /lost+found может быть пустой (если не было проблем с диском). В случае если там есть файлы, то вы можете их просмотреть и, при желании, удалить.
9. Очистка PHP сессий
Иногда веб-приложений из-за бага могут создать бесчисленное количество сессий. Проверьте директорию /var/lib/php/sessions/ на предмет слишком большого количества файлов.
(БОНУС) 10. Проанализируйте файлы Docker
Самой большой папкой является /var/lib/docker/overlay2/. Для анализа занимаемого места на диске выполните:
Заключение
Итак, мы рассмотрели, какие файлы можно удалить из Linux практически без потери информации. Кроме рассмотренных директорий, которые можно очистить как на удалённой системе с веб-сервером, так и на домашнем компьютере, пользователям с графическим рабочим столом следует обратить внимание на такие директории как:
Их НЕ нужно удалять, но стоит проанализировать. Например, вы можете выяснить, что веб-браузер на вашем компьютере имеет кэш в несколько гигабайт и что вы можете их освободить (рекомендуется делать средствами веб-браузера, а не удалять файлы напрямую).
Если я пропустил какие-то директории с файлами, которые можно безболезненно удалить, то пишите их в комментариях!
tl; dr: Как мне восстановить данные с тома ext4, который выдает ошибки типа «Очистка структуры требует»?«Я перепробовал много вещей, как описано ниже, но все равно безуспешно.
РЕДАКТИРОВАТЬ: Пожалуйста, смотрите ниже оригинальный пост для вывода e2fsck и dumpe2fs в соответствии с запросом комментатора. Оригинальный пост следует.
При попытке смонтировать том Truecrypt 7.1, который я часто использую, сегодня я получил эту прекрасную ошибку:
Затем я попытался смонтировать это с помощью командной строки truecrypt 7.1a в другой системе и получил эту ошибку:
Вот шаги, которые я предпринял до сих пор:
1 - расшифрован, но не монтируется с Truecrypt, используя:
Это, кажется, дает мне незашифрованный, но не смонтированный раздел. Затем я сделал резервную копию, используя dd, и пытаюсь сделать все остальное в резервных копиях.
2 - Итак, я пытаюсь смонтировать его:
. и я не удивляюсь
3 - Итак, я пытаюсь:
4 - Теперь я пробую fsck.ext4, и все идет плохо. Если я запускаю его автоматически, я получаю:
5 - Итак, теперь я думаю, может быть, мне стоит попробовать запустить fsck вручную. Я так и делаю. Проблема в том, что происходит одна из двух вещей:
я) я выбираю "у" для всего, и в результате я могу смонтировать том, но он полностью пуст или
II) Я должен решить, что сказать "у" и "п", и я не имею ни малейшего понятия, как распознать. Я немного читал о файловых системах, но это все еще догадки. Кроме того, возникают сотни вопросов (первый из которых действительно о группе 64 . а затем 65, 66 и т.д.), Так что даже если бы я знал, что делать, это заняло бы у меня много часов - и я не могу сделать ни единой ошибки, или я могу потерять данные, верно?
6 - Я прочитал эту ветку: Как восстановить файловую систему ext4, и я также "попробовал монтировать с альтернативными расположениями суперблока", как в:
Как он это сделал: «Я сделал выше, с опцией sb, равной кратным 4 из всех следующих чисел: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000». Каждый раз я получаю одну и ту же ошибку:
. и testdisk не видит разделов.
Так вот где я сейчас. Если вы можете помочь, я был бы признателен. Очевидно, что если бы эти данные не имели значения, мне было бы все равно. Это не опасно для жизни, но это чрезвычайно полезно для меня. Вы можете спросить, почему я не подкрепил это Потому что иногда вы не понимаете, как важно что-то, пока не потеряете это. И потому что я иногда идиот.
Вывод для этого слишком длинный для публикации. Итак, вот ссылка: вывод e2fsck
Конечный продукт монтируется, но не восстанавливается. Существует один файл потерян и найден, и этот файл очень большой. Я могу предоставить детали, если хотите.
Ни для кого не секрет что система в процессе своей работы засоряется. Установка и удаление программ, выполнение скриптов, обновления, неверная установка программ из исходников, ошибки в программах, все это оставляет в системе лишние, ненужные пакеты. Со временем этих файлов может накапливаться достаточно большое количество.
Конечно, Ubuntu, как и любая другая операционная система Linux засоряется намного меньше Windows, здесь нет реестра, и архитектура системы рассчитана так, чтобы оставлять мусор по минимуму. Но кроме системных недочетов, в файловой системе могут накапливаться ненужные файлы пользователей и программ. Поэтому очистка ubuntu от мусора необходима.
Как очистить Ubuntu
В этой инструкции будет рассмотрена очистка системы Ubuntu. Мы рассмотрим как очистить ненужные, не используемые пакеты, удалить пользовательские файлы и уже ненужные файлы настроек, которые остались в системе, а также найдем все файлы, не принадлежащие ни одному пакету, чтобы вы могли сами оценить нужны они вам или нет. Будет рассмотрена очистка кэша в ubuntu и удаление старых ядер.
1. Использование дискового пространства
Очистка системы Ubuntu 20.04 должна начаться с выяснения, какие файлы потребляют больше всего пространства на диске. В этом вам поможет программа ncdu. Это консольная утилита с псевдографическим интерфейсом, но мне она нравится больше всего. Сначала её надо установить. Для этого выполните в терминале:
sudo apt install ncdu
Затем запустите программу:
После завершения анализа вы можете увидеть какие файлы занимают больше всего пространства на жестком диске. Вы внезапно можете обнаружить, что много места занимают логи или ненужные файлы в домашней папке. Вы можете открывать папки клавишей Enter, перемещаться по ним с помощью стрелок вверх и вниз, а также прямо здесь удалять ненужные файлы с помощью кнопки Delete. Более подробно про утилиты для анализа занимаемого пространства читайте в отдельной статье.
2. Дубликаты файлов
Со временем могло накопиться несколько копий одного файла в системе. Если нужна очистка памяти в Ubuntu, то такие файлы важно найти и удалить, прежде чем они заполнят весь жесткий диск.
Для решения этой задачи есть несколько утилит. Утилита FSlint позволяет найти и очистить битые символические ссылки, а также дубликаты файлов в файловой системе.
Для установки программы используйте команду:
sudo apt install fslint
Запустить программу можно из главного меню. В главном окне нужно указать путь, по которому следует искать дубликаты файлов с помощью кнопки Add, затем перейти на вкладку Дубликаты и нажать в самом низу Найти:
Когда поиск будет завершен, утилита выведет все одинаковые файлы группами, и вы сможете прямо здесь отметить те файлы, которые надо удалить или заменить на символическую ссылку с помощью контекстного меню.
Еще одним отличным решением для поиска дублей есть утилита BleachBit, кроме поиска дубликатов файлов, здесь есть специальные приложения для нахождения дублей фото и аудиофайлов по специальным алгоритмам. Подробнее о работе с программой я писал в отдельной статье - как освободить место в Linux.
3. Очистка пакетов
Пакеты программного обеспечения одно из самых слабых мест для засорения системы. Если вы устанавливали много приложений, скорее всего, они потянули за собой большое количество зависимостей, которые после удаления этих приложений не представляют никакой пользы. Поэтому очистка Ubuntu обязательно должна включать удаление ненужных пакетов. Вот несколько команд выполняющих очистку системы:
Удалить неиспользуемые пакеты из кэша
sudo apt autoclean
Очистка кэша в Ubuntu, утилиты apt:
Удаление ненужных зависимостей:
sudo apt autoremove
Вообще хорошей практикой будет удалять зависимости сразу при удалении приложения:
sudo apt autoremove приложение
4. Старые версии snap пакетов
В новых версиях Ubuntu используется пакетный менеджер snap, он тоже оставляет в системе кэш, а также старые версии пакетов после обновления. Эти версии уже не используются но всё ещё занимают место. По умолчанию, это три, это значение можно изменить на две с помощью такой команды:
sudo snap set system refresh.retain=2
Если вы хотите полностью удалить неиспользуемые версии пакетов, для этого понадобится использовать небольшой скрипт:
sudo vi /usr/local/bin/remove_old_snaps.sh
Если система установлена достаточно давно, и обновлений было много, то такой скрипт может освободить вам несколько гигабайт места. После сохранения файла дайте ему права на выполнение:
sudo chmod ugo+x /usr/local/bin/remove_old_snaps.sh
5. Старые пакеты программ
При обновлении пакета до более новой версии, его старая версия и её конфигурационные файлы тоже остаются в системе и занимают место на диске. Вы можете освободить немного пространства, удалив такие пакеты.
Откройте менеджер пакетов Synaptec, нажмите кнопку Состояние, затем откройте пункт Не установленные (остались файлы конфигурации). Здесь и будут те пакеты, которые, остались в системе после обновления или неполного удаления.
Поставьте галочки напротив всех таких пакетов, и выберите опцию Отметить для полного удаления. Затем нажмите Правка -> Применить для применения действия.
Аналогичное действие можно выполнить в терминале. Для этого используйте команду:
dpkg -l | awk '/^rc/ ' | xargs sudo dpkg --purge
Можно воспользоваться и командой попроще если у вас установлен aptitude:
sudo aptitude purge
6. Неиспользуемые пакеты
Мы часто устанавливаем различные пакеты, и не все из них нам нужны долгое время. Бывает, что пакет нужен определенному приложению, но после удаления приложения он больше не используется. Или вы установили программу, попользовались ею пару раз, а потом забыли о ее существовании. Такие приложения тоже нужно найти и ликвидировать чтобы очистка ubuntu от мусора была выполнена полностью.
Для этого будет очень полезной программа GTKOrphan. Для ее установки выполните:
sudo apt install gtkorphan
Как обычно, открыть программу вы можете из главного меню.
Она проанализирует систему и покажет все пакеты, которые не находятся ни у кого в зависимостях. То есть те, которые вы устанавливали сами. Теперь вы можете посмотреть какие из них вам не нужны и спокойно их удалить. Не удаляйте все пакеты бездумно, это может сломать вашу систему. Чтобы отобразить больше пакетов кликните по пункту Параметры и выберите Показывать пакеты не только из библиотеки.
7. Файлы локализации
Если вам не нужно переключаться между различными локализациями системы, вы можете просто удалить лишние, не используемые языковые стандарты и освободить немного пространства на диске.
Установите утилиту localepurege:
sudo apt install localepurge
На этапе установки пакета выберите те локали, которые вам нужны, все остальные будут удалены. По умолчанию выбраны en_US и ru_RU для кодировки UTF-8, вы можете выбрать и другие.
8. Никому не принадлежащие файлы
При неправильной установке программ из исходников в системе могут накопляться файлы, не принадлежащие ни одному пакету, после удаления этих программ они могут просто оставаться в системе. Также такие файлы накапливаются при установке программ из бинарных файлов или создаются вами вручную. Одним словом, такие файлы нужно удалять. Для этого будем использовать программу cruft. Для установки выполните:
sudo apt install cruft
Для запуска программы просто выполните её с опцией -r и путём к файлу, куда надо сохранить отчёт:
sudo cruft -r cruftreport
Затем просто откройте полученный файл в с помощью less или cat:
Программа выдаст список всех никому не принадлежащих файлов. Теперь вы можете просмотреть и удалить те, которые считаете ненужными. Только будьте очень аккуратны, чтобы не удалить ничего лишнего. Не забудьте что такие файлы могут создаваться и обычными программами, например, Grub и SSL.
9. Старые ядра
После обновления ядра, особенно в старых версиях Ubuntu старые ядра всё ещё остаются и занимают место в папке /boot. Чтобы из удалить можно использовать утилиту Ubuntu Cleaner. Для её установки выполните:
sudo apt install ubuntu-cleaner
Откройте программу из главного меню или через терминал, затем отметьте пункт Old Kernel. В правой части окна появится список пакетов ядер, которые можно удалить:
Отметьте нужные и нажмите кнопку Clean. Другие способы удалить старые ядра описаны в отдельной статье.
Выводы
В этой статье мы рассмотрели несколько самых распространенных способов того, как выполняется очистка Ubuntu от хлама. Они помогут вам поддерживать систему в чистоте. Если вы знаете другие методы, напишите в комментариях!
APT кеш – это то место, куда сохраняются файлы с каждого обновления.
Для определения количества места, занимаемого APT кешем, нужно ввести команду в терминале:
Для того, чтобы отчистить APT кеш, нужно ввести в терминале следующую команду:
Удаление ненужных пакетов и зависимостей
Для удаления пакетов, которые больше не требуется, нужно ввести в терминале следующую команду:
Для удаления зависимостей, которые больше не требуется, нужно ввести в терминале следующую команду:
Команда для удаления ненужных зависимостей, оставшихся от Flatpak пакетов:
Удаление неиспользуемых программ
Скорее всего у вас есть программы и игры, которыми вы не пользуетесь или используете очень редко.
Программы и игры в дистрибутивах Linux можно удалить через центр программ или посредством команды в терминале.
Удаление через центр программ Discover (можно удалять программы и игры, установленные посредством Deb и Snap пакетов):
Удаление программы, установленной посредством Deb пакета
Команда для удаления программы/игры посредством терминала:
package – название программы
Команда для удаления сразу нескольких программ/игр посредством терминала:
Удаление программы, установленной посредством Snap пакета
Команда для удаления сразу нескольких программ/игр (Snap) посредством терминала:
Удаление программы, установленной посредством Flatpak пакета
Команда для удаления программы/игры (Flatpak) посредством терминала:
Удаление старых пакетов программ
После каждого обновления пакетов (программ/игр/ядер/прочего) остаются их старые версии/зависимости/конфигурационные файлы, поэтому их нужно удалять, чтобы освободить место.
Удаление старых пакетов программ посредством менеджера пакетов Synaptic
Для того чтобы удалить старые пакеты программ, нужно открыть менеджер пакетов Synaptic, далее нажмите на кнопку “Состояние”, далее выберите вкладку “Неустановленные (остались файлы настроек)”
Далее нужно выбрать все пакеты: нажимаем на любой пакет, а потом CTRL+A (выделяем все пакеты). Далее нужно нажать правой кнопкой мыши для вызова контекстного меню, далее выбираем пункт “отметить для полного удаления”. Далее нужно нажать на кнопку “Применить” или Правка —> Применить отмеченные изменения
Удаление старых конфигурационных файлов программ посредством терминала
Команда для просмотра списка всех пакетов, от которых остались старые конфигурационные файлы:
Команда для удаления старых конфигурационных файлов определённой программы:
Команда, чтобы удалить все старые конфигурационные файлы:
Поиск дубликатов файлов
Поиск и удаление дубликатов файлов с помощью графической программы FSlint (имеются и другие инструменты для очистки системы от мусора)
Для начала нужно выбрать папку для сканирования на наличие дубликатов, нажав на кнопку “Add”. Далее нужно выбрать вкладку “Дубликаты” и нажать на кнопку “Найти”.
После завершения поиска дубликатов, будут отображены найденные дубликаты файлов, вы можете их удалить или объединить:
Очистка системы посредством графических программ
Программа BleachBit позволяет производить очистку: APT кеша, данные различных программ (Firefox, Thunderbird, LibreOffice и других), временных файлов и прочего мусора.
Программа Stacer позволяет производить очистку: кеша пакетов, отчёты о сбоях, системные журналы, кеш приложений и корзину.
Читайте также: