本記事について
Linux OSのバージョンアップをする際にリポジトリの参照先の更新をおこないますが、Microsoft製品のリポジトリの更新と署名キー(GPGキー)の更新について、Debian 12から13へのバージョンアップを例に説明します。
背景として、Proxmox (Debianベース)にAzure Connected Machine Agentを入れてAzure Arc-enabled serversとして管理しているのですが、先日Proxmox 9 (Debian 13)がリリースされた際にAzure Conncted Machine Agent用のリポジトリ更新対応として調査・対応したものです。
なお、Proxmox 9の発表を見て喜び勇んでアップデートしてしまったため、後から確認したところAzure Arc-enabled serversはまだDebian 13に対応していませんでした (そもそもProxmoxとしてはサポートされていません)。
そのため今後Debian 13に対応した際に備えたリポジトリ設定をおこなったまでで、こちらの設定で動作確認ができているわけではありません。
後日対応が確認できてAzure Connected Machine Agentが提供されるようになったら動作確認してみます。
Microsoftの公式情報はこちらです。
MS Learn | Linux Software Repository for Microsoft Products
Debian 13用のリポジトリの確認
リポジトリのURLはこちらです。ブラウザでアクセスして中を見てみますとDebian 13用にリポジトリが用意されていることは確認ができましたが、Azure Connected Machine Agent等12で提供されているMicrosoft製品はまだリストされていないようでした。
https://packages.microsoft.com
Proxmox 8 (Debian 12)からProxmox 9 (Debian 13)更新後のMicrosoftのパッケージリポジトリ設定
まず、Proxmox 9へのアップグレード手順では参照しているリポジトリをDebian 12から13用のものに変更することが記載されています。
そのため、Microsoftのリポジトリについても同様におこなえばよいわけです。
Proxmox | Upgrade from 8 to 9
Ensure that there are no remaining Debian Bookworm specific repositories left, otherwise you can put a # symbol at the start of the respective line to comment these repositories out. Check all entries in the /etc/apt/sources.list and /etc/apt/sources.list.d/pve-enterprise.list, for the correct Proxmox VE 9 / Debian Trixie repositories see Package Repositories.
Azure Connecte Machine Agentを提供しているMicrosoftのリポジトリは前述の (https://packages.microsoft.com) で、手元のアップデート前のProxmox 8.4.9 (Debian 12)では、/etc/apt/sources.list.d/microsoft-prod.listにリポジトリ情報が記載されていました。
deb [arch=amd64,arm64,armhf signed-by=/usr/share/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/debian/12/prod bookworm main
なお、Proxmoxのアップグレード作業の中で、リポジトリのSourceの記載形式をdeb822形式に変更する手順をおこなったため、その後はファイルが/etc/apt/sources.list.d/microsoft-prod.sourcesになり、内容も以下の形式に作成し直されました。
パッと見でもわかるように、記載内容はリポジトリの場所と、リポジトリ検証用の署名を確認するためのGPGキーのローカルの保存先ディレクトリ程度です。
Types: deb
URIs: https://packages.microsoft.com/debian/12/prod/
Suites: bookworm
Components: main
Signed-By: /usr/share/keyrings/microsoft-prod.gpg
やることの概要
さて、OSのバージョンアップに伴い実施する作業は上で見たリポジトリのSourceのファイルを書き換えることです。
ファイル内でOSバージョンを示す12や、OSバージョン12のコードネームであるbookwormが使われているのでこれを新しいバージョンのものに書き換えればOKです。
ただ、今回追加でGPGキーの更新も実施しました。
GPGキーはリポジトリ側でパッケージが正しいものと証明するための署名の検証に使われる公開鍵になります。
Microsoftでは2025年5月に新しいGPGキーを公開しています。
RHEL 10でSHA-1のサポートが廃止されたために新しい鍵が用意されたとのことで、以降リリースされるディストリビューションは新しい鍵が利用されるとのことがMicrosoftのリポジトリの鍵情報フォルダのREADMEに記載されていました。
- "https://packages.microsoft.com/keys/" ディレクトリのREADME抜粋
microsoft-2025.asc (AA86F75E427A19DD33346403EE4D7792F748182B):
This is the current standard Linux-signing key that will be used in newly-created repositories. It will work properly in distributions that disallow SHA1 signatures.
そのため、Debian 13でも新しいGPGキーが署名に使われているようでしたので、そちらの更新をおこなうこととしました。
Microsoft Linux Package Repositories | README
1. GPGキーの更新
まず、GPGキーの更新ですが、既存の鍵情報を書き換えたり、削除したりする必要はないためシンプルに新しい鍵を入手してあげればOKです。
鍵の入手先は以下のURLで、こちらのドキュメントに記載されています。
- 鍵の入手先URL: https://packages.microsoft.com/keys/microsoft-2025.asc
- MS Learn | Linux Software Repository for Microsoft Products
既存の鍵は以下のパスに保存されていました。
/usr/share/keyrings
同じように保存するため、以下のコマンドで新しいGPGキーをダウンロードしてバイナリ形式に変換して保存します。
wget -qO- https://packages.microsoft.com/keys/microsoft-2025.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-2025.gpg
保存したGPGキーは以下のコマンドで中身を見ることができます。
鍵の入手先URLに記載された公開鍵のフィンガープリントと一致することが確認できます。
root@hostname# gpg --show-keys microsoft-2025.gpg
pub rsa4096 2023-11-15 [SC]
AA86F75E427A19DD33346403EE4D7792F748182B
uid Microsoft Corporation - General GPG Signer <gpgsign@microsoft.com>
2. パッケージリポジトリの更新
次にメインのパッケージリポジトリの更新ですが、他のSourceの記載をDebian 13向けに更新したのと同じように更新します。
deb822形式のファイルで以下の通りOSのバージョンにあたる箇所を12から13、OSバージョンのコードネームbookwormをtrixieに更新すればOKです。
Types: deb
URIs: https://packages.microsoft.com/debian/13/prod/
Suites: trixie
Components: main
Signed-By: /usr/share/keyrings/microsoft-prod.gpg
この状態でapt updateすれば特にErrorやWorningが出なくなりました。
ProxmoxのGUIでもホストのリポジトリ画面で以下のように警告なく表示されています。

まとめ
Proxmox (Debian)でのOSバージョンアップ時のMicrosoftのリポジトリ情報更新について調べてみました。
パッケージリポジトリの参照ファイルを新しいOSバージョンのものに書き換えればOKとシンプルでした。
基本的な内容でしたがそういえばLinux OSのメジャーバージョンアップの経験がなく知らなかったことも多かったため、自分の備忘として残しておきます。
パッケージリポジトリの更新は簡単にできることがわかったのと、ちょうど新しいGPGキーが今年リリースされていたことがわかり勉強になりました。


