私はいくつかのカスタムメイドパッケージ(および他の公式のDebianパッケージ)を含むプライベートDebianリポジトリ設定を持っています。私のすべてのコンピュータには、/etc/apt/sources.list
特定のコンピュータで特定のパッケージを使用できるようにする方法があるかどうか疑問に思います。
たとえば、machine1はリポジトリに接続できる必要がありますが、package1とpackage2のみをダウンロードできる必要があります。リポジトリに新しいバージョンがあっても、machine2 は package1 をアップグレードできないはずです。
私は、machine1とmachine2で適切なコマンドを実行(または実行しない)して、クライアント側で上記のタスクを実行する方法を知っています。私はこれを自動化したいと思います。apt-get update && apt-get upgrade
1日に1回このコンピュータでcronjobを実行する予定ですが、そのコンピュータに適用されるパッケージのみをインストール/アップグレードする必要があります。
数週間オンラインを閲覧しましたが、役に立つ情報が見つかりませんでした。これは可能ですか?
答え1
パッケージインデックス(file Packages
)はすべてのクライアントに共通であるため、単一のリポジトリを使用してこれを行うことはできません。実際には、パッケージインデックスを動的に提供することができます(たとえば、CGIや他のサーバースクリプトを使用)。しかし、既製のツールがないと思います。独自のジェネレータを作成する必要があります(参考までにそれほど複雑ではありません)。
最も簡単な方法は、個々に利用可能な各パッケージセットを独自のリポジトリに配置し、各クライアントがアクセスできる必要があるパッケージを含むリポジトリにのみアクセスできるようにすることです。