CONTENTS
Lastmodified 2013-09-24 (火) 14:09:24
ports collection は make コマンドを使ってインストールするのが基本だが更新のことなどを考えると portupgrade コマンドを使うほうが便利。そこで portupgrade コマンドをインストールする。
# cd /usr/ports/ports-mgmt/portupgrade # make install clean # rehash
なお、以前は /usr/ports/sysutils/portupgrade であった。
最初に、コンパイル時オプションの選択メニューが現れる。これは、無変更のまま Ok で良い。
この後 portupgrade の実行に必要な様々なツールも、自動的にインストールされる。関連するツールも自動的にインストールしてくれるのも ports の便利なところの一つ。
make install clean ではなく、make install だけでも良い。しかし、それだとインストール後に不要なオブジェクトファイルなどが残る。そこで make clean も実行すると良い。make install と make clean を続けて実行するため、ここでは make install clean。詳しくは make コマンドのマニュアルなどを参照。
root のログインシェルは csh であるため、最後の rehash を実行しないと、インストールしたばかりの portupgrade(に含まれる portinstall) をコマンド実行パスから見つけることができない。これ以降、インストールしたばかりのコマンドはすぐには使えなくても驚かない。"あわてずに rehash を実行"する。なお、これ以降のコマンド実行例では rehash は省略する。
rehash を実行しても実行できない場合、コマンド実行パスがどうなっているかを確認する。環境変数 PATH を見ればよい。また pkg_info -L を使って、インストールした ports がどこに何をインストールしたかを確認してみるのも役に立つ。
# pkg_info -L portupgrade-2.2.2_4,2
pkg_info に与える引数では、ports の正確なパッケージ名が必要になる。これを知るためには
# pkg_info -aI
を実行してみると良い。これで、インストール済みのパッケージのパッケージ名とその簡単な説明の一覧が表示される。1カラム目がパッケージ名である。もしくは
# ls /var/db/pkg
でも良い。
portupgrade を一旦 deinstall して、再びmake install しようとすると、上記エラーとなります。2013年9月24日12:43
root@g7:/usr/ports/ports-mgmt/portupgrade # make install ===> Building package for portupgrade-2.4.11.2,2 Creating package /usr/ports/ports-mgmt/portupgrade/portupgrade-2.4.11.2,2.tbz Registering depends: ruby19-bdb-0.6.6_1 db41-4.1.25_4 ruby-1.9.3.448,1 libexecinfo-1.1_3 libffi-3.0.13 libyaml-0.1.4_2. Registering conflicts: portupgrade-devel-*. Creating bzip'd tar ball in '/usr/ports/ports-mgmt/portupgrade/portupgrade-2.4.11.2,2.tbz' tar: libdata/ldconfig/portupgrade: Cannot stat: No such file or directory tar: Error exit delayed from previous errors. pkg_create: make_dist: tar command failed with code 256 *** [do-package] Error code 1 Stop in /usr/ports/ports-mgmt/portupgrade. *** [install] Error code 1 Stop in /usr/ports/ports-mgmt/portupgrade. root@g7:/usr/ports/ports-mgmt/portupgrade #
で、
mkdir /usr/local/libdata/ldconfig/portupgrade
で、解決。
Total access 3825:本日 1:昨日 3