Debian12で sudo apt update;sudo apt -y upgrade を実行したところgitlab-ceのリポジトリ関連でエラーが出てしまいました。
エラーの文言を眺めてみると、署名が無効とのこと。
gitlab-ce公式のページを参考にエラー対策の記事となっています。
公式URL
https://docs.gitlab.com/omnibus/update/package_signatures.html#update-keys-after-expiry-extension
現状のエラー内容。
署名が無効な為、アップグレードができませんでした。
署名が無効な為、アップグレードができませんでした。
$ sudo apt update ; sudo apt -y upgrade
ヒット:1 http://security.debian.org/debian-security bookworm-security InRelease
ヒット:2 http://debian-mirror.sakura.ne.jp/debian bookworm InRelease
ヒット:3 http://debian-mirror.sakura.ne.jp/debian bookworm-updates InRelease
ヒット:4 https://packages.gitlab.com/gitlab/gitlab-ce/debian bookworm InRelease
エラー:4 https://packages.gitlab.com/gitlab/gitlab-ce/debian bookworm InRelease
以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com>
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
パッケージはすべて最新です。
W: 署名照合中にエラーが発生しました。リポジトリは更新されず、過去のインデックスファイルが使われます。GPG エラー: https://packages.gitlab.com/gitlab/gitlab-ce/debian bookworm InRelease: 以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com>
W: https://packages.gitlab.com/gitlab/gitlab-ce/debian/dists/bookworm/InRelease の取得に失敗しました 以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com>
W: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視されるか、古いものが代わりに使われます。
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています... 完了
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
apt-keyまたはsigned-by機能を使用しているかどうかを判断します。
このgrepが行を返さない場合は、apt-keyを使用しています。
今回はgrepが行を返しているのでapt-keyを使用しておらず、signed-by機能を使用しているようです。
$ su -
# grep 'deb \[signed-by=' /etc/apt/sources.list.d/gitlab_gitlab-?e.list
deb [signed-by=/usr/share/keyrings/gitlab_gitlab-ce-archive-keyring.gpg] https://packages.gitlab.com/gitlab/gitlab-ce/debian/ bookworm main
signed-by機能を使用している場合は以下をrootで実行し、GitLabリポジトリの公開鍵を更新します。
signed-by機能を使用している場合はこちらをrootで実行
# awk '/deb \[signed-by=/{
pubkey = $2;
sub(/\[signed-by=/, "", pubkey);
sub(/\]$/, "", pubkey);
print pubkey
}' /etc/apt/sources.list.d/gitlab_gitlab-?e.list | \
while read line; do
curl -s "https://packages.gitlab.com/gpg.key" | gpg --dearmor > $line
done
apt-keyを使用している場合は以下をrootで実行し、GitLabリポジトリの公開鍵を更新します。
apt-keyを使用している場合はこちらをrootで実行
# apt-key del 3F01618A51312F3F
# curl -s "https://packages.gitlab.com/gpg.key" | apt-key add -
# apt-key list 3F01618A51312F3F
apt update と apt -y upgrade 実行
# apt update
ヒット:1 http://security.debian.org/debian-security bookworm-security InRelease
ヒット:2 http://debian-mirror.sakura.ne.jp/debian bookworm InRelease
ヒット:3 http://debian-mirror.sakura.ne.jp/debian bookworm-updates InRelease
ヒット:4 https://packages.gitlab.com/gitlab/gitlab-ce/debian bookworm InRelease
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
パッケージはすべて最新です。
# apt -y upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています... 完了
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
うまく更新できたようです。
他のディストリビューションの対策も公式ページに記載されていますので、興味のある方はご覧になられてみてはいかがでしょうか?https://docs.gitlab.com/omnibus/update/package_signatures.html#update-keys-after-expiry-extension