適切な設定を中断することなく、さまざまな Debian バージョンのパッケージリストを混在させる方法

適切な設定を中断することなく、さまざまな Debian バージョンのパッケージリストを混在させる方法

私は最新のDebian「テスト」(Trixie)を試してみました。

アップデート:私のユースケースは、満たされていないForticlient 7.2.2の依存関係、特にlibappindicator1に問題があることです。

パッケージのリストをマージする必要があります。これまでは大丈夫です。しかし、これが将来識別するのが難しい問題を引き起こす可能性があるかどうか疑問に思います。

これは私のものですsources.list

deb http://deb.debian.org/debian/ trixie main non-free-firmware contrib non-free
deb-src http://deb.debian.org/debian/ trixie main non-free-firmware contrib non-free

deb http://security.debian.org/debian-security trixie-security main non-free-firmware contrib non-free
deb-src http://security.debian.org/debian-security trixie-security main non-free-firmware contrib non-free

# trixie-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://deb.debian.org/debian/ trixie-updates main non-free-firmware contrib non-free
deb-src http://deb.debian.org/debian/ trixie-updates main non-free-firmware contrib non-free

deb http://deb.debian.org/debian/ bookworm main non-free-firmware contrib non-free
deb-src http://deb.debian.org/debian/ bookworm main non-free-firmware contrib non-free

deb http://deb.debian.org/debian bookworm main non-free-firmware
deb http://deb.debian.org/debian-security/ bookworm-security main non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main non-free-firmware

答え1

スチュアートの答え指す「Debian を壊さないでください」 Wiki ページ、良いアドバイスがありますが、特定の文脈で書かれており、あなたの状況にうまく適用されません。ここで言及されている損傷は実際には現在の安定版です基本バージョンがあり、パッケージが別の(最新の)バージョンから追加されました。

あなたの場合、テストされていないパッケージを追跡しているため、上記のアドバイスは適用されません。テスト目的で、いつものアドバイスはいハイブリッドリリース- テスト中で不安定です(実験的かもしれません)。行為それパッケージを不安定なバージョンに早期にアップグレードしないように注意する必要があるため、Debian開発プロセスに慣れていない人にはお勧めできません。以前の安定リリースとテストを混在させることは大丈夫で、テスト中に安定リリースでパッケージを再構築するよりも優れています。後者の場合、アップグレードは自動的に行われないためです。

少なくともライブラリABIの場合、新しいパッケージ名を使用して破損を防ぐ必要があるため、ABI破損は問題になりません。したがって、互換性のない2つのバージョンのライブラリが共存する可能性があり、古いABIを使用する古いパッケージは新しいABIの影響を受けません。もちろん、エラーが発生する可能性があり、それを早期に把握することもテストの一部です。したがって、問題が発生する可能性があるため、自分で解決する準備をする必要があります。例えば、シェルビングパッケージなどを使用して、パッケージに影響を与えるバグを追跡しますapt-listbugs。 Test は Debian の将来の安定版リリースなので、そのパッケージが Debian 12 でアップグレードをサポートする必要があることを意味します。したがって、部分的にアップグレードされたDebian 12システムで機能しないようにするすべては、潜在的なアップグレードの問題を示しています。今後はこの問題を解決する必要があります。

Debian 12 に必要な特定のパッケージがリストされておらず、テストでは利用できないが、これらのパッケージが利用できない理由を調査する価値があります。もちろん、Debian 12は現在サポートされている主要な安定版なので、Debian 12で使用されているパッケージは(理論的に)維持され続けます。しかし、テストから除外した場合は、知っておくべきことがあります。いくつかの状況があります:

  • パッケージはまだ不安定ですが、パッケージまたはパッケージの依存関係のいずれかでテストされていません。お手伝いします。
  • このパッケージは他のパッケージに置き換えられました。交換を検討する必要があります。
  • このパッケージは廃止されたため削除されました。
  • このパッケージはメンテナンスされていないため削除されました。
  • 1 つ以上の依存項目が削除されているため、パッケージが削除されました。

最後の3つは簡単な長期的な解決策がないので、より迷惑です。ただし、バグが多すぎて使いにくいので削除されない限り、パッケージは廃止されたか、廃止された依存関係に依存するため削除されます(例えば libappindicator1あなたの場合)は、インストールされている安定したバージョンで利用可能で維持されている限り、通常安全に保管できます。

興味のあるパッケージを検索すると、詳細を確認できます。Debian パッケージトラッカーで。パッケージが削除されると、削除の理由に関する詳細情報を提供する削除要求リンクがあります。

メンテナンスに関しては、ファイルをまったく使用せずに「Deb822」スタイルのストレージ構成を維持することをお勧めしsources.listます。sources.listあなたの場合、これは以下を/etc/apt/sources.list.d/bookworm.sources含むファイルを意味します。

Types: deb
URIs: http://deb.debian.org/debian
Suites: bookworm bookworm-updates
Components: main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb
URIs: http://deb.debian.org/debian-security
Suites: bookworm-security
Components: main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

(必要な「コンポーネント」項目を含む)およびその他を/etc/apt/sources.list.d/trixie.sources含む

Types: deb
URIs: http://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb
URIs: http://deb.debian.org/debian-security
Suites: trixie-security
Components: main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

1 残念ながら、Debian にはパッケージを表示する良い方法はありません。しなければならないこれ以上メンテナンスされない場合は、システムから削除してください。

答え2

バージョンをマージするのは悪い考えです。バラよりFrankenDebianを作成しないでください

決定した解決策ですが、安定していない可能性があります。これにより、特定のソースの特定のパッケージの優先順位を定義できます。この問題の例は、パッケージがアップグレードされたパッケージに依存している場合、trixieABIの非互換性が原因で問題が発生する可能性があることです。

bookworm私はあなたが特定のバージョンに興味があるのではなくで利用可能だったが、から削除されたパッケージに興味があると仮定しますtrixie。この場合は、ソースコードをダウンロードして依存関係のある環境bookwormでビルドします。trixietrixie

この場合は、ファイルに追加するだけです/etc/apt/sources.list(後で削除できます)。

deb-src http://deb.debian.org/debian/ bookworm main non-free-firmware contrib non-free

次に、次のコマンドを使用してソースをダウンロードします。

apt update
apt source -t bookworm <package>

次に、次を使用して再構築します。

$ cd <package>_<version>
$ dpkg-buildpackage -uc -us

その後、インストールしてください。

sudo dpkg -i ../<package>*.deb

次にその行を削除しますdeb-src。ビルドが失敗した場合は、次のものが必要になることがあります。修理する源泉。

関連情報