本番環境での利用を想定した場合、セキュリティ上の制限などでインターネット上のリポジトリへアクセスすることができない場合もあると思います。
そのような環境でパッケージを追加したい場合に、入手すべきパッケージバージョンと依存関係の確認方法を模索し試してみました。
ProxmoxVEバージョンは8.2-1です。
大丈夫だとは思いますが、各種サイトへのアクセスやファイルのダウンロードは自己責任で。
背景
別途記事にする予定ですが、Proxmoxは標準では通知機能が少なく(Sendmail、SMTP、Gotifyの3つ)、私が見てきた範囲の運用監視で利用することが多いSyslog・SNMPが使えないことから、rsyslog・snmpdをProxmoxへ導入しようとしたことがきっかけです。
ですがProxmoxVEの場合、インストールメディア内にはProxmoxとして必要なパッケージしか含まれていないようで、少なくとも導入を試そうとしたrsyslog、snmpdは見つかりませんでした。
おそらく通常のDebian系Linuxであれば、インストールメディアを使うことで、インターネットアクセスが出来なくても一通りのパッケージ導入ができると思います。
導入したいパッケージのバージョン確認方法
1.アーキテクチャの確認
「apt list」コマンドにてインストール済パッケージのアーキテクチャを確認します。
私の環境(ProxmoxVE、Intel Core i7)の場合はamd64でした。
2./etc/apt/sources.list の内容を確認
「deb http://ftp.jp.debian.org/debian bookworm main contrib」
のようにURLやディストリビューションなどが記載されています。
上記の場合は
・ディストリビューション:bookworm
・コンポーネント:main, contrib
を表しているようです。
3.該当するサイトへアクセス
上記の場合は「 http://ftp.jp.debian.org/debian 」へアクセスし、
dists > bookworm > main > source とリンクをたどります。
要は「 https://ftp.jp.debian.org/debian/dists/bookworm/main/source/ 」です。
4.Sourcesに記載されているパッケージバージョンを確認
上記URLから「Sources.gz」をダウンロードし、展開したSourcesファイルをテキストテキストエディタで開くと、パッケージに関する情報が確認できます。
rsyslogならこんな感じ。
Package: rsyslog
Binary: rsyslog, rsyslog-mysql, rsyslog-pgsql, rsyslog-mongodb, rsyslog-elasticsearch, rsyslog-kafka, rsyslog-gssapi, rsyslog-gnutls, rsyslog-openssl, rsyslog-relp, rsyslog-czmq, rsyslog-hiredis, rsyslog-snmp, rsyslog-kubernetes
Version: 8.2302.0-1
~~以下省略~~
この「Version」に記載されているバージョンが、導入すべきバージョンになるようです。
一応、インターネット利用可能なProxmoxVEでapt listにて確認したバージョンと一致していました。
5.パッケージ入手
rsyslogを導入した際のサイトですが、下記サイトにて依存関係も確認できるので、rsyslog本体と依存しているパッケージを確認しながらダウンロードしました。
https://packages.debian.org/bookworm/rsyslog
ほかにも「 https://debian.pkgs.org/ 」などいくつかのサイトがあるようです。
最後に
当然ですが、インターネット接続可能な環境であればapt-getのほうがずっと楽です。
また、導入する環境がインターネット接続不可でも、自宅等インターネット接続可能な環境でProxmoxVEを構築できる場合は、バージョン確認だけでもapt listで確認したほうが楽ですし、確実だと思います。