заменить /etc/apt/preferences
на следующее:
Package: *
Pin: release a=lucid-security
Pin-Priority: 500
Package: *
Pin: release o=Ubuntu
Pin-Priority: 50
Теперь простой apt-get upgrade
обновит только все обновления безопасности.
Почему (и как) это работает: файл настроек связывает все пакеты из дистрибутива Ubuntu с приоритетом 50, что делает их менее желательными, чем уже установленные пакеты. Файлы из хранилища безопасности имеют приоритет по умолчанию (500), поэтому они рассматриваются для установки. Это означает, что только пакеты, которые считаются более желательными, чем установленные в настоящее время, являются обновлениями безопасности. Больше информации о закреплении на странице руководства apt_preferences .
Вы можете временно рекламировать определенный дистрибутив для обновлений с --target-release
опцией, которая работает с apt-get
и aptitude
(по крайней мере), которая позволит вам закрепить определенные выпуски, чтобы они имели право на обновление.
Если вы хотите использовать это только для сценариев и не устанавливать по умолчанию для системы, вы можете поместить правила в другое место и использовать вместо этого:
apt-get -o Dir::Etc::Preferences=/path/to/preferences_file upgrade
Это заставит apt искать файл настроек из нестандартного местоположения.
Файл настроек, приведенный в качестве примера, не применяется к сторонним репозиториям. Если вы хотите закрепить их, вы можете apt-cache policy
легко определить необходимые ключи для закрепления.