Автоматическая диагностика в smartd
Автоматическая диагностика HDD в Linux настраивается очень просто. Сначала отредактируйте файл конфигурации smartd — /etc/smartd.conf. Добавьте следующую строку:
Здесь:
- -m <email адрес> — адрес электронной почты для отправки результатов проверки. Это может быть адрес локального пользователя, суперпользователя или внешний адрес, если настроен сервер для отправки электронной почты;
- -M — частота отправки писем. once — отправлять только одно сообщение о проблемах с диском. daily — отправлять сообщения каждый день если была обнаружена проблема. diminishing — отправлять сообщения через день если была обнаружена проблема. test — отправлять тестовое сообщение при запуске smartd. exec — выполняет указанную программу в место отправки почты.
Сохраните изменения и перезапустите smartd:
Вы должны получить на электронную почту письмо о том, что программа была запущена успешно. Это будет работать только если на компьютере настроен почтовый сервер.
Также можно запланировать тесты по своему графику, для этого используйте опцию -s и регулярное выражение типа T/MM/ДД/ДН/ЧЧ, где:
Здесь T — тип теста:
- L — длинный тест;
- S — короткий тест;
- C — тест перемещения (ATA);
- O — оффлайн тест.
Остальные символы определяют дату и время теста:
- ММ — месяц в году;
- ДД — день месяца;
- ЧЧ — час дня;
- ДН — день недели (от 1 — понедельник 7 — воскресенье;
- MM, ДД и ЧЧ — указываются с двух десятичных цифр.
Точка означает все возможные значения, выражение в скобках (A|B|C) — означает один из трех вариантов, выражение в квадратных скобках означает диапазон (от 1 до 5).
Например, чтобы выполнять полную проверку жесткого диска linux каждый рабочий день в час дня добавьте опцию -s в строчку конфигурации вашего устройства:
Если вы хотите чтобы утилита сканировала и проверяла все устройства, которые есть в системе используйте вместо имени устройства директиву DEVICESCAN:
Как узнать свободное место на диске Linux
В Windows для того чтобы получить представление о свободном месте на дисках компьютера достаточно открыть мой компьютер. Там в очень наглядном виде представлен список дисков и подробная информация сколько места доступно в нашей системе, сколько уже использовано и сколько осталось свободно.
В главном окне файловых менеджеров Linux нет такой возможности, так же как и нет разделения диски, по умолчанию просто открывается домашняя папка. В Linux все разделы диска подключаются к корневой файловой системе, в определенные подкаталоги. При доступе к файловой системе мы невидим никаких дисков, есть только корневая файловая система. При работе с ней возникает ощущение, что это одна файловая система, не разделенная на разделы. Это очень удобно, но по-началу может показаться непривычным. Управление разделами и их размером выполняется с помощью специальных утилит.
В этой инструкции мы рассмотрим несколько способов узнать свободное место на диске linux. Мы рассмотрим как консольные утилиты, так и утилиты с графическим интерфейсом.
Управление квотами
Настройка лимитов квот (непосредственное управление квотами) производится при помощи команды edquota. Формат команды:
edquota
Несколько опций команды edquota:
-u, —user | Редактировать пользовательские квоты |
-g, —group | Редактировать групповые квоты |
-r, —remote | Редактировать квоты на удаленной системе |
-f, —file-system=<файловая-система> | Редактировать квоты только на указанной файловой системе |
-t, —edit-period | Редактировать временные лимиты для мягких квот, которые указываются в единицах времени — минутах, секундах, и так далее |
После редактирования квот может потребоваться перезапустить сервис quota
service quota restart
Теперь давайте создадим пользователя и настроим для него квоты
# adduser user1 Adding user `user1' ... Adding new group `user1' (1003) ... Adding new user `user1' (1004) with group `user1' ... Creating home directory `/home/user1' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for user1 Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] #
Пользователь создан. Добавим для него следующие ограничения: пусть он не может использовать больше 1 мегабайта и может создать только 3 файла на файловой системе, смонтированной в /mnt/storage.
Выполним команду
edquota -u user1
В редакторе вы увидите следующее:
Disk quotas for user user1 (uid 1004): Filesystem blocks soft hard inodes soft hard /dev/sdb1 0 0 0 0 0 0
Выставим следующие значения для квот по пространству: soft — 768, hard — 1024, по inodes: soft — 2, hard — 3.
Disk quotas for user user1 (uid 1004): Filesystem blocks soft hard inodes soft hard /dev/sdb1 0 768 1024 0 2 3
И выйдем с сохранением. Теперь посмотрим, сохранились ли квоты. Залогинимся под пользователем user1 и перейдем в директорию /mnt/storage. Попробуем создать файл большого размера:
$ cd /mnt/storage $ cat /dev/urandom > file.dat sdb1: warning, user block quota exceeded. sdb1: write failed, user block limit reached. cat: write error: Disk quota exceeded
Как видите, квота пользователя исчерпана. Посмотрим, что у нас есть на дисковой системе:
$ ls -l total 1056 -rw------- 1 root root 7168 Apr 23 16:03 aquota.group -rw------- 1 root root 7168 Apr 23 15:59 aquota.user -rw-r--r-- 1 user1 user1 1044480 Apr 23 16:03 file.dat drwx------ 2 root root 16384 Apr 23 15:33 lost+found
Как видите, размер файла 1 мегабайт. Теперь надо проверить, работает ли ограничение на количество файлов. Удалим file.dat и попробуем создать четыре файла.
$ rm file.dat $ touch file1 file2 file3 file4 sdb1: warning, user file quota exceeded. sdb1: write failed, user file limit reached. touch: cannot touch `file4': Disk quota exceeded
Файл file4 мы не смогли создать, потому что сработало ограничение на количество файлов. Смотрим, какие файлы у нас есть:
$ ls -l total 32 -rw------- 1 root root 7168 Apr 23 16:07 aquota.group -rw------- 1 root root 7168 Apr 23 16:06 aquota.user -rw-r--r-- 1 user1 user1 0 Apr 23 16:07 file1 -rw-r--r-- 1 user1 user1 0 Apr 23 16:07 file2 -rw-r--r-- 1 user1 user1 0 Apr 23 16:07 file3 drwx------ 2 root root 16384 Apr 23 15:33 lost+found
Как видите, управление квотами работает.
Просмотреть установленные квоты можно при помощи команды quota. Вот несколько опций:
-u, —user | Вывод информации для пользователя |
-g, —group | Вывод информации для группы |
-v, —verbose | Вывод подробной информации |
-s, —human-readable | Вывод информации в удобном для чтения человеком виде |
-l, —local-only | Выводить информацию только по локальным файловым системам, то есть не выводить информацию о сетевых файловых системах |
Давайте посмотрим информацию для пользователя user1:
# quota -u user1 Disk quotas for user user1 (uid 1004): Filesystem blocks quota limit grace files quota limit grace /dev/sdb1 0 768 1024 3* 2 3 6days
По поводу просмотра квот есть одно замечание. Они могут не отображаться сразу после создания, пока пользователь не создал ни одного файла.
Также можно воспользоваться командой repquota для просмотра квот, которые в данный момент присутствуют в системе.
# repquota -a *** Report for user quotas on device /dev/sdb1 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 20 0 0 2 0 0 user1 -+ 0 768 1024 3 2 3 6days
У команды repquota также есть дополнительные опции командной строки.
Как включить режим расширенной информации в ncdu
Для включения режима расширенной информации нужно при запуске программы указать опцию -e. Это приведёт к тому, что кроме обычной информации о файле, для каждой папки и файла также будут прочитаны данные о его владельце, правах доступа и о времени последнего изменения. Это потребует большего использования памяти (примерно на 30%) и большего размера файла вывода при экспорте данных:
ncdu -x -e /
При использовании функции экспорта/импорта файлов этот флаг необходимо будет добавить как при экспорте (чтобы убедиться, что информация добавлена в экспорт), так и при импорте (чтобы прочитать эту дополнительную информацию в память). Этот флаг не действует при импорте файла, который был экспортирован без расширенной информации.
Это позволяет просматривать и сортировать по последнему дочернему mtime или времени изменения, используя кнопки «m» и «M» соответственно.
Опции интерфейса
-0
Не выводить какую либо информацию во время сканировании директории или импорте файла. Исключением являются произошедшие фатальные ошибки. Ncurses не будет инициализирован пока не завершиться сканирование. Когда экспортируются данные с опцией «-o», ncurses не будет инициализирован вовсе. Эта опция применяется по умолчанию при экспорти из стандартного ввода.
-1
Похожа на «-0», но показывает информацию о процессе сканирования одной строкой вывода. Эта опция применяется по умолчанию при экспортировании в файл.
В некоторых случаях интерфейс браузера ncurses, который вы увидите после завершения сканирования/импорта, может выглядеть искажённым при использовании этой опции. Если вы не экспортируете в файл, то опция «-2», вероятно, является лучшим выбором.
-2
Эта опция предоставляет полноэкранный интерфейс ncurses во время сканирования директорий или импорта из файла. Только этот интерфейс будет предоставлять информацию о нефатальных ошибках во время сканирования.
-q
Тихий режим. Во время сканирования или импорта, ncdu по умолчанию будет обновлять экран 10 раз в секунду. Эта опция включит тихий режим, во время которого обновление экрана будет уменьшено до каждых 2 секунд.
Используйте эту функцию для сохранения пропускного канала с удалённым хостом (при анализе другого компьютера). Эта опция не имеет эффекта когда используется «-0».
-r
Режим только чтение. Он отключит встроенную возможность удаления файла. Эта опция не имеет эффекта когда используется «-o», поскольку в этом случае не будет браузера интерфейса.
Она не имеет эффекта когда используется «-f», поскольку в этом случае функция удаления всё равно отключена.
Внимание: эта опция предотвратит только удаление из файлового браузера. По прежнему возможно открыть шелл из ncdu и удалить или изменить файлы оттуда
Для отключения и этой функции, укажите опцию «-r» дважды (смотрите «-rr»).
-rr
Эта опция в дополнении к эффекту «-r», также отключит возможность открытия шелла из файлового браузера.
—si
Выводит размеры используя префикс 10, то есть, степеней от 1000 (KB, MB и т. д.) как определено в International System of Units (SI), вместо обычных префиксов на основе 2, то есть степеней 1024 (KiB, MiB и т.д.).
—confirm-quit
Если указать эту опцию, что перед выходом из ncdu будет требоваться подтверждение. Очень полезно если вы случайно нажимаете ‘q’ во время или после долгого сканирования.
—color СХЕМА
Выбрать цветовую схему. В настоящее время распознаются только две схемы: off для отключения цветов (применяется по умолчанию) и dark для цветной схемы предназначенной для тёмных фонов.
Команда ls linux
Как обычно, в таких статьях сначала нам нужно понять синтаксис команды, чтобы вы знали как правильно ее использовать. На самом деле, синтаксис очень прост, вы набираете саму команду, а после нее путь к папке, содержимое которой хотите посмотреть. Если вы запустите команду без пути, то она выдаст содержимое текущего каталога:
$ ls опции/путь/к/папке
Опции команды указывают как именно и в каком виде нужно выводить информацию на экран, а путь, это та папка, которую нужно отобразить. Рассмотрим основные опции утилиты:
- -a – отображать все файлы, включая скрытые, это те, перед именем которых стоит точка;
- -A – не отображать ссылку на текущую папку и корневую папку . и ..;
- –author – выводить создателя файла в режиме подробного списка;
- -b – выводить Escape последовательности вместо непечатаемых символов;
- –block-size – выводить размер каталога или файла в определенной единице измерения, например, мегабайтах, гигабайтах или килобайтах;
- -B – не выводить резервные копии, их имена начинаются с ~;
- -c – сортировать файлы по времени модификации или создания, сначала будут выведены новые файлы;
- -C – выводить колонками;
- –color – включить цветной режим вывода, автоматически активирована во многих дистрибутивах;
- -d – выводить только директории, без их содержимого, полезно при рекурсивном выводе;
- -D – использовать режим вывода, совместимый с Emacs;
- -f – не сортировать;
- -F – показывать тип объекта, к каждому объекту будет добавлен один из специализированных символов */=>@|;
- –full-time – показывать подробную информацию, плюс вся информация о времени в формате ISO;
- -g – показывать подробную информацию, но кроме владельца файла;
- –group-directories-first – сначала отображать директории, а уже потом файлы;
- -G – не выводить имена групп;
- -h – выводить размеры папок в удобном для чтения формате;
- -H – открывать символические ссылки при рекурсивном использовании;
- –hide – не отображать файлы, которые начинаются с указанного символа;
- -i – отображать номер индекса inode, в которой хранится этот файл;
- -l – выводить подробный список, в котором будет отображаться владелец, группа, дата создания, размер и другие параметры;
- -L – для символических ссылок отображать информацию о файле, на который они ссылаются;
- -m – разделять элементы списка запятой;
- -n – выводить UID и GID вместо имени и группы пользователя;
- -N – выводить имена как есть, не обрабатывать контролирующие последовательности;
- -Q – брать имена папок и файлов в кавычки;
- -r – обратный порядок сортировки;
- -R – рекурсивно отображать содержимое поддиректорий;
- -s – выводить размер файла в блоках;
- -S – сортировать по размеру, сначала большие;
- -t – сортировать по времени последней модификации;
- -u – сортировать по времени последнего доступа;
- -U – не сортировать;
- -X – сортировать по алфавиту;
- -Z – отображать информацию о расширениях SELinux;
- -1 – отображать один файл на одну строку.
Это были все основные параметры команды ls, которые нам может когда-либо понадобиться использовать. Их очень много, но на деле будут нужны только некоторые из них, вы их быстро запомните, а все остальные сможете всегда найти в этой статье или на странице справки man ls. А теперь давайте рассмотрим несколько примеров использования команды ls linux.
3. Удаление логов (журналов)
В этой папке (/var/log/) можно удалить практически все файлы, но старайтесь сохранить структуру папок, поскольку некоторые приложения после удаления здесь папки не в состоянии создать её второй раз…
На веб-серверах могут разрастись слишком сильно журналы веб-сервера.
Для удаления логов Apache на Debian, Linux Mint, Ubuntu, Kali Linux и их производных:
sudo rm -rf /var/log/apache2/*
Для удаления логов Apache на Arch Linux, BlackArch и их производных:
sudo rm -rf /var/log/httpd/*
Чтобы сервер начал создавать новые файлы журналов и записывать в них, нужно перезапустить службу веб-сервера.
В зависимости от интенсивности использования системы, накопленные журналы могут занимать гигабайты. В зависимости от системы файлы могут называться по-разному, более точный анализ рекомендуется выполнять с помощью утилиты ncdu:
sudo ncdu /var/log/
K4DirStat
Если вы пользователь Windows, возможно, вы знакомы с WinDirStat. Знаете ли вы, что WinDirStat на самом деле является клоном инструмента KDE под названием KDirStat? Большинство людей думают, что Linux скопировал Windows здесь, но все наоборот
Хотя это не так важно
K4DirStat это последняя версия, созданная на основе среды рабочего стола KDE4
,
Как и следовало ожидать от ситуации клонирования, K4DirStat выглядит почти идентично WinDirStat: древовидная иерархия, которая предоставляет много предварительной информации и графическую карту внизу, которая разделяет и группирует все файлы в соответствии с каталогом.
Больше сказать нечего. Существует причина, по которой K4DirStat и WinDirStat так популярны: они быстры в изучении, просты в использовании и чрезвычайно полезны для управления дисковым пространством. Если бы я не был пользователем GNOME, я бы наверняка использовал его в качестве основного инструмента анализа.
Просмотр размера текущей папки
Чтобы показать объем просто одного текущего каталога (со всеми вложенными файлами + подкаталогами) подойдёт команда du с ключиком -sh.
Вот пример, как определить размер директории данного сайта:
Если нужно посчитать вес всех директорий плюс файлы — добавляем звёздочку:
Отобразить размеры всех вложенных папок
Чтобы проверить информацию в том числе вообще по всем папкам, вместе со вложенными – понадобится самый короткий вариант:
Внимание: если такой случайно запустить в корне на объёмном диске с большим количеством информации – лучше сразу жмите CTRL-C, т.к. во-первых, иначе придётся сильно подождать , во-вторых, десятки-сотни экранов информации будут бессмысленными
Потому эта простая команда должна использоваться лишь для, соответственно, простых случаев.
iostat — статистика использования устройств и разделов дисков
Утилита iostat также включена в пакет sysstat. Как можно догадаться из названия программы, она создаёт отчёты по статистике ввода/вывода для устройств и разделов. Её особенностью является то, что она показывает обобщённую статистику для всей системы, а также для отдельных носителей, не разбивая её на процессы. Программа iostat может пригодиться когда необходимо ответить на вопрос: «какой из постоянных носителей подвергается наибольшей нагрузке?».
Запуск программы без опций
iostat
выведет два блока информации:
- отчёт по использованию ЦПУ
- отчёт по использованию устройств
Раздел со статистикой использований устройств содержит следующие разделы:
- Device — имя устройства или раздела, как оно указано в /dev
- tps — указывает количество передач в секунду, отправленных на устройство. Передача — это запрос ввода-вывода к устройству. Несколько логических запросов можно объединить в один запрос ввода-вывода к устройству. Размер перевода является неопределённой величиной
- kB_read/s — указывает объём данных, считанных с устройства, выраженный в количестве блоков (килобайт, мегабайт) в секунду. Блоки эквивалентны секторам и поэтому имеют размер 512 байт
- kB_wrtn/s — указывает объём данных, записываемых на устройство, выраженный в количестве блоков (килобайт, мегабайт) в секунду
- kB_dscd/s — указывает количество данных, отбрасываемых устройством, выраженное в количестве блоков (килобайт, мегабайт) в секунду
- kB_read — общее количество прочитанных блоков (килобайт, мегабайт)
- kB_wrtn — общее количество записанных блоков (килобайт, мегабайт)
- kB_dscd — общее количество отброшенных блоков (килобайт, мегабайт)
Отчёт выводит для всей системы с момента её загрузки.
Поскольку по умолчанию данные выводятся в килобайтах, а современные объёмы информации, записываемой на диск, обычно кратны гигабайтом, что цифры трудны для восприятия. Для вывода чисел в удобных для восприятия единицах используйте опцию -h:
iostat -h
Опция -h является эквивалентом указания сразу двух опций —human и —pretty, поэтому если вы не в полной мере довольны видом выводимого отчёта, то попробуйте использовать эти опции по отдельности.
Для вывода максимальной полной информации, укажите опцию -x:
iostat -x
Если вам нужна информация только об устройствах, то используйте опцию -d:
iostat -d
Вы можете запустить команду указав время интервала (в секундах) и счётчик (количество отчётов) — в этом случае программа будет выводить информацию через заданный интервал:
iostat ИНТЕРВАЛ iostat ИНТЕРВАЛ СЧЁТЧИК
Первый отчёт будет содержать информацию с момента загрузки системы, а последующие отчёты будут содержать информацию за период, прошедший с предыдущего отчёта.
Для поиска проблем, вы можете использовать следующую команду, которая непрерывно будет выводить информацию:
iostat -d 1 iostat -dx 1
С помощью iostat вы можете следить за скоростью чтения и записи на всё устройство, а также выявлять отброшенные блоки.
Работа с файловой системой, или что где лежит в Ubuntu/Debian [Для самых маленьких]
Работая в терминале очень часто приходится работать с файловой системой. В этой статье мы узнаем с помощью каких утилит можно работать с файловой системой и в какой папке что лежит.
Работаем с файловой системой
Для работы с файловой системой существует небольшой набор утилит, которые очень часто используются в повседневной жизни. Вот список этих утилит:
- pwd — показывает директорию в которой вы находитесь;
- ls — выводит список папок и файлов в текущей директории, так же можно посмотреть список файлов и папок в любой директории просто указав путь к ней — ls /путь/к/папке. По умолчанию список выводится в некрасивом виде, для изменения вида списка необходимо указать аргумент-l — ls -l /путь/к/папке;
- cat — выводит содержимое файла, например cat /путь/к/файлу;
- cd — переходит в указанную папку, например cd /путь/к/папке;
- cp — копирует файл/папку, например cp -R /что/скопировать /куда/скопировать;
- mv — перемещает файл/папку, например mv /что/переместить /куда/переместить;
- rm — удаляет файл/папку, например rm -r /путь/к/файлу_или_папке;
- du — считает размер директории, например du -hc /путь/к/папке;
- mkdir — создаёт директорию, например mkdir /путь/к/папке;
- touch — создаёт файл, например touch /путь/к/файлу.
Небольшие уловки:
- Чтоб вернуться в предыдущую директорию, необходимо выполнить cd -;
- Чтобы перейти на одну директорию вверх, необходимо выполнить cd …;
- Чтобы перейти в домашнюю директорию, необходимо выполнить cd ~;
- Чтобы создать папку внутри еще не существующей директории, необходимо выполнить mkdir -p /несуществующая_папка/папка_которую_нужно_создать;
- ls по умолчанию не показывает скрытые файлы и папки, чтобы он их отобразил необходимо добавить аргумент -a — ls -l -a /путь/к/папке;
Что где лежит и зачем оно там?
… если оно там лежит, значит так и должно быть, не трожь это!
Иерархия файловой система в *nix‐системах кардинально отличается от оной в MS Windows. В ней нету так называемых дисков (A:, C:, D:…), для сравнения, иерархия файловой системы в *nix можно представить как иерархию диска C: в MS Windows.
- — корень файловой системы, внутри него располагается всё;
- /bin, /sbin, /usr/bin — тут располагаются различные исполняемые файлы (программы);
- /boot — тут располагается ядро linux, и загрузчик (grub, lilo, и т.д.);
- /dev — тут находятся все физические и виртуальные устройства (диски, клавиатуры, видео- и аудио‐карты, и т.д.);
- /etc — тут находятся различные файлы настроек различных системных программ, демонов;
- /home — тут располагаются домашние директории пользователей;
- /lib — тут находятся модули ядра linux, и тут лучше ничего не трогать :);
- /media — тут располагаются все примонтированные оптические диски (а так же и флэшки, жёсткие диски);
- /mnt — тут должны находиться примонтированные жёсткие диски и флешки, но зачастую они оказываются в /media;
- /opt — тут находятся установленные проприетарные приложения и библиотеки;
- /proc, /sys — системные директории с виртуальной файловой системой, хранят в себе информацию о системе, ядре, и прочей ерунде;
- /root — домашняя директория пользователя root;
- /usr — тут хранятся установленные программы, их ресурсы и библиотеки;
- /usr/lib, /usr/lib32 — хранят в себе различные библиотеки;
- /usr/include — хранят в себе заголовочные файлы различных библиотек, которые используются при разработке ПО;
- /usr/local — имеет такую же структуру как и /usr, только хранит в себе вручную собранные и установленные приложения и библиотеки;
- /usr/share — тут находятся различные ресурсы библиотек и приложений (изображения, звуки, шрифты, документация)
- /var — директория в которой хранятся логи, файлы данных различных системных приложений (например базы данных mysql), сокет‐файлы;
- /tmp — директория для хранения временных файлов, очищается при перезагрузке системы;
- . — текущая директория;
- … — директория на один уровень выше текущей.
Более подробную информацию о иерархии файловой системы можно почитать в man hier.
Заключение
Если вы не уверенны в том, что некий файл/папку можно изменить/удалить без последствий, то лучше этого не делайте. Как говорится, «работает не трожь! ».
И как всегда, я не несу никакой ответственности за то, что вы возможно натворите в своей системе. Если вы удалите что нибудь и у вас после этого система не загрузится — не пишите мне о том, что я в этом виноват :).
P.S. Подробную информацию по каждой команде можно посмотреть с помощью man
Отсортировать папки по объёму
Покажет объём в килобайтах с сортировкой – самые большие папки/файлы сверху. Если нужно в мегабайтах:
К сожалению более удобный ключик h (“human” – автовыбор кило-мега-гига) в данном случае (du -sh *| sort -nr) не подойдёт, т.к. сортировка идёт по “числам” (не учитывая, что это KB/MB/GB). Для этого придётся использовать длинную команду:
Чтобы получить подробнейшую информацию о размере папок в Linux, лучше воспользоваться командой в терминале.
Вся структура утилиты выглядит следующим образом:
du du название_папки du название_папки
При выполнении команды (без указания папки и опции) вы получите все файлы и папки текущей директории с их размерами.
6. Удаление осиротевших пакетов
Осиротевшие пакеты — это те пакеты (программы), которые устанавливались в качестве зависимостей для других программ. Но по разным причинам они больше не нужны: или удалена программа, которая их использовала, или для той программы они перестали быть зависимостями после обновления программы.
На Debian, Linux Mint, Ubuntu, Kali Linux и их производных удалить ненужные пакеты можно следующим образом:
sudo apt autoremove
Для Debian и производных предыдущая команда абсолютно безопасна.
В Arch Linux и производных список осиротевших пакетов можно увидеть следующим образом:
pacman -Qdt
Прежде чем переходить к их автоматическому удалению, настоятельно рекомендуется изучить этот список!
Для рекурсивного удаления сироток и их конфигурационных файлов в Arch Linux и производных:
sudo pacman -Rns $(pacman -Qtdq)
Если осиротевшие пакеты не были найдены, pacman завершит работу с ошибкой: ошибка: не задано целей (для справки используйте -h). Это ожидаемо, поскольку pacman -Rns не получил аргументов.