buntu Backports をたどって手動バックポートを有効にしましたが、いくつか質問があります。コマンドラインで(たとえば、apt-cacher
またはaptitude
):
apt-show-versions -u
を使用していました)利用可能なバックポートアップグレードがあるインストール済みパッケージを一覧表示する
aptitude search '?and(~i, ~Araring-backports)'
使用可能なすべてのバックポートパッケージをリストします(インストールされているかどうかにかかわらず)
aptitude search '~Abackports ?not(~S ~i ~Abackports)'
この情報はSynapticで利用できます。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)
使用可能なすべてのバックポートパッケージと、インストールされている場合はインストールされているバージョンが一覧表示されます。
編集:いくつかの実験の後、私は完璧に機能するソリューションを見つけました! -backportsリポジトリに新しいバージョンを持つパッケージのみがリストされ、それ以上はリストされません(他のソリューションは追加パッケージをリストしました。
利用可能なバックポートの更新を一覧表示するには、次のコマンドを実行します。
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