前書き

FreeBSDのバイナリパッケージマネージャー* pkg を使用すると、プリコンパイルされたアプリケーション、FreeBSDの同等のDebianおよびRPMパッケージのインストールを簡単に管理できます。 他の一般的なFreeBSDのソフトウェアインストール方法と比較して、Ports Collectionで ports *をコンパイルする場合、パッケージを使用すると、多くの状況で機能するよりシンプルで高速な代替手段が提供されます。 ただし、パッケージはポートほど柔軟ではありません。パッケージインストールをカスタマイズできないためです。ソフトウェアインストールのコンパイルオプションをカスタマイズする必要がある場合は、https://www.digitalocean.com/community/tutorials/how-toを使用してください。 -install-and-manage-ports-on-freebsd-10-1 [ports]パッケージではなく。

このチュートリアルでは、FreeBSD 10.1でパッケージを管理する方法を示します。 これには、関連するタスクの中でも特に、パッケージのインストールと削除が含まれます。

前提条件

このチュートリアルのコマンドを使用するには、FreeBSDサーバーへの* root *アクセスが必要です。 つまり、ルートまたはスーパーユーザー権限を持つ別のユーザーとしてsudoコマンドを使用してサーバーにログインできる必要があります。 ルートの使用を計画している場合は、コマンド例の「+ sudo +」部分を省略できます。

Pkgで新しいパッケージをインストールする方法

インストールするパッケージの名前がわかっている場合は、次のような `+ pkg +`コマンドを使用してインストールできます。

sudo pkg install

次のように、インストールする複数のパッケージをスペースで区切って指定することもできます。

sudo pkg install

例として、 `+ pkg +`を使用して、人気のあるWebサーバーであるNginxをインストールしましょう。

sudo pkg install nginx

このコマンドを実行すると、指定したパッケージのインストールが開始されます。 最初に、システムはパッケージリポジトリカタログの更新を確認します。 既に完全に更新されている場合は、指定されたパッケージを検索します。 パッケージが見つかった場合、パッケージとそれが依存するパッケージがリストされます。 確認プロンプトが表示されます。

この場合、 `+ nginx `パッケージのみがインストールされます。 プロンプトに「 y +」で応答して確認します。

New packages to be INSTALLED:
   nginx: 1.6.2_1,2

The process will require 654 KB more space.
244 KB to be downloaded.

Proceed with this action? [y/N]:

パッケージのインストールを確認すると、リストされたパッケージがダウンロードされ、システムにインストールされます。 一部のパッケージには、インストール後に重要なインストール後の情報またはアプリケーションの使用に関する指示が表示されます。インストール後の注意事項に従ってください。

デフォルトのシェル、 + tcsh +、または `+ csh `を使用している場合、次のコマンドを使用して ` PATH +`のバイナリのリストを再構築する必要があります。

rehash

また、_services_であるアプリケーションは、インストール後に自動的に起動したり、サービスとして有効になったりしないことに注意することが重要です。 今すぐサービスを実行する方法を見てみましょう。

サービスを実行する方法

FreeBSDでは、パッケージとともにインストールされるサービスは、 `+ / usr / local / etc / rc.d `にサービス初期化スクリプトを提供します。 サービスとして実行されるNginxの例では、起動スクリプトは「 nginx +」と呼ばれます。 コマンドを実行するときは、強調表示された「nginx」の代わりに、適切なサービススクリプト名に置き換える必要があることに注意してください。

有効になっていないサービスを開始しようとした場合に何が起こるかを示すには、インストール直後にソフトウェアを開始するために `+ service +`コマンドを使用してみてください:

sudo service  start

サービスは開始されず、次のようなメッセージが表示されます。

Cannot 'start' . Set _enable to YES in /etc/rc.conf or use 'onestart' instead of 'start'.

サービスを有効にするには、メッセージの指示に従って、次の行を `+ / etc / rc.conf +`に追加します。

_enable="YES"

エディタで `+ / etc / rc.conf `を開いて行を追加するか、 ` sysrc +`ユーティリティを使用して次のようにファイルを更新します。

sudo sysrc _enable=yes

これでサービスが有効になりました。 システムの起動時に起動し、以前に試みた `+ start +`サブコマンドを使用できます。

sudo service  start

有効にせずにサービスを1回実行する場合は、 `+ onestart +`サブコマンドを使用できます。 この方法でサービスを開始すると、起動スクリプトがすぐに実行されますが、システムの起動時に開始されません。 今試してみて:

sudo service  onestart

サービスを有効にする前にサービスの設定をテストする場合は、 `+ onestart +`サブコマンドを使用すると便利です。

Pkgでパッケージ情報を表示する方法

*インストール済み*パッケージに関する情報を表示するには、次のように `+ pkg info +`コマンドを使用できます。

pkg info

これにより、ソフトウェアの説明、コンパイルに使用されたオプション、依存するライブラリのリストなど、指定されたパッケージに関するさまざまな情報が出力されます。

インストールされたパッケージをPkgでアップグレードする方法

次のコマンドを使用して、システムにインストールされているパッケージの最新バージョンをインストールできます。

sudo pkg upgrade

このコマンドを実行すると、インストールされているパッケージがリポジトリカタログ内のバージョンと比較され、新しいバージョンに更新できるパッケージのリストが出力されます。

Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Checking for upgrades (2 candidates): 100%
Processing candidates (2 candidates): 100%
The following 2 packages will be affected (of 0 checked):

Installed packages to be UPGRADED:
   python27: 2.7.8_6 -> 2.7.9
   perl5: 5.18.4_10 -> 5.18.4_11

The process will require 2 MB more space.
23 MB to be downloaded.

Proceed with this action? [y/N]:

リストされたパッケージのアップグレードに進むには、プロンプトに「+ y +」で応答します。

Pkgでパッケージを削除する方法

削除するパッケージの名前がわかっている場合は、次のように `+ pkg +`コマンドを使用して削除できます。

sudo pkg delete

次のように、スペースで区切って、削除する複数のパッケージを指定することもできます。

sudo pkg delete

以前にインストールしたNginxパッケージを削除しましょう。

sudo pkg delete

次のようなメッセージが表示され、確認プロンプトが表示されます。

Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
   nginx-1.6.2_1,2

The operation will free 654 KB.

Proceed with deinstalling packages? [y/N]:

パッケージの削除アクションを確認するために、プロンプトに「+ y +」で応答します。

未使用の依存関係を削除する方法

依存関係をインストールしたパッケージを削除しても、依存関係はインストールされます。 インストール済みのパッケージで不要になったパッケージを削除するには、次のコマンドを実行します。

sudo pkg autoremove

削除されるパッケージのリストが出力され、プロンプトが表示されます。 リストされたパッケージを削除する場合は、確認プロンプトに「+ y +」と応答します。

Pkgでパッケージを見つける方法

リポジトリで利用可能なバイナリパッケージを見つけるには、 `+ pkg search +`コマンドを使用します。

パッケージ名別

最も基本的な検索方法はパッケージ名です。 パッケージ名で検索する場合は、次のようなコマンドを使用します。

pkg search

たとえば、名前に「nginx」が含まれるパッケージを検索するには、次のコマンドを使用します。

pkg search nginx

これにより、名前に「nginx」が含まれるバージョン番号を含むパッケージのリストが出力されます。

nginx-1.6.2_1,2
nginx-devel-1.7.8
p5-Nginx-ReadBody-0.07_1
p5-Nginx-Simple-0.07_1
p5-Test-Nginx-0.24

リストされたパッケージに関する詳細なパッケージ情報を読みたい場合は、次のように `+ -f +`オプションを使用します。

pkg search -f

これにより、指定したパッケージ名に一致する各パッケージに関するパッケージ情報が出力されます。

説明別

インストールするパッケージの名前がわからない場合は、「+-D +」オプションを指定して、リポジトリで利用可能なパッケージの説明を検索することもできます。 デフォルトでは、パターン一致では大文字と小文字が区別されません。

pkg search -D

たとえば、説明に「java」が含まれるすべてのパッケージを検索するには、次のようなコマンドを使用します。

pkg search -D java

これにより、利用可能なすべてのパッケージの名前が、説明とともに説明フィールドに指定されたパターンとともに出力されます。

Pkgの使用方法の詳細

Pkgは非常に柔軟なユーティリティであり、このチュートリアルでは説明されていないさまざまな方法で使用できます。 幸いなことに、どのオプションとサブコマンドが利用可能か、そしてそれらが何をするかを調べる簡単な方法を提供します。

使用可能なオプションとサブコマンドを印刷するには、次のコマンドを使用します。

pkg help

さまざまなサブコマンドのマニュアルページを読むには、 `+ pkg help +`を使用し、次のように知りたいコマンドを指定します:

pkg help

たとえば、 `+ pkg search +`の使用について詳しく知りたい場合は、次のコマンドを入力します。

pkg help search

これにより、 `+ pkg search +`の使用方法の詳細が記載されたmanページが表示されます。

結論

これで、FreeBSDサーバー上のバイナリパッケージを管理するために `+ pkg +`を使用することについて十分に理解できるはずです。

FreeBSDサーバーでのソフトウェア管理の詳細については、https://www.digitalocean.com/community/tutorials/how-to-install-and-manageの* ports *をご覧ください。 -ports-on-freebsd-10-1 [FreeBSD 10.1でポートをインストールおよび管理する方法]。