# Enhance system stability (Русский)

Ссылки по теме

- System maintenance

Эта страница нуждается в сопроводителе

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

Целью данной статьи является составление советов и лучших методов о том, как сделать Arch Linux как можно стабильнее. Из за использования системы плавающих релизов и частого обновления пакетов, Arch не может использоваться на критически важных коммерческих серверах.

Тем не менее, ArchLinux довольно стабильный дистрибутив благодаря своей приверженности к простоте конфигурации, быстрому исправлению ошибок и целостности исходных текстов. Таким образом, если следовать описанным ниже советам по настройке и работе в Arch, пользователь должен иметь стабильную систему. Также советы помогают восстановить систему в случае неисправности.

Насколько стабильным может быть Arch Linux? На форуме можно найти многочисленные сообщения опытных системных администраторов, которые успешно используют Arch на производственных серверах. Одним примеров является Archlinux.org. На десктопе правильно настроенный дистрибутив может предложить превосходную стабильность.

## Установка Arch Linux

При установке и первой настройке Arch Linux у пользователя есть разнообразие в выборе конфигурации, ПО и драйверов. Этот выбор напрямую повлияет на стабильность ситемы в целом.

### Практические советы для Arch Linux

#### Храните старые пакеты в большом разделе /var

Pacman хранит все ранее установленные пакеты в директории `/var/cache/pacman/pkg`, размер которой со временем может вырасти до нескольких гигабайт. Сохранять эти пакеты необходимо для возможности отката пакетов. Если вы решили установить систему на разные разделы, убедитесь что для /var выделено достаточно места. 4 - 8 Гб должно хватить, но для некоторых серверных систем может поребоваться гораздо больше.

#### Используйте рекомендуемые настройки

В подробной документации по установке и настройке Arch Linux довольно часто приводятся несколько вариантов решения той или иной задачи. Всегда выбирайте рекомендуемый путь, т.к. он отражает лучший вариант, позволяющий повысить стабильность системы и простоту её восстановления.

#### Относитесь с осторожностью к неофициальным и не протестированным пакетам

Избегайте использования нестабильных репозиториев или пакетов, предназначенных для тестирования. Они не подходят для стабильной системы.

Помните про меры предосторожности при использовании пакетов из AUR. Большинство из них поставляются пользователями, и как следствие эти пакеты не следуют тем же стандартам, что и пакеты в официальном репозитории. Также будьте крайне аккуратны с AUR Helpers, которые сильно упрощают установку пакетов из AUR. Вы всегда должны проверять PKGBUILD на наличие ошибок/вредоносного кода перед сборкой/установкой пакета.

Для упрощения обслуживания системы ограничьте количество используемых пакетов из AUR. Время от времени проверяйте их в реальной работе, и при необходимости удаляйте / заменяйте на официальные. Для получения списка пакетов из AUR смотри [1].

Используйте репозитории 3х сторон только в крайне необходимом случае и при полной уверенности в своих действиях. Всегда используйте только надежные источники.

#### Используйте актуальные зеркала

Используйте зеркала, которые часто синхронизируются с главным FTP-сервером Arch Linux. Страница состояния зеркал поможет убедиться в актуальности используемого вами сервера. Использование актуальных зеркал гарантирует то, что в вашей системе всегда установлены последние пакеты.

Кроме того, рекомендуется изменить файл `/etc/pacman.d/mirrorlist`, разместив местные (Российские) зеркала наверху списка. Обратитесь к странице Зеркала для получения дополнительной информации, в том числе про установку скрипта rankmirrors, который поможет выбрать самые быстрые зеркала.

После смены используемых зеркал убедитесь, что ваша система находится в актуальном состоянии при помощи команды `pacman -Syu`.

#### Избегайте dev-пакетов

Для предотвращения некорректной работы системы, не устанавливайте dev-пакеты, если это не рекомендуется явно. Обычно такие пакеты можно найти в AUR и репозитории community. Эти пакеты собираются из находящихся в разработке версий ПО. Они как правило имеют одну из следующих приставок в названии: "dev", "devel", "svn", "cvs", "git", "hg", "bzr", или "darcs".

В особенности избегайте установки dev-пакетов для критических частей системы, таких как kernel или glibc.

Если вы собираете пакет при помощи makepkg, убедитесь что PKGBUILD соответствует стандартам создания пакетов. Используйте namcap для финальной проверки архива .tar.gz или PKGBUILD-файла.

#### Установите linux-lts

linux-lts - это пакет с альтернативной версией ядра, основанной на версии 3.14, находящийся в репозитории core. Эта версия обладает long-term support (LTS - долгосрочной поддержкой) от разработчиков ядра, которая включает в себя исправления уязвимостей, ошибок и иногда перенос функционала из новых версий. Эта версия хорошо подходит для использования на сервере или для пользователей, которые хотят иметь запасное ядро при возникновении проблем с основным.

Чтобы иметь возможность выбора этого ядра при загрузке, необходимо изменить файл загрузчика. Для Syslinux нужно отредактировать файл `/boot/syslinux/syslinux.cfg`: скопировать текущие значения, только использовать `vmlinuz-linux-lts` и `initramfs-linux-lts.img`. Для GRUB рекомендуется сгенерировать файл автоматически.

### Общие советы

#### Пользуйтесь системой управления пакетами для установки ПО

Pacman гораздо лучше отследит принадлежность файлов пакетам, чем вы. Если вы что-то установите вручную, рано или поздно забудете что именно делали, что и куда установили. Что может привести к конфликтам пакетов, установкой в неподходящее место и т.п.

Для повышения стабильности следует избежать использования ПО, собранного самостоятельно из исходных текстов. Но если всё же возникает необходимость - гораздо лучше собрать пакет и после установить его.

#### Используйте проверенное, зарекомендовавшее себя ПО

Устанавливайте стабильное и проверенное программное обеспечение. Не используйте недавно разработанное ПО, пока оно не докажет свою надёжность. Например, ранние версии PulseAudio могут быть ненадёжны. Вместо этого пользователи, заинтересованные в стабильности, могут использовать ALSA. Кроме того, используйте ПО у которого имеется большое сообщество разработчиков и компетентных пользователей.

#### Используйте открытые драйвера

Везде, где это возможно, выбирайте драйвера с открытым исходным кодом и старайтесь избегать проприетарных. В большинстве случаев открытые драйвера показывают лучшую стабильность и надёжность - ошибки в них исправляются быстрее. В то же время закрытые драйвера могут похвастаться большим количеством функций и возможностей, жертвуя при этом стабильностью. Для избежания этой дилеммы выбирайте оборудование, для которого существуют открытые драйвера с богатым набором функций. Информация об оборудовании с открытыми драйверами доступна на сайте linux-drivers.org.

## Обслуживание Arch

Для достижения максимальной стабильности помимо настройки можно предпринимать определённые действия во время обслуживания системы. Обратив своё внимание на некоторые детали, системные администраторы могут заметно повысить надёжность Arch Linux.

О повторяющихся задачах, которые должны выполняться регулярно, читайте статью System maintenance.

### Практические советы для Arch Linux

#### Читайте новости перед обновлением

Перед обновлением системы рекомендуется читать последние новости (перевод можно найти на archlinux.org.ru) для того, чтобы знать о крупных изменениях ПО или конфигураций. Перед обновлением основных пакетов, вроде kernel, xorg, systemd, или glibc, рекомендуется ещё просмотреть форум на наличие сообщений об ошибках.

#### Действуйте при оповещениях во время обновлений

Уделяйте внимание сообщениям, выводимых pacman'ом при обновлениях. Если со стороны пользователя требуются какие-либо дополнительные действия, убедитесь что вы исполнили их верно. Если же эти сообщения неясны — просмотрите форум и последние новости для более подробной информации.

#### Оперативно решайте вопросы с новыми конфигурационными файлами

При обновлении системы, pacman может создать новые файлы конфигурации с расширениями `.pacnew`, `.pacsave` и `.pacorig`. pacman сообщит когда это произойдет и пользователи должны оперативно решить вопрос с этими файлами. Для подробной информации обратитесь к соответствующей странице wiki.

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

#### Избегайте некоторых команд pacman

Никогда не запускайте `pacman -Sy`, вместо этого пользуйтесь командой `pacman -Syu`.

Старайтесь не пользоваться опцией `--force`, особенно в командах вроде `pacman -Syu --force`, т.е. при участии более чем одного пакета. Эта опция игнорирует конфликты файлов, что может привести к их утере при перемещении файлов между пакетами. В системе, которая поддерживается должным образом эта опция никогда не используется.

Не используйте `pacman -Rdd имя_пакета`. Опция `-d` пропускает проверку зависимостей при удалении пакета. В результате может быть удалена важная зависимость для какого-либо пакета, что приведёт к некорректно работающей ситсеме.

#### Откат пакета, приведшего к нестабильности

В случае, когда обновление какого-либо пакета привело систему в нестабильное состояние, установите последнюю известную стабильную версию пакета из кэша при помощи команды:

    pacman -U /var/cache/pacman/pkg/Название-Пакета.pkg.tar.gz

Для более подробной информаци об откате пакетов можно прочитать в соответствующей странице вики: Downgrading Packages.

После этого пакет можно добавить в секцию IgnorePkg файла pacman.conf до тех пор, пока ошибка пакета не будет устранена. Просмотрите Arch-вики и/или форум для поиска совета, также можно создать отчет об ошибке в случае необходимости.

#### Рассмотрите возможность использования pacmatic

Pacmatic это «обёртка» для pacman’а, которая автоматизирует процесс проверки новостей перед обновлениями. Также Pacmatic следит за тем, чтобы локальная база данных pacman была синхронизирована с online-зеркалами, помогая таким образом избежать проблем с обновлением баз `pacman –Sy`. Наконец, Pacmatic отображает более точные сообщения об обновленных или устаревших файлах конфигурации. pacman может быть заменён на pacmatic при помощи псевдонима, и различные AUR Helpers могут быть настроены на использование pacmatic вместо pacman.

### Общие советы

#### Проверяйте обновления на некритичных системах

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

#### Создавайте копии конфигурационных файлов перед изменениями

Перед редактированием конфигурационных файлов всегда создавайте копию его рабочей версии. В случае если внесённые изменения приведут к проблемам, будет намного легче вернуть все в прежнее состояние. Сделать это можно как при помощи текстового редактора, который будет использоваться для редактирования, так и при помощи команды:

    cp config config~

Использование ~ позволит легко определить, что эта копия была создана вручную, в то время как pacman использует окончания .pacnew, .pacsave, .pacorig для копирования конфигурационных файлов.

etckeeper может облегчить работу с конфигурационными файлами. Эта программа ведёт систему контроля версий для директории /etc, позволяя легко отслеживать изменения.

##### Периодически чистите файлы конфигурации

Старые файлы конфигурации могут конфликтовать с новыми версиями ПО, или просто повредиться со временем. Время от времени удаляйте ненужные конфиги, в особенности в домашней директории и `~/.config`. По этим же причинам будьте внимательны при разделении домашней директории между несколькими установками ОС.

Categories:

- System administration (Русский)
- Русский