前回はFreeBSDのパッケージ管理システム「pkg(8)」を使ってパッケージ(ソフトウェア)をインストールする方法を採り上げた。今回はインストールしたパッケージをアップグレードする方法を紹介する。最近のパッケージ管理システムはだいたい似たような操作方法を提供しているので、CentOSの「yum(8)」やUbuntuの「apt(8)」とそれほど操作内容に違いはない。

アップグレード前の下準備

pkg(8)では、「pkg info」でシステムにインストール済みのパッケージ一覧を表示させることができる。

「pkg info」でインストール済みパッケージを一覧表示できる。右画面1行目に、前回インストールした「tree(1)」がインストールされていることを確認できる

CentOSのyum(8)では、パッケージのメタデータは自動的に更新されたが、apt(8)やpkg(8)では明示的にアップデートする方式を採用している。最新のパッケージメタデータ情報はパッケージサーバにあり、パッケージをアップグレードしたい場合は、まずこのパッケージメタデータをサーバからダウンロードしてくる必要があるのだ。

「pkg update」でパッケージのメタデータをアップデートできる

なお、FreeBSDのpkg(8)は最後発の仕組みだけあって、pkg(8)自体も活発に開発されている状況にある。そのため、パッケージをアップグレードする際、「pkg(8)そのものもアップグレードしてもよいか」と尋ねられることが多い。操作はパッケージのアップグレード時にまとめて実行することもできるのだが、あえて個別にアップグレードするとすれば次のようになる。

pkg(8)自体をアップグレード

パッケージのアップグレード手順

さて、パッケージのメタデータをアップデートした後は「pkg upgrade -n」でアップグレード可能なパッケージの一覧を確認しておこう。

「upgrade -n」でアップグレード可能なパッケージの一覧を確認できる。アップグレードを実行する前に、どのパッケージがアップグレードされるのかを把握しておこう

ここまで終えたら、後は「pkg upgrade」を実行してアップグレードを実施するだけだ。すると、依存関係を含めてアップグレードすべきパッケージが一括でアップグレードされる。

「pkg upgrade」でパッケージをまとめてアップグレード。パッケージは一括してアップグレードするのが基本だ

サブコマンドとして指定される「update」または「upgrade」は同じような意味で使われることもあれば、別の意味で使われることもある。pkg(8)では、updateがパッケージのメタデータを更新するために使われ、upgradeがインストール済みパッケージの更新処理に使われている。この対応は、apt(8)と同じだ。

お気づきのように、pkg(8)の操作方法やサブコマンドはapt(8)のそれとよく似ている。yum(8)とも似ているが、サブコマンドの使い方に関してはapt(8)的だ。これまでyum(8)、apt(8)、pkg(8)と3つのパッケージ管理システムを紹介したが、どの管理コマンドもかなり似ていることがおわかりいただけただろう。パッケージ管理という観点から言えば、CentOSもUbuntuもFreeBSDもあまり違いを感じないはずだ。

今回のおさらい

今回のおさらいは、次のとおりだ。

  • 「pkg info」でインストール済みパッケージを一覧表示
  • 「pkg update」でメタデータ(リポジトリ)をアップデート
  • 「pkg upgrade -n」でアップデート可能なパッケージを一覧表示
  • 「pkg upgrade」でパッケージを一括アップグレード

これで必要なソフトウェアを簡単に導入・アップグレードできるようになったはずだ。気になるソフトウェアがあれば、ぜひインストールして試してみていただきたい。