先日、ミラーアーカイブからDebian7とDebian8のサポート終了コンポーネントが削除されました。すると、Docker使ってる人やCircleCI使ってる人が「ぎゃー!」と叫び始めたという。どうも背景を理解されてる方は少ないようなので、簡単にざっと説明を書きました(ユーザーならともかく、イメージを提供するベンダー側は把握しておいてほしいですけどね…)。
ベースイメージとしてDebian8 “jessie"を使っているという前提で話をします。
「oldstable」(旧安定版)
という扱いになっています。oldstableはstableに比べて限定されたサポートの提供となります。そりゃぁでっかいリポジトリを複数バージョンに渡って長期間メンテナンスなんて難しいですからね。oldstable使ってる時点で色々制限が出てくる、ってもんです。ベストプラクティスとしては「ベースイメージのDebianはstableを使おう」です。
jessie-updates
コンポーネントが無くてビルドがー!という人:-updates
は「stableにおけるパッケージのうち、定期的な更新が必要なものを提供」という位置づけなので、jessieがoldstableになった時点で死んでます。外しちゃえばいいです。http://security.debian.org/debian-security jessie/updates mainも削除…はしちゃダメです!
その行はセキュリティアップデートの取得
です(取得先サーバーがsecurity.debian.orgでしょ?) たしかにjessie/updates
というところだけを見たら削除したくなるかもしれませんが、LTSサポートのセキュリティアップデートが降ってくるのを消したらアカンですよ…。jessie-backports
が無くなってギャー!という人:-backports
は「stableへの新しいバージョンの移植」という位置づけのコンポーネントなので、jessieがoldstableになった時点で死んでます。なんで使ってんの?ということです。そもそも新しいバージョンが必要だ、というならoldstable使ってる時点で前提がおかしいですよ?まずはstableに移行しましょうDebian9がでて早2年近く、そろそろDebian10の足音も聞こえてるので、開発側としてはいまさらDebian8に固執してほしくはない、というのが正直な所。ベースイメージのバージョン移行は計画的に…。