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

Linuxでpkgsrcを使用する方法

NetBSDは基本的に何でも実行できることで有名ですが、その2番目を知っていましたか 名声を主張するのはpkgsrc パッケージマネージャー? NetBSDのように、pkgsrcは基本的に何でも、あるいは少なくともUnixやUnixライクなものなら何でも実行できます。 pkgsrcは、BSD、Linux、Illumos、Solaris、およびMacにインストールできます。総じて、20を超えるオペレーティングシステムがサポートされています。

なぜpkgsrcを使用するのですか?

MacOSを除いて、すべてのUnixオペレーティングシステムにはパッケージマネージャーが含まれています。必ずしも必要はありません pkgsrcですが、試してみたい3つの大きな理由があります:

  • パッケージング。 パッケージングに興味があるが、まだ自分でパッケージを作成しようとしない場合、特にMakefilesやGNU Autotoolsのようなビルドシステムに既に精通している場合は、pkgsrcは比較的簡単に使用できるシステムです。
  • 一般的。 複数のオペレーティングシステムまたはディストリビューションを使用している場合は、システムごとにパッケージマネージャーが表示される可能性があります。異種システム間でpkgsrcを使用できるため、アプリケーションを1つにパッケージ化するときに、すべてのシステムにパッケージ化できます。
  • 柔軟性があります。 多くのパッケージングシステムでは、バイナリパッケージまたはソースパッケージを選択する方法が常に明確であるとは限りません。 pkgsrcを使用すると、区別が明確になり、インストールの両方の方法が同じように簡単になり、どちらも依存関係を解決します。

pkgsrcのインストール方法

BSD、Linux、Illumos、Solaris、MacOSのいずれを使用していても、インストールプロセスは基本的に同じです。

  1. CVSを使用してpkgsrcツリーをチェックアウトします
  2. pkgsrcシステムをブートストラップする
  3. パッケージをインストールする

CVSを使用してpkgsrcツリーをチェックアウトします

Gitの前、Subversionの前には、 CVSがありました。 。コードのチェックアウトを行うためにCVSについて多くを知る必要はありません。Gitに慣れている場合は、チェックアウトについて考えてください。 クローンとして 。 pkgsrcのCVSチェックアウトを実行すると、各パッケージの構築方法を詳述した「レシピ」がダウンロードされます。たくさんのファイルがありますが、実際には各パッケージのソースコードを取得しているのではなく、必要に応じてビルドするために必要なビルドインフラストラクチャとMakefileだけを取得しているため、ファイルは小さくなります。 CVSを使用すると、新しいものがリリースされたときにpkgsrcチェックアウトを簡単に更新できます。

pkgsrcのドキュメントでは、ツリーを / usrに保持することを推奨しています。 ディレクトリなので、 sudoを使用する必要があります (またはrootになる)このコマンドを使用するには:

$ cd /usr
$ sudo cvs -q -z2 \
  -d [email protected]:/cvsroot \
  checkout -r pkgsrc-2019Q3 -P pkgsrc

私が書いているように、最新のリリースは2019Q3です。 pkgsrc.orgのホームページのニュースセクションまたはNetBSDのドキュメントをチェックして、最新のリリースバージョンを確認してください。

ブートストラップpkgsrc

pkgsrcツリーがコンピューターにコピーされると、 / usr / pkgsrcが作成されます。 ビルドスクリプトで満たされたディレクトリ。それらを使用する前に、ソフトウェアのビルドとインストールに必要な関連コマンドに簡単にアクセスできるように、pkgsrcをブートストラップする必要があります。

pkgsrcをブートストラップする方法 お使いのOSによって異なります。

NetBSDの場合、バンドルされているブートストラッパーを使用できます:

# cd pkgsrc/bootstrap
# ./bootstrap

他のシステムでは、Joyentが提供する、いくつかのカスタマイズされた機能が含まれているより良い方法があります。実行する正確なコマンドを見つけるには、pkgsrc.joyent.comにアクセスしてください。たとえば、Linux(Fedora、Debian、Slackwareなど)の場合:

$ curl -O \
  https://pkgsrc.joyent.com/packages/Linux/el7/bootstrap/bootstrap-trunk-x86_64-20170127.tar.gz
$ BOOTSTRAP_SHA="eb0d6911489579ca893f67f8a528ecd02137d43a"

パスは、含まれているファイルがRHEL 7用であることを示唆していますが、バイナリは、最先端のLinuxディストリビューションを除くすべてのディストリビューションと互換性がある傾向があります。また、使用しているディストリビューションと互換性のないバイナリを見つけた場合は、ソースからビルドするオプションがあります。

SHA1チェックサムを確認します:

$ echo "${BOOTSTRAP_SHA}" bootstrap-trunk*gz > check-shasum
sha1sum -c check-shasum

PGP署名を確認することもできます:

$ curl -O \
https://pkgsrc.joyent.com/packages/Linux/el7/bootstrap/bootstrap-trunk-x86_64-20170127.tar.gz.asc
curl -sS https://pkgsrc.joyent.com/pgp/56AAACAF.asc | gpg --import
gpg --verify ${BOOTSTRAP_TAR}{.asc,}

適切なブートストラップキットがあることを確認したら、それを / usr / pkgにインストールします。 :

sudo tar -zxpf ${BOOTSTRAP_TAR} -C /

これにより、通常のpkgsrcコマンドが提供されます。これらの場所をPATHに追加します:

$ echo "PATH=/usr/pkg/sbin:/usr/pkg/bin:$PATH" >> ~/.bashrc
$ echo "MANPATH=/usr/pkg/man:$MANPATH" >> ~/.bashrc

Joyentのビルドに依存せずにpkgsrcを使用したい場合は、ブートストラップを実行するだけです。 pkgsrcツリーで取得したスクリプト。 ブートストラップで関連するREADMEファイルを読みます 重要なシステム固有の注意事項については、実行する前にディレクトリを作成してください。

pkgsrcを使用してソフトウェアをインストールする方法

pkgsrcを使用してプリコンパイルされたバイナリを(DNFまたはAptの場合と同様に)インストールするのは簡単です。バイナリインストールのコマンドはpgkinです。 、pkgin.netに専用のサイトがあります。このプロセスは、Linuxを使用している人なら誰でもよく知っているはずです。

tmuxを検索するには パッケージ:

$ pkgin search tmux

tmuxパッケージをインストールするには:

$ sudo pkgin install tmux

pkgin コマンドの目的は、一般的なLinuxパッケージマネージャーの動作を模倣することです。そのため、利用可能なパッケージを一覧表示したり、利用可能なパッケージをクエリして特定の実行可能ファイルを提供するものを見つけたりするオプションがあります。

pkgsrcを使用してソースコードからビルドする方法

しかし、pkgsrcの真の力は、ソースからパッケージを簡単に構築できることです。最初のセットアップステップで20,000以上のビルドスクリプトをすべてダウンロードし、pkgsrcツリーに直接移動してそれらにアクセスできます。

たとえば、 tcshをビルドするには ソースから、最初にビルドスクリプトを見つけます:

$ find /usr/pkgsrc -type d -name "tcsh"
/usr/pkgsrc/shells/tcsh

次に、ソースディレクトリに移動します:

$ cd /usr/pgksrc/shells/tcsh

ビルドスクリプトディレクトリには、アプリケーションをシステム上でビルドするのに役立つ多数のファイルが含まれていますが、特に、 DESCRが含まれています。 ソフトウェアの説明とMakefileを含むファイル ビルドをトリガーします。

$ ls 
CVS    DESCR     Makefile
PLIST  distinfo  patches
$ cat DESCR
TCSH is an extended C-shell with many useful features like
filename completion, history editing, etc.
$

準備ができたら、ビルドしてインストールします。

$ sudo bmake install

pkgsrcシステムはbmakeを使用します コマンド(最初のステップでpkgsrcチェックアウトによって提供される)なので、必ず bmakeを使用してください。 (作成ではありません 習慣から)

複数のシステム用に構築している場合は、すぐにインストールする代わりにパッケージを作成できます:

$ cd /usr/pgksrc/shells/tcsh
$ sudo bmake package
[...]
=> Creating binary package in /usr/pkgsrc/packages/All/tcsh-X.Y.Z.tgz

pkgsrcが作成するパッケージは標準のtarballですが、 pkg_addを使用して簡単にインストールできます。 :

$ sudo pkg_add /usr/pkgsrc/packages/All/tcsh-X.Y.Z.tgz
tcsh-X.Y.Z: adding /usr/pkg/bin/tcsh to /etc/shells
$ tcsh
localhost%

pkgtools pkgsrcからのコレクションは、 pkg_addを提供します 、 pkg_info pkg_admin pkg_create 、および pkg_delete システム上で構築および保守するパッケージの管理に役立つコマンド。

管理を容易にするPkgsrc

pkgsrcシステムは、パッケージ管理への直接的な実践的なアプローチを提供します。邪魔にならず、カスタマイズを促すパッケージマネージャーを探している場合は、実行しているUnixまたはUnixライクなOSでpkgsrcを試してみてください。


Linux
  1. LinuxでBusyBoxを使用する方法

  2. LinuxでFINDを使用する方法

  3. LinuxでUnzipを使用する方法

  1. Linuxでcronを使用する方法

  2. LinuxでSuコマンドを使用する方法

  3. VoidLinuxでXBPSパッケージマネージャーを使用する方法

  1. ArchLinuxでPacmanを使用する方法

  2. LinuxでGoogleドライブを使用する方法

  3. LinuxRPMパッケージを作成する方法