27

Я пытаюсь лучше понять механизм Ubuntu /etc /alternatives. Основы просты: он позволяет устанавливать несколько "провайдеров" на одном компьютере и настраивает их по умолчанию. Например, если у вас установлены Java SE 5 и Java SE 6, установлены /etc / альтернативы, которые являются вашей JRE по умолчанию.

Что я хотел бы понять:

  1. Есть ли центральный реестр, в который добавляются опции?
  2. Как создать альтернативный пакет при создании пакета? Могу ли я сделать это по умолчанию?

1 ответ1

19

Afaik, вы создаете альтернативу, используя опцию --install команды update-alternatives . Вы можете добавить эту команду в сценарии после установки пакета, если вы хотите зарегистрировать пакет в качестве альтернативы.

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

Центрального репозитория нет, только две директории, используемые этой командой:

   alternatives directory
          A directory, by default /etc/alternatives, containing the symlinks.

   administrative directory
          A directory, by default /var/lib/dpkg/alternatives, containing update-alternatives’ state  infor‐
          mation.

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

   --install genname symlink altern priority [--slave genname symlink altern]...
          Add a group of alternatives to the system.  genname is the generic name for the master link, sym‐
          link is the name of its symlink in the alternatives directory,  and  altern  is  the  alternative
          being  introduced for the master link.  The arguments after --slave are the generic name, symlink
          name in the alternatives directory and the alternative for a slave link.  Zero  or  more  --slave
          options, each followed by three arguments, may be specified.

          If the master symlink specified exists already in the alternatives system’s records, the informa‐
          tion supplied will be added as a new set of alternatives for the group.  Otherwise, a new  group,
          set  to  automatic mode, will be added with this information.  If the group is in automatic mode,
          and the newly added alternatives’ priority is higher than any other  installed  alternatives  for
          this group, the symlinks will be updated to point to the newly added alternatives.


   --set name path
          Set the program path as alternative for name.  This is equivalent to --config but is non-interac‐
          tive and thus scriptable.

   --auto link
          Switch the master symlink link to automatic mode.  In the process, this symlink  and  its  slaves
          are updated to point to the highest priority installed alternatives.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .