Я только что последовал за Ubuntu Backports, чтобы активировать ручные backports, и у меня есть пара вопросов. Как я могу в командной строке (например, apt-cacher или aptitude):
указать установленные пакеты с имеющимися обновлениями backport? (До этого я использовал apt-show-versions -u для обновляемых пакетов) список всех доступных пакетов backport (установленных или нет)?Эта информация доступна в Synaptic, которая не установлена по умолчанию, но может быть получена с помощью
sudo apt-get install synaptic
. Выбор Origin на левой боковой панели позволит просматривать пакеты, откуда они берутся, таких как raring-backports / universe, а также локально установленные пакеты.
Если вы заинтересованы в решении командной строки, я взломал быстрый и грязный скрипт python для отображения пакетов в backports, хотя, к сожалению, он довольно медленный.
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)
В нем перечислены все доступные пакеты backport и установленная версия, если она установлена.
EDIT: после некоторых экспериментов я нашел решение, которое отлично работает для меня! В нем перечислены только пакеты с более новой версией в репозитории -backports и не более того (в других решениях перечислены дополнительные пакеты.
Чтобы просмотреть доступные обновления backports, выполните следующую команду:
Если вы хотите, чтобы в списке также отображалась текущая и более новая версия, запустите эту команду:
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
Это будет имитировать обновление и список пакетов, которые будут обновлены. Но также включены обновления для backports (I думаю, что нормальные апгрейды тоже показаны).
Вы также можете добавить опцию -V, чтобы показать версии, в которые будут добавлены пакеты.
Чтобы просмотреть список изменений пакета в backports, используйте:
apt-get changelog -t $(lsb_release -sc)-backports PACKAGE_NAME
EDIT: после некоторых экспериментов я нашел решение, которое отлично работает для меня! В нем перечислены только пакеты с более новой версией в репозитории -backports и не более того (в других решениях перечислены дополнительные пакеты.
Чтобы просмотреть доступные обновления backports, выполните следующую команду:
Если вы хотите, чтобы в списке также отображалась текущая и более новая версия, запустите эту команду:
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
Это будет имитировать обновление и список пакетов, которые будут обновлены. Но также включены обновления для backports (I думаю, что нормальные апгрейды тоже показаны).
Вы также можете добавить опцию -V, чтобы показать версии, в которые будут добавлены пакеты.
Чтобы просмотреть список изменений пакета в backports, используйте:
apt-get changelog -t $(lsb_release -sc)-backports PACKAGE_NAME
EDIT: после некоторых экспериментов я нашел решение, которое отлично работает для меня! В нем перечислены только пакеты с более новой версией в репозитории -backports и не более того (в других решениях перечислены дополнительные пакеты.
Чтобы просмотреть доступные обновления backports, выполните следующую команду:
Если вы хотите, чтобы в списке также отображалась текущая и более новая версия, запустите эту команду:
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
Это будет имитировать обновление и список пакетов, которые будут обновлены. Но также включены обновления для backports (I думаю, что нормальные апгрейды тоже показаны).
Вы также можете добавить опцию -V, чтобы показать версии, в которые будут добавлены пакеты.
Чтобы просмотреть список изменений пакета в backports, используйте:
apt-get changelog -t $(lsb_release -sc)-backports PACKAGE_NAME
EDIT: после некоторых экспериментов я нашел решение, которое отлично работает для меня! В нем перечислены только пакеты с более новой версией в репозитории -backports и не более того (в других решениях перечислены дополнительные пакеты.
Чтобы просмотреть доступные обновления backports, выполните следующую команду:
Если вы хотите, чтобы в списке также отображалась текущая и более новая версия, запустите эту команду:
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
Это будет имитировать обновление и список пакетов, которые будут обновлены. Но также включены обновления для backports (I думаю, что нормальные апгрейды тоже показаны).
Вы также можете добавить опцию -V, чтобы показать версии, в которые будут добавлены пакеты.
Чтобы просмотреть список изменений пакета в backports, используйте:
apt-get changelog -t $(lsb_release -sc)-backports PACKAGE_NAME
EDIT: после некоторых экспериментов я нашел решение, которое отлично работает для меня! В нем перечислены только пакеты с более новой версией в репозитории -backports и не более того (в других решениях перечислены дополнительные пакеты.
Чтобы просмотреть доступные обновления backports, выполните следующую команду:
Если вы хотите, чтобы в списке также отображалась текущая и более новая версия, запустите эту команду:
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
Это будет имитировать обновление и список пакетов, которые будут обновлены. Но также включены обновления для backports (I думаю, что нормальные апгрейды тоже показаны).
Вы также можете добавить опцию -V, чтобы показать версии, в которые будут добавлены пакеты.
Чтобы просмотреть список изменений пакета в backports, используйте:
apt-get changelog -t $(lsb_release -sc)-backports PACKAGE_NAME
EDIT: после некоторых экспериментов я нашел решение, которое отлично работает для меня! В нем перечислены только пакеты с более новой версией в репозитории -backports и не более того (в других решениях перечислены дополнительные пакеты.
Чтобы просмотреть доступные обновления backports, выполните следующую команду:
Если вы хотите, чтобы в списке также отображалась текущая и более новая версия, запустите эту команду:
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
Это будет имитировать обновление и список пакетов, которые будут обновлены. Но также включены обновления для backports (I думаю, что нормальные апгрейды тоже показаны).
Вы также можете добавить опцию -V, чтобы показать версии, в которые будут добавлены пакеты.
Чтобы просмотреть список изменений пакета в backports, используйте:
apt-get changelog -t $(lsb_release -sc)-backports PACKAGE_NAME