--- title: "Debian (apt) フィードのホスト" order: 4 hidden: true ---
Debian は、無料で利用できるLinuxOSのディストリビューション(種類)のひとつです。
Debian のソフトウェアは、パッケージ管理コマンド「APT」で、インストール、アップデート、アンインストールできます。
ProGet v5.2 以降では、ProGet サーバに Debian フィードをホストして、Debian のパッケージをインストール、アップデート、アンインストールできます。
Debian のフィードからパッケージを入手するには、ProGet 内に署名鍵が作成されていることが前提条件となります。
フィードが作成されたら、[Manage Feed (フィードの管理)] ページにアクセスし、[Properties (プロパティ)] パネルで [manage keys (キーの管理)] を選択してください。詳細を入力し [Generate Key (キーの作成)] をクリックします。
1つのみ作成する場合には、簡単に「proget」や「default」などを入力してもけっこうです。
少し待つとキーが完成し、そのフィンガープリントが [Manage Keys (キーの管理)] のウィンドウに表示されます。
ProGet から Debian パッケージをインストールするには、各クライアントで次の手順を実行してください。
キーを apt に追加するには、次のコマンドを実行します。
wget -O "deb.gpg" http://{proget-server}/debian-feeds/{feed-name}.pub && sudo apt-key add "{feed-name}.gpg"
echo "deb http://{proget-server}/ {feed-name} {component-name}" | sudo tee /etc/apt/sources.list.d/{proget-deb}.listt
ProGet でまだ署名鍵を作成しておらず、公開鍵束(公開鍵をまとめて入れておくところ)にも追加していない場合には、次のようなメッセージが表示されることがあります。
「N: Updating from such a repository can't be done securely, and is therefore disabled by default.(N:このリポジトリからはアップデートが安全に実行できないため、デフォルトではアップデートが無効になっています。)」
ProGet のフィードから実際にパッケージのインストールを始めるには、次のようにパッケージキャッシュをアップデートします。
sudo apt update
Debian パッケージは apt-get を使用してインストールします。ProGet をホストとしてパッケージをインストールするには、次のコマンドを使用します。
sudo apt install "{package-name}"
Debian パッケージの作成方法については、Debian管理者ハンドブック、「第 15 章 Debian パッケージの作成」を参照してください。
apt はパッケージのアップロードについてはサポートしていません。そこで ProGet は Debian パッケージを公開するために、いくつかの方法を提案しています。
ProGet の「フィード」ページから、「Add Package (パッケージの追加)」と「Upload Debian Package (Debian パッケージのアップロード)」を選択して、 dpkg-deb コマンドによって作成された.debファイルをアップロードします。
HTTP 経由で Debian パッケージをプッシュするには、パッケージファイルをコンテンツとしてPUTまたはPOSTリクエストをかけます:
curl http://{proget-server}/debian-packages/upload/{feed-name}/{component-name}/{package-name}.deb --user <user>:<password> --upload-file {my-package}.deb
例:
cURL:
curl http://{proget-server}/debian-packages/upload/{feed-name}/{component-name}/{package-name}.deb --user <user>:<password> --upload-file {my-package}.deb
wget:
wget http://{proget-server}/debian-packages/upload/{feed-name}/{component-name}/{package-name}.deb --http-user <user> --http-password <password> --method POST --body-file {my-package}.deb
PowerShell:
Invoke-WebRequest http://{proget-server}/debian-packages/upload/{feed-name}/{component-name}/{package-name}.deb -Credential [System.Net.NetworkCredential]::new('<user>', '<password>') -Method PUT -InFile {my-package}.deb
ProGetは現在Debianソースパッケージをサポートしておらず、ソースパッケージをアップロードしようとすると(拡張子が* .debではない場合などには)失敗します。