Я использую 10.04 и установил Virtualbox 3.2.10 (не ose, а файл .deb из Oracle). Он зависит от libqt4-opengl, который зависит от версии 4.6 qt, но менеджер обновлений хочет обновить его до версии 4.7 и удалить Virtualbox.
Как мне не допустить этого, чтобы получить остальные обновления?
Отвечая на вопрос - вот команда для вашей оболочки:
echo "libqt4-opengl hold" | dpkg --set-selections
и для возврата ее в состояние обновления:
echo "libqt4-opengl install" | dpkg --set-selections
Заменить libqt4- opengl с именем вашего пакета, если я угадал его неправильно.
Вы можете использовать aptitude для хранения определенной версии пакета, это делается следующим образом:
aptitude install <package>=<version>
Это приостановит пакет для данной версии. Чтобы вернуться просто сделайте
aptitude unhold <package>
Почему вы не устанавливаете его с дистрибутивами Linux на основе Debian, обрабатывайте его лучше и безопаснее, следуя шагам, соответствующим вашему дистрибутиву Ubuntu:
Менеджер обновлений имеет тенденцию делать свое дело и держать вас в курсе последних пакетов. Я не понял, как заставить Update Manager хранить пакеты там, где они есть, и поэтому я использую apt-get, чтобы «прикрепить» пакеты к определенной версии. NB - все системы управления пакетами, как правило, делают это по-разному, поэтому вам придется выбрать один менеджер пакетов и придерживаться его.
Сначала установите нужную версию пакета.
Далее, используйте политику apt-cache, чтобы увидеть, какую версию вы используете:
$ apt-cache policy xterm
xterm:
Installed: 241-1ubuntu1
Candidate: 241-1ubuntu1
Version table:
*** 241-1ubuntu1 0
500 http://us.archive.ubuntu.com jaunty/main Packages
100 /var/lib/dpkg/status
Наконец, отредактируйте / etc / apt /icies и добавьте запись для вашего пакета:
Package: xterm
Pin: version 241*
Priority: 1001
Теперь вы можете запустить:
$sudo apt-get update
$sudo apt-get upgrade
и ваш пакет будет сохранен в текущей версии. Если вы хотите переопределить это, используйте dist-upgrade:
$sudo apt-get dist-upgrade