diff --git a/ja_JP.eucJP/books/handbook/mirrors/chapter.sgml b/ja_JP.eucJP/books/handbook/mirrors/chapter.sgml
index 294dd142f2..9d6346cfd2 100644
--- a/ja_JP.eucJP/books/handbook/mirrors/chapter.sgml
+++ b/ja_JP.eucJP/books/handbook/mirrors/chapter.sgml
@@ -1,3276 +1,3277 @@
- FreeBSD の入手方法
+ &os; の入手方法
CDROM/DVD 出版社
リテールボックス製品
- FreeBSD は (FreeBSD CD、追加ソフトウェア、
+ &os; は (&os; CD、追加ソフトウェア、
印刷されたドキュメントなどから構成される)
箱入りの製品として以下の取り扱い業者から入手できます。
CompUSA
WWW:
Frys Electronics
WWW:
CD/DVD セット
- FreeBSD の CD/DVD セットは以下のオンライン業者から入手できます。
+ &os; の CD/DVD セットは以下のオンライン業者から入手できます。
- FreeBSD Mall, Inc.
+ &os; Mall, Inc.
700 Harvest Park Ste F
Brentwood, CA 94513
USA
電話: +1 925 240-6652
Fax: +1 925 674-0821
Email: info@freebsdmall.com
WWW:
Dr. Hinner EDV
St. Augustinus-Str. 10
D-81825 München
Germany
電話: (089) 428 419
WWW:
Ikarios
22-24 rue Voltaire
92000 Nanterre
France
WWW:
JMC Software
Ireland
電話: 353 1 6291282
WWW:
The Linux Emporium
Hilliard House, Lester Way
Wallingford
OX10 9TA
United Kingdom
電話: +44 1491 837010
Fax: +44 1491 837016
WWW:
Linux+ DVD Magazine
Lewartowskiego 6
Warsaw
00-190
Poland
電話: +48 22 860 18 18
Email: editors@lpmagazine.org
WWW:
Linux System Labs Australia
21 Ray Drive
Balwyn North
VIC - 3104
Australia
電話: +61 3 9857 5918
Fax: +61 3 9857 8974
WWW:
LinuxCenter.Kz
Ust-Kamenogorsk
Kazakhstan
電話: +7-705-501-6001
Email: info@linuxcenter.kz
WWW:
LinuxCenter.Ru
Galernaya Street, 55
Saint-Petersburg
190000
Russia
電話: +7-812-3125208
Email: info@linuxcenter.ru
WWW:
問屋
- あなたが小売業を営んでいて FreeBSD の CDROM
+ あなたが小売業を営んでいて &os; の CDROM
製品を取り扱いたいと考えているなら次の場所に連絡してください。
Cylogistics
809B Cuesta Dr., #2149
Mountain View, CA 94040
USA
電話: +1 650 694-4949
Fax: +1 650 694-4953
Email: sales@cylogistics.com
WWW:
Ingram Micro
1600 E. St. Andrew Place
Santa Ana, CA 92705-4926
USA
電話: 1 (800) 456-8000
WWW:
Kudzu, LLC
7375 Washington Ave. S.
Edina, MN 55439
USA
電話: +1 952 947-0822
Fax: +1 952 947-0876
Email: sales@kudzuenterprises.com
LinuxCenter.Ru
Galernaya Street, 55
Saint-Petersburg
190000
Russia
電話: +7-812-3125208
Email: info@linuxcenter.ru
WWW:
Navarre Corp
7400 49th Ave South
New Hope, MN 55428
USA
電話: +1 763 535-8333
Fax: +1 763 535-0341
WWW:
FTP サイト
- FreeBSD の公式な情報は anonymous FTP によって世界中から
+ &os; の公式な情報は anonymous FTP によって世界中から
ミラーサイトより入手できます。 各サイトは
にまとめられています。
これらのサイトは大規模な接続を受け付けていますが、
よりネットワーク的に近い
ミラーサイトを探した方が良いでしょう
(特にミラーサイトのようなものを
構築しようとした場合はこれに該当します)。
- FreeBSD
- ミラーサイトデーターベース FreeBSD ハンドブックの
+ &os;
+ ミラーサイトデーターベース &os; ハンドブックの
ミラーサイト一覧
よりも正確です。というのはその情報を DNS から取得するので、
静的に記述されたリストよりも信頼性が高いのです。
- さらに、FreeBSD は以下のミラーサイトから anonymous FTP
- によって 入手できます。もし FreeBSD を anonymous FTP
+ さらに、&os; は以下のミラーサイトから anonymous FTP
+ によって 入手できます。もし &os; を anonymous FTP
によって手にいれる場合は、
近くのサイトを利用するようにしてください。
主要なミラーサイト
としてあげられているサイトには、
- FreeBSD の各アーキテクチャで利用可能な
+ &os; の各アーキテクチャで利用可能な
すべてのバージョンのアーカイブ一式が用意されています。
あなたが住んでいる国や地域には
より高速にダウンロードできるサイトがおそらくあるでしょう。
各国のミラーサイトには、
人気のあるアーキテクチャの最新のバージョンが置いてありますが、
- FreeBSD のアーカイブ全体はもしかするとないかもしれません。
+ &os; のアーカイブ全体はもしかするとないかもしれません。
すべてのサイトは anonymous FTP によるアクセスを提供していますが、
別の方法によるアクセスも提供しているサイトもあります。
各サイトで提供しているアクセス方法は、
ホスト名に続く括弧の中に記載されています。
&chap.mirrors.ftp.inc;
BitTorrent
BitTorrent
BitTorrent を使って、リリース CD の ISO イメージをダウンロードできます。
ISO イメージをダウンロードするための torrent ファイルは http://torrents.freebsd.org:8080
にて配布されています。
BitTorrent クライアントソフトは、
net-p2p/py-bittorrent port
またはコンパイル済みの package として入手できます。
BitTorrent を用いてダウンロードした ISO イメージを、
で説明されている burncd を使って
CD や DVD メディアに書き込めます。
Anonymous CVS
訳: &a.jp.sugimura;、1998 年 7 月 19 日
導入
CVS
anonymous
Anonymous CVS (もしくは、anoncvs
として知られています) は離れたところにある CVS
- リポジトリと同期を取るために FreeBSD に付属している CVS
+ リポジトリと同期を取るために &os; に付属している CVS
ユーティリティに含まれている機能です。他にもありますが、
- それは FreeBSD のユーザが、特別な権限なしに FreeBSD
+ それは &os; のユーザが、特別な権限なしに &os;
プロジェクトの公式な anoncvs サーバに読み取り専用で CVS
の操作をすることができるようにするためのものです。
それを使うには、単に CVSROOT
環境変数を設定して適切な anoncvs サーバを指定し、
cvs login を使って
パスワード anoncvs
を入力してください。
そして次に &man.cvs.1; コマンドを使うことで、
手元にあるリポジトリと同じようにアクセスできるようになります。
cvs login コマンドは、CVS
サーバの認証に使われるパスワードを HOME
ディレクトリの .cvspass というファイルに保存します。
このファイルが存在しなければ、最初に cvs login
を使おうとしたときにエラーが出るでしょう。空の .cvspass
ファイルを作成して再度ログインに挑戦してください。
CVSup と
anoncvs
のサービスは本質的に同じ機能ではないかということも言われていますが、
ユーザが同期を取る方法を選ぶときに影響を与える、
さまざまなトレードオフが存在します。要約して言えば、
CVSup
はネットワーク資源の使い方においては非常に効率が良く技術的にもはるかに洗練されたものですが、
相当な手間がかかります。CVSup
を使うには特別なクライアントをまずインストールして設定しなくては
1 bit も取ってくることができませんし、さらにそのとき
CVSup で取ってくることができるのは、
コレクション (collection)
と呼ばれる、
かなり大きなかたまりだけです。
それに対して anoncvs では、
CVS モジュールの名前を指定することで特定のプログラムの
(ls や grep のような)
個々のファイルから調べることができます。もちろん、
anoncvs は CVS
リポジトリの読み取り専用の操作に対してのみ適しているので、
- もしあなたが FreeBSD プロジェクトのものと共有されたなにか
+ もしあなたが &os; プロジェクトのものと共有されたなにか
ローカルなリポジトリを作ってそこでの開発を
行おうというときには、CVSup
だけが唯一の手段となってしまいます。
Anonymous CVS を使う
&man.cvs.1; を設定して Anonymous CVS
リポジトリを使うには単に CVSROOT
- 環境変数を設定して FreeBSD プロジェクトの
+ 環境変数を設定して &os; プロジェクトの
anoncvs サーバを指定するだけのことです。
この文書を書いているときには、
次のサーバが利用できるようになっています。
フランス:
:pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs
(pserver (パスワードは anoncvs
),
ssh (パスワードはありません) が使えます)
日本:
:pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
(cvs login コマンドを使い、
プロンプトが表示されたらパスワード
anoncvs
を入力してください)
台湾:
:pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
(pserver (cvs login コマンドを使い、
プロンプトが表示されたら任意のパスワードを入力してください),
ssh (パスワードはありません) が使えます)
- SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub
+ SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub
+SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub
USA:
freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs
(ssh のみが提供されています (パスワードはありません))
SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu
SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub
USA:
anoncvs@anoncvs1.FreeBSD.org:/home/ncvs
(ssh2 のみが提供されています (パスワードはありません))
SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub
CVS はかつて存在した (もしくはこれから存在するものも)
- ほとんどどんなバージョンの FreeBSD のソースを check
+ ほとんどどんなバージョンの &os; のソースを check
out
することができますが、あなたは &man.cvs.1; の
- リビジョン () のオプションや FreeBSD
+ リビジョン () のオプションや &os;
プロジェクトのリポジトリの中で
それをどのように指定したらいいものかということを
よく知っておく必要があります。
タグには 2 種類あって、
リビジョンタグとブランチタグがあります。
リビジョンタグは特定の改訂版を指しており、
それはいつも同じものを意味しています。一方ブランチタグは、
指定されたときの指定された開発の流れにおける
最も新しい改訂版を示しています。
ブランチタグは特定の改訂版を指していないために、
その意味はきょうと明日では違うものになっているでしょう。
にはユーザが興味を持つであろうリビジョンタグの一覧が載せられています。
これらはいずれも Ports Collection に対して使うことはできません。
Ports Collection は複数の開発ブランチを持っていないからです。
ブランチタグを指定したときには、
普通はその開発の流れにおける
最も新しいバージョンのファイルを受け取ることができます。
もし以前のバージョンのものが欲しいときには、日付を
オプションを使って指定すればよいです。
これ以上のことは &man.cvs.1; man page を見てください。
例
本当はなにかする前には &man.cvs.1;
のマニュアルページの全体をちゃんと読んでからのほうがいいのですが、
Anonymous CVS
の使い方の本質的なところを簡単に例を挙げて説明します。
-CURRENT (&man.ls.1;) をちょっと確認してみます。
&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
&prompt.user; cvs login
プロンプトが表示されたら、password
に任意の単語を入力します。
&prompt.user; cvs co ls
SSH を使って src/
ツリーをチェックアウトしてみます。
&prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src
The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established.
DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.
&man.ls.1; のバージョンを 6-STABLE
ブランチから調べてみます。
&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
&prompt.user; cvs login
プロンプトが表示されたら、password
に任意の単語を入力します。
&prompt.user; cvs co -rRELENG_6 ls
&man.ls.1; の変更点のリストを
(Unified diff で) 作ってみます。
&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
&prompt.user; cvs login
プロンプトが表示されたら、password
に任意の単語を入力します。
&prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls
他のどんなモジュールの名前が
使われているか検索してみます。
&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
&prompt.user; cvs login
プロンプトが表示されたら、password
に任意の単語を入力します。
&prompt.user; cvs co modules
&prompt.user; more modules/modules
他の資料
次の資料は CVS を学ぶのに役に立つでしょう。
CVS チュートリアル
California Polytechnic State University によるものです。
CVS Home、
CVS の開発とサポートをしているコミュニティです。
CVSWeb
- は FreeBSD Project の CVS のための WWW インタフェースです。
+ は &os; Project の CVS のための WWW インタフェースです。
CTM を使う
CTM
訳: &a.hanai;、1997 年 9 月 13 日
CTM
はリモートのディレクトリツリーを中央のツリーに同期させるための
手段です。
- これはFreeBSDのソースツリーの配布を行なうために開発されまし
+ これは &os; のソースツリーの配布を行なうために開発されまし
たが、時が経つにつれて別の目的にも有用であることがわかるかも
しれません。
デルタを作り出す処理に関するドキュメントは現在ほとんど
ありません。従って、もしあなたがCTM
を他のことに使いたいなら
&a.ctm-users.name; メーリングリストにさらなる情報を問い合わせてください。
なぜ CTM を使うの?
- CTM を使うことにより FreeBSD
+ CTM を使うことにより &os;
ソースツリーのローカルコピーを手にいれることができます。
ソースツリーが使えることの魅力は数多くあります。完全な cvs
ツリーを追いかけるにしても、ひとつのブランチを追いかける
にしても CTM
は必要な情報を与えてくれます。
- もしあなたが FreeBSD のアクティブな開発者であるにもかかわらず
+ もしあなたが &os; のアクティブな開発者であるにもかかわらず
お粗末な TCP/IP 接続しか持っていなかったり、または TCP/IP 接続が
行なえないとしたら、あるいは単に変更が自動的に送られてきて
ほしいというのであれば CTM
はそんなあなたのために 作られたのです。
アクティブなブランチでは 1
日に最大三つまでのデルタを受け取る必要があります。
これが自動的に e-mail で送られてくるという方法を
ぜひ検討してみてください。
デルタのサイズは常にできるだけ小さく保たれています。
大抵の場合 5KB よりも小さく、
たまに (10 回に 1 回程度) 10-50KB になり、
ときおり 100KB かもっと大きくなるでしょう。
開発ソースから直接に得られたものを使うことについては、
あらかじめパッケージにされたリリースとは違い、
いろいろと注意することが あります。これは特に
current
のソースを選んでいるときは重要です。
- 最新の FreeBSD
+ 最新の &os;
を追いかけるを読むことをお勧めします。
CTMを使うには何が必要?
二つのものが必要でしょう: CTM
プログラムとそれに与える (current
レベルを得るための) 最初のデルタです。
CTM
- プログラムはバージョン 2.0 のリリース以来 FreeBSD の一部にな
- りました。もしソースのコピーを持っているなら
+ プログラムはバージョン 2.0 のリリース以来 &os; の一部になりました。
+ もしソースのコピーを持っているなら
/usr/src/usr.sbin/ctmにあります。
から入手できます。CTM
に与える デルタ
は二つの方法、FTP または e-mail、
で得ること ができます。
もしインターネットに FTP アクセスできるなら、
次の FTP サイト:
または、そのミラーサイトが
CTM へのアクセスをサポートします。
適切なディレクトリに FTP して README
ファイルを入手し、そこからスタートしてください。
e-mail によってデルタを得たいという場合は:
CTM
配布メーリングリストのいずれかに参加してください。
&a.ctm-cvs-cur.name; は完全な CVS ツリー、
&a.ctm-src-cur.name;
は開発先端ブランチに対応しています。&a.ctm-src-4.name;
は 2.2 リリースのブランチに対応したものです
(もし参加方法が分からない場合は、メーリングリスト名をクリックするか、
&a.mailman.lists.link; に行って参加したいメーリングリストをクリックしてください。
このページには、参加手順が詳しく書かれています)。
メールで CTM
による更新ファイルを受け取り始めると、中身を取り出して使用
するために ctm_rmail
プログラムを使うかもしれません。それを完全
に自動で行ないたいなら、/etc/aliases
から ctm_rmailプロ
グラムを直接使うこともできます。
さらに詳しいことは ctm_rmail
manページを御覧ください。
どの方法を使って CTM
デルタを入手していたとしても、
&a.ctm-announce.name;
メーリングリストには参加しておくといいでしょう。
このメーリングリストは将来的には
CTM システムの操作に関する
アナウンスがポストされる唯一の場になるでしょう。
メーリングリストに参加するには、上のメーリングリスト名をクリックして、
参加手順に従ってください。
はじめて CTM を使い始める
CTM
デルタを使い始めるためには、これは以降作られる全ての
デルタの出発点を手にいれる必要があります。
最初にあなたが何をすでに持っているかをはっきりさせましょう。
すべての人は
空
のディレクトリから始めなければなりません。
ツリーをサポートしてるあなたの
CTM を稼働するためには
指定した 空
のデルタを使う必要があります。いくつかの分岐点
では、あなたの都合により CD
内に分配されている スタータ
デルタを使用できるようになっています。しかしながら、これは
頻繁に行われることではありません。
適切な出発点が決まれば、その出発点を
CTM が
維持するツリーへ変換するための スタータ
初期デルタを使う必要が あります。
移行デルタは番号の後ろに X
をつけたものがそうです
(たとえば src-cur.3210XEmpty.gz)。
X
の後ろは最初の開始ポイントに対応します。
Empty は 空のディレクトリです。
ルールとして Empty からの移行デルタは
100 デルタごとに 作られます。ちなみに、
これらは非常に大きくなります!
XEmptyのデルタは 70 から 80MB の
gzip
で圧縮されたデータというのが普通です。
一度スタートするためのベースデルタを得ると、
それに続く多数のすべてのデルタも必要になるでしょう。
CTM を日常で使う
デルタを適用するためには、単に
&prompt.root; cd /where/ever/you/want/the/stuff
&prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.*
とします。
CTM
はどれが gzip されているか理解します。
従って最初に gunzip しておく必要はありません。
ディスクの節約にもなります。
全体の処理に関して確信するまでは
CTM は (ソース) ツリーに対して
何もしません。また、デルタを確かめるためには
フラグを使うことができます。
このフラグがあると CTM
はツリーに対して実際には何も行ないません。
単にデルタの完全性を確認し、
現在のツリーに問題なく使用できるかを確認
するだけです。
CTM
には他にもオプションがあります。詳細に関しては
マニュアルページを参照するかソースを見てください。
以上でやることは本当に全部です。
新しいデルタを入手した時には、
ソースを最新のものにするためにそれを
CTMに通すだけです。
もしデルタを再ダウンロードするのが
骨の折れる作業であれば、デルタを消さないでおいてください。
なにかおかしなことが起こった場合には置いておけば良かった
と思うかもしれません。
もしフロッピーディスクしか持っていない状況
であってもコピーを取るのに
fdwrite を使うことを考えてください。
ローカルの変更を保存する
開発者としてはソースツリー中のファイルを
使って実験したり変更したく なるものです。
CTM
はローカルの変更を制限つきでサポートします: ファイル
foo の存在をチェックする前に、
foo.ctm を参照しにいきます。
このファイルが存在する場合、CTM
は foo
の代りにこれを処理します。
この動作はローカルの変更を保持する簡単な手段を
提供します: 単に変更したいファイルを拡張子
.ctm 付きのファイル名で
コピーするだけです。あとは自由にコードをハックでき、
.ctm ファイルの方は
CTM
が最新状態に保ってくれます。
CTM
のその他の面白いオプション
更新で変更されるファイルを正確に知る
CTM
のソースリポジトリに対する変更のリストを
オプションを使って決定することができます。
これは、変更のログを保存したい、
変更されたファイルをなんらかの方法で 前・後処理したい、
または単にこだわりたい場合には、
役に立つでしょう。
更新前にバックアップを取る
CTM
の更新によって変更されるファイルすべてのバックアップを
取りたくなることがあります。
オプションを指定すると
CTM は
デルタで変更されるファイルすべてを
backup-file
としてバックアップするようになります。
更新で変更されるファイルを制限する
CTM
の更新の範囲を制限したり一連のデルタのから
ほんの数ファイルを抽出したくなることがあります。
と
オプションを用い正規表現を指定することで、
CTM
が処理するファイルのリストを制御することが
できます。
例えば、lib/libc/Makefile
の最新のコピーを保存してある CTM
デルタのコレクションから抽出するには、
以下のコマンドを実行します。
&prompt.root; cd /where/ever/you/want/to/extract/it/
&prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*
CTM
デルタで指定されたファイルごとに、
そして
オプションがコマンドラインで指定された順序で適用されます。
すべての そして
オプションが適用された後に更新対象と選択された場合に限り、
CTM
はそのファイルを処理します。
CTMの将来計画
重要なもの
なんらかの CTM システムへの認証機構を用い、不正な
CTM の更新の検出を可能とする。
CTM
へのオプションを整理する。さもないと混乱し、
直観に反したものになります。
その他
ports コレクションに対するデルタもあるのですが、
これに興味を持っている人はまだ少ないようです。
CTM サイト
- CTM/FreeBSD
+ CTM/&os;
は以下のミラーサイトから anonymous FTP によって入手できます。
もし CTM を anonymous FTP によって手にいれる場合は、
近くのサイトを利用するようにしてください。
何か問題がある場合は、&a.ctm-users.name; メーリングリストに相談してください。
カリフォルニア、サンフランシスコ近辺、
公式なソース
南アフリカ、ctm、sup、
CVSupなどの古い差分ファイルのバックアップサーバ
台湾/中華民国
近くにミラーサイトがない場合やミラーが不完全な場合は、
alltheweb
のような検索エンジンを使ってみてください。
CVSup を使う
訳: &a.jp.iwasaki;、1997 年 2 月 27 日
紹介
CVSup は、
リモートのサーバホストにあるマスタ CVS リポジトリから
ソースツリーを配布し更新するための
- ソフトウェアパッケージです。FreeBSD のソースは、
+ ソフトウェアパッケージです。&os; のソースは、
カリフォルニアにある中心的な開発マシンの CVS リポジトリの
中でメンテナンスしています。CVSup
- を使用することで、FreeBSD ユーザは
+ を使用することで、&os; ユーザは
簡単に自分のソースツリーを最新の状態に
しておくことができます。
CVSup は
pull
モデルとよばれる更新のモデルを採用しています。pull
モデルでは、
各クライアントが更新したい場合に更新したい時点で、
サーバに更新の問い合わせをおこないます。
サーバはクライアントからの
更新の要求を受け身の状態で待ちます。したがって、
すべての更新はクライアント主導でおこなわれます。
サーバは頼まれもしない更新情報を送るようなことはしません。
ユーザは CVSup
クライアントを手動で実行して更新をおこなうか、
cron
ジョブを設定して定期的に自動実行する必要があります。
用語 CVSup
のように大文字で表記しているものは、ソフトウェアパッケージ
全体を指します。主な構成物は、
各ユーザマシンで実行するクライアントである
- cvsup、FreeBSD
+ cvsup、&os;
の各ミラーサイトで実行するサーバ cvsupd
です。
- FreeBSD の文書やメーリングリストを読んだ際に、
+ &os; の文書やメーリングリストを読んだ際に、
sup についての言及を
見かけたかもしれません。sup は
CVSup の前に存在していたもので、
同様の目的で使われていました。
CVSup は sup
と同じように使用されており、実際、sup
と互換性のあるコンフィグレーションファイルを使用します。
CVSup
の方がより高速で柔軟性もあるので、もはや
- sup は FreeBSD
+ sup は &os;
プロジェクトでは使用されていません。
csup ユーティリティは
CVSup
ソフトウェアを C 言語で書き直したものです。
処理速度が速く、また、Modula-3 言語を使わないため、
Modula-3 をインストールする必要がありません。
さらに &os; 6.2 以降ではベースシステムに含まれているので、
すぐに使うことができます。
ベースシステムに &man.csup.1; が含まれていないような古い &os; でも、
net/csup port や
コンパイル済の package から簡単にインストールできます。
csup ユーティリティは
CVS モードに対応していないので、
リポジトリ全体のミラーが必要な場合は
CVSup を使ってください。
csup を使う場合は、
CVSup のインストールを省略し、
以下の文章中の CVSup を
csup に置きかえて読んでください。
インストール
CVSup
- をインストールする最も簡単な方法は、FreeBSD
+ をインストールする最も簡単な方法は、&os;
Ports コレクションのパッケージ
からコンパイル済みの
net/cvsup パッケージをインストールすることです。
もしくは、net/cvsup でも構いません。
ただし、net/cvsup は
Modula-3 システムに依存していて、構築にかかる時間、
ディスクスペースは比較的大きくなります。
たとえばサーバのような &xfree86; や &xorg;
がインストールされていない計算機で CVSup
を使おうとしているのであれば、必ず CVSup
GUI が含まれていない
net/cvsup-without-gui
を使ってください。
- FreeBSD 6.1 以前のシステムに csup
+ &os; 6.1 以前のシステムに csup
をインストールする場合は、
- FreeBSD packages collection の
+ &os; packages collection の
コンパイル済みの net/csup package
を利用できます。
ソースから csup を構築する場合は、
net/csup port
を使ってください。
CVSup のコンフィグレーション
CVSup の動作は、supfile
と呼ばれるコンフィグレーションファイルで制御します。
supfile のサンプルは、ディレクトリ
/usr/share/examples/cvsup/
の下にあります。
supfile には以下の CVSup
に関する質問への答えを記述します:
どのファイルを受け取りたいのか?
どのバージョンのものが欲しいのか?
どこから入手したいのか?
自分のマシンのどこに置きたいのか?
どこに status ファイルを置きたいのか?
次のセクションで、これらの質問に順番に答えながら典型的な
supfile を組み立てていきます。最初に
supfile の全体構造を説明します。
supfile はテキストファイルです。
コメントは # から行末までです。
空行とコメントだけの行は無視します。
残りの各行には、
ユーザが受け取りたいファイル群について記述します。
行の始めは、
サーバ側で定義した論理的なファイルのグループである
コレクション
の名称です。
コレクションの名称を指定して、欲しいファイル群を
サーバに伝えます。コレクション名の後には、
ホワイトスペースで区切られた 0 個以上のフィールドが続きます。
これらのフィールドが上記の質問に対する答えになります。
フィールドには 2 種類あります: flag フィールドと value
フィールドです。flag フィールドは delete
や compress のような
単独のキーワードから成ります。また、value
フィールドもキーワードで始まりますが、
キーワードの後にはホワイトスペースは入らず、
= と二つめの単語が続きます。例えば、
release=cvs は value
フィールドです。
通常、supfile
には受け取りたいコレクションを一つ以上指定します。
supfile を組み立てる一つの方法として、
コレクション毎にすべての関係の
あるフィールドを明示的に指定する方法があります。しかし、
これでは supfile
のすべてのコレクションに対して
ほとんどのフィールドが同じになるため、
行が非常に長くなってしまい不便になります。
これらの問題を避けるため、CVSup
ではデフォルトを指定することのできる
メカニズムが提供されています。特殊な擬似コレクション名
*default で始まる行は、
supfile 中の後続の
コレクションに対して使用する flag フィールドと value
フィールドのデフォルトを設定するために利用できます。
個々のコレクションで固有の値を指定すると、
デフォルト値を無効にできます。また
行を追加すると、supfile
の途中からデフォルト値の変更や追加が可能になります。
これまでの予備知識を基に、
- FreeBSD-current
+ &os;-CURRENT
のメインのソースツリーを受け取って更新するための
supfile を組み立ててみましょう。
どのファイルを受け取りたいのか?
CVSup
を通して入手できるファイルは コレクション
と呼ばれる名前の付けられたグループにまとめられています。
利用可能なコレクションについては
後の節の中で説明しています。
- ここでは、FreeBSD システムのメインのソースツリー全体
+ ここでは、&os; システムのメインのソースツリー全体
を受け取るための設定例を紹介します。
すべてを含む src-all
という単一の大きなコレクションがあります。
supfile
を組み立てる最初のステップとして、
これらのコレクションを一行に一つずつ記述します
(この場合は一行だけです)。
src-all
どのバージョンのものが欲しいのか?
CVSup を使用すると、
かつて存在していたことのある、事実上どのバージョンの
ソースでも受け取ることができます。これは
cvsupd
サーバがすべてのバージョンを含む CVS
リポジトリに基づいて動作することにより、
実現されています。
tag= および
の value フィールドを使用して、
欲しいバージョンの 一つを指定します。
tag=
のフィールドの指定は正確に行うように十分注意
してください。いくつかのタグは特定のコレクションに
対してのみ有効です。
タグの綴りが違っていたり不適切なタグを指定すると、
CVSup はユーザが消し
たくないファイルまで削除してしまいます。特に
ports-* のコレクション に対しては
tag=. だけ
を指定するようにしてください。
tag=
フィールドはリポジトリ中のシンボリックタグを指定します。
tag には revision tag と branch tag の二種類があります。
revision tag は特定のリビジョンを指します。これは、
毎日同じ状態に保つことになります。一方 branch tag は、
ある時点での開発分流の最新のリビジョンを指します。
branch tag
は特定のリビジョンを指定している訳ではないので、
今日と明日では
異なるリビジョンを参照することになるかもしれません。
にはユーザが興味を持つであろうリビジョンタグの一覧が載せられています。
CVSup の設定ファイル中でタグを指定する時は、
tag= に続けて書きます
(RELENG_4 は
tag=RELENG_4 になります)。
tag=. だけが Ports Collection には
適切であることに注意してください。
tag
名を示した通りにタイプされているか十分注意してく
ださい。CVSup は tag
名が正しいかどうかを見分けることはできません。tag
が間違っていた場合、
たまたまファイルがまったく存在しない正しい tag が
指定されたものとしてCVSup
は動作します。その場合は、現在あるソースが削
除されるでしょう。
branch tag を指定した際には、
通常はその開発分流の最新バージョンの
ファイルを受け取ります。
いくらか前のバージョンを受け取りたい場合は、
の value
フィールドを使って日付を指定することで、
これを実現することが できます。&man.cvsup.1;
のマニュアルページで、
その方法を説明しています。
- 例として、FreeBSD-current を受け取りたいとします。
+ 例として、&os;-CURRENT を受け取りたいとします。
次の行を supfile
の始めに追加します:
*default tag=.
tag= フィールドも
date=
フィールドも指定しなかった場合に
動き出す重要な特殊なケースがあります。そのケースでは、
特定のバージョンの ファイルを受け取るのではなく、
サーバの CVS リポジトリから実際の RCS
ファイルを直接受け取ります。
一般的に開発者はこの処理のモードが好きなようです。
彼らのシステム上にリポジトリそのものの
コピーを維持することで、
リビジョン履歴を閲覧し過去のバージョンの
ファイルを検査できるようになります。しかし、
これには大きなディスクスペースが必要になります。
どこから入手したいのか?
更新情報をどこから入手するかを
cvsup に伝えるために
host= フィールドを使用します。
CVSup ミラーサイト
のどこからでも入手できますが、
ネット上での最寄りのサイトを選ぶべきでしょう。
- この例では、仮想上の FreeBSD 配布サイト
+ この例では、仮想上の &os; 配布サイト
cvsup99.FreeBSD.org
を使用します:
*default host=cvsup99.FreeBSD.org
CVSup を実行する前にホスト名を
実在のものに変更する必要があります。どのように
cvsup を実行しても、この設定は
を
使用してコマンドラインで変更することができます。
自分のマシンのどこに置きたいのか?
prefix= フィールドは、
cvsup
に受け取ったファイルをどこに置くかを伝えます。
この例では、ソースファイルを直接メインのソースツリー
/usr/src に置きます。
src
ディレクトリはすでにファイルを受け取るために
選択したコレクションで暗黙に指定しているので、
これは正しい仕様となります:
*default prefix=/usr
どこに status ファイルを置きたいのか?
CVSup クライアントは
base
ディレクトリと呼ばれる場所に、ある status
ファイルを維持しています。
すでに受け取った更新情報を追従し続けることで、
これらのファイルは CVSup
がより効果的に動作することを支援します。標準の base
ディレクトリ /var/db
を使用します:
*default base=/var/db
base
ディレクトリが存在しない場合は作成しておきましょう。base
ディレクトリが存在しない場合、cvsup
クライアントは実行を拒否します。
その他もろもろの supfile
の設定:
通常 supfile
に入れておくべき行がもう一つあります:
*default release=cvs delete use-rel-suffix compress
release=cvs は、サーバがメインの
- FreeBSD CVS リポジトリから
+ &os; CVS リポジトリから
その情報を取得するように指示します。
ほとんどの場合はこのようにしておきますが、
ここでの説明の範疇をこえるような
状況では他の指定をすることも可能です。
delete は
CVSup
にファイルを削除することを許可します。
CVSup が
ソースツリーを完全に最新の状態に
保てるようにするためには、これは常に
指定しておくべきでしょう。
CVSup は、
これらの責任範囲のファイルだけを慎重に削除します。
たまたま存在する他の余分なファイルについては、
まったく手をつけずに残しておきます。
use-rel-suffix
は、…神秘的なものです。これについて本当に知りたい人は、
&man.cvsup.1; のマニュアルページをご覧ください。
でなければ、何も考えずに指定してみてください。
compress は通信チャネルで gzip
形式の圧縮の使用を有効にします。
ご使用のネットワーク接続が T1 speed 以上である場合、
この圧縮を使用しない方がよいかもしれません。
そうでない場合は十分に役に立ちます。
supfile の例のまとめ:
以下は supfile の例の全体です:
*default tag=.
*default host=cvsup99.FreeBSD.org
*default prefix=/usr
*default base=/var/db
*default release=cvs delete use-rel-suffix compress
src-all
refuse ファイル
既に述べたように、CVSup
は取り寄せ法 (pull method)を用いるのですが、
これは基本的に次のようなことを意味します。
まずあなたが CVSup サーバに接続します。
するとサーバは
あなたがダウンロードできるのはこれこれです
と言います。
それに対し、あなたが使っているクライアントは
わかりました。
では、これとこれとこれをもらいます
と答えます。
デフォルトの設定の CVSup クライアントは、
設定ファイルで選んだコレクションとタグに適合する
すべてのファイルを取得します。
しかし、これは常にあなたの望む動作と一致するとは限りません。
特に doc や ports や
www のツリーを同期させる場合などはそうでしょう。
ほとんどの人は四か国語も五か国語も操れるわけではありませんから、
特定の言語のファイルのダウンロードは必要ないでしょう。
Ports Collection を CVSup
で取得する場合には、各コレクションを個別に指定することができます
(たとえば、単に ports-all とするかわりに
ports-astrology、
ports-biology などと書きます)。
一方、doc と www
のツリーは言語別のコレクションになっていません。
そこであなたは CVSup
のたくさんある洗練された機能の一つ、
refuse ファイルを使う必要があります。
refuse ファイルは
CVSup に対し、
コレクションに含まれる一部のファイルを取得することを伝えます。
言い換えれば、それはクライアントに対し、
サーバから来る一部のファイルを拒否するよう指定するということです。
refuse ファイルは
base/sup/
にあります (もしファイルがない場合には作成してください)。
base は supfile 内で定義されています。
私達は base に
/var/db を定義しています。つまり、
refuse ファイルのデフォルトは
/var/db/sup/refuse
ということになります。
refuse ファイルの書式は、単にダウンロードしたくないファイルや
ディレクトリの名前が書いてあるだけの非常にシンプルなものです。
たとえば、英語以外にはドイツ語を少し話せるだけの人で、
文書のドイツ語訳を読む必要を感じなければ
以下のような refuse ファイルが考えられます。
doc/bn_*
doc/da_*
doc/de_*
doc/el_*
doc/es_*
doc/fr_*
doc/hu_*
doc/it_*
doc/ja_*
doc/mn_*
doc/nl_*
doc/no_*
doc/pl_*
doc/pt_*
doc/ru_*
doc/sr_*
doc/tr_*
doc/zh_*
他の言語についても同様です (全リストは FreeBSD
+ URL="http://www.FreeBSD.org/cgi/cvsweb.cgi/">&os;
CVS リポジトリ をご覧になってください)。
この実に便利な機能を使うと
まったく必要としないファイルをダウンロードする必要がなくなり、
インターネット接続の回線が遅かったり従量制で課金されている人は
貴重な時間を節約できるようになります。
refuse ファイルの詳細や
CVSup が持つその他の便利な機能に関しては
マニュアルページを参照してください。
CVSup の実行
さて、更新の準備ができました。
これを実行するコマンドラインは実に簡単です:
&prompt.root; cvsup supfile
もちろん、ここでの
supfile
は作成したばかりの supfile のファイル名です。X11
環境で実行するものと仮定して、cvsup は
通常の操作に必要なボタンを持つ GUI ウィンドウを表示します。
go ボタンを押して、
実行を監視してください。
この例では実際の /usr/src
ツリーを更新しているので、cvsup
にファイルを更新するのに必要なパーミッションを与えるために、
ユーザ root で実行する必要があります。
コンフィグレーションファイルを作ったばかりで、
しかも以前にこのプログラムを実行したことがないので、
神経質になるのは無理もない話だと思います。
大切なファイルに触らずに試しに実行する簡単な方法があります。
どこか適当な場所に空のディレクトリを作成して、
コマンドラインの引数で指定するだけです:
&prompt.root; mkdir /var/tmp/dest
&prompt.root; cvsup supfile /var/tmp/dest
指定したディレクトリは、すべての更新されるファイルの
更新先ディレクトリとして使用します。
CVSup は
/usr/src の下のファイルを検査しますが、
変更や削除はまったくおこないません。かわりに
/var/tmp/dest/usr/src
に更新されたすべてのファイルが置かれるようになります。
この方法で実行した場合は、CVSup
は base ディレクトリの status
ファイルを更新せずにそのままにします。
これらのファイルの新しいバージョンは指定されたディレクトリ
に書き込まれます。/usr/src
の読み取り許可がある限り、このような試し実行のためにユーザ
root になる必要はありません。
X11 を利用していないとか単に GUI が気に入らない場合は、
cvsup 起動時にコマンドラインに
二つほどオプションを追加する必要があります:
&prompt.root; cvsup -g -L 2 supfile
オプションは CVSup
に GUI を使用しないように伝えます。X11
を利用していない場合には自動的に指定されますが、
そうでない場合は明示的に指定します。
オプションは cvsup
にファイル更新中の詳細情報をプリントアウト
するように伝えます。冗長性には から
までの三つのレベルがあります。
デフォルトは 0 であり、エラーメッセージ以外はまったく出力
しません。
たくさんの他のオプション変数があります。
それらの簡単な一覧は cvsup -H
で表示されます。
より詳しい説明はマニュアルページをご覧ください。
動作している更新の方法に満足したら、&man.cron.8;
を使って CVSup を定期的に
実行させる準備をすることができます。cron から起動する際には、
明示的に CVSup が GUI
を使わないようにする必要があります。
CVSup ファイルコレクション
CVSup
経由で入手できるファイルコレクションは
階層的に組織化されています。
いくつか大きなコレクションがあり、
それらは小さなサブコレクションに 分割されています。
大きなコレクションは、そのサブコレクション毎に
受信することと同じことになります。
下の一覧ではコレクション間の階層関係を
字下げして表現します。
最も一般的に使用するコレクションは
src-all、
ports-all です。
他のコレクションは特別な目的を持つ人達だけが使用しており、
ミラーサイトはそれらのすべてを
持っていないかもしれません。
cvs-all release=cvs
- メインの FreeBSD CVS リポジトリであり、
+ メインの &os; CVS リポジトリであり、
暗号のコードを含んでいます。
distrib release=cvs
- FreeBSD
+ &os;
の配布とミラーに関連するファイルです。
doc-all release=cvs
- FreeBSD
+ &os;
ハンドブックおよびその他のドキュメントのソースです。
- これには FreeBSD web サイトのファイルは含まれません。
+ これには &os; web サイトのファイルは含まれません。
ports-all release=cvs
- FreeBSD Ports Collection です。
+ &os; Ports Collection です。
ports-all (ports ツリー全体) を更新せずに、
以下のサブコレクションの一つを使う場合は、常に
ports-base サブコレクションを更新することを忘れないでください!
ports の構築システムに変更があると、
ports-base に反映されます。
そしてほとんどの場合、その変更は新しい ports
で実際に
使われるからです。
つまり、個々の ports
だけを更新していると、
奇妙なエラーで構築に失敗する可能性が非常に高くなるということです。
ports-base サブコレクションが
最新状態であるかどうかの確認は、
何よりも最初にやらなければならない
ことなのです。
ローカルで ports/INDEX
を作成するには、
ports-all (ports ツリー全体)
が必要です。
サブコレクションのみで ports/INDEX
を作成することはできません。
FAQ を参照してください。
ports-accessibility
release=cvs
障害を持ったユーザの役に立つソフトウェア
ports-arabic
release=cvs
アラビア語サポート
ports-archivers release=cvs
アーカイビングのツール。
ports-astro release=cvs
天文学関連の ports。
ports-audio release=cvs
サウンドサポート。
ports-base release=cvs
Ports Collection の構築システム部分。
/usr/ports のサブディレクトリ
Mk/、Tools/
にある、さまざまなファイルが含まれています。
上の注意文をご覧ください。
- FreeBSD Ports Collection の一部分を更新する時には、
+ &os; Ports Collection の一部分を更新する時には、
このサブコレクションも常に更新しなければなりません。
ports-benchmarks release=cvs
ベンチマークプログラム。
ports-biology release=cvs
植物学関連のプログラム。
ports-cad release=cvs
CAD ツール。
ports-chinese release=cvs
中国語サポート。
ports-comms release=cvs
通信ソフトウェア。
ports-converters release=cvs
文字コードコンバータ。
ports-databases release=cvs
データベース。
ports-deskutils release=cvs
コンピュータが発明される前に
卓上で使われていたものたち。
ports-devel release=cvs
開発ユーティリティ。
ports-dns release=cvs
DNS 関連のソフトウェア。
ports-editors release=cvs
エディタ。
ports-emulators release=cvs
他の OS のエミュレータ。
ports-finance
release=cvs
金融、財務関連のアプリケーション。
ports-ftp release=cvs
FTP クライアントとサーバ。
ports-games release=cvs
ゲーム。
ports-german release=cvs
ドイツ語サポート。
ports-graphics release=cvs
グラフィックユーティリティ。
ports-hebrew
release=cvs
ヘブライ語サポート
ports-hungarian
release=cvs
ハンガリー語のサポート。
ports-irc release=cvs
インターネットリレーチャット (IRC) 用のユーティリティ。
ports-japanese release=cvs
日本語サポート。
ports-java release=cvs
&java; ユーティリティ。
ports-korean release=cvs
韓国語サポート。
ports-lang release=cvs
プログラミング言語。
ports-mail release=cvs
メールソフトウェア。
ports-math release=cvs
数値計算ソフトウェア。
ports-mbone release=cvs
MBone アプリケーション。
ports-misc release=cvs
色々なユーティリティ。
ports-multimedia
release=cvs
マルチメディアソフトウェア。
ports-net release=cvs
ネットワーキングソフトウェア。
ports-net-im
release=cvs
インスタントメッセージングソフト。
ports-net-mgmt
release=cvs
ネットワーク管理ソフトウェア
ports-net-p2p
release=cvs
ピアツーピアネットワーク。
ports-news release=cvs
USENET ニュースのソフトウェア。
ports-palm release=cvs
Palm シリーズ用ソフトウェア。
ports-polish
release=cvs
ポーランド語のサポート。
ports-ports-mgmt
release=cvs
ports および packages 管理用のユーティリティ。
ports-portuguese
release=cvs
ポルトガル語のサポート。
ports-print release=cvs
印刷ソフトウェア。
ports-russian release=cvs
ロシア語サポート。
ports-science
release=cvs
科学
ports-security release=cvs
セキュリティユーティリティ。
ports-shells release=cvs
コマンドラインシェル。
ports-sysutils release=cvs
システムユーティリティ。
ports-textproc release=cvs
文書処理ユーティリティ
(デスクトップパブリッシングは含まない)。
ports-ukrainian
release=cvs
ウクライナ語サポート
ports-vietnamese release=cvs
ベトナム語サポート。
ports-www release=cvs
World Wide Web 関連のソフトウェア。
ports-x11 release=cvs
X window システムをサポートする ports。
ports-x11-clocks release=cvs
X11 上で動作する時計の数々。
ports-x11-drivers
release=cvs
X11 のドライバ。
ports-x11-fm release=cvs
X11 上で動作するファイラ。
ports-x11-fonts release=cvs
X11 のフォントとフォントユーティリティ。
ports-x11-toolkits release=cvs
X11 のツールキット。
ports-x11-servers
release=cvs
各種 X11 サーバ。
ports-x11-themes
release=cvs
X11 のテーマ
ports-x11-wm
release=cvs
X11 のウィンドウマネージャ。
projects-all release=cvs
- FreeBSD プロジェクトのリポジトリのソース。
+ &os; プロジェクトのリポジトリのソース。
src-all release=cvs
- メインの FreeBSD ソース群であり、
+ メインの &os; ソース群であり、
暗号のコードを含んでいます。
src-base release=cvs
/usr/src
のトップにあるその他のファイル。
src-bin release=cvs
シングルユーザモードで必要な
ユーザユーティリティ
(/usr/src/bin)。
src-cddl
release=cvs
CDDL ライセンスのユーティリティおよびライブラリ
(/usr/src/cddl)。
src-contrib release=cvs
- FreeBSD プロジェクト外部からの
+ &os; プロジェクト外部からの
ユーティリティおよびライブラリ、
比較的無修正
(/usr/src/contrib)。
src-crypto release=cvs
- FreeBSD プロジェクトの外部で開発された暗号ユーティリティとライブラリで、
+ &os; プロジェクトの外部で開発された暗号ユーティリティとライブラリで、
ほとんどそのままの形で使われます
(/usr/src/crypto)。
src-eBones release=cvs
Kerberos と DES
(/usr/src/eBones) のこと。
- 現在の FreeBSD リリースでは使われていません。
+ 現在の &os; リリースでは使われていません。
src-etc release=cvs
システムコンフィグレーションファイル
(/usr/src/etc)。
src-games release=cvs
ゲーム
(/usr/src/games)。
src-gnu release=cvs
GNU Public License
下にあるユーティリティ
(/usr/src/gnu)。
src-include release=cvs
ヘッダファイル
(/usr/src/include)。
src-kerberos5 release=cvs
Kerberos5 セキュリティパッケージ
(/usr/src/kerberos5)。
src-kerberosIV release=cvs
KerberosIV セキュリティパッケージ
(/usr/src/kerberosIV)。
src-lib release=cvs
ライブラリ
(/usr/src/lib)。
src-libexec release=cvs
システムプログラムであり、
通常は他のプログラムから実行される
(/usr/src/libexec)。
src-release release=cvs
- FreeBSD の release
+ &os; の release
を構築するために必要なファイル
(/usr/src/release)。
src-rescue
release=cvs
システム復旧のためのスタティックリンクされている緊急用プログラム。
&man.rescue.8; をご覧ください
(/usr/src/rescue)。
src-sbin release=cvs
シングルユーザモード用の
システムユーティリティ
(/usr/src/sbin)。
src-secure
release=cvs
暗号化ライブラリとコマンド
(/usr/src/secure)。
src-share release=cvs
多様なシステム間で共有可能なファイル
(/usr/src/share)。
src-sys release=cvs
カーネル
(/usr/src/sys)。
src-sys-crypto
release=cvs
カーネル用の暗号コード
(/usr/src/sys/crypto)。
src-tools release=cvs
- FreeBSD の保守用の色々なツール
+ &os; の保守用の色々なツール
(/usr/src/tools)。
src-usrbin release=cvs
ユーザユーティリティ
(/usr/src/usr.bin)。
src-usrsbin release=cvs
システムユーティリティ
(/usr/src/usr.sbin)。
www release=cvs
- FreeBSD WWW サイトのソースです。
+ &os; WWW サイトのソースです。
distrib release=self
CVSup
サーバ自身のコンフィグレーションファイルです。CVSup
ミラーサイトが使用します。
gnats release=current
GNATS バグトラッキングデータベースです。
mail-archive release=current
- FreeBSD 関連メーリングリストのアーカイブ。
+ &os; 関連メーリングリストのアーカイブ。
www release=current
- 前処理された FreeBSD www サイトのファイルです
+ 前処理された &os; WWW サイトのファイルです
(ソースではありません)。
WWW ミラーサイトが使用します。
詳細について
CVSup の FAQ や
CVSup に関するその他の情報については
The CVSup Home Page をご覧ください。
- CVSup のほとんどの FreeBSD
+ CVSup のほとんどの &os;
関連の議論は &a.hackers; でおこなわれています。
ソフトウェアの新しいバージョンは &a.announce; で
アナウンスされます。
CVSup に関する質問やバグ報告については
CVSup FAQ をご覧ください。
CVSup サイト
- FreeBSD の CVSup
+ &os; の CVSup
サーバは以下のサイトで稼働しています。
&chap.mirrors.cvsup.inc;
CVS タグ
cvs や CVSup
を使用してソースを入手したり同期させたりするとき、
リビジョンタグを指定しなければなりません。
- リビジョンタグは、特定の FreeBSD 開発ブランチか、
+ リビジョンタグは、特定の &os; 開発ブランチか、
もしくはある時刻に対応しています。前者を ブランチタグ
、
後者を リリースタグ
と呼びます。
ブランチタグ
ここにある HEAD (常に有効なタグ)
以外のすべてのタグは、src/ のみに有効です。
ports/、doc/、
www/ ツリーは、ブランチに分けられていません。
HEAD
- 主要部をなす流れ、すなわち FreeBSD-CURRENT
+ 主要部をなす流れ、すなわち &os;-CURRENT
のための名前です。また、
どのリビジョンも指定されなかったときにはこれになります。
CVSup では、
このタグは . で表されます
(句読点ではありません。.
文字そのものです)。
CVS
ではこれがリビジョンタグが指定されなかった時のデフォルトです。
STABLE な計算機上に CURRENT
のソースをチェクアウトしたりアップデートするのは、
思うところがあってやっているのというのでなければ、
よい考えとはいえません。
RELENG_8
- FreeBSD-8.X の開発のための流れです。
- FreeBSD 8-STABLE としても知られています。
+ &os;-8.X の開発のための流れです。
+ &os; 8-STABLE としても知られています。
RELENG_8_0
- FreeBSD-8.0 用のリリースブランチ。セキュリティ勧告や
+ &os;-8.0 用のリリースブランチ。セキュリティ勧告や
その他の深刻なセキュリティ上の修正があった場合にのみ使われます。
RELENG_7
- FreeBSD-7.X の開発のための流れです。
- FreeBSD 7-STABLE としても知られています。
+ &os;-7.X の開発のための流れです。
+ &os; 7-STABLE としても知られています。
RELENG_7_2
- FreeBSD-7.2 用のリリースブランチ。セキュリティ勧告や
+ &os;-7.2 用のリリースブランチ。セキュリティ勧告や
その他の深刻なセキュリティ上の修正があった場合にのみ使われます。
RELENG_7_1
- FreeBSD-7.1 用のリリースブランチ。セキュリティ勧告や
+ &os;-7.1 用のリリースブランチ。セキュリティ勧告や
その他の深刻なセキュリティ上の修正があった場合にのみ使われます。
RELENG_7_0
- FreeBSD-7.0 用のリリースブランチ。セキュリティ勧告や
+ &os;-7.0 用のリリースブランチ。セキュリティ勧告や
その他の深刻なセキュリティ上の修正があった場合にのみ使われます。
RELENG_6
- FreeBSD-6.X の開発のための流れです。
- FreeBSD 6-STABLE としても知られています。
+ &os;-6.X の開発のための流れです。
+ &os; 6-STABLE としても知られています。
RELENG_6_4
- FreeBSD-6.4 用のリリースブランチ。セキュリティ勧告や
+ &os;-6.4 用のリリースブランチ。セキュリティ勧告や
その他の深刻なセキュリティ上の修正があった場合にのみ使われます。
RELENG_6_3
- FreeBSD-6.3 用のリリースブランチ。セキュリティ勧告や
+ &os;-6.3 用のリリースブランチ。セキュリティ勧告や
その他の深刻なセキュリティ上の修正があった場合にのみ使われます。
RELENG_6_2
- FreeBSD-6.2 用のリリースブランチ。セキュリティ勧告や
+ &os;-6.2 用のリリースブランチ。セキュリティ勧告や
その他の深刻なセキュリティ上の修正があった場合にのみ使われます。
RELENG_6_1
- FreeBSD-6.1 用のリリースブランチ。セキュリティ勧告や
+ &os;-6.1 用のリリースブランチ。セキュリティ勧告や
その他の深刻なセキュリティ上の修正があった場合にのみ使われます。
RELENG_6_0
- FreeBSD-6.0 用のリリースブランチ。セキュリティ勧告や
+ &os;-6.0 用のリリースブランチ。セキュリティ勧告や
その他の深刻なセキュリティ上の修正があった場合にのみ使われます。
RELENG_5
- FreeBSD-5.X の開発のための流れです。
- FreeBSD 5-STABLE としても知られています。
+ &os;-5.X の開発のための流れです。
+ &os; 5-STABLE としても知られています。
RELENG_5_5
- FreeBSD-5.5 用のリリースブランチ。セキュリティ勧告や
+ &os;-5.5 用のリリースブランチ。セキュリティ勧告や
その他の深刻なセキュリティ上の修正があった場合にのみ使われます。
RELENG_5_4
- FreeBSD-5.4 用のリリースブランチ。セキュリティ勧告や
+ &os;-5.4 用のリリースブランチ。セキュリティ勧告や
その他の深刻なセキュリティ上の修正があった場合にのみ使われます。
RELENG_5_3
- FreeBSD-5.3 用のリリースブランチ。セキュリティ勧告や
+ &os;-5.3 用のリリースブランチ。セキュリティ勧告や
その他の深刻なセキュリティ上の修正があった場合にのみ使われます。
RELENG_5_2
- FreeBSD-5.2 および FreeBSD-5.2.1用のリリースブランチ。セキュリティ勧告や
+ &os;-5.2 および &os;-5.2.1 用のリリースブランチ。セキュリティ勧告や
その他の深刻なセキュリティ上の修正があった場合にのみ使われます。
RELENG_5_1
- FreeBSD-5.1 用のリリースブランチ。セキュリティ勧告や
+ &os;-5.1 用のリリースブランチ。セキュリティ勧告や
その他の深刻なセキュリティ上の修正があった場合にのみ使われます。
RELENG_5_0
- FreeBSD-5.0 用のリリースブランチ。セキュリティ勧告や
+ &os;-5.0 用のリリースブランチ。セキュリティ勧告や
その他の重要なセキュリティ上の修正があった場合にのみ使われます。
RELENG_4
- FreeBSD-4.X の開発のための流れです。
- FreeBSD 4-STABLE としても知られています。
+ &os;-4.X の開発のための流れです。
+ &os; 4-STABLE としても知られています。
RELENG_4_11
- FreeBSD-4.11 用のリリースブランチ。セキュリティ勧告や
+ &os;-4.11 用のリリースブランチ。セキュリティ勧告や
その他の重要なセキュリティ上の修正があった場合にのみ使われます。
RELENG_4_10
- FreeBSD-4.10 用のリリースブランチ。セキュリティ勧告や
+ &os;-4.10 用のリリースブランチ。セキュリティ勧告や
その他の重要なセキュリティ上の修正があった場合にのみ使われます。
RELENG_4_9
- FreeBSD-4.9 用のリリースブランチ。セキュリティ勧告や
+ &os;-4.9 用のリリースブランチ。セキュリティ勧告や
その他の重要なセキュリティ上の修正があった場合にのみ使われます。
RELENG_4_8
- FreeBSD-4.8 用のリリースブランチ。セキュリティ勧告や
+ &os;-4.8 用のリリースブランチ。セキュリティ勧告や
その他の重要なセキュリティ上の修正があった場合にのみ使われます。
RELENG_4_7
- FreeBSD-4.7 用のリリースブランチ。セキュリティ勧告や
+ &os;-4.7 用のリリースブランチ。セキュリティ勧告や
その他の重要なセキュリティ上の修正があった場合にのみ使われます。
RELENG_4_6
- FreeBSD-4.6 および FreeBSD-4.6.2 用のリリースブランチ。セキュリティ勧告や
+ &os;-4.6 および &os;-4.6.2 用のリリースブランチ。セキュリティ勧告や
その他の重要なセキュリティ上の修正があった場合にのみ使われます。
RELENG_4_5
- FreeBSD-4.5 用のリリースブランチ。セキュリティ勧告や
+ &os;-4.5 用のリリースブランチ。セキュリティ勧告や
その他の重要なセキュリティ上の修正があった場合にのみ使われます。
RELENG_4_4
- FreeBSD-4.4 用のリリースブランチ。セキュリティ勧告や
+ &os;-4.4 用のリリースブランチ。セキュリティ勧告や
その他の重要なセキュリティ上の修正があった場合にのみ使われます。
RELENG_4_3
- FreeBSD-4.3 用のリリースブランチ。セキュリティ勧告や
+ &os;-4.3 用のリリースブランチ。セキュリティ勧告や
その他の重要なセキュリティ上の修正があった場合にのみ使われます。
RELENG_3
- FreeBSD-3.X の開発のための流れです。
+ &os;-3.X の開発のための流れです。
3.X-STABLE としても知られています。
RELENG_2_2
- FreeBSD-2.2.X の開発のための流れです。2.2-STABLE
+ &os;-2.2.X の開発のための流れです。2.2-STABLE
としても知られています。このブランチは大部分が
すたれています。
リリースタグ
- これらのタグは、FreeBSD src/
+ これらのタグは、&os; src/
ツリー (および ports/、doc/、
- www/ ツリー) で、各バージョンの FreeBSD
+ www/ ツリー) で、各バージョンの &os;
がリリースされた時点に対応しています。
リリースエンジニアリング工程は、
Release Engineering
Information
と
Release
Process
に詳細にまとめられています。
src/ ツリーでは、
RELENG_ で始まる名前のタグが使われています。
ports/ ツリーおよび
doc/ ツリーでは、
RELEASE で始まる名前のタグが使われています。
なお、www/ ツリーは、
リリースに際して特別なタグが付与されることはありません。
RELENG_8_0_0_RELEASE
- FreeBSD 8.0
+ &os; 8.0
RELENG_7_2_0_RELEASE
- FreeBSD 7.2
+ &os; 7.2
RELENG_7_1_0_RELEASE
- FreeBSD 7.1
+ &os; 7.1
RELENG_7_0_0_RELEASE
- FreeBSD 7.0
+ &os; 7.0
RELENG_6_4_0_RELEASE
- FreeBSD 6.4
+ &os; 6.4
RELENG_6_3_0_RELEASE
- FreeBSD 6.3
+ &os; 6.3
RELENG_6_2_0_RELEASE
- FreeBSD 6.2
+ &os; 6.2
RELENG_6_1_0_RELEASE
- FreeBSD 6.1
+ &os; 6.1
RELENG_6_0_0_RELEASE
- FreeBSD 6.0
+ &os; 6.0
RELENG_5_5_0_RELEASE
- FreeBSD 5.5
+ &os; 5.5
RELENG_5_4_0_RELEASE
- FreeBSD 5.4
+ &os; 5.4
RELENG_4_11_0_RELEASE
- FreeBSD 4.11
+ &os; 4.11
RELENG_5_3_0_RELEASE
- FreeBSD 5.3
+ &os; 5.3
RELENG_4_10_0_RELEASE
- FreeBSD 4.10
+ &os; 4.10
RELENG_5_2_1_RELEASE
- FreeBSD 5.2.1
+ &os; 5.2.1
RELENG_5_2_0_RELEASE
- FreeBSD 5.2
+ &os; 5.2
RELENG_4_9_0_RELEASE
- FreeBSD 4.9
+ &os; 4.9
RELENG_5_1_0_RELEASE
- FreeBSD 5.1
+ &os; 5.1
RELENG_4_8_0_RELEASE
- FreeBSD 4.8
+ &os; 4.8
RELENG_5_0_0_RELEASE
- FreeBSD 5.0
+ &os; 5.0
RELENG_4_7_0_RELEASE
- FreeBSD 4.7
+ &os; 4.7
RELENG_4_6_2_RELEASE
- FreeBSD 4.6.2
+ &os; 4.6.2
RELENG_4_6_1_RELEASE
- FreeBSD 4.6.1
+ &os; 4.6.1
RELENG_4_6_0_RELEASE
- FreeBSD 4.6
+ &os; 4.6
RELENG_4_5_0_RELEASE
- FreeBSD 4.5
+ &os; 4.5
RELENG_4_4_0_RELEASE
- FreeBSD 4.4
+ &os; 4.4
RELENG_4_3_0_RELEASE
- FreeBSD 4.3
+ &os; 4.3
RELENG_4_2_0_RELEASE
- FreeBSD 4.2
+ &os; 4.2
RELENG_4_1_1_RELEASE
- FreeBSD 4.1.1
+ &os; 4.1.1
RELENG_4_1_0_RELEASE
- FreeBSD 4.1
+ &os; 4.1
RELENG_4_0_0_RELEASE
- FreeBSD 4.0
+ &os; 4.0
RELENG_3_5_0_RELEASE
- FreeBSD-3.5
+ &os;-3.5
RELENG_3_4_0_RELEASE
- FreeBSD-3.4
+ &os;-3.4
RELENG_3_3_0_RELEASE
- FreeBSD-3.3
+ &os;-3.3
RELENG_3_2_0_RELEASE
- FreeBSD-3.2
+ &os;-3.2
RELENG_3_1_0_RELEASE
- FreeBSD-3.1
+ &os;-3.1
RELENG_3_0_0_RELEASE
- FreeBSD-3.0
+ &os;-3.0
RELENG_2_2_8_RELEASE
- FreeBSD-2.2.8
+ &os;-2.2.8
RELENG_2_2_7_RELEASE
- FreeBSD-2.2.7
+ &os;-2.2.7
RELENG_2_2_6_RELEASE
- FreeBSD-2.2.6
+ &os;-2.2.6
RELENG_2_2_5_RELEASE
- FreeBSD-2.2.5
+ &os;-2.2.5
RELENG_2_2_2_RELEASE
- FreeBSD-2.2.2
+ &os;-2.2.2
RELENG_2_2_1_RELEASE
- FreeBSD-2.2.1
+ &os;-2.2.1
RELENG_2_2_0_RELEASE
- FreeBSD-2.2.0
+ &os;-2.2.0
AFS サイト
- FreeBSD の AFS サーバは以下のサイトで稼働しています:
+ &os; の AFS サーバは以下のサイトで稼働しています:
スウェーデン
ファイルは以下の場所にあります:
/afs/stacken.kth.se/ftp/pub/FreeBSD/
stacken.kth.se # Stacken Computer Club, KTH, Sweden
130.237.234.43 #hot.stacken.kth.se
130.237.237.230 #fishburger.stacken.kth.se
130.237.234.3 #milko.stacken.kth.se
(保守担当 ftp@stacken.kth.se)
rsync ミラーサイト
- 次のサイトは、FreeBSD を rsync プロトコルで提供しています。
+ 次のサイトは、&os; を rsync プロトコルで提供しています。
rsync ユーティリティは
&man.rcp.1; コマンドとほぼ同じ機能を実現するもので、
こちらの方が豊富なオプションを備え、送り側と受け側の差分だけを
転送するという rsync リモート更新プロトコルを使用するという点が異なります。
rsync を使うと、ネットワーク経由での同期を非常に高速に行なうことが可能です。
- 特に、FreeBSD FTP サーバや CVS リポジトリのミラーサイトを作成する時に便利でしょう。
+ 特に、&os; FTP サーバや CVS リポジトリのミラーサイトを作成する時に便利でしょう。
rsync は、多くのオペレーティングシステムで
- 利用することができます。FreeBSD 版は、
+ 利用することができます。&os; 版は、
net/rsync の
port か、package を使ってください。
チェコ共和国
rsync://ftp.cz.FreeBSD.org/
提供しているコレクション:
- ftp: FreeBSD FTP サーバの部分ミラー
- FreeBSD: FreeBSD FTP サーバの全体ミラー
+ ftp: &os; FTP サーバの部分ミラー
+ &os;: &os; FTP サーバの全体ミラー
オランダ
rsync://ftp.nl.FreeBSD.org/
提供しているコレクション:
- FreeBSD: FreeBSD FTP サーバの全体ミラー
+ &os;: &os; FTP サーバの全体ミラー
ロシア
rsync://ftp.mtu.ru/
提供しているコレクション:
- FreeBSD: FreeBSD FTP サーバの全体ミラー
- FreeBSD-gnats: GNATS バグトラッキングデータベース
+ &os;: &os; FTP サーバの全体ミラー
+ &os;-gnats: GNATS バグトラッキングデータベース
- FreeBSD-Archive: FreeBSD アーカイブ FTP サーバのミラー
+ &os;-Archive: &os; アーカイブ FTP サーバのミラー
台湾
rsync://ftp.tw.FreeBSD.org/
rsync://ftp2.tw.FreeBSD.org/
rsync://ftp6.tw.FreeBSD.org/
提供しているコレクション:
- FreeBSD: FreeBSD FTP サーバの全体ミラー
+ &os;: &os; FTP サーバの全体ミラー
イギリス
rsync://rsync.mirrorservice.org/
提供しているコレクション:
- sites/ftp.freebsd.org: FreeBSD FTP サーバの全体ミラー
+ sites/ftp.freebsd.org: &os; FTP サーバの全体ミラー
アメリカ合衆国
rsync://ftp-master.FreeBSD.org/
- このサーバは、FreeBSD の一次ミラーサイトとしてのみ使われています。
+ このサーバは、&os; の一次ミラーサイトとしてのみ使われています。
提供しているコレクション:
- FreeBSD: FreeBSD FTP サーバのマスタアーカイブ
- acl: The FreeBSD マスタ ACL リスト
+ &os;: &os; FTP サーバのマスタアーカイブ
+ acl: The &os; マスタ ACL リスト
rsync://ftp13.FreeBSD.org/
提供しているコレクション:
- FreeBSD: FreeBSD FTP サーバの全体ミラー
+ &os;: &os; FTP サーバの全体ミラー
diff --git a/ja_JP.eucJP/books/handbook/ports/chapter.sgml b/ja_JP.eucJP/books/handbook/ports/chapter.sgml
index c143567f31..14ac98750c 100644
--- a/ja_JP.eucJP/books/handbook/ports/chapter.sgml
+++ b/ja_JP.eucJP/books/handbook/ports/chapter.sgml
@@ -1,1644 +1,1642 @@
アプリケーションのインストール - packages と ports
この章では
ports
packages
FreeBSD の基本システムには数多くのシステムツールが含まれています。
しかしながら、サードパーティ製のアプリケーションをインストールしないと
実用的にはそれほどたくさんのことはできません。
FreeBSD は、サードパーティ製のソフトウェアの導入を支援するために、
ソースコードをコンパイルしてインストールする Ports Collection と
コンパイル済みのバイナリをインストールする packages
という相補的な 2 つの技術を提供しています。
どちらのシステムを用いても、お気に入りのアプリケーションの最新版を
ローカルメディアやネットワーク上からインストールできます。
この章を読むと、以下のことがわかります。
packages を用いてサードパーティ製のソフトウェアをバイナリからインストールする方法
Ports Collection を用いてサードパーティ製のソフトウェアをソースコードからコンパイルする方法
インストールした packages や ports を削除する方法
Ports Collection が用いるデフォルトの設定を変更する方法
お望みのソフトウェア package を探しだす方法
アプリケーションをアップグレードする方法
ソフトウェアのインストール
&unix; システムを使ったことのある人なら、
サードパーティ製ソフトウェアの典型的なインストール手順が
以下のようになることをご存知でしょう。
ソースコード、またはバイナリ形式で
配布されているソフトウェアをダウンロードする。
配布時のフォーマット (一般的には
&man.compress.1;, &man.gzip.1; または &man.bzip2.1;
で圧縮された tarball) からソフトウェアを取り出す。
ドキュメント (INSTALL または
README ファイル、あるいは
doc/ サブディレクト中のファイル) を探しだし、
ソフトウェアのインストール方法を調べる。
ソース形式でソフトウェアが配布されている場合はコンパイルを行う。
ここでは、Makefile の編集、
または、configure スクリプトの実行、
あるいは他の作業を伴うことがある。
ソフトウェアの動作を確認し、インストールする。
すべてがうまくいったならば、インストール作業は以上です。
もしインストールしているソフトウェアパッケージが、
FreeBSD を意識して移植されたものでなければ、
適切に動くようコードを調べ、編集する必要があるかもしれません。
あなたが望むのであれば、FreeBSD 上へのソフトウェアのインストールに
従来
の方法を使い続けることができます。
しかしながら、FreeBSD は
インストール時にかかるたくさんの労力を軽減する 2 つの技術、
すなわち packages と ports を提供しています。
この文書を書いている時点では、
&os.numports; を越えるサードパーティ製アプリケーションがこれらの方法で
利用可能となっています。
FreeBSD package では、いかなるアプリケーションに対しても
ダウンロードする必要のあるファイルはただ一つです。
package には、コンパイル済みのアプリケーションの全コマンド、
各種設定ファイルやドキュメントが含まれています。
FreeBSD に用意されている
&man.pkg.add.1;, &man.pkg.delete.1;, &man.pkg.info.1;
といった package 管理コマンドで、
ダウンロードした package ファイルを扱うことができます。
新しいアプリケーションをインストールするには、
たった一つのコマンドを実行するだけです。
FreeBSD port は、アプリケーションをソースコードからコンパイルする際の
処理を自動化するように設計されたファイルの集まりです。
プログラムをコンパイルする時のことを思い出して下さい。
通常、とてもたくさんの手順
(ダウンロード、展開、パッチ作業、コンパイル、インストール)
を踏まなくてはなりません。
port を構成するファイルは、
これらすべての作業をあなたの代わりに行うために必要な情報を含んでいます。
いくつかの簡単なコマンドを実行すると、
自動的にアプリケーションのソースコードがダウンロードされ、展開、
パッチ作業、コンパイル、そして、インストール作業が行われます。
さらに ports システムは、pkg_add
コマンドや他の package 管理コマンドで扱うことのできる
packages を生成できます。
これらのコマンドについては後の節で簡単に紹介します。
packages と ports は依存関係を理解します。
ある特定のライブラリに依存する
アプリケーションをインストールするとします。
また、アプリケーションとライブラリは FreeBSD ports や packages によって
入手可能であるとします。
アプリケーションを追加するために
pkg_add コマンドまたは ports システムを用いると、
インストールされていないライブラリが検出され、
先に依存するライブラリが自動的にインストールされます。
2 つの技術が非常に類似していて、
なぜ FreeBSD がわざわざ両者を採用しているのか不思議に思うでしょう。
packages と ports にはそれぞれ独自の特徴があり、
どちらを使うかはあなたの好みによります。
package の利点
一般的に、あるアプリケーションの package の tarball は、
ソースコードを含む tarball より小さなサイズとなります。
packages はコンパイル作業を必要としません。
このことは、Mozilla,
KDE,
または GNOME
といった大きなアプリケーションで重要となります。
特にシステムが遅い場合にはなおさら重要です。
packages を用いれば、
ソフトウェアのコンパイルに関する知識は必要ありません。
ports の利点
packages は、通常最も多くのシステムで実行できるように、
非常に保守的な設定で構築されています。
port からインストールすることで、
たとえば Pentium 4 や Athlon
プロセッサに特化したコードを生成するような
コンパイルオプションを指定できます。
アプリケーションのなかには、コンパイル時に
プログラムの機能を決めるようなオプションを設定するものがあります。
たとえば、Apache は多種多様な
ビルトインオプションを設定できます。
port から構築することで、デフォルトオプションではなく、
自分でオプションを設定することができます。
設定を区別するために、同じアプリケーションに対して
複数の packages が存在することがあります。
たとえば、Ghostscript は
X11 サーバーがインストールされているかどうかにより、
ghostscript package と
ghostscript-nox11 package
が選択可能となっています。
packages でもこのような方法が可能ですが、
アプリケーションのコンパイルオプションが
さらに用意されている場合は困難となります。
ライセンス条項で、
バイナリでの配布を禁止しているソフトウェアがあります。
それらはソースコードで配布されなくてはいけません。
バイナリ配布を信用していない人もいます。
ソースコードがあれば、少なくともソースコードを読んで
(理論的には) 潜在的な問題点を自分で見つけ出すことができます。
ローカルなパッチがある場合、
それを適用するためにソースコードが必要になります。
ソースコードを手元に置いておきたい人たちもいます。
彼らは、退屈したときに眺めたり、あちこち解析してみたり、
ソースコードを借用したり (もちろん、
ライセンスが許せばの話ですが) するのです。
ports の更新状況を把握するために、
&a.ports; や &a.ports-bugs; を購読するとよいでしょう。
アプリケーションをインストールする前に、
そのアプリケーションに関連したセキュリティ上の問題がないことを
で確認してください。
また、
インストールされているアプリケーションに既知の脆弱性がないことを自動的に調べる
ports-mgmt/portaudit
をインストールしてもよいでしょう。
このコマンドは、ビルド前の port についても調査します。
インストールされている packages を確認する場合には、
portaudit -F -a コマンドを使ってください。
この章では、packages と ports を用いた FreeBSD 上での
サードパーティ製ソフトウェアの
インストール方法や管理方法について説明します。
アプリケーションの探し方
どんなアプリケーションをインストールするにしても、
まずあなたが何を望んで、
またその名前がなんというのかを理解している必要があります。
FreeBSD 上で利用可能なアプリケーションのリストは常に増えています。
幸運にも、多くの方法で望むものを探すことができます。
FreeBSD ウェブサイトは、
利用可能なすべてのアプリケーションの最新の一覧を、検索できる形で
http://www.FreeBSD.org/ports/
において公開しています。
ports はカテゴリに分類されています。
アプリケーションは、(名前を知っているならば) 名前で検索でき、
あるカテゴリで利用可能な
アプリケーションをすべて表示させることもできます。
FreshPorts
Dan Langille は
で FreshPorts を公開しています。
FreshPorts は ports ツリー中のアプリケーションの変更を追跡します。
一つまたはそれ以上の ports を 監視
することができ、
変更があるとメールで更新情報を送ってくれます。
FreshMeat
ご希望のアプリケーションの名前がわからなければ、
FreshMeat ()
のようなサイトでアプリケーションを探して下さい。
その後、そのアプリケーションが ports で利用可能かどうかを
FreeBSD サイトで調べて下さい。
port の正確な名前を知っていて、
どのカテゴリに分類されているのかを知りたいだけなら、
&man.whereis.1; コマンドで調べることができます。
単に whereis file
と入力してください。file
の部分にはインストールしたいプログラム名を入れます。
システム上でプログラムが見つかったら、
そのプログラムのパスが次のように表示されます。
&prompt.root; whereis lsof
lsof: /usr/ports/sysutils/lsof
この表示は、lsof (システムユーティリティの一つ) が
/usr/ports/sysutils/lsof
というディレクトリにあることを示しています。
さらに、以下の例のように &man.echo.1; を使って
port が存在するかどうかを簡単に調べることもできます。
&prompt.root; echo /usr/ports/*/*lsof*
/usr/ports/sysutils/lsof
この方法では /usr/ports/distfiles
以下にダウンロードされたファイル名にもマッチします。
また、Ports Collection に備わっている検索機能を利用して
port を検索する方法もあります。
この検索機能を利用するには、カレントディレクトリが
/usr/ports である必要があります。
そのディレクトリに移動したら、
make search
name=プログラム名
と入力してください。
プログラム名の部分には検索したいプログラム名を入れます。
たとえば、lsof
を探したい場合には次のようにします。
&prompt.root; cd /usr/ports
&prompt.root; make search name=lsof
Port: lsof-4.56.4
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
Maint: obrien@FreeBSD.org
Index: sysutils
B-deps:
R-deps:
出力のうち特に注意して見なければならないのは
Path:
という行です。
この行は port がどこにあるかを示しています。
出力される他の情報は port
をインストールする際には必要となるものではありませんので、
ここでは触れないでおきます。
もっと詳しく検索するには、
make search key=string
と入力してください。
string
の部分には検索したいテキストを入れます。
port 名、コメント、説明文および依存情報が検索されます。
探しているプログラムの名前を知らない場合でも、
ある目的に関連した ports の検索に利用できます。
どちらの場合でも、
検索文字列中の大文字と小文字を区別せずに検索が行われるので、
LSOF
を検索した結果は、
lsof
と同じ検索結果になります。
Chern
Lee
寄稿:
packages システムの利用
FreeBSD には packages を管理するツールが複数あります。
sysinstall
からシステムに packages をインストールしたり削除できます。
また、インストールされた packages や利用可能な packages の一覧を表示できます。
詳細については、インストール後の作業
を参照してください。
この章では、コマンドラインの
package 管理ツールについて説明します。
package のインストール
packages
インストール
pkg_add
&man.pkg.add.1; は、ローカルファイルやネットワーク上のサーバから
FreeBSD ソフトウェア package を
インストールするためのユーティリティです。
手動で package をダウンロードしてローカルからインストールする
&prompt.root; ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230- This machine is in Vienna, VA, USA, hosted by Verio.
230- Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp> get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375 00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
ftp> exit
&prompt.root; pkg_add lsof-4.56.4.tgz
(FreeBSD CD-ROM セットのような)
ローカルな packages がない場合は、
&man.pkg.add.1; に オプションをつける方が楽でしょう。
このユーティリティは、このオプションを指定して実行すると
自動的に適切なオブジェクトの形式とリリースを判断し、
package を FTP サイトからダウンロードしてインストールします。
pkg_add
&prompt.root; pkg_add -r lsof
上の例では適当な package がダウンロードされた後、インストールされます。
ユーザはこのほかに何もする必要はありません。
メインの配布サイトではなく
&os; Package ミラーサイトの package を使うには、
PACKAGESITE
環境変数に利用したいサイトを設定してください。
&man.pkg.add.1; は、FTP_PASSIVE_MODE,
FTP_PROXY, FTP_PASSWORD
といった環境変数を参照する &man.fetch.3;
を用いてファイルをダウンロードします。
ファイアウォールの内側であったり、
FTP/HTTP プロキシを使う場合には、
これらの環境変数を設定することになります。
環境変数の一覧については &man.fetch.3; をご覧ください。
また、上の例で lsof-4.56.4 の代わりに
lsof を使っていることに注意してください。
リモートフェッチ機能を使用する場合には、
package のバージョン番号を取り除かなければなりません。
&man.pkg.add.1; は自動的に最新版のアプリケーションを取得します。
&os.current; または、&os.stable; を使用している場合、
&man.pkg.add.1; は最新版のアプリケーションをダウンロードします。
-RELEASE を使用している場合には、
そのバージョンのリリース時にビルドされた package がダウンロードされます。
この設定は PACKAGESITE を上書きすることで変更できます。
たとえば、&os; 5.4-RELEASE を使用している場合には、
&man.pkg.add.1; を実行するとデフォルトで
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/
から packages をダウンロードします。
もし、&man.pkg.add.1; を使って
&os; 5-STABLE の packages をダウンロードしたければ、
PACKAGESITE 環境変数を
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-stable/Latest/
に設定してください。
package は .tgz や .tbz
という拡張子を持つファイルとして配布されており、
や FreeBSD CD-ROM にあります。
FreeBSD 4-CD セット (または PowerPak など) の CD はすべて、
/packages ディレクトリに packages が
あります。packages のレイアウトは、
/usr/ports ツリーのものと同様です。
カテゴリごとにディレクトリがあり、
All ディレクトリにはすべての package
があります。
package システムのディレクトリ構造は ports のレイアウトと同一です。
両者が組み合わさって package/port システムが構成されます。
packages の管理
packages
管理
&man.pkg.info.1; は、インストールされている
packages の一覧と説明を表示するユーティリティです。
pkg_info
&prompt.root; pkg_info
cvsup-16.1 A general network file distribution system optimized for CV
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...
&man.pkg.version.1; は、インストールされている
packages のバージョンを要約して表示するユーティリティです。
package のバージョンを、現在の ports ツリーのバージョンと
比較します。
pkg_version
&prompt.root; pkg_version
cvsup =
docbook =
...
2 列目の記号は、インストールされているバージョンの
ローカル ports ツリーのバージョンに対する
新旧を表します。
記号
意味
= インストールされている
package のバージョンは、
ローカル ports ツリーのものと一致しています。
<
インストールされているバージョンは、
ローカル ports ツリーのものより古いです。
>インストールされているバージョンは、
ローカル ports ツリーのものより新しいです
(おそらくローカル ports ツリーは古くなっています)。
?インストールされた package を
ports インデックスの中に見つけることができません
(インストールされた port が Ports Collection から削除されたり、
名前が変更された場合などに起こります)。
*複数のバージョンの
package が存在します。
!インストールされた package
はインデックス中に存在しますが、何らかの理由で、
インストールされた package
のバージョン番号をインデックス中のエントリと比較できません。
package の削除
pkg_delete
packages
削除
インストールされている package を削除するには、
&man.pkg.delete.1; ユーティリティを使ってください。
&prompt.root; pkg_delete xchat-1.7.1
&man.pkg.delete.1; は package 名とバージョン番号の両方を必要とします。
すなわち、先ほどの例において
xchat-1.7.1 を
xchat とした場合には動作しません。
インストールされている package のバージョンは、
&man.pkg.version.1; を使うと簡単に調べることができます。
バージョン番号のかわりにワイルドカードも使えます。
&prompt.root; pkg_delete xchat\*
上の例では、名前が xchat で始まるすべての packages が削除されます。
その他
package に関するすべての情報は
/var/db/pkg ディレクトリ以下に置かれています。
このディレクトリの下にあるファイルの中に、
インストールされたファイルの一覧やインストールされた各 package
についての説明が含まれています。
Ports Collection の利用
このセクションでは、Ports Collection
を利用してシステムにプログラムをインストールしたり、
システムから削除したりする基本的な手順について説明します。
利用可能な make のターゲットや環境変数についての詳細は
&man.ports.7; をご覧ください。
Ports Collection の準備
ports をインストールするためには、まず Ports Collection
を用意しなくてはなりません。
Ports Collection とは、/usr/ports
以下に置かれる Makefile, 修正パッチ、
説明文などの一連のファイルのことです。
FreeBSD のシステムインストール時に、
sysinstall
が Ports Collection をインストールするかどうかを尋ねてきたはずです。
No を選んだ場合、以下の作業をおこない
Ports Collection をインストールしてください。
CVSup を利用する方法
ここでは、CVSup プロトコルを利用して
Ports Collection をインストールする方法や最新の状態に保つ方法を簡単に説明します。
CVSup についてもっと知りたいのであれば、
CVSup を使う をご覧ください。
csup は、
&os; システムにおける CVSup プロトコルの実装です。
&os; 6.2 から導入されました。
古い &os; release のユーザは、
net/csup port/package
からインストールしてください。
はじめて csup を使う際には、
/usr/ports
が空であることを確認してください!
他の方法により Ports Collection がすでに用意されていると、
csup は削除されたパッチを
Ports Collection から取り除かないでしょう。
csup を実行してください。
&prompt.root; csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile
cvsup.FreeBSD.org を最寄りの
CVSup サーバに変更してください。
ミラーサイトの完全なリストは CVSup サイト () にあります。
自分用の ports-supfile を使って、
コマンドラインから CVSup
サーバを指定することを省略したいと思う方もいるでしょう。
そのような場合には、
まず root ユーザ権限で、
/usr/share/examples/cvsup/ports-supfile
を /root
や、あなたのホームディレクトリなどへコピーしてください。
次に ports-supfile を編集します。
CHANGE_THIS.FreeBSD.org を最寄りの
CVSup サーバに変更してください。
ミラーサイトの完全なリストは CVSup サイト () にあります。
その後、以下のように
csup を実行してください。
&prompt.root; csup -L 2 /root/ports-supfile
&man.csup.1; コマンドを時間をおいて実行すると、
最新の変更点がダウンロードされて、あなたの手元の
Ports Collection に加えられます。
Ports Collection 全体が再度ダウンロードされることはありません。
Portsnap を利用する方法
Portsnap は Ports Collection
を配布するための新しいシステムです。
Portsnap の機能についての詳細は
Portsnap を使う
を参照してください。
圧縮された Ports Collection のスナップショットを
/var/db/portsnap
にダウンロードしてください。
この作業が終われば、ネットワークへの接続を終了してもかまいません。
&prompt.root; portsnap fetch
初めて Portsnap を使う時は、
スナップショットをまず /usr/ports に展開してください。
&prompt.root; portsnap extract
すでに /usr/ports が用意されていて、
アップデートだけを行ないたいのであれば、
代わりに以下のコマンドを実行してください。
&prompt.root; portsnap update
sysinstall を利用する方法
ここでは、sysinstall
を利用してインストールメディアから Ports Collection
をインストールする方法について説明します。
この方法では、リリース時の古い Ports Collection
がインストールされることに注意してください。
もし、インターネットへの接続が可能であれば、
これまでに説明した方法を使ってください。
root ユーザ権限で、以下のように
- sysinstall
- (5.2 より前の &os; では /stand/sysinstall)
- を実行してください。
+ sysinstall を実行してください。
&prompt.root; sysinstall
スクロールダウンして Configure を選び、
Enter を押してください。
スクロールダウンして Distributions を選び、
Enter を押してください。
スクロールダウンして ports を選び、
Space キーを押してください。
Exit までスクロールアップして、
Enter を押してください。
CDROM や FTP といったインストールメディアを選択してください。
Exit までスクロールアップして、Enter
を押してください。
X を押して、
sysinstall を終了してください。
ports のインストール
ports
インストール
一番最初に知らなければならないのは、
Ports Collection は スケルトン
と呼ばれるもので構成されているという事実です。
port スケルトンは簡単に言うと、アプリケーションを FreeBSD
上で正しくコンパイルしインストールする方法を提供する最小限のファイルのセットのことです。
それぞれの port スケルトンには、次のファイルが含まれています。
Makefile。
Makefile
にはアプリケーションのコンパイル方法やシステムのどこにインストールするかを指定する、
さまざまな命令文が含まれています。
distinfo ファイル。
このファイルには、その port
を構築するためにダウンロードする必要があるファイルのファイル名と、
それらのファイルがダウンロードによって壊れていないかを
(&man.md5.1; や &man.sha256.1; を使って)
確認するためのチェックサム情報が含まれています。
files ディレクトリ。
このディレクトリには FreeBSD
システム上でプログラムをコンパイルし、
インストールするための修正パッチが含まれています。
修正パッチ (patch) とは基本的に、
個々のファイルに対する変更点を表した小さなファイル群のことです。
ファイルはプレインテキスト形式で、
10 行目を削除
や
26 行目を ... に変更
などと書かれています。
修正パッチは、diff (差分)
とも呼ばれます。
これは、修正パッチが &man.diff.1;
プログラムで作成されるからです。
このディレクトリには、その port の構築に必要な
その他のファイルが入る場合もあります。
pkg-descr ファイル。
これにはプログラムの、複数行にわたる詳しい説明文が含まれます。
pkg-plist ファイル。
これは、その port によってインストールされる全ファイルのリストです。
これにはプログラムを削除する際に、
どのファイルを削除すれば良いのかを ports
システムに伝える役割もあります。
これらの他に pkg-message
といったファイルを含む ports もあります。
ports システムは、
このようなファイルを用いて特殊な状況にも対応しています。
これらのファイルについての詳細および
ports の一般的な説明については、port 作成者のためのハンドブック
をご覧下さい。
port はソースコードからアプリケーションを構築する方法を
提供しますが、実際のソースコードは含んでいません。
ソースコードは CD-ROM やインターネットから入手できます。
ソースコードはソフトウェア作者のお気に入りの形式で配布されます。
たいてい、tar と gzip で作成された圧縮アーカイブとして配布されますが、
他のツールで圧縮されていたり、圧縮されずに配布されることもあります。
どのような形式で配布されているかに関わらず、
これらのプログラムのソースコードは distfile
と呼ばれています。
以下では &os; port をインストールする 2 つの方法について説明します。
ports をインストールするには、
root としてログインする必要があります。
port をインストールする前に、
Ports Collection が最新であることを確認してください。
また、そのアプリケーションに関連したセキュリティ上の問題がないことを
で確認してください。
アプリケーションをインストールする前に、
portaudit を使って
セキュリティに関する脆弱性を自動的に調べることができます。
このツールは Ports Collection (ports-mgmt/portaudit) に用意されています。
新しく port をインストールする前に、
portaudit -F コマンドを実行すると、
最新の脆弱性に関するデータベースがダウンロードされます。
セキュリティの検査およびデータベースの更新は、
日々のセキュリティチェックで行なわれます。
詳しくは、&man.portaudit.1; および &man.periodic.8;
のマニュアルページを参照してください。
Ports Collection は、ネットワークに接続できることを想定しています。
もし接続できなければ、distfile のコピーを
/usr/ports/distfiles
に手動で置いてください。
まず、インストールしたい port のディレクトリに移動してください。
&prompt.root; cd /usr/ports/sysutils/lsof
lsof ディレクトリに移動すると、
port スケルトンがあるのが確認できると思います。
次に行なうのは、port のコンパイルまたは
ビルド (build)
です。
これは、プロンプトから単に
make と入力するだけで行なえます。
そうすると、次のような出力が現われるはずです。
&prompt.root; make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===> Extracting for lsof-4.57
...
[extraction output snipped]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[configure output snipped]
...
===> Building for lsof-4.57
...
[compilation output snipped]
...
&prompt.root;
コンパイルが終了してプロンプトに戻ることを確認してください。
次に port のインストールを行ないます。
port をインストールするのに必要なのは、
make コマンドに一つの単語、
install を指定することだけです。
&prompt.root; make install
===> Installing for lsof-4.57
...
[installation output snipped]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;
プロンプトに戻ったら、
インストールしたプログラムは実行できるようになっています。
lsof は高い権限で動作するプログラムなので、
セキュリティに関する警告が表示されます。
ports のコンパイルや
インストール中に表示されるこれらの警告に注意してください。
コンパイル時に作成される作業用ディレクトリを削除すると良いでしょう。
このディレクトリにはコンパイル時に使用されるすべての一時ファイルが含まれています。
このディレクトリを残しておくと、ディスク容量を消費するだけでなく、
port を新しいバージョンへアップデートする際に問題を引き起こす可能性があります。
&prompt.root; make clean
===> Cleaning for lsof-4.57
&prompt.root;
make、make install
および make clean
と三つに分けられた手順の代わりに、
最初から make install clean と実行することで、
余分な手順を二つ省くことができます。
シェルによってはコマンドの実行ファイルを探す時間を短縮するために、
環境変数 PATH に登録されている
ディレクトリのコマンド一覧をキャッシュするものがあります。
このようなシェルを使っているのであれば、
port をインストールしたあとで、
新しくインストールされたコマンドを用いる前に、
rehash コマンドを実行する必要があります。
このコマンドは tcsh などのシェルで動作します。
sh のようなシェルを使っているのであれば
hash -r を実行してください。
詳細については、
あなたの使っているシェルのドキュメントをご覧ください。
FreeBSD
Mall の FreeBSD Toolkit のようなサードパーティ製の DVD-ROM
製品の中には distfiles を収録しているものがあります。
これらを Ports Collection で使うことができます。
DVD-ROM を /cdrom にマウントしてください。
ほかのマウントポイントを使用したければ、
CD_MOUNTPTS 変数を設定してください。
ディスク上に必要な distfiles が存在すると、
自動的に利用されます。
port には CD-ROM
への収録を許可しないライセンス条項を持つものがあることに
注意してください。
これにはダウンロード前に登録を必要としたり、
再配布が禁止されているなどという理由があります。
CD-ROM に含まれていない port をインストールしたい場合には、
ネットワークに接続する必要があります。
ports は、FTP_PASSIVE_MODE,
FTP_PROXY, FTP_PASSWORD
といった環境変数を参照する &man.fetch.1;
を用いてファイルをダウンロードします。
ファイアウォールの内側であったり、
FTP/HTTP プロキシを使う場合には、
これらの環境変数を設定することなります。
環境変数の一覧については &man.fetch.3; をご覧ください。
ネットワークに常時接続できないユーザのために
make fetch
コマンドが用意されています。
(ネットワークに接続している時に) このコマンドを
ports のトップディレクトリ
(/usr/ports) で実行してください。
必要なファイルがダウンロードされます。
このコマンドは /usr/ports/net
といった、より下の階層のカテゴリにおいても使うことができます。
ある port がライブラリやその他の ports に依存している場合には、
それらの distfiles
はダウンロードされないことに注意してください。
port が依存しているものもダウンロードしたければ
fetch の代わりに
fetch-recursive を使って下さい。
前述した make fetch
と同じように、トップディレクトリで make
を実行するとすべての port がビルドされます。
しかしながら ports の中には同時に存在できないものがあったり、
異なる ports の別のファイルが同じ名前で
インストールされる場合があることに注意してください。
めったにないことかもしれませんが、
MASTER_SITES (ファイルをダウンロードしてくる場所)
に書かれているサイト以外から tarball
を持ってくることが必要になる場合があります。
そのような場合には以下のように
MASTER_SITES を変更してください。
&prompt.root; cd /usr/ports/directory
&prompt.root; make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
上の例では MASTER_SITES を
ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/
に変更しています。
ports の中にはビルドオプションを指定できる
(または要求してくる) ものがあります。
このオプションを指定することで、
アプリケーションの機能の一部を有効もしくは無効にできます。
また、セキュリティオプションを設定したり、
その他のカスタマイズを行うことができます。
このようなアプリケーションには
www/mozilla,
security/gpgme や
mail/sylpheed-claws
などがあります。
利用可能なオプションがある場合にはメッセージが表示されます。
ports ディレクトリの変更
作業ディレクトリやターゲットディレクトリを
デフォルトのものから変更したほうが有用な場合
(もしくは変更しなければならない場合) があります。
WRKDIRPREFIX 変数と
PREFIX 変数を変更することで、
違うディレクトリを使用することができます。
たとえば、
&prompt.root; make WRKDIRPREFIX=/usr/home/example/ports install
とすると、ports は /usr/home/example/ports
でコンパイルされ、すべて /usr/local
以下にインストールされます。
&prompt.root; make PREFIX=/usr/home/example/local install
この場合、コンパイルは /usr/ports
でおこない、
/usr/home/example/local
にインストールします。
もちろん、
&prompt.root; make WRKDIRPREFIX=../ports PREFIX=../local install
とすれば両者を組み合わせることが可能です
(省略せずに記述したらこのページに収めるには長すぎるのですが、
考え方は理解していただけたと思います)。
あるいは、これらを環境変数に設定する方法もあります。
どのようにすれば良いかについては、
あなたの使っているシェルのマニュアルページを参照してください。
imake の使用
(X Window System に含まれる) imake を使用する
ports の場合は PREFIX が機能せず、
/usr/X11R6 にインストールしようとします。
また、Perl 関連の ports も同様に PREFIX を無視して
Perl ツリーにインストールします。
これらの ports で PREFIX
がきちんと参照されるように変更するのは、ほとんど不可能です。
ports の再構築
ports をコンパイルする際、ビルドオプションを設定するために
ncurses ベースのメニューが表示されることがあります。
port の構築後、再びこのメニューを表示させてオプションの追加や削除、設定の変更を行いたいと思うことがあるでしょう。
このための方法はたくさんあります。
一つ目の方法は port のディレクトリに移動し、
make config と入力する方法です。
現在の設定を反映させたメニューが再び表示されます。
別の方法は make showconfig
を使う方法です。
port の設定可能なオプションがすべて表示されます。
他の方法は make rmconfig
の実行です。
このコマンドを実行すると選択されているすべてのオプションが削除され、
設定をもう一度やり直すことができます。
これらの方法や他の方法についての詳細は、
&man.ports.7; マニュアルで説明されています。
インストールした ports の削除
ports
削除
ports のインストール方法について知ればおそらく、
インストールした後になって間違っていたことに気付いた時などに備えて、
それらを削除するにはどうすれば良いのか疑問に感じることでしょう。
さて、前の例 (例のまま何も変更していない人は
lsof)
を削除してみましょう。
packages を削除する時とまったく同じく (packages の章 で説明したように)
&man.pkg.delete.1; コマンドで ports を削除できます。
&prompt.root; pkg_delete lsof-4.57
ports のアップグレード
ports
アップグレード
まず最初に &man.pkg.version.1; コマンドを使って、
古くなってしまった ports
の中で新しいバージョンにアップデート可能なものを
Ports Collection からリストアップしてください。
&prompt.root; pkg_version -v
/usr/ports/UPDATING
Ports Collection を更新したら、port をアップグレードする前に
/usr/ports/UPDATING
ファイルに目を通してください。
このファイルには
port をアップグレードする際にユーザが遭遇するであろう問題や、
追加で必要な作業などが記述されています。
例えば、ファイル形式の変更や設定ファイルの場所の変更、
前のバージョンと互換性がなくなったことなどが書かれています。
もし、この節に書いてあることと
UPDATING に書かれていることが矛盾している場合には、
UPDATING を優先してください。
portupgrade を用いた ports のアップグレード
portupgrade
portupgrade は、
インストールした ports
のアップグレードを簡単に行なうためのユーティリティです。
ports-mgmt/portupgrade
port から利用できます。
他の port と同じように make install
clean コマンドでインストールしてください。
&prompt.root; cd /usr/ports/ports-mgmt/portupgrade
&prompt.root; make install clean
pkgdb -F コマンドを使って、
インストールされている ports を調べてください。
矛盾が検出された場合には修復してください。
アプリケーションをアップデートする前には、
この作業を定期的に行なうとよいでしょう。
portupgrade -a を実行すると、
portupgrade
はシステムにインストールされている port
の中で古くなったものをすべてアップデートします。
もし、すべての ports
に対して個別にアップグレードするかどうかを確認したいのであれば、
オプションを使ってください。
&prompt.root; portupgrade -ai
ports で利用可能なすべてのアプリケーションではなく、
ある特定のアプリケーションだけを更新したいのであれば、
portupgrade pkgname
を実行してください。
アップグレードするアプリケーションが依存しているすべての
ports をまず先に更新したい場合には、
オプションを使ってください。
&prompt.root; portupgrade -R firefox
ports ではなく packages を用いてインストールを行ないたい場合には、
オプションを使ってください。
このオプションを使うと、portupgrade は
PKG_PATH に登録されているローカルディレクトリを検索します。
ローカルに packages が見つからなければ、
リモートサイトからダウンロードを試みます。
packages をローカルに見つけることができず、
リモートサイトからもダウンロードできない場合には、
portupgrade
は ports からインストールを行ないます。
ports を使用したくなければ、
オプションを指定してください。
&prompt.root; portupgrade -PP gnome2
また、ビルドやインストールを行なわず、
distfiles ( が指定されている場合は packages)
だけをダウンロードしたければ、
オプションを指定してください。
詳細は &man.portupgrade.1; を参照してください。
Portmanager を用いた ports のアップグレード
portmanager
インストールした ports
のアップグレードを簡単に行なうためのもうひとつのユーティリティが
Portmanager です。
ports-mgmt/portmanager port
から利用できます。
&prompt.root; cd /usr/ports/ports-mgmt/portmanager
&prompt.root; make install clean
インストールされているすべての ports
を次のような簡単なコマンドでアップグレードできます。
&prompt.root; portmanager -u
Portmanager
の作業を確認しながら行いたい場合には、
オプションを使ってください。
Portmanager を使って、
システムに新しい ports をインストールすることもできます。
通常の make install clean コマンドと異なり、
選択した port をビルドしインストールする前に、
依存している port をすべてアップグレードします。
&prompt.root; portmanager x11/gnome2
選択した port の依存関係について問題が発生した場合には、
Portmanager
を使って修復することができます。
修正が終ったら、問題を含んでいた port は再構築されます。
&prompt.root; portmanager graphics/gimp -f
詳細については &man.portmanager.1; を参照してください。
Portmaster を用いた ports のアップグレード
portmaster
インストールした ports
のアップグレードを行うためのもう一つのユーティリティが
Portmaster です。
Portmaster は、
どの ports をアップグレードすべきかの判断を、
(他の ports に依存せずに) base
システムのツールと
/var/db/pkg/
の情報から行うよう設計されています。
ports-mgmt/portmaster
から利用できます。
&prompt.root; cd /usr/ports/ports-mgmt/portmaster
&prompt.root; make install clean
Portmaster は、ports を 4 つのカテゴリに分類します。
Root ports (他の port に依存しません。他の port からも依存されません。)
Trunk ports (他の port に依存しませんが、他の port から依存されます。)
Branch ports (他の port に依存し、他の port からも依存されます。)
Leaf ports (他の port に依存しますが、他の port からは依存されません。)
オプションを使うと、
インストールした ports やアップデート可能な port の一覧が表示されます。
&prompt.root; portmaster -L
===>>> Root ports (No dependencies, not depended on)
===>>> ispell-3.2.06_18
===>>> screen-4.0.3
===>>> New version available: screen-4.0.3_1
===>>> tcpflow-0.21_1
===>>> 7 root ports
...
===>>> Branch ports (Have dependencies, are depended on)
===>>> apache-2.2.3
===>>> New version available: apache-2.2.8
...
===>>> Leaf ports (Have dependencies, not depended on)
===>>> automake-1.9.6_2
===>>> bash-3.1.17
===>>> New version available: bash-3.2.33
...
===>>> 32 leaf ports
===>>> 137 total installed ports
===>>> 83 have new versions available
以下のコマンドを使って、インストールされているすべての ports を簡単にアップデートできます。
&prompt.root; portmaster -a
Portmaster のデフォルトの設定では、
インストールされている port を削除する前にバックアップ用の package が作成されます。
このバックアップは、新しいバージョンのインストールに成功すると削除されます。
オプションを使うと、
Portmaster はバックアップを自動的に削除しません。
オプションを追加すると、
Portmaster をインタラクティブモードで使用できます。
このモードでは、各 port をアップグレードするかどうかの選択を対話的に行うことがでます。
アップグレードの過程でエラーに遭遇した場合には、
オプションを使ってすべての ports のアップグレードや再構築をできます。
&prompt.root; portmaster -af
Portmaster を使ってシステムに新しい ports
をインストールしたり、新しい port のコンパイルやインストール前に依存するすべての port をアップグレードできます。
&prompt.root; portmaster shells/bash
詳細については &man.portmaster.8; を参照してください。
ports とディスク容量
ports
ディスク容量
Ports Collection を使い続けていると、
そのうちディスクを食いつぶしてしまうでしょう。
ports からソフトウェアをビルドしてインストールした後には、
常に作業用の work
ディレクトリを make clean
コマンドで削除するようにしましょう。
以下のコマンドで Ports Collection を掃除することができます。
&prompt.root; portsclean -C
distfiles
ディレクトリには、たくさんのソースファイルがたまっていきます。
手動でそれらのファイルを削除してもよいのですが、
どの ports からも使われていない
distfiles を次のコマンドで削除できます。
&prompt.root; portsclean -D
また、システムにインストールされている port から使われていない
distfiles をすべて削除するには、以下のコマンドを使ってください。
&prompt.root; portsclean -DD
portsclean ユーティリティは
portupgrade ツール群の一部です。
インストールした ports のうちで、
必要なくなったものは削除してください。
ports-mgmt/pkg_cutleaves port は、
この作業を自動化するツールです。
インストール後の作業
新しいアプリケーションのインストールが終わったら、
次に付属のドキュメントを読みたいと思うでしょう。
また、必要な設定ファイルを編集したり、
(デーモンの場合には) システムの起動時にプログラムが開始することを確認したくなるでしょう。
port のインストール後に追加で行わなければならない作業の詳細は、
アプリケーションごとに異なります。
しかしながら、新しいアプリケーションをインストールしたばかりで、
次は何 ?
と思っているのであれば、
以下の tips は役に立つでしょう。
どのようなファイルがどこにインストールされているのかを知りたければ、
&man.pkg.info.1; を使ってください。
たとえば、FooPackage の 1.0.0 バージョンをインストールしたのであれば、
以下を実行してください。
&prompt.root; pkg_info -L foopackage-1.0.0 | less
上のコマンドを実行すると package
としてインストールされているすべてのファイルが表示されます。
特に、man/, etc/,
doc/ ディレクトリのファイルに注目してください。
それぞれ、マニュアルページ、
設定ファイル、より包括的なドキュメントが設置されています。
もし、アプリケーションのバージョンがわからなければ、
次のコマンドを実行してください。
&prompt.root; pkg_info | grep -i foopackage
インストールされた packages の中から、名前に
foopackage を含む package が表示されます。
必要に応じてコマンドラインの foopackage
を置き換えてください。
アプリケーションのマニュアルページがインストールされているのであれば、
&man.man.1; を使ってマニュアルを読んでください。
同様に、設定ファイルのサンプルや提供されているドキュメントにも目を通してください。
アプリケーションのウェブサイトがあれば、
そのサイトに更なるドキュメントや FAQ がないかを調べてください。
ウェブサイトのアドレスがわからなければ、
次のコマンドで表示されるかもしれません。
&prompt.root; pkg_info foopackage-1.0.0
ウェブサイトが存在すると、 URL が
WWW: を含む行に表示されます。
(インターネットサーバのように)
システム起動時に立ち上げる必要のある port は、
サンプルスクリプトを通常
/usr/local/etc/rc.d にインストールします。
このスクリプトを調べ、
必要があれば編集したりスクリプトの名前を変更してください。
詳細は サービスの起動
をご覧ください。
うまく動作しない ports に遭遇した場合には
port がうまく動作しない状況に遭遇したら、
あなたにできることは次のようなことしかありません。
その port に対する修正案が提出されていないかどうかを
障害報告
(Problem Report) データベース で調べてください。
もし提案されていれば、
その修正を使うことができるかもしれません。
port の保守担当者に対応してもらいましょう。
make maintainer と入力するか、
Makefile を直接読み、
保守担当者の電子メールアドレスを調べます。
メールを送る際には、port 名とバージョン番号
(Makefile の
$FreeBSD: 行)、
そしてエラーが出力されるまでの出力ログを忘れずに添付してください。
特定の保守担当者が存在せず、かわりに メーリングリスト
が保守している ports があります。
そのような場合には、メールアドレスは
freebsd-listname@FreeBSD.org
のようになります。
質問する際には、このことに気をつけてください。
特に ports@FreeBSD.org
が保守している ports には、保守担当者が本当にいません。
そのメーリングリストを購読する人々からなるコミュニティが、
修正や対応をおこなっています。
もっとボランティアが必要です!
保守担当者から返信がなければ、&man.send-pr.1;
を使ってバグレポートを提出しても構いません (
FreeBSD 障害報告の書き方 をご覧ください)。
自分で直しましょう!
Ports
システムに関する詳細な情報は
port 作成者のためのハンドブック にあります。
このセクションを読むと、壊れてしまった port を直したり、
自分で作った port を提出したりできるようになります!
近くの FTP サイトから package を入手しましょう。
マスタ
package コレクションは、
ftp.FreeBSD.org の
package のディレクトリ にありますが、
まずはあなたの地域の ミラーサイト
を最初に調べてください。
ソースからコンパイルすることを試みるより確実ですし、
時間もかかりません。
package をシステムにインストールするには、&man.pkg.add.1; を使います。