シナリオ:Puppet、Chefなどに基づくバージョン管理システム構成では、特定のシステム状態を再現する必要があります。これは、システムパッケージのバージョンを明示的に指定することによって行われます。
最近、特定のパッケージバージョンがDebianリポジトリにないという問題に遭遇しました。一例:バージョン2.7.5-1 + deb9u1では「パッチ」パッケージが必要でしたが、2.7.5-1 + deb9u2のみが利用可能でした。別のさらに深刻な例:「linux-headers-4.9.0-9-common」が必要であり(関連するカーネルがインストールされているため)、「linux-headers-4.9.0-11-common」のみが使用可能です。
これにより、システムの特定の状態を再現できなくなります。
上記のパッケージは単なる例です(実際に私はこれに遭遇しました)。一般的な問題を理解して解決することに興味があります。
これらの更新、「消失」パッケージ、およびパッケージバージョンの背後にあるアイデアは何ですか?
Debianパッケージの以前のバージョン(実際には古いバージョンではなく、数週間前のバージョン)はどこで入手できますか?一般的な方法でインストールプロセスを自動化することができるはずです。
stable
少なくとも次のポイントリリースまで、一貫性が保たれます。stable-updates、testing、unstableには、特定のパッケージの最新バージョンのみが含まれています。その他については、archive.debian.org(またはSKの回答に記載されているsnapshot.debian.org)を参照する必要があります
linux
pkg名は例外です。一般的に、Debian安定版のパッケージは同じパッケージ名を使用し、バージョン番号のみを変更します。linux-image-amd64
名前を変更せず、常に最新のものに依存しlinux-image-4.9.0-*
ます。新しいlinux-image-4.9.0-*
pkg名は、一部のバグ修正をバックポートするために必要な互換性のないカーネルABI変更をマークし、カスタムビルドモジュール(dkmsなど)の必要な再コンパイルに対処できるようにします。同様にlinux-headers-*
。
apt-get changelog packagename