Подсистема
update-alternatives
обслуживает символические ссылки, определяющие команды, файлы и каталоги,
используемые по-умолчанию.
СИНТАКСИС
update-alternatives
[опции]
--installlink name path priority
[--slave
link name path]...
update-alternatives
[опции]
--removename path
update-alternatives
[опции]
--autoname
update-alternatives
[опции]
--displayname
update-alternatives
[опции]
--configname
ОПИСАНИЕ
update-alternatives
создает, удаляет, обслуживает и отображает информацию
о символических ссылках, входящих в подсистему альтернатив для ALT Linux.
Это позволяет нескольким программам, установленным в системе одновременно,
выполнять одинаковые или похожие функции. Например, во многих системах
одновременно установлено несколько текстовых редакторов. Это дает
возможность всем пользователям системы, при желании, пользоваться
различными редакторами, но создает при этом сложности для системы
при вызове программы редактирования, если пользователь не определил
своих предпочтений.
Предназначение подсистемы альтернатив заключается в решении этих задач.
Универсальное имя в файловой системе разделено между всеми файлами,
предоставляющими взаимозаменяемые функциональные возможности. Система
альтернатив и системный администратор вместе определяют, к какому файлу
в системе происходит обращение при помощи универсального имени. Например,
если в системе одновременно установлены текстовые редакторы
ed(1)
и
vim(1),
то подсистема альтернатив обратится к универсальному имени
/usr/bin/editor
для вызова
/usr/bin/vim
по-умолчанию. Системный администратор может изменить параметры так, что вместо этого будет произведен вызов
/usr/bin/ed,
и подсистема альтернатив не изменит эти установки до тех пор,
пока об этом не последует явный запрос.
Универсальное имя - это не прямая символическая ссылка к выбранной альтернативе.
Вместо этого создается символическая ссылка в
каталогеальтернатив,
которая, в свою очередь, ссылается на конкретный файл. Это сделано
для того, чтобы изменения, сделанные системным администратором, ограничивались
только каталогом
/etc
: FHS дает основания считать это хорошей идеей.
Если пакет, предоставляющий файл со специфическими функциями, установлен,
изменен или удален, вызывается
update-alternatives
для обновления информации об этом файле, содержащемся в подсистеме альтернатив. Вызов
update-alternatives
обычно происходит посредством вызова
post-install
или
pre-install
скрипта, содержащегося в пакете RPM.
Зачастую бывает полезно синхронизировать изменение нескольких альтернатив,
образующих группу; например, если в системе установлено несколько
версий редактора
vi(1),
то man-страница
/usr/share/man/man1/vi.1
должна соответствовать альтернативе, определяемой
/usr/bin/vi
Подсистема
update-alternatives
управляет этим посредством
главных (master)
и
подчиненных (slave)
ссылок; если изменяется главная ссылка, подчиненные ссылки тоже изменяются.
Главная ссылка и ассоциированные с ней подчиненные образуют
группуссылок.
Каждая группа ссылок в любой момент времени может находиться в одном
из двух режимов: автоматическом или не автоматическом. Если группа
находится в автоматическом режиме, при установке, обновлении и удалении пакетов
подсистема альтернатив сама решает, какие из ссылок требуется обновить
и как. В не автоматическом режиме подсистема альтернатив не делает изменений ссылок,
оставляя их на усмотрение системного администратора.
Каждая группа ссылок при первой установке в систему находится в автоматическом
режиме. Если системный администратор вносит изменения в автоматические
установки системы, то
update-alternatives
при очередном запуске обнаружит изменении группы ссылок и автоматически перейдет в не автоматический режим.
Каждая альтернатива имеет ассоциированный с ней
приоритет
- когда группа ссылок находится в автоматическом режиме, то альтернативами, указанными
членами группы, будут те, которые имеют наивысший приоритет.
При использовании опции
--configupdate-alternatives
перечислит весь
список вариантов в группе ссылок, соответствующий
главной
ссылке. Вам будет предложено определить, какой из вариантов вы желаете использовать.
Если вы однажды сделаете изменения, то группа ссылок больше не будет
работать в
автоматическом
режиме. Для возврата к автоматическому режиму
вам необходимо использовать опцию
--auto
ТЕРМИНОЛОГИЯ
Поскольку
update-alternatives
представляет из себя довольно сложный механизм,
некоторые термины помогут объяснить его действие:
универсальное имя
Имя, например,
/usr/bin/editor,
которое обращается посредством подсистемы альтернатив
к одному из нескольких файлов со схожими функциями.
символическая ссылка
Без каких-либо дополнительных определений это означает ссылку в каталог
альтернатив - каталог, который может корректировать системный администратор.
альтернатива
Имя конкретного файла в файловой системе, который может быть доступен через
универсальное имя, используя подсистему альтернатив.
каталог альтернатив
Каталог, по умолчанию это
/etc/alternatives,
содержащий символические ссылки.
административный каталог
Каталог, по умолчанию это
/var/lib/rpm/alternatives,
содержащий информацию о состоянии подсистемы
update-alternatives
группа ссылок
Набор взаимосвязанных ссылок, подлежащих синхронной модификации.
главная ссылка
Ссылка в группе ссылок, определяющая конфигурацию остальных ссылок
в группе.
подчиненная ссылка
Ссылка в группе ссылок, контролируемая значением главной ссылки.
автоматический режим
Когда группа ссылок находится в автоматическом режиме, подсистема альтернатив
следит, что бы ссылка в группе указывала на альтернативу, имеющую
наивысший приоритет в группе.
не автоматический режим
Кагда группа ссылок находится в не автоматическом режиме, подсистема альтернатив
не делает никаких изменений в установках системного администратора.
ОПЦИИ
При вызове
update-alternatives
должно быть определено ровно одно действие, которое должно быть выполнено.
Любое число параметров может быть указано в комбинации с любым действием.
ПАРАМЕТРЫ
--verbose
Выводит подробности о действиях
update-alternatives.
--quiet
Не выводит на экран никаких сообщений о работе, кроме сообщений об
ошибках.
--test
Не предпринимать реальных действий, только показать, что будет сделано.
Эта функция еще не реализована.
--help
Вывести информацию об использовании (и показать версию
update-alternatives
).
--version
Показать версию
update-alternatives
(и отобразить информацию об использовании).
--altdirкаталог
Определяет
каталогальтернатив,
отличный от используемого по умолчанию.
--admindirкаталог
Определяет
административныйкаталог,
отличный от используемого по умолчанию.
ДЕЙСТВИЯ
--installlink gen path pri [--slaveslink sgen spath] ...
Добавляет группу альтернатив в систему.
gen
- универсальное имя для главной ссылки,
link
- имя этой ссылки,
path
- альтернатива для главной ссылки.
sgen,
slink
и
spat
это универсальное имя, ссылка и альтернатива для подчиненной ссылки.
Может быть определено любое число действий
--slave,
и каждое из них - с тремя аргументами.
Если указанная главная ссылка уже присутствует в подсистеме альтернатив,
то информация будет добавлена как новый набор альтернатив
для группы. В противном случае будет добавлена новая группа, установленная
в автоматический режим работы. Если группа находится в автоматическом
режиме и вновь добавленные альтернативы имеют более высокий приоритет,
чем уже существующие в этой группе, то символические ссылки будут
обновлены с учетом новых альтернатив.
--removename path
Удаляет альтернативы и все ассоциированные с ними подчиненные ссылки.
name
- это имя в каталоге альтернатив, а
path
- это абсолютное имя
файла, на которое ссылается
name
на
path,
то
name
будет обновлено, для указания на ближайшую альтернативу,
или удалено, в случае, если больше не осталось альтернатив. Ассоциированные
подчиненные ссылки будут, соответственно, обновлены или удалены.
Если ссылка указывает не на
path,
то ссылка не будет изменена; будет удалена только информация об альтернативе.
--autolink
Переключает главную ссылку
link
в автоматический режим. При этом как сама ссылка, так и все ее подчиненные ссылки
будут обновлены тиким образом, что будут указывать на альтернативы с наивысшим приоритетом.
--displaylink
Отображает информацию о группе ссылок, где
link
является главной ссылкой.
Отображаемая информация содержит режим группы (автоматический или
не автоматический), на какую альтернативу в настоящий момент указывает
ссылка, какие другие альтернативы доступны (и их соответствующие подчиненные
альтернативы), а так же альтернативу, имеющую наивысший приоритет из всех
установленных в подсистеме альтернатив.
ФАЙЛЫ
/etc/alternatives/
Каталог альтернатив по умолчанию. Может быть изменен при помощи опции
--altdir
/var/lib/rpm/alternatives/
Административный каталог по умолчанию. Может быть изменен при помощи опции
--admindir
КОДЫ ВОЗВРАТА
0
Требуемое действие было успешно выполнено.
2
Возникли проблемы в синтаксисе командной строки или при выполнении
действия.
ДИАГНОСТИКА
update-alternatives,
если не было обнаружено ошибок, не сообщает о
своих действиях в стандартный вывод. Если же
update-alternatives
сталкивается
с проблемой, то выводится сообщение об ошибке и работа прекращается
с кодом возврата 2. Эта диагностика должна быть очевидна; если вы находите,
что это не так, пожалуйста, сообщите об этом как об ошибке.
ОШИБКИ
Если вы обнаружите ошибку, пожалуйста, сообщите об этом в систему слежения
за ошибками ALT Linux - http://bugs.altlinux.ru/
или, если это невозможно, отправьте
сообщение авторам электронной почтой.
Если вы найдете любое расхождение между работой
update-alternatives
и настоящим руководством, то это ошибка реализации либо документации и перевода;
пожалуйста, сообщите об этом.
АВТОРЫ
Подсистема
update-alternatives
основана на Debian update-alternatives.
Ian Jackson - автор Debian update-alternatives.
Charles Briscoe-Smith - автор этой документации.
Aleksandr Blohin <sass@altlinux.ru> - перевод на русский язык.
Dmitry V. Levin <ldv@alt-linux.org> - адаптация для ALT Linux.
АВТОРСКИЕ ПРАВА
Это свободное программное обеспечение;
см. GNU General Public License версии 2 или позже в части, касающейся
авторского права. Поставляется БЕЗ предоставления каких либо гарантий.