🔥

FreeBSDのパッケージ管理ソフト「pkg」の使い方

2024/09/14に公開

はじめに

長らくport treeを愛用しておりましたが、宗旨替えをしました。

はじめて

まずpkgのバージョンを確認してみましょう。

pkg --version
Do you want to fetch and install it now? [y/N]:

インストールされていないと表示され、インストールされるかと聞かれます。yを押してインストールしましょう。

Installing pkg-1.21.3...
Extracting pkg-1.21.3: 100%
pkg-1.21.3                     Package manager

インストールが完了しました。

pkg info

pkgでインストールされているパッケージを確認します。

pkg info
pkg-1.21.3                     Package manager

最初はpkgしか入っていません。
pkgpkgをインストールしたということでしょうか?
各パッケージの詳細な情報を知ることも可能です。

pkg info pkg

pkg search

パッケージを検索します。
sudoが入ってないので、sudoをインストールします。

pkg search sudo
pkg: Repository FreeBSD missing. 'pkg update' required

最初はカタログが空なので、アップデートしなければなりません。アップデートしましょう。

pkg update

pkg update
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.

updateコマンドは、利用できるパッケージのデータベースを更新(update)するだけ。
インストール済みのパッケージを更新する場合は、upgradeコマンドを利用する。

pkg install

sudoをインストールする。

pkg install sudo

pkg upgrade

インストール済の全てのパッケージをアップグレードする

pkg upgrade

特定のパッケージだけアップグレードする

pkg upgrade php

pkg delete

パッケージのアンインストール

pkg delete php

pkg lock

パッケージを特定のバージョンで固定することができる

pkg lock php

unlockでロックを解除できる

pkg unlock php

pkg clean

キャッシュをクリアする

pkg clean

pkg audit

パッケージに脆弱性がないか調べるコマンド。

sudo pkg audit

このコマンドを実行すると、システムにインストールされているすべてのパッケージが VuXML(Vulnerability XML) データベースと照合され、以下のような結果が表示される。
問題がない場合:

0 problem(s) in 0 installed package(s) found.

脆弱性が発見された場合:

1 problem(s) in 1 installed package(s) found.
  • pkg audit -F: 脆弱性データベースを更新し最新情報に基づいて監査する
  • pkg audit -q: 結果がない場合(問題がない場合)は出力を抑制するquietモード

Discussion