[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Временно заменить утилиту из пакетов утилитой из /opt



Oleksandr Gavenko -> debian-russian@lists.debian.org  @ Wed, 09 Sep 2015 20:56:18 +0300:

 >>> Я бы сделал каталог и кинул симлинк туда, есть пользователь и время создания,
 >>> понятно как удалять/менять.
 >>
 >>> /usr/local/bin уже есть в PATH перед /usr/bin - бросать симлинк туда?
 >>
 >> Можно и так. Или, если это требуется для одного пользователя -
 >> положить в ~/bin, если он идёт раньше других путей.

 OG> Поискав нарыл популярный путь ``~/bin``:

Сейчас, кстати, многие инструменты для установки "для юзера" уже
придерживаются соглашения про ~/.local/bin.

 >> На своей машине при невозможности сделать по-другому я бы
 >> воспользовался dpkg-divert на предмет переименования старого adb (чтоб
 >> при апгрейде тоже переименовывался) и создания симлинка на нужный.
 >>
 >>> Интересует рассовая верность решения.
 >>
 >> Расово верное решение - сделать пакет с нужной версией.
 >>

 OG> Способ с ~/bin легко посоветовать коллеге - он не требует новых знаний.

 OG> Про dpkg-divert наверно и хотелось услышать, о таком механизме не знал.

 OG> Поиск ``site:blogspot.com dpkg-divert`` показал что люди используют для:

 OG>  * смены приоритета как

 OG>     $ dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen

 OG>  * удаление чужых ожиданый, как

 OG>     # dpkg-divert --local --rename --add /sbin/initctl
 OG>     # ln -s /bin/true /sbin/initctl

 OG>  * отключение

 OG>     $ sudo dpkg-divert --rename --divert /etc/acpi/sleep.sh.disabled /etc/acpi/sleep.sh

 OG>  * раньше ``ask-grep`` так и назывался пока не удалили пакет ``ack``, это исправлялось

 OG>     $ sudo dpkg-divert --local --divert /usr/bin/ack --rename --add /usr/bin/ack-grep

 OG> Т.е. сейчас мне кажется что dpkg-divert не стоит использовать по исследуемому
 OG> вопросу...

dpkg-divert используется тогда, когда нужно завести ad-hoc альтернативу
(т.е. когда автор оригинального пакета не подумал, что тут вот может
понадобиться альтернатива).  Достаточно часто как раз для описанной
ситуации, поскольку механизм альтернатив вообще-то придуман не для чего
попало, а для сожительства в одной системе нескольких пакетов,
предоставляющих одну функциональность, когда один из них рассматривается
как основной в этом качестве, но остальные тоже работают.

В смысле, если пакет с данной функциоальностью в дистрибутиве один, то
механизм альтернатив к нему прикручивать не следует.

А когда хочется заменить файл из пакета, но так, чтобы пакетный менеджер
не обижался - divert.

Впрочем, в описываемой ситуации логичнее играться с PATH.


Reply to: