portsの取り扱い

portsはソフトウエアのインストール環境です。25,000を超えるプログラムがネット上に登録され、比較的簡単な操作でインストールが可能です。とは言え、コンパイルする必要が有るため、モノによってはインストールに膨大な時間が掛かることもあります。
(インターネットに接続出来る環境と設定が必要ですDVD等からも扱えますが、そちらの説明はしてません)

設定ファイルの変更

vi /etc/portsnap.conf

この設定ファイルから、ダウンロードしないportsを設定することが出来るが、何処で何が使われるか分からない状況なので、HDDに余裕があるなら、何もしないほうが良いです。

portsのインストール

portsnap fetch extract

初めてportsをインストールする時や、OSのバージョンアップをした時に実行するコマンド。通常時に使っても、portsディレクトリを削除して新たにportsディレクトリを構築するだけなので、問題は無いが意味も無い。

ports の更新

portsnap fetch update

作成されたportsを更新するためのコマンド。portsでの何かをインストールする前に実行する事で、最新のソフトがインストールすることが出来る。

長期間放置した後に実行すると、更新作業に膨大な時間が掛かってしまう場合があるので、crontabで定期的に自動更新しておくのが理想的。

このコマンドをcrontabに登録する場合は『crontab』を参照して下さい。

portsの操作

portsで一番面倒な部分は、何処に目的のportがあるか分からない事。
ネット検索すれば大概出てくるんですけどね。

プログラム名が一部でも分かっているなら、こんな確認法があります。

echo /usr/ports/*/vim*

インストール

『cd』コマンドで目的のportに移動し
『make』コマンドでインストールし
『rehash』でインストールしたコマンドの有効化

cd /usr/ports/editors/vim-lite
make install clean
rehash

オプションが表示される時には自己判断。
これでエラーが出なければOK
もしエラーが出た場合、何に対してエラーが出たのか表示されているはずなので、それに対して対処すれば良いのですが、実際には具体的な事が書かれていることは稀だったりします。

アンインストール

cd /usr/ports/editors/vim-lite
make deinstall

(設定ファイルやサンプルファイルは消えません)

再インストール

cd /usr/ports/editors/vim-lite
make reinstall clean
rehash

バージョンアップ時にも使用します。インストールの終了間際にエラーが出た場合は、場合によってはreinstallで正常終了する可能性があります。

rehashは、バージョンアップ時には必要ありません。再インストール時にも必要ない可能性がありますが・・・。

オプションを先に選択

cd /usr/ports/editors/vim-lite
make config-recursive
make install clean
rehash

何もせずにインストール作業をすると、コンパイル途中でオプション選択画面が表示されて作業が停止してしまう場合があるので、先にオプションを選択してしまいます。中途半端な場所でのオプション選択をする必要がなくなるため、時間を有効に使えるようになる。

ディフォルト以外のオプションを選択することで、更にオプション選択の必要性が増えたりもするんで、同コマン ドを数回(オプション選択画面が表示されなくなるまで)繰り返しておくと良い。

それでも、途中でオプション選択画面が表示されることが稀にあるのですが・・・

オプションの再選択

cd /usr/ports/editors/vim-lite
make rmconfig
make config-recursive
make reinstall clean
rehash

『make rmconfig』で既に選択されているオプションをクリアします。
『make config-recursive』で再選択 して『reinstall』で再インストールします。

portsからpackageの作成

cd /usr/ports/editors/vim-lite
make install clean
rehash
make package-noinstall

既にインストール済みのプログラムをパッケージ化してくれる。

特定のディレクトリを作成することで、作られたパッケージを其処に自動で移動してくれる。

mkdir /usr/ports/packages

ディフォルトの位置は『/usr/ports/packages』だが、これは[/etc/make.conf]で変更できる。その辺の設定は説明しないが・・・。

出来上がったパッケージは、pkg_addコマンドやportupgradeどで使う事が出来る。jail環境が複数ある場合には有用でしょう。

make.confの設定

squid等のプロキシキャッシュ環境が事前に構築されている場合、その環境を通して通信することが出来る。qjailで複数の環境を構築している場合は、実感できる程度の変化を感じることもある。

/etc/make.conf
FETCH_ENV="http_proxy=http://192.168.1.13:3128"

『192.168.1.13』はIPアドレス。
『3128』はプロキシのポート番号。どちらも自分の設定に書き換えて使う。

axelをインストールすることでソースパッケージのダウンロード速度を早くすることが出来る。詳しくはaxelの『make.confの設定』を参照。

その他のmake.confの設定は、大半が制限に関する設定になってくると思う。その辺は必要な時に『/usr/ports/UPDATING』等に書かれている内容を追記してやれば良い。

CPUの設定を含めたコンパイラ系の設定は、昔は設定したほうが早くなると言われていたが、今はOS自体が最適な環境を選択して動作してくれるらしいので、むしろ書き込まないほうが良いらしい。

エラーが出て更新作業が出来ない

エラー内容にもよりますが、意味が良く分からない文字列が表示されるようなエラーが出る場合は、大半がデータベースの異常が原因のようです。表示された文字列の内容が、portsnap.confの[KEYPRINT]に書かれている物と一致するようであれば、ほぼ間違いないです。

vi /etc/portsnap.conf

確認ついでに『INDEX』に書かれている内容を、自分が使用するFreeBSDバージョンのみ残して、他を削除しておくと良いです。

portsnapのデータベースは『/var/db/portsnap/』にあり、その中身を消します。

rm -rf /var/db/portsnap/*

データベースを削除した後には、特に必要な作業はなく、その後にportsを扱う作業を始めた最初の一回のみ、データベースが勝手に更新を始める筈です。

☆ その他

時々、portsに関する変更点などがアナウンスされます。
パッケージが奇妙な状態にある時には『/usr/ports/UPDATING』を確認してみると良い。portsの環境変更に伴う動作不良だった場合、具体的な解決策が載っていたりすることもある。

 

役に立ちましたか?
  • 役に立った (0)
  • 少しだけ (0)
  • これじゃない! (0)