Чаще всего в моей практике администрируемой системой выступают сервера с установленными вариантами Linux. В данном тексте речь идет о дистрибутиве Debian linux.
За время моей работы с серверными системами выработались определенные привычки, которые заставляют подстраивать под себя рабочее окружение и софт. Одной из таких привычек можно считать текстовый редактор. Если я в командной строке, мне удобно использовать
vi или
vim, если-же в
MC (
Midnight Commander ), то мне удобно пользоваться его встроенным редактором, вызываемым по
F4.
Редактор по умолчанию в Debian является программа
nano. Не могу сказать что он плохой или не удобный, просто дело привычки и личного комфорта, поэтому первое что я делаю попав в систему, меняю его.
Делается это с помощью команды
update-alternatives. Как работает данный механизм, можно ппрочитать в
man. Если коротко, есть директория
/etc/alternatives в которой лежит куча символических ссылок на различные программы, которые по сути являются группами. Возьмем например текстовые редакторы, им соответствует ссылка
/etc/alternatives/editor, а эта ссылка, ведет уже на какой-то конкретный редактор ( или на еще одну ссылку, которая уже ведет на редактор ) в каталоге
/usr/bin.
То есть что мы имеем по умолчанию на примере текстовых редакторов. Символическая ссылка
/etc/alternatives/editor, ведет на файл
/usr/bin/nano, который в свою очередь является ссылкой на бинарный файл редактора
/bin/nano. Немного запутанно, согласен, но по сути вникать в сам механизм альтернатив и не обязательно, нужно просто знать как он работает, мало-ли чего.
Программа
update-alternatives умеет работать в интервактивном и командном режимах , процесс выбора редактора по умолчанию в интерактивном режиме, выглядит так:
root@backtrack:/usr/bin# update-alternatives --config editor
There are 6 alternatives which provide `editor'.
Selection Alternative
-----------------------------------------------
1 /usr/bin/vim.tiny
2 /bin/ed
*+ 3 /bin/nano # символом *, отмечена текущая программа, символом +, программа с самым высоким приориретом в данной группе
4 /usr/bin/emacs21
5 /usr/bin/nedit
6 /usr/bin/mcedit-debian
Press enter to keep the default[*], or type selection number: 6 # выбираем номер 6
Using '/usr/bin/mcedit-debian' to provide 'editor'.
# Проверим
root@backtrack:/usr/bin# update-alternatives --config editor
There are 6 alternatives which provide `editor'.
Selection Alternative
-----------------------------------------------
1 /usr/bin/vim.tiny
2 /bin/ed
+ 3 /bin/nano
4 /usr/bin/emacs21
5 /usr/bin/nedit
* 6 /usr/bin/mcedit-debian # теперь этот редактор является текущим
Что-бы выставить значение по умолчанию, достаточно выполнить команду:
root@backtrack:/usr/bin# update-alternatives --auto editor
и редактором по умолчанию снова станет программа, помеченная символом +.
Если запустить
update-alternatives с ключом
--all, запустится интерактивная настройка всех групп в сисеме альтернатив, просто нажимая Enter, можете просмотреть все имеющиеся в наличии группы команд.
В качестве примера был взят именно текстовый редактор, поскольку из системы альтернатив, я настраиваю только его, при этом постоянно забываю как это делать).
Подобный механизм используется и в нескольких других
операционных системах семейства Unix, например
Gentoo и
Ubuntu.