Я только что следовал Backbuts Ubuntu , чтобы активировать ручные порты, и у меня есть пара вопросов. Как я могу в командной строке (например, apt-cacher
или aptitude
):
apt-show-versions -u
для обновляемых пакетов) перечислите установленные пакеты, которые имеют доступные обновления бэкпорта
aptitude search '?and(~i, ~Araring-backports)'
перечислите все доступные пакеты бэкпорта (установленный или не)
aptitude search '~Abackports ?not(~S ~i ~Abackports)'
Эта информация доступна в Synaptic, который не установлен по умолчанию, но может быть получен с помощью,
sudo apt-get install synaptic
Выбор Origin в левой боковой панели позволит пакетам просматривать откуда они берутся, такие как raring-backports / universe, а также локально установленные пакеты.
Если вас интересует решение для командной строки, я собрал быстрый и грязный скрипт на python для вывода списка пакетов в бэкпортах, хотя, к сожалению, он довольно медленный.
from __future__ import print_function
import apt
def backport_version(package):
if package.versions is None:
return False
for version in package.versions:
for origin in version.origins:
if origin.archive.endswith("backports"):
return version.version
return None
with apt.Cache() as cache:
for package in cache:
version = backport_version(package)
if version is not None:
print(package.fullname, version)
if package.is_installed:
print(" Installed:", package.installed.version)
В нем перечислены все доступные пакеты бэкпорта и установленная версия, если она установлена.
Править: После некоторого экспериментирования я нашел решение, которое работает отлично на меня! Это перечисляет только пакеты, которые имеют более новую версию в - репозиторий бэкпортов, и ничто больше (другие решения перечислили дополнительные пакеты.
Для списка доступных обновлений бэкпортов выполните эту команду:
aptitude search -t $(lsb_release -sc)-backports '~U ~Abackports'
Если Вы хотите, чтобы список также отобразил текущую и более новую версию, выполнил эту команду вместо этого:
aptitude search -t $(lsb_release -sc)-backports -F '%p %v -> %V' '~U ~Abackports'
Это отобразит что-то вроде этого:
nvidia-settings 331.20-0ubuntu -> 346.59-0ubuntu
screen 4.1.0~20120320 -> 4.2.1-2~ubuntu
yelp-xsl 3.10.1-1 -> 3.12.0-1~ubunt
Если Вы не хотите запоминать эту команду, добавьте это к Вашему ~/.bashrc
:
alias apt-list-backports="aptitude search -t $(lsb_release -sc)-backports -F '%p %v -> %V' '~U ~Abackports'"
Теперь только необходимо записать apt-list-backports
!
Просто найденный иначе:
apt-get upgrade -s -t $(lsb_release -sc)-backports
Это моделирует обновление и перечислит, какие пакеты были бы обновлены. Но обновления бэкпортов также включены (я думаю, что нормальные обновления показывают также).
Можно также добавить опцию -V
показать версии, что пакеты были бы обновлены до.
Для просмотра журнала изменений пакета в бэкпортах используйте:
apt-get changelog -t $(lsb_release -sc)-backports PACKAGE_NAME