GNU/Linux >> Linux の 問題 >  >> Debian

Debianでパッケージ用の独自のリポジトリを作成する方法

独自のローカルリポジトリを構築する理由はさまざまです。これは、帯域幅の使用量を節約するために多くのコンピューターで頻繁に使用されるパッケージをキャッシュするためのローカルミラーリポジトリを作成するための優れた方法です。または、開発チームが内部で利用できるようにするいくつかの変更されたパッケージがある場合があります。

このチュートリアルでは、ローカルのDebianパッケージリポジトリを簡単に作成する方法を紹介します。 、DebianおよびUbuntuバージョンと互換性があります。

ステップ1:必要なパッケージのインストール

Debianベースのシステムでは、すべてのリポジトリはAPTユーティリティ(apt、apt-get、apt-cacheなど)によって管理されます。 dpkg-devパッケージは、APTと互換性のあるローカルリポジトリの作成に必要です。

まず、次のコマンドを使用してシステムパッケージを更新します。

$ sudo apt update && sudo apt upgrade

次に、 dpkg-devをインストールします 次のように入力してパッケージ化します:

$ sudo apt-get install dpkg-dev

パッケージのインストールが完了したら、パッケージファイル用のディレクトリの作成に進みます。

ステップ2:ローカルリポジトリ用のディレクトリを作成する

バイナリパッケージを保持するディレクトリを作成します。この例では、/ opt / local / debsを使用しますが、任意のディレクトリを使用できます。

$ sudo mkdir -p /opt/local/debs

次に、ディレクトリを変更します:

$ cd /opt/local/debs

ステップ3:ローカルリポジトリディレクトリにパッケージを追加する

このチュートリアルでは、chrome-browserパッケージをローカルリポジトリにダウンロードします。これは、デフォルトのUbuntuリポジトリにはないためです。

$ sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

このステップでは、必要な数のパッケージをコピーまたはダウンロードできます。

ステップ4:APTに必要なリポジトリパッケージメタを作成する

このためには、いくつかのdpkg-scanpackagesコマンドを実行する必要があります。 / opt / localディレクトリを使用してsudoの使用をスキップしているため、rootユーザーアカウントに切り替えます。

$ sudo su

まず、次のコマンドを実行してリリースファイルを作成します。

# dpkg-scanpackages . /dev/null > Release

ローカルリポジトリに追加したパッケージの数に応じて、同様の出力が得られるはずです。

dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: google-chrome-stable
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.

次に、ディレクトリ内のすべてのdebファイルをスキャンし、適切なPackages.gzファイルを作成します

# dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

出力:

dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: google-chrome-stable
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.

ローカルリポジトリディレクトリに新しいdebパッケージを追加するたびに、これらのコマンドを実行する必要があることに注意してください。簡単なbashスクリプトを作成して、新しいパッケージを追加するたびに実行することもできます。

ローカルリポジトリのディレクトリ構造を一覧表示するには、lsコマンドを実行します。

$ ls -l

出力:

-rw-r--r-- 1 root root 83325072 May 8 02:29 google-chrome-stable_current_amd64.deb
-rw-r--r-- 1 root root 761 May 17 20:44 Packages.gz
-rw-r--r-- 1 root root 1321 May 17 20:39 Release

ステップ5:ローカルリポジトリをSources.listに追加する

最後のステップは、sources.listファイルを編集することです。選択したエディターを使用してファイルを編集します:

$ sudo nano /etc/apt/sources.list

次の行を/etc/apt/sources.listに追加します。

deb [trusted=yes] file:/opt/local/debs ./

次に、ローカルリポジトリの動作をテストします。

ステップ6:検証

ローカルリポジトリにパッケージをインストールまたは削除することで確認できます。

まず、パッケージを更新する必要があります:

$ sudo apt-get update

次に、apt-getを使用して通常どおりパッケージをインストールします:

$ sudo apt-get install google-chrome-stable

これで、Synaptic、aptitude、およびaptコマンド(apt-get、apt-cacheなど)を使用して、ローカルパッケージをインストール、更新、および削除できます。apt-getinstallを実行すると、依存関係が解決され、インストールされます。彼らが会うことができるので。

システムにインストールされているパッケージと同じ方法で、インストールされているパッケージを簡単に削除できます。

$ sudo apt-get remove google-chrome-stable

結論

このチュートリアルでは、独自のローカルDebianリポジトリを作成し、パッケージをローカルで追加/削除する方法を学びました。これらの手順は、ほとんどのDebianベースのディストリビューションに適用されます。


Debian
  1. ローカルのRedHatリポジトリを作成する方法

  2. CentOS/RedHatで独自のスクリプト用のRPMを作成する方法

  3. 既存のSSL用のpemを作成する方法

  1. DebianでSudoユーザーを作成する方法

  2. あなたのウェブサイトのサブドメインを作成する方法

  3. MySQL Enterprise パッケージのローカル Yum リポジトリを作成する方法

  1. DebianubuntuローカルISOリポジトリを設定する方法

  2. CentOS/RHEL にシステム パッケージをインストールするための Yum リポジトリを作成する方法

  3. Ubuntu、Debian、または Linux Mint でリポジトリ内のすべてのパッケージを一覧表示する方法 [APT]