или желательна. Вместо пакетов может указываться функция (например smtp-сервер), если из метаданных её можно получить;
• хэш-суммы файлов;
• указание, какие файлы являются конфигурационными.
С помощью зависимостей установка ПО становится намного проще, можно быстро выяснить, какие дополнительные пакеты необходимо установить. Часто вычисление и установку всех дополнительных пакетов берут на себя «пакетные менеджеры», такие как yum (RedHat), apt или aptitude (Debian), pacman (Arch Linux) и т. п.
В формате deb зависимости можно указывать гибко: от «необходимо» до «желательно» (обычно это документация и примеры) и «опционально», поэтому в интерактивном пакетном менеджере типа aptitude можно выбрать именно тот набор дополнительных пакетов, который нужен. В мире формата rpm нередко с пакетом автоматически устанавливается ещё десяток ненужного ПО, которое теоретически может с ним потребоваться…
Имея хэш-суммы всех файлов пакета, можно проверять целостность системы, не изменились ли какие-то важные файлы (конечно, только из тех, что входят в пакеты), в большинстве пакетных систем для этого есть отдельные команды.
Знание файлов конфигурации позволяет не затирать их при обновлении – новая версия копируется «рядом» с оригинальной, чтоб можно было проверить разницу. А в интерактивном режиме aptitude можно эту разницу сразу посмотреть и выбрать, какой вариант использовать, старый или из обновлённого пакета. Аналогично при удалении пакета, как правило, его файлы конфигурации остаются и при новой установке не затираются. Удалить пакет вместе с настройками обычно можно, указав дополнительный ключ при удалении. Информация об установленных на компьютере пакетах хранится в базе данных, если она повреждается, то восстановить её очень тяжело. Поэтому не рекомендуем удалять или ставить пакеты на файловой системе, занятой на 100%, это может привести к потере базы.
Сами файлы пакетов можно просто скачать или скопировать откуда-либо, но чаще всего используются так называемые репозитории – индексированные каталоги пакетов. На CD/DVD-диске с дистрибутивом ОС почти всё место занимает репозиторий пакетов, после установки он будет прописан в настройках. Кроме него почти наверняка будет указан основной сетевой репозиторий ОС (или несколько). Кроме основного репозитория могут потребоваться дополнительные или даже совсем сторонние. Например, в стандартном репозитории RedHat не так уж и много пакетов, очень часто приходится подключать проверенные сторонние, типа EPEL. Некоторые программные проекты создают собственные мини-репозитории только для своего ПО. Иногда имеет смысл создавать и собственные локальные репозитории, например для компьютеров без доступа в Интернет.
Самые важные варианты использования команды yum
и полезные ключи:
Таблица 12: важные команды и ключи команды yum
Когда приходится работать с конкретным пакетом или rpm-файлом, то на помощь приходит команда rpm
. Её важные ключи:
Таблица 13: некоторые ключи команды rpm
Сетевые команды
Поскольку