1.14 -> 1.15	security/chapter.sgml
	1.44 -> 1.45	ports/chapter.sgml
	1.21 -> 1.23	linuxemu/chapter.sgml

Submitted by:	Hiroki Sato <hrs@geocities.co.jp>
Reviewed by:	kuriyama
This commit is contained in:
Jun Kuriyama 1999-10-28 15:17:44 +00:00
parent ce64e9b1c4
commit 9ceefa99b6
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=5947
5 changed files with 785 additions and 505 deletions

View file

@ -2,8 +2,8 @@
The FreeBSD Documentation Project The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project The FreeBSD Japanese Documentation Project
Original revision: 1.21 Original revision: 1.23
$FreeBSD: doc/ja_JP.eucJP/books/handbook/linuxemu/chapter.sgml,v 1.6 1999/09/29 15:40:34 kuriyama Exp $ $FreeBSD: doc/ja_JP.eucJP/books/handbook/linuxemu/chapter.sgml,v 1.7 1999/10/07 02:46:03 kuriyama Exp $
--> -->
<chapter id="linuxemu"> <chapter id="linuxemu">
@ -39,6 +39,122 @@
<para>Linux モードの設定方法は, 使用している FreeBSD <para>Linux モードの設定方法は, 使用している FreeBSD
のバージョンによっていくらか異なっています.</para> のバージョンによっていくらか異なっています.</para>
<sect2>
<title>3.0-RELEASE 以降への
Linux バイナリ互換機能のインストール</title>
<para><literal>options LINUX</literal> や <literal>options
COMPAT_LINUX</literal> を指定する必要はなくなりました.
Linux バイナリ互換機能は
KLD オブジェクト(&ldquo;Kernel LoaDable object&rdquo;)
を使用しているため, インストールの際に再起動する必要はありません.
ただし, スタートアップファイルで以下のように指定する必要があります.</para>
<orderedlist>
<listitem>
<para><filename>/etc/rc.conf</filename>
に以下の行が必要です.</para>
<programlisting>
linux_enable=YES</programlisting>
</listitem>
<listitem>
<para>これは結果的に, <filename>/etc/rc.i386</filename>
の以下の指定を有効にします.</para>
<programlisting>
# Start the Linux binary compatibility if requested.
if [ "X${linux_enable}" = X"YES" ]; then echo -n '
linux'; linux &gt; /dev/null 2&gt;&amp;1
fi</programlisting>
</listitem>
</orderedlist>
<para>KLD がきちんとロードされたかどうかを確認するには,
<command>kldstat</command> を使用します.</para>
<screen>&prompt.user; kldstat
Id Refs Address Size Name
1 2 0xc0100000 16bdb8 kernel
7 1 0xc24db000 d000 linux.ko</screen>
<para>
何らかの理由で, Linux KLD がロードできない場合は,
<programlisting>
options LINUX</programlisting>
をカーネルの設定ファイルに指定して,
Linux バイナリ互換機能をカーネルにスタティックリンク
してください.
<link linkend="kernelconfig">
FreeBSDカーネルのコンフィグレーション</link>
の節の記述にしたがって <command>config</command> と,
新しいカーネルのインストールをおこ
なってください.</para>
</sect2>
<sect2>
<title>2.2.2-RELEASE およびそれ以降の 2.2.x 系列への
Linux モードのインストール</title>
<para><literal>options LINUX</literal> や <literal>options
COMPAT_LINUX</literal> を指定する必要はなくなりました.
Linux バイナリ互換機能は
LKM(&ldquo;Loadable Kernel Module&rdquo;)
を使用しているため, インストールの際に再起動する必要はありません.
ただし, スタートアップファイルで以下のように指定する必要があります.</para>
<orderedlist>
<listitem>
<para><filename>/etc/rc.conf</filename>
に以下の行が必要です.</para>
<programlisting>
linux_enable=YES</programlisting>
</listitem>
<listitem>
<para>これは結果的に, <filename>/etc/rc.i386</filename>
の以下の指定を有効にします.</para>
<programlisting>
# Start the Linux binary emulation if requested.
if [ "X${linux_enable}" = X"YES" ]; then echo -n '
linux'; linux &gt; /dev/null 2&gt;&amp;1
fi</programlisting>
</listitem>
</orderedlist>
<para>実行されたかどうかを確認するには,
<command>modstat</command> を使用します.</para>
<!-- kuriyama - command? -->
<screen>&prompt.user; modstat
Type Id Off Loadaddr Size Info Rev Module Name
EXEC 0 4 f09e6000 001c f09ec010 1 linux_mod</screen>
<para>2.2-RELEASE とそれ以降のシステムの中には,
modstat の実行がうまくいかない
ものがあるという報告もあります.
何らかの理由で, Linux LKM がロードできな
い場合は,
<programlisting>
options LINUX</programlisting>
をカーネルの設定ファイルに指定して,
Linux バイナリ互換機能をカーネルにスタティックリンク
してください.
<link linkend="kernelconfig">
FreeBSDカーネルのコンフィグレーション</link>
の節の記述にしたがって <command>config</command> と,
新しいカーネルのインストールをおこ
なってください.</para>
</sect2>
<sect2> <sect2>
<title>2.1-STABLE への Linux モードのインストール</title> <title>2.1-STABLE への Linux モードのインストール</title>
@ -129,121 +245,6 @@ linux=YES</programlisting>
linux</programlisting> linux</programlisting>
</sect2> </sect2>
<sect2>
<title>2.2.2-RELEASE およびそれ以降の 2.2.x 系列への
Linux モードのインストール</title>
<para><literal>options LINUX</literal> や <literal>options
COMPAT_LINUX</literal> を指定する必要はなくなりました.
Linux バイナリ互換機能は
LKM(&ldquo;Loadable Kernel Module&rdquo;)
を使用しているため, インストールの際に再起動する必要はありません.
ただし, スタートアップファイルで以下のように指定する必要があります.</para>
<orderedlist>
<listitem>
<para><filename>/etc/rc.conf</filename>
に以下の行が必要です.</para>
<programlisting>
linux_enable=YES</programlisting>
</listitem>
<listitem>
<para>これは結果的に, <filename>/etc/rc.i386</filename>
の以下の指定を有効にします.</para>
<programlisting>
# Start the Linux binary emulation if requested.
if [ "X${linux_enable}" = X"YES" ]; then echo -n '
linux'; linux &gt; /dev/null 2&gt;&amp;1
fi</programlisting>
</listitem>
</orderedlist>
<para>実行されたかどうかを確認するには, modstat
を使用します.</para>
<!-- kuriyama - command? -->
<screen>&prompt.user; modstat
Type Id Off Loadaddr Size Info Rev Module Name
EXEC 0 4 f09e6000 001c f09ec010 1 linux_mod</screen>
<para>2.2-RELEASE とそれ以降のシステムの中には,
modstat の実行がうまくいかない
ものがあるという報告もあります.
何らかの理由で, Linux LKM がロードできな
い場合は,
<programlisting>
options LINUX</programlisting>
をカーネルの設定ファイルに指定して,
Linux バイナリ互換機能をカーネルにスタティックリンク
してください.
<link linkend="kernelconfig">
FreeBSDカーネルのコンフィグレーション</link>
の節の記述にしたがって config と,
新しいカーネルのインストールをおこ
なってください.</para>
</sect2>
<sect2>
<title>3.0-RELEASE 以降への
Linux バイナリ互換機能のインストール</title>
<para><literal>options LINUX</literal> や <literal>options
COMPAT_LINUX</literal> を指定する必要はなくなりました.
Linux バイナリ互換機能は
KLD オブジェクト(&ldquo;Kernel LoaDable object&rdquo;)
を使用しているため, インストールの際に再起動する必要はありません.
ただし, スタートアップファイルで以下のように指定する必要があります.</para>
<orderedlist>
<listitem>
<para><filename>/etc/rc.conf</filename>
に以下の行が必要です.</para>
<programlisting>
linux_enable=YES</programlisting>
</listitem>
<listitem>
<para>これは結果的に, <filename>/etc/rc.i386</filename>
の以下の指定を有効にします.</para>
<programlisting>
# Start the Linux binary compatibility if requested.
if [ "X${linux_enable}" = X"YES" ]; then echo -n '
linux'; linux &gt; /dev/null 2&gt;&amp;1
fi</programlisting>
</listitem>
</orderedlist>
<para>KLD がきちんとロードされたかどうかを確認するには, kldstat
を使用します.</para>
<screen>&prompt.user; kldstat
Id Refs Address Size Name
1 2 0xc0100000 16bdb8 kernel
7 1 0xc24db000 d000 linux.ko</screen>
<para>
何らかの理由で, Linux KLD がロードできない場合は,
<programlisting>
options LINUX</programlisting>
をカーネルの設定ファイルに指定して,
Linux バイナリ互換機能をカーネルにスタティックリンク
してください.
<link linkend="kernelconfig">
FreeBSDカーネルのコンフィグレーション</link>
の節の記述にしたがって config と,
新しいカーネルのインストールをおこ
なってください.</para>
</sect2>
<sect2> <sect2>
<title>Linux ランタイムライブラリのインストール</title> <title>Linux ランタイムライブラリのインストール</title>
@ -467,7 +468,7 @@ libc.so.4 (DLL Jump 4.5pl26) =&gt; /lib/libc.so.4.6.29</screen>
以下にインストールされていなければなりません.</para> 以下にインストールされていなければなりません.</para>
<para>FreeBSD 2.2-RELEASE を使用している場合は, Linux の <para>FreeBSD 2.2-RELEASE を使用している場合は, Linux の
ldconfig プログラム を実行する必要があります.</para> <command>ldconfig</command> プログラム を実行する必要があります.</para>
<screen>&prompt.root; <userinput>cd /compat/linux/lib</userinput> <screen>&prompt.root; <userinput>cd /compat/linux/lib</userinput>
&prompt.root; <userinput>/compat/linux/sbin/ldconfig</userinput></screen> &prompt.root; <userinput>/compat/linux/sbin/ldconfig</userinput></screen>
@ -836,7 +837,7 @@ richc.isdn.bcm.tmc.edu 9845-03452-90255</screen>
<para>ライセンス番号と, Wolfram <para>ライセンス番号と, Wolfram
から送られてきたパスワードを入力を求めます. から送られてきたパスワードを入力を求めます.
入力を間違えたりして, math.install 入力を間違えたりして, <command>math.install</command>
の実行が失敗しても大丈夫です. <filename>mathpass</filename> の実行が失敗しても大丈夫です. <filename>mathpass</filename>
ファイルを手動で編集して, 情報を訂正してください.</para> ファイルを手動で編集して, 情報を訂正してください.</para>
@ -845,12 +846,12 @@ richc.isdn.bcm.tmc.edu 9845-03452-90255</screen>
自分で方法を指定するインストールから選ぶことができます. 自分で方法を指定するインストールから選ぶことができます.
筆者のようにインストールプログラムを信用していない場合は, 自 筆者のようにインストールプログラムを信用していない場合は, 自
分でディレクトリを指定する方を選択するでしょう. 分でディレクトリを指定する方を選択するでしょう.
自分で指定するインストー ルを選んだ場合, math.install 自分で指定するインストー ルを選んだ場合, <command>math.install</command>
自身ではディレクトリの作成はおこないません. 注意してください. 自身ではディレクトリの作成はおこないません. 注意してください.
別のウィンドウでシェルを開いて, 指定するディレクトリ 別のウィンドウでシェルを開いて, 指定するディレクトリ
を作成してください. 存在しないディレクトリを指定して, を作成してください. 存在しないディレクトリを指定して,
math.install が インストールに失敗した場合には, <command>math.install</command> が インストールに失敗した場合には,
ディレクトリを作成し, math.install を 再び実行してください. ディレクトリを作成し, <command>math.install</command> を 再び実行してください.
筆者らがインストール先に選んだディレクトリは, 以下の通りです. 筆者らがインストール先に選んだディレクトリは, 以下の通りです.
くれぐれもあらかじめ作成してから, くれぐれもあらかじめ作成してから,
<command>math.install</command> で指定す <command>math.install</command> で指定す
@ -917,10 +918,10 @@ richc.isdn.bcm.tmc.edu 9845-03452-90255</screen>
以下の行も追加してください.</para> 以下の行も追加してください.</para>
<!-- kuriyama - Same as above --> <!-- kuriyama - Same as above -->
<screen>RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF</screen> <screen>&prompt.user; <userinput>RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF</userinput></screen>
<para>これは, Mathematica に Linux バージョンの host.conf <para>これは, Mathematica に Linux 側の <filename>host.conf</filename>
を使用するように指定し ます. FreeBSD の host.conf の文法は, を使用するように指定し ます. FreeBSD の <filename>host.conf</filename> の文法は,
Linux のものと異なっているため, この 指定をおこなわないと, Linux のものと異なっているため, この 指定をおこなわないと,
<filename>/etc/host.conf</filename> <filename>/etc/host.conf</filename>
に関わるエラーが発生します.</para> に関わるエラーが発生します.</para>
@ -953,7 +954,7 @@ richc.isdn.bcm.tmc.edu 9845-03452-90255</screen>
<para>今のところ原因はわかっていませんが, <para>今のところ原因はわかっていませんが,
このバグが影響を及ぼすのは, ノートブックの X window System 用 このバグが影響を及ぼすのは, ノートブックの X window System 用
フロントエンドのみです. Mathematica エンジン本体に影響は フロントエンドのみです. Mathematica エンジン本体に影響は
ありません. そのため, ``math'' ありません. そのため, <command>math</command>
によって起動されるコマンドラインのインタ によって起動されるコマンドラインのインタ
フェースを使用している場合は, このバグは関係ありません.</para> フェースを使用している場合は, このバグは関係ありません.</para>
</sect2> </sect2>
@ -1006,8 +1007,7 @@ richc.isdn.bcm.tmc.edu 9845-03452-90255</screen>
<para>後になって, &man.sh.1; に変更が加えられました. <para>後になって, &man.sh.1; に変更が加えられました.
それは先頭の 2 バイトを検査し, <literal>:\n</literal> だったら それは先頭の 2 バイトを検査し, <literal>:\n</literal> だったら
シェルとして代わりに &man.csh.1; を呼び出す, というものです(この変更は シェルとして代わりに &man.csh.1; を呼び出す, というものです(この変更は
SCO が最初に行なったと記憶しているのですが, SCO が最初に行なったと思われます).
間違いであったら指摘して下さい).
</para> </para>
<para>現在の FreeBSD は, プログラムローダリストを走査します. <para>現在の FreeBSD は, プログラムローダリストを走査します.

View file

@ -2,8 +2,8 @@
The FreeBSD Documentation Project The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project The FreeBSD Japanese Documentation Project
Original revision: 1.44 Original revision: 1.45
$FreeBSD: doc/ja_JP.eucJP/books/handbook/ports/chapter.sgml,v 1.13 1999/10/02 02:57:58 kuriyama Exp $ $FreeBSD: doc/ja_JP.eucJP/books/handbook/ports/chapter.sgml,v 1.14 1999/10/04 16:55:49 kuriyama Exp $
--> -->
<chapter id="ports"> <chapter id="ports">
@ -614,12 +614,15 @@ do-install:
<sect1> <sect1>
<title>質問と回答集</title> <title>質問と回答集</title>
<itemizedlist> <qandaset>
<listitem> <qandaentry>
<para>Q. 私はモデムについての議論を <question>
<para>私はモデムについての議論を
しているのかと思っていました??!</para> しているのかと思っていました??!</para>
</question>
<para>A.なるほど, あなたはきっとコンピュータの背面についている <answer>
<para>なるほど, あなたはきっとコンピュータの背面についている
シリアルポートのことだと思ってしまったのでしょう. シリアルポートのことだと思ってしまったのでしょう.
あるバージョンの Unixから別のバージョンの Unix あるバージョンの Unixから別のバージョンの Unix
へとプログラムを 移殖することを &ldquo;porting&rdquo; へとプログラムを 移殖することを &ldquo;porting&rdquo;
@ -628,20 +631,28 @@ do-install:
(コンピュータに関わる人々の悪しき習慣として, (コンピュータに関わる人々の悪しき習慣として,
ひとつの同じ言葉を複数の ひとつの同じ言葉を複数の
まったく違う意味として使うことがあるのです.)</para> まったく違う意味として使うことがあるのです.)</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. 私は, 標準以外のプログラムのインストールには packages <question>
<para>私は, 標準以外のプログラムのインストールには packages
を使うと 思っていたのですが.</para> を使うと 思っていたのですが.</para>
</question>
<para>A. そのとおり. 通常は packages <answer>
<para>そのとおり. 通常は packages
が最も手早くて簡単な方法です.</para> が最も手早くて簡単な方法です.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. それではどうして面倒な ports があるのですか?</para> <question>
<para>それではどうして面倒な ports があるのですか?</para>
</question>
<para>A. いくつかの理由があります:-</para> <answer>
<para>いくつかの理由があります:-</para>
<orderedlist> <orderedlist>
<listitem> <listitem>
@ -686,13 +697,16 @@ do-install:
-->;-)</para> -->;-)</para>
</listitem> </listitem>
</orderedlist> </orderedlist>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para><anchor id="ports-patch"> <question>
Q. パッチとは何ですか?</para> <para id="ports-patch"> パッチとは何ですか?</para>
</question>
<para>A. パッチとは, <answer>
<para>パッチとは,
あるバージョンから他のバージョンへどのように変更するかを あるバージョンから他のバージョンへどのように変更するかを
示す, (通常は) 小さなファイルです. &ldquo;23 示す, (通常は) 小さなファイルです. &ldquo;23
行目を削除&rdquo;, &ldquo;468 行目の後に これらの 2 行目を削除&rdquo;, &ldquo;468 行目の後に これらの 2
@ -700,13 +714,16 @@ do-install:
行目をこのように変更&rdquo;というような 内容を含んでいます. 行目をこのように変更&rdquo;というような 内容を含んでいます.
これは, &ldquo;diff&rdquo; これは, &ldquo;diff&rdquo;
という名前のプログラムで生成されます.</para> という名前のプログラムで生成されます.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para><anchor id="ports-tarball"> <question>
Q. tarball とは一体何ですか?</para> <para id="ports-tarball">tarball とは一体何ですか?</para>
</question>
<para>A. <filename>.tar</filename> または <answer>
<para><filename>.tar</filename> または
<filename>.tar.gz</filename> という拡張子を持つファイルです. <filename>.tar.gz</filename> という拡張子を持つファイルです.
(<filename>.tar.Z</filename> のようなバリエーションも (<filename>.tar.Z</filename> のようなバリエーションも
ありますし, DOS のファイルシステム用に ありますし, DOS のファイルシステム用に
@ -735,13 +752,16 @@ do-install:
&prompt.user; <userinput>tar xvf foobar.tar</userinput> &prompt.user; <userinput>tar xvf foobar.tar</userinput>
</screen> </screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para><anchor id="ports-checksum"> <question>
Q. チェックサムとは何ですか?</para> <para id="ports-checksum">チェックサムとは何ですか?</para>
</question>
<para>A. これは, <answer>
<para>これは,
チェックしたいファイル中のすべてのデータを加えて生成した チェックしたいファイル中のすべてのデータを加えて生成した
数値です. 何か文字が書き換わっていたら, 数値です. 何か文字が書き換わっていたら,
チェックサムが一致しなくなります. そのため, チェックサムが一致しなくなります. そのため,
@ -749,10 +769,12 @@ do-install:
(実際には, 文字の位置が入れ替わるなどの, (実際には, 文字の位置が入れ替わるなどの,
単純な加算ではわからない問題も 単純な加算ではわからない問題も
見つけることができる複雑な方法で計算されています.)</para> 見つけることができる複雑な方法で計算されています.)</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. 私は, <link linkend="ports-cd">CD-ROM から ports <question>
<para>私は, <link linkend="ports-cd">CD-ROM から ports
をコンパイルする</link> にしたがって ports をコンパイルする</link> にしたがって ports
をインストールしていました. kermit をインストールしていました. kermit
をインストールしようとするまではうまくいっていました:-</para> をインストールしようとするまではうまくいっていました:-</para>
@ -765,8 +787,10 @@ do-install:
<para>なぜ cku190.tar.gz が見つからないのでしょうか? 不良品の <para>なぜ cku190.tar.gz が見つからないのでしょうか? 不良品の
CD-ROM を買ってしまったのでしょうか?</para> CD-ROM を買ってしまったのでしょうか?</para>
</question>
<para>A. Kermit の権利を持つチームは, 私たちの CDROM に kermit <answer>
<para>Kermit の権利を持つチームは, 私たちの CDROM に kermit
の tarball を 入れることを許可しませんでした. の tarball を 入れることを許可しませんでした.
申し分けありませんが, 手動でファイルを 入手してください. 申し分けありませんが, 手動でファイルを 入手してください.
このようなエラーメッセージが出たのは, このようなエラーメッセージが出たのは,
@ -776,15 +800,19 @@ do-install:
(ダウンロードの際には, (ダウンロードの際には,
あなたに最も近いサイトを選ぶようにしてください. そうすれば, あなたに最も近いサイトを選ぶようにしてください. そうすれば,
時間とインターネットの帯域の節約になります)</para> 時間とインターネットの帯域の節約になります)</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. kermit の tarball を入手しましたが, <question>
<para>kermit の tarball を入手しましたが,
<filename>/usr/ports/distfiles</filename> に <filename>/usr/ports/distfiles</filename> に
ファイルを置こうとすると, ファイルを置こうとすると,
書き込み権がないというエラーがでます.</para> 書き込み権がないというエラーがでます.</para>
</question>
<para>A. ports のしくみは <answer>
<para>ports のしくみは
<filename>/usr/ports/distfiles</filename> から tarball <filename>/usr/ports/distfiles</filename> から tarball
を探します. しかし, これは read-only の CD-ROM を探します. しかし, これは read-only の CD-ROM
へのシンボリックリンクなので, へのシンボリックリンクなので,
@ -794,17 +822,21 @@ do-install:
<informalexample> <informalexample>
<screen>&prompt.root; <userinput>make DISTDIR=<replaceable>/where/you/put/it</replaceable> install</userinput></screen> <screen>&prompt.root; <userinput>make DISTDIR=<replaceable>/where/you/put/it</replaceable> install</userinput></screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ports では, すべてを <filename>/usr/ports</filename> <question>
<para>ports では, すべてを <filename>/usr/ports</filename>
に置いたときだけ動作するのでしょうか? に置いたときだけ動作するのでしょうか?
システムの管理者によると, 私の個人的なファイルは システムの管理者によると, 私の個人的なファイルは
<filename>/u/people/guests/wurzburger</filename> <filename>/u/people/guests/wurzburger</filename>
に入れなければならないのですが, これでは に入れなければならないのですが, これでは
うまくいかないように思います.</para> うまくいかないように思います.</para>
</question>
<para>A. <makevar>PORTSDIR</makevar> 変数と <answer>
<para><makevar>PORTSDIR</makevar> 変数と
<makevar>PREFIX</makevar> 変数を変更することで, <makevar>PREFIX</makevar> 変数を変更することで,
違うディレクトリを 使用することができます. 例えば,</para> 違うディレクトリを 使用することができます. 例えば,</para>
@ -839,16 +871,20 @@ do-install:
これらを毎回タイプするのが 気に入らないのであれば, これらを毎回タイプするのが 気に入らないのであれば,
(正直に言って, 誰もそう思わないでしょう) (正直に言って, 誰もそう思わないでしょう)
これらを環境変数にセットしてしまうという手があります.</para> これらを環境変数にセットしてしまうという手があります.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. 私は, FreeBSD の CD-ROM を持っていませんが, <question>
<para>私は, FreeBSD の CD-ROM を持っていませんが,
私はすべての tarball を 私のシステムに置いておきたいのです. 私はすべての tarball を 私のシステムに置いておきたいのです.
そうすれば, 私は ports をインストール するたびに, そうすれば, 私は ports をインストール するたびに,
毎回ダウンロードが終わるのを待たなくてすむでしょう. 毎回ダウンロードが終わるのを待たなくてすむでしょう.
これを一度におこなう簡単な方法はありませんか?</para> これを一度におこなう簡単な方法はありませんか?</para>
</question>
<para>A. ports コレクション全体の tarball を持ってくるには, <answer>
<para>ports コレクション全体の tarball を持ってくるには,
次のようにしてください.</para> 次のようにしてください.</para>
<informalexample> <informalexample>
@ -866,16 +902,20 @@ do-install:
<para>ports をひとつだけ持ってくる方法は, <para>ports をひとつだけ持ってくる方法は,
きっと既にご存知だと思います.</para> きっと既にご存知だと思います.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. マスタ FTP サイトから tarball を持ってくるより, <question>
<para>マスタ FTP サイトから tarball を持ってくるより,
近くにある FreeBSD の 近くにある FreeBSD の
ミラーサイトから持ってきた方が速いはずです. MASTER_SITES ミラーサイトから持ってきた方が速いはずです. MASTER_SITES
に書かれている サイト以外から持ってくるように ports に書かれている サイト以外から持ってくるように ports
に指示する方法はありませんか?</para> に指示する方法はありませんか?</para>
</question>
<para>A. もちろんあります. 例えば <hostid <answer>
<para>もちろんあります. 例えば <hostid
role="fqdn">ftp.FreeBSD.org</hostid> が role="fqdn">ftp.FreeBSD.org</hostid> が
<makevar>MASTER_SITES</makevar> に書かれている <makevar>MASTER_SITES</makevar> に書かれている
サイトより近いとしたら, 以下のようにしてください.</para> サイトより近いとしたら, 以下のようにしてください.</para>
@ -884,47 +924,63 @@ do-install:
<screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput> <screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput>
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE=ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen> &prompt.root; <userinput>make MASTER_SITE_OVERRIDE=ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ダウンロードをする前に, <question>
<para>ダウンロードをする前に,
どんなファイルが必要なのか知りたいのですが.</para> どんなファイルが必要なのか知りたいのですが.</para>
</question>
<para>A. <command>make fetch-list</command> とすると, ports <answer>
<para><command>make fetch-list</command> とすると, ports
に必要なファイルの一覧を表示できます.</para> に必要なファイルの一覧を表示できます.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ports のコンパイルを途中で止める方法はありますか? <question>
<para>ports のコンパイルを途中で止める方法はありますか?
私はインストールをする前に 私はインストールをする前に
いろいろとソースコードを解析したいのですが, 毎回 control-C いろいろとソースコードを解析したいのですが, 毎回 control-C
を打たなければならないのが少し面倒です.</para> を打たなければならないのが少し面倒です.</para>
</question>
<para>A. <command>make extract</command> を実行すると, <answer>
<para><command>make extract</command> を実行すると,
ファイル転送とソースコードの展開まで ファイル転送とソースコードの展開まで
おこなったところで停止します.</para> おこなったところで停止します.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. 自分で ports を作ろうとしています. 私の作ったパッチが <question>
<para>自分で ports を作ろうとしています. 私の作ったパッチが
正しく処理できることを確認できるように, 正しく処理できることを確認できるように,
コンパイルを止めたいのです. パッチのための <command>make コンパイルを止めたいのです. パッチのための <command>make
extract</command> のようなものはありませんか?</para> extract</command> のようなものはありませんか?</para>
</question>
<para>A. あります. <command>make patch</command> <answer>
<para>あります. <command>make patch</command>
があなたのお望みのものです. おそらく があなたのお望みのものです. おそらく
<makevar>PATCH_DEBUG</makevar> オプションも同様に <makevar>PATCH_DEBUG</makevar> オプションも同様に
お役に立つことでしょう. ところで, お役に立つことでしょう. ところで,
あなたの努力に感謝いたします!!</para> あなたの努力に感謝いたします!!</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. あるコンパイルオプションはバグの <question>
<para>あるコンパイルオプションはバグの
原因になるという話を聞きました. 本当なのでしょうか? 原因になるという話を聞きました. 本当なのでしょうか?
どうやったら正しい設定で ports どうやったら正しい設定で ports
をコンパイルできますか?</para> をコンパイルできますか?</para>
</question>
<para>A. 本当です. <command>gcc</command> の バージョン 2.6.3 <answer>
<para>本当です. <command>gcc</command> の バージョン 2.6.3
(FreeBSDの 2.1.0 と 2.1.5 に付属している バージョン) では, (FreeBSDの 2.1.0 と 2.1.5 に付属している バージョン) では,
<option>-O2</option> オプションを <option>-O2</option> オプションを
<option>-fno-strength-reduce</option> オプションなしで <option>-fno-strength-reduce</option> オプションなしで
@ -945,14 +1001,18 @@ do-install:
を見て手で修整することですが, ソースが を見て手で修整することですが, ソースが
多くのサブディレクトリにわかれていて, 各々に Makefile 多くのサブディレクトリにわかれていて, 各々に Makefile
がある場合は 大変な仕事になります.</para> がある場合は 大変な仕事になります.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ports がたくさんありすぎて, <question>
<para>ports がたくさんありすぎて,
私の欲しいものがなかなか見つけられません. どんな ports 私の欲しいものがなかなか見つけられません. どんな ports
が使えるのか, リストはどこかにありませんか?</para> が使えるのか, リストはどこかにありませんか?</para>
</question>
<para>A. <filename>/usr/ports</filename> の中にある <answer>
<para><filename>/usr/ports</filename> の中にある
<filename>INDEX</filename> ファイルを見てみましょう. <filename>INDEX</filename> ファイルを見てみましょう.
あるキーワードで ports コレクションを検索したければ, あるキーワードで ports コレクションを検索したければ,
それも可能です. たとえば, それも可能です. たとえば,
@ -961,15 +1021,19 @@ do-install:
<screen>&prompt.user; <userinput>cd /usr/ports</userinput> <screen>&prompt.user; <userinput>cd /usr/ports</userinput>
&prompt.user; <userinput>make search key=lisp</userinput></screen> &prompt.user; <userinput>make search key=lisp</userinput></screen>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. <literal>foo</literal> ports <question>
<para><literal>foo</literal> ports
をインストールしたいのですが, それのコンパイルは をインストールしたいのですが, それのコンパイルは
すぐに停止して, <literal>bar</literal> ports すぐに停止して, <literal>bar</literal> ports
のコンパイルが始まってしまいます. 一体どうして?</para> のコンパイルが始まってしまいます. 一体どうして?</para>
</question>
<para>A. <literal>foo</literal> ports が, <answer>
<para><literal>foo</literal> ports が,
<literal>bar</literal> ports <literal>bar</literal> ports
の提供する何らかの機能を必要としているからです. 例えば の提供する何らかの機能を必要としているからです. 例えば
<literal>foo</literal> が画像を使うとすると, <literal>foo</literal> が画像を使うとすると,
@ -977,17 +1041,21 @@ do-install:
ライブラリを持っている, などです. または, ライブラリを持っている, などです. または,
<literal>bar</literal> は <literal>foo</literal> <literal>bar</literal> は <literal>foo</literal>
をコンパイルするのに必要なツールなのかもしれません.</para> をコンパイルするのに必要なツールなのかもしれません.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para><anchor id="ports-remove"> Q. ports から <question>
<para id="ports-remove">ports から
<literal>grizzle</literal> <literal>grizzle</literal>
プログラムをインストールしましたが, まったく プログラムをインストールしましたが, まったく
ディスクスペースの浪費です. 削除したいのですが, ディスクスペースの浪費です. 削除したいのですが,
すべてのファイルが どこへインストールされたのかわかりません. すべてのファイルが どこへインストールされたのかわかりません.
何か手がかりはありませんか?</para> 何か手がかりはありませんか?</para>
</question>
<para>A. 大丈夫, 次のようにしてください.</para> <answer>
<para>大丈夫, 次のようにしてください.</para>
<informalexample> <informalexample>
<screen>&prompt.root; <userinput>pkg_delete grizzle-6.5</userinput></screen> <screen>&prompt.root; <userinput>pkg_delete grizzle-6.5</userinput></screen>
@ -997,16 +1065,20 @@ do-install:
<screen>&prompt.root; <userinput>cd <replaceable>/usr/ports/somewhere/grizzle</replaceable></userinput> <screen>&prompt.root; <userinput>cd <replaceable>/usr/ports/somewhere/grizzle</replaceable></userinput>
&prompt.root; <userinput>make deinstall</userinput></screen> &prompt.root; <userinput>make deinstall</userinput></screen>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ちょっと待ってください. <question>
<para>ちょっと待ってください.
削除しようとするコマンドのバージョン番号を 削除しようとするコマンドのバージョン番号を
知っていなくてはならないのでしょうか? あなたは, 知っていなくてはならないのでしょうか? あなたは,
私がバージョン番号を 私がバージョン番号を
覚えていることを本気で当てにしているのでしょうか?</para> 覚えていることを本気で当てにしているのでしょうか?</para>
</question>
<para>A. そんなことはありません. <answer>
<para>そんなことはありません.
バージョン番号は次のようにすればわかります.</para> バージョン番号は次のようにすればわかります.</para>
<informalexample> <informalexample>
@ -1014,15 +1086,19 @@ do-install:
Information for grizzle-6.5: Information for grizzle-6.5:
grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arcade game.</screen> grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arcade game.</screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ディスク容量のことなのですが, ports <question>
<para>ディスク容量のことなのですが, ports
のディレクトリは非常に膨大な容量を 使うように見えます. のディレクトリは非常に膨大な容量を 使うように見えます.
残しておいた方がよいのでしょうか? 削除してしまっても 残しておいた方がよいのでしょうか? 削除してしまっても
よいのでしょうか?</para> よいのでしょうか?</para>
</question>
<para>A. はい. インストールが首尾よく終わり, <answer>
<para>はい. インストールが首尾よく終わり,
もうソースコードが必要でないと思うなら, もうソースコードが必要でないと思うなら,
それらを残しておく理由はないでしょう. 一番よい方法は, それらを残しておく理由はないでしょう. 一番よい方法は,
次の通りです.</para> 次の通りです.</para>
@ -1034,52 +1110,66 @@ grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arc
<para>これは, すべての ports のサブディレクトリを調べ, 各 <para>これは, すべての ports のサブディレクトリを調べ, 各
ports のスケルトン以外の削除をおこないます.</para> ports のスケルトン以外の削除をおこないます.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. これを試してみたのですが, tarball や ports <question>
<para>これを試してみたのですが, tarball や ports
で使われたファイルが <filename>distfiles</filename> で使われたファイルが <filename>distfiles</filename>
ディレクトリに残っています. ディレクトリに残っています.
これも削除してしまっても大丈夫ですか?</para> これも削除してしまっても大丈夫ですか?</para>
</question>
<para>A. はい. それを使った作業が終わったのであれば, <answer>
<para>はい. それを使った作業が終わったのであれば,
削除してしまっても大丈夫です.</para> 削除してしまっても大丈夫です.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. <question>
私はとてもとてもたくさんのプログラムを楽しみたいのです. <para>私はとてもとてもたくさんのプログラムを楽しみたいのです.
一度にすべての ports 一度にすべての ports
をインストールする方法はありませんか?</para> をインストールする方法はありませんか?</para>
</question>
<para>A. 次のようにしてください.</para> <answer>
<para>次のようにしてください.</para>
<informalexample> <informalexample>
<screen>&prompt.root; <userinput>cd /usr/ports</userinput> <screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make install</userinput></screen> &prompt.root; <userinput>make install</userinput></screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. やってみました. 時間がとてもかかるだろうと思ったので, <question>
<para>やってみました. 時間がとてもかかるだろうと思ったので,
そのまま実行を 続けさせて, 私は寝ました. そのまま実行を 続けさせて, 私は寝ました.
翌朝コンピュータを見てみると, 三つ半の ports しか 翌朝コンピュータを見てみると, 三つ半の ports しか
処理が終わっていませんでした. 処理が終わっていませんでした.
なにか悪かったのでしょうか?</para> なにか悪かったのでしょうか?</para>
</question>
<para>A. これは ports の中には私たちの決められないこと <answer>
<para>これは ports の中には私たちの決められないこと
(例えば, あなたが A4 の 用紙に印刷したいのか, US (例えば, あなたが A4 の 用紙に印刷したいのか, US
レターサイズの用紙に印刷したいのかなど) について レターサイズの用紙に印刷したいのかなど) について
質問してくるものがあるからです. 質問してくるものがあるからです.
それらの質問には手動で答える必要があります.</para> それらの質問には手動で答える必要があります.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. <question>
私は一日中モニタの前に座って過ごしたりしたくないのですが. <para>私は一日中モニタの前に座って過ごしたりしたくないのですが.
何かよいアイデアはありませんか?</para> 何かよいアイデアはありませんか?</para>
</question>
<para>A. では, あなたが寝に / 仕事に / <answer>
<para>では, あなたが寝に / 仕事に /
公園にいく前に以下を実行してください:-</para> 公園にいく前に以下を実行してください:-</para>
<informalexample> <informalexample>
@ -1097,16 +1187,20 @@ grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arc
</informalexample> </informalexample>
<para>そして, 残りの作業を実行してください.</para> <para>そして, 残りの作業を実行してください.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. 私たちは ports コレクションにある <question>
<para>私たちは ports コレクションにある
<literal>frobble</literal> を使っています. ですが, <literal>frobble</literal> を使っています. ですが,
私たちの必要に応じて ports を変更したところがあるのです. 私たちの必要に応じて ports を変更したところがあるのです.
自分でパッケージを作って, それを私たちのサイトのまわりに 自分でパッケージを作って, それを私たちのサイトのまわりに
簡単に配布できるような方法がありますか?</para> 簡単に配布できるような方法がありますか?</para>
</question>
<para>A. もちろんあります. <answer>
<para>もちろんあります.
変更点をパッチにする方法は知っていますよね:-</para> 変更点をパッチにする方法は知っていますよね:-</para>
<informalexample> <informalexample>
@ -1117,26 +1211,29 @@ grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arc
&prompt.root; <userinput>cd ../..</userinput> &prompt.root; <userinput>cd ../..</userinput>
&prompt.root; <userinput>make package</userinput></screen> &prompt.root; <userinput>make package</userinput></screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. この ports の技術は本当に賢いですね. <question>
<para>この ports の技術は本当に賢いですね.
どのようにして動いているのか どのようにして動いているのか
私はどうしても知りたいと思います. その秘密は何ですか?</para> 私はどうしても知りたいと思います. その秘密は何ですか?</para>
</question>
<para>A. 秘密は一切ありません. <ulink <answer>
<para>秘密は一切ありません. <ulink
URL="file://localhost/usr/ports/Mk/">Makefiles URL="file://localhost/usr/ports/Mk/">Makefiles
ディレクトリ</ulink> にある ディレクトリ</ulink> にある
<filename>bsd.ports.mk</filename> と <filename>bsd.ports.mk</filename> と
<filename>bsd.ports.subdir.mk</filename> <filename>bsd.ports.subdir.mk</filename>
ファイルを見るだけです.</para> ファイルを見るだけです.</para>
<note>
<para>複雑なシェルスクリプトを嫌う読者は, <para>複雑なシェルスクリプトを嫌う読者は,
このリンクを追いかけないほうが よいでしょう.</para> このリンクを追いかけないほうが よいでしょう.</para>
</note> </answer>
</listitem> </qandaentry>
</itemizedlist> </qandaset>
</sect1> </sect1>
<sect1 id="porting"> <sect1 id="porting">
@ -5416,6 +5513,6 @@ pre-install:
sgml-indent-data: t sgml-indent-data: t
sgml-omittag: nil sgml-omittag: nil
sgml-always-quote-attributes: t sgml-always-quote-attributes: t
sgml-parent-document: ("../handbook.sgml" "part" "chapter") sgml-parent-document: ("../book.sgml" "part" "chapter")
End: End:
--> -->

View file

@ -2,8 +2,8 @@
The FreeBSD Documentation Project The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project The FreeBSD Japanese Documentation Project
Original revision: 1.14 Original revision: 1.15
$FreeBSD: doc/ja_JP.eucJP/books/handbook/security/chapter.sgml,v 1.3 1999/09/06 06:53:34 peter Exp $ $FreeBSD: doc/ja_JP.eucJP/books/handbook/security/chapter.sgml,v 1.4 1999/09/08 13:23:52 kuriyama Exp $
--> -->
<chapter id="security"> <chapter id="security">
@ -1783,33 +1783,22 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
パンクさせてしまう可能性があります.</para> パンクさせてしまう可能性があります.</para>
</note> </note>
<para>現状では, FreeBSD <para>ファイアウォールは,
はブート時にファイアウォールルールをロードする <filename>/etc/rc.conf.local</filename> か, もしくは
能力を持っていません. 私は <filename>/etc/netstart</filename> <filename>/etc/rc.conf</filename> によって有効化されるべきです.
スクリプトにロードをおこなうスクリプトを 関連マニュアルページには, どのドアノブ(訳注:
追加することをおすすめします. IP ポートや IP アドレスなど,
インターフェースの設定がおこなわれる前に ネットワークからの入口を示すもののこと)に手をつければ良いのかに
ファイアウォールの設定がおこなわれるように, netstart ついての説明と, ファイアウォール設定の既定値のリストがあります.
ファイル中の 充分に早い位置にルールをロードする もし, 設定の既定値を使わない場合には,
スクリプトを配置してください. こうすることで, <command>ipfw list</command> とすることで,
ネットワークがオープンな間は常に抜け道が塞がれている 現在のルールセットを <filename>rc.conf</filename> から読み込める形で
ことになります.</para> ファイルに出力することができます.
また, <filename>/etc/rc.conf.local</filename> や
<para>ルールをロードするために使用するスクリプトは, <filename>/etc/rc.conf</filename> によってファイアウォールを
あなたが作成しなければなりません. 現在のところ 有効化しない場合には, ファイアウォールの有効化が全ての
<command>ipfw</command> は 1 コマンドで複数のルールを IP インターフェイス設定より先に行なわれるように確認することが重要です.
ロードするユーティリティをサポートしていません. </para>
私が使用しているシステムでは以下のようにしています:</para>
<screen>&prompt.root; <userinput>ipfw list</userinput></screen>
<para>ファイルに現在のルールリストを出力し,
テキストエディタを使用して すべての行の前に
<literal>ipfw</literal> と書き足します. こうすることで,
このスクリプトを /bin/sh に与えてルールをカーネルに再読み込み
させることができます.
これは最も効率的な方法とはいえないかもしれませんが,
きちんと動作しています.</para>
<para>次の問題は, ファイアウォールが実際には何を <emphasis> する <para>次の問題は, ファイアウォールが実際には何を <emphasis> する
</emphasis> べきかです ! </emphasis> べきかです !

View file

@ -2,8 +2,8 @@
The FreeBSD Documentation Project The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project The FreeBSD Japanese Documentation Project
Original revision: 1.44 Original revision: 1.45
$FreeBSD: doc/ja_JP.eucJP/books/handbook/ports/chapter.sgml,v 1.13 1999/10/02 02:57:58 kuriyama Exp $ $FreeBSD: doc/ja_JP.eucJP/books/handbook/ports/chapter.sgml,v 1.14 1999/10/04 16:55:49 kuriyama Exp $
--> -->
<chapter id="ports"> <chapter id="ports">
@ -614,12 +614,15 @@ do-install:
<sect1> <sect1>
<title>質問と回答集</title> <title>質問と回答集</title>
<itemizedlist> <qandaset>
<listitem> <qandaentry>
<para>Q. 私はモデムについての議論を <question>
<para>私はモデムについての議論を
しているのかと思っていました??!</para> しているのかと思っていました??!</para>
</question>
<para>A.なるほど, あなたはきっとコンピュータの背面についている <answer>
<para>なるほど, あなたはきっとコンピュータの背面についている
シリアルポートのことだと思ってしまったのでしょう. シリアルポートのことだと思ってしまったのでしょう.
あるバージョンの Unixから別のバージョンの Unix あるバージョンの Unixから別のバージョンの Unix
へとプログラムを 移殖することを &ldquo;porting&rdquo; へとプログラムを 移殖することを &ldquo;porting&rdquo;
@ -628,20 +631,28 @@ do-install:
(コンピュータに関わる人々の悪しき習慣として, (コンピュータに関わる人々の悪しき習慣として,
ひとつの同じ言葉を複数の ひとつの同じ言葉を複数の
まったく違う意味として使うことがあるのです.)</para> まったく違う意味として使うことがあるのです.)</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. 私は, 標準以外のプログラムのインストールには packages <question>
<para>私は, 標準以外のプログラムのインストールには packages
を使うと 思っていたのですが.</para> を使うと 思っていたのですが.</para>
</question>
<para>A. そのとおり. 通常は packages <answer>
<para>そのとおり. 通常は packages
が最も手早くて簡単な方法です.</para> が最も手早くて簡単な方法です.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. それではどうして面倒な ports があるのですか?</para> <question>
<para>それではどうして面倒な ports があるのですか?</para>
</question>
<para>A. いくつかの理由があります:-</para> <answer>
<para>いくつかの理由があります:-</para>
<orderedlist> <orderedlist>
<listitem> <listitem>
@ -686,13 +697,16 @@ do-install:
-->;-)</para> -->;-)</para>
</listitem> </listitem>
</orderedlist> </orderedlist>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para><anchor id="ports-patch"> <question>
Q. パッチとは何ですか?</para> <para id="ports-patch"> パッチとは何ですか?</para>
</question>
<para>A. パッチとは, <answer>
<para>パッチとは,
あるバージョンから他のバージョンへどのように変更するかを あるバージョンから他のバージョンへどのように変更するかを
示す, (通常は) 小さなファイルです. &ldquo;23 示す, (通常は) 小さなファイルです. &ldquo;23
行目を削除&rdquo;, &ldquo;468 行目の後に これらの 2 行目を削除&rdquo;, &ldquo;468 行目の後に これらの 2
@ -700,13 +714,16 @@ do-install:
行目をこのように変更&rdquo;というような 内容を含んでいます. 行目をこのように変更&rdquo;というような 内容を含んでいます.
これは, &ldquo;diff&rdquo; これは, &ldquo;diff&rdquo;
という名前のプログラムで生成されます.</para> という名前のプログラムで生成されます.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para><anchor id="ports-tarball"> <question>
Q. tarball とは一体何ですか?</para> <para id="ports-tarball">tarball とは一体何ですか?</para>
</question>
<para>A. <filename>.tar</filename> または <answer>
<para><filename>.tar</filename> または
<filename>.tar.gz</filename> という拡張子を持つファイルです. <filename>.tar.gz</filename> という拡張子を持つファイルです.
(<filename>.tar.Z</filename> のようなバリエーションも (<filename>.tar.Z</filename> のようなバリエーションも
ありますし, DOS のファイルシステム用に ありますし, DOS のファイルシステム用に
@ -735,13 +752,16 @@ do-install:
&prompt.user; <userinput>tar xvf foobar.tar</userinput> &prompt.user; <userinput>tar xvf foobar.tar</userinput>
</screen> </screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para><anchor id="ports-checksum"> <question>
Q. チェックサムとは何ですか?</para> <para id="ports-checksum">チェックサムとは何ですか?</para>
</question>
<para>A. これは, <answer>
<para>これは,
チェックしたいファイル中のすべてのデータを加えて生成した チェックしたいファイル中のすべてのデータを加えて生成した
数値です. 何か文字が書き換わっていたら, 数値です. 何か文字が書き換わっていたら,
チェックサムが一致しなくなります. そのため, チェックサムが一致しなくなります. そのため,
@ -749,10 +769,12 @@ do-install:
(実際には, 文字の位置が入れ替わるなどの, (実際には, 文字の位置が入れ替わるなどの,
単純な加算ではわからない問題も 単純な加算ではわからない問題も
見つけることができる複雑な方法で計算されています.)</para> 見つけることができる複雑な方法で計算されています.)</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. 私は, <link linkend="ports-cd">CD-ROM から ports <question>
<para>私は, <link linkend="ports-cd">CD-ROM から ports
をコンパイルする</link> にしたがって ports をコンパイルする</link> にしたがって ports
をインストールしていました. kermit をインストールしていました. kermit
をインストールしようとするまではうまくいっていました:-</para> をインストールしようとするまではうまくいっていました:-</para>
@ -765,8 +787,10 @@ do-install:
<para>なぜ cku190.tar.gz が見つからないのでしょうか? 不良品の <para>なぜ cku190.tar.gz が見つからないのでしょうか? 不良品の
CD-ROM を買ってしまったのでしょうか?</para> CD-ROM を買ってしまったのでしょうか?</para>
</question>
<para>A. Kermit の権利を持つチームは, 私たちの CDROM に kermit <answer>
<para>Kermit の権利を持つチームは, 私たちの CDROM に kermit
の tarball を 入れることを許可しませんでした. の tarball を 入れることを許可しませんでした.
申し分けありませんが, 手動でファイルを 入手してください. 申し分けありませんが, 手動でファイルを 入手してください.
このようなエラーメッセージが出たのは, このようなエラーメッセージが出たのは,
@ -776,15 +800,19 @@ do-install:
(ダウンロードの際には, (ダウンロードの際には,
あなたに最も近いサイトを選ぶようにしてください. そうすれば, あなたに最も近いサイトを選ぶようにしてください. そうすれば,
時間とインターネットの帯域の節約になります)</para> 時間とインターネットの帯域の節約になります)</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. kermit の tarball を入手しましたが, <question>
<para>kermit の tarball を入手しましたが,
<filename>/usr/ports/distfiles</filename> に <filename>/usr/ports/distfiles</filename> に
ファイルを置こうとすると, ファイルを置こうとすると,
書き込み権がないというエラーがでます.</para> 書き込み権がないというエラーがでます.</para>
</question>
<para>A. ports のしくみは <answer>
<para>ports のしくみは
<filename>/usr/ports/distfiles</filename> から tarball <filename>/usr/ports/distfiles</filename> から tarball
を探します. しかし, これは read-only の CD-ROM を探します. しかし, これは read-only の CD-ROM
へのシンボリックリンクなので, へのシンボリックリンクなので,
@ -794,17 +822,21 @@ do-install:
<informalexample> <informalexample>
<screen>&prompt.root; <userinput>make DISTDIR=<replaceable>/where/you/put/it</replaceable> install</userinput></screen> <screen>&prompt.root; <userinput>make DISTDIR=<replaceable>/where/you/put/it</replaceable> install</userinput></screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ports では, すべてを <filename>/usr/ports</filename> <question>
<para>ports では, すべてを <filename>/usr/ports</filename>
に置いたときだけ動作するのでしょうか? に置いたときだけ動作するのでしょうか?
システムの管理者によると, 私の個人的なファイルは システムの管理者によると, 私の個人的なファイルは
<filename>/u/people/guests/wurzburger</filename> <filename>/u/people/guests/wurzburger</filename>
に入れなければならないのですが, これでは に入れなければならないのですが, これでは
うまくいかないように思います.</para> うまくいかないように思います.</para>
</question>
<para>A. <makevar>PORTSDIR</makevar> 変数と <answer>
<para><makevar>PORTSDIR</makevar> 変数と
<makevar>PREFIX</makevar> 変数を変更することで, <makevar>PREFIX</makevar> 変数を変更することで,
違うディレクトリを 使用することができます. 例えば,</para> 違うディレクトリを 使用することができます. 例えば,</para>
@ -839,16 +871,20 @@ do-install:
これらを毎回タイプするのが 気に入らないのであれば, これらを毎回タイプするのが 気に入らないのであれば,
(正直に言って, 誰もそう思わないでしょう) (正直に言って, 誰もそう思わないでしょう)
これらを環境変数にセットしてしまうという手があります.</para> これらを環境変数にセットしてしまうという手があります.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. 私は, FreeBSD の CD-ROM を持っていませんが, <question>
<para>私は, FreeBSD の CD-ROM を持っていませんが,
私はすべての tarball を 私のシステムに置いておきたいのです. 私はすべての tarball を 私のシステムに置いておきたいのです.
そうすれば, 私は ports をインストール するたびに, そうすれば, 私は ports をインストール するたびに,
毎回ダウンロードが終わるのを待たなくてすむでしょう. 毎回ダウンロードが終わるのを待たなくてすむでしょう.
これを一度におこなう簡単な方法はありませんか?</para> これを一度におこなう簡単な方法はありませんか?</para>
</question>
<para>A. ports コレクション全体の tarball を持ってくるには, <answer>
<para>ports コレクション全体の tarball を持ってくるには,
次のようにしてください.</para> 次のようにしてください.</para>
<informalexample> <informalexample>
@ -866,16 +902,20 @@ do-install:
<para>ports をひとつだけ持ってくる方法は, <para>ports をひとつだけ持ってくる方法は,
きっと既にご存知だと思います.</para> きっと既にご存知だと思います.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. マスタ FTP サイトから tarball を持ってくるより, <question>
<para>マスタ FTP サイトから tarball を持ってくるより,
近くにある FreeBSD の 近くにある FreeBSD の
ミラーサイトから持ってきた方が速いはずです. MASTER_SITES ミラーサイトから持ってきた方が速いはずです. MASTER_SITES
に書かれている サイト以外から持ってくるように ports に書かれている サイト以外から持ってくるように ports
に指示する方法はありませんか?</para> に指示する方法はありませんか?</para>
</question>
<para>A. もちろんあります. 例えば <hostid <answer>
<para>もちろんあります. 例えば <hostid
role="fqdn">ftp.FreeBSD.org</hostid> が role="fqdn">ftp.FreeBSD.org</hostid> が
<makevar>MASTER_SITES</makevar> に書かれている <makevar>MASTER_SITES</makevar> に書かれている
サイトより近いとしたら, 以下のようにしてください.</para> サイトより近いとしたら, 以下のようにしてください.</para>
@ -884,47 +924,63 @@ do-install:
<screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput> <screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput>
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE=ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen> &prompt.root; <userinput>make MASTER_SITE_OVERRIDE=ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ダウンロードをする前に, <question>
<para>ダウンロードをする前に,
どんなファイルが必要なのか知りたいのですが.</para> どんなファイルが必要なのか知りたいのですが.</para>
</question>
<para>A. <command>make fetch-list</command> とすると, ports <answer>
<para><command>make fetch-list</command> とすると, ports
に必要なファイルの一覧を表示できます.</para> に必要なファイルの一覧を表示できます.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ports のコンパイルを途中で止める方法はありますか? <question>
<para>ports のコンパイルを途中で止める方法はありますか?
私はインストールをする前に 私はインストールをする前に
いろいろとソースコードを解析したいのですが, 毎回 control-C いろいろとソースコードを解析したいのですが, 毎回 control-C
を打たなければならないのが少し面倒です.</para> を打たなければならないのが少し面倒です.</para>
</question>
<para>A. <command>make extract</command> を実行すると, <answer>
<para><command>make extract</command> を実行すると,
ファイル転送とソースコードの展開まで ファイル転送とソースコードの展開まで
おこなったところで停止します.</para> おこなったところで停止します.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. 自分で ports を作ろうとしています. 私の作ったパッチが <question>
<para>自分で ports を作ろうとしています. 私の作ったパッチが
正しく処理できることを確認できるように, 正しく処理できることを確認できるように,
コンパイルを止めたいのです. パッチのための <command>make コンパイルを止めたいのです. パッチのための <command>make
extract</command> のようなものはありませんか?</para> extract</command> のようなものはありませんか?</para>
</question>
<para>A. あります. <command>make patch</command> <answer>
<para>あります. <command>make patch</command>
があなたのお望みのものです. おそらく があなたのお望みのものです. おそらく
<makevar>PATCH_DEBUG</makevar> オプションも同様に <makevar>PATCH_DEBUG</makevar> オプションも同様に
お役に立つことでしょう. ところで, お役に立つことでしょう. ところで,
あなたの努力に感謝いたします!!</para> あなたの努力に感謝いたします!!</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. あるコンパイルオプションはバグの <question>
<para>あるコンパイルオプションはバグの
原因になるという話を聞きました. 本当なのでしょうか? 原因になるという話を聞きました. 本当なのでしょうか?
どうやったら正しい設定で ports どうやったら正しい設定で ports
をコンパイルできますか?</para> をコンパイルできますか?</para>
</question>
<para>A. 本当です. <command>gcc</command> の バージョン 2.6.3 <answer>
<para>本当です. <command>gcc</command> の バージョン 2.6.3
(FreeBSDの 2.1.0 と 2.1.5 に付属している バージョン) では, (FreeBSDの 2.1.0 と 2.1.5 に付属している バージョン) では,
<option>-O2</option> オプションを <option>-O2</option> オプションを
<option>-fno-strength-reduce</option> オプションなしで <option>-fno-strength-reduce</option> オプションなしで
@ -945,14 +1001,18 @@ do-install:
を見て手で修整することですが, ソースが を見て手で修整することですが, ソースが
多くのサブディレクトリにわかれていて, 各々に Makefile 多くのサブディレクトリにわかれていて, 各々に Makefile
がある場合は 大変な仕事になります.</para> がある場合は 大変な仕事になります.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ports がたくさんありすぎて, <question>
<para>ports がたくさんありすぎて,
私の欲しいものがなかなか見つけられません. どんな ports 私の欲しいものがなかなか見つけられません. どんな ports
が使えるのか, リストはどこかにありませんか?</para> が使えるのか, リストはどこかにありませんか?</para>
</question>
<para>A. <filename>/usr/ports</filename> の中にある <answer>
<para><filename>/usr/ports</filename> の中にある
<filename>INDEX</filename> ファイルを見てみましょう. <filename>INDEX</filename> ファイルを見てみましょう.
あるキーワードで ports コレクションを検索したければ, あるキーワードで ports コレクションを検索したければ,
それも可能です. たとえば, それも可能です. たとえば,
@ -961,15 +1021,19 @@ do-install:
<screen>&prompt.user; <userinput>cd /usr/ports</userinput> <screen>&prompt.user; <userinput>cd /usr/ports</userinput>
&prompt.user; <userinput>make search key=lisp</userinput></screen> &prompt.user; <userinput>make search key=lisp</userinput></screen>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. <literal>foo</literal> ports <question>
<para><literal>foo</literal> ports
をインストールしたいのですが, それのコンパイルは をインストールしたいのですが, それのコンパイルは
すぐに停止して, <literal>bar</literal> ports すぐに停止して, <literal>bar</literal> ports
のコンパイルが始まってしまいます. 一体どうして?</para> のコンパイルが始まってしまいます. 一体どうして?</para>
</question>
<para>A. <literal>foo</literal> ports が, <answer>
<para><literal>foo</literal> ports が,
<literal>bar</literal> ports <literal>bar</literal> ports
の提供する何らかの機能を必要としているからです. 例えば の提供する何らかの機能を必要としているからです. 例えば
<literal>foo</literal> が画像を使うとすると, <literal>foo</literal> が画像を使うとすると,
@ -977,17 +1041,21 @@ do-install:
ライブラリを持っている, などです. または, ライブラリを持っている, などです. または,
<literal>bar</literal> は <literal>foo</literal> <literal>bar</literal> は <literal>foo</literal>
をコンパイルするのに必要なツールなのかもしれません.</para> をコンパイルするのに必要なツールなのかもしれません.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para><anchor id="ports-remove"> Q. ports から <question>
<para id="ports-remove">ports から
<literal>grizzle</literal> <literal>grizzle</literal>
プログラムをインストールしましたが, まったく プログラムをインストールしましたが, まったく
ディスクスペースの浪費です. 削除したいのですが, ディスクスペースの浪費です. 削除したいのですが,
すべてのファイルが どこへインストールされたのかわかりません. すべてのファイルが どこへインストールされたのかわかりません.
何か手がかりはありませんか?</para> 何か手がかりはありませんか?</para>
</question>
<para>A. 大丈夫, 次のようにしてください.</para> <answer>
<para>大丈夫, 次のようにしてください.</para>
<informalexample> <informalexample>
<screen>&prompt.root; <userinput>pkg_delete grizzle-6.5</userinput></screen> <screen>&prompt.root; <userinput>pkg_delete grizzle-6.5</userinput></screen>
@ -997,16 +1065,20 @@ do-install:
<screen>&prompt.root; <userinput>cd <replaceable>/usr/ports/somewhere/grizzle</replaceable></userinput> <screen>&prompt.root; <userinput>cd <replaceable>/usr/ports/somewhere/grizzle</replaceable></userinput>
&prompt.root; <userinput>make deinstall</userinput></screen> &prompt.root; <userinput>make deinstall</userinput></screen>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ちょっと待ってください. <question>
<para>ちょっと待ってください.
削除しようとするコマンドのバージョン番号を 削除しようとするコマンドのバージョン番号を
知っていなくてはならないのでしょうか? あなたは, 知っていなくてはならないのでしょうか? あなたは,
私がバージョン番号を 私がバージョン番号を
覚えていることを本気で当てにしているのでしょうか?</para> 覚えていることを本気で当てにしているのでしょうか?</para>
</question>
<para>A. そんなことはありません. <answer>
<para>そんなことはありません.
バージョン番号は次のようにすればわかります.</para> バージョン番号は次のようにすればわかります.</para>
<informalexample> <informalexample>
@ -1014,15 +1086,19 @@ do-install:
Information for grizzle-6.5: Information for grizzle-6.5:
grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arcade game.</screen> grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arcade game.</screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ディスク容量のことなのですが, ports <question>
<para>ディスク容量のことなのですが, ports
のディレクトリは非常に膨大な容量を 使うように見えます. のディレクトリは非常に膨大な容量を 使うように見えます.
残しておいた方がよいのでしょうか? 削除してしまっても 残しておいた方がよいのでしょうか? 削除してしまっても
よいのでしょうか?</para> よいのでしょうか?</para>
</question>
<para>A. はい. インストールが首尾よく終わり, <answer>
<para>はい. インストールが首尾よく終わり,
もうソースコードが必要でないと思うなら, もうソースコードが必要でないと思うなら,
それらを残しておく理由はないでしょう. 一番よい方法は, それらを残しておく理由はないでしょう. 一番よい方法は,
次の通りです.</para> 次の通りです.</para>
@ -1034,52 +1110,66 @@ grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arc
<para>これは, すべての ports のサブディレクトリを調べ, 各 <para>これは, すべての ports のサブディレクトリを調べ, 各
ports のスケルトン以外の削除をおこないます.</para> ports のスケルトン以外の削除をおこないます.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. これを試してみたのですが, tarball や ports <question>
<para>これを試してみたのですが, tarball や ports
で使われたファイルが <filename>distfiles</filename> で使われたファイルが <filename>distfiles</filename>
ディレクトリに残っています. ディレクトリに残っています.
これも削除してしまっても大丈夫ですか?</para> これも削除してしまっても大丈夫ですか?</para>
</question>
<para>A. はい. それを使った作業が終わったのであれば, <answer>
<para>はい. それを使った作業が終わったのであれば,
削除してしまっても大丈夫です.</para> 削除してしまっても大丈夫です.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. <question>
私はとてもとてもたくさんのプログラムを楽しみたいのです. <para>私はとてもとてもたくさんのプログラムを楽しみたいのです.
一度にすべての ports 一度にすべての ports
をインストールする方法はありませんか?</para> をインストールする方法はありませんか?</para>
</question>
<para>A. 次のようにしてください.</para> <answer>
<para>次のようにしてください.</para>
<informalexample> <informalexample>
<screen>&prompt.root; <userinput>cd /usr/ports</userinput> <screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make install</userinput></screen> &prompt.root; <userinput>make install</userinput></screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. やってみました. 時間がとてもかかるだろうと思ったので, <question>
<para>やってみました. 時間がとてもかかるだろうと思ったので,
そのまま実行を 続けさせて, 私は寝ました. そのまま実行を 続けさせて, 私は寝ました.
翌朝コンピュータを見てみると, 三つ半の ports しか 翌朝コンピュータを見てみると, 三つ半の ports しか
処理が終わっていませんでした. 処理が終わっていませんでした.
なにか悪かったのでしょうか?</para> なにか悪かったのでしょうか?</para>
</question>
<para>A. これは ports の中には私たちの決められないこと <answer>
<para>これは ports の中には私たちの決められないこと
(例えば, あなたが A4 の 用紙に印刷したいのか, US (例えば, あなたが A4 の 用紙に印刷したいのか, US
レターサイズの用紙に印刷したいのかなど) について レターサイズの用紙に印刷したいのかなど) について
質問してくるものがあるからです. 質問してくるものがあるからです.
それらの質問には手動で答える必要があります.</para> それらの質問には手動で答える必要があります.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. <question>
私は一日中モニタの前に座って過ごしたりしたくないのですが. <para>私は一日中モニタの前に座って過ごしたりしたくないのですが.
何かよいアイデアはありませんか?</para> 何かよいアイデアはありませんか?</para>
</question>
<para>A. では, あなたが寝に / 仕事に / <answer>
<para>では, あなたが寝に / 仕事に /
公園にいく前に以下を実行してください:-</para> 公園にいく前に以下を実行してください:-</para>
<informalexample> <informalexample>
@ -1097,16 +1187,20 @@ grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arc
</informalexample> </informalexample>
<para>そして, 残りの作業を実行してください.</para> <para>そして, 残りの作業を実行してください.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. 私たちは ports コレクションにある <question>
<para>私たちは ports コレクションにある
<literal>frobble</literal> を使っています. ですが, <literal>frobble</literal> を使っています. ですが,
私たちの必要に応じて ports を変更したところがあるのです. 私たちの必要に応じて ports を変更したところがあるのです.
自分でパッケージを作って, それを私たちのサイトのまわりに 自分でパッケージを作って, それを私たちのサイトのまわりに
簡単に配布できるような方法がありますか?</para> 簡単に配布できるような方法がありますか?</para>
</question>
<para>A. もちろんあります. <answer>
<para>もちろんあります.
変更点をパッチにする方法は知っていますよね:-</para> 変更点をパッチにする方法は知っていますよね:-</para>
<informalexample> <informalexample>
@ -1117,26 +1211,29 @@ grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arc
&prompt.root; <userinput>cd ../..</userinput> &prompt.root; <userinput>cd ../..</userinput>
&prompt.root; <userinput>make package</userinput></screen> &prompt.root; <userinput>make package</userinput></screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. この ports の技術は本当に賢いですね. <question>
<para>この ports の技術は本当に賢いですね.
どのようにして動いているのか どのようにして動いているのか
私はどうしても知りたいと思います. その秘密は何ですか?</para> 私はどうしても知りたいと思います. その秘密は何ですか?</para>
</question>
<para>A. 秘密は一切ありません. <ulink <answer>
<para>秘密は一切ありません. <ulink
URL="file://localhost/usr/ports/Mk/">Makefiles URL="file://localhost/usr/ports/Mk/">Makefiles
ディレクトリ</ulink> にある ディレクトリ</ulink> にある
<filename>bsd.ports.mk</filename> と <filename>bsd.ports.mk</filename> と
<filename>bsd.ports.subdir.mk</filename> <filename>bsd.ports.subdir.mk</filename>
ファイルを見るだけです.</para> ファイルを見るだけです.</para>
<note>
<para>複雑なシェルスクリプトを嫌う読者は, <para>複雑なシェルスクリプトを嫌う読者は,
このリンクを追いかけないほうが よいでしょう.</para> このリンクを追いかけないほうが よいでしょう.</para>
</note> </answer>
</listitem> </qandaentry>
</itemizedlist> </qandaset>
</sect1> </sect1>
<sect1 id="porting"> <sect1 id="porting">
@ -5416,6 +5513,6 @@ pre-install:
sgml-indent-data: t sgml-indent-data: t
sgml-omittag: nil sgml-omittag: nil
sgml-always-quote-attributes: t sgml-always-quote-attributes: t
sgml-parent-document: ("../handbook.sgml" "part" "chapter") sgml-parent-document: ("../book.sgml" "part" "chapter")
End: End:
--> -->

View file

@ -2,8 +2,8 @@
The FreeBSD Documentation Project The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project The FreeBSD Japanese Documentation Project
Original revision: 1.44 Original revision: 1.45
$FreeBSD: doc/ja_JP.eucJP/books/handbook/ports/chapter.sgml,v 1.13 1999/10/02 02:57:58 kuriyama Exp $ $FreeBSD: doc/ja_JP.eucJP/books/handbook/ports/chapter.sgml,v 1.14 1999/10/04 16:55:49 kuriyama Exp $
--> -->
<chapter id="ports"> <chapter id="ports">
@ -614,12 +614,15 @@ do-install:
<sect1> <sect1>
<title>質問と回答集</title> <title>質問と回答集</title>
<itemizedlist> <qandaset>
<listitem> <qandaentry>
<para>Q. 私はモデムについての議論を <question>
<para>私はモデムについての議論を
しているのかと思っていました??!</para> しているのかと思っていました??!</para>
</question>
<para>A.なるほど, あなたはきっとコンピュータの背面についている <answer>
<para>なるほど, あなたはきっとコンピュータの背面についている
シリアルポートのことだと思ってしまったのでしょう. シリアルポートのことだと思ってしまったのでしょう.
あるバージョンの Unixから別のバージョンの Unix あるバージョンの Unixから別のバージョンの Unix
へとプログラムを 移殖することを &ldquo;porting&rdquo; へとプログラムを 移殖することを &ldquo;porting&rdquo;
@ -628,20 +631,28 @@ do-install:
(コンピュータに関わる人々の悪しき習慣として, (コンピュータに関わる人々の悪しき習慣として,
ひとつの同じ言葉を複数の ひとつの同じ言葉を複数の
まったく違う意味として使うことがあるのです.)</para> まったく違う意味として使うことがあるのです.)</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. 私は, 標準以外のプログラムのインストールには packages <question>
<para>私は, 標準以外のプログラムのインストールには packages
を使うと 思っていたのですが.</para> を使うと 思っていたのですが.</para>
</question>
<para>A. そのとおり. 通常は packages <answer>
<para>そのとおり. 通常は packages
が最も手早くて簡単な方法です.</para> が最も手早くて簡単な方法です.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. それではどうして面倒な ports があるのですか?</para> <question>
<para>それではどうして面倒な ports があるのですか?</para>
</question>
<para>A. いくつかの理由があります:-</para> <answer>
<para>いくつかの理由があります:-</para>
<orderedlist> <orderedlist>
<listitem> <listitem>
@ -686,13 +697,16 @@ do-install:
-->;-)</para> -->;-)</para>
</listitem> </listitem>
</orderedlist> </orderedlist>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para><anchor id="ports-patch"> <question>
Q. パッチとは何ですか?</para> <para id="ports-patch"> パッチとは何ですか?</para>
</question>
<para>A. パッチとは, <answer>
<para>パッチとは,
あるバージョンから他のバージョンへどのように変更するかを あるバージョンから他のバージョンへどのように変更するかを
示す, (通常は) 小さなファイルです. &ldquo;23 示す, (通常は) 小さなファイルです. &ldquo;23
行目を削除&rdquo;, &ldquo;468 行目の後に これらの 2 行目を削除&rdquo;, &ldquo;468 行目の後に これらの 2
@ -700,13 +714,16 @@ do-install:
行目をこのように変更&rdquo;というような 内容を含んでいます. 行目をこのように変更&rdquo;というような 内容を含んでいます.
これは, &ldquo;diff&rdquo; これは, &ldquo;diff&rdquo;
という名前のプログラムで生成されます.</para> という名前のプログラムで生成されます.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para><anchor id="ports-tarball"> <question>
Q. tarball とは一体何ですか?</para> <para id="ports-tarball">tarball とは一体何ですか?</para>
</question>
<para>A. <filename>.tar</filename> または <answer>
<para><filename>.tar</filename> または
<filename>.tar.gz</filename> という拡張子を持つファイルです. <filename>.tar.gz</filename> という拡張子を持つファイルです.
(<filename>.tar.Z</filename> のようなバリエーションも (<filename>.tar.Z</filename> のようなバリエーションも
ありますし, DOS のファイルシステム用に ありますし, DOS のファイルシステム用に
@ -735,13 +752,16 @@ do-install:
&prompt.user; <userinput>tar xvf foobar.tar</userinput> &prompt.user; <userinput>tar xvf foobar.tar</userinput>
</screen> </screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para><anchor id="ports-checksum"> <question>
Q. チェックサムとは何ですか?</para> <para id="ports-checksum">チェックサムとは何ですか?</para>
</question>
<para>A. これは, <answer>
<para>これは,
チェックしたいファイル中のすべてのデータを加えて生成した チェックしたいファイル中のすべてのデータを加えて生成した
数値です. 何か文字が書き換わっていたら, 数値です. 何か文字が書き換わっていたら,
チェックサムが一致しなくなります. そのため, チェックサムが一致しなくなります. そのため,
@ -749,10 +769,12 @@ do-install:
(実際には, 文字の位置が入れ替わるなどの, (実際には, 文字の位置が入れ替わるなどの,
単純な加算ではわからない問題も 単純な加算ではわからない問題も
見つけることができる複雑な方法で計算されています.)</para> 見つけることができる複雑な方法で計算されています.)</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. 私は, <link linkend="ports-cd">CD-ROM から ports <question>
<para>私は, <link linkend="ports-cd">CD-ROM から ports
をコンパイルする</link> にしたがって ports をコンパイルする</link> にしたがって ports
をインストールしていました. kermit をインストールしていました. kermit
をインストールしようとするまではうまくいっていました:-</para> をインストールしようとするまではうまくいっていました:-</para>
@ -765,8 +787,10 @@ do-install:
<para>なぜ cku190.tar.gz が見つからないのでしょうか? 不良品の <para>なぜ cku190.tar.gz が見つからないのでしょうか? 不良品の
CD-ROM を買ってしまったのでしょうか?</para> CD-ROM を買ってしまったのでしょうか?</para>
</question>
<para>A. Kermit の権利を持つチームは, 私たちの CDROM に kermit <answer>
<para>Kermit の権利を持つチームは, 私たちの CDROM に kermit
の tarball を 入れることを許可しませんでした. の tarball を 入れることを許可しませんでした.
申し分けありませんが, 手動でファイルを 入手してください. 申し分けありませんが, 手動でファイルを 入手してください.
このようなエラーメッセージが出たのは, このようなエラーメッセージが出たのは,
@ -776,15 +800,19 @@ do-install:
(ダウンロードの際には, (ダウンロードの際には,
あなたに最も近いサイトを選ぶようにしてください. そうすれば, あなたに最も近いサイトを選ぶようにしてください. そうすれば,
時間とインターネットの帯域の節約になります)</para> 時間とインターネットの帯域の節約になります)</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. kermit の tarball を入手しましたが, <question>
<para>kermit の tarball を入手しましたが,
<filename>/usr/ports/distfiles</filename> に <filename>/usr/ports/distfiles</filename> に
ファイルを置こうとすると, ファイルを置こうとすると,
書き込み権がないというエラーがでます.</para> 書き込み権がないというエラーがでます.</para>
</question>
<para>A. ports のしくみは <answer>
<para>ports のしくみは
<filename>/usr/ports/distfiles</filename> から tarball <filename>/usr/ports/distfiles</filename> から tarball
を探します. しかし, これは read-only の CD-ROM を探します. しかし, これは read-only の CD-ROM
へのシンボリックリンクなので, へのシンボリックリンクなので,
@ -794,17 +822,21 @@ do-install:
<informalexample> <informalexample>
<screen>&prompt.root; <userinput>make DISTDIR=<replaceable>/where/you/put/it</replaceable> install</userinput></screen> <screen>&prompt.root; <userinput>make DISTDIR=<replaceable>/where/you/put/it</replaceable> install</userinput></screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ports では, すべてを <filename>/usr/ports</filename> <question>
<para>ports では, すべてを <filename>/usr/ports</filename>
に置いたときだけ動作するのでしょうか? に置いたときだけ動作するのでしょうか?
システムの管理者によると, 私の個人的なファイルは システムの管理者によると, 私の個人的なファイルは
<filename>/u/people/guests/wurzburger</filename> <filename>/u/people/guests/wurzburger</filename>
に入れなければならないのですが, これでは に入れなければならないのですが, これでは
うまくいかないように思います.</para> うまくいかないように思います.</para>
</question>
<para>A. <makevar>PORTSDIR</makevar> 変数と <answer>
<para><makevar>PORTSDIR</makevar> 変数と
<makevar>PREFIX</makevar> 変数を変更することで, <makevar>PREFIX</makevar> 変数を変更することで,
違うディレクトリを 使用することができます. 例えば,</para> 違うディレクトリを 使用することができます. 例えば,</para>
@ -839,16 +871,20 @@ do-install:
これらを毎回タイプするのが 気に入らないのであれば, これらを毎回タイプするのが 気に入らないのであれば,
(正直に言って, 誰もそう思わないでしょう) (正直に言って, 誰もそう思わないでしょう)
これらを環境変数にセットしてしまうという手があります.</para> これらを環境変数にセットしてしまうという手があります.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. 私は, FreeBSD の CD-ROM を持っていませんが, <question>
<para>私は, FreeBSD の CD-ROM を持っていませんが,
私はすべての tarball を 私のシステムに置いておきたいのです. 私はすべての tarball を 私のシステムに置いておきたいのです.
そうすれば, 私は ports をインストール するたびに, そうすれば, 私は ports をインストール するたびに,
毎回ダウンロードが終わるのを待たなくてすむでしょう. 毎回ダウンロードが終わるのを待たなくてすむでしょう.
これを一度におこなう簡単な方法はありませんか?</para> これを一度におこなう簡単な方法はありませんか?</para>
</question>
<para>A. ports コレクション全体の tarball を持ってくるには, <answer>
<para>ports コレクション全体の tarball を持ってくるには,
次のようにしてください.</para> 次のようにしてください.</para>
<informalexample> <informalexample>
@ -866,16 +902,20 @@ do-install:
<para>ports をひとつだけ持ってくる方法は, <para>ports をひとつだけ持ってくる方法は,
きっと既にご存知だと思います.</para> きっと既にご存知だと思います.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. マスタ FTP サイトから tarball を持ってくるより, <question>
<para>マスタ FTP サイトから tarball を持ってくるより,
近くにある FreeBSD の 近くにある FreeBSD の
ミラーサイトから持ってきた方が速いはずです. MASTER_SITES ミラーサイトから持ってきた方が速いはずです. MASTER_SITES
に書かれている サイト以外から持ってくるように ports に書かれている サイト以外から持ってくるように ports
に指示する方法はありませんか?</para> に指示する方法はありませんか?</para>
</question>
<para>A. もちろんあります. 例えば <hostid <answer>
<para>もちろんあります. 例えば <hostid
role="fqdn">ftp.FreeBSD.org</hostid> が role="fqdn">ftp.FreeBSD.org</hostid> が
<makevar>MASTER_SITES</makevar> に書かれている <makevar>MASTER_SITES</makevar> に書かれている
サイトより近いとしたら, 以下のようにしてください.</para> サイトより近いとしたら, 以下のようにしてください.</para>
@ -884,47 +924,63 @@ do-install:
<screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput> <screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput>
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE=ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen> &prompt.root; <userinput>make MASTER_SITE_OVERRIDE=ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ダウンロードをする前に, <question>
<para>ダウンロードをする前に,
どんなファイルが必要なのか知りたいのですが.</para> どんなファイルが必要なのか知りたいのですが.</para>
</question>
<para>A. <command>make fetch-list</command> とすると, ports <answer>
<para><command>make fetch-list</command> とすると, ports
に必要なファイルの一覧を表示できます.</para> に必要なファイルの一覧を表示できます.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ports のコンパイルを途中で止める方法はありますか? <question>
<para>ports のコンパイルを途中で止める方法はありますか?
私はインストールをする前に 私はインストールをする前に
いろいろとソースコードを解析したいのですが, 毎回 control-C いろいろとソースコードを解析したいのですが, 毎回 control-C
を打たなければならないのが少し面倒です.</para> を打たなければならないのが少し面倒です.</para>
</question>
<para>A. <command>make extract</command> を実行すると, <answer>
<para><command>make extract</command> を実行すると,
ファイル転送とソースコードの展開まで ファイル転送とソースコードの展開まで
おこなったところで停止します.</para> おこなったところで停止します.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. 自分で ports を作ろうとしています. 私の作ったパッチが <question>
<para>自分で ports を作ろうとしています. 私の作ったパッチが
正しく処理できることを確認できるように, 正しく処理できることを確認できるように,
コンパイルを止めたいのです. パッチのための <command>make コンパイルを止めたいのです. パッチのための <command>make
extract</command> のようなものはありませんか?</para> extract</command> のようなものはありませんか?</para>
</question>
<para>A. あります. <command>make patch</command> <answer>
<para>あります. <command>make patch</command>
があなたのお望みのものです. おそらく があなたのお望みのものです. おそらく
<makevar>PATCH_DEBUG</makevar> オプションも同様に <makevar>PATCH_DEBUG</makevar> オプションも同様に
お役に立つことでしょう. ところで, お役に立つことでしょう. ところで,
あなたの努力に感謝いたします!!</para> あなたの努力に感謝いたします!!</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. あるコンパイルオプションはバグの <question>
<para>あるコンパイルオプションはバグの
原因になるという話を聞きました. 本当なのでしょうか? 原因になるという話を聞きました. 本当なのでしょうか?
どうやったら正しい設定で ports どうやったら正しい設定で ports
をコンパイルできますか?</para> をコンパイルできますか?</para>
</question>
<para>A. 本当です. <command>gcc</command> の バージョン 2.6.3 <answer>
<para>本当です. <command>gcc</command> の バージョン 2.6.3
(FreeBSDの 2.1.0 と 2.1.5 に付属している バージョン) では, (FreeBSDの 2.1.0 と 2.1.5 に付属している バージョン) では,
<option>-O2</option> オプションを <option>-O2</option> オプションを
<option>-fno-strength-reduce</option> オプションなしで <option>-fno-strength-reduce</option> オプションなしで
@ -945,14 +1001,18 @@ do-install:
を見て手で修整することですが, ソースが を見て手で修整することですが, ソースが
多くのサブディレクトリにわかれていて, 各々に Makefile 多くのサブディレクトリにわかれていて, 各々に Makefile
がある場合は 大変な仕事になります.</para> がある場合は 大変な仕事になります.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ports がたくさんありすぎて, <question>
<para>ports がたくさんありすぎて,
私の欲しいものがなかなか見つけられません. どんな ports 私の欲しいものがなかなか見つけられません. どんな ports
が使えるのか, リストはどこかにありませんか?</para> が使えるのか, リストはどこかにありませんか?</para>
</question>
<para>A. <filename>/usr/ports</filename> の中にある <answer>
<para><filename>/usr/ports</filename> の中にある
<filename>INDEX</filename> ファイルを見てみましょう. <filename>INDEX</filename> ファイルを見てみましょう.
あるキーワードで ports コレクションを検索したければ, あるキーワードで ports コレクションを検索したければ,
それも可能です. たとえば, それも可能です. たとえば,
@ -961,15 +1021,19 @@ do-install:
<screen>&prompt.user; <userinput>cd /usr/ports</userinput> <screen>&prompt.user; <userinput>cd /usr/ports</userinput>
&prompt.user; <userinput>make search key=lisp</userinput></screen> &prompt.user; <userinput>make search key=lisp</userinput></screen>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. <literal>foo</literal> ports <question>
<para><literal>foo</literal> ports
をインストールしたいのですが, それのコンパイルは をインストールしたいのですが, それのコンパイルは
すぐに停止して, <literal>bar</literal> ports すぐに停止して, <literal>bar</literal> ports
のコンパイルが始まってしまいます. 一体どうして?</para> のコンパイルが始まってしまいます. 一体どうして?</para>
</question>
<para>A. <literal>foo</literal> ports が, <answer>
<para><literal>foo</literal> ports が,
<literal>bar</literal> ports <literal>bar</literal> ports
の提供する何らかの機能を必要としているからです. 例えば の提供する何らかの機能を必要としているからです. 例えば
<literal>foo</literal> が画像を使うとすると, <literal>foo</literal> が画像を使うとすると,
@ -977,17 +1041,21 @@ do-install:
ライブラリを持っている, などです. または, ライブラリを持っている, などです. または,
<literal>bar</literal> は <literal>foo</literal> <literal>bar</literal> は <literal>foo</literal>
をコンパイルするのに必要なツールなのかもしれません.</para> をコンパイルするのに必要なツールなのかもしれません.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para><anchor id="ports-remove"> Q. ports から <question>
<para id="ports-remove">ports から
<literal>grizzle</literal> <literal>grizzle</literal>
プログラムをインストールしましたが, まったく プログラムをインストールしましたが, まったく
ディスクスペースの浪費です. 削除したいのですが, ディスクスペースの浪費です. 削除したいのですが,
すべてのファイルが どこへインストールされたのかわかりません. すべてのファイルが どこへインストールされたのかわかりません.
何か手がかりはありませんか?</para> 何か手がかりはありませんか?</para>
</question>
<para>A. 大丈夫, 次のようにしてください.</para> <answer>
<para>大丈夫, 次のようにしてください.</para>
<informalexample> <informalexample>
<screen>&prompt.root; <userinput>pkg_delete grizzle-6.5</userinput></screen> <screen>&prompt.root; <userinput>pkg_delete grizzle-6.5</userinput></screen>
@ -997,16 +1065,20 @@ do-install:
<screen>&prompt.root; <userinput>cd <replaceable>/usr/ports/somewhere/grizzle</replaceable></userinput> <screen>&prompt.root; <userinput>cd <replaceable>/usr/ports/somewhere/grizzle</replaceable></userinput>
&prompt.root; <userinput>make deinstall</userinput></screen> &prompt.root; <userinput>make deinstall</userinput></screen>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ちょっと待ってください. <question>
<para>ちょっと待ってください.
削除しようとするコマンドのバージョン番号を 削除しようとするコマンドのバージョン番号を
知っていなくてはならないのでしょうか? あなたは, 知っていなくてはならないのでしょうか? あなたは,
私がバージョン番号を 私がバージョン番号を
覚えていることを本気で当てにしているのでしょうか?</para> 覚えていることを本気で当てにしているのでしょうか?</para>
</question>
<para>A. そんなことはありません. <answer>
<para>そんなことはありません.
バージョン番号は次のようにすればわかります.</para> バージョン番号は次のようにすればわかります.</para>
<informalexample> <informalexample>
@ -1014,15 +1086,19 @@ do-install:
Information for grizzle-6.5: Information for grizzle-6.5:
grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arcade game.</screen> grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arcade game.</screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. ディスク容量のことなのですが, ports <question>
<para>ディスク容量のことなのですが, ports
のディレクトリは非常に膨大な容量を 使うように見えます. のディレクトリは非常に膨大な容量を 使うように見えます.
残しておいた方がよいのでしょうか? 削除してしまっても 残しておいた方がよいのでしょうか? 削除してしまっても
よいのでしょうか?</para> よいのでしょうか?</para>
</question>
<para>A. はい. インストールが首尾よく終わり, <answer>
<para>はい. インストールが首尾よく終わり,
もうソースコードが必要でないと思うなら, もうソースコードが必要でないと思うなら,
それらを残しておく理由はないでしょう. 一番よい方法は, それらを残しておく理由はないでしょう. 一番よい方法は,
次の通りです.</para> 次の通りです.</para>
@ -1034,52 +1110,66 @@ grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arc
<para>これは, すべての ports のサブディレクトリを調べ, 各 <para>これは, すべての ports のサブディレクトリを調べ, 各
ports のスケルトン以外の削除をおこないます.</para> ports のスケルトン以外の削除をおこないます.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. これを試してみたのですが, tarball や ports <question>
<para>これを試してみたのですが, tarball や ports
で使われたファイルが <filename>distfiles</filename> で使われたファイルが <filename>distfiles</filename>
ディレクトリに残っています. ディレクトリに残っています.
これも削除してしまっても大丈夫ですか?</para> これも削除してしまっても大丈夫ですか?</para>
</question>
<para>A. はい. それを使った作業が終わったのであれば, <answer>
<para>はい. それを使った作業が終わったのであれば,
削除してしまっても大丈夫です.</para> 削除してしまっても大丈夫です.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. <question>
私はとてもとてもたくさんのプログラムを楽しみたいのです. <para>私はとてもとてもたくさんのプログラムを楽しみたいのです.
一度にすべての ports 一度にすべての ports
をインストールする方法はありませんか?</para> をインストールする方法はありませんか?</para>
</question>
<para>A. 次のようにしてください.</para> <answer>
<para>次のようにしてください.</para>
<informalexample> <informalexample>
<screen>&prompt.root; <userinput>cd /usr/ports</userinput> <screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make install</userinput></screen> &prompt.root; <userinput>make install</userinput></screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. やってみました. 時間がとてもかかるだろうと思ったので, <question>
<para>やってみました. 時間がとてもかかるだろうと思ったので,
そのまま実行を 続けさせて, 私は寝ました. そのまま実行を 続けさせて, 私は寝ました.
翌朝コンピュータを見てみると, 三つ半の ports しか 翌朝コンピュータを見てみると, 三つ半の ports しか
処理が終わっていませんでした. 処理が終わっていませんでした.
なにか悪かったのでしょうか?</para> なにか悪かったのでしょうか?</para>
</question>
<para>A. これは ports の中には私たちの決められないこと <answer>
<para>これは ports の中には私たちの決められないこと
(例えば, あなたが A4 の 用紙に印刷したいのか, US (例えば, あなたが A4 の 用紙に印刷したいのか, US
レターサイズの用紙に印刷したいのかなど) について レターサイズの用紙に印刷したいのかなど) について
質問してくるものがあるからです. 質問してくるものがあるからです.
それらの質問には手動で答える必要があります.</para> それらの質問には手動で答える必要があります.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. <question>
私は一日中モニタの前に座って過ごしたりしたくないのですが. <para>私は一日中モニタの前に座って過ごしたりしたくないのですが.
何かよいアイデアはありませんか?</para> 何かよいアイデアはありませんか?</para>
</question>
<para>A. では, あなたが寝に / 仕事に / <answer>
<para>では, あなたが寝に / 仕事に /
公園にいく前に以下を実行してください:-</para> 公園にいく前に以下を実行してください:-</para>
<informalexample> <informalexample>
@ -1097,16 +1187,20 @@ grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arc
</informalexample> </informalexample>
<para>そして, 残りの作業を実行してください.</para> <para>そして, 残りの作業を実行してください.</para>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. 私たちは ports コレクションにある <question>
<para>私たちは ports コレクションにある
<literal>frobble</literal> を使っています. ですが, <literal>frobble</literal> を使っています. ですが,
私たちの必要に応じて ports を変更したところがあるのです. 私たちの必要に応じて ports を変更したところがあるのです.
自分でパッケージを作って, それを私たちのサイトのまわりに 自分でパッケージを作って, それを私たちのサイトのまわりに
簡単に配布できるような方法がありますか?</para> 簡単に配布できるような方法がありますか?</para>
</question>
<para>A. もちろんあります. <answer>
<para>もちろんあります.
変更点をパッチにする方法は知っていますよね:-</para> 変更点をパッチにする方法は知っていますよね:-</para>
<informalexample> <informalexample>
@ -1117,26 +1211,29 @@ grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arc
&prompt.root; <userinput>cd ../..</userinput> &prompt.root; <userinput>cd ../..</userinput>
&prompt.root; <userinput>make package</userinput></screen> &prompt.root; <userinput>make package</userinput></screen>
</informalexample> </informalexample>
</listitem> </answer>
</qandaentry>
<listitem> <qandaentry>
<para>Q. この ports の技術は本当に賢いですね. <question>
<para>この ports の技術は本当に賢いですね.
どのようにして動いているのか どのようにして動いているのか
私はどうしても知りたいと思います. その秘密は何ですか?</para> 私はどうしても知りたいと思います. その秘密は何ですか?</para>
</question>
<para>A. 秘密は一切ありません. <ulink <answer>
<para>秘密は一切ありません. <ulink
URL="file://localhost/usr/ports/Mk/">Makefiles URL="file://localhost/usr/ports/Mk/">Makefiles
ディレクトリ</ulink> にある ディレクトリ</ulink> にある
<filename>bsd.ports.mk</filename> と <filename>bsd.ports.mk</filename> と
<filename>bsd.ports.subdir.mk</filename> <filename>bsd.ports.subdir.mk</filename>
ファイルを見るだけです.</para> ファイルを見るだけです.</para>
<note>
<para>複雑なシェルスクリプトを嫌う読者は, <para>複雑なシェルスクリプトを嫌う読者は,
このリンクを追いかけないほうが よいでしょう.</para> このリンクを追いかけないほうが よいでしょう.</para>
</note> </answer>
</listitem> </qandaentry>
</itemizedlist> </qandaset>
</sect1> </sect1>
<sect1 id="porting"> <sect1 id="porting">
@ -5416,6 +5513,6 @@ pre-install:
sgml-indent-data: t sgml-indent-data: t
sgml-omittag: nil sgml-omittag: nil
sgml-always-quote-attributes: t sgml-always-quote-attributes: t
sgml-parent-document: ("../handbook.sgml" "part" "chapter") sgml-parent-document: ("../book.sgml" "part" "chapter")
End: End:
--> -->