portupgradeを利用してportsの管理を行う

対象プラットフォーム: FreeBSD 7.x / FreeBSD 6.x


はじめに

「portupgrade」は、portsから導入したアプリケーションのアップグレードを簡単に行うことが出来るツールです。

このページでは、この「portupgrade」のインストールの方法と、簡単な利用方法について説明します。

「portupgrade」のインストール

インストールはportsを利用して行います。
portsの取得および展開方法については、「最新のportsを取得して展開する」を参照してください。

portsの展開が完了した後、下記手順で「portupgrade」をmakeし、インストールします。

「portupgrade」のインストール
$ cd /usr/ports/ports-mgmt/portupgrade
$ make config-recursive
$ make install clean

packageデータベースの依存関係の修正

apache+mod_sslのように、apacheから派生したportsをインストールした場合、packageの依存関係が正しく設定されていないことがあります。

portupgradeは、インストール済みの全てのportsの依存関係が正しく設定されていないと動作することができませんので、予めpackageデータベースの依存関係の修正を行います。

packageデータベースの依存関係の修正
$ pkgdb -F

上記の通り入力すると、対話式で依存関係の修正をするかを聞いてきますので、依存関係が正しいと思われるものを「Y」と選択してください。

最新のportsを取得して展開する

さて、ここからいよいよportupgradeを利用して、インストール済みのportsのメンテナンスを行います。

まず最初に、最新のportsを取得してきて展開します。
最新のportsを取得、展開する方法については、「最新のportsを取得して展開する」を参照してください。

インストール済みのportsが最新かどうか調べる

次に、インストール済みのpackageが最新かどうか(portsツリー上でアップグレードされたものがあるか)を確認します。
この確認には、「portversion」を利用します。

インストール済みのportsが最新かどうか調べる(portversion)
$ portversion -v

上記のように入力すると、インストール済みのportsがリスト表示され、そのportsが最新の場合には「up-to-date with port」と表示され、最新でない場合には、最新のportsのバージョンが表示されます。

アップデートが必要なportsのみを表示するには、以下のようにします。

アップデートが必要なportsのみを表示する(portversion)
$ portversion -v | grep "<"

以下で説明する「インストール済みのportsを一括アップグレードする」手順の前に、上記手順で表示されたportsに対して、予め「make config-recursive」を行っておくことにより、メニュー形式でのoptionsの指定を予め済ませておくことができます。

インストール済みのportsを一括アップグレードする

「portupgrade」の最大の機能である、インストール済みのportsの一括アップグレードをするには、以下のようにします。

インストール済みのportsを一括アップグレードする(portupgrade)
$ portupgrade -a -R

「-a」はインストール済みの全てのportsをアップグレード対象にするという意味、「-R」は対象のportsが依存している全てのportsをアップグレード対象にするという意味です。

portsのアップグレード時には、バージョンアップによりアプリケーションの設定ファイルやデータの整合性が取れなくなったりすることがあります。(特にPostgreSQL等のデータベースで顕著です。)

このため、設定ファイルやユーザデータについては、必ずバックアップやダンプをして、後でリストアができるようにしてください。


あなたの探し物は見つかりましたか?
まさにこれだ
参考になった
ちょっと違う
これじゃない

何かメッセージがあればお願いします

このメッセージを非公開にする

ご注意

・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。


参考になった
1 (100%)

表示できるメッセージはありません。


目次に戻る
image