alternatives

Установка, обновление, настройка Linux и программ

Модераторы: Olej, adminn

Аватара пользователя
Olej
Писатель
Сообщения: 14544
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: alternatives

Непрочитанное сообщение Olej » 20 июл 2020, 20:37

Альтернативы и их переключение оказались незаменимой вещью при выборе соответствий реализаций NetCat (традиционной и OpenBSD) и их согласовании на 2-х удалённых хостах сети при передаче между ними.
См. nc - сетевой cat
Изображение

Аватара пользователя
Olej
Писатель
Сообщения: 14544
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: alternatives

Непрочитанное сообщение Olej » 19 апр 2021, 21:17

Olej писал(а):
20 июл 2020, 20:37
Альтернативы и их переключение оказались незаменимой вещью при выборе соответствий реализаций NetCat (традиционной и OpenBSD)
Снова потребовалось перестроить OpenBSD NetCat на традиционный...
Но на этот раз решил обойтись командами, без GUI!

Код: Выделить всё

olej@nvme:~/2021/rus.linux.net.hist/timeweb$ update-alternatives --help
Использование: update-alternatives [<параметр> …] <команда>

Команды:
  --install <ссылка> <имя> <путь> <приоритет>
    [--slave <ссылка> <имя> <путь>] …
                          добавить группу альтернатив в систему
  --remove <имя> <путь>   удалить <путь> из группы альтернатив с <именем>
  --remove-all <имя>      удалить группу альтернатив с именем <имя> из системы
  --auto <имя>            переключить главную ссылку <имя> в автоматический
                          режим
  --display <имя>         показать информацию о группе <имя>
  --query <имя>           разбираемая машиной версия --display <имя>.
  --list <имя>            показать все назначения группы <имя>
  --config <имя>          показать альтернативы для группы <имя> и попросить
                          пользователя выбрать одно из значений
  --set <имя> <путь>      настроить <путь> как альтернативу <имени>
  --all                   вызвать --config для всех альтернатив

<ссылка> — символьная ссылка, указывающая на /etc/alternatives/<имя>
  (например, /usr/bin/pager).
<имя> — главное имя в этой группе ссылок
  (например, pager).
<путь> — расположение одного альтернативного файла назначения
  (например, /usr/bin/less).
<приоритет> — целое; чем больше значение, тем больше приоритет в
  автоматическом режиме.

Options:
  --altdir <directory>     change the alternatives directory.
  --admindir <directory>   change the administrative directory.
  --log <file>             change the log file.
  --force                  allow replacing files with alternative links.
  --skip-auto              skip prompt for alternatives correctly configured
                           in automatic mode (relevant for --config only)
  --quiet                  quiet operation, minimal output.
  --verbose                verbose operation, more output.
  --debug                  debug output, way more output.
  --help                   show this help message.
  --version                show the version.
До:

Код: Выделить всё

olej@nvme:~/2021/rus.linux.net.hist/timeweb$ nc -h
OpenBSD netcat (Debian patchlevel 1.206-1ubuntu1)
usage: nc [-46CDdFhklNnrStUuvZz] [-I length] [-i interval] [-M ttl]
      [-m minttl] [-O length] [-P proxy_username] [-p source_port]
      [-q seconds] [-s source] [-T keyword] [-V rtable] [-W recvlimit] [-w timeout]
      [-X proxy_protocol] [-x proxy_address[:port]]       [destination] [port]
...

Код: Выделить всё

olej@nvme:~/2021/rus.linux.net.hist/timeweb$ update-alternatives --display nc
nc - автоматический режим
  link best version is /bin/nc.openbsd
  ссылка сейчас указывает на /bin/nc.openbsd
  link nc is /bin/nc
  slave nc.1.gz is /usr/share/man/man1/nc.1.gz
  slave netcat is /bin/netcat
  slave netcat.1.gz is /usr/share/man/man1/netcat.1.gz
/bin/nc.openbsd — приоритет 50
  подчинённый nc.1.gz: /usr/share/man/man1/nc_openbsd.1.gz
  подчинённый netcat: /bin/nc.openbsd
  подчинённый netcat.1.gz: /usr/share/man/man1/nc_openbsd.1.gz
/usr/bin/ncat — приоритет 40
  подчинённый nc.1.gz: /usr/share/man/man1/ncat.1.gz
  подчинённый netcat: /usr/bin/ncat
  подчинённый netcat.1.gz: /usr/share/man/man1/ncat.1.gz
Меняю:

Код: Выделить всё

olej@nvme:~/2021/rus.linux.net.hist/timeweb$ sudo update-alternatives --config nc
Есть 2 варианта для альтернативы nc (предоставляет /bin/nc).

  Выбор   Путь         Приор Состояние
------------------------------------------------------------
* 0            /bin/nc.openbsd   50        автоматический режим
  1            /bin/nc.openbsd   50        ручной режим
  2            /usr/bin/ncat     40        ручной режим

Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: используется /usr/bin/ncat для предоставления /bin/nc (nc) в ручном режиме
После:

Код: Выделить всё

olej@nvme:~/2021/rus.linux.net.hist/timeweb$ nc -h
Ncat 7.80 ( https://nmap.org/ncat )
Usage: ncat [options] [hostname] [port]
...

Аватара пользователя
Olej
Писатель
Сообщения: 14544
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: alternatives

Непрочитанное сообщение Olej » 08 июл 2021, 01:31

Вот ещё интересный пример использования - различные эмуляторы терминалов в системе:
Снимок экрана от 2021-07-08 01-29-21.png
Снимок экрана от 2021-07-08 01-29-21.png (101.23 КБ) 54 просмотра

Код: Выделить всё

olej@ACER:~/2021_WORK/rus.linux.net.hist/timeweb$ update-alternatives --display x-terminal-emulator
x-terminal-emulator - автоматический режим
  link best version is /usr/bin/gnome-terminal.wrapper
  ссылка сейчас указывает на /usr/bin/gnome-terminal.wrapper
  link x-terminal-emulator is /usr/bin/x-terminal-emulator
  slave x-terminal-emulator.1.gz is /usr/share/man/man1/x-terminal-emulator.1.gz
/usr/bin/gnome-terminal.wrapper — приоритет 40
  подчинённый x-terminal-emulator.1.gz: /usr/share/man/man1/gnome-terminal.1.gz
/usr/bin/lxterminal — приоритет 20
  подчинённый x-terminal-emulator.1.gz: /usr/share/man/man1/lxterminal.1.gz
/usr/bin/mate-terminal.wrapper — приоритет 30
  подчинённый x-terminal-emulator.1.gz: /usr/share/man/man1/mate-terminal.1.gz
/usr/bin/mlterm — приоритет 20
  подчинённый x-terminal-emulator.1.gz: /usr/share/man/man1/mlterm.1.gz
/usr/bin/xfce4-terminal.wrapper — приоритет 40
  подчинённый x-terminal-emulator.1.gz: /usr/share/man/man1/xfce4-terminal.1.gz

Ответить

Вернуться в «Администрирование Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя