6 основных задач по обслуживанию Arch Linux для стабильной системы
Установка Arch Linux — это не одноразовая настройка. Это регулярная задача. Чтобы поддерживать систему Arch Linux в долгосрочной перспективе, я регулярно выполняю следующие задачи:
- Проверяйте ленту новостей Arch перед каждым обновлением.
- Регулярно обновляйте системные пакеты и пакеты AUR.
- Удалите сиротские пакеты, которые больше не требуются ни для чего,
- Периодически очищайте кэш пакетов pacman.
- Проверьте конфигурационные файлы
.pacnewи.pacsaveпосле обновлений, - и проверьте неудавшиеся службы.
Ни одно из этих дел по отдельности не является срочным, но игнорирование всех их в течение нескольких месяцев часто называют основной причиной жалоб типа «моя система Arch ощущается сломанной».
В конце я добавил предложенный ритм, чтобы вам не приходилось гадать, как часто это выполнять.
Объем: В этом руководстве предполагается стандартная установка pacman с помощником AUR согласно нашему руководству по постустановке Arch Linux.
1. Проверяйте ленту новостей перед каждым обновлением
Перед обновлением откройте archlinux.org/news в браузере.
Arch Linux — это дистрибутив с непрерывным выпуском, у которого нет запланированной «версии», против которой можно сначала протестировать изменения.
Большую часть времени pacman -Syu просто работает. Иногда изменения требуют ручного вмешательства (изменение разметки разделов, миграция конфигурации, разделение пакета), и о таких случаях всегда сообщается в ленточке новостей до того, как пакеты попадут в репозитории.
Пропуск этой проверки часто становится причиной обновлений, которые кажутся «сломавшими» что-то.
2. Обновите системные и AUR-пакеты
2.1. Полное обновление системы
sudo pacman -SyuВсегда выполняйте -Syu вместе. Никогда не синхронизируйте (-Sy) без одновременного обновления (-u) в одной команде. Arch не поддерживает частичные обновления, и синхронизация без обновления — один из самых распространённых способов нарушить зависимости пакетов.
2.2. Обновление пакетов AUR
Помощники AUR (paru или yay) обрабатывают как официальные, так и AUR пакеты одной командой:
paru -SyuПакеты AUR не являются предварительно собранными. Обновление одного из них означает его пересборку из исходного кода на вашем компьютере, поэтому обновление системы с большим количеством пакетов из AUR может занять заметно больше времени, чем обновление только из официальных репозиториев.
3. Удалить сиротские пакеты
Сиротливый пакет — это пакет, который изначально был установлен как зависимость чего-то другого, но это что-то было удалено или заменено, оставив зависимость без использования.
3.1. Поиск сирот
pacman -Qdt3.2. Удаление их
sudo pacman -Rns $(pacman -Qdtq)Флаг -Rns удаляет пакеты, их теперь ненужные зависимости и любые связанные с ними файлы конфигурации.
Если у вас нет сирот, эта команда выведет error: argument '-' specified with empty stdin вместо того, чтобы молча ничего не делать. Это ожидаемо и безопасно. Это просто означает, что нечего передавать команде удаления, а не то, что что-то сломано.
Тоже стоит периодически проверять:
pacman -Qm выводит список «чужих» пакетов, то есть всего, что установлено из AUR или вручную, а не из официального репозитория. Иногда пакет AUR полностью удаляется на стороне разработчика, что означает, что ваш помощник AUR больше не сможет его обновлять, и вы иначе бы никогда не узнали об этом. Этот список стоит просматривать каждые несколько месяцев.
4. Очистите кэш пакетов Pacman
Каждый раз, когда вы устанавливаете или обновляете пакет, pacman сохраняет копию загруженного файла в /var/cache/pacman/pkg/.
$ ls /var/cache/pacman/pkg/
abseil-cpp-20260526.0-2-x86_64.pkg.tar.zst
abseil-cpp-20260526.0-2-x86_64.pkg.tar.zst.sig
accountsservice-26.13.3-1-x86_64.pkg.tar.zst
accountsservice-26.13.3-1-x86_64.pkg.tar.zst.sig
[...]Это сделано намеренно. Это позволяет понизить версию пакета, если обновление что-то ломает. Если их оставить без управления, их количество будет бесконечно расти.
4.1. Очистка с помощью paccache
sudo pacman -S pacman-contrib
sudo paccache -rk2Флаг -rk2 сохраняет 2 последние версии каждого пакета и удаляет остальные. Это сохраняет защиту от отката версий, не позволяя кэшу расти бесконечно.
4.2. Автоматизируйте это
sudo systemctl enable --now paccache.timerДля получения более подробной информации прочитайте наше руководство по Pacache по ссылке ниже:
- Рекомендуемый способ очистки кэша пакетов в Arch Linux
5. Просмотрите и объедините файлы .pacnew (и .pacsave)
Когда обновление изменяет конфигурационный файл, который вы настроили, pacman не перезаписывает вашу версию. Он устанавливает новый файл по умолчанию рядом с вашим как filename.pacnew, оставляя вам решение о том, что с ним делать.
Сопутствующий тип файла, .pacsave, появляется, когда вы удаляете пакет, который содержал изменённую вами конфигурацию. Это ваша старая версия, сохранённая на случай повторной установки позже.
5.1. Поиск и объединение их
sudo pacman -S pacman-contrib
pacdiffpacdiff сканирует вашу систему на наличие файлов .pacnew и .pacsave и проводит вас через процесс объединения каждого из них с вашей существующей конфигурацией, показывая различия, чтобы вы могли точно видеть, что изменилось.
Почему это важно:
Игнорирование этих файлов на неопределённый срок означает, что ваши конфигурации постепенно начинают расходиться с тем, что пакет на самом деле ожидает. Обычно это безопасно в течение нескольких месяцев, пока одно конкретное обновление не предполагает значение по умолчанию, которого нет в вашей старой конфигурации, и что-то ломается таким образом, что трудно отследить до конфигурационного файла, о существовании которого вы забыли.
Для получения дополнительной информации об этих двух файлах прочитайте следующие руководства:
- Что такое файлы .pacnew в Arch Linux и как безопасно с ними обращаться
- Что такое файлы .pacsave в Arch Linux и как безопасно их использовать
6. Проверьте на наличие неудачных служб и ошибок
6.1. Неудавшиеся службы systemd
systemctl --failedПустой результат — это хорошо. Это значит, что каждая включённая служба успешно запустилась при последней загрузке. Всё, что здесь указано, стоит исследовать с помощью journalctl -u service-name.
6.2. Просмотр журнала pacman
less /var/log/pacman.logСтоит периодически просматривать, особенно после проблемного обновления. Это полный журнал всех установленных, удалённых или обновлённых пакетов с отметками времени.
6.3. Не забывайте о уже запущенных процессах
Обновление библиотеки не вступает в силу в программах, которые уже запущены. Например, браузер, который был открыт несколько дней, по-прежнему использует старую версию в памяти, пока его не перезапустить.
Периодическая перезагрузка, а не только после обновлений ядра, — это самый простой способ гарантировать, что все запущенные процессы действительно используют версии, которые вы только что установили.
7. Рекомендуемый ритм
Система, оставленная без обновления на шесть месяцев или дольше, обычно в конце концов набирает десятки накопленных файлов .pacnew и многогигабайтный кэш одновременно. Это делает последующее обновление гораздо более рискованным, чем любое отдельное еженедельное обновление. Малые и частые обновления лучше, чем редкие и крупные.
| Задача | Частота | Почему |
|---|---|---|
| Проверьте новостную ленту | Каждый раз перед обновлением | Стоит секунд; предотвращает худшие последствия |
pacman -Syu + обновление AUR | еженедельно | Частые небольшие обновления проще устранять, чем редкие крупные |
| Удалить оставшиеся пакеты | ежемесячный | Сироты накапливаются медленно; нет срочности гнаться за ними каждый день |
| Очистить кэш pacman | Ежемесячно (или автоматизировать с помощью таймера) | Проблема с местом на диске, а не с устойчивостью |
Просмотрите файлы .pacnew/.pacsave | После любого обновления, в котором упоминаются изменения конфигурации | Большинство обновлений ничего не создают; проверяйте, когда одно создаёт |
| Проверить неудавшиеся службы | Ежемесячно или всякий раз, когда что-то кажется неправильным | Мало усилий, выявляет проблемы до того, как они накапливаются |
Часто задаваемые вопросы (FAQ)
Вопрос: Безопасно ли удалять все осиротевшие пакеты?
A: В целом, да. Команда pacman -Qdt выводит только пакеты, от которых в данный момент никто не зависит. Редкое исключение — это пакет, который вы установили вручную по какой-то причине, которую pacman не видит (например, модуль ядра, который вы собираете), но который никогда явно не был помечен как «установленный явно».
Если вы не уверены насчёт конкретного пакета, посмотрите, что это за пакет, прежде чем удалять его, а не слепо применять весь список.
Вопрос: Что происходит, если я проигнорирую файлы .pacnew?
A: Ничего срочного. Ваша старая конфигурация продолжает работать точно так же, как раньше. Риск накапливается: каждый проигнорированный файл .pacnew — это еще одно место, где фактическая конфигурация вашей системы тихо расходится с тем, чего ожидают текущие версии пакетов, и этот разрыв в конечном итоге приводит к запутанной ошибке при каком-либо несвязанном будущем обновлении.
Вопрос: Кэш Pacman заполнил мой диск, что делать?
A: Немедленно выполните sudo paccache -rk2, чтобы освободить место, затем настройте paccache.timer из Шага 4, чтобы это больше не повторялось. Если вам нужно освободить место прямо сейчас и вас не пугает риск отката версии пакета, sudo pacman -Scc полностью очищает кэш, но вы теряете возможность отката любой установленной в данный момент пакеты.
В: Как часто мне на самом деле следует обновлять Arch?
A: Рекомендуемая периодичность — еженедельная. Достаточно частая, чтобы каждое отдельное обновление было небольшим и легко исправимым в случае проблем, но достаточно редкая, чтобы это не стало ежедневной обязанностью.
Прохождение нескольких месяцев между обновлениями обычно приводит к драматическому эффекту «всё сломалось сразу», так как десятки изменений попадают одновременно, вместо того чтобы приходить по одному-двум за раз.
Заключение
В этом руководстве мы рассмотрели шесть важных задач по обслуживанию Arch Linux, которые каждый пользователь должен выполнять регулярно. Следование этим передовым методам поможет сохранить ваш Arch Linux чистым, стабильным и обеспечит его стабильную работу в долгосрочной перспективе.
Ресурсы:
- ArchWiki: Обслуживание системы
- ArchWiki: Pacman/Советы и рекомендации - Удаление неиспользуемых пакетов

