私は、特定の安定したAlpineリリース内で個々のパッケージバージョンを保存/アップグレードするためにAlpine Linuxで文書化された方法を探しています。
したがって、イメージ(dockerなど)を構築すると仮定すると、次のようになります。
FROM alpine:3.13.1
RUN apk add python3 py3-numpy
それから...
- これは常にpython3とnumpyの同じ州/マイナーバージョンをインストールすると仮定するのは安全ですか?
- セキュリティパッチは提供されますか?(画像を再構成する場合)
3.13
(#1と#2)の代わりにちょうど修正だと言ったら3.13.1
違いは何ですか?
答え1
私はこれを説明する明確な文書を知らないという事実以外安定したリリースではバグのみを修正します。:
安定リリースは、名前が示すように、最初はパッケージアーカイブの特定の時点のスナップショットですが、その後は安定した環境を維持するためにバグ修正としてのみ維持されます。
ただし、一部の実験では、インストールがベースのパッチバージョンに固定されていないことがわかりました。
$ docker run -it --rm alpine:3.13.0
/ # apk add php8
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz
(1/9) Installing php8-common (8.0.2-r0)
(2/9) Installing argon2-libs (20190702-r1)
(3/9) Installing ncurses-terminfo-base (6.2_p20210109-r0)
(4/9) Installing ncurses-libs (6.2_p20210109-r0)
(5/9) Installing libedit (20191231.3.1-r1)
(6/9) Installing pcre2 (10.36-r0)
(7/9) Installing xz-libs (5.2.5-r0)
(8/9) Installing libxml2 (2.9.10-r6)
(9/9) Installing php8 (8.0.2-r0)
Executing busybox-1.32.1-r0.trigger
OK: 13 MiB in 23 packages
/ #
- インデックスは「v3.13」であり、インストール後にphp8
次のようにリストされている8.0.2を取得します。3.13.2。
さらなる実験では、以下の結果が示された。
- デフォルトイメージとして使用すると、
alpine:3.13
最新のパッチバージョンが作成されます。 - デフォルトイメージとして使用すると、イメージ
alpine:3.13.x
の一部であるパッケージ(musl
などzlib
)に特定apk-toole
のパッチバージョンがリリースされますが、何でもインストールすると、通常のリリースで利用可能な最新バージョンがインストールされます。 apk upgrade --available
それにもかかわらず、コアパッケージに対する修正が見つかったことを確認する必要があります。
したがって、イメージを再構築すると、常に同じパッケージとバージョンのセットが生成されることを保証する方法はないようです。
一貫したパッケージとバージョンのセットを維持するには、独自のイメージを構築してタグを付けることができます(ただし、セキュリティ変更は省略)。
答え2
アルパインユーザーメーリングリストに同様の質問をして回答しました。出現エルコパの返信:
...せん断
はい。セキュリティアップデートを提供しています。
パッケージの新しいバージョンがリリースされますか?
種類によって異なります。更新によって問題が発生する可能性がない場合は、パッケージを新しいバージョンに更新できます。パッチを使用してセキュリティ修正をバックポートできます。
目標は、安定したブランチが利用可能でなければならず、セキュリティ更新プログラムを
apk upgrade
受け取ることを恐れないことです。したがって、Alpine 3.12から始めるとapkにpython3 py3-numpyを追加する、(セキュリティ修正にもかかわらず)常に同じバージョンの* numpyを取得すると仮定しても安全ですか?
この段階では、Alpine 3.12はセキュリティ更新のみを受け取ります。したがって、セキュリティ上の問題(または報告された他の主なバグ)がない限り、常に同じバージョンを受け取ります。
セキュリティ修正に加えて、Alpine 3.13にはバグ修正があるかもしれませんが、新しいバージョンは3.13に自動的に追加されません。
どちらの場合も、
apk add python3 py3-numpy
問題なくAPKをアップグレードでき、安全でなければなりません。主要なAPIまたはABIの変更を安定ブランチにプッシュしないでください。 (一部例外あり)
現時点では3.13が最新です。