source.listに混合バージョンエントリが含まれないようにする方法はありますか?

source.listに混合バージョンエントリが含まれないようにする方法はありますか?

私は両方とも使用し、testing私のファイルには過去のbuster理由でDebianをsid/etc/apt/sources.listフランケン Debian。オンラインで検索しても復元する方法がないので、Debianを最初から再インストールしました。

今後、このような間違い(!)を防ぐための検証済みの方法はありますか?たとえば、sources.listアップデートまたはインストール前に混合バージョンエントリがないことを最初に確認するトリガはありますか?

答え1

sources.list手動でのみ変更できます。

昔々busterこのキットのコード名はでしたtesting。この期間中にインストールした場合は、 / を同等とみなしbusterて、任意に 2 つのいずれかを使用することもできます。しかし、なることとなることについては彼らの違いを見るでしょう。testingbusterbusterstabletestingbullseye

私は人々が同じミスをしてstableキットとstretchコード名を混同するのを見たことがあります。stretchこの機能はある限り機能しますstableが、変換が発生すると、すべてのソースはstable自動的にアップグレードされ、busterすべてのソースはstretchまだ同じバージョンのままになります。

コード名とキットをいつ使用するかについていくつかの提案は次のとおりです。

  • 代わりに、必ずコード名(例buster:)を使用してくださいstable。安定したディストリビューションを使用する理由は、apt upgradeリスクがないことです。使用すると、stable2年ほどごとにびっくりすることができます。
  • ローリング展開を希望する場合は、testing.thereを使用してください。一部毎回リスクを負いますapt upgradeが、リリースサイクルの影響を受けません(一部の更新は停止中に遅延する可能性があります)。
  • 次のリリース(Debian 11 Bullseyeなど)をプレビューする場合は、コード名を使用してくださいbullseye。そのコード名が公開されるまで、テストなどの循環サイクルを経ます。それからあなたは安定します。私たちの組織は安定したリリースを使用していますが、常に次のリリースに接続するいくつかのシステムがあるため、アップグレードするときに驚くことはありません。

本当に自分自身を保護したい場合(複数のコンピュータがあるかもしれませんsudoers)、いくつかのオプションがあります。

  1. apt.conf:/etc/apt.conf.d/00local追加:
APT::Default-Release "buster";

man apt.confこれを次のように説明します。

複数のバージョンが利用可能な場合は、パッケージのデフォルトバージョンがインストールされます。リリース名、コード名、またはリリースバージョンを含みます。例:「安定」、「テスト」、「不安定」、「ブレーカー」、「ターゲット」、「4.0」、「5.0*」。

  1. 固定:ここでは詳しく説明しませんが、固定は特定のパッケージの特定のバージョンを強制する非常に明確な方法です。本当にシステムを台無しにすることができます。man apt_preferences詳細より。

答え2

アップデートをブロックする設定はありませんが、sources.list利用可能です。修正しやすい特定のソースからパッケージをインストールしないように強制することを含む、複数のソースからパッケージを選択する方法の動作を制御します。

適切な固定を使用すると、パッケージ名、ソースパッケージ名、バージョン、またはパッケージをインストールするソースストアの属性に基づいてパッケージの優先順位を設定できます。現在のグローバル優先順位ジョブのステータスを表示しますapt-cache policy

たとえば、次のように入力すると、/etc/apt/prefereneces/00default-releaseBuster、Buster-updates、およびBuster-securityのパッケージが優先され、Buster-backportsおよび非Debianソースのパッケージが正常に動作します。最後に、Debian ソースの他のパッケージがインストールされていて他のソースで利用できない場合は、アンインストールおよびアンインストールが可能です。

Package: *
Pin: release n=buster,o=Debian
Pin-Priority: 990
Package: *
Pin: release n=buster-updates,o=Debian
Pin-Priority: 990
Package: *
Pin: release o=Debian
Pin-Priority: -10

Bullseyeがリリースされると、ソースコードを編集してからアップグレードする前にファイルを編集して変更しますbusterbullseye

私は現在Bullseyeを使用しており、次の適切な固定を構成しています。 Debian の Bullseye パッケージに優先順位を付け、サードパーティのソースの Bullseye パッケージ、実験用パッケージを除く Debian の他のパッケージが続きます。最後に、他のすべてのパッケージのデフォルト優先順位は500、実験パッケージのデフォルト優先順位は1です。

Package: *
Pin: release n=bullseye,o=Debian
Pin-Priority: 990
Package: *
Pin: release n=bullseye
Pin-Priority: 900
Package: *
Pin: release a=experimental
Pin-Priority: 1
Package: *
Pin: release o=Debian
Pin-Priority: 600

最後に、APT :: Default-Releaseを使用しないのは、固定がより多くの制御を提供するためです。APT::Default-Release "buster";以下の適切な固定項目へのショートカットです。

Package: *
Pin: release n=buster
Pin-Priority: 990

関連情報