Мало места на диске возможны сбои в работе астра линукс
О чем это я?
Начинающиеся пользователи linux могут столкнуться с проблемой, когда на жестком диске начинается заканчиваться свободное место. Казалось бы ничего нового не устанавливали, а памяти с каждым днем все меньше и меньше до тех пор пока система совсем не откажется работать.
Данная статья поможет новичкам разобраться с проблемой быстро и без паники.
Диагностика
Чтобы убедиться, что виноваты именно логи нужно заглянуть в каталог /var/log через файловый менеджер или команду оценки размера каталога du .
Если размеры этой папки больше 100Мб, то проблема наверняка в них.
tmpfs /var/log/apt tmpfs defaults 0 0
tmpfs /var/log tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
Сохраняем файл, перезагружаемся.
Автор: Дядя Вася, дата: 02 июня 2010 , время: 02:17:52 (MSK).
Отвратительная статья, напоминающая потуги одного известного шахтёра на центральном канале рассказывать людям о лечении болезней.
По пунктам:
1) В нормальной системе логи программ ротируются с помощью logrotate, которая удаляет логи старше определённого возраста. В итоге логи в нормальных ситуациях не растут дальше определённого размера.
2) Отключить сислог значит лишить систему возможности сообщать о критических проблемах. Решение с tmpfs не такое резкое, но не менее глупое: логи после ребута теряются, а память (оперативная) засирается.
В итоге вместо демонстрации знания tmpfs автору следовало бы показать как поставить logrotate и рассказать про anacron.
Автор: Дядя Вася, дата: 02 июня 2010 , время: 02:18:13 (MSK).
Дальше уже просто про безграмотность:
Автор предлагает остановить rsyslog. Даже если закрыть глаза на то, что в конкретном дистре может быть другая реализация сислога (на вскидку их не менее четырёх), возникает вопрос: останавливать его теперь надо будет после каждой загрузки? Почему не рассказать как полностью запретить запуск демона (хотя бы и на примере любимого дистра автора).
И ещё. Я понимаю, что статья для новичков, но всё же никто не называет место на жёстком диске памятью, даже если с точки зрения теории это верно. Памятью называют оперативную память, а на жёстком диске -- там "место".
Автор: Subsanek, дата: 02 июня 2010 , время: 07:01:52 (MSK).
>В нормальной системе логи программ ротируются с помощью logrotate
Но у нас ненормальная ситуация. В таких случаях обычно быстрее заполняется всё место, чем удаляются старые логи.
>Отключить сислог значит лишить систему возможности сообщать о критических проблемах.
Если есть подозрения на критические проблемы, то можно и снова включить.
>автору следовало бы показать как поставить logrotate
Ну будет быстрая ротация, но сколько памяти то писаться будет (по сотни мегабайт в день) что очень не благоприятно скажется на производительности.
>Почему не рассказать как полностью запретить запуск демона (хотя бы и на примере любимого дистра автора).
Зайти /etc/init.d и лишить право на запуск rsyslog либо другой демон, в зависимости от дистрибутива.
chmod -x /etc/init.d/rsyslog
Опытные пользователи могут отредактировать конфиг системы логирования (тот-же rsyslog.conf).
Автор: Просто юзер, мимо проходил, дата: 02 июня 2010 , время: 07:49:20 (MSK).
Вот как обычному человеку, мне кажется, что вы игнорируете причину и лечите следствие. Как вы же сами выше сказали, если логи быстро растут, значит что-то работает не так. ТАК ПОЧЕМУ бы нам не починить то, что не так работает?
Автор: vadim303, дата: 02 июня 2010 , время: 09:46:33 (MSK).
Полностью солидарен с предыдущими ораторами :) Бесполезная, или даже скорее вредная статья.
И кстати logrotate не только удаляет старые логи, но также способен ограничивать размер этих логов и количество ротаций, а также пересылку их с последующим удалением. ну и действительно, для начала неплохо было бы разобраться кто и почему так засирает логи :)
Да, и вместо аморфного linux было бы неплохо писать дистрибутив. Ведь не только сами демоны могут быть разными, но и методы их остановки-запуска: системы инициализации тоже различаются :)
Автор: Subsanek, дата: 02 июня 2010 , время: 11:15:55 (MSK).
>ТАК ПОЧЕМУ бы нам не починить то, что не так работает?
Это конечно более хорошая идея, но как уже писалось в статье, новички не смогут разобрать логи и возможно они пишуться из-за бага. В Networkmanager по сей день этот баг присуствует и вылечить его можно только написание патча вручную (новичку предлогать?) или использованием вообще другого менеджера.
>И кстати logrotate.
Заинтересовали, в ближайшее время поизучаю logroate и напишу еще статью если это будет действительно хорошим инструментом.
Но тем не менее при записи сотен строк в секунду проблема будет еще с производительностью системы в целом, а это бональным инструментом очистки не решить!
Автор: yuri, дата: 02 июня 2010 , время: 14:24:26 (MSK).
Автору большой плюс за то, что не стирает комментарии. Новички смогут ознакомиться и с другими решениями, озвученными в коментах.
А убрать из "автозагрузки" сервис путем убирания бита выполняемости - это круто.
Никогда так не делайте, ищите способы, характерные для дистриба. chkconfig для RH-based, rc-update для gentoo и т.д.
Во-первых при обновлении этого скрипта его права восстановятся (а пользователь не заметит и служба начнет выполнятся снова).
Во-вторых, если за машину сядет более опытный пользователь - ему придется разбираться, почему же сервис не запускается штатными средствами.
Автор: Subsanek, дата: 02 июня 2010 , время: 19:11:33 (MSK).
>другими решениями
Решений много.
Некоторые даже пишут скрипт копирования всех логов в /dev/null =)
Автор: Дядя Вася, дата: 03 июня 2010 , время: 15:29:41 (MSK).
Дядя Федя, говорят, в свежих версиях coreutils удаление "/" уже так просто не прокатывает ;-)
Автор: Дядя Вася, дата: 03 июня 2010 , время: 15:32:21 (MSK).
Subsanek, обычно когда происходит критическая проблема, её причину и ищут в логах, постфактум. Постфактум тут ключевое слово.
Ну и в нормальном дистре просто нереально иметь такую проблему с NM. Либо ты юзаешь какой-то bleeding edge, и тогда незачем рядиться в шкуру "обычного пользователя", либо у тебя просто не бывает такой проблемы.
А то, что не удаляешь комментарии -- действительно молодец.
Автор: Subsanek, дата: 03 июня 2010 , время: 15:44:38 (MSK).
>Либо ты юзаешь какой-то bleeding edge
>А то, что не удаляешь комментарии -- действительно молодец.
Зачем их удалять-то ?
Автор: galaxyman, дата: 03 июня 2010 , время: 16:58:10 (MSK).
по моему есть где то в конфиге опция - детализации логов, я уже сталкивался с такой проблемой
если уменьшить детализацию (подробность) логов, то сервис отключать не нужно
Автор: Дядя Петя, дата: 14 января 2011 , время: 17:02:44 (MSK).
Спасибо за статью и обсуждения. Здесь как раз достаточно информации для того чтобы разобраться с логами. У меня кстати вопрос стоит более остро - 1 Гб за час. Спасмит библиотечка alsa_sync.c.
Автор: Monte, дата: 18 марта 2014 , время: 12:38:08 (MSK).
Столкнулся с такой же проблемой.
Из споров понятно что нужно найти логи которыен растут из них определить причину. Хотя бы увидеть про што хоть логи. А уж потом лечить. И ни как не могу найти папку размер которой растет. какой Вариант поиска предложили бы Специ.
Заранее благодарен
Автор: Subsanek, дата: 03 апреля 2014 , время: 16:53:40 (MSK).
Monte, найти папки большого размера можно попробовать через анализатор Baobab (на нашем сайте есть о нём статья).
Инструмент du, описанный далее, по умолчанию работает с занятым местом на диске, а не с размером файловых данных.
Инструменты find и baobab, описанные далее, оперируют размерами файловых данных, а не с занятым на диске местом, и при наличии разреженных файлов с высокой вероятностью выдают искаженные результаты.
Плохие блоки
Ещё одна распространённая проблема — это плохие блоки в файловой системе. Со временем из-за износа дисков, файловые системы повреждаются. Ваша операционная система, скорее всего, увидит эти блоки пригодными для использования, если они не помечены иным образом. Лучший способ найти и пометить эти блоки — использовать fsck с флагом -cc. Помните, что вы не можете использовать fsck из той же файловой системы, которую тестируете. Вам, вероятно, понадобится использовать Live CD.
Очевидно, замените /dev/sda2 на имя того диска и раздела, который вы хотите проверить. Кроме того, имейте в виду, что это, вероятно, займёт много времени.
Надеюсь, одно из этих решений решило вашу проблему. Эту проблему не всегда легко диагностировать в каждом случае. Однако, если повезёт, вы сможете устранить источник проблемы и продолжить пользоваться системой без её переустановки.
Со временем любая операционная система может засоряться по мере установки и удаления программ. Если ваш диск более 1 Тб, вы можете не утруждать себя очисткой Ubuntu, чтобы освободить место на диске. Но если ваш жесткий диск имеет ограниченное пространство, например, у меня 128 ГБ SSD в ноутбуке, освобождение дискового пространства становится необходимостью.
В этой статье я покажу вам некоторые из самых простых трюков, чтобы очистить вашу систему Ubuntu и получить больше места. Я также поделюсь некоторыми продвинутыми трюками, чтобы у вас был выбор.
Но перед этим давайте посмотрим, как найти свободное место, оставшееся на Ubuntu.
2. Удалите ненужные приложения [Рекомендуется]
У всех нас есть несколько игр и/или приложений, которые мы почти не используем. Думаете, это не так? Попробуйте найти всё установленное программное обеспечение в вашей системе Ubuntu.
Скорее всего, у вас установлено несколько приложений, которые вы редко используете. Может быть, вы установили их после просмотра какого-либо крутого обзора, из любопытства или для выполнения определенной задачи.
Если вам нужно больше места, избавиться от неиспользуемых или менее часто используемых приложений - это всегда хорошая идея.
Вы можете удалить программы в Ubuntu прямо в центре программного обеспечения или с помощью приведенной ниже команды, если знаете правильное название приложения:
3. Очистка APT-кэша в Ubuntu
Ubuntu использует APT (Advanced Package Tool) для установки, удаления и управления программным обеспечением в системе, при этом он сохраняет кэш ранее загруженных и установленных пакетов даже после их удаления.
Система управления пакетами APT хранит кэш DEB пакетов в /var/cache/apt/archives. Со временем этот кэш может увеличиваться и содержать множество пакетов, которые вам не нужны.
Вы можете увидеть размер этого кэша с помощью команды du ниже:
Как видите, у меня более 500 Мб кэш-памяти. Когда у вас почти нет места, эти 500 Мб могут быть очень полезными.
Теперь у вас есть два способа очистить APT кэш.
Либо удалить только устаревшие пакеты, как те, которые были заменены недавним обновлением, что делает их совершенно ненужными.
Либо удалить кэш apt целиком (освобождает больше дискового пространства):
7. Поиск и удаление дубликатов файлов
Иногда у вас могут быть дубликаты файлов в разных местах вашей системы. Избавление от дубликатов, безусловно, освободит некоторое пространство и очистит вашу систему Ubuntu.
Для этой задачи можно использовать графический интерфейс, такой как FSlint, или инструмент командной строки, такой как FDUPES.
Что делать, если закончилось место в Linux
Вполне возможно, что на диске действительно закончилось место, тогда вам рекомендуются следующие статьи:
Если же место на самом деле имеется, то продолжайте чтение.
Поиск дубликатов файлов: fslint
После подключения репозитория Debian установить пакет:
После запуска инструмент автоматически настроен на проверку домашнего каталога текущего пользователя, при необходимости можно составить свой список каталогов для поиска дубликатов:
Поиск дубликатов инициируется нажатием на кнопку "Найти", в списке найденных объектов отображается их размер:
Для анализа файлов, не принадлежащих текущему пользователю, инструмент может быть запущен с привилегиями суперпользователя из командной строки:
Эта ситуация выглядит странной и непонятной — что нужно сделать для очистки диска, если место и так есть?
У меня такая проблема возникла на сервере в результате чего любые процессы, которые требуют создания файлов, сохранения временных файлов и даже файлов блокировки стали выдавать ошибки при запуске.
Подобная ситуация возникала на этом же сервере накануне и помогла очистка логов, очистка кэша установленных пакетов и удаление ненужных файлов. Но на следующей день ситуация повторилась, хотя места уже точно было достаточно — несколько свободных гигабайт места на диске.
Завершение
Итак, вы видели несколько способов очистки системы Ubuntu. Лично я использую apt-get autoremove чаще, чем любые другие команды, показанные здесь. Регулярное использование этой команды освобождает систему от лишних файлов.
Надеюсь, эта статья помогла Вам освободить место в Ubuntu, Linux Mint и других подобных дистрибутивах. Дайте мне знать, сработало ли это для Вас, или у Вас есть другой совет, которым Вы можете поделиться.
Я не профессионал в Linux системах поэтому сильно ногами не бить. С недавнего времени корень диска забился на 100% до сих пор не могу найти где собака зарыта. Может Вы мне покажете где искать?
ну где эти 194 гига ума не приложу ?
так же делал поиск файлов больше 100 мб . поиск дал пару гиговых файлов, и несколько 300, 500 и 700 мб. Но это капля в море.
Что в /var/log/?
ФС какая?
lost+found удали.
Как вариант, что-то удалил, оно используется, на диске не видно, но место еще занимает, попробуй перегрузится.
Если ФС журналируемая, то какая именно и сколько уже находится в эксплуатации?
/dev/sda6 148G 87G 62G 59% /home
/dev/sda5 130G 763M 129G 1% /var
Как вариант, отмонтируй эти разделы (скорее всего не захотят, поэтому удали с fstab, перезагрузись, (за последствия не отвечаю, но Х-ы не загрузятся ) , или грузнись с лайв-диска) и посмотри что в sda2/home sda2/var? Может раньше все было на sda2 или, например, часть файлов пишется в sda2/var/. вместо sda5/.
Кстати, наиболее вероятный вариант. У тебя скорее всего старый /home остался на /dev/sda2 и при загрузке системы перекрывается примонтированным разделом, но место на диске все равно ведь занимает.
А я то тут причем?? о_О
Возможно какой-то лог пишется в /var/log/, который на sda2 (до того, как sda5 монтируется), у меня dmesg (ЕМНИП) на дебиане за месяца 2 набег ~1.5 гб (правда весь / был на одном разделе, кроме хоума.)
Вы тут не при чем :-)
Лог не может писаться в корень, потому что все разделы монтируются одновременно, а / до этого момента в readonly. Вроде даже в rw / перемонтируется уже после монтирования других ФС, но идея здравая. Что-то в /home или /var на sda2 может лежать (от предыдущей системы, например) и портить всю картину.
А как мне распознать и вытащить этот старый /home? Я этот сервак не ставил он мне по наследству достался от предыдущего админа. Я с ним никаких манипуляций не совершал, доступ к инету у него нет.
Грузишься с лайв диска, монтируешь корень sda2 (mount /dev/sda2 /mnt/), cd /mnt/ смотришь что там.
Можно просто выйти в терминал, выйти всемя пользователями (кроме рута), прихлопнуть Х-ы, umount /home/
cd /home
ls
Можно просто выйти в терминал, выйти всемя пользователями (кроме рута), прихлопнуть Х-ы, umount /home/ ; cd /home ; ls
Но /var на 'лету' не отмонтируешь просто-так.
Я бы прям сейчас попробовал с лайв сд смонтировать sda2, но сервак рабочий пока :) так что придется после рабочего дня смотреть. Спасибо Всем за ответы.
Пожалуйста, но это не обязательно так будет. Хотя я другой причины не вижу.
Покажи, что и как сейчас смонтировано в системе mount -l
Вот. до сих пор напоминает о себе:
Failure Reason: Unable to connect to connect to 143 on 127.0.0.1: No buffer space available: connect: No buffer space available . propagated at /usr/local/cpanel/Cpanel/TailWatch/ChkServd.pm line 454.
Number of Restart Attempts: 21
Startup Log: /etc/init.d/dovecot: line 15: 23742 Alarm clock /usr/sbin/dovecot > /dev/null 2>&1 /etc/rc.d/init.d/cpfunctions: fork: Cannot allocate memory /etc/init.d/dovecot: line 15: 3345 Alarm clock /usr/sbin/dovecot > /dev/null 2>&1
скорее всего не захотят, поэтому удали с fstab, перезагрузись, (за последствия не отвечаю, но Х-ы не загрузятся ) , или грузнись с лайв-диска)
5. Удаление старых версии Snap-приложений [Средний уровень]
Вы, наверное, уже знаете, что Snap-пакеты больше по размеру. Кроме того, в Snap хранятся как минимум две старые версии приложения (в случае, если вы хотите вернуться к предыдущей версии). Это съедает огромную часть пространства. В моем случае эта часть составляла более 5 GB.
Алан Поуп (Alan Pope), член команды Snapcraft в Canonical, создал небольшой скрипт, который вы можете использовать и запускать для очистки всех старых версий ваших snap приложений.
Здесь вам нужно создать новый shell скрипт и использовать следующие строки в нем:
Дайте ему разрешение на выполнение, запустите скрипт оболочки с помощью sudo и увидите магию. Скрипт удалил старые пакеты Snap и освободил более 2,5 ГБ пространства, используемого Snap.
Другие методы очистки системы [Для экспертов]
Удаление старых ядер Linux, которые были установлены вручную [Для экспертов].
Команда, рассмотренная в пункте 1, удаляет старое ядро Linux. Но она не сработает, если вручную установить ядро в Ubuntu. Но удаление старого, неиспользуемого ядра Linux все равно сэкономит Вам много места.
Поэтому, если Вы вручную установили ядро Linux, возможно, Вы сможете вручную и удалить его.
Сначала перечислите все установленные ядра Linux:
Удаление старых ядер - то же самое, что и удаление любого другого пакета. Я использую shell для набора номеров версий, чтобы немного сэкономить время на перепечатывании. Это подскажет вам список пакетов, которые будут удалены, так что вы можете дважды проверить этот список перед тем, как продолжить.
Замечание: Замените VERSION на версию ядра, которую хотите удалить.
Я рекомендую хранить как минимум два или, желательно, три ядра, включая самые последние. Таким образом, у вас будет по крайней мере одно/два других ядра для загрузки, если по какой-то причине последнее ядро не может быть загружено.
Удаление осиротевших пакетов [Для экспертов]
Этого шага лучше всего избегать, если вы новичок. Я не являюсь поклонником этого метода и советую вам избегать его.
Во-первых, давайте посмотрим, что такое осиротевший пакет в Ubuntu.
Предположим, вы установили пакет "myprogram". Но у этого пакета есть зависимость от библиотеки 'mylib'. Эта библиотека обычно устанавливается автоматически с помощью 'myprogram'. Когда вы удаляете 'myprogram', mylib может остаться в системе. Таким образом, mylib, в данном случае, становится сиротским пакетом.
Теперь команда, перечисленная в пункте 1, удаляет такие осиротевшие пакеты. Но представьте себе случай, когда вы вручную установили mylib перед установкой myprogram. Команда 'apt autoremove' в данном случае может не удалить осиротевший пакет. Следовательно, вам придется удалить его вручную.
Сначала вы должны найти все осиротевшие пакеты, а затем удалить их. К счастью, у нас есть GUI-инструмент для этого: gtkorphan, графическая оболочка для deborphan.
Установите gtkorphan через терминал:
А чтобы удалить осиротевшие пакеты, найдите инструмент Removed Orphaned Package и запустите его:
Честно говоря, я бы не рекомендовал этот вариант, если конечно тебе действительно не нужен каждый Мб свободного пространства.
Недостаточно Инод (Inode)
Для современных файловых систем Linux есть такое понятие как иноды (“inodes”) - это набор метаданных на файловой системе. Иноды отслеживают информацию о файлах. Многие файловые системы имеют фиксированное количество инод, поэтому очень возможно занять максимальное выделенное количество без заполнения самой файловой системы. Вы можете использовать для проверки команду df:
Сравните количество существующих инод с количеством занятых. Если больше нет свободных, к сожалению, вы не можете получить больше. Выход: удалите ненужные или устаревшие файлы для очистки инод.
В нормальных условиях, даже на системах интенсивно использующих постоянное хранилище, редко происходит потребление всех инод. Как правило, исчерпание inodes сигнализирует о другой проблеме. Обычно причиной является неконтролируемое создание огромного количество файлов из-за бага в системе или в программе.
В первую очередь нужно локализовать папку, в которой возникла проблема.
Следующая команда выведет количество используемых инод каждой папкой, присутствующей в корне файловой системы:
Ещё варианты команд, которые делают это же самое (по умолчанию они настроены проверять текущую папку — это можно изменить, для этого вместо точки впишите желаемую для проверки папку:
Когда найдена папка с наибольшим количеством инод, то проверьте её подпапки — для поиска проблемной. Продолжайте эти действия, пока не найдёте папку с огромным количеством нагенерированных файлов.
Например, использование первой команды для поиска по директории /src/:
Вариант для поиска по директории /var/cache/:
В разных ситуациях для пользователей проблемными папками оказывались:
- /var/lib/php/sessions/
- /var/cache/fontconfig
- /usr/src/
- /var/cache/eaccelerator/
- /var/log/squid3/
В /usr/src/ накапливалось слишком большое количество файлов, имеющих отношение к предыдущим ядрам. В /var/lib/php/sessions/ - бесконечные сессии phpMyAdmin. В /var/log/squid3/ и вообще в папке /var/log/ может накопиться огромное количество файлов с журналами от неправильно работающей программы или просто за много лет. В папке /var/cache/ может скопиться огромное количество файлов, имеющих отношение к кэшированию.
В моём случае причиной проблемы оказалась папка /var/cache/fontconfig — в этой папке постоянно накапливаются новые файлы (я не знаю, насколько это нормально) и по итогу работы за 4 года из-за этой папки закончились иноды.
Когда проблемная папка найдена, то нужно её очистить. Скорее всего все файлы в ней не нужны (оцените это исходя из вашей ситуации). Также весьма вероятно, что файлов там астрономическое количество и их обработка может затянуться на часы, поэтому самый быстрый вариант — удалить папку целиком, а затем создать её заново. Даже при таком подходе в моём случае удаление папки /var/cache/fontconfig заняло около 10-20 минут.
Это полностью разрешило мою проблему и снизило количество используемых инод со 100% до 13%:
Удаление файлов занятых процессом
Иногда файл будет удалён, но процесс все ещё использует его. Linux не освободит хранилище, связанное с файлом, пока процесс ещё запущен. Вам просто нужно найти процесс и перезапустить его.
Попробуйте найти процесс.
Если результатов нет, то попробуйте команду:
В списке должен присутствовать процесс, вызывающий проблему, затем просто перезапустите его:
Возможные причины
Возможны разные ситуации возникновения ошибки о том, что диск переполнен, когда на самом деле на нём ещё достаточно места. Если вы видите несоответствие между выводом команд du и df, то перейдите к первому варианту решения проблемы. В противном случае начните со второго.
Бонус: Использование графических инструментов GUI для освобождения пространства в Ubuntu
Мы видели несколько вариантов работы с командной строкой, чтобы освободить место в системе Linux, но я пойму, если вы не хотите использовать команды.
Запоминать все команды или использовать их все по очереди может быть неудобно. И именно поэтому у нас есть ряд GUI инструментов, которые помогут вам сделать это за несколько кликов с помощью простого в использовании интерфейса.
Stacer - это один из таких инструментов, который вы можете использовать.
Информация о свободном дисковом пространстве: df
Для получения информации о свободном дисковом пространстве используется команда df (Disk Free).
Наиболее употребительно применение команды с опцией -h, задающей вывод информации в удобном для чтения формате. Для каждой примонтированной файловой системы команда выводит следующую информацию:
- название файловой системы;
- общий размер файловой системы;
- заполненный объем;
- доступный объем;
- процент заполнения;
- точка монтирования;
Пример применения команды:
df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
udev 16G 0 16G 0% /dev
tmpfs 3,2G 22M 3,2G 1% /run
/dev/sda1 67G 49G 15G 78% /
tmpfs 16G 8,9M 16G 1% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 16G 0 16G 0% /sys/fs/cgroup
6. Очистка кэша эскизов [Средний уровень]
Ubuntu автоматически создает эскизы для просмотра в файловом менеджере. Эти эскизы хранятся в скрытом каталоге в вашем аккаунте пользователя в каталоге ~/.cache/thumbnails.
Со временем количество эскизов будет резко возрастать. Более того, кэш эскизов со временем будет содержать множество лишних элементов, которые больше не существуют.
Вы можете проверить размер кэша эскизов с помощью следующей команды:
В моей системе кэш эскизов размером более 300 Мб.
Так что это хорошая практика - очищать кэш эскизов каждые несколько месяцев или около того. Самый быстрый способ - использовать терминал (во избежание ошибок просто скопируйте команду):
1. Избавьтесь от пакетов программ, которые больше не требуются [Рекомендуется]
Если вы читали руководство по командам apt-get, вы могли наткнуться на опцию apt-get command 'autoremove'.
Эта опция удаляет библиотеки и пакеты, которые были установлены автоматически для создания зависимостей устанавливаемого пакета. Если пакет был удален, то эти автоматически установленные пакеты бесполезны в системе.
Эта команда также удаляет старые ядра Linux, которые были автоматически установлены при обновлении системы.
Это простая команда, которую вы можете запускать время от времени, чтобы освободить место в системе Ubuntu:
Как видите, эта она освободила 300 Мб свободного пространства в моей системе.
4. Очистка логов системных журналов [Средний уровень]
Проблема в том, что с течением времени эти журналы занимают значительное место на диске. Вы можете проверить размер журнала с помощью этой команды:
Есть способы очистить системные журналы. Самый простой для вас - это очистить журналы, которые старше определенного дня.
Проверьте с du и df
Перед тем как начать искать проблему, давайте убедимся, что на диске действительно есть свободное место. Хотя инструменты с графическим интерфейсом хорошие, намного лучше использовать программы напрямую из командной строки.
Начнём с du. Укажем ей базовую директорию на диске у которого проблемы. Это руководство подразумевает, что проблемным диском является раздел с рутом.
Для обхода всего дерева директорий потребуется время.
Теперь попробуем с df:
Добавьте корень файловой системы (рут) и файловые системы, смонтированные под ним. Например, если у вас есть «/home» на отдельном диске, добавьте это к показанию для root. Количество занятого и свободного пространства должно получиться близко к тому, что нам показала программа du. Если это не так, это может указывать на то, что удалённые файлы используются процессами.
Главное, на что следует обратить внимание, чтобы вывод этих команд о занятом пространстве соответствовал друг другу и размеру диска. Если это не так, значит имеется проблема.
Проверьте свободное место на Убунту
Всегда полезно сначала проверить свободное дисковое пространство в Linux. Сделать это в Ubuntu довольно просто. Просто используйте инструмент Disk Usage Analyzer. Выполните поиск в меню и запустите программу. Здесь вы должны увидеть используемое дисковое пространство, а также оставшееся свободное место:
Как только вы узнали о состоянии свободного места на диске, пришло время очистить систему и освободить здесь еще немного свободного места.
Как освободить дисковое пространство в Ubuntu и Linux Mint
Существует несколько способов очистки дискового пространства в Ubuntu и других системах на базе Ubuntu. Здесь я покажу несколько трюков из командной строки, а также некоторые опции GUI.
Хоть я и упомянул несколько способов здесь, если вы новичок, избегайте тех, которые помечены как "для экспертов". Не то, чтобы вы не можете их использовать, но лучше избегать, если вы не знаете, что делаете.
Я использую Ubuntu 16.04 во время написания этой статьи, но вы можете использовать те же шаги для Ubuntu 18.04 и других версий Ubuntu, Linux Mint, Elementary OS и других дистрибутивов Linux на основе Ubuntu.
Вы также можете посмотреть видео, если не хотите читать.
Поиск дубликатов файлов: fdupes
Для поиска дубликатов файлов можно использовать команду fdupes. По умолчанию эта программа не устанавливается, для установки использовать команду:
Подробная справка по команде доступна в справочной система man:
Графические инструменты не входят в состав дистрибутивов Astra Linux и могут быть установлены из репозитория Debian (см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов).
Информация о занятом пространстве: du
Для получения информации о дисковом пространстве, занятом файловыми объектами, используется команда du (Disk Used).
Пример использования команды для оценки пространства, занятого домашним каталогом пользователя user:
- -c - выводить общий итог;
- -h - выводить в удобном для чтения формате (например, 1K 234M 2G);
- -s - для каждого указанного объекта выводить только общий итог (т.е. для каталогов - не выводить размеры содержащихся в них файловых объектов);
Пример использования для более подробной проверки (отличие в задании файлового объекта для проверки - задан не домашний каталог пользователя /home/user, а все подкаталоги домашнего каталога):
sudo du -sh /home/user/* | sort -rh | head
22G /home/user/Загрузки
18G /home/user/Проекты
4,7G /home/user/ISO
4,2G /home/user/Документы
3,3G /home/user/docs
1,6G /home/user/Звукозапись
1,1G /home/user/tmp
305M /home/user/qt5
85M /home/user/parf
68M /home/user/Архив
В примере применена дополнительная фильтрация результатов, позволяющая выбрать 10 самых крупных объектов:
- команда sort -rh - сортировка строк с результатами:
- -r - сортировка по убыванию;
- -h - сортировка "удобно читаемых чисел" (например, 3K меньше, чем 2M, а 2M меньше, чем 1G);
Подробные справки по командам доступны в справочной система man:
Поиск больших файлов
Для поиска больших файлов можно использовать команду find. Пример:
sudo find /home/user -mount -type f -size +1G
/home/user/Загрузки/20210723SE30MD/20210730SE16.iso
/home/user/Загрузки/20210723SE30MD/repository-update-dev.iso
/home/user/Загрузки/test.qcow2
/home/user/.recoll/xapiandb/position.glass
/home/user/.recoll/xapiandb/termlist.glass
/home/user/.recoll/xapiandb/postlist.glass- /home/user - каталог, в котором выполняется поиск файловых объектов;
- -mount - не искать файловые объекты в других файловых системах (если такие файловые системы примонтированы в подкаталоги - они будут проигнорированы);
- -type f - искать только файловые объекты типа файл;
- -size +1G - искать только файлы с размером более 1G.
Подробная справка по команде доступна в справочной система man:
Информация о занятом пространстве: baobab
После подключения репозитория Debian установить пакет:
После установки инструмент доступен в графическом меню "Пуск" - "Системные" - "Анализатор использования дисков".
После запуска инструмент предлагает выбрать объект для анализа:
После выполнения анализа предоставляется список объектов с диаграммой сравнительных размеров:Далее возможны движение по иерархии объектов, выбор и анализ объектов, удаление объектов и т.д.
Для анализа файлов, не принадлежащих текущему пользователю, инструмент может быть запущен с привилегиями суперпользователя из командной строки:
Читайте также: