Как избежать апгрейда пакета в Debian


alexu аватар

alexu - Posted on 25 Февраль 2006

Допустим, в Debian или Ubuntu (и всех остальных дистрах, использующих apt) у вас имеется установленный пакет, который Вы не хотите обновлять. Например, его новые версии выходят слишком часто и на их скачку кушается много трафика, или Вы его как-то сами модифицировали, или по какой-либо другой причине Вас устраивает его конкретная версия. Ниже описывается два способа - с использованием aptitude и apt-pinning.
Допустим, в Debian или Ubuntu (и всех остальных дистрах, использующих apt) у вас имеется установленный пакет, который Вы не хотите обновлять. Например, его новые версии выходят слишком часто и на их скачку кушается много трафика, или Вы его как-то сами модифицировали, или по какой-либо другой причине Вас устраивает его конкретная версия. Ниже описываются два способа, с использованием aptitude и apt-pinning

Способ 1: Aptitude

$ sudo aptitude hold packagename

где packagename - имя интересующего вас пакета.

Если же необходимо совершить обратное действие, то делаем

$ sudo aptitude unhold packagename

Естественно, предварительно убедитесь, что у вас есть пакет aptitude :-)

Способ 2: Apt-pinning
Редактируем /etc/apt/preferences:
Формат простой:

Package: packagename
Pin: <маска прикрепления>
Pin-Priority: <приоритет прикрепления>

Например, чтобы "прикрепить" пакет drupal к версии 4.5.3, добавьте следующие строки:

Package: drupal
Pin: version 4.5.3*
Pin-Priority: 1001

Подробнее по теме можно почитать тут и тут

0
Ваша оценка: Ничего

Понадобилось пришпилить xorg, так как при обновлении глючит нещадно на моем Dell latitude D820. Создал /etc/apt/preferences.d/00-xorg

Package: xserver-xorg
Pin: version 1:7.*
Pin-Priority: 1001
 
Package: xserver-xorg-core
Pin: version 2:1.6*
Pin-Priority: 1001

Заблокировть обновление
echo "package_name hold" > dpkg --set-selections
Снять блокировку
echo "package_name install" > dpkg --set-selections

вроде как с aptitude немного гуманней ;-) хотя через просто dpkg тоже можно ;)

полезный тип!
а еще я слышал что synaptic умеет тоже холдить а потом если надо эти холды конверлить в apt-pinning. сам не пробовал, за что купил зато и продаю Ж:-)

а еще можно wajig

 hold           Place listed packages on hold so they are not upgraded
 list-hold      List those packages on hold
 unhold         Remove listed packages from hold so they are again upgraded

--
Signature invent in progress 19% #.........