LINUX.ORG.RU
ФорумAdmin

Запретить установку пакета


0

0

Возник случай, когда нужно запретит установку одного пакета на Ленни, чтоб ни при каких обстоятельствах он не ставился.
На данный момент сделал dpkg --get-selections > pkg Потом добавил строчку с пакетом, поставил ему hold. Попытался установить пакет, который зависит от него, не получилось с причиной «Depends: хххх but it is not going to be installed E: Broken packages»
Вопрос - правильно ли я сделал, и как правильно пометить пакет, чтоб он никогда не ставился?

★★★★★

может стоит посмотреть в сторону equivs?

kostian ★★★★☆
()

неа, aptitude hold ipcalc && aptitude install ipcalc прокатило :)

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

>Попробуй apt pinning, там такое, вроде, можно.

man apt: A pin can be specified on a package's version, release or origin. :-) Думается, выбирать версию старую, это больший костыль, чем у меня сейчас.

неа, aptitude hold ipcalc && aptitude install ipcalc прокатило :)

Да-да, ставит не спрашивая.. :-) А уж если пакет в зависимостях, что поставит глазом не моргнув.

Mr_Alone ★★★★★
() автор топика
Ответ на: комментарий от Mr_Alone

не-не-не, как-то так делается:

Package: pornviewer
Pin: release a=stable
Pin-Priority: -1

См. что делает -1. В общем, я думаю ты разберёшься

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

В /etc/apt/preferences добавил на тестовой машине:

Package: proftpd-basic
Pin: release a=stable
Pin-Priority: -1

Потом apt-get install proftpd и ставит по зависимостям proftpd-basic не спросив. ЧЯДНТ?

Mr_Alone ★★★★★
() автор топика
Ответ на: комментарий от Mr_Alone

действительно не пашет. Ну тогда ставь генту, я знаю как в ней это сделать. Пока я разделяю вот этот совет по решению проблемы: http://serverfault.com/questions/17046/preventing-specific-packages-from-gett...

Но я не знаток дебиана, может красивое решение и существует.

true_admin ★★★★★
()

А разве не нужно после всех манипуляций сделать еще dpkg --set-selections < pkg ?

stormy
()
Ответ на: комментарий от true_admin

Шутку по поводу генты заценил. :-)


А разве не нужно после всех манипуляций сделать еще dpkg --set-selections < pkg ?


Нужно. Вопрос был в том, что есть ли другие решения, и какое решение корректное. Судя по всему то, которое сам же и написал. :-)

Mr_Alone ★★★★★
() автор топика
Ответ на: комментарий от Mr_Alone

еще раз:

1. ставим equivs
2. собираем пакет-заглушку
3. ставим его
4. делаем ему hold
5. ставим то, что от него зависит
6. ???
7. PROFIT!

kostian ★★★★☆
()
Ответ на: комментарий от kostian

Мммм... И? Тут уже выше дали ссылку хорошую, где сказано «If you 'hold' a currently uninstalled package, it will never be installed.» Так что лишний гемор с установкой дополнительных пакетов и установкой заглушек не нужен.

Mr_Alone ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.