Poudriereで独自のPkgリポジトリを構築する

バージョン9.2以降、FreeBSDは古いpkg _ *-commands- pkgとも呼ばれる新しいツールを導入しましたpkgng。Debian aptやFedora とよく似ていますyumが、いくつかの非常に優れた機能があります。それらの1つは、パッケージの独自のプライベートリポジトリを簡単に使用できる可能性です。

なぜそうしたいのですか?公式のpkg-repositoriesはFreeBSDのportsツリーから構築されており、非常に限定されたオプションのセットを持っています。たとえば、PHPの公式パッケージはMySQLをサポートしていません。もう1つの理由として、サーバー用にX11を有効にしたものとデスクトップ用にX11を無効にしたものの2つのリポジトリが必要な場合があります。多くのオプションと可能性があり、このチュートリアルでは、パッケージを大量にビルドするためのツールであるPoudriereを使用して独自のリポジトリを構築する方法を示します。

FreeBSD 10 x64がインストールされた新しいVPSがあると思います。まず、システムにポートツリーが必要です。

cd /usr
portsnap fetch extract

次に、ソースからPoudriereをインストールする必要があります(デフォルトのオプションで問題ありません)。

cd /usr/ports/ports-mgmt/poudriere
make install clean

次に、基本構成ファイルを作成します。

cp /usr/local/etc/poudriere.conf.sample /usr/local/etc/poudriere.conf

...必要に応じて編集します。以下は良いスタートです:

FREEBSD_HOST=http://ftp.freebsd.org
RESOLV_CONF=/etc/resolv.conf
BASEFS=/usr/local/poudriere
POUDRIERE_DATA=$/data
USE_PORTLINT=no
USE_TMPFS=yes
DISTFILES_CACHE=/usr/ports/distfiles
CHECK_CHANGED_DEPS=yes
# Edit this according to your VPS' CPU.
PARALLEL_JOBS=1
NOLINUX=yes

システムの通常のポートツリーを使用する代わりに、Poudriereは独自のコピーを使用します。次のコマンドで取得する必要があります。

poudriere ports -c

次に、ビルダーが実行される刑務所を作成します。

poudriere jail -c -j testjail -v 10.0-RELEASE -a amd64

パッケ���ジのビルドを開始する前に、実際にPoudriereにをビルドするを伝える必要があります。お気に入りのテキストエディターを開き、いくつかのパッケージを追加します。

www/firefox
im/pidgin
sysutils/tmux
editors/vim

...でファイルを保存します/usr/local/etc/buildlist。デフォルトのオプションが必要ない場合は、そのファイル内の各パッケージのオプションを構成できます。これを行うには、次のコマンドを発行します。

poudriere options -cf /usr/local/etc/buildlist

それ以外の場合は、構築を開始できます。

poudriere bulk -f /usr/local/etc/buildlist -j testjail

この操作にかかる時間は、VPSのCPU速度によって異なります。プロセスが完了すると、新しいパッケージが見つかり、build-jailでソートされ/usr/local/poudriere/data/packages/ます。

これらのパッケージを他のマシンに実際に提供するには、Webサーバーが必要です。効率的で軽量なNginxを選択しました。ポート経由でインストールします(デフォルトのオプションで問題ありません!):

cd /usr/ports/www/nginx
make install clean

インストールプロセスが完了したら、パッケージディレクトリを提供するようにNginxを構成する必要があります。これを行うには、/usr/local/etc/nginx/nginx.confお気に入りのテキストエディタで編集します。

server {
    listen       80;
    server_name  localhost;
    root /usr/local/poudriere/data/packages/testjail-default;
    location / {
            autoindex on;
    }
}

最後に、Webサーバーが起動時に起動することを確認します。

echo "nginx_enable=YES" >> /etc/rc.conf

...そしてサーバーを起動します:

/usr/local/etc/rc.d/nginx start

プドリエールとの可能性は巨大です。マンページのエントリを読むと、Poudriereについてさらに学ぶことができます。このような設定を本番環境で使用する場合は、パッケージの署名についても読み、TLSを使用してウェブサーバーへの接続を保護することを検討することをお勧めします。しかし、今のところ、あなたはロックする準備ができています!

クライアントでリポジトリをアクティブ化するには、クライアントマシンで次のコマンドを実行します。

mkdir -p /usr/local/etc/repos
vi /usr/local/etc/repos/myrepo.conf

移入しmyrepo.conf、次の内容で。このファイルには、.confサフィックスが付いていれば、任意の名前を使用できます。

poudriere: {
  url: "http://yoururl"
  mirror_type: "http",
  enabled: yes
}

次に、次のコマンドでパッケージデータベースを更新します。

pkg update

新しいリポジトリからパッケージをインストールできるようになりました!



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。