web-dev-qa-db-ja.com

どのバックポートされたパッケージが利用可能かを確認し、手動でアップグレードするときにパッケージが失われないようにする方法は?

Natty 11.04以降、バックポートリポジトリがenabled有効になっていても、更新されたパッケージが自動的にインストールされないそのリポジトリから。個々のアップデートを手動でインストールする必要があります。経由で

apt-get install ipython/precise-backports

buntuBackports-Community Ubuntu Documentation で説明されています。私はメモを手に入れなかったと思う。

最初の質問:バックポートを介したアップグレードのオプションをどのように見つけるのですか?ステータスを尋ねても驚いた経由で

wajig status ipython

利用可能な新しいバージョンがあることを教えてくれません。すでにインストールしたパッケージのすべてのアップグレードのリストが欲しいのですが。

次に、バックポート経由でアップグレードするだけで既存のパッケージが失われないようにするにはどうすればよいですか?

例えば。上記のipythonインストールは私に言う:

The following packages will be REMOVED:
   ipython-notebook ipython-qtconsole

最新のバックポートされたipython、およびそれに依存する更新が利用可能な他のパッケージを、それらをすべて手動で把握してインストールすることなく、どうすればいいですか?

ピン留めを変更してallの更新を取得できることは知っていますが、一般的なアドバイスに反することはためらっています。しかし、ユーザーが1つのパッケージを更新するように要求した場合、PPAから取得するように、すべての依存関係を更新するのは自然ではないでしょうか?

5
nealmcb

バックポートを介したアップグレードのオプションをどのように見つけるのですか?

--default-releaseまたは-tスイッチを使用してapt-getを実行します。

Sudo apt-get -t precise-backports upgrade

apt-get install ipython/precise-backportsと同じですが、precise-backports部分を挿入する必要はありません。

ステータスを尋ねても驚いたwajig status ipythonを介して、利用可能な新しいバージョンがあることを教えてくれません。

そのためにapt-cache policyを使用します:

apt-cache policy iceweasel
iceweasel:
  Installed: 25.0~a2+20130816004007-1~bpo70+1
  Candidate: 25.0~a2+20130816004007-1~bpo70+1
  Package pin: 25.0~a2+20130816004007-1~bpo70+1
  Version table:
 *** 25.0~a2+20130816004007-1~bpo70+1 1990
       1990 http://mozilla.debian.net/ wheezy-backports/iceweasel-aurora i386 Packages
        100 /var/lib/dpkg/status
     23.0-2 1990
         -1 http://ftp.us.debian.org/debian/ experimental/main i386 Packages
     17.0.8esr-2 1990
        990 http://ftp.utexas.edu/debian/ testing/main i386 Packages
         -1 http://ftp.de.debian.org/debian/ sid/main i386 Packages

次に、バックポート経由でアップグレードするだけで既存のパッケージが失われないようにするにはどうすればよいですか?

アップグレードするパッケージが以前の依存関係を破壊する場合、アップグレードするかそのままにするかを決定する必要があります。または、単に物事を強制し、インストールを中断します。すべてはあなた次第です。

最新のバックポートされたipython、およびそれに依存する更新が利用可能な他のパッケージを、それらをすべて手動で把握してインストールすることなく、どうすればいいですか?

同上。

しかし、ユーザーが1つのパッケージを更新するように要求した場合、PPAから取得するように、すべての依存関係を更新するのは自然ではないでしょうか?

更新候補がない場合、いいえ。これは、ローリングリリースディストリビューションで頻繁に発生し、一部のパッケージはリポジトリでまだ利用できない他のパッケージに依存しているため、aptは依存関係を壊すためアップグレードしないと決定します。

コメントで言及したipythonの場合:

パッケージの依存関係ページipython-notebook=0.13.2-1~ubuntu12.04.1に続いてipython=0.13.2-1~ubuntu12.04.1に依存しますが、ipythonのみをアップグレードしようとすると、aptはアクションを優先して実行します。コスト。バックポートからipythonをインストールするようにaptに伝えているだけなので、彼は理解しています:

条件を満たしますonly

したがって、これを行う唯一の方法は、この操作により依存関係が壊れたパッケージを削除/ダウングレードし(ipython-notebook)、バックポートからipythonをインストールすることです。これを行う正しい方法は、次のいずれかです。

Sudo apt-get -t precise-backports install ipython-notebook ipython

または

Sudo apt-get -t precise-backports upgrade

1つ目はapt-getにバックポートからipython-notebookipythonをインストールするように指示し、2つ目はprecise-backportsリポジトリにアップグレードがあるインストール済みパッケージをアップグレードするようにaptに指示します。

4
Braiam