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

23FreeBSDでパッケージを管理するための便利なPKGコマンドの例

このチュートリアルでは、 FreeBSDでコンパイル済みのバイナリパッケージアプリケーションを管理する方法について説明します。 PKGという名前のパッケージ管理ツールの助けを借りて ポート経由 ソフトウェアコレクションリポジトリ。

ポート リポジトリは、ソースコードからアプリケーションをコンパイルするために必要なツールとその依存関係を提供しますが、現在 24.000を超えるコンパイル済みパッケージの膨大なコレクションも保持しています。 pkgを使用してFreeBSDシステムにインストールできるパッケージ コマンド。

要件:

  1. FreeBSD11.xのインストール

FreeBSDのPortsTreeでアプリケーションを検索して見つける

1。 ポートリポジトリは、 FreeBSDのカテゴリに分類されています 、各カテゴリは / usr / Ports /のディレクトリで表されます ファイルシステムパス。

ディレクトリの簡単なリスト/usr / Ports / 以下のスクリーンショットに示すように、利用可能なすべてのカテゴリが表示されます。

#ls / usr / Ports / 

2。 カテゴリに属する​​利用可能なすべてのアプリケーションを表示するには、カテゴリディレクトリに対してlsコマンドを発行します。

データベースカテゴリが提供する必要のあるすべての利用可能なソフトウェアパッケージを表示したい場合は、コンソールで以下のコマンドを実行します。結果をlessコマンドでパイプ処理して、出力をより簡単にナビゲートします。

#ls / usr / Ports / databases / |少ない

3。 カテゴリで使用可能なパッケージの数を表示するには、次の例に示すように、カテゴリディレクトリを一覧表示し、wcコマンドを使用して結果をパイプ処理します。

#ls / usr / Ports / databases / | wc -l <​​/ pre>  

上のスクリーンショットでわかるように、FreeBSDデータベースカテゴリは 1000以上を保持しています データベースのプリコンパイル済みパッケージ。

4。 特定のアプリケーションがカテゴリで使用可能かどうかを確認するには、もう一度lsコマンドを使用し、grepユーティリティを使用して結果をフィルタリングし、カスタムアプリケーションを検索します。

以下の例では、 mongodbを検索します データベースで利用可能なパッケージとclamアンチウイルス セキュリティパッケージ。

#ls / usr / Ports / databases / | grep mongodb#ls / usr / Ports / security / | grep clam 

ご覧のとおり、FreeBSDポートでは複数のバージョンのアプリケーションを利用できます。

5。 ソフトウェアがどのカテゴリに属しているかわからない場合は、別の方法を使用してソフトウェアカテゴリを見つけることができます。シェルグロブワイルドカードを使用する* ポートディレクトリツリー全体でパターンを検索するための文字。

mailxのソフトウェアパッケージを見つけることができるカテゴリを確認したい場合 ユーティリティの場合、次のコマンドを実行できます。

#ls / usr / Ports / * / * mailx 

6。 ソフトウェアパッケージとそのパッケージが属するカテゴリを検索する別の方法は、文字列パターンに対してlocateコマンドを使用することです。

検索文字列を実行する前に、次のコマンドを使用して検索データベースを更新する必要があります。

#/usr/libexec/locate.updatedb 

7。 Locateデータベースを更新したら、パッケージ名のキーワードパターンを使用して、特定のソフトウェアパッケージを検索します。たとえば、 mailxを検索する場合 ユーティリティの場合、以下のコマンドを実行できます。

#mailxを検索

ご覧のとおり、 mailxで利用できるパッケージは2つあります。 ユーティリティ。どちらも/usr / Ports / mail /にあります。 カテゴリ。

8。 Locateコマンドでパッケージを検索するのと同様に、whereisコマンドを使用してアプリケーションカテゴリを表示することもできます。

#whereis mailx 

FreeBSDのPKGコマンドによるソフトウェアの検索

9。 FreeBSDでアプリケーションを検索して見つける最も簡単な方法は、PKGパッケージ管理コマンドラインを使用することです。アプリケーションのバイナリパッケージを検索するには、たとえば postfix ソフトウェアについては、以下のコマンドを発行してください。

#pkg search package_name 

10。 パッケージがどのカテゴリに属しているかを確認したい場合は、-oを使用して上記と同じコマンドを実行します。 以下の例に示すように、フラグを立てます。

#pkg search -o package_name 

FreeBSDでソフトウェアを管理する

11。 FreeBSDのPortsリポジトリからプリコンパイルされたパッケージをインストールするには、 pkgを発行します。 次の例に示すようなコマンド。

#pkg install package_name 

12。 システムにインストールされている特定のパッケージに関する情報を照会するには、以下のコマンドを発行します。

#pkg info package_name 

13。 パッケージ情報 コマンドスイッチは、「package_nameに一致するパッケージはありません」というメッセージを表示します。 以下のスクリーンショットに示すように、ソフトウェアパッケージがシステムにまだインストールされていない場合は」。

#pkg info tcpdump 

14。 FreeBSDにインストールされているすべてのソフトウェアパッケージを一覧表示するには、 pkg infoを実行します。 オプションやスイッチなしのコマンド。

pkg infoに対するgrepフィルター 次の例に示すように、コマンドを使用すると、特定のパッケージまたはアプリケーションがシステムにすでに存在するかどうかを確認できます。

#pkg info | grep ftp 

15。 システムからパッケージを削除するには、以下のコマンドを発行します。

#pkg remove package_nameor#pkg delete package_name 

16。 インストールされているパッケージの削除や変更を防ぎたい場合は、ロックを使用できます。 次の画像に示すように、pkgコマンドに切り替えます。

#pkg lock package_name 

ロック解除 pkgコマンドスイッチを使用すると、パッケージの制限を解除し、パッケージを変更またはアンインストールできます。

#pkg unlock package_name 

17。 コマンドまたは実行可能ファイルがどのインストール済みパッケージに属しているかを確認するには、以下のスクリーンショットの例に示すように、次のコマンドを発行します。

#pkg which / path / to / executeable 

18。 ポートからパッケージをローカルにダウンロードするには リポジトリ、システムにパッケージをインストールせずに、pkgコマンドを実行します フェッチで スイッチ。

圧縮された.txzであるダウンロードされたパッケージバイナリ ファイル、 / var / cache / pkg /にあります システムパス。

#pkg fetch package_name#ls / var / cache / pkg / | grep package_name 

19。 インストールされたパッケージが一般的な脆弱性やバグにさらされているかどうかを確認するには、以下のコマンドを発行します。

#pkg audit -F 

以前のバージョンのソフトウェアパッケージに影響を与える古い脆弱性のリストを表示するには、以下のコマンドを発行します。

#pkg audit package_name 

以下は、 Nginxで見つかったすべての既知の脆弱性の抜粋です。 FreeBSD用にコンパイルされたWebサーバー。

#pkg audit nginx 
ソフトウェアの脆弱性を見つける
nginxは脆弱です:影響を受けるバージョン:<=0.8.41:> 1.4.4,1nginx-リクエストライン解析の脆弱性CVE:CVE-2013-4547WWW:https://vuxml.FreeBSD.org/freebsd /94b6264a-5140-11e3-8b22-f0def16c5c1b.htmlnginxは脆弱です:影響を受けるバージョン:<1.0.15nginx-ngx_http_mp4_moduleCVEのバッファオーバーフロー:CVE-2012-2089WWW:https://vuxml.FreeBSD.org/freebsd/0c14dfa7- 879e-11e1-a2a0-00500802d8f7.htmlnginxは脆弱です:影響を受けるバージョン:<1.4.7nginx-SPDYヒープバッファオーバーフローCVE:CVE-2014-0133WWW:https://vuxml.FreeBSD.org/freebsd/fc28df92-b233-11e3- 99ca-f0def16c5c1b.html ... 

FreeBSDでパッケージ管理ユーティリティを維持する

20。 ソフトウェアリポジトリとインストールされているすべてのパッケージが最新バージョンまたはセキュリティパッチで最新であることを確認するには、次のコマンドを発行します。

#pkg update#pkg upgrade 

21。 システムにインストールされているパッケージの数やインストールされているソフトウェアによって満たされているディスク容量など、リモートリポジトリとローカルパッケージの統計を表示するには、次のコマンドを実行します。

#pkg stats 

22。 システムにインストールされているパッケージによって残されたすべての依存関係を削除するには、以下のコマンドを発行します。

#pkg autoremove 

23。 リモートでダウンロードされたパッケージのパッケージ管理ローカルキャッシュディレクトリを自動的に消去するには、次のコマンドを実行します。まず、ローカルにダウンロードされたバイナリパッケージのリストを確認する必要があります。

#pkg clean -a -n#pkg clean -a -y 

それで全部です!ご覧のとおり、 FreeBSD は、Yum、RPM、APTなどのLinuxディストリビューションで使用されるパッケージ管理ツールに似た印象的なパッケージコレクションシステムを備えており、多数のコンパイル済みソフトウェアバイナリと、シンプルで効果的なコマンドラインpkgを使用して、適切な方法でソフトウェア。


FreeBSD
  1. Linuxでのlsコマンド:17の便利な例の説明

  2. Dockerpsコマンドの便利な例

  3. Ubuntu/Debianでパッケージを管理するためのAptgetコマンドの例

  1. FreeBSDで開いているポートを見つけるための15の便利な「Sockstatコマンドの例」

  2. SUSE Linux でパッケージを管理する 20 の Zypper コマンドの例

  3. 5 firewall-cmd コマンドの便利な例

  1. Linuxでの20の便利なDockerコマンドの例

  2. Linuxでの12の便利なWgetコマンドの例

  3. Ubuntu/Debianでパッケージを管理するためのDpkgコマンドの例