--- title: "Debian (apt) フィードのホスト" order: 4 hidden: true ---

ProGet で Debian フィードをホストする方法

Debian は、無料で利用できるLinuxOSのディストリビューション(種類)のひとつです。

Debian のソフトウェアは、パッケージ管理コマンド「APT」で、インストール、アップデート、アンインストールできます。

ProGet v5.2 以降では、ProGet サーバに Debian フィードをホストして、Debian のパッケージをインストール、アップデート、アンインストールできます。

フィードを設定する前にすること

1. ProGet 内に署名鍵を作成する

Debian のフィードからパッケージを入手するには、ProGet 内に署名鍵が作成されていることが前提条件となります。

フィードが作成されたら、[Manage Feed (フィードの管理)] ページにアクセスし、[Properties (プロパティ)] パネルで [manage keys (キーの管理)] を選択してください。詳細を入力し [Generate Key (キーの作成)] をクリックします。

1つのみ作成する場合には、簡単に「proget」や「default」などを入力してもけっこうです。

少し待つとキーが完成し、そのフィンガープリントが [Manage Keys (キーの管理)] のウィンドウに表示されます。

クライアントの設定

ProGet から Debian パッケージをインストールするには、各クライアントで次の手順を実行してください。

1.署名鍵を追加する

キーを 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:このリポジトリからはアップデートが安全に実行できないため、デフォルトではアップデートが無効になっています。)」

2.aptをアップデートする

ProGet のフィードから実際にパッケージのインストールを始めるには、次のようにパッケージキャッシュをアップデートします。

sudo apt update

共通タスク

パッケージのインストール

Debian パッケージは apt-get を使用してインストールします。ProGet をホストとしてパッケージをインストールするには、次のコマンドを使用します。

sudo apt install "{package-name}"

パッケージの作成

Debian パッケージの作成方法については、Debian管理者ハンドブック、「第 15 章 Debian パッケージの作成」を参照してください。

パッケージの公開

apt はパッケージのアップロードについてはサポートしていません。そこで ProGet は Debian パッケージを公開するために、いくつかの方法を提案しています。

ProGet web アプリからのアップロードする方法

ProGet の「フィード」ページから、「Add Package (パッケージの追加)」と「Upload Debian Package (Debian パッケージのアップロード)」を選択して、 dpkg-deb コマンドによって作成された.debファイルをアップロードします。

HTTP経由で公開

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ではない場合などには)失敗します。