Согласитесь, у вас были ситуации, когда хотелось удалить отдельный пакет с целью его переустановки или ещё зачем-то.
Пакетная система в debian устроена так, что удалить пакет зачастую сложно, частенько он может унести за собой полсистемы. А откатить его хочется. Или переустановить.
В общем, сегодня paulus мне напомнил (а точнее рассказал новый способ) сделать это быстро и зачастую безболезненно, да. Как обычно, чтобы не забыть — записываю.
Само собой, «мопед не мой, что-нибудь поломаете — сами виноваты» и всё такое. В общем думать всё же надо при подобных операциях. Например, не стоит сносить что-то вроде glibc =)
Снесем пакет:
root@debian:~# dpkg -P --force-all nginx
Поставим его определенную версию:
root@debian:~# apt-get install nginx=0.6.76
Просмотреть список доступных вам к установке версий пакета можно командой:
root@debian:~# apt-cache policy nginx
Где nginx следует заменить на имя нужного вам пакета.
Ну и не забываем про магический каталог /var/cache/apt, в котором лежат все пакеты, которые apt/aptitude когда либо качали с сети. Если вы его не чистите — то старую версию пакета сможете найти там.
А у меня другой вопрос, вот допустим я прогнал aptitude update и среди списка рекомендуемого программного обеспечения я хочу обновить только apache/ как это сделть, не устанавливая кучу других программ?
aptitude install package1 package2 packageN apache*
Обновить пакет, если он требует новые версии зависимостей без обновления зависимостей — не получится
Установка пакета с определенной ветки:
# aptitude install nginx/experimental
Умху, можно использовать опцию -t ещё, чтобы установить из определенного репозитория.
класс, спасибо!
Ubuntu:
sudo apt-get install ppa-purge
sudo ppa-purge xorg-edgers #for example
Сбивает пакеты до версии дистрибутива.
apt-get remove — — purge имя_пакета
Куда уж проще?
Зависимости сносятся тоже.
Вот что меня спасло: dpkg -P —force-all
Один негодяй пытался поставить пакет не из того релиза, было видимо куча зависимостей на удаление, ну естественно всё было отменено в процессе установки и при очередном apt-get upgrade выходило следующее сообщение: apt-get -f install, а там на удаление список пакетов на весь экран :)
=)
ага, полезняшка. Тоже долго без неё в своё время страдал.