製作著作 © 1995-2013 The FreeBSD Documentation Project
Copyright
Redistribution and use in source (XML DocBook) and 'compiled' forms (XML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code (XML DocBook) must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified.
Redistributions in compiled form (transformed to other DTDs, converted to PDF, PostScript, RTF and other formats) must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FreeBSD は The FreeBSD Foundation の登録商標です。
3Com および HomeConnect は 3Com Corporation の登録商標です。
3ware および Escalade は 3ware Inc. の登録商標です。
ARM は ARM Limited の登録商標です。
Adaptec は Adaptec, Inc. の登録商標です。
Adobe, Acrobat, Acrobat Reader および PostScript は アメリカ合衆国および/またはその他の国の Adobe Systems Incorporated の登録商標または商標です。
Apple, FireWire, Mac, Macintosh, Mac OS, Quicktime および TrueType は Apple Computer, Inc. の商標で、 アメリカ合衆国およびその他の国で登録されています。
Sound Blaster は アメリカ合衆国および/またはその他の国における Creative Technology Ltd. の商標です。
CVSup は John D. Polstra の登録商標です。
Heidelberg, Helvetica, Palatino, and Times Roman はアメリカ合衆国およびその他の国における Heidelberger Druckmaschinen AG の登録商標または商標です。
IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390 および ThinkPad は アメリカ合衆国および/またはその他の国における International Business Machines Corporation の商標です。
IEEE, POSIX および 802 は アメリカ合衆国における Institute of Electrical and Electronics Engineers, Inc. の登録商標です。
Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium および Xeon はアメリカ合衆国およびその他の国における Intel Corporation またはその関連会社の商標または登録商標です。
Intuit および Quicken は アメリカ合衆国およびその他の国における Intuit Inc. またはその関連会社の 登録商標です。
Linux は Linus Torvalds の登録商標です。
LSI Logic, AcceleRAID, eXtremeRAID, MegaRAID および Mylex は LSI Logic Corp. の商標または登録商標です。
M-Systems および DiskOnChip は M-Systems Flash Disk Pioneers, Ltd. の商標または登録商標です。
Macromedia, Flash および Shockwave は アメリカ合衆国および/またはその他の国における Macromedia, Inc. の商標または登録商標です。
Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media および Windows NT は アメリカ合衆国および/またはその他の国における Microsoft Corporation の登録商標または商標です。
GateD および NextHop は アメリカ合衆国およびその他の国における NextHop の登録商標および商標です。
Motif, OSF/1 および UNIX は アメリカ合衆国およびその他の国における The Open Group の登録商標で、 IT DialTone および The Open Group は同じく商標です。
Oracle は Oracle Corporation の登録商標です。
RealNetworks, RealPlayer および RealAudio は RealNetworks, Inc. の登録商標です。
Red Hat, RPM は アメリカ合衆国およびその他の国における Red Hat, Inc. の商標または登録商標です。
SAP, R/3 および mySAP は ドイツおよび世界中のいくつもの国における SAP AG の登録商標です。
Sun, Sun Microsystems, Java, Java Virtual Machine, JavaServer Pages, JDK, JSP, JVM, Netra, Solaris, StarOffice, Sun Blade, Sun Enterprise, Sun Fire, SunOS および Ultra は アメリカ合衆国およびその他の国における Sun Microsystems, Inc. の 商標または登録商標です。
MATLAB は The MathWorks, Inc. の登録商標です。
SpeedTouch は Thomson の商標です。
U.S. Robotics および Sportster は U.S. Robotics Corporation の登録商標です。
VMware は VMware, Inc. の商標です。
Waterloo Maple および Maple は Waterloo Maple Inc. の商標または登録商標です。
Mathematica は Wolfram Research, Inc. の登録商標です。
XFree86 は The XFree86 Project, Inc. の商標です。
Ogg Vorbis および Xiph.Org は Xiph.Org の商標です。
製造者および販売者が製品を区別するのに 用いている表示の多くは、商標とされています。 この文書に登場する表示のうち FreeBSD Project がその商標を確認しているものには、その表示に続いて 「™」 または 「®」 記号がおかれています。
FreeBSD へようこそ! このハンドブックは FreeBSD 8.4-RELEASE と FreeBSD 9.1-RELEASE のインストールおよび、日常での使い方について記述したものです。 本ハンドブックは改編作業中であり、 さまざまな人々が編集に携わっています。 いま存在するセクションの中には情報が古くなってしまったため、 更新作業の必要があるものも含まれています。 もし、このハンドブックを編集するプロジェクトに協力したいとお考えなら、 FreeBSD documentation project メーリングリスト まで電子メールを(英語で)送ってください。 この文書の最新バージョンは、いつでも 日本国内版の FreeBSD ウェブサイト および FreeBSD ウェブサイト から入手できます (この文書の以前のバージョンは http://docs.FreeBSD.org/doc/ から入手できます)。 また、他のさまざまな文書形式、圧縮形式のものが FreeBSD FTP サーバ や数多くの ミラーサイト からダウンロードできます。 このハンドブックの書籍版 (英語版) は、 FreeBSD Mall から購入できます。 また、ハンドブックの検索 を行なうこともできます。
FreeBSD ハンドブック日本語版の作成は FreeBSD
日本語ドキュメンテーションプロジェクト (FreeBSD doc-jp) がおこなっています。
ハンドブックの日本語訳に関することは FreeBSD 日本語ドキュメンテーションプロジェクト <doc-jp@jp.FreeBSD.org>
において日本語で議論されています。
文書の日本語訳に関するお問い合わせや、
文書の原文に関する問い合わせをしたいが英語が得意でないという方は
FreeBSD 日本語ドキュメンテーションプロジェクト <doc-jp@jp.FreeBSD.org> まで、日本語でコメントをお寄せください。
root パスワードの設定ed0 ネットワークの設定inetd.conf の編集exports ファイルの編集boot0 のスクリーンショットboot2 のスクリーンショット/etc/ttys の insecure コンソールrmuser による対話的なアカウントの削除chpasschpassdump の利用RSH を設定した ssh 越しの dump を利用vnconfig を用いたファイルベースディスクの新規作成mdconfig を用いた既存のファイルシステムイメージのマウントmdconfig を用いたファイルシステムイメージの新規作成mdmfs を用いたファイルベースディスクの設定とマウントmdconfig を用いたメモリベースディスクの新規作成mdmfs を用いたメモリベースディスクの新規作成/etc/ttys
に追加する最初の部分は FreeBSD を使い始めた人向けで、FreeBSD のインストールの過程を手引きし、UNIX® の基礎となっている概念や慣習を丁寧に紹介します。 この部分に取り組むために必要なのは、探究心と、 紹介された新たな概念を理解する能力だけです。
その次の、ハンドブックのはるかに大きな部分では、FreeBSD システム管理者が興味を抱くあらゆる種類の話題が分かりやすく言及されています。 一部の章は、その章の前に読んでおくべきことが推奨されており、 各章の始めの概要で述べられています。
さらなる情報源の一覧は、付録B 参考図書 をご覧ください。
第 2 版は、FreeBSD ドキュメンテーションプロジェクトの献身的なメンバーによる 2 年以上に渡る作業の頂点に立つものです。 この新たな版における主な変更は、次のようなものです。
完備した索引が追加されました。
ASCII キャラクタによる図はすべて画像に置き換えられました (訳注: 日本語版は作業中です)。
各章に、章に記載されている内容と、 読者に期待される予備知識がすぐに分かるように、 一定の内容の概要が付け加えられました。
内容は、「始めに」、「システム管理」、 「付録」 の 3 つの論理的な部分に再構成されました。
3章FreeBSD 8.X のインストール (「FreeBSD のインストール」)
は新規ユーザーが文章の内容を理解しやすいように多くのスクリーンショットを入れて完全に書き直されました。
4章Unix の基礎知識 (「UNIX® の基礎知識 」) には、 プロセス、デーモン、シグナルに関する情報が追加されました。
5章アプリケーションのインストール - packages と ports (「アプリケーションのインストール」) には、バイナリパッケージの管理に関する情報が追加されました。
6章X Window System (「The X Window System」) は、 XFree86™ 4.X 上で KDE や GNOME のような近代的なデスクトップテクノロジーを利用することに力点をおいて、 完全に書き直されました。
13章FreeBSD の起動のプロセス (「FreeBSD の起動プロセス」) が拡張されました。
16章ストレージ (「ストレージ」) は、 「ディスク」 と 「バックアップ」 の 2 つの章に分かれていたものをまとめて書き直されました。私たちは、 この話題は 1 つの章にまとめて示した方が分かりやすいと感じています。 RAID (ハードウェアとソフトウェアの両方) に関する節も追加されました。
19章シリアル通信 (「シリアル通信」) は FreeBSD 4.X/5.X 向けに一から再構成されました。
20章PPP と SLIP (「PPP と SLIP」) は大幅に更新されました。
22章高度なネットワーク (「高度なネットワーク」) に、多くの新しい節が追加されました。
21章電子メール (「電子メール」) に、 sendmail の設定についてより多くの情報が加えられました。
11章Linux バイナリ互換機能 (「Linux バイナリ互換機能」) には、Oracle® や SAP® R/3® のインストール情報が加えられました (訳注: 日本語版は作業中です)。
この第 2 版では、以下の新たな話題が扱われています。
設定とチューニング (12章設定とチューニング)
マルチメディア (8章マルチメディア)
この文書は 3 部構成になっています。 第 1 部導入では、 FreeBSD のインストールと基本的な使い方を扱います。 各章は順に読むことを想定していますが、 馴染み深い話題を扱った章は飛ばしてもよいでしょう。 第 2 部システム管理は、より上級の FreeBSD ユーザの関心をひく話題を広く扱っています。 各章の始めにはその章が何を扱っていて、 読者にどんな予備知識が期待されるかを簡潔に述べた概要がおかれています。 これは、その章に関心のない読者がそこを飛ばして興味のある章を見つけられるようにするためです。 第 3 部は参考情報からなる付録です。
新規ユーザに FreeBSD を紹介します。ここでは、FreeBSD プロジェクトの歴史、目標と開発モデルについて述べています。
X のインストール, インストールインストール過程を一通りユーザに案内しています。 また、シリアルコンソール経由でのインストールのような高度な話題もいくらか扱っています。
FreeBSD オペレーティングシステムの基本的なコマンドや機能を扱っています。 Linux やその他の UNIX® 風のものに馴染んでいたら、 この章を飛ばしても構わないでしょう。
FreeBSD の革新的な 「Ports Collection」 および標準的なバイナリパッケージによるサードパーティアプリケーションのインストールについて説明しています。
X Window System 全般と、特に FreeBSD 上での XFree86™ の利用について述べています。 また、KDE や GNOME のような一般的なデスクトップ環境にも触れています。
システム管理者が FreeBSD システムを調整して最適な性能を引き出すのに利用できるパラメータについて述べています。 また、FreeBSD で利用されている様な設定ファイルとそのありかも解説しています。
FreeBSD の起動プロセスを解説し、 このプロセスを設定オプションで制御する方法を説明しています。
ユーザアカウントの生成、操作について述べています。また、 ユーザーに課すことができる資源の制限やその他のアカウント管理作業について議論しています。
どのような場合に新たにカーネルを構成する必要があるかを説明し、 カスタムカーネルのコンフィグレーション、構築、 インストールについて詳しく説明しています。
FreeBSD システムを安全に保つために役立つ Kerberos, IPsec, OpenSSH, ネットワークファイアウォールといった利用可能な様々なツールについて説明しています。
FreeBSD におけるプリンタの取り扱いを説明しています。たとえば、 バナーページ、プリンターの課金、初期設定といったことです。
FreeBSD でストレージメディアやファイルシステムをどう扱うかを説明しています。 対象は、物理ディスク、RAID アレイ、 光学およびテープメディア、メモリベースのディスク、 ネットワークファイルシステムなどです。
FreeBSD を英語以外の言語で使う方法を説明しています。 システムとアプリケーション両方のレベルの地域化を扱っています。
Web ブラウザや生産性向上ツールのような一般的なデスクトップアプリケーションをいくつか挙げ、 FreeBSD におけるインストール方法を説明しています。
システムを音声やビデオ再生に対応させるためにどう設定するかを説明します。 また、音声やビデオアプリケーションも例示しています。
FreeBSD システムに端末やモデムを、 ダイヤルインまたはダイヤルアウト用に接続する方法を説明しています。
FreeBSD で、PPP, SLIP や PPP over Ethernet を使ってリモートシステムに接続する方法を説明しています。
LAN 上の他のコンピュータとインターネット接続の共有、 ネットワークファイルシステムの利用、NIS 経由のアカウント情報の共有、 ドメインネームサーバの設定等々、 ネットワークに関する様々な話題を取り扱っています。
電子メールサーバの構成要素をそれぞれ説明し、 最もよく使われているメールサーバソフトウェアである sendmail について、 単純な設定をとりあげています。
FreeBSD-STABLE, FreeBSD-CURRENT と FreeBSD のリリースの違いを説明します。 どんなユーザにとって開発システムを追随するのが有用かを述べ、 その方法の概要をまとめています。
FreeBSD の Linux バイナリ互換機能を説明しています。また、 Oracle®, SAP® R/3®, Mathematica® といった人気の高い Linux アプリケーションのインストールを詳しく説明しています。
FreeBSD を収録した CDROM や DVD の様々な入手先や、FreeBSD をダウンロードしてインストールできるインターネット上のサイトを挙げています。
この文書は、 もっと詳しい説明が欲しくなるかもしれないさまざまな題目について触れています。 参考図書には、このハンドブックで参照している、 多くの素晴らしい本が挙げられています。
FreeBSD ユーザが FreeBSD について質問したり、 技術的な議論に参加できる、 多くの公開された場について説明しています。
多くの FreeBSD 開発者の PGP fingerprint を載せています。
一貫して読みやすい文章を提供するために、 この文書全体では以下の表記法が用いられています。
イタリック体 のフォントは、ファイル名、URL, 強調表現、技術用語の最初の使用を表すのに使われています。
等幅等幅フォントは、エラーメッセージ、
コマンド、環境変数、ports の名称、ホスト名、ユーザ名、
グループ名、デバイスの名称、変数、
コードの断片を表すのに使われています。
太字のフォントは、 アプリケーション、コマンド、キーを表すのに使われています。
文章の他の部分と区別するため、
キーは太字で示されています。
同時に押すことを意図したキーの組み合わせは、キーの間に
`+' を入れて表されます。たとえば
Ctrl+Alt+Del
は、ユーザーが Ctrl, Alt それから Del キーを同時に押すことを意図しています。
順に押すことを意図したキーは、カンマで区切って表されます。 たとえば
Ctrl+X, Ctrl+S
は、ユーザーが Ctrl キーと X キーを同時に押してから、 Ctrl キーと S キーを同時に押すことを意図しています。
E:\> で始まる例は、MS-DOS®
コマンドを表しています。特に注釈がなければ、それらのコマンドは最近の
Microsoft® Windows® の 「コマンドプロンプト」
環境でも実行できます。
E:\> tools\fdimage floppies\kern.flp A:# で始まる例は、FreeBSD
上でスーパーユーザ権限で実行しなければならないコマンドを示しています。
そのコマンドを入力するには、
root としてログインするか、
通常のアカウントでログインして、スーパーユーザ権限を取得するために
su(1) を使います。
# dd if=kern.flp of=/dev/fd0% で始まる例は、
通常のユーザアカウントで実行するべきコマンドを示しています。
特に断りのない限り、環境変数の設定やその他のシェルコマンドには
C シェルの文法が使われています。
% topあなたが手にしている文書は、 世界中の何百人もの人々の努力の賜物です。 誤字脱字の修正を送ったのか、文章を丸々投稿したのかによらず、 すべての貢献が役に立ちました。
多くの会社が、 著者らを雇用してフルタイムでこの文書に取り掛かれるようにしたり、 出版費用を出したりして、この文書を作り上げるのを援助してくれました。 特に、BSDi (その後 Wind River Systems に買収されました) は、フルタイムでこの文書の改善作業をするように FreeBSD ドキュメンテーションプロジェクトのメンバーを雇用し、それが 2000 年 3 月の最初の出版 (ISBN 1-57176-241-8) につながりました。 その後、Wind River Systems は、印刷出力の仕組みを整備し、 章を追加するために著者を何名か追加で雇用してくれました。この作業は、 2001 年 11 月の第 2 版の出版 (ISBN 1-57176-303-1) に結実しました。
FreeBSD ハンドブックの第 1 部はユーザと FreeBSD が初めての管理者向けです。各章の内容は以下のとおりです。
FreeBSD の紹介
インストールの手順の解説
UNIX® の基礎
FreeBSD で利用できる豊富なサードパーティ製のアプリケーションの インストール方法
UNIX® におけるウィンドウシステム X、 およびクリエイティブなデスクトップ環境の設定の詳細の紹介
このハンドブックでは頻繁にページを飛すことなく前から後へと スムーズに読み進めるように、 後方への参照を極力抑えるようにしています。
FreeBSD に興味を持っていただきありがとうございます! この章では FreeBSD の歴史、目標、開発モデルなど、 FreeBSD プロジェクトに関するさまざまな事柄を扱います。
この章に書かれている話題は、次のようなものです。
FreeBSD とその他のオペレーティングシステムとの違い
FreeBSD プロジェクトの歴史
FreeBSD プロジェクトの目標
FreeBSD オープンソース開発モデルの基本的な考え方
そして、「FreeBSD」 という名前の由来について
FreeBSD は、4.4BSD-Lite から派生したオペレーティングシステムで、 Intel (x86 および Itanium®), AMD64, Sun UltraSPARC® コンピュータに対応しています。 他のアーキテクチャに対する移植も進行中です。 FreeBSD の歴史や、 現在のリリースについても読むことができます。 プロジェクトへの何らかの貢献 (ソースコード、ハードウェア、 資金の提供など) について興味があれば、 FreeBSD への貢献をご覧ください。
FreeBSD には多くの注目すべき機能があります。 例を挙げれば以下のようになります:
優先度を動的に調節する機能を備えることで アプリケーションとユーザとの間で円滑かつ公平な コンピュータ資源共有を実現し、 特に高い負荷にも耐えることができる堅牢さを備えた プリエンプティブマルチタスキング。
多くの人々が 1 つの FreeBSD システムをさまざまな目的で同時に使うことを可能にする マルチユーザ機能。 これは例えば、プリンタやテープデバイスといったシステムの周辺機器が、 そのシステムを利用する全てのユーザだけでなく ネットワーク経由においても自然な形で共有され、 さらに重要なシステム資源の使い過ぎを防ぐために 個々の資源に対する制限がユーザ単位、 グループ単位で設定できる、というようなことを意味しています。
SCTP や DHCP, NFS, NIS, PPP, SLIP, IPsec, IPv6 といった業界標準規格のサポートを含んだ堅固な TCP/IP ネットワーキング。これによって、FreeBSD マシンが商用サーバと同じように相互に運用でき、 NFS (リモートファイルアクセス) や、 電子メールサービスのような極めて重要な機能を提供します。 また、WWW や FTP, ルーティング、ファイアウォール (セキュリティ) サービスを用いてインターネットと接続できます。
アプリケーション (あるいはユーザ) がお互いに干渉できない ようにするメモリ保護機能。 アプリケーションがクラッシュしても、 どのような場合でも他のアプリケーションには影響を与えません。
業界標準である X Window システム (X11R7) は、普通の VGA カードやモニタでグラフィカルユーザインタフェース (GUI) を提供し、すべてのソースコードも一緒に提供されます。
何千ものすぐに実行可能な アプリケーションが FreeBSD の ports や packages コレクションで利用可能です。 ここに用意されているものはネットを探し回る必要がありません
インターネット上で入手可能な、 移植が容易な 何千ものアプリケーションを追加できます。FreeBSD は最も評判のよい商用の UNIX® システムとソースコードレベルで互換性があります。 このため、ほとんどのアプリケーションは、 もしあったとしてもほんの少しの変更でコンパイルすることができます。
デマンドページング仮想メモリ とそれに 「付随の VM/buffer キャッシュ」 の設計は、 多くのメモリを要求するアプリケーションに対して 効率よくメモリを与えるようにする一方で、 他のユーザに対しても対話的な応答を維持します。
完全な C や C++ の開発ツール。進んだ研究や開発のための多くの他の言語も ports や packages コレクションで提供されています。
システム全体のソースコードが提供されているので、 要求に合わせて環境を最大限に適合させることができます。 真のオープンシステムが利用できるのですから、 所有権のある解決方法に締めつけられ、 ベンダのなすがままになる必要はありません。
膨大な量の オンラインドキュメント。
もう書ききれません!
FreeBSD はカリフォルニア大学バークレイ校の Computer Systems Research Group (CSRG) による 4.4BSD-Lite リリースを基にしており、 BSD システムの開発の優れた伝統を守り続けています。 CSRG による素晴らしい活動に加えて、 FreeBSD プロジェクトは何千時間もの時間を注ぎ込んで、 実際の使用の場において最大の性能と信頼性を 発揮するためにシステムのチューニングをおこなっています。 多くの大企業が PC オペレーティングシステムの分野で 実現しようと奮闘しているそのような機能や性能、信頼性を FreeBSD は今すぐ提供できます!
あなたの思いつく限りのアプリケーションは、何でも FreeBSD で実行できます。ソフトウェア開発からファクトリオートメーション、 在庫制御から遠く離れた人工衛星のアンテナの方向調整まで; 商用 UNIX® 製品でできることは、FreeBSD でも十分にできるのです! また、FreeBSD は世界中の研究センターや大学によって開発される 文字通り何千もの高品質で、たいていはほとんど無料で利用できる アプリケーションによる恩恵を得ることができます。 商用のアプリケーションも提供されており、 日々増え続けています。
FreeBSD のソースコードは広く提供されているので、 システムも特別なアプリケーションやプロジェクトに合わせて、 いくらでもカスタマイズすることができます。 これは有名な商業ベンダから出ているほとんどのオペレーティング システムでは不可能なことです。以下に現在 FreeBSD を 使っている人々のアプリケーションの例をいくつか上げます:
インターネットサービス: FreeBSD に組み込まれている 頑強な TCP/IP ネットワーキング機能は次のようなさまざまな インターネットサービスの理想的なプラットフォームになります:
FreeBSD を利用すれば、小規模で安価な 386 クラスの PC でも気軽に導入することができますし、 事業の成長に合わせてアップグレードした 4 つの Xeon プロセッサと RAID ストレージデバイスを備えたシステムでも、 全くそのまま使うことができるのです。
教育: あなたは、計算機科学または関連分野の工学を専攻する学生さんですか? オペレーティングシステムやコンピュータアーキテクチャ、 ネットワークについて学習するなら、 実際に FreeBSD のソースコードを読んで、 それがどのように動作するのかを学ぶのが一番よい方法です。 また、無料で利用できる CAD や数学、 グラフィックデザインのパッケージがいくつもあるので、 コンピュータに関わる主要な目的が、 他のことをすることにある方にも、 大いに役立ちます。
研究: システム全体のソースコードが利用できるため、 FreeBSD はオペレーティングシステムの研究だけでなく、 計算機科学の他の部門においても優れたプラットフォームです。 自由に利用できる FreeBSD の特長は、オープンフォーラムで 議論される特別なライセンスの同意や制限について心配することなく、 離れたグループでもアイディアや開発の共有による共同研究を可能にします。
ネットワーキング: 新しいルータが必要? ネームサーバ (DNS) は? 内部のネットワークを人々から守るファイアウォールは? FreeBSD はすみに眠っている使われていない 386 や 486 の PC を簡単に 洗練されたパケットフィルタリング機能を持つ高級なルータに 変えることができます。
X Window ワークステーション: 自由に利用できる X11 サーバを使うことによって、 安価な X 端末として FreeBSD を使うこともできます。 X 端末とは違って FreeBSD は多くのアプリケーションをローカルに走らせることもでき、 中心のサーバの負荷を軽減することも可能です。 FreeBSD は「ディスクレス」でもブート可能であり、 個々のワークステーションを安価で、 容易に管理することさえ可能にします。
ソフトウェア開発: 基本的な FreeBSD システムには、有名な GNU の C/C++ コンパイラやデバッガを含んだ完全な開発ツールがついてきます。
FreeBSD は、ソースとバイナリの両方とも、CD-ROM または anonymous FTP で入手可能です。 詳しくは 付録A FreeBSD の入手方法 をご覧ください。
以下の節では簡単な歴史やプロジェクトの目標、 開発モデルなど、普段は表にでない話題を提供しています。
FreeBSD プロジェクトは 1993 年の始めに Unofficial 386BSD Patchkit の最後の 3 人のまとめ役によって、部分的に patchkit から派生する形で開始されました。ここでの 3 人のまとめ役というのは、Nate Williams, Rod Grimes と、 Jordan Hubbard です。
このプロジェクトのもともとの目標は、patchkit という仕組みではもう十分に解決できなくなってしまった 386BSD の数多くの問題を修正するための、386BSD の暫定的なスナップショットを作成することでした。 こういった経緯を経ているので、 このプロジェクトの初期の頃の名前は 386BSD 0.5 や 386BSD 暫定版 (Interim) でした。
386BSD は、Bill Jolitz が (訳注: バークレイ Net/2 テープを基に) 作成したオペレーティングシステムです。当時の 386BSD は、ほぼ一年にわたって放っておかれていた (訳注: 作者がバグの報告を受けても何もしなかった) というひどい状況に苦しんでいました。 作者の代わりに問題を修正し続けていた patchkit は日を追うごとに不快なまでに膨張してしまっていました。 このような状況に対して、彼らは暫定的な 「クリーンアップ」 スナップショットを作成することで Bill を手助けしようと決めました。しかし、 この計画は唐突に終了してしまいました。Bill Jolitz が、 このプロジェクトに対する受け入れ支持を取り下げることを突然決意し、 なおかつこのプロジェクトの代わりに何をするのかを一切言明しなかったのです。
たとえ Bill が支持してくれないとしても、 彼ら 3 人の目標には依然としてやる価値があると考えていたため、 David Greenman が考案した名称 「FreeBSD」 をプロジェクトの名前に採用し、新たなスタートを切りました。 この時点でのプロジェクトの初期目標は、すでにこのシステム (訳注: 386BSD + Patchkit) を使っていた利用者たちと相談して決められました。 プロジェクトが実現に向けて軌道に乗ってきたことが明確になった時点で、 Jordan は Walnut Creek CDROM 社に連絡してみました。CD-ROM を使って FreeBSD を配布することによって、 インターネットに容易に接続できない多くの人々が FreeBSD を簡単に入手できるようになると考えたからです。Walnut Creek CDROM 社は FreeBSD を CD で配布するというアイデアを採用してくれたばかりか、 作業するためのマシンと高速なインターネット回線をプロジェクトに提供してくれました。 当時は海のものとも山のものともわからなかったこのプロジェクトに対して、Walnut Creek CDROM 社が信じられないほどの信頼を寄せてくれたおかげで、 FreeBSD は短期間のうちにここまで大きく成長したのです。
CD-ROM による最初の配布 (そしてネットでの、 ベータ版ではない最初の一般向け配布) は FreeBSD 1.0 で、1993 年 12 月に公開されました。これはカリフォルニア大学バークレイ校の 4.3BSD-Lite (「Net/2」) を基とし、386BSD や Free Software Foundation からも多くの部分を取り入れたものです。 これは初めて公開したものとしては十分に成功しました。続けて 1994 年 5 月に FreeBSD 1.1 を公開し、 非常に大きな成功を収めました。
この時期、 あまり予想していなかった嵐が遠くから接近してきていました。 バークレイ Net/2 テープの法的な位置づけについて、Novell 社とカリフォルニア大学バークレイ校との間の長期にわたる 法廷論争において和解が成立したのです。和解の内容は、Net/2 のかなりの部分が 「権利つき (encumbered)」 コードであり、それは Novell 社の所有物である、 というバークレイ校側が譲歩したものでした。なお、Novell 社はこれらの権利を裁判が始まる少し前に AT&T 社から買収していました。 和解における譲歩の見返りにバークレイ校が得たのは、 4.4BSD-Lite が最終的に発表された時点で、 4.4BSD-Lite は権利つきではないと公式に宣言されること、 そしてすべての既存の Net/2 の利用者が 4.4BSD-Lite の利用へと移行することが強く奨励されること、という Novell 社からの 「ありがたき天からの恵み」 でした (訳注: 4.4BSD-Lite はその後 Novell 社のチェックを受けてから公開された)。FreeBSD も Net/2 を利用していましたから、1994 年の 7 月の終わりまでに Net/2 ベースの FreeBSD の出荷を停止するように言われました。ただし、 このときの合意によって、 私たちは締め切りまでに一回だけ最後の公開をすることを許されました。 そしてそれは FreeBSD 1.1.5.1 となりました。
それから FreeBSD プロジェクトは、まっさらでかなり不完全な 4.4BSD-Lite を基に、文字どおり一から再度作り直すという、 難しくて大変な作業の準備を始めました。「Lite」 バージョンは、部分的には本当に軽くて、中身がなかったのです。 起動し、 動作できるシステムを実際に作り上げるために必要となるプログラムコードのかなりの部分がバークレイ校の CSRG (訳注: BSDを作っているグループ) によって (いろいろな法的要求のせいで) 削除されてしまっていたということと、4.4BSD の Intel アーキテクチャ対応が元々かなり不完全であったということがその理由です。 この移行作業は結局 1994 年の 11 月までかかりました。 そしてその時点で FreeBSD 2.0 をネットと CD-ROM (12 月末ごろ) を通じて公開しました。これは、 かなり粗削りなところが残っていたにもかかわらず、 かなりの成功を収めました。そしてその後に、より信頼性が高く、 そしてインストールが簡単になった FreeBSD 2.0.5 が 1995 年の 6 月に公開されました。
これ以降、FreeBSD の安定性、速さや機能は改善され、 リリースが行われてきました。
長期的な開発プロジェクトは 10.X-CURRENT 開発ブランチ (トランク) で続けられ、 10.X のスナップショットリリースは、開発の進行状況に応じて スナップショットサーバ より継続して入手できます。
FreeBSD プロジェクトの目的は、いかなる用途にも使用でき、 何ら制限のないソフトウェアを供給することです。 私たちの多くは、 コード (そしてプロジェクト) に対してかなりの投資をしてきており、 これからも多少の無駄はあっても投資を続けて行くつもりです。ただ、 他の人達にも同じような負担をするように主張しているわけではありません。 FreeBSD に興味を持っている一人の残らず全ての人々に、 目的を限定しないでコードを提供すること。これが、 私たちの最初のそして最大の 「任務」 であると信じています。そうすれば、コードは可能な限り広く使われ、 最大の恩恵をもたらすことができるでしょう。これが、 私たちが熱烈に支持しているフリーソフトウェアの最も基本的な目的であると、 私は信じています。
私たちのソースツリーに含まれるソースのうち、 GNU 一般公有使用許諾 (GPL) または GNU ライブラリ一般公有使用許諾 (LGPL) に従っているものについては、多少制限が課せられています。ただし、 ソースコードへのアクセスの保証という、 一般の制限とはいわば逆の制限 (訳注1) です。 GPL ソフトウェアの商利用には、そのライセンスにある 複雑な側面が影響してくることがあります。 ですから私たちは、そうすることが合理的であると判断されたときには、 より制限の少ない、BSD 著作権表示を採用しているソフトウェアを選択するようにしています。
(訳注1) GPL では、「ソースコードを実際に受け取るか、 あるいは、希望しさえすればそれを入手することが可能であること」 を求めています。
FreeBSD の開発は非常に開かれた、柔軟性のあるプロセスです。 貢献者リスト を見ていただければわかるとおり、 FreeBSD は文字通り世界中の何百という人々の努力によって開発されています。 FreeBSD の開発環境は、 この何百という開発者がインターネット経由で共同作業できるようになっているのです。 新しい開発者はいつでも大歓迎ですので、FreeBSD technical discussions メーリングリスト にメールを送ってください。 FreeBSD announcements メーリングリスト もありますので、他の FreeBSD ユーザに自分のやっていることを宣伝したい時にはどうぞ使ってください。
あと、FreeBSD プロジェクトとその開発プロセスについて、 どなたにも知っていていただきたいのは以下のようなことです。
長年にわたり FreeBSD のソースツリーは
CVS
(Concurrent Versions System) によってメンテナンスされてきました。
CVS はソースコード管理用のフリーソフトウェアで、
FreeBSD のリリースにも含まれています。
2008 年 6 月、プロジェクトはソースコード管理のシステムを SVN
(Subversion) に移行しました。
ソースツリーの急速な増加や、
これまでに蓄積された膨大な量の履歴によって、
CVS
の持つ技術的な限界が明かになってきたためです。
ドキュメンテーションプロジェクトと
Ports Collection リポジトリも、それぞれ
2012 年 5 月と 7 月に
CVS から
SVN へと移行しました。
FreeBSD src/ リポジトリを取得するための情報は
ソースツリーの同期 の章を、FreeBSD
Ports Collection を取得するための詳細については
Ports Collection の利用
の章をご覧ください。
コミッター (committers) は
Subversion ツリーへの書き込み権限を持っている人、
FreeBSD のソースに変更を加えることができる人です
(リポジトリに変更を加えるには、ソースをコントロールする
commit というコマンドを使うので、
これらの人々は英語では 「committers」
と呼ばれます)。
開発者にコードを送って見てもらうのに一番いい方法は
send-pr(1) コマンドを使うことです。
もし、何か問題があって send-pr
が使えないなら FreeBSD committer's メーリングリスト
にメールを送っていただいても構いません。
FreeBSD コアチームは FreeBSD プロジェクトが会社だとすると取締役会にあたるものです。 コアチームとして一番重要な役割は FreeBSD プロジェクトが全体としてよい方向に向かっていることを確認することです。 責任感あふれる開発者を上記のソースツリー管理者として招くこと、 また仕事上の都合などでコアチームをやめた人たちの後任を見つけることもコアチームの役割です。 現在のコアチームは FreeBSD 開発者 (committer) の中から 2012 年 7 月に選挙によって選出されました。 コアチームを選出するための選挙は、2 年ごとに行なわれています。
コアチームのうち何人かは特定の担当分野を持っており、 システムのうち一部に特に重点をおいて面倒を見ています。 FreeBSD 開発者と担当分野の完全なリストは コントリビュータのリストをご覧ください。
忘れてほしくないのは、 コアチームのほとんどは FreeBSD に対してボランティアの立場であり、 FreeBSD プロジェクトからは何ら金銭的な支援を受けていない、 ということです。ですから、 ここでの「責任」は 「保証されたサポート」ではありません。 そういう意味で、上記の「取締役会」 という例えはあまりよくないかもしれません。むしろ、FreeBSD のために人生を棒に振ってしまった人の集まりといった方が正しいかも…。
最後になりますが、 もっとも重要で多数をしめる開発者はフィードバックやバグフィクスをどんどん送ってくれるユーザ自身です。 FreeBSD の開発に関わっていきたいという人は、 議論の場である FreeBSD technical discussions メーリングリスト に参加するとよいでしょう。 FreeBSD 関連メーリングリストに関する詳細は、 付録C インターネット上のリソース をご覧ください。
FreeBSD への貢献者リスト は日に日に長くなっています。 あなたも今日、何か送ることからはじめてみませんか?
もちろん FreeBSD に貢献するには、 コードを書くほかにもいろいろな方法があります。 助けが求められている分野については、 FreeBSD プロジェクトのウェブサイトをご覧ください。
ひとことで言うと、FreeBSD の開発組織はゆるやかな同心円状になっています。 ともすると中央集権的に見えがちなこの組織は、 FreeBSD のユーザがきちんと管理されたコードベースを 容易に追いかけられるようにデザインされているもので、 貢献したいという人を締め出す意図は全くありません! 私たちの目標は安定したオペレーティングシステムと 簡単にインストールして使うことのできる アプリケーションを提供することです。 この方法は、それを達成するために非常にうまくはたらきます。
これから FreeBSD の開発にたずさわろうという人に、 私たちが望むことはただ一つです。 FreeBSD の成功を継続的なものにするために、 現在の開発者と同じような情熱を持って接してください!
FreeBSD では基本配布セットに加え、
移植されたソフトウェア集として数千の人気の高いプログラムを提供しています。
この文書を書いている時点で 24,000
以上の ports (移植ソフトウェア) が存在します。
ports には http サーバから、ゲーム、言語、
エディタまでありとあらゆるものが含まれています。
ports はオリジナルソースに対する
「差分」という形で表現されており、
Ports Collection 全体でも 500 MB 程度にしかなりません。
ports をコンパイルするには、
インストールしたいと思っているプログラムのディレクトリに移動し、
make install とすると、
あとはすべてシステムがやってくれます。
どの ports もオリジナルの配布セットを動的に取ってくるので、
ディスクは構築したいと思っている
ports の分だけを準備しておけば十分です。
ほとんどの ports は、すでにコンパイルされた状態で
「package」 として提供されており、
ソースコードからコンパイルしたくない場合、これを使うと
(pkg_add
というコマンドで) 簡単にインストールできます。
package と ports に関する詳細は、
5章アプリケーションのインストール - packages と ports をご覧ください。
最近の FreeBSD では、システムの最初のセットアップ時に、
インストーラ (sysinstall(8) または
bsdinstall(8) のどちらでも)
上で、ドキュメントを /usr/local/share/doc/freebsd
以下にインストールすることを選択できます。
システムのインストール後でも、「ドキュメンテーション package の利用」 に記述されている
package を使うことで、いつでもドキュメントをインストールできます。
これらのローカルにインストールされたドキュメントは、HTML
ブラウザを使って以下の URL から参照できます。
また、 http://www.FreeBSD.org/ にはマスタ (かなり頻繁に更新されます) がありますので、 こちらも参照してください。
FreeBSD では、テキストベースの使いやすいインストールプログラムが用意されています。
FreeBSD 9.0-RELEASE 以降では bsdinstall、
FreeBSD 9.0-RELEASE より前のリリースでは sysinstall
と呼ばれるインストールプログラムを使います。
この章では、bsdinstall の使い方について説明します。
sysinstall の利用については、
3章FreeBSD 8.X のインストール で説明しています。
この章を読むと、以下のことがわかります。
FreeBSD インストールメディアの作り方。
FreeBSD がハードディスクをどのように分割し、参照するか。
bsdinstall をどのように起動するか。
bsdinstall が聞いてくる質問がどのような意味であり、 またどのように答えれば良いか。
この章を読む前に、以下のことを確認して下さい。
インストールしようとしているバージョンに付属しているサポートハードウェア一覧を読み、 あなたの使っているハードウェアがサポートされているかどうかを確認して下さい。
このインストールの説明書は i386™ (「PC 互換」) アーキテクチャのコンピュータを対象にしています。 他のプラットフォームに特有の説明についてはそのつど明記しています。 インストーラとこの文書で記述している内容の間には、 いくらかズレがあることがあります。 この章を正確で忠実な手順書としてではなく、 一般的なガイドとしてご利用ください。
FreeBSD をインストールする最小構成は、 FreeBSD のバージョンやハードウェアのアーキテクチャによって異なります。
以下の節では、最小構成についての情報をまとめています。 また、FreeBSD のインストール方法によって、 対応している CDROM ドライブや、 場合によってはネットワークアダプタが必要となります。 これに関しては 「インストールメディアの準備」 で説明します。
FreeBSD/i386 アーキテクチャは、 486 以上のプロセッサと、 少なくとも 64 MB の RAM が必要です。 最小のインストールでは、 少なくとも 1.1 MB のハードディスクの空き容量が必要です。
古いコンピュータでは、 速いプロセッサを入手するより、より多くの RAM やより多くの容量のハードドライブを用意するほうが重要です。
FreeBSD/amd64 を実行可能なプロセッサには 2 つのクラスがあります。 1 つ目のクラスは、AMD Athlon™64, AMD Athlon™64-FX, AMD Opteron™ やそれより新しいプロセッサです。
もう 1 つのクラスは、 Intel® EM64T アーキテクチャを採用しているプロセッサです。 これらのプロセッサの例は、 Intel® Core™ 2 Duo, Quad, Extreme プロセッサファミリ、 Intel® Xeon™ 3000, 5000, 7000 系のプロセッサ、 および Intel® Core™ i3, i5, i7 プロセッサです。
nVidia nForce3 Pro-150 ベースのコンピュータを使用するには、 BIOS のセットアップを使って、IO APIC を無効にする 必要があります。 もし、このようなオプションがなければ、 代わりに ACPI を無効にする必要があるでしょう。 Pro-150 チップセットには回避策が見つかっていないバグがあります。
すべての USB 内蔵の New World Apple® Macintosh® システムに対応しています。 複数の CPU を持つコンピュータは SMP に対応しています。
32-bit カーネルは、RAM の最初の 2 GB だけを利用できます。 Blue & White PowerMac G3 では、FireWire® に対応していません。
FreeBSD/sparc64 が対応しているハードウェアの一覧については、 FreeBSD/sparc64 プロジェクトをご覧ください。
現時点では、 他のオペレーティングシステムとディスクの共有ができないので、 FreeBSD/sparc64 専用のディスクが必要です。
FreeBSD
がサポートしているハードウェアアーキテクチャやデバイスの一覧は、
各リリースのハードウェアノートとして提供されます。
このドキュメントは通常リリースメディアのルートディレクトリにある
HARDWARE.TXT
という名前のファイルで見ることができます。
ハードウェアリストは、FreeBSD のウェブサイトの リリース情報
のページにもあります。
FreeBSD をインストールするコンピュータに残されている価値のあるデータをすべてバックアップしてください。 そして、インストール作業を進める前にバックアップが正しく取れていることを確認してください。 FreeBSD のインストーラは、ハードディスクに変更を加える前に確認を求めますが、 一度実際に書き込む作業が始まってしまうと、 もう元に戻すことはできません。
インストールするオペレーティングシステムが FreeBSD のみで、 ハードディスクすべてを使ってインストールする場合には、 この節の後半を飛ばすことができます。 しかし、ハードディスクに FreeBSD と他のオペレーティングシステムを共存させる必要がある場合には、 ディスクレイアウトに関する基本的な部分を理解しておく必要があります。
ハードディスクを複数の塊に分割することができます。 これらの塊は パーティション と呼ばれます。
ディスクをパーティションに分割する方法は 2 通りあります。 伝統的な Master Boot Record (MBR) では、 ディスク 1 台あたり 4 つまでのパーティションテーブルを持つことができます (歴史的な理由により、FreeBSD は、これらのパーティションのことを スライス と呼びます)。 大きなディスクにとって、作成できるパーティションの数が 4 つという制限は限定的なので、 プライマリパーティションの 1 つに拡張パーティションを作成できます。 論理パーティション と呼ばれる特別のパーティションは、 この拡張パーティションの内部に作成できます。 これは、多少扱いにくいものです。
GUID Partition Table (GPT) は、 ディスクをパーティションに分ける簡単で新しい方法です。 伝統的な MBR パーティションテーブルと比べると、 GPT ははるかに万能です。一般的な GPT の実装では、 1 つのディスクに 128 個までのパーティションの作成が可能です。 扱いにくい論理パーティションのような回避策は必要ありません。
Windows® XP のような古いオペレーティングシステムは、 GPT パーティションと互換性がありません。 FreeBSD をこのようなオペレーティングシステムとディスク上で共存させる場合には、 MBR パーティションテーブルを使う必要があります。
FreeBSD の標準のブートローダは、プライマリまたは GPT パーティションに対応しています (FreeBSD の起動プロセスのより詳しい情報については、 13章FreeBSD の起動のプロセス をご覧ください)。 ディスク上のすべてのプライマリ、もしくは GPT パーティションが使われているのであれば、 そのひとつを FreeBSD のために開放してください。
FreeBSD の最小のインストールでは、1 GB 程度のディスク容量が必要です。 しかし、これは 非常に 小さなインストールであり、 自分のファイルを作成するスペースはほとんど残らないでしょう。 現実的には、グラフィカルな環境が必要なければ 3 GB、 グラフィカルユーザインタフェースを使用するのであれば 5 GB 以上は必要でしょう。 サードパーティ製ソフトウェアをインストールするならば、 さらに多くのスペースが必要になります。
さまざまな パーティションサイズを変更するフリーや商用のツール を利用できます。 GParted Live は、GParted パーティションエディタを含む完全なライブ CD です。 多くの Linux Live CD ディストリビューションでも GParted を利用できます。
ディスクパーティションのアプリケーションは、 ディスク上のデータを壊す可能性があります。 ディスクのパーティションを変更する前に、 必ず全体のバックアップをとり、完全性を検証してください。
Microsoft® Vista のパーティションサイズの変更は、難しい可能性があります。 このような作業を行う際は、 Vista のインストール CDROM を手元に置いておくことをお勧めします。
既に Windows® がインストールされている 40 GB のハードディスクが
1 台接続されており、そのハードディスクは、
20 GB の 2 つのパーティションに分割されていると仮定します。
Windows® では、それぞれ C: および
D: と呼びます。
C: パーティションには 10 GB のデータ、
D: パーティションには 5 GB
のデータがあるとします。
D: にあるデータをすべて
C: にコピーすれば、
2 つ目のパーティションを解放し、FreeBSD
のために使うことができるようになります。
Windows® がインストールされている 40 GB のハードディスクが
1 台接続された PC を使用していると仮定します。
ディスクのすべてを 1 つの大きなパーティションとして使用しています。
Windows® では、この 40 GB のパーティションを
1 つの C: ドライブとして表示します。
15 GB のデータがあるとします。
Windows® が 20 GB パーティション、
残りの 20 GB パーティションを FreeBSD で使いたいとします。
インストールを行うには、2 つの方法があります。
Windows® のデータをバックアップし、インストール時に 20 GB のパーティションを作成して再インストールする。
先に述べた GParted をはじめとするパーティションを縮小するツールを使って、 Windows® のパーティションを縮小し、フリーの空間上に、 FreeBSD のためのパーティションを作成する。
異なるオペレーティングシステムを含むディスクパーティションでは、 どのオペレーティングシステムも同時に実行できるのは 1 つです。 複数のオペレーティングシステムを同時に実行する方法については、 Virtualization の章で説明します。
FreeBSD のインストール方法によっては、ネットワークに接続し、 ファイルのダウンロードが必要です。 イーサネットに接続 (または、ケーブル / DSL モデム経由でイーサネットインタフェースを利用して接続) するためには、 インストール中にこれらの情報を入力する必要があります。
DHCP は、 自動的にネットワークの設定情報を得るのによく使われます。 DHCP を利用できない場合には、 システム管理者かプロバイダにネットワーク情報を問い合わせる必要があります。
IP アドレス
サブネットマスク
デフォルトルータの IP アドレス
ローカルネットワークのドメイン名
DNS サーバの IP アドレス
FreeBSD プロジェクトでは FreeBSD の各リリースができる限り安定するよう努力していますが、 時々バグが発生してしまうことがあります。極まれに、 発生したバグがインストールプロセスに影響を与えることがあります。 これらの問題は発見され解決されるとともに、 FreeBSD のウェブサイトの FreeBSD Errata に掲示されます。 インストールに関して注意すべき既知の問題が無いことを確かめるために、 インストールする前に Errata を確認してください。
すべてのリリースに関する情報や Errata は、 FreeBSD のウェブサイト の リリース情報 の項で確認することができます。
FreeBSD のインストールは、 インストール用の CD, DVD または USB メモリスティックとともに、コンピュータを起動するところから始まります。 インストーラは、オペレーティングシステムで実行できるようなプログラムではありません。
FreeBSD のインストールファイルをすべて含んでいる通常のインストールメディアに加え、 bootonly を利用できます。 bootonly インストールメディアは、インストールファイルを含んでいません。 そのかわり、インストールの途中ですべてのファイルをネットワークからダウンロードします。 そのため、bootonly インストール CD は小さく、 また、インストール中に必要なファイルだけをダウンロードするので、 使用するバンド幅を減らすことが出来ます。
FreeBSD のインストールメディアは FreeBSD ウェブサイト から入手できます。
FreeBSD の入っている CDROM や DVD, USB メモリスティックを持っているのであれば、 この章を飛ばしてもかまいません。
FreeBSD の CD および DVD イメージは、 起動可能な ISO ファイルです。 インストールには、一枚の CD または DVD があれば十分です。 現在使用しているオペレーティングシステムにインストールされている、 ISO イメージを CD に書き込むアプリケーションを用いて、 起動可能な CD または DVD を作成してください。
起動可能なメモリスティックを作成する場合には、 以下の手順にしたがってください。
メモリスティックのイメージの取得
FreeBSD 9.0-RELEASE 以降のメモリスティックのイメージは、
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/
の arch/arch/ISO-IMAGES/version/FreeBSD-version-RELEASE-arch-memstick.imgISO-IMAGES/
ディレクトリからダウンロードできます。
ここで、arch と
version の部分を、
それぞれインストールするアーキテクチャとバージョン番号に置き換えてください。
たとえば、FreeBSD/i386 9.0-RELEASE
のメモリスティックのイメージは、ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/ISO-IMAGES/9.0/FreeBSD-9.0-RELEASE-i386-memstick.img
から入手できます。
FreeBSD 8.X 以前では、
これとは異なるディレクトリパスが使われています。
FreeBSD 8.X
以前のバージョンのダウンロードとインストールの詳細については、
3章FreeBSD 8.X のインストール で説明しています。
メモリスティックイメージには、.img
という拡張子がついています。ISO-IMAGES/
ディレクトリには複数の異なるイメージがあり、インストールする
FreeBSD のバージョンや、インストールするハードウェアによって、
必要なファイルが変わります。
以下の作業によってデータが 消去 されるので、 先に進む前に、使用する USB スティックにあるデータをバックアップしてください。
イメージファイルをメモリスティックに書き込む
以下の例では、イメージを書き込むデバイスを
/dev/da0 としています。
正しいデバイスを出力先に設定していることを十分確認してくだい。
さもなければ、現在あるデータを破壊してしまうことになります。
適切なドライブレターを出力先に設定していることを十分確認してくだい。 さもなければ、現在あるデータを破壊してしまうでしょう。
Image Writer for Windows® を入手する
Image Writer for Windows® は、 イメージファイルをメモリスティックに正しく書き込むことのできるフリーのアプリケーションです。 https://launchpad.net/win32-image-writer/ からダウンロードして、フォルダに展開してください。
イメージライタを使ってイメージを書き込む
Win32DiskImager
アイコンをダブルクリックして、プログラムを起動します。
Device
の下に表示されるデバイスレターが、
メモリスティックのドライブであることを確認してください。
フォルダのアイコンをクリックして、
メモリスティックに書き込むイメージファイルを選択します。
をクリックして、
イメージファイルの名前をアクセプトしてください。
すべてが正しく行われたかどうか、また、
他のウィンドウでメモリスティックのフォルダが開かれていないことを確認してください。
準備ができたら、 を押して、
メモリスティックにイメージファイルを書き込みます。
フロッピーディスクからのインストールには、 もはや対応していません。
これで FreeBSD をインストールする用意ができました。
デフォルトでは、次のメッセージが表示されるまで インストーラはディスクに何の変更も加えません。
Your changes will now be written to disk. If you have chosen to overwrite existing data, it will be PERMANENTLY ERASED. Are you sure you want to commit your changes?
この警告の前であれば、 いつでもハードディスクの内容を変更することなくインストールを中断できます。 もし、何かを間違って設定してしまったことが心配ならば、 最後の警告の前に単にコンピュータをオフにしてください。 被害を残さずに済みます。
「インストールメディアの準備」 で説明されている 「起動」 USB スティックを使用する場合には、コンピュータを立ち上げる前に、 USB スティックを挿入してください。
CDROM から起動する場合には、コンピュータを立ち上げ、 すぐに CDROM を挿入してください。
CDROM または USB から起動するようにコンピュータを設定してください。 この作業は、インストールに用いるメディアによって異なります。 起動するデバイスを BIOS で設定できます。 ほとんどのシステムでは、通常、起動時に F10, F11, F12 または Escape キーを押すことで、起動するデバイスを選択できます。
もし、コンピュータがすでに存在している OS を読み込み、 通常通り起動してしまったのであれば、 以下の原因が考えられます。
起動ディスクが起動プロセスにおいて十分早いタイミングで挿入されていません。 ディスクをそのままにしてコンピュータを再起動してください。
先程の BIOS の変更が適切に行われていません。 正しいオプションを設定してやり直してください。
使用している BIOS は、 希望しているメディアからの起動に対応していません。 Plop Boot Manager を使うと、古いコンピュータを CD や USB メディアから起動できます。
FreeBSD は起動を開始します。CDROM から起動している場合、 次のような画面が表示されるでしょう (バージョン情報は省略しています)。
FreeBSD ブートローダにより、以下の画面が表示されます。
10 秒間待つか、Enter を押してください。
ほとんどのコンピュータでは、
起動中にキーボードの C
を押しておくと、CD から起動します。
別の方法では
Command+Option+O+F、
または non-Apple® キーボードでは
Windows+Alt+O+F
を押してください。
0 > プロンプトで
boot cd:,\ppc\loader cd:0と入力してください。
キーボードのない Xserves では、 Open Firmware に起動する方法について Apple®'s support web site を参照してください。
ほとんどの SPARC64® システムは、 ディスクから自動的に起動するように設定されています。 FreeBSD をインストールするには、ネットワークまたは CDROM から起動する必要があり、そのためには PROM (OpenFirmware) に入る必要があります。
PROM に入るにはシステムを再起動し、 ブートメッセージが表示されるまで待ってください。 モデルによりますが、以下のような表示です。
もしシステムがこの時点でディスクから起動するようでしたら、
キーボードから
L1+A
または
Stop+A
を押すか、シリアルコンソールから BREAK
(たとえば、tip(1) または cu(1) では ~#)
を送信して、
PROM
プロンプトを表示してください。
次のような表示です。
ここで、CDROM をドライブに挿入し、
PROM プロンプトで
boot cdrom と入力してください。
画面に表示される数百行の文字列は (バッファに) 記憶されており、 再表示することが出来ます。
バッファを再表示するには、Scroll Lock キーを押します。 これで画面をスクロールできます。結果を見るためには、矢印キーもしくは PageUp か PageDown を使います。 Scroll Lock をもう一度押すと、スクロールを停止します。
直ちにこの作業を行って、カーネルがデバイス検出を実行している時に 画面の外に流れた文字列を再表示してください。 図2.2「典型的なデバイス検出結果の例」 によく似た画面が現われるでしょう。 ただし、あなたのコンピュータに搭載されているデバイスによって、 表示される文字列は異なります。
丹念に検出結果をチェックして、あなたが予期したすべてのデバイスを
FreeBSD が検出できた事を確認してください。デバイスが見つからなかった場合、
検出結果へ表示されません。
カーネルモジュール を構築することで、
GENERIC
カーネルに含まれていないデバイスのサポートを追加できます。
デバイス検出後、 図2.3「インストールメディアの選択モード」 が表示されます。 インストールメディアは、FreeBSD のインストール、 live CD、または FreeBSD シェルへのアクセスの 3 つの目的に利用出来ます。 矢印キーを使ってオプションを選択し、 Enter を押してください。
ここで を選択すると、インストール作業が始まります。
bsdinstall は、Nathan Whitehorn <nwhitehorn@FreeBSD.org> により書かれた、
テキストベースのインストールプログラムです。
2011 年の FreeBSD 9.0 で導入されました。
Kris Moore <kmoore@FreeBSD.org> の pc-sysinstall は、
PC-BSD に含まれており、
FreeBSD のインストール にも使用できます。
bsdinstall と混同されることもありますが、
この 2 つのインストーラには関係はありません。
bsdinstall のメニューは、カーソルキー、 Enter, Tab, Space 等で操作します。
使用しているシステムのコンソールにもよりますが、 bsdinstall は、 最初にデフォルト以外のキーボードレイアウト使うかどうかを尋ねてきます。
を選択すると、 以下のキーボード選択画面が表示されます。 そうでなければ、この選択メニューは表示されず、 デフォルトのキーボードマップが使われます。
システムのキーボードに最も近いキーマップを上下のカーソルキーで選び、 Enter キーを押してください。
Esc を押すと、 デフォルトのキーボードマップを使うようになります。 どのキーボードマップを選べばよいかわからない場合には、 キーマップを選ぶとよいでしょう。
次に bsdinstall は、 新しくインストールするシステムに与えるホスト名の入力に移ります。
入力するホスト名は、
machine3.example.com
のように完全修飾のホスト名で入力してください。
次に、 bsdinstall は、インストールするオプションのコンポーネントの選択に移ります。
どのコンポーネントをインストールするかは、 システムの用途と用意されているディスク容量に依存します。 FreeBSD カーネルとユーザランド (総称 は 「base system」) は、 常にインストールされます。
インストールのタイプによっては表示されないコンポーネントもあります。
doc - 追加の文書。多くは歴史的な興味のものです。
FreeBSD ドキュメンテーションプロジェクトが提供している文書は、
あとでインストールされます。
games - fortune,
rot13
などの伝統的な BSD ゲームをインストールします。
lib32 -
32-bit のアプリケーションを 64-bit 版の FreeBSD
で実行する際に必要となる互換ライブラリ。
ports - FreeBSD Ports Collection
Ports Collection は、 ソフトウェアのインストールを簡単に行う方法を提供します。 Ports Collection は、 ソフトウェアをコンパイルするのに必要なソースコードを含んでいません。 サードパーティ製ソフトウェアパッケージのダウンロード、 コンパイル、インストールを自動化するように設計されたファイルの集まりです。 Ports Collection の使い方については、 5章アプリケーションのインストール - packages と ports で説明します。
インストールプログラムは、 システムのディスクに十分な空き容量があるかどうかを確認しないので、 このオプションを選択する際には、 ハードディスクの容量が十分あることを確認してください。 FreeBSD 9.0 では、Ports Collection が必要とする容量は、 約 500 MB です。 より最新の FreeBSD のバージョンでは、 安全のためにもう少し大きなサイズを想定してください。
src - システムのソースコード
FreeBSD には、 カーネルとユーザランド両方のソースコードが付属しています。 ほとんどのアプリケーションは必要としませんが、 ソースで提供されているソフトウェア (デバイスドライバやカーネルモジュールなど) によってはコンパイル時、 または FreeBSD そのものを開発する場合に必要となります。
すべてのソースツリーをインストールするには 1 GB のディスク容量を必要とします。 また、FreeBSD システム全体のコンパイルには、 さらに 5 GB の容量が必要です。
bootonly インストールメディアは、 インストールファイルを含んでいません。 bootonly インストールメディアを使う場合には、 ネットワーク経由でファイルをダウンロードする必要があります。
「ネットワークインタフェースの設定」 に示されているように、 ネットワーク接続の設定が終わっていれば、ミラーサイトが選択されます。 ミラーサイトは、FreeBSD ファイルのコピーをキャッシュしています。 FreeBSD をインストールするコンピュータと同じ地域のミラーサイトを選んでください。 ターゲットコンピュータの近くにミラーがあると、 ファイルのダウンロードは早く終わるので、インストールの時間が短くなります。
インストールファイルをローカルメディアに用意できたら、 インストールは先に進みます。
FreeBSD へディスク領域を割り当てるには 3 つの方法があります。 Guided によるパーティションの分割方法では、 ディスクパーティションを自動的に設定します。 一方 Manual によるパーティションの分割方法は、 高度な知識を持つユーザ向けで、 カスタマイズしたパーティションを作成できます。 3 つ目の方法として、シェルを利用し、gpart(8), fdisk(8), bsdlabel(8) のようなコマンドラインのプログラムを実行する方法があります。
複数のディスクが接続されている場合には、 FreeBSD をインストールするディスクを選択してください。
ディスクのすべて、または一部を FreeBSD に割り当てます。 を選択すると、 一般的なパーティションレイアウトが作成されます。 を選択すると、 ディスクの使用していない領域にパーティションレイアウトを作成します。
パーティションのレイアウトを作成したら、 正しく作成できているかどうか注意深く確認してください。 間違いを発見したら、 を選択して、 直前に作成したパーティションをリセットしてください。 また、 を選択すると、 自動的にもう一度 FreeBSD パーティションを作成します。 パーティションを手動で作成、変更、削除できます。 正しくパーティションを作成出来たら、 を選択し、 インストールを進めてください。
Manual によるパーティションの分割では、 直接パーティションエディタが起動します。
ドライブ (この例では ada0) を選び、
を選択すると、
partitioning scheme
を選択するメニューが表示されます。
PC 互換のコンピュータでは、通常 GPT によるパーティション分割が最も適切な選択となります。 GPT に対応していないような古い PC オペレーティングシステムでは、 MBR パーティションを使う必要があります。 他のパーティションスキームは、使うことがまれであったり、 古いコンピュータで用いられます。
| 省略形 | 説明 |
|---|---|
| APM | Apple パーティションマップ。 PowerPC® Macintosh® で使われます。 |
| BSD | MBR を用いない BSD ラベル。しばしば "dangerously dedicated mode" と呼ばれます。 bsdlabel(8) をご覧ください。 |
| GPT | GUID パーティションテーブル |
| MBR | Master Boot Record |
| PC98 | MBR の亜種。NEC PC-98 コンピュータで使われます。 |
| VTOC8 | Volume Table Of Contents。 Sun SPARC64 および UltraSPARC コンピュータで使われます。 |
パーティションスキームを選択して作成した後で、 もう一度 を選択すると、 新しいパーティションが作成されます。
標準の FreeBSD GPT のインストールでは、 少なくとも 3 つのパーティションが使われます。
freebsd-boot - FreeBSD ブートコード。
freebsd-ufs - FreeBSD
UFS ファイルシステム。
freebsd-swap - FreeBSD
スワップ空間。
他のパーティション形式に freebsd-zfs があります。
これは FreeBSD ZFS ファイルシステムを含めるためのものです。
The Z File System (ZFS) をご覧ください。
利用可能な GPT
パーティションタイプについては、gpart(8)
をご覧ください。
複数のファイルシステムのパーティションを使うことができます。
/, /var,
/tmp そして /usr
といった伝統的なパーティション分割のレイアウトを好む人もいます。
レイアウトの例が 例2.3「伝統的なファイルシステムのパーティションを作成する。」 にあります。
サイズを入力する際に、 K (キロバイト)、M (メガバイト)、 G (ギガバイト) といった通常の省略形を使用出来ます。
セクタを適切に配置することで、 最良のパフォーマンスを得ることができます。 また、パーティションサイズを 4K バイトの偶数倍にすると、 512 バイトまたは 4K バイトのセクタでドライブが配置しやすくなります。 一般的に、 4K の偶数倍の場所からパーティションが開始するように設定する簡単な方法は、 1M または 1G の偶数倍のパーティションサイズを用いることです。 ただし、例外があり、現在のところ freebsd-boot パーティションは、 ブートコードの制限により 512K 以下である必要があります。
ファイルシステムを持つパーティションでは、
マウントポイントが必要となります。
1 つの UFS パーティションだけを作成するのであれば、
マウントポイントは / となります。
同様に label の作成も必要です。
ラベルは作成したパーティションを認識するための名前です。
ドライブ名や番号は、
ドライブが別のコントローラやポートに接続されると変わることがありますが、
パーティションラベルは変わりません。
/etc/fstab のようなファイルの中で、
ドライブ名やパーティション番号ではなく、ラベルを参照することにより、
システムがハードウェアの変更に対して、より寛容になります。
GPT のラベルは、ディスクが接続されると /dev/gpt/
に現れます。他のパーティションスキームでは別のラベルとなり、
/dev/
以下の異なるディレクトリにラベルが現れます。
同じ名前による衝突を避けるため、 すべてのファイルシステムに対し、一意的な名前使ってください。 コンピュータ名、使用、位置情報を表す単語をラベルに追加できます。 たとえば、研究室のコンピュータの UFS のルートパーティションを "labroot" または "rootfs-lab" とします。
伝統的なパーティションレイアウト
(/, /var,
/tmp および /usr
ディレクトリが各パーティションの別のファイルシステム)
を作成するには、
GPT パーティションスキームを作成し、
その後、示されているようにパーティションを作成してください。
示されているパーティションサイズは 20G のディスク用です。
ディスクにより多くの容量があれば、swap または
/var
パーティションを大きく取ると良いでしょう。
ここで示されているラベルには、"example" を意味する
ex が付けられていますが、
実際には上で説明したように、
これとは別のユニークなラベルをつけてください。
FreeBSD の gptboot は、
デフォルトでは最初に見つかった UFS パーティションが、
/ パーティションであることを前頭としています。
| パーティションタイプ | サイズ | マウントポイント | ラベル |
|---|---|---|---|
freebsd-boot | 512K | ||
freebsd-ufs | 2G | / | exrootfs |
freebsd-swap | 4G | exswap | |
freebsd-ufs | 2G | /var | exvarfs |
freebsd-ufs | 1G | /tmp | extmpfs |
freebsd-ufs | デフォルト (ディスクの残りのすべての容量) | /usr | exusrfs |
カスタムパーティション を作成したら を選択して、 インストールを先に進んでください。
インストールによるハードディスクへの変更を中止するなら、 ここが最後のチャンスです。
を選択して、 Enter キーを押すとインストールが開始します。 もし変更が必要であれば、 を選択してパーティションエディタまで戻ってください。 を選択すると、 ハードドライブへの変更なしにインストールを終了できます。
インストールにかかる時間は、どのディストリビューションを選んだか、 どのインストールメディアを使ったか、 そしてコンピュータの速度にも依存します。 進行状況を表すメッセージが逐次表示されます。
まず最初に、インストーラは、ディスクにパーティション情報を書き込み、
newfs を実行してパーティションを初期化します。
ネットワーク経由でのインストールでは、 bsdinstall は、 インストールに必要な配布ファイルをダウンロードします。
次に、ダウンロードの際にエラーが含まれなかったか、 インストールメディアからの読み取り中に読み間違いが起きなかったかどうか等、 配布ファイルの完全性の検証が行われます。
最後に、検証された配布ファイルがディスクへ取り出されます。
必要な配布ファイルがすべて取り出されたら、 bsdinstall は、 インストール後の作業 (「インストール後の作業」) に進みます。
FreeBSD のインストールが完了したら、 さまざまなオプションの設定に移ります。 新しくインストールした FreeBSD を起動する前に、 最後のメニューの configuration オプションの項目に入りなおすことでも、 オプションの設定を変更できます。
root のパスワードを設定する必要があります。
パスワードを入力している際に、入力している文字は画面に表示されません。
パスワードの入力後、もう一度入力する必要があります。
これは入力ミスを防ぐためです。
パスワードの入力に成功したら、インストールは次に進みます。
bootonly によるインストール作業の一部として、 すでにネットワークの設定を終えているのであれば、 この作業を飛ばすことができます。
次に、コンピュータが認識したすべてのネットワークインタフェースが表示されます。 設定するネットワークインタフェースを選んでください。
ワイヤレスネットワークインタフェースを選択したのであれば、 ネットワークに接続するようにワイヤレス認証およびセキュリティパラメータの入力が必要となります。
ワイヤレスネットワークは Service Set Identifier (SSID) によって識別されます。 SSID は、それぞれのネットワークに与えられる、短く、一意的な名前です。
ほとんどのワイヤレスネットワークは、 送信データを暗号化して、情報を盗聴から保護します。 WEP のような古い暗号の安全性は低いので、 WPA2 暗号を強く薦めます。
ワイヤレスネットワークへ接続する最初のステップは、 ワイヤレスアクセスポイントのスキャンです。
スキャンで見つかった SSID の一覧が、 そのネットワークで利用できる暗号化のタイプの説明とともに表示されます。 もし、期待した SSID が一覧に表示されないのであれば、 を選択してもう一度スキャンしてください。 もし、期待したネットワークが表示されないのであれば、 接続のためのアンテナやコンピュータをアクセスポイントの近くに移動させてみてください。 その後もう一度スキャンしてください。
ネットワークの選択後、ワイヤレスネットワークに接続するための暗号情報を入力します。 WPA2 では、 パスワード (Pre-Shared Key または PSK とも呼ばれます) のみが必要です。 セキュリティ上の観点から、入力ボックスに入力した文字はアスタリスクで表示されます。
ワイヤレスネットワークを選択後、 ネットワークの設定は接続情報の入力に進みます。
IPv4 ネットワークを使うかどうかを選択してください。 これは、ネットワーク接続の最も一般的なタイプです。
IPv4 の設定方法は 2 通りあります。 DHCP はネットワークインタフェースを自動的に適切に設定する方法で、 推奨されています。 Static 設定では、 ネットワーク情報を手動で入力する必要があります。
適当なネットワーク情報を入力しても動かないので、 ネットワーク管理者またはサービスプロバイダから 「ネットワークの詳細をまとめる」 に示されている情報を入手してください。
DHCP サーバを利用できるのであれば、 を選択して、 ネットワークインタフェースの設定を自動的に行ってください。
静的なネットワークインタフェースの設定では、 いくつかの IPv4 情報を入力する必要があります。
IP Address -
コンピュータに手動で与える IP アドレスです。
このアドレスは一意的なものである必要があり、
ローカルネットワーク上の他のネットワーク機器で使われていてはいけません。
Subnet Mask -
ローカルネットワークで用いられるサブネットマスクです。
一般的には 255.255.255.0 です。
Default Router -
このネットワークのデフォルトルータの IP アドレスです。
これは、通常ルータか、
ローカルネットワークをインターネットへ接続するネットワーク機器のことです。
デフォルトゲートウェイ
とも呼ばれます。
IPv6 はネットワークの設定の新しい方法です。 IPv6 が利用でき、希望するのであれば、 を選択してください。
IPv6 の設定に関しても 2 つの方法があります。 SLAAC (StateLess Address AutoConfiguration) は、ネットワークインタフェースを自動的に適切に設定します。 Static 設定では、ネットワーク情報を手動で入力する必要があります。
SLAAC では、IPv6 ネットワークコンポーネントがローカルルータから自動設定に関する情報をリクエストできるようにします。 詳細については、 RFC4862 をご覧ください。
静的なネットワークインタフェースの設定では、 IPv6 の設定に関する情報を入力する必要があります。
IPv6 Address -
このコンピュータに割り当てられた
IP アドレスです。
手動で設定します。
このアドレスは一意的なものである必要があり、
ローカルネットワーク上の他のネットワーク機器で使われていてはいけません。
Default Router -
このネットワークのデフォルトルータの IPv6 アドレスです。
これは、通常ルータか、
ローカルネットワークをインターネットへ接続するネットワーク機器のことです。
デフォルトゲートウェイ
とも呼ばれます。
使用しているコンピュータのタイムゾーンを設定することで、 地域による時刻の違いが自動的に調整され、 タイムゾーンに関連した機能が適切に取り扱われます。
ここでの例では、コンピュータが United States の Eastern タイムゾーンにあるものとします。 実際の地理的位置を選択してください。
コンピュータのクロックの設定にしたがい、 または、 を選択し、Enter を押しください。 UTC とローカルタイムのどちらを選ぶべきかわからない場合には、 を選択して、より一般的なローカルタイムに設定してください。
矢印キーを使って、適切な地域を選択し、 Enter を押してください。
矢印キーを使って、適切に国名を選び、 Enter を押してください。
矢印キーを使って適切なタイムゾーンを選択し、 Enter を押してください。
タイムゾーンの省略形が正しいかどうかを確認してください。 問題がないようであれば Enter を押して、 インストール後の設定を続けてください。
ブート時に起動するシステムサービスを追加で有効に出来ます。 これらのサービスはすべてオプションです。
sshd -
安全なリモートアクセスのためのセキュアシェル
(SSH) デーモン
moused - システムのコンソールで、
マウスを利用できるようにします。
ntpd - 自動時刻同期のネットワークプロトコル
(NTP) デーモン
powerd -
電源の管理およびエネルギーを節約するための電源コントロールユーティリティ
次に bsdinstall は、 クラッシュダンプの設定に移ります。 システムのデバッグを行う上で、 クラッシュダンプにより得られる情報は非常に有用です。 可能であればクラッシュダンプを有効にすると良いでしょう。 を選択してクラッシュダンプを有効にするか、または を選択してクラッシュダンプを無効化し、先に進んでください。
システムに root でログインすることを避けるため、
インストール時には、少なくとも一人のユーザを追加してください。
root 権限では、実行に対して制限がなく、また、
保護されません。
通常のユーザでログインすることにより、
安全でセキュリティ的に危険が少なくなります。
を選択し、 新しいユーザを追加してください。
追加するユーザの情報を入力してください。
Username -
ログイン時のユーザ名を入力します。典型的なものでは、
ファーストネームの最初の文字とラストネームを組み合わせます。
Full name - ユーザのフルネーム
Uid - ユーザ ID 番号。
通常は、システムが自動的に割り当てるように、
空欄のままにします。
Login group -
新しいユーザのログイングループ。
空欄のままにすると、自動的に割り当てられます
Invite -
ユーザを別のグループのメンバーとして追加するかどうか。user into
other groups?
Login class -
空欄にするとデフォルトの設定になります。
Shell - ユーザのログインシェル。
この例では csh(1) に設定されています。
Home directory -
ユーザのホームディレクトリ。
通常は、デフォルトの場所が適切です。
Home directory permissions -
ユーザのホームディレクトリの権限。
通常は、デフォルトが適切です。
Use password-based authentication? -
通常は "yes" です。
Use an empty password? -
通常は "no" です。
Use a random password? -
通常は "no" です。
Enter password -
ユーザのパスワードです。
入力している文字は画面に表示されません。
Enter password again -
確認のため、パスワードをもう一度入力します。
Lock out the account after creation?
- 通常は "no" です。
すべてを入力したら、サマリが表示され、
正しいかどうかの確認を求められます。
入力した情報に間違いがあれば、
no を入力してもう一度作業を行なってください。
すべてが正しく入力されていれば、
yes を入力して、新しいユーザを作成してください。
さらにユーザを追加するのであれば、
"Add another user?" の質問に対し、
yes を入力してください。
no を入力すると、ユーザの追加が終わり、次に進みます。
ユーザの追加や、ユーザ管理の詳細については、 14章ユーザと基本的なアカウントの管理 を参照してください。
すべてをインストールし、設定が終わった後に、 最後に設定を修正する機会が与えられます。
インストールを完了する前に、 このメニューを使って変更、または、追加の設定を行なってください。
Add User -
「ユーザの追加」 で説明しています。
Root Password -
「root パスワードの設定」 で説明しています。
Hostname -
「ホスト名の設定」 で説明しています。
Network -
「ネットワークインタフェースの設定」 で説明しています。
Services -
「有効にするサービスの選択」 で説明しています。
Time Zone -
「タイムゾーンの設定」 で説明しています。
Handbook -
FreeBSD ハンドブック (現在あなたが読んでいるこの文章のことです)
のダウンロードとインストール。
最後の設定を完了後、 を選んでインストールを終了してください。
新しいシステムを再起動する前に、 bsdinstall は追加の設定が必要かどうかを尋ねてきます。 を選択して新しいシステムのシェルに入るか、または を選択して、インストールの最後のステップに進んでください。
もし追加の設定や、特別なセットアップが必要なのであれば、 を選んでインストールメディアを Live CD モードで起動してください。
インストールが終わったら、 を選んで、 コンピュータを再起動し、新しい FreeBSD システムを動かしてください。 再起動する前には、忘れずに FreeBSD インストール CD, DVD または USB メモリスティックを外してください。 さもないと、もう一度インストールメディアから起動してしまいます。
FreeBSD の起動時には、多くのメッセージが画面に表示されます。 ほとんどは、画面上からスクロールして見えなくなってしまいますが、 これは正常です。システムの起動が終わった後で、 ログインプロンプトが表示されます。 画面上からスクロールして消えてしまったメッセージは Scroll-Lock を押し、 scroll-back buffer で、みることができます。 PgUp, PgDn そして矢印キーでメッセージの内容を見ることができます。 Scroll-Lock をもう一度押すと、画面のロックを外し、 通常の画面に戻ることができます。
login: プロンプトで、
インストール時に追加したユーザ名を入力してください。
この例では、asample です。
必要のない限り、root でのログインを避けてください。
上で示した scroll-back buffer では、バッファの容量制限により、
すべてが表示されないかもしれません。
ログインの後にプロンプトからコマンドラインで
dmesg | less
と入力することによって、すべてを見ることができます。
確認後に q を押すと、コマンドラインに戻ります。
典型的なブートメッセージ (バージョン情報は省略しています)
低速なマシンでは、 RSA および DSA キーを作成するのに少々時間がかかるかもしれません。 これはインストール後の最初の起動時に、sshd のセットアップが自動的に開始する時に実行されます。 その後の起動はより速くなるでしょう。
FreeBSD はデフォルトでは、グラフィカルな環境をインストールしませんが、 多くのものを利用できます。 6章X Window System を読んでください。
適切に FreeBSD をシャットダウンすることは、
ハードウェアをダメージから守ったり、データの保護につながります。
ただ電源を落すということはしないでください。
wheel
グループのメンバとなっているユーザは、
コマンドラインから su と入力し、
root パスワードを入力して
root となってください。
または root としてログインし、
shutdown -p now
を使用します。システムは正しくシャットダウンし、電源が落ちます。
Ctrl+Alt+Del というキーの組合せを使ってシステムをリブートすることもできますが、 通常の運用においてこれは推奨されません。
この節では、インストールの際の、 これまで報告された共通の問題に対する解決のための情報が書いてあります。
PC アーキテクチャのさまざまな制限により、 100% 確実に原因を突き止めることは不可能ですが、 失敗した時にいくつかできることがあります。
インストールする FreeBSD のバージョンの ハードウェアノート を調べて、 使っているハードウェアに対応しているかどうかを確認してください。
もしハードウェアがサポートされているにもかかわらず、
動作しなかったり他の問題点がある時は、カスタムカーネル
を構築する必要があります。GENERIC
カーネルに含まれていないデバイスのサポートを追加することができます。
起動ディスクのカーネルでは、ほとんどのハードウェアデバイスの IRQ, IO アドレス、
DMA チャネルが工場出荷時の状態であると設定されています。
もしハードウェアの設定が変更されていると、
カーネルコンフィグレーションファイルを編集し、
再コンパイルを行なって、これらの値を
FreeBSD に設定しなければなりません。
存在しないデバイスを認識してしまうことにより、 その後実際に存在するデバイスの認識を失敗してしまうことがあります。 このような場合は衝突しているドライバを無効にします。
いくつかのインストール上の問題はさまざまなハードウェア装置の、 特にマザーボードのファームウェアのアップデートで回避または緩和することができます。 マザーボードのファームウェアは BIOS と呼ばれることもあり、 多くのマザーボードまたはコンピュータ製造メーカーは、 アップデートやアップグレード情報を載せているウェブサイトを用意しています。
通常、製造メーカーは、 重要な更新のようなそれなりの理由がない限り、マザーボードの BIOS のアップグレードは行わないよう推奨しています。 アップデートの過程で失敗する可能性があり、 その場合 BIOS が不完全な状態になり、 コンピュータが動作しない原因となり得るからです。
2.10.2.1. | 起動時のハードウェア検出で、システムがハングアップします。 または、インストール中にシステムがおかしくなります。 |
i386, amd64 および ia64 プラットフォームにおいて、
FreeBSD はシステムの設定を手助けするシステム ACPI サービスを、
起動時に検出された場合に広く使います。
残念ながら、まだいくつかの不具合が、
ACPI ドライバとシステムのマザーボードおよび
BIOS ファームウェア両方に存在しています。
起動ステージ 3 において、ヒント情報
set hint.acpi.0.disabled="1"この設定はシステムが起動するたびにリセットされるので、
|
FreeBSD の live CD は、メインのインストールプログラムと同じ CD に含まれています。 オペレーティングシステムに FreeBSD を使おうかどうか考えている方や、 インストールする前に機能を試して見たいと思っている方に有用です。
live CD を使う際は、以下のことに気をつけてください。
システムにアクセスする際には、認証を求められます。
ユーザ名は root、パスワードは空欄としてください。
システムは CD から起動するため、 ハードディスクにインストールされたシステムに比べ、 パフォーマンスはかなり遅い可能性があります。
live CD のユーザインタフェースはコマンドプロンプトです。 グラフィカルなユーザインタフェースではありません。
FreeBSD は、
テキストベースの使いやすいインストールプログラムを用意しています。
FreeBSD 9.0-RELEASE 以降では bsdinstall(8)
と呼ばれるインストールプログラムを使い、
FreeBSD 8.X では
sysinstall(8) を使います。
この章では、sysinstall(8) の使い方について説明します。
bsdinstall(8) の利用については
2章FreeBSD のインストール (9.X 以降の場合) で説明します。
この章を読めば、次のことがわかるでしょう:
FreeBSD インストールメディアの作り方。
FreeBSD がハードディスクをどのように参照するか、 またどのように分割するか。
sysinstall(8) をどのように起動するか。
sysinstall(8) が聞いてくる質問がどのような意味であり、 またどのように答えれば良いか。
この章を読む前に、以下のことを確認して下さい:
インストールしようとするバージョンの FreeBSD に付属しているサポートハードウェア一覧を読んで、 システムのハードウェアがサポートされているかどうか確認して下さい。
この章で説明しているインストール手順は、i386™ および FreeBSD/amd64 アーキテクチャを対象にしています。 他のプラットフォームに特有の説明についても、 該当する場所に明記しています。 インストーラとこの文書で記述している内容との間にはいくらかズレがあります。 この章を正確なインストールマニュアルとしてではなく、 一般的なガイドとしてご利用ください。
FreeBSD をインストールする最小構成は、 FreeBSD のバージョンやハードウェアのアーキテクチャによって異なります。
以下の節では、最小構成についての情報をまとめています。 また、FreeBSD のインストール方法によって、フロッピードライブ、 CDROM ドライブ、もしくはネットワークアダプタが必要となります。 インストールメディアの準備方法については、 「ブートメディアの準備」 で説明されています。
FreeBSD/i386 と FreeBSD/pc98 の両方のアーキテクチャは、 486 以上のプロセッサと、 少なくとも 24 MB の RAM が必要です。 最小のインストールでは、 少なくとも 150 MB のハードディスクの空き容量が必要です。
通常、古いハードウェアでは、 速いプロセッサを入手するより、より多くの RAM やより多くの容量のハードドライブを用意するほうが重要となります。
FreeBSD/amd64 を実行可能なプロセッサには 2 つのクラスがあります。 1 つ目のクラスは、AMD Athlon™64, AMD Athlon™64-FX, AMD Opteron™ やそれより新しいプロセッサです。
もう 1 つのクラスは、 Intel® EM64T アーキテクチャを採用しているプロセッサです。 これらのプロセッサの例は、 Intel® Core™ 2 Duo, Quad, Extreme プロセッサファミリおよび Intel® Xeon™ 3000, 5000, および 7000 系のプロセッサです。
nVidia nForce3 Pro-150 ベースのコンピュータを使用するには、 BIOS のセットアップを使って、IO APIC を無効にする 必要があります。 もし、このようなオプションがなければ、 かわりに ACPI を無効にしてください。 Pro-150 チップセットには回避策が見つかっていないバグがあるためです。
FreeBSD/sparc64 をインストールするには、 サポートされているプラットフォームが必要です (「サポートされているハードウェア」 をご覧ください)。
現時点では、他のオペレーティングシステムとディスクの共有ができないので、 FreeBSD/sparc64 専用のディスクが必要です。
サポートされるハードウェアのリストは FreeBSD のリリースと一緒に
FreeBSD ハードウェアノートとして提供されます。
このドキュメントは通常 CDROM や FTP 配布の一番上のディレクトリや
sysinstall(8) のドキュメントメニューにある
HARDWARE.TXT という名のファイルで見ることができます。
アーキテクチャごとに用意されるそのリストを見ることで、FreeBSD
の各リリースでどのようなハードウェア装置がサポートされるかがわかります。
リリースごと、およびアーキテクチャごとのハードウェアリストは、
FreeBSD のウェブサイトの リリース情報
のページにあります。
FreeBSD をインストールする前に、 コンピュータで使用している部品の一覧を作っておくといいでしょう。 FreeBSD のインストールルーチンでは、ハードディスク、ネットワークカード、 CDROM ドライブなどの部品を、モデル番号、メーカー名とともに表示します。 さらにこれらのデバイスについて、使用する IRQ, I/O ポートまで含めて正しい設定を認識しようと試みます。 しかし、コンピュータのハードウェアによっては、 この過程が完全に成功するとは限らず、 手動で修正しなければならないこともあります。
既に別のオペレーティングシステムがインストールされているのであれば、
それらのオペレーティングシステムでのハードウェアの設定を参考にすると良いでしょう。
拡張カードなどの設定がよく分からない場合は、
カードそのものに印刷されていることもあります。
よく使われる IRQ は 3, 5, 7 で、I/O ポートアドレスは通常
0x330 のような
16 進数で書かれています。
FreeBSD をインストールする前に、 これらの情報を印刷するか書き留めておくことを勧めます。 例えば次のような表です:
| デバイスの名前 | IRQ | I/O ポート | メモ |
|---|---|---|---|
| 1 台目のハードディスク | N/A | N/A | 40 GB, Seagate 製、プライマリ IDE マスタ |
| CDROM | N/A | N/A | プライマリ IDE スレーブ |
| 2 台目のハードディスク | N/A | N/A | 20 GB, IBM 製、セカンダリ IDE マスタ |
| 1 つ目の IDE コントローラ | 14 | 0x1f0 | |
| ネットワークカード | N/A | N/A | Intel® 10/100 |
| モデム | N/A | N/A | 3Com® 56K ファックスモデム、COM1 に接続 |
| … |
コンピュータで使用している部品の一覧を作成したら、 インストールする FreeBSD のリリースのハードウェア要件を満たしているかどうかを確認してください。
コンピュータに価値のあるデータが入っている場合には、 FreeBSD をインストールする前に、データのバックアップをとり、 さらに正しくバックアップがとれていることを確認して下さい。FreeBSD のインストーラは、ハードディスクに実際に書き込む前に確認を求めますが、 一度実際に書き込む作業が始まってしまうと、 もう元に戻すことはできません。
ハードディスク全体に FreeBSD をインストールする場合には、 この節は読み飛ばしてください。
しかし FreeBSD を他のオペレーティングシステムと共存させる必要がある場合は、 データがディスクにどのように配置されるかを大まかに理解する必要があります。
PC のディスクは、 パーティション と呼ばれる、 個別の塊に分割することができます。 FreeBSD は内部にもパーティションを持つので、この名称は混乱をおこします。 そのため、FreeBSD ではこの塊をスライスと呼びます。 たとえば、fdisk(8) の FreeBSD 版は、 パーティションではなくスライスと呼びます。 PC では、ディスク 1 台あたり 4 つまでパーティションを作成できます。 これらのパーティションはプライマリパーティションと呼ばれます。 この制限を回避し、 4 つ以上のパーティションを作成するために拡張パーティションと呼ばれる新しいパーティション形式が作られました。 ディスク 1 台につき 1 つだけ拡張パーティションを作成できます。 論理パーティションと呼ばれる特別のパーティションは、 この拡張パーティションの内部に作成できます。
それぞれのパーティションは、
そのパーティションに含まれるデータの形式を示す数字である、
パーティション ID を持ちます。FreeBSD
パーティションのパーティション ID は 165です。
通常、各オペレーティングシステムは、
それぞれ独自の方法で個々のパーティションを識別します。
たとえば Windows® は、
プライマリパーティションおよび論理パーティションそれぞれに
C: から始まる
ドライブレターを割り当てます。
FreeBSD はプライマリパーティションにインストールしなければなりません。 複数のディスクがある場合は、そのうちのいくつか、もしくはすべてに、 FreeBSD パーティションを作成することもできます。 FreeBSD をインストールする時は 少なくとも 1 つのパーティションを使用可能にしておかなければなりません。 このパーティションは、空白のパーティション、 もしくは無くなっても構わないデータしか入っていない、 既存のパーティションでも構いません。
すべてのディスクのすべてのパーティションが使用されている場合は、
他のオペレーティングシステムで提供されているツール
(たとえば Windows® の fdisk) を使用して、
そのうちの 1 つを FreeBSD のために解放してください。
予備のパーティションがある場合には、それを使ってください。 もし、利用できる容量が少なければ、 1 つまたは複数の既存のパーティションを縮小して、 利用できる容量を確保してください。
FreeBSD の最小のインストールには、100 MB 程度のディスク容量が必要です。 しかしこれは非常に小さなインストールであり、 自分のファイルを作成するスペースはほとんど残らないでしょう。 現実的には、グラフィカルな環境が必要ないのであれば 250 MB、 グラフィカルユーザインタフェースを使用するのであれば 350 MB 以上は必要でしょう。 その上、サードパーティ製ソフトウェアをインストールするならば、 さらに多くのスペースが必要になるでしょう。
FreeBSD のためのスペースを用意する際、 パーティションサイズを変更するために、 GParted などのツールを使用できます。 GParted は、 NTFS を操作することができ、 SystemRescueCD といった多くの Live CD Linux ディストリビューションで利用できます。
パーティションサイズを縮小するツールの使用方法を誤ると、 ディスク上のデータが消えてしまう可能性があります。 この種のツールを使う際には、 使用前に必ず最新のデータのバックアップをとって下さい。
既に Windows® がインストールされている 4 GB のハードディスクが
1 台接続されており、そのハードディスクは 2 つのドライブレター
C: および D:
に分割されており、それぞれのサイズが 2 GB であるとします。
C: には 1 GB,
D: には 0.5 GB のデータがあるとします。
ディスクには、ドライブレター 1 つあたり 1 つのパーティション、
合計で 2 つのパーティションがあることを意味します。
この場合、D: にあるデータをすべて
C: にコピーすれば、
2 つ目のパーティションを解放し、FreeBSD
のために使うことができるでしょう。
既に Windows® がインストールされている 4 GB のハードディスクが
1 台接続された PC を使用しているとします。さらに Windows®
をインストールする際、1 つの大きなパーティションを作成し、
C: ドライブとして 4 GB を割り当てたとします。
現在 1.5 GB 使用しており、FreeBSD で 2 GB 使いたいとします。
FreeBSD をインストールするためには、 以下のどちらかを行わなければなりません。
Windows® のデータをバックアップし、インストール時に 2 GB のパーティションを作成して Windows® を再インストールする。
先に述べた Windows® パーティションを縮小するツールを使用する。
FTP サイトまたは NFS サーバからインストールする場合は、 ネットワークの設定を知る必要があります。 インストールを完了するためにネットワークに接続できるよう、 これらの情報をインストーラのプロンプトに入力する必要があります。
イーサネットネットワークに接続する場合や、 ケーブル / DSL モデム経由でイーサネットアダプタを利用してインターネットに接続する場合は、 次の情報が必要になります:
IP アドレス
デフォルトゲートウェイの IP アドレス
ホスト名
DNS サーバの IP アドレス
サブネットマスク
これらの情報がわからなければ、 システム管理者かサービスプロバイダに問い合わせて下さい。 DHCP を使用して、この情報を自動的に割り当てることもあります。
FreeBSD プロジェクトでは FreeBSD の各リリースができる限り安定するよう努力していますが、 時々バグが発生してしまうことがあります。極まれに、 発生したバグによりインストールプロセスに影響を与えることがあります。 これらの問題は発見され解決されるとともに、 FreeBSD のウェブサイトの FreeBSD Errata に掲示されます。 注意すべき既知の問題が無いことを確かめるために、インストールする前に Errata を確認してください。
Errata を含む、すべてのリリースに関する情報は、 FreeBSD のウェブサイト の リリース情報 の項で確認することができます。
FreeBSD のインストーラは、 以下のいずれかの場所に置いてあるファイルから FreeBSD をインストールします。
CDROM または DVD
USB メモリスティック
同じコンピュータ上の MS-DOS® パーティション
フロッピーディスク (FreeBSD/pc98 のみ)
ファイアウォール経由または HTTP プロキシを利用した FTP サイト
NFS サーバ
パラレルまたはシリアル専用接続
購入した CD または DVD から FreeBSD をインストールするのであれば、 「ブートメディアの準備」 を読み飛ばしてください。
FreeBSD のインストールファイルを入手するには、 「カスタムインストールメディアの準備」 まで読み飛ばしてください。 インストールメディアをどのように準備すれば良いか説明しています。 このセクションを読み終わった後、ここに戻ってきて、 「ブートメディアの準備」 を読んでください。
FreeBSD のインストールプロセスは、FreeBSD インストーラでコンピュータを起動することから始まります。 インストーラは、 別のオペレーティングシステムで実行するプログラムではありません。 通常、コンピュータはハードディスクにインストールされたオペレーティングシステムから起動しますが、 CDROM や USB ディスクから起動するように設定することもできます。
CDROM および DVD からの起動が可能な BIOS を持つコンピュータに CDROM または DVD をインストールするのであれば、 この節を飛ばしてください。 FreeBSD の CDROM と DVD イメージは起動可能であり、 他の特別な準備をすることなく FreeBSD のインストールで利用できます。
起動可能なメモリスティックを作成する場合には、 以下の手順にしたがってください。
メモリスティックのイメージの取得
FreeBSD 8.X
のメモリスティックのイメージは、
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/ の
arch/ISO-IMAGES/version/FreeBSD-version-RELEASE-arch-memstick.imgISO-IMAGES/ ディレクトリからダウンロードできます。
ここで、 arch と
version の部分を、
それぞれインストールするアーキテクチャとバージョン番号に置き換えてください。
たとえば、FreeBSD/i386 8.4-RELEASE
のメモリスティックのイメージは、ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.4/FreeBSD-8.4-RELEASE-i386-memstick.img
から入手できます。
FreeBSD 9.0-RELEASE からは、
異なるディレクトリパスが使われています。
FreeBSD 9.X
のダウンロードとインストールの詳細については、
2章FreeBSD のインストール (9.X 以降の場合) で説明します。
メモリスティックイメージには、.img
という拡張子がついています。ISO-IMAGES/
ディレクトリには複数の異なるイメージがあり、
用いるべきイメージは、
FreeBSD のバージョンやインストールするハードウェアが対応しているメディアに依存します。
以下の作業によってデータが消去されるので、 先に進む前に、使用する USB スティックにあるデータをバックアップしてください。
イメージファイルをメモリスティックに書き込む
以下の例では、起動するデバイスを
/dev/da0 としています。
適切なデバイスを出力先に設定していることを十分確認してくだい。
さもなければ、現在あるデータを破壊してしまうでしょう。
イメージを dd(1) を使って書き込む
.img ファイルは、
単純にメモリスティックにコピーされるような、
通常のファイルではありません。
ディスクの内容の完全なイメージです。
したがって、dd(1) を使用して、
直接ディスクにイメージを書き込む必要があります。
# dd if=FreeBSD-8.4-RELEASE-i386-memstick.img of=/dev/da0 bs=64k
Operation not permitted
エラーが表示されたら、ターゲットデバイスが他で利用されていないかどうか、
マウントされていないかどうか、
他のプログラムが自動的にマウントしていないかどうかを確認してください。
その後、もう一度実行してください。
以下のコマンドは、 指定したデバイスに現在あるデータを上書きして破壊してしまうので、 出力先に適切なドライブレターを設定していることを十分確認してくだい。
Image Writer for Windows を入手する
Image Writer for Windows は、 イメージファイルをメモリスティックに正しく書き込むことのできるフリーのアプリケーションです。 https://launchpad.net/win32-image-writer/ からダウンロードして、フォルダに展開してください。
イメージライタを使ってイメージを書き込む
Win32DiskImager
アイコンをダブルクリックして、プログラムを起動します。
Device
の下に表示されるデバイスレターが、
メモリスティックのドライブであることを確認してください。
フォルダのアイコンをクリックして、
メモリスティックに書き込むイメージファイルを選択します。
をクリックして、
イメージファイルの名前をアクセプトしてください。
すべてが正しく行われたかどうか、また、
他のウィンドウでメモリスティックのフォルダが開かれていないことを確認してください。
最後に、 を押して、ドライブにイメージファイルを書き込みます。
FreeBSD/pc98 のインストール用に起動フロッピーディスクを作成するためには、 次のステップに従って下さい:
起動フロッピーイメージの取得
FreeBSD/pc98 のブートディスクは、
floppies ディレクトリ、
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/pc98/
から入手できます。
ここで version-RELEASE/floppies/version の部分を、
それぞれインストールするバージョン番号に置き換えてください。
フロッピーイメージは .flp
という拡張子がついています。floppies/
には複数の異なるイメージがあります。
boot.flp とともに、
kern.small* または
kern*
といったインストールの種類に関連づいた複数のファイルをダウンロードしてください。
FTP プログラムを使用してこれらのディスクイメージをダウンロードする時は、 必ずバイナリモードにして下さい。 Web ブラウザによっては テキスト または アスキー モードでダウンロードするものがあり、 ディスクから起動できないときは大抵これが原因です。
フロッピーディスクの用意
ダウンロードしたイメージファイル 1 つにつき 1 枚のフロッピーディスクを用意してください。 これらのディスクに欠陥があってはいけません。 これを確認する最も簡単な方法は、 自分自身でフォーマットしてみることです。 フォーマットする前のフロッピーを信用してはいけません。 Windows® のフォーマットユーティリティは、 不良ディスクがあっても教えてはくれないでしょう。 それらを 「bad」 とマークして、無視するだけです。 新品のフロッピーを使うことをお薦めします。
インストーラがクラッシュしたりフリーズしたり、 おかしな動作をした時、 まずはじめに疑うべきもののうちの 1 つはフロッピーです。 フロッピーイメージを新しいディスクに書き込んで、 もう一度試してみて下さい。
フロッピーディスクへイメージファイルを書き込む。
.flp ファイルは、
ディスクにコピーできるような、
通常のファイルではありません。
完全なディスクの内容のイメージです。
イメージを直接ディスクに書き込む特別なツールを使用する必要があります。
FreeBSD は、Windows®
が動作しているコンピュータでフロッピーを作成する
rawrite と呼ばれるツールを提供しています。
このツールは FreeBSD の FTP サイト上の
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/pc98/
からダウンロードできます。
このツールをダウンロードしたら、フロッピーを挿入してください。
その後、ファイル名を指定してフロッピードライブに書き込んでください。
version-RELEASE/tools/
C:\> rawrite boot.flp A:毎回フロッピーディスクを入れ換え、
ファイルの名前を示すラベルを付けながら、
それぞれの .flp
ファイルに対してこのコマンドを繰り返します。
.flp ファイルを置いた場所に応じて、
コマンドラインを変更して下さい。
FreeBSD システムのような、 UNIX®-like システムでフロッピーへの書き込みを行う場合は、 イメージファイルを直接ディスクに書き込むために dd(1) を使ってください。FreeBSD 上では、 次のように実行してください。
# dd if=boot.flp of=/dev/fd0FreeBSD においては、/dev/fd0 が
1 台目のフロッピーディスクドライブを表します。
他の UNIX® システムでは、
フロッピーディスクデバイスには別の名前がついているかもしれないので、
必要に応じてそのシステムのドキュメントを確認して下さい。
これで FreeBSD をインストールする用意ができました。
デフォルトでは、 次のメッセージが表示されるまでインストーラはディスクに何の変更も加えません。
Last Chance: Are you SURE you want continue the installation? If you're running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents!
この最後の警告の前であれば、 いつでもハードディスクの内容を変更することなくインストールを中断できます。 もし、何かを間違って設定してしまったことが心配ならば、 最後の警告の前に単にコンピュータをオフにしてください。 被害を残さずに済みます。
コンピュータの電源をいれます。 起動が始まると、すぐにシステムまたは BIOS のセットアップメニューに入るためのオプションが表示されるはずです。 一般的には F2, F10, Del のようなキーまたは Alt+S のようなキーの組合せです。 画面上に示されるキーを使用してください。 コンピュータによっては、 起動する間に画像を表示するものもあります。 大抵の場合、Esc キーを押すと、 画像が消えてブートメッセージが表示されます。
どの装置からシステムが起動するかを制御する設定を探してください。
通常は 「Boot Order」 と呼ばれ、一般的には、
Floppy, CDROM,
First Hard Disk
などの装置の一覧として表示されています。
CD または DVD から起動する場合には CDROM が選択されていることを、 USB ディスクから起動するなら USB ディスクが選択されていることを確認してください。 自信が無い場合は、 コンピュータやマザーボード付属のマニュアルを参照してください。
変更を保存して終了してください。 コンピュータが再起動するはずです。
「ブートメディアの準備」 で説明されている 「起動」 USB スティックを使用する場合には、 コンピュータを立ち上げる前に、 USB スティックを挿入してください。
CD または DVD から起動する場合、コンピュータを立ち上げ、 すぐに CD または DVD を挿入する必要があります。
FreeBSD/pc98 では、
インストール用の起動フロッピーが用意されており、
「ブートメディアの準備」
で説明されている方法で作成できます。
boot.flp
が最初に挿入するフロッピーディスクです。
インストーラを起動できるように、
このフロッピーをフロッピードライブに挿入してください。
もし、コンピュータがすでに存在している OS を読み込み、 通常通り起動してしまったのであれば、 以下の原因が考えられます。
起動ディスクが起動プロセスにおいて十分早いタイミングで挿入されていません。 ディスクをそのままにしてコンピュータを再起動してください。
BIOS の変更が適切に行われていません。 正しいオプションを設定してやり直してください。
使用している BIOS は、 希望しているメディアからの起動に対応していません。
FreeBSD は起動を開始します。CD または DVD から起動している場合、 次のような画面が表示されるでしょう。
フロッピーディスクから起動している場合、 次のような画面が現れるでしょう。
boot.flp フロッピーを抜き、
次のフロッピーを挿入し、
Enter を押してください。
プロンプトが表示されたら、
要求される通りに他のディスクを挿入してください。
起動プロセスは FreeBSD ブートローダメニューを表示します。
10 秒間待つか、Enter を押してください。
ほとんどの SPARC64® システムは、 ディスクから自動的に起動するように設定されています。 FreeBSD をインストールするには、ネットワークまたは CD/DVD から起動し、ブートメッセージが表示されるまで待ってください。 モデルによりますが、以下のようなメッセージが表示されます。
もしシステムがディスクから起動するようでしたら、
キーボードから
L1+A
または
Stop+A
を押すか、シリアルコンソールから
tip(1) または cu(1) で ~#
を使って BREAK を送信して、
PROM プロンプトを表示してください。
次のような表示です。
ここで、CD または DVD をドライブに挿入し、
PROM プロンプトで boot cdrom と入力してください。
画面に表示される数百行の文字列は (バッファに) 記憶されており、 再表示することが出来ます。
バッファを再表示するには、Scroll Lock を押してください。 これで、画面をスクロールできます。結果を見るためには、矢印キーもしくは PageUp か PageDown を使います。 Scroll Lock をもう一度押すと、スクロールを停止します。
この作業を行って、カーネルがデバイス検出を実行している時に画面の外に流れた文字列を再表示してください。 図3.2「古典的なデバイス検出結果の例」 によく似た画面が現われるでしょうが、 コンピュータに搭載されているデバイスによって、表示される文字列は異なります。
丹念に検出結果をチェックして、すべてのデバイスを
FreeBSD が検出できた事を確認してください。デバイスが見つからなかった場合、
検出結果へ表示されません。
カスタムカーネル を構築することで、
GENERIC
カーネルに含まれていないデバイスに対応できるようになります。
デバイス検出後、 図3.3「国の選択メニュー」 に示されるメニューが表示されます。 矢印キーを使って、国、地域またはグループを選択し、 その後、Enter を押して決定してください。
国に を選択した場合には、 標準のアメリカのキーボードマップが使われるようになります。 他の国を選択すると以下のメニューが表示されます。 矢印キーを使い、適切なキーボードマップを選択して Enter を押してください。
国の設定が終わったら、sysinstall(8) のメインメニューが表示されます。
FreeBSD 8.X のインストーラである
sysinstall(8) は、
コンソール上で動作し、
いくつものメニューや画面から構成され、
設定やインストールプロセスをコントロールできます。
メニューはカーソルキー、 Enter, Tab, Space 等で操作します。 これらのキーの詳しい解説とその意味については、図3.5「Sysinstall のメインメニューから Usage を選択」 に示されているように、 の項目が強調表示され、 ボタンが選択されていることを確認してから、 Enter を押してください。
メニューシステムの使い方が表示されます。読み終ったら、 Enter を押してメインメニューに戻りましょう。
メインメニューから、カーソルキーで を選択して Enter を押してください。
これでドキュメントメニューが表示されます。
付属のドキュメントを読むことは重要です。 ドキュメントを読むには、カーソルキーで選択して Enter を押してください。読み終えたら、 Enter を押すとドキュメントのメニューに戻ります。
メインのインストールメニューに戻るには、カーソルキーで を選択して、 Enter を押してください。
キーボード配列を変更するには、カーソルキーで を選択して、 Enter を押してください。 使用しているキーボードが、標準ではなかったり、 または US ではない場合に変更作業が必要となります。
上下のカーソルキーでメニュー項目を選択して Space を押すと、異なるキーボード配列を選択できます。 もう一度 Space を押すと、選択を解除します。 完了したら、カーソルキーで を選択して Enter を押してください。
このスクリーン表示では、リストの一部しか表示されていません。 Tab を押して を選択すると、 デフォルトのキーマップを使用して、 メインインストールメニューに戻ります。
を選択して、 Enter を押してください。
ほとんどのユーザーにはデフォルトの値でよく、変更する必要はありません。 リリース名は、インストールするバージョンによって変わります。
選択された項目の説明が、画面の下部に青く強調表示されます。 オプションの 1 つは という、 すべての値を初期値に戻すものであることに気をつけてください。
F1 を押すと、 さまざまなオプションについての説明を読むことができます。
Q を押すと、 メインインストールメニューに戻ります。
最初の課題は、FreeBSD 用にディスク領域を割り当て、 sysinstall(8) が使えるようにラベルを作成することです。 そうするためには、FreeBSD がディスク上にどのような情報があることを前提としているかを知らなければなりません。
FreeBSD をインストールして設定する前に、 FreeBSD がどのように BIOS ドライブマッピングを取り扱うかを理解しておくことが重要です。
Microsoft® Windows® のような に依存したオペレーティングシステムが動いている PC では、 BIOS がディスクドライブの順序を構成でき、 OS はその変化に追従します。これにより、"プライマリマスタ" 以外のディスクから起動することができます。 この仕組みを用いればシステムのバックアップを取る簡単な方法を構築できます。 もう一つ同じディスクを買い、 一つ目のディスクから二つめのディスクへのコピーを定期的に取ればいいのです。 そして、一つ目のディスクに障害が起きたり、ウィルスに感染したり、 オペレーティングシステムの不具合でめちゃくちゃにされてしまった時には、 BIOS に対してドライブを論理的に交換するように指示することで簡単に復旧できるのです。 この方法はドライブのケーブルを交換するのと同じようなことなのですが、 ケースを開ける必要がありません。
SCSI コントローラを備えたシステムでは、 しばしば BIOS に拡張が施されており、同じように 7 台までのドライブの順番を組み換えることができるようになっています。
以上のような機能を便利に使っているユーザは、 FreeBSD では同じような結果にならないことに驚くかもしれません。FreeBSD は BIOS を利用しないため、「論理 BIOS ドライブマッピング」 については知らないのです。 このため、特に同じ物理ジオメトリを持っているいくつかのドライブをデータのクローンとして使っている時に、 ややこしい状況になり得ます。
FreeBSD を使う時は、 インストール前にドライブの番号付けが自然なものになるように、 必ず BIOS の設定を戻しておきましょう。 もしドライブの番号付けを変更する必要がある場合には、 ケースを開けジャンパーやケーブルを移動してください。
sysinstall(8) で Standard インストールを選択すると、 次のメッセージが表示されるでしょう。
Enter を押すと、
カーネルがデバイス検出時に見付けた、
すべてのハードドライブのリストが表示されます。
図3.13「fdisk を実行するディスクの選択」 は
ad0 および
ad2 と名付けられた
2 つの IDE ディスクをもつシステムの例です。
この画面では、一覧に ad1
が表示されていないことに注目してください。
一つ目はプライマリ IDE コントローラのマスタ、
二つ目はセカンダリ IDE コントローラのマスタとして接続している
2 つの IDE ハードディスクを考えてください。
もし FreeBSD がこれらを ad0 と
ad1
のように番号つけても、すべては動作するでしょう。
しかし、その後プライマリ IDE コントローラのスレーブとして
3 つ目のディスクを追加したとしたら、
それはたった今 ad1 となり、
以前の ad1 は
ad2 となるでしょう。
デバイス名はファイルシステムを見つけるのに使われるため、
ファイルシステムのいくつかは突然正しく現れなくなるかもしれず、
FreeBSD の設定を変更する必要があるでしょう。
これを解決するために、ディスクが見つかった順番ではなく、
どこに接続されているかということに基づいて
IDE ディスクを名前づけするようにカーネルを設定できます。
この機構によって、セカンダリ IDE コントローラのマスタディスクは、
たとえ ad0 または ad1
デバイスがないとしてもいつでも
ad2 になるでしょう。
この設定は FreeBSD カーネルの標準設定です。
これがこの例で画面に ad0 および
ad2 が表示される理由です。
このスクリーンショットが得られたマシンには、
IDE コントローラの両方のマスタチャネルにディスクがあり、
スレーブチャネルにはありません。
FreeBSD をインストールしたいディスクを選択して、 を押してください。 図3.14「典型的な FDisk パーティション」 のような表示とともに Fdisk が起動するでしょう。
Fdisk の画面は三つのセクションに分かれます。
一つ目のセクションは、これは表示の先頭二行にわたっているのですが、 現在選択されているディスクの詳細を表示します。 ディスクの詳細には FreeBSD でのデバイス名、ディスクのジオメトリ、 そしてディスクの全容量が含まれます。
二つ目のセクションは現在ディスク上にあるスライスを表示します。
スライスの開始セクタと終了セクタ、大きさ、FreeBSD 上での名前、
種類とサブタイプが表示されます。
この例では、PC 上のディスクレイアウト機能が生み出した、
未使用の小さなスライスを二つ表示しています。
また大きな FAT スライスも一つ表示しています。
これは、Windows® において C: ドライブ、
および拡張スライスとして現れます
(この場合、他のドライブレターとなりえます)。
三つ目のセクションは FDisk において利用可能なコマンドを表示します。
今から行うことは、 どのようにディスクを分割するかによります。
FreeBSD をディスク全体にインストールするのであれば、
オプションを表す
A キーを押してください。
この場合、このディスクのすべてのデータは削除されます。
存在しているスライスは取り除かれ、
unused の小さな領域と、
FreeBSD のための大きなスライスへ置きかわるでしょう。
次に方向キーを使って新しく作成された
FreeBSD スライスを選択し、スライスに起動可能の印をつけるために
S キーを押してください。
そのとき、画面の見た目は 図3.15「ディスク全体を使う FDisk 構成」
とよく似たものとなるでしょう。
Flags 列の A に注意してください。
これはこのスライスが アクティブ で、
ここから起動することを示します。
FreeBSD のための空き領域を作成するために、 存在しているスライスを削除しようとしているのなら、 方向キーをつかってスライスを選択して D キーを押してください。 それから C キーを押すと、 作成したいスライスの大きさの入力を促されます。 適切な数字を入力して Enter キーを押してください。 この欄に表示されているデフォルト値は、 スライスに対して割り当てることのできる最大の値です。 この値は、割り当てられていない領域の連続したブロック、または、ハードディスクの全サイズです。
FreeBSD のための空き領域を既に作成しているなら、 そのときは C キーを押して新しいスライスを作成できます。 再び、作成したいスライスの大きさの入力を促されるでしょう。
終了したら Q キーを押しください。 あなたの変更は sysinstall(8) 内に保存されるでしょう。 しかし、まだディスクには書きこまれません。
次のメニューでは、 ブートマネージャをインストールするかどうかを選択します。 一般的に、次の場合は FreeBSD ブートマネージャをインストールするべきです。
二つ以上のドライブがあり、 一番目のドライブ以外に FreeBSD をインストールする場合
FreeBSD を同じディスク内に他の OS と共存させてインストールしており、 コンピュータを起動する際に FreeBSD か他の OS かを選択したい場合
もし、コンピュータに FreeBSD のみをインストールするのであれば、 最初のハードディスクにインストールし、 ブートマネージャを選択してください。 もし、FreeBSD をブート可能なサードパーティ製のブートマネージャを使うのであれば、 を選択してください。
選択をして Enter キーを押してください。
F1 キーを押すと表示されるヘルプ画面では、 ハードディスクを OS 間で共有する場合に起こり得る問題について議論しています。
二つ以上ドライブがある場合、 ブートマネージャを選択した後、ドライブ選択画面に戻ります。 FreeBSD を二つ以上のディスクにインストールしたいのなら、 他のディスクを選択し、FDisk を用いてスライス作成の作業を繰りかえしてください。
一番目以外のドライブに FreeBSD をインストールするのであれば、 両方のドライブに FreeBSD のブートマネージャをインストールする必要があります。
Tab キーを押して、 最後に選択したドライブと および の間を切りかえてください。
に移るために Tab キーを一度押し、 それからインストールを続けるために Enter キーを押してください。
次に、作成したばかりのスライス内にパーティションをいくつか作成してください。
それぞれのパーティションには
a から h までの文字がつけられ、
b, c そして
d
パーティションは守るべき慣習的な意味を持っています。
特定のアプリケーションは、特別のパーティション構成 (特に二つ以上のディスクにわたってパーティションを構成している場合) から利益を得ることができます。 しかしながら、はじめて FreeBSD をインストールする場合、 ディスクをどのようにパーティションに区切るか、 ということをあまり大げさに考えることはありません。 FreeBSD をインストールして使い方を学びはじめることの方がより重要です。 オペレーティングシステムにより詳しくなった後、 いつでも FreeBSD を再インストールすることで、 パーティション構成を変更できます。
以下は四つのパーティション : 一つはスワップ領域、 三つのファイルシステム、の構成です。
| パーティション | ファイルシステム | サイズ | 説明 |
|---|---|---|---|
a | / | 1 GB | これはルートファイルシステムです。 他のファイルシステムはすべてこの下のどこかにマウントされるでしょう。 ユーザのファイルはここに格納されず、また、 通常の FreeBSD インストールでは、 ここに配置するデータは約 128 MB なので、 1 GB はこのファイルシステムに手ごろなサイズです。 |
b | なし | メモリの 2-3 倍 |
|
e | /var | 512 MB 〜 4096 MB | /var
には、ログファイルやその他の管理ファイルといった、
絶えず変化するファイルが保存されています。
これらのファイルの多くは
FreeBSD の毎日の動作の間に広範囲にわたって読みこまれ、
書きこまれます。 (訳注: /とは)
別のファイルシステムにこれらのファイルを置くことは、
異なったアクセス頻度のディレクトリ内にある他のファイルに影響を与えずに、
FreeBSD がこれらのファイルへのアクセスを最適化することを可能とします。 |
f | /usr | ディスクの残り (少なくとも 8 GB) | 他のすべてのファイルは、主に
/usr
およびそのサブディレクトリ内に保存されます。 |
上記のサイズの値は、例として載せたものです。
経験のあるユーザのみが使ってください。
FreeBSD パーティションエディタの Auto
Defaults
で選択できる自動パーティションレイアウトが推奨されています。
二つ以上のディスクに FreeBSD をインストールしようとしているのなら、 設定した他のスライスにもパーティションを作成しないといけません。 最も簡単な方法は、 それぞれのディスクに二つのパーティションを作成することです。 一つはスワップ領域、 そして一つはファイルシステムのためのパーティションです。
| パーティション | ファイルシステム | サイズ | 説明 |
|---|---|---|---|
b | なし | 説明を参照 | スワップ領域をそれぞれのディスクにわたって分割できます。
たとえ a パーティションが
(訳注: そのスライスに) ないとしても、
慣習により、スワップ領域は
b パーティションとなります。 |
e | /diskn | ディスクの残り | ディスクの残りは一つの大きなパーティションとなります。
これは e パーティションの代わりに、
a
パーティション上へ簡単に置くことができるかもしれません。
しかしながら慣習により、スライス上の a
パーティションはルート
(/)
ファイルシステムとなるファイルシステムのために予約されています。
この慣習にしたがう必要はありませんが
sysinstall(8) はこのように設定します。
したがってこの慣習に従うことで,
インストールが少しだけわかりやすくなります。
このファイルシステムをマウントする場所はどこにでも選択できます。
この例では、これらを
/disk
としてマウントするよう提案しています。
ここで n
はそれぞれのディスクごとに変更する数字です。 |
パーティション構成を決めたら、 sysinstall(8) を用いて作成してください。
Disklabel と呼ばれる FreeBSD パーティションエディタを使うために、 Enter キーを押してください。
図3.18「sysinstall ディスクラベルエディタ」 は Disklabel を起動したときの画面表示です。 この画面は三つのセクションに分かれています。
はじめの数行は現在作業しているディスクの名前、
そして作成しようとしているパーティションを含むスライスを表示します
この時点で Disklabel
はスライスのことをスライス名ではなくパーティション名と呼びます 。
この画面はスライス内の空き領域の合計も表示しています。
この空き領域はスライス内に存在していて、
しかしまだパーティションに割り当てられていない領域です。
画面の中段は作成したパーティションを表示しています。 それぞれのパーティションが含むファイルシステムの名前、サイズ、 ファイルシステム作成にまつわるいくつかのオプションが表示されます。
画面の下段にある三つ目のセクションは disklabel で有効なキー操作を表示します。
Disklabel は自動的にパーティションを作成し、 デフォルトのサイズを割りあてます。 デフォルトのサイズは、 ディスクのサイズからパーティションサイズを決めるアルゴリズムによって計算されます。 A キーを押すと、 図3.19「デフォルトの自動割り当てによる sysinstall ディスクラベルエディタ」 とよく似た画面が表示されます。 デフォルトのサイズは使用しているディスクのサイズに依存するので、 希望するサイズになることもあるし、ならないこともあるでしょう。
デフォルトのパーティション構成では、
/tmp に対して、
/
パーティションの一部ではなく、
それ自身のパーティションを割り当てます。
このことは、一時ファイルによって
/
パーティションがあふれてしまうことを防ぐのに役立ちます。
デフォルトのパーティションを変更するには、 方向キーを用いて一番目のパーティションを選択し、 D キーを押して削除してください。 この作業を繰り返して、 提案されたすべてのパーティションを削除してください。
一番目のパーティション (/
としてマウントされる a) を作成するには、
画面の先頭の適切なディスクスライスが選択されていることを確認して、
C キーを押してください。
図3.20「ルートパーティションに割りあてる容量」 に示されるような、
新しいパーティションのサイズの入力をうながすダイアログが現れます。
使用したいサイズをブロック数で入力するか、
数字の後に M をつけてメガバイト単位 、
G をつけてギガバイト単位 、
C
をつけてシリンダ単位で入力してください。
(訳注: ダイアログに) 表示されるデフォルトのサイズは、
スライスに残っているサイズのパーティションを作成するでしょう。
上述したパーティションサイズを用いる場合は Backspace
キーを用いて表示されている数字を削除し
図3.21「ルートパーティションサイズの編集」 のように 512M
と入力してください。そして を押してください。
パーティションのサイズを入力すると、 次にインストーラは、このパーティションがファイルシステムなのか、 それともスワップ領域なのかを聞いてきます。 図3.22「ルートパーティションタイプの選択」 のようにダイアログが表示されます。 この一番目のパーティションにはファイルシステムが含まれるので、 を選択し、 Enter キーを押します。
最後に Disklabel に対して、
このファイルシステムがどこにマウントされるか教えなければなりません。
図3.23「ルートのマウントポイント選択」
のようなダイアログが表示されます。
/ と入力し
Enter キーを押してください。
画面は更新されて、
新しく作成したパーティションが表示されます。
この作業を繰りかえして、
他のパーティションを作成してください。
スワップパーティションを作成したときには、
ファイルシステムのマウントポイントの入力は促されません。
最後のパーティションの /usr
を作成するときは、表示されたサイズをそのままにしておいて、
スライスに残っているサイズを使用してください。
最終的な FreeBSD ディスクラベルエディタの画面は、 選択された数値は異なっているかもしれませんが、 図3.24「sysinstall ディスクラベルエディタ」 のようになるでしょう。 Q キーを押して終了します。
インストールするディストリビューションセットを選択します。 これは使おうとするシステムや利用可能なディスクの容量に依存します。 最小構成のインストールから全てのインストールまでのオプションがあらかじめ用意されています。 UNIX® や FreeBSD に慣れてない人はこれらのどちらかを選ぶべきです。 ディストリビューションセットのカスタマイズは、主としてより経験を積んだユーザーのためにあります。
F1 キーを押すとそのディストリビューションセットのオプションやそれらが何を含んでいるかというより詳しい情報が表示されます。 ヘルプを見終わった後には、Enter キーを押してディストリビューションの選択メニューに戻ってください。
グラフィカルユーザインタフェースを望む場合には、 FreeBSD のインストール後に Xorg の設定とデフォルトデスクトップの選択を行ってください。 Xorg のインストールや設定に関する詳細な情報は 6章X Window System にあります。
カスタムカーネルをコンパイルする予定ならばソースコードを含むオプションを選択します。 なぜカスタムカーネルを構築するのか、またカスタムカーネルの構築方法に関しては 9章FreeBSD カーネルのコンフィグレーション を参照してください。
すべてを含むシステムが最も多くのことを行えます。 十分なディスクスペースがあるならば、図3.25「ディストリビューションの選択」 で示されるように を矢印キーで選択し、 Enter を押します。 ディスクスペースに懸念があるならば、状況に合ったよりふさわしいオプションを選択します。 インストール後にそのほかのディストリビューションを加えることができるので、 完璧な選択をしようとして悩まないでください。
お望みのディストリビューションを選ぶと、 FreeBSD Ports Collection をインストールするかどうかを尋ねてきます。 Ports Collection とは、簡単にソフトウェアをインストールする方法です。 サードパーティ製のソフトウェアパッケージのダウンロード、 コンパイル、インストールを自動的に行うためのファイルの集まりです。 5章アプリケーションのインストール - packages と ports で Ports Collection の使用方法が解説されています。
インストールプログラムはディスクに十分な空き容量があるかどうかをチェックしませんので、 十分な空き容量がある場合のみこのオプションを選択してください。 FreeBSD 9.1 では、FreeBSD Ports Collection は、約 500 MB のディスク容量を必要とします。 より最新の FreeBSD のバージョンでは、安全のためもう少し大きなサイズを想定してください。
Ports Collection をインストールするなら を、このオプションを選択しないのであれば を矢印キーで選んでください。 Enter キーを押して先に進みます。 ディストリビューションの選択メニューが再度表示されます。
オプションを選択したら矢印キーで を選び、 がハイライトされていることを確認し、 Enter を押して先に進んでください。
CD または DVD からインストールする場合、矢印キーを使って を選んで下さい。 が選択されていることを確認して、 Enter キーを押しインストールを開始してください。
そのほかの方法でインストールする場合には、 適切なオプションを選択しその後の指示に従ってください。
F1 キーを押すとインストールメディアに関するオンラインヘルプが表示されます。 メディア選択メニューに戻るには Enter キーを押してください。
FTP 経由のインストールを行う場合、active FTP, passive FTP, HTTP proxy 経由の三種類の FTP インストールモードから選択することになります。
すべての FTP 転送の際に 「Active」 モードを使用します。 ファイアウォール内部のマシンではうまく動きませんが、 多くの場合 passive モードに対応していないような古い FTP サーバでも動作します。 passive モードでの FTP 転送 (こちらがデフォルトです) に失敗した場合には、active モードで確かめましょう!
このオプションでは、 sysinstall(8) は、すべての FTP 転送の際に passive モードを使用します。 このモードを使用すると、 ランダム TCP ポートによる外部からの接続を許可していないファイアウォールを越えることができるようになります。
この方法では、sysinstall(8) は、HTTP プロトコルを使って proxy サーバに接続し、FTP の操作を実現します。 proxy サーバは FTP 要求を (訳注: HTTP から FTP に) 変換して FTP サーバに送るため、ファイアウォールが FTP 接続を禁止していても、HTTP proxy サーバが提供されていれば ファイアウォールを超えた FTP 接続を行なうことが可能です。 この方法を用いる場合には、FTP サーバの他に proxy サーバを指定する必要があります。
proxy FTP サーバに対しては、ユーザ名の一部として
実際に接続したいサーバの名前を 「@」
記号に続けて与える必要があります。
そうすると proxy サーバは本当のサーバの「ふり」
をするようになります。
たとえば、1234 ポートで要求を待つ proxy FTP サーバ
foo.example.com を使って、
ftp.FreeBSD.org
をインストールするには、
オプションメニューで
FTP ユーザ名に ftp@ftp.FreeBSD.org を、
パスワードとしてあなたのメールアドレスを設定します。
そして、インストールメディアに FTP (proxy サーバが対応しているならば
passive FTP)、URL として
ftp://foo.example.com:1234/pub/FreeBSD
を指定します。
ftp.FreeBSD.org の
/pub/FreeBSD は
foo.example.com
が代理で処理をおこなうことになるので、
インストール時の要求に応じて
ftp.FreeBSD.org
からファイルを取り寄せます。
これで良いと思ったら、ここでインストールを進めることができます。 インストールするためにおこなうハードディスクに対する変更をやめるなら、 ここが最後のチャンスでもあります。
を選択して Enter キーを押すことでインストールは進みます。
インストールにかかる時間は、どのディストリビューションを選んだか、 どのインストールメディアを使ったか、 そしてコンピュータの速度にも依存します。 インストール状況に従って、メッセージが逐次表示されます。
次のメッセージが表示されればインストールは終わりです。
Enter キーを押せばインストール後の設定画面に 移ることができます。
を選択して Enter キーを押すと、インストールを中断して システムには何の変更もおこないません。 そのときには次のメッセージが表示されます。
何もインストールされなかったため、このメッセージが表示されています。 Enter キーを押しますと、 インストーラを終了するためにメインメニューに戻ります。
インストール完了後に数々のオプション設定を行います。 オプションは、インストールした FreeBSD を起動する前に configuration の項目に入りなおすか、再起動後に sysinstall(8) の中にある の項目で設定することができます。
もし、FTP インストールのために PPP を設定したのならば、 この画面は表示されず、前項で述べたように後から設定できます。
LAN の詳細情報と、FreeBSD のゲートウェイ・ルータの設定については 高度なネットワーク の章を参照してください。
ネットワークデバイスを設定するには を選び、Enter キーを押します。 設定しないのであれば、 を選びます。
設定したいインタフェースを矢印キーで選び、Enter キーを押します。
プライベートな LAN において、現行のインターネットプロトコル (IPv4) で十分なのであれば、矢印キーで を選び Enter を押してください。
RA サーバと IPv6 ネットワークで接続しているのであれば、 を選んで Enter を押してください。 すると、数秒間 RA サーバを検索します。
もし、Dynamic Host Configuration Protocol (DHCP) が必要なければ、矢印で を選び Enter を押してください。
を選んだ場合、 dhclient(8) を実行します。設定が成功すると、 ネットワーク設定情報が自動補完されます。 詳細については 「DHCP」 を参照してください。
次のネットワーク設定画面では、LAN 用ゲートウェイシステムのイーサネットデバイス構成が表示されます。
Tab をつかって項目を選び、 適切な情報を入力してください。
完全修飾されたホスト名。この例では、k6-2.example.com。
コンピュータのドメイン名。この例では example.com。
ローカル以外のホストへパケットを送る際に使う IP アドレスです。 もしコンピュータがネットワーク上にいる場合は入力する必要があります。 このコンピュータがネットワークのインターネットゲートウェイである場合には この項目は空白のままにします。 IPv4 ゲートウェイはデフォルトゲートウェイまたはデフォルトルートとも呼ばれます。
ローカル DNS サーバの IP アドレスを指定します。
ローカル DNS サーバがプライベート LAN 上にないので、
プロバイダの DNS サーバ (208.163.10.2)
を指定しました。
このインタフェースで使う IP アドレスは
192.168.0.1。
この例では、LAN で使うアドレスブロックは、
192.168.0.0 -
192.168.0.255
です。
ネットマスクは
(255.255.255.0) です。
ifconfig(8) への追加のオプションを入力してください。 今回はありませんでした。
終了するときは、Tab キーを使って を選び、 Enter を押します。
を選んで Enter を押すと、ネットワークへの設定を行い、利用可能な状態にします。 しかしながら、コンピュータをまだ再起動する必要があるので、 インストールの間には、多くのことは出来ません。
もし、マシンが LAN のゲートウエイであり、他マシン間の パケットを転送している場合は、 を選んで Enter を押します。 もし、マシンがネットワーク上のノードである場合、 を選び Enter を押して先に進んでください。
もし を選んだ場合には、さまざまなサービスは有効になりません。
これらのサービスは、インストール後に /etc/inetd.conf
をテキストエディタで編集することで有効になります。
詳しくは inetd の章 を見てください。
これらのサービスを利用したいと考えているならば, を選びインストールしてください。 追加の確認事項が表示されるでしょう。
を選んで続けます。
を選ぶと、
対応するサービスの先頭行にある
# を削除することで、サービスを有効にできます。
変更が終わったら、Esc を押し、 表示されるメニューでエディタを終了し、変更点を保存してください。
を選択すると、OpenSSH のデーモンである sshd(8) が有効になります。 これは、コンピュータへの安全なリモートアクセスを許可します。 OpenSSH のより詳しい情報については、 「OpenSSH」 をご覧ください。
デフォルトの を選択して Enter を押してください。 アカウントを持ったユーザは、パスワードを使い FTP でコンピュータにアクセスできます。
anonymous FTP の接続を許可すると、 誰でもコンピュータにアクセスできるようになります。 このオプションを有効にする前に、 セキュリティ上の問題点を検討してください。 セキュリティに関する詳細については、 15章セキュリティ をご覧ください。
anonymous FTP を有効にするには、矢印キーを使って を選択し、Enter を押してください。以下のような確認事項が表示されるでしょう。
このメッセージは、anonymous FTP 接続を許可するのであれば、
/etc/inetd.conf
においても FTP サービスを有効にする必要があることを示しています。
を選び Enter を押して先に進んでください。
以下の画面が表示されます。
Tab を使って項目を選び、 適切な情報で埋めてください。
anonymous FTP ユーザに対して割り当てられるユーザ ID。 アップロードされるすべてのファイルの所有者はこの ID となります。
anonymous FTP ユーザが所属するグループ
/etc/passwd
内のユーザ情報を表す文字列
anonymous FTP で利用可能なファイルの置き場
anonymous FTP ユーザによりアップロードされるファイルが置かれる場所
デフォルトでは、FTP のルートディレクトリは /var
に設定されています。
FTP が必要とする十分な容量が用意されていない場合には、
かわりに FTP のルートディレクトリを
/usr/ftp
と設定し、
/usr を使ってください。
十分な設定ができたら、 Enter を押して先に進んでください。
を選択した場合には、 Enter を押すと、 メッセージ編集用のエディタが自動的に起動します。
操作の説明に従ってメッセージを変更してください。 エディタの画面の下に表示されるファイルの名前、場所に注意してください。
Esc を押すと、ポップアップメニューが表示されます。 デフォルトは です。 Enter を押して終了し、先に進んでください。 変更を行った場合には、もう一度 Enter を押して、変更点を保存してください。
ネットワークファイルシステム (NFS) を用いると、 ネットワークを介してファイルの共有を行うことができます。 コンピュータをサーバ、クライアントまたは両方に設定できます。 より詳しい情報については 「NFS」 を参照してください。
NFS の機能を必要としないのであれば、 を選択し Enter を押してください。
を選んだ場合には、
/etc/exports
を作成する必要があることを示すメッセージが表示されます。
Enter を押して先に進んでください。
/etc/exports
を編集するためにテキストエディタが立ち上がります。
説明に従い、共有されるファイルシステムを追加してください。 エディタのスクリーンの下に表示されているファイル名の場所の情報に注意してください。
Esc を押すとポップアップメニューが表示されます。 デフォルトは です。 Enter を押して終了し、先に進んでください。
システムコンソールをカスタマイズするオプションがあります。
を選択し、Enter を押してオプションの確認および設定をしてください。
良く使われるオプションはスクリーンセーバです。 矢印キーを使って を選択し、 Enter を押してください。
矢印キーを使って、お望みのスクリーンセーバを選択し、 Enter を押してください。 システムコンソールの設定メニューが再び表示されます。
デフォルトの時間の間隔は 300 秒です。 時間の間隔を変更する場合には、 もう一度 を選択してください。 スクリーンセーバのオプションメニューにて、 矢印キーで を選択して Enter を押してください。 ポップアップメニューが表示されます。
値を変更したら を選択し、 Enter を押して、 システムコンソールの設定メニューに戻ってください。
を選択し、Enter を押して、インストール後の設定を続けてください。
使用しているコンピュータのタイムゾーンを設定することで、 地域による時刻の違いが自動的に調整され、 タイムゾーンに関連した機能が適切に取り扱われます。
ここでの例では、コンピュータが United States の Eastern タイムゾーンにあるとしています。 実際の地理的位置を選択してください。
を選択し Enter を押して、タイムゾーンを設定してください。
コンピュータのクロックがどのように設定されているかに従って、 または を選択し、Enter を押してください。
矢印キーを使って、適切な地域を選択し、 Enter を押してください。
矢印キーを使って、適切に国名を選び、 Enter を押してください。
矢印キーを使って適切なタイムゾーンを選択し、 Enter を押してください。
タイムゾーンの短縮形が適切かどうかを確認をしてください。 問題なければ Enter を押して、インストール後の設定を続けてください。
このオプションを設定することで、 コンソールやユーザプログラムにおいて 3-ボタンマウスによるテキストのカットアンドペーストが可能になります。 2-ボタンマウスを使っている場合には、 3-ボタンのエミュレートについて moused(8) を参照してください。 ここでは、非 USB マウスの設定を例に説明します。
PS/2、シリアルまたはバスマウスを使っている場合には を選択してください。 USB マウスを利用する場合には、 を選択し Enter を押してください。
矢印キーで を選択し、 Enter を押してください。
この例では PS/2 マウスを使うので、デフォルトの が適切です。 マウスのプロトコルを変更するには、 矢印キーを使って他のプロトコルを選択してください。 がハイライトされていることを確認し、 Enter を押してこのメニューを終了してください。
矢印キーで を選択して Enter を押してください。
このシステムでは PS/2 マウスを使っているので、デフォルトの が適切です。 ポートを変更する場合には、矢印キーで選択して Enter を押してください。
最後に、矢印キーで を選択して Enter を押し、マウスデーモンを有効にして、 テストしてください。
スクリーン上でマウスを動かし、 カーソルが正しく反応することを確認してください。 確認ができたら、 を選択して Enter を押してください。 もし、うまく動かないのであれば、マウスの設定が適切に行われていません。 — を選択して、 他の設定オプションを使って試してください。
矢印キーで を選択し、 Enter を押してインストール後の設定を続けてください。
packages はコンパイル済みのバイナリで、 ソフトウェアをインストールするのに便利な方法です。
説明では、例としてひとつの package をインストールしますが、 お望みであれば、ここで複数の package を追加することもできます。 インストール後は、sysinstall(8) を使って package を追加できます。
を選択して、 Enter を押してください。 Package を選択する画面が表示されます。
現在のインストールメディアに存在する packages のみをインストールできます。
を選ぶと、 利用可能なすべての package が表示されます。 もしくは、特定のカテゴリを選択してください。 矢印キーで選択したいカテゴリをハイライトし、 Enter を押してください
選択したカテゴリで利用可能なすべての package のメニューが表示されます。
ここでは、bash シェルが選択されています。 希望する数だけ package を選択してハイライト表示にし、 Space キーを押してください。 それぞれの package の簡単な説明がスクリーン下の左端に表示されます。
Tab キーを押すと、最後に選択した package と , で選択が切り替わります。
インストールする package の選択が終わったら、 Tab を一度押して に切り替え、 その後 Enter を押して Package 選択メニューに戻ってください。
左右の矢印キーでも、 と 切り替えることができます。 この方法で を選択することもできますので、 その後、Enter を押して Package 選択メニューに戻ってください。
Tab と矢印キーで を選択し、Enter を押すと、 インストールを確認するメニューが表示されます。
を選択し、Enter を押すと package のインストールが始まります。 インストールが終わるまで、インストールのメッセージが表示されます。 エラーメッセージが表示されないかどうか注意してください。
packages をインストールしたら、最後の設定に進みます。 package を選択しなかった場合も、 を選択して、 最後の設定に戻ってください。
システムに root 以外でログインできるよう、
インストール時には、少なくとも一人のユーザを追加してください。
通常 root パーティッションの容量は小さいので、
root 権限でアプリケーションを実行すると、
すぐに消費してしまいます。
を選択し、 Enter を押して、ユーザを追加してください。
矢印キーで を選択して、 Enter を押してください。
Tab で項目を選択すると、 必要とされる情報の入力を助けるため、 スクリーンの下に以下の説明が表示されます。
新しいユーザのログインネーム (必須)
新しいユーザの ID 番号 (空欄のままにすると、自動的に割り当てられます)
新しいユーザのログイングループ
このユーザのパスワード (このフィールドは注意して入力してください!)
ユーザのフルネーム (コメント)
このユーザの所属するグループについて (すなわち、どのようなアクセス権を持つか)
ユーザのホームディレクトリ (空欄にするとデフォルトで設定されます)
ユーザのログインシェル
(空欄にするとデフォルトの /bin/sh
に設定されます)。
この例では、ログインシェルは
/bin/sh から、
先ほど package でインストールした bash
を使うよう、/usr/local/bin/bash
に変更されています。
インストールされていないシェルを選ぶと、
ユーザはログインできなくなりますので、
インストールされていないシェルは選ばないでください。
FreeBSD で最も標準的なシェルは C シェルです。
/bin/tcsh で指定できます。
ユーザは、root
権限を持つスーパユーザになることができる
wheel グループにも追加されています。
十分に記述したら、 を押して、 User および Group 管理メニューを再び表示してください。
ここでグループを追加することもできます。 または、後で sysinstall(8) を利用してアクセスできます。
ユーザを追加したら、矢印キーで、 を選択して、 Enter を押して、次のインストール項目に進んでください。
Enter を押して、
root パスワードを設定してください。
パスワードは、正しく 2 回入力してください。 パスワードは忘れないでください。 パスワードとして入力した文字は表示されませんし、 アスタリスクが表示されることもありません。
パスワードの入力に成功したら、インストールは次に進みます。
以下のようなメッセージが表示され、 設定が終わったかどうかを尋ねられます。
を選択し、 Enter を押すことでメインインストールメニューに戻ります。
方向キーで を選択し、Enterを押します。 インストーラがインストールを終了してもよいか確認を求めます。
を選択してください。 CDROM ドライブから起動しているのなら、 ディスクを取り出すこと示す以下のメッセージが表示されます。
マシンが再起動し始めると CDROM ドライブはロックされるので、 ドライブから素早くディスクを取り出してください。 を押して再起動してください。
システムは再起動するので、 表示されるかもしれないすべてのエラーメッセージに注意してください。 詳細については、「FreeBSD のブート」 をご覧ください。
ネットワークサービスの設定は、新しいユーザにとって、 この領域について基本的な知識を持たないと気が遠くなるような作業となるでしょう。 インターネットを含むネットワークは、 現代のすべてのオペレーティングシステムにとって重要なので、FreeBSD の広範囲にわたるネットワークの能力を理解することは有益でしょう。
ネットワークサービスは、
ネットワーク上のどこからでもアクセスを許可するプログラムです。
時間が経過するとネットワークサービスのバグが攻撃者により発見されるので、
必要なネットワークサービスのみを有効にすることは重要です。
もし、あるネットワークサービスが必要かどうか疑わしい場合には、
それが必要となるまでは、
そのネットワークサービスを有効にしないでください。
後で sysinstall(8) を実行するか、
/etc/rc.conf
ファイルを編集することで機能を有効にできます。
オプションを選択すると、 以下のようなメニューが表示されます。
最初のオプションである については、 「ネットワークデバイスの設定」 で説明されています。
オプションを選択すると amd(8) に対応します。 このオプションは、通常 NFS プロトコルともに、 リモートファイルシステムの自動マウントのために使われます。
次は オプションです。 選択すると AMD フラグを入力するためのメニューが表示されます。 メニューには以下のようなデフォルトのオプションのセットが含まれています。
-a
は、デフォルトのマウント位置を指定します。
ここでは /.amd_mnt を指定しています。
-l は、
デフォルトの log を指定します。
ただし、syslogd(8) が指定されていると、
すべてのログはシステムログのデーモンに送られます。
/host は、
リモートホストからエクスポートされたシステムのマウントに使われます。
一方 /net
は、IP
アドレスからエクスポートされたファイルシステムのマウントに使われます。
/etc/amd.map は、
AMD エクスポートのデフォルトオプションを定義します。
は、anonymous FTP 接続を許可します。 使用しているコンピュータを FTP サーバとして利用する場合には、 このオプションを選択してください。 このオプションを選択した際のセキュリティ上のリスクについて把握しておいてください。 セキュリティリスクの説明、および、詳細の設定のためのメニューが表示されます。
メニューでは、 コンピュータをゲートウェイに設定します。 もし、インストールの過程で オプションを間違って選択したのであれば、ここで無効にできます。
オプションを使うと、 inetd(8) を設定したり、完全に無効にできます。
オプションでは、システムのデフォルトの Mail Transfer Agent (MTA) を設定できます。 このオプションを選択すると、以下のメニューが起動します。
このメニューでは、インストールしてデフォルトに設定する MTA を選択できます。 MTA は、 システム上またはインターネット上のユーザにメールを配送するメールサーバです。
を選択すると、 デフォルトの MTA として sendmail がインストールされます。 を選択すると、 sendmail をデフォルトの MTA に設定しますが、 インターネットからの電子メールの受け取りを無効にします。 他のオプションである や も、 と同じようにメールを配送します。
MTA メニューの次のメニューは です。 このメニューは、システムが NFS サーバと通信するように設定します。 NFS では、NFS プロトコルを通じて、他のコンピュータのファイルシステムを利用できるようになります。 クライアントやサーバの設定についての詳細は 「NFS」 をご覧ください
その下のオプションが オプションです。 システムを NFS サーバに設定します。 このオプションは、Remote Procedure Call RPC サービスに必要なオプションを追加します。 RPC は、 ホストとプログラム間の接続の調整に利用できます
次の行は オプションです。 これは、時刻の同期を取り扱います。 選択すると下のようなメニューが表示されます。
このメニューでは、 地理的に最も近いサーバを選択してください。 遠い場所のサーバを選ぶと、 ネットワークの応対時間が長くなる可能性があるので、 最も近いサーバを選択することにより、 より正確な時刻の同期ができるようになります。
次のオプションは、PCNFSD の選択です。
このオプションは、Ports Collection から
net/pcnfsd package をインストールします。
Microsoft の MS-DOS®
オペレーティングシステムのような、自分自身では NFS
認証サービスを提供できないシステムに対し、NFS
認証サービスを提供する有効なユーティリティです。
ここで、他のオプションを見るために、 少しスクロールダウンしてください。
RPC。
rpcbind(8) は、NFS
サーバとクライアントの通信を取り扱い、
NFS サーバが正しく機能するために必要です。
rpc.statd(8) デーモンは、ステータスを監視し、
報告されたステータスは、通常
/var/db/statd.status に記録されます。
次のオプションの rpc.lockd(8) は、
ファイルロックサービスを提供します。
この機能は通常 rpc.statd(8) と共に、
どのホストがロックを必要としているか、
どのくらいの頻度でリクエストするかをモニタするために利用されます。
最後の二つのオプションは、デバッグ時に有用ですが、
NFS
サーバおよびクライアントの動作時には必要ありません。
次のメニューの は、
ルーティングデーモンを設定します。
routed(8) は、ネットワークルーティングテーブルを管理し、
マルチキャストルーターを理解し、
そして、リクエストがあると、物理的に接続したホストに対し、
ネットワークを通してルーティングテーブルを提供します。
このユーティリティは、
主にローカルネットワークのゲートウェイマシンで利用されます。
選択すると、
ユーティリティのデフォルトの場所を要求するメニューが表示されます。
デフォルトの場所で良ければ、
Enter キーを押してください。
その後、別のメニューが表示され、
routed(8) に渡すフラグを要求します。
画面にには、デフォルトのフラグの -q
が表示されます。
次のメニューは オプションです。
このオプションは、システムの初期化時に
rwhod(8) を起動します。
rwhod
ユーティリティは、定期的にシステムのメッセージをネットワークにブロードキャストし、
「consumer」 モードでは、
システムのメッセージを収集します。
詳細な情報は、ruptime(1) および
rwho(1) ページにあります。
リストの最後から 2 番目のオプションは、sshd(8) です。 これは OpenSSH のためのセキュアシェルサーバです。 標準の telnetd(8) や ftpd(8) サーバではなく、このサーバが強く推奨されています。 このサーバは、暗号化された通信を行い、 あるホストと他のホストを安全に接続します。
最後のオプションが オプションです。 このオプションは、RFC 1323 および RFC 1644 で定義されます。 多くのホストにおいて、このオプションはコネクションを高速にする一方で、 いくつかのコネクションを破棄します。 サーバに対して推奨はされませんが、 スタンドアローンなコンピュータには有益でしょう。
ネットワークサービスの設定が終わったら、 一番上の までスクロールアップして次の設定項目に進むか、 を 2 回選択し、その後 を選び、 sysinstall(8) を終了してください。
すべてがうまくいっていれば、画面上にメッセージがスクロールし、 ログインプロンプトが表示されます。 このメッセージを見るには、Scroll-Lock を押し、PgUp および PgDn キーを使ってください。 Scroll-Lock をもう一度押すとプロンプトに戻ります。
バッファの容量制限により、 すべてのメッセージは表示されないかもしれませんが、 ログインの後に dmesg(8) で見ることができます。
インストールの際に設定したユーザ名とパスワードを用いてログインしてください。
必要な時を除き root
としてログインすることは避けてください。
典型的なブートメッセージ (バージョン情報は省略しています)
低速なマシンでは、 RSA および DSA キーを作成するのに少々時間がかかるかもしれません。 これは初めてインストールした後に初めてブートする時だけ起こります。 その後のブートはより速くなるでしょう。
Xorg が設定され、
デフォルトデスクトップが選択されていた場合、
コマンドラインで startx
と入力することで Xorg
を起動することが可能です。
オペレーティングシステムを適切にシャットダウンすることは重要です。
ただ電源を落すということはしないでください。
まず、コマンドラインから su(1) と入力し、
root パスワードを入力してスーパユーザとなります。
これは wheel
のメンバとなっているユーザだけが行うことができます。
そうでなければ root としてログインしてください。
システムをシャットダウンするには、shutdown -h now
と入力してください。
シャットダウンコマンドが実行され、 「Please press any key to reboot」 というメッセージが現れた後に電源を落すことは安全です。 電源を落す代わりに何らかのキーが押された場合、 システムはリブートするでしょう。
Ctrl+Alt+Del というキーの組合せを使ってシステムをリブートすることもできます。 しかしながら、推奨はされません。
この節では、 インストールの際に起こりえる共通の問題を解決するための情報が書いてあります。 また、FreeBSD と Windows® のデュアルブートを行う際のいくつかの質問と回答も書いてあります。
PC アーキテクチャのさまざまな制限により、 100% 確実にデバイスを認識することは不可能です。 しかしながら、失敗した時にいくつかできることがあります。
インストールする FreeBSD のバージョンの ハードウェアノート を調べて、 使っているハードウェアに対応しているかどうかを確認してください。
もしハードウェアがサポートされているにもかかわらず、
動作しなかったり他の問題点がある時は、カスタムカーネル
を構築して GENERIC
カーネルに含まれていないデバイスのサポートを追加してください。
デフォルトのカーネルでは、ほとんどのハードウェアデバイスの IRQ, IO アドレス、
DMA チャネルが工場出荷時の状態であると仮定しています。
もしハードウェアの設定が変更されているのであれば、
カスタムカーネルのコンフィグレーションファイルを作成し、
再コンパイルを行なって、
FreeBSD が認識するよう設定してください。
存在しないデバイスを認識してしまうことにより、 その後実際に存在するデバイスの認識を失敗してしまうことがあります。 このような場合は衝突しているドライバを無効にします。
いくつかのインストール上の問題は、各ハードウェア装置、 特にマザーボード BIOS のファームウェアのアップデートで回避または緩和することができます。 ほとんどのマザーボードまたはコンピュータ製造メーカーは、 アップグレード情報を載せているウェブサイトを用意しています。
多くの製造メーカーは、 重要な更新のようなそれなりの理由がない限りマザーボードの BIOS のアップグレードは行わないよう強く推奨しています。 アップデートの過程で失敗するかもしれず、 BIOS チップに深刻なダメージを与える原因となり得るからです。
現時点では、FreeBSD は、 Double Space™ アプリケーションで圧縮されたファイルシステムに対応していません。 そのため、FreeBSD がデータにアクセスする前に、 ファイルシステムを展開しておく必要があります。 展開するには、> > メニューの Compression Agent を実行してください。
FreeBSD は、MS-DOS® ファイルシステム
(FAT ファイルシステムとも呼ばれます) に対応しています。
mount_msdosfs(8) コマンドは、
ファイルシステムの内容にアクセスできるように、
ファイルシステムを現存のディレクトリ構成にマウントします。
通常 mount_msdosfs(8) プログラムは、直接用いられることはありません。
システムから /etc/fstab 経由で利用されたり、
mount(8) から適切なパラメータとともに用いられます。
/etc/fstab
の典型的な記述例は以下のようになります。
この記述がうまくいくためには、/dos が存在している必要があります。
/etc/fstab のフォーマットの詳細については、
fstab(5) をご覧ください。
FAT ファイルシステムをマウントする mount(8) の典型例は以下となります。
# mount -t msdosfs /dev/ad0s1 /mntこの例では、FAT ファイルシステムは、 プライマリのハードディスクの最初のパーティションに配置されています。 dmesg(8) や mount(8) の出力から、 パーティションレイアウトを把握するのに十分な情報を得ることが出来ます。
FreeBSD が割り当てる FAT パーティションの番号は、 他のオペレーティングシステムのものとは異なることがあります。 特に拡張パーティションには、 プライマリパーティションより大きなスライス番号が通常割り当てられます。 どのスライスが FreeBSD に属し、 どのスライスが他のオペレーティングシステムに属するかを決めるのに fdisk(8) は役立ちます。
NTFS パーティションについても、同様に mount_ntfs(8) コマンドでマウントできます。
3.11.3.1. | 起動時のハードウェア検出で、システムがハングアップします。 または、インストール中にシステムがおかしくなります。 |
i386, amd64 および ia64 プラットフォームにおいて、
FreeBSD はシステムの設定を手助けするシステム ACPI サービスを、
起動時に検出された場合に広く使います。
残念ながら、まだいくつかの不具合が、
ACPI ドライバとシステムのマザーボードに存在しています。
起動ステージ 3 において、ヒント情報
set hint.acpi.0.disabled="1"この設定はシステムが起動するたびにリセットされるので、
| |
3.11.3.2. | FreeBSD をインストールした後の最初のハードウェアからの起動で、 カーネルが読み込まれ、ハードウェアを検出しましたが、 次のようなメッセージを表示して停止しました。 changing root device to ad1s1a panic: cannot mount root 何が問題ですか? |
起動ディスクがシステムの最初のディスクではない場合には、 この問題が起こりえます。BIOS は、FreeBSD とは異なる番号付けを用い、 どの番号がどの番号に対応するかを正しく見つけ出すことは簡単ではありません。 この問題が起きた場合には、 BIOS ディスク番号、ディスクのタイプおよびそのディスクタイプに対する FreeBSD ディスク番号を設定することで、 ルートファイルシステムがどこにあるかを FreeBSD に指定する必要があります。 システムのそれぞれ IDE バスのマスタに接続された
2 つの IDE ディスクがあり、2 番目のディスクから
FreeBSD を起動する場合を考えます。
BIOS は、これらのデバイスをディスク 0 および ディスク 1 と認識し、
一方 FreeBSD は、 BIOS ディスク 1 に FreeBSD があり、
ディスクタイプが 1:ad(2,a)kernelプライマリバスにスレーブが接続されている場合には、 上記は必要なく、適切ではありません。 2 番目の状況は、システムに 1 つまたはそれ以上の
IDE ディスクがあるときに、SCSI ディスクから起動するような場合です。
このようなケースでは、FreeBSD ディスク番号は、
BIOS ディスク番号より小さな番号になります。
2 つの IDE ディスクと SCSI ディスクがある場合には、
SCSI ディスクは BIOS ディスク 2、
タイプ 2:da(0,a)kernelIDE ディスクが 1 つの場合には、
かわりに 使用する適切な値が決まったら、
テキストエディタを使って、コマンドを
| |
3.11.3.3. | FreeBSD をインストールした後、ハードウェアから起動しましたが、
ブートマネージャは、ブートメニューで
|
FreeBSD のインストール時に、 パーティションエディタで指定したハードウェアのディスクジオメトリが正しくありません。 パーティションエディタまで戻り、 ハードディスクの正しいジオメトリを指定してください。 ジオメトリを正しく設定する所から FreeBSD を再インストールする必要があります。 FreeBSD 専用のシステムで、 他のオペレーティングシステムとの互換性が必要なければ、 インストーラのパーティションエディタで ) を選択して、 ディスクのすべてを使ってください。 | |
3.11.3.4. | システムが ed(4) ネットワークカードを検出しましたが、 デバイスのタイムアウトエラーが出ます。 |
使用しているカードの IRQ が、
カードのジャンパを変更してコンフィグレーションの設定を行うか、
その他として、利用しているカードが IRQ 9 を使っている可能性があります。 この IRQ は IRQ 2 と共有され、 特に、IRQ 2 を使っている VGA カードを持っている場合には、 しばしば問題を引き起こします。 できるだけ IRQ 2 や 9 を避けるべきでしょう。 | |
3.11.3.5. | Xorg 端末から sysinstall(8) を使うと、 ライトグレーの背景にフォントが黄色で表示され、読みずらいです。 このアプリケーションのコントラスト を高くすることはできますか? |
|
この節では特殊な状況での FreeBSD のインストール方法が記述してあります。
この形式のインストールは 「表示のないインストール」 と呼ばれます。 なぜなら、FreeBSD をインストールしようとするマシンにモニタが接続されていないか、 VGA 出力をもっていないからです。 このようなシステムへのインストールはシリアルコンソールを使い、 別のマシンをシステムの主ディスプレイやキーボードとして使うと可能になります。 これを行うには、「ブートメディアの準備」 の説明に従い、インストール用の USB メモリスティックを作成するか、 「インストール ISO の作成」 で説明されているインストール用の ISO イメージをダウンロードしてください。
以下の説明に従って、 これらのメディアをシリアルコンソールを使って起動するように変更してください CD/DVD メディアを使うのであれば、最初の手順を飛ばしてください。
インストール用 USB スティックのシリアルコンソールへの起動を有効にする
デフォルトでは、USB スティックで起動すると、 インストーラを起動します シリアルコンソールを使って起動するには、 os; のシステムに mount(8) コマンドを使って USB ディスクをマウントしてください。
# mount /dev/da0a /mntデバイスノードおよびマウントポイントの部分は、 利用している環境に合わせてください。
スティックをマウントしたら、USB
スティックをシリアルコンソールを使って起動するように設定してください。
以下の行を USB スティックの
/boot/loader.conf に追加してください。
# echo 'console="comconsole"' >> /mnt/boot/loader.confUSB スティックを正しく設定することができたら、 umount(8) を使ってディスクをアンマウントしてください。
# umount /mntその後 USB スティックを抜き、3 番目の手順に進んでください。
インストール用 CD/DVD のシリアルコンソールへの起動を有効にする
デフォルトでは、インストール用の CD/DVD で起動すると、FreeBSD は通常のインストールモードで起動します。 シリアルコンソールで起動するには、 ISO イメージを CD/DVD メディアに焼く前に、 展開して、変更し、再び ISO イメージを作成する必要があります。
インストール用の ISO イメージが保存されている FreeBSD システムで、 以下のようにすべてのファイルを tar(1) を使って展開してください。
# mkdir /path/to/headless-iso
# tar -C /path/to/headless-iso -pxvf FreeBSD-9.1-RELEASE-i386-disc1.iso次に、
インストールメディアをシリアルコンソールを使って起動するように設定します。
以下の行を展開した ISO イメージの
/boot/loader.conf に追加します。
# echo 'console="comconsole"' >> /path/to/headless-iso/boot/loader.confその後、修正されたツリーを使って新しい ISO イメージを作成します。
この例では、sysutils/cdrtools package または port
の mkisofs(8) を使っています。
# mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "Headless_install" \
-o Headless-FreeBSD-8.4-RELEASE-i386-disc1.iso/path/to/headless-iso適切な ISO イメージを作成できたので、 お気に入りの CD ライタ用のアプリケーションを使って CD/DVD に焼いてください。
ヌルモデムケーブルの接続
2 つのマシン間のシリアルポートを、 ヌルモデムケーブルで接続してください。 普通のシリアルケーブルはここでは使えません。 ヌルモデムケーブルが必要です。
インストールのために起動
いよいよインストールを開始します。 USB メモリスティックまたは CD/DVD メディアを、画面のない、 インストールを行おうとしているマシンに挿入し、 電源を投入してください。
画面がないマシンへの接続
cu(1) でインストールを行いたいマシンに接続してください:
# cu -l /dev/cuau0cu(1)を通して画面がないマシンを操作することができます。 カーネルを読み込み、 その後どの種類の端末を使うか選択する画面が表示されます。 FreeBSD カラーコンソールを選んでインストールを続行してください!
ある状況では、カスタマイズした FreeBSD インストールメディアやソースを用意する必要があります。 これは sysinstall(8) がインストールファイルを持ってくることのできる、 物理的なメディアであったり、ソースの場合もあります。 たとえば、以下のような状況です。
たくさんのマシンが繋がったローカルネットワークに FreeBSD インストールファイルを持つローカル FTP サーバをホストし、 各マシンはインストールにこのサーバのファイルを使うようにします。
FreeBSD は CD/DVD ドライブを認識できないが、 Windows® はそれができるとします。 この場合、同じコンピュータ上の Windows® パーティションに FreeBSD のインストールファイルをコピーして、FreeBSD のインストールにこれらのファイルを使います。
インストールを行いたいコンピュータが CD/DVD ドライブやネットワークカードを搭載してなくても、 ヌルプリンタケーブルを用いてそのコンピュータに接続できます。
磁気テープを FreeBSD のインストールに使えます。
FreeBSD プロジェクトは、それぞれのリリースに対して 「ISO イメージ」 をサポートされているアーキテクチャごとに用意します。 書き込み用のアプリケーションを用いてイメージを CD または DVD メディアに書き込む (「焼く」) ことができ、 それを使って FreeBSD をインストールできます。 CD/DVD ライタを利用できるのであれば、 これが FreeBSD をインストールする最も簡単な方法です。
適切な ISO イメージのダウンロード
それぞれのリリースの ISO イメージは、
ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-
もしくは近くのミラーからダウンロードできます。
ここで、arch/versionarch と
version の部分は適切なものに置き換えてください。
通常、このディレクトリには以下のイメージが置いてあります。
| ファイル名 | 内容 |
|---|---|
FreeBSD- | CD-ROM ドライブから起動することでインストールを行うことができる CD イメージです。 この CD のみを使って FreeBSD をインストールすることはできません。 この CD から起動した後は、 FTP サーバなどからネットワーク経由でインストール作業をします。 |
FreeBSD- | この DVD イメージには、 FreeBSD オペレーティングシステムのベースシステム、 コンパイル済みの package 一式、 ドキュメントをインストールするために必要なものが入っています。 「livefs」 ベースのレスキューモードで起動することも可能です。 |
FreeBSD- | USB メモリスティックに書き込めるイメージです。 USB ドライブから起動可能なコンピュータで、 インストールに使うことができます。 「livefs」 ベースのレスキューモードで起動することも可能です。 package は、ドキュメントに関連するもののみが入っています。 |
FreeBSD- | この CD イメージには、 FreeBSD オペレーティングシステムのベースシステムとドキュメントインストールするために必要なものが入っています。 その他の package は含まれていません。 |
FreeBSD- | この CD イメージには、ディスクに収まる容量のサードパーティ製
package が含まれています。このイメージは、
FreeBSD 9.X
以降では利用できません。 |
FreeBSD- | ディスクに収まる容量のサードパーティ製
package を含むもう 1 つの CD イメージです。このイメージは、
FreeBSD 9.X
以降では利用できません。 |
FreeBSD- | 「livefs」 ベースのレスキューモードで起動できるイメージです。 この CD のみを使ってシステムをインストールすることはできません。 |
CD からインストールを行うには、
bootonly ISO イメージまたは
disc1 のどちらかをダウンロードしてください。
disc1 には、bootonly
ISO イメージに含まれているものはすべて含まれているので、
両方をダウンロードする必要はありません。
インターネット経由でネットワークからインストールを行うには、
bootonly ISO を使ってください。
追加のソフトェアが必要であれば、
5章アプリケーションのインストール - packages と ports に説明されているように Ports Collection
を用いてインストールできます。
FreeBSD をインストールし、
サードパーティ製の package をディスク上から利用したいのであれば、
dvd1 を使ってください。
メディアへイメージを書き込む
次に、ダウンロードしたイメージをディスクに書き込んでください。 他の FreeBSD システムで書き込みを行う場合には、 「burncd」 および 「cdrecord」 の手順を参考にしてください。
他のプラットフォーム上で書き込みを行う場合には、 そのシステムにインストールされている書き込み用のユーティリティを利用してください。 提供されているイメージは標準の ISO フォーマットです。多くの CD ライタ用のアプリケーションがこのフォーマットに対応しています。
カスタマイズした FreeBSD のリリースを構築するには、Release Engineering Article をご覧ください。
FreeBSD のディスクは FTP サイトと同じ配置がなされています。 そのため、ローカルな FTP サイトを構築して、ネットワーク上の他のマシンが FreeBSD をインストールするのに使うようにできます。
FTP サイトのホストとなる FreeBSD のコンピュータに、 CD/DVD をドライブに入れ、マウントしてください。
# mount /cdromanonymous FTP のアカウントを作成してください。 vipw(8) を使用して次の行を加えてください。
FTP サービスを請け負うために
/etc/inetd.conf で有効にしてください。
このマシンにネットワークで繋がっているマシンは、
インストール時にメディアタイプで FTP を選択し、
FTP サイトメニューで 「Other」 を選んだ後
ftp://
と打ち込むことができます。your machine
もし FTP クライアントの起動メディアの FreeBSD のバージョンが FTP サイトで提供されているバージョンと正確に同じでなければ、 sysinstall(8) でのインストールはうまくいきません。 バージョンを書き換えるには、 メニューで distribution name を に変更してください。
この方法はローカルネットワーク上の、 ファイアウォールで保護されたマシンでは容認できますが、 インターネットを介して他のマシンに FTP サービスを提供することは、 セキュリティリスクが高まります。 インターネット経由でサービスを提供する場合には、 セキュリティの状態に注意することを強く提言します。
ハードディスクの Windows® パーティションからインストールするときには、
配布ファイルを例えば c:\freebsd
などそのパーティションのルートディレクトリにコピーします。
ディレクトリ構造を反映してコピーしなければならないので、
CD/DVD からコピーする場合には robocopy
の使用をおすすめします。
例えば、最低限の FreeBSD のインストールを行うには、
次のように準備します:
C:\> md c:\freebsd
C:\> robocopy e:\bin c:\freebsd\bin\ /s
C:\> robocopy e:\manpages c:\freebsd\manpages\ /sここで C: ドライブには十分な空き容量があり、
CD/DVD は E:
ドライブにマウントされているものとします。
あるいは、ftp.FreeBSD.org から配布ファイルをダウンロードしてください。 それぞれの配布ファイルは独自のディレクトリに入っています。 例えば、base 配布ファイルは 8.4/base/ ディレクトリにあります。
Windows® パーティションの c:\freebsd
にインストールの配布ファイルをコピーしてください。
base および kernel
配布ファイルは、最低限必要です。
3 種類のネットワークインストールを行うことができます。 イーサネット、PPP、そして、PLIP です。
最も高速なネットワークインストールを行うには、 イーサネットアダプタを使ってください。 FreeBSD はきわめて多くの PC イーサネットカードをサポートしています。 サポートされているカードの一覧は、 FreeBSD それぞれのリリースのハードウェアノートで提供されます。 サポートされている PCMCIA イーサネットカードを使う場合、 システムの電源を入れる前に差し込んでおくことに注意してください。 FreeBSD はインストール時の PCMCIA カードの活線挿抜には対応していません。
静的に設定する場合には、システムの IP アドレス、 サブネットマスク、ホスト名、デフォルトゲートウェイアドレス、 DNS サーバアドレスを知っておくことが必要です。 HTTP プロキシ経由で FTP インストールを行いたい場合には、 プロキシサーバのアドレスも必要となります。 これらの情報を知らない場合には、 イーサネット経由でのインストールを始める前に、 ネットワーク管理者か ISP に相談するべきでしょう。
もしダイアルアップモデムを使用しているなら、 インストールプロセスの初期にサービスプロバイダの PPP の情報が必要となるので、この情報を手元に用意してください。
もし ISP に接続するのに PAP や CHAP
を用いていて、スクリプトを使用していないのであれば、
dial と FreeBSD の ppp
のプロンプトに対して入力してください。
それ以外の場合、モデム固有の 「AT コマンド」を使って
ISP にダイヤルする方法を知っておく必要があります。
PPP ダイヤラはとてもシンプルな端末エミュレータしか提供していません。
これ以上の情報については 「ユーザ ppp の利用」 や ../../../../doc/ja_JP.eucJP/books/faq/ppp.html
を参照してください。
set log local ...
コマンドを用いてログを画面に吐くこともできます。
FreeBSD の動いている別のマシンと直接接続が可能でしたら、 ヌルモデムパラレルポートケーブルを介してインストールすることもできます。 パラレルポート経由のデータ転送スピードは、 シリアルラインでの一般的なスピードよりも高速です。
NFS インストールはまったく単純明快です。 FreeBSD の配布ファイルを NFS サーバの好きな場所にコピーしておいて、 インストーラのメディア選択で NFS を選択してください。
もしサーバが「特権ポート」へのアクセスのみをサポートしている場合、
インストールを進める前に メニューで
NFS Secure を選択してください。
イーサネットカードの性能が悪く、
転送速度が遅くて困っている場合には、
NFS Slow フラグを選択するといいでしょう。
NFS 経由でインストールするためには、
サブディレクトリも含んだマウントにサーバが対応している必要があります。
例えば FreeBSD 9.1 の配布ファイルが
ziggy:/usr/archive/stuff/FreeBSD,
にあるとすると、マシン ziggy では
/usr や
/usr/archive/stuff
だけでなく /usr/archive/stuff/FreeBSD
の直接マウントが可能になっていなければなりません。
FreeBSD の /etc/exports
ファイルでは、このことは -alldirs
によって制御されています。
他の NFS
サーバの場合だとまた話が違ってくるかもしれません。
もしサーバから permission denied
が返ってくるようでしたら、
サブディレクトリマウントをちゃんと有効にできていないことが考えられます。
訳: 中井 幸博 <nakai@mlab.t.u-tokyo.ac.jp>, 1996 年 10 月 12 日.
この章では FreeBSD オペレーティングシステムの基本的なコマンドと機能について記述しています。 ここに書かれてあることのほとんどは、 どんな Unix オペレーティングシステムにもあてはまります。 この章に書いてあることに馴染みがあるなら、 この章は気軽に流し読みしてください。 あなたが FreeBSD の初心者なら、 何か質問する前にこの章を読んでおいた方がきっといいはずです。
この章を読んで分かることは、次のようなことです。
Unix のファイルの許可属性の仕組み
ファイルシステムの ACL (アクセス制御リスト) とは何か、またその使用法
プロセス、デーモンとシグナルとはなにか
シェルとはなにか。 また、デフォルトのログイン環境を変える方法
テキストエディタの基本的な使い方
さらに詳しい情報を得るためのマニュアルページの読み方
FreeBSD の 「仮想コンソール」 の使い方
FreeBSD は BSD Unix の直系の子孫であり、 いくつかの鍵となる Unix 思想にもとづいています。 まず最も際だった特徴として最初に言えるのは、FreeBSD がマルチユーザのオペレーティングシステムだということです。 FreeBSD は同時に働いている複数のユーザすべてを、 完全に分離したタスク上で処理する能力を持っています。 また FreeBSD は、ハードウェアデバイス、周辺装置、メモリ、 CPU 時間等への要求を、各ユーザが平等に利用できるように適切に共有し、 管理する役割を担っています。
システムがマルチユーザをサポートしているため、 システムが管理する資源はすべて、 誰がその資源を読み・書き・実行できるかを支配する、 一組の許可属性を持っています。 これらの許可属性は 3 つの部分からなる 2 桁の 8 進数の形で格納されています。 それはそのファイルの所有者 (owner) に対するもの、 そのファイルが所属するグループ (group) に対するもの、 その他 (others) に対するものの 3 つです。 これを数字を使って表現すると、次のようになります。
| 値 | 許可属性 | ディレクトリの表示 |
|---|---|---|
| 0 | 読み込み不可、書き込み不可、実行不可 | --- |
| 1 | 読み込み不可、書き込み不可、実行可能 | --x |
| 2 | 読み込み不可、書き込み可能、実行不可 | -w- |
| 3 | 読み込み不可、書き込み可能、実行可能 | -wx |
| 4 | 読み込み可能、書き込み不可、実行不可 | r-- |
| 5 | 読み込み可能、書き込み不可、実行可能 | r-x |
| 6 | 読み込み可能、書き込み可能、実行不可 | rw- |
| 7 | 読み込み可能、書き込み可能、実行可能 | rwx |
ls(1) に対してコマンドライン引数 -l を使うと、
詳細なディレクトリリストを見ることができ、
ファイルの所有者、グループ、その他への許可属性を示す欄があるのがわかります。
次に示すのは、ls -l
の最初の部分だけ抜き出したものです。
最初の (一番左の) 文字は、それが
普通のファイルなのか、ディレクトリなのか、
キャラクタ型のデバイス特殊ファイルなのか、
ソケットなのか、
その他の特殊な疑似ファイルデバイスなのかといった種類を示す特別な文字です。
この場合、- という文字は、
普通のファイルであることを示します。
この例でその次に来る rw- と書かれた 3 文字は、
そのファイルの所有者に許可を与えるものです。
その次の r-- の 3 文字は、
そのファイルが所属しているグループに許可を与えます。
最後の r-- の 3 文字は、
システムに存在するその他のユーザに許可を与えます。
「-」 は許可が与えられていないことを示します。
このファイルの例では、ファイルの所有者はこのファイルを読み書きでき、
ファイルの所属しているグループに属するユーザはファイルを読むことだけでき、
そのどちらでもないユーザは、
このファイルを読むだけできるように許可属性が与えられています。
上の表によれば、このファイルに与えられた許可属性は
644 となります。
ここで各数字は、このファイルの許可属性の 3 つの部分を表しています。
ファイルについてはここまでの説明で十分です。 しかし、
デバイスの場合の許可属性はどのようにコントロールされているのでしょうか?
FreeBSD は、大部分のハードウェアをファイルとして取り扱います。
そのため、プログラムからは普通のファイルとまったく同じようにオープンし、
データの読み書きができるようになっています。
これらのデバイス特殊ファイルは
/dev ディレクトリに収められています。
ディレクトリもまた、ファイルと同様に扱われます。 それは読み込み/書き込み/実行の許可属性を持ちます。 ディレクトリの実行ビットはファイルのそれとは少し違った意味を持ちます。 ディレクトリが実行可能になっているとき、 そのディレクトリに移動することができます。 つまり、そのディレクトリに 「cd」 することが可能です。 また、実行可能属性がついているディレクトリでは、 名前が分かっているファイルにアクセスすることもできます (もちろんそのファイル自体の許可属性によります)。
特に、ディレクトリの中の一覧を表示するには、 そのディレクトリに読み込み属性が設定されていなければなりません。 一方、名前が分かっているファイルを削除するには、 そのファイルが含まれているディレクトリに 書き込み属性と実行属性 の両方が必要です。
この他にも許可属性ビットはありますが、いずれも setuid バイナリや sticky ディレクトリなどといった特殊な状況で使われます。 ファイルの許可属性そのものについて、 また、それらの設定のしかたに関する詳しい情報は、 chmod(1) マニュアルページを参照してください。
スナップショットのようなファイルシステムの拡張と連携して、 FreeBSD 5.0 以降ではファイルシステムアクセス制御リスト (ACLs) によるセキュリティを提供しています。
アクセス制御リストは、標準的な UNIX のパーミッションモデルを、 非常に互換性の高い (POSIX.1e) やり方で拡張しています。 この機能は、管理者がより洗練されたセキュリティモデルを利用し、 その恩恵を受けられるようにします。
UFS ファイルシステム用の ACL サポートを有効にするには、 次のオプションをカーネルに組み込まなければなりません。
もしこのオプションが組み込まれていなければ、ACLs
に対応したファイルシステムをマウントしようとすると、
警告が表示されます。このオプションは GENERIC
カーネルに含まれています。ACLs
は、ファイルシステムの拡張属性が有効になっていることに依存しています。
拡張属性は、次世代 UNIX ファイルシステムである UFS2
でネイティブ対応されています。
UFS1 に拡張属性を付すように設定するのは、 UFS2 よりも高いレベルの管理オーバヘッドが必要になります。 また、UFS2 における拡張属性のパフォーマンスも大きく上がっています。 その結果、アクセス制御リストを利用する上では、一般的には UFS1 よりも UFS2 の方がおすすめです。
ACLs は、マウント時の管理フラグ acls
で有効にされます。これは /etc/fstab に記述できます。
マウント時のフラグは、tunefs(8)
を使って、ファイルシステムヘッダのスーパブロックにある
ACLs フラグを変更するという方法で、
常に自動で設定されるようになります。一般的には、
下記の理由からスーパブロックフラグを使う方がよいでしょう。
マウント時に指定した ACLs フラグは再マウント
(mount(8) -u) 時に変更できません。完全に
umount(8) した上で、新たに mount(8)
するしかありません。これは、起動後にルートファイルシステムで
ACLs を有効にできないことを意味します。
また、ファイルシステムを利用し始めた後では、
その配列を変えられないことも意味しています。
スーパブロックフラグを設定すると、fstab
に記述されていなかったり、デバイスの順番が変わってしまっても、常に
ACLs が有効な状態でマウントされます。
こうすることで、ファイルシステムを ACLs
を有効にしないままマウントしてしまい、ACLs
が正しくないかたちで強制され、
セキュリティ問題につながることを防ぎます。
ACLs の動作を変更して、まったく新たに mount(8) を行わなくてもフラグを有効にできるようにすることも可能でしょう。 しかし、我々は、うっかり ACLs を有効にしないでマウントしてしまうのを防ぐようにした方が望ましいと考えました。 ACLs を有効にし、その後無効にしてから、 拡張属性を取り消さないでまた有効にしてしまうと、 鬱陶しい状態に自分で入り込んでしまえるからです。 一般的には、一度ファイルシステムで ACLs を有効にしたら、無効にすべきではありません。そうしてしまうと、 ファイル保護がシステムのユーザの意図と齟齬をきたす可能性があるばかりか、 ACLs を再度有効にすると、 それまでパーミッションが変更されてきたファイルに古い ACLs を割り当ててしまい、 予想しない動作につながることも考えられます。
ACLs を有効にしたファイルシステムは、
パーミッション設定の表示に + (プラス)
記号がつきます。例えば、次のようになります。
ここでは、ディレクトリ directory1,
directory2 および directory3
のすべてで ACLs が働いています。
ディレクトリ public_html は対象外です。
FreeBSD のディレクトリ構造は、 システム全体を理解するに当たって重要です。 把握しておくべき最も重要なものは、「/」 ディレクトリです。 このディレクトリは起動時に一番最初にマウントされ、 オペレーティングシステムをマルチユーザで動作させるために 必要な基本システムが含まれています。 また、ルートディレクトリには、 他のファイルシステムをマウントするためのマウントポイントも含まれます。
マウントポイントとはルートファイルシステムに存在する、
追加のファイルシステムと接続するためのディレクトリのことです。
標準的なマウントポイントには
/usr, /var,
/mnt, /cdrom
があります。
通常これらのディレクトリについては、
/etc/fstab というファイル中のエントリが参照されます。
/etc/fstab
はさまざまなファイルシステムとマウントポイントの表であり、
システムが参照します。
/etc/fstab に書かれたファイルシステムは
noauto オプションが指定されていなければ、
起動時に rc(8) スクリプトによって自動的にマウントされます。
/etc/fstab
ファイルの書式やオプションに関しての詳細は
fstab(5) をご覧ください。
ファイルシステム構造を網羅した説明は hier(7) に書かれています。 ここでは、もっともよく使われるディレクトリについて簡単に 見るだけで十分でしょう。
| ディレクトリ | 説明 |
|---|---|
/ | ファイルシステムのルートディレクトリ |
/bin/ | シングルユーザ環境とマルチユーザ環境の両方で重要な ユーザユーティリティ |
/boot/ | オペレーティングシステムの起動時に使われるプログラムと設定ファイル |
/boot/defaults/ | デフォルトの起動設定ファイル; loader.conf(5) 参照 |
/dev/ | デバイスノード; intro(4) 参照 |
/etc/ | システム設定ファイルとスクリプト |
/etc/defaults/ | デフォルトのシステム設定ファイル; rc(8) 参照 |
/etc/mail/ | sendmail(8) のようなメール転送エージェントの設定ファイル |
/etc/namedb/ | named 設定ファイル; named(8) 参照 |
/etc/periodic/ | cron(8) 経由で毎日・毎週・毎月実行されるスクリプト; periodic(8) 参照 |
/etc/ppp/ | ppp 設定ファイル;
ppp(8) 参照 |
/mnt/ | システム管理者が一時的なマウントポイントとしてよく使う 空のディレクトリ |
/proc/ | プロセスファイルシステム; procfs(5) と mount_procfs(8) 参照 |
/root/ | root アカウントのホームディレクトリ |
/sbin/ | シングルユーザ環境とマルチユーザ環境の両方で重要な システムプログラムと管理ユーティリティ |
/stand/ | スタンドアロン環境で使われるプログラム |
/tmp/ | 一時的なファイル、mfs(8) メモリファイルシステムであることが多い
(普通 /tmp
の内容はシステムの再起動で失われる) |
/usr/ | 大部分のユーザユーティリティとアプリケーション |
/usr/bin/ | よく使うユーティリティとプログラミングツールとアプリケーション |
/usr/include/ | C の標準ヘッダファイル |
/usr/lib/ | ライブラリ |
/usr/libdata/ | いろいろなユーティリティのデータファイル |
/usr/libexec/ | システムデーモンとシステムユーティリティ (他のプログラムから実行される) |
/usr/local/ | ローカルのプログラムやライブラリなど。
FreeBSD ports 構成のデフォルトインストール先としても使われます。
/usr/local 内では、
hier(7) に書かれている /usr
のための一般構造が使われます。
例外は man ディレクトリで、
/usr/local/share の下ではなく
/usr/local の下に直接置かれ、
ports 関係文書は
share/doc/
にあります。
|
/usr/obj/ | /usr/src ツリーのビルドで作られる
アーキテクチャ依存のターゲットツリー |
/usr/ports | FreeBSD Ports Collection (インストールしなくてもよい)。 |
/usr/sbin/ | (ユーザが実行する) システムデーモンとシステムユーティリティ |
/usr/share/ | アーキテクチャに依存しないファイル |
/usr/src/ | BSD のソースファイルまたはローカルのソースファイル、 あるいは両方 |
/usr/X11R6/ | X11R6 のプログラム、ライブラリなど (インストールしなくてもよい) |
/var/ | ログ・一時的なファイル・スプールファイルなどいろいろな用途 |
/var/log/ | いろいろなシステムログファイル |
/var/mail/ | ユーザのメールボックスファイル |
/var/spool/ | プリンタとメールシステムのスプールディレクトリなどなど |
/var/tmp/ | システムが再起動しても消えない一時的なファイル |
/var/yp | NIS のマップ |
ファイルシステムは /
をルート (根) とする木構造として考えると視覚的に理解しやすいでしょう。
ルートディレクトリにある
/dev や /usr、
その他のディレクトリは枝に相当し、
それらには、/usr/local
などのように、さらに枝分かれすることができます。
さまざまな理由がありますが、
ディレクトリをいくつかの異なるファイルシステム上に構築するのが良いでしょう。
たとえば /var には、
log/ や spool/
など、さまざまな種類の一時ファイルを置くディレクトリがあるため、
あふれてしまう可能性があります。
ルートファイルシステムをあふれさせるのは得策ではありませんので、
普通は /var を /
から分離します。
また、次のような場合も、ディレクトリツリーを 別のファイルシステムに置く理由として良くあげられます。 それは、たとえば物理的に別のディスクにディレクトリツリーを置く場合、 ネットワークファイルシステム (Network File System) や CDROM ドライブのような別の仮想ディスクに置くという場合です。
/etc/fstab に書かれているファイルシステムは
(noauto オプションがなければ)
起動プロセスの途中で
自動的にマウントされます。
/etc/fstab ファイルは、
次のような書式で書かれた行のリストになっています。
device /mount-point fstype options dumpfreq passnodeviceデバイスの名前 (存在していなければなりません)。 「デバイス名」 に説明があります。
mount-pointファイルシステムがマウントするディレクトリの名前 (存在していなければなりません)。
fstypemount(8) に渡されるファイルシステムタイプ。
FreeBSD ファイルシステムのデフォルトは
ufs です。
options読み書きするファイルシステムには
rw、読み込み専用のファイルシステムには
ro を、必要な他のオプションの前に指定します。
よく使われるオプションは noauto で、
起動時にはマウントされないファイルシステムに使います。
その他のオプションは mount(8)
マニュアルページに載っています。
dumpfreqこれは dump(8) が使うもので、 どのファイルシステムにダンプが必要なのかを決めます。 この項目がなければ、0 であるものとみなされます。
passnoこれはファイルシステムをチェックする順番を決めます。
ファイルシステムチェックを飛ばしたいファイルシステムには、
passno を 0 に設定してください。
ルートファイルシステム
(どれよりも先にチェックしなければなりません)
は passno を 1 に設定してください。
他のファイルシステムの passno
は 1 以上に設定してください。
同じ passno のファイルシステムがあった場合、
fsck(8) は可能であれば並行してファイルシステムのチェック
を行なおうとします。
mount(8) コマンドは、 ファイルシステムをマウントするために使われるものです。
基本的には、次のように使います。
# mount device mountpointmount(8) マニュアルページにはたくさんのオプションが書かれていますが、 いちばんよく使われるのは次のものです。
-a/etc/fstab
にある全てのファイルシステムをマウントします。
例外は 「noauto」 の印がついているものと、
-t フラグで除外されたものと、
すでにマウントされているファイルシステムです。
-d実際にシステムコールする以外の全てのことをします。
このオプションは -v
フラグと組み合わせて使い、
mount(8) が実際なにをしようとしているのか調べるのに便利です。
-fクリーンでないファイルシステムを強制的にマウントします (危険です)。もしくは、ファイルシステムのマウント状態を 読み書き可能から読み込みのみに変更するとき、 書き込みアクセスを強制的に取り消します。
-rファイルシステムを読み込み専用でマウントします。
これは rdonly 引数を -o
オプションに使うのと同じです。
-t
fstypeファイルシステムを指定のファイルシステムタイプでマウントします。
または、-a を使った場合、
指定したタイプのファイルシステムのみマウントします。
デフォルトのファイルシステムタイプは 「ufs」 です。
-uファイルシステムのマウントオプションを更新します。
-v詳細な出力にします。
-wファイルシステムを読み書き可能にマウントします。
-o には、
次のようなオプションを複数カンマで区切って指定します。
以下に挙げるのはその一部です。
ファイルシステム上のスペシャルデバイスを解釈しません。 セキュリティのために有用なオプションです。
そのファイルシステム上のバイナリの実行を禁止します。 セキュリティのために有用なオプションです。
そのファイルシステム上の setuid や setgid フラグを解釈しません。 これもセキュリティのために有用なオプションです。
umount(8) コマンドは、パラメータとしてマウントポイントの一つ、
デバイス名、もしくは -a や -A
といったオプションを取ります。
いずれの形式でも -f で強制的なアンマウントを行ない、
-v で詳細な出力を出します。
ただしほとんどの場合、-f は使わないほうがよいでしょう。
強制的にファイルシステムをアンマウントすると、
計算機がクラッシュしたりファイルシステム上部のデータが
破壊されたりする恐れがあるためです。
オプション -a と -A
はマウントされているファイルシステムすべてをアンマウントするのに使います。
-t にファイルシステムタイプを指定すると、
指定されたものだけがアンマウントされます。
また、-A を使うとルートファイルシステムはアンマウントしません。
FreeBSD はマルチタスクのオペレーティングシステムです。 つまり、1つ以上のプログラムがあたかも同時に動いているかのように見える、 ということです。動作中のプログラムはそれぞれ プロセス と呼ばれます。 コマンドを実行すると、最低でも1つの新しいプロセスがスタートします。 システムを正常に機能させるために常に動作しているシステムプロセスもたくさんあります。
各プロセスはプロセス ID、もしくは
PID と呼ばれる数字でただ一つに識別されます。
また、ファイルのように各プロセスには所有者とグループがあります。
所有者とグループの情報は、
これまでに見たファイル許可属性を用い、
そのプロセスが開けるファイルやデバイスを決定するために使われます。
多くのプロセスには親プロセスもあります。
親プロセスとは、そのプロセスをスタートさせたプロセスのことです。
例えば、シェルにコマンドを打ち込んでいるときはシェルがプロセスで、
動かすコマンドもまたどれもプロセスです。
このようにして起動するプロセスはそれぞれシェルが親プロセスになります。
これの例外は init という特別なプロセスです。
init は常に最初のプロセスなので、
PID は必ず 1 になります。
init は FreeBSD
がスタートするときカーネルによって自動的に起動されます。
ps(1) と top(1) という2つのコマンドが システム上のプロセスを確認するために特に便利です。 ps(1) コマンドは現在動作中のプロセスのリストを見るために使い、 PID やプロセスが使っているメモリの量、 どういうコマンドラインで起動されたのか、 などを表示させることができます。 top(1) コマンドは動作中の全てのプロセスを表示し、 数秒ごとに表示を更新するので、 計算機がなにをしているのかインタラクティブに知ることができます。
デフォルトでは、ps(1) は動作中かつ所有者が自分のコマンドのみを表示します。 例えば:
% ps
PID TT STAT TIME COMMAND
298 p0 Ss 0:01.10 tcsh
7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
48730 p0 IW 0:00.00 (dns helper) (navigator-linux-)
72210 p0 R+ 0:00.00 ps
390 p1 Is 0:01.14 tcsh
7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y
6688 p3 IWs 0:00.00 tcsh
10735 p4 IWs 0:00.00 tcsh
20256 p5 IWs 0:00.00 tcsh
262 v0 IWs 0:00.00 -tcsh (tcsh)
270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc
285 v0 S 0:38.45 /usr/X11R6/bin/sawfishこの例で分かるとおり、
ps(1) の出力はいくつかの行に整形されています。
PID は先ほど見たプロセス ID です。
PID は 1 から順に 99999 まで割り当てられ、
足りなくなると最初に戻って使い回されます。
TT はプログラムが動いている tty を示します。
差し当たって無視してもかまわないでしょう。
STAT はプログラムの状態を示しますが、
これもまた無視してよいでしょう。
TIME はプログラムがその CPU
上で動いている時間の長さです—これはプログラムをスタートさせたとき
からの経過時間であるとはかぎりません。
CPU 上で時間を使う必要があるまでかなりの時間を費すようなプログラムもあるからです。
最後に、COMMAND
はそのプログラムを起動するのに使われたコマンドラインとなります。
ps(1) は表示する情報を変えるためのオプションをたくさんサポートしています。
いちばん便利なのは auxww でしょう。
a は自分のプロセスだけではなく、
動作中のプロセス全部についての情報を表示します。
u はプロセスの所有者の名前をメモリ使用量と同様に表示します。
x はデーモンプロセスについての情報を表示し、
ww で、スクリーンに入りきらないほど長くなったコマンドラインでも省略せず、
ps(1) に全コマンドラインを表示させます。
top(1) の出力も同様です。 例は以下の通りです。
% top
last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10
47 processes: 1 running, 46 sleeping
CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle
Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top
7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14
281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA
296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm
48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu
175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd
7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt
...出力は2つのセクションに分かれています。 ヘッダ (最初の 5 行です) は動作している最新のプロセスの PID、 システムの平均負荷 (システムがどれくらい忙しいかの指標)、 システムの稼働時間 (最後の再起動からの時間) と現在の時刻を示します。 ヘッダの中の他の数字は動作中のプロセスの数 (この場合 47 ですね)、 使われているメモリとスワップ領域の量、 そしてシステムが異なる CPU 状態に消費した時間と関係します。
その下には ps(1) の出力と同じような情報を持った行が続きます。 前と同様 PID にユーザ名、消費 CPU 時間と実行中のコマンドを知ることができます。 top(1) を使うとデフォルトでプロセスが使っているメモリ容量も分かります。 メモリ使用量の欄は2項目に分かれており、 一方は合計使用量、 そしてもう一方は実使用量です—合計使用量はアプリケーションが必要としているメモリ量で、 実使用量はその時点で実際に使われているメモリ量です。 この例では、Netscape がだいたい 30 MB の RAM を必要としていますが、 いまのところ 9 MB しか使っていないことが分かります。
top(1) は自動的に2秒ごとに画面を更新します。
s オプションを使えば更新間隔を変更することができます。
エディタを使っている場合、エディタを操作するのは簡単です。 ファイルを開く、などと動かせばよいのです。 このように操作できるのは、エディタにそういった機能があり、 かつエディタが端末に関連づけられているからです。 一方、ユーザから始終入力があるように設計されていないプログラムもあり、 そういったプログラムは最初から端末と切り離されます。 例えば、ウェブサーバは一日中ウェブのリクエストばかり処理するので、 通常全く入力を必要としません。 サイトからサイトへとメールを転送するプログラムも、 こういった種類のアプリケーションの一例です。
このようなプログラムは、デーモンと呼ばれます。 デーモンはギリシャ神話の登場人物で、 善でも悪でもなく、大雑把にいうと、 人間のために役立つことをしてくれる小さな妖精さんです。 今日の便利なウェブサーバやメールサーバととてもよく似ていますね。 このため、長い間 BSD のマスコットはスニーカーをはいてフォークを携えた かわいらしい姿のデーモンなのです。
通常デーモンとして動作するプログラムには末尾に 「d」
を持った名前をつける慣習があります。
BIND は Berkeley Internet Name Daemon ですし
(実際実行されるプログラムは named という名前です)、
Apache ウェブサーバのプログラムは
httpd と呼ばれますし、
ラインプリンタスプーリングデーモンは lpd、
などなどです。
これは単なる慣習で、しっかりがっちりとしたルールではありません。
例えば、Sendmail
アプリケーションの主なメールデーモンは
sendmail という名前で、
連想しそうな maild ではありません。
時々、デーモンプロセスと通信したいときがあります。
この通信はシグナルと呼ばれ、
デーモンにシグナルを送ることによってデーモン
(に限らずどんな動作中のプロセスでも) と通信することができます。
送信可能なシグナルはたくさんあります—特別な意味があるものもあれば、
アプリケーションによって解釈されるものもありますし、
アプリケーションがシグナルをどう解釈するかは
そのアプリケーションの文章を読めば分かるでしょう。
自分が持っているプロセスにしかシグナルを送ることはできません。
他人のプロセスに kill(1) や kill(2)
を使ってシグナルを送っても、許可されないでしょう。
これの例外は root ユーザで、
ルートユーザは誰のプロセスでもシグナルを送ることができます。
FreeBSD もアプリケーションにシグナルを送ることがあります。
アプリケーションを下手に書くと、
予想外のメモリにアクセスしようとするので、
FreeBSD がプロセスに セグメンテーション違反
シグナル (SIGSEGV) を送ります。
ある程度の時間が経ったら alarm(3)
システムコールを使って警告してもらうようなアプリケーションには、
警告シグナル (SIGALRM) が送信される、
などです。
プロセスを止めるためには2つのシグナル、
SIGTERM か SIGKILL
を使います。
SIGTERM は穏かにプロセスを終了させる方法です。
プロセスはシグナルを受け取ることができ、
終了させたいのだなということを理解し、
開いているログファイルを全部を閉じ、
一般的に終了前にしていたことを終えることができます。
中断できない処理の途中だと、SIGTERM
をプロセスが無視することもあるかもしれません。
プロセスは SIGKILL を無視することができません。
これは、「なにをしていようが構わないから今すぐ止まれ」
というシグナルです。 プロセスに SIGKILL を送ると、
FreeBSD はそのプロセスをそこで止めます[1]。
使う可能性のあるシグナルは、他に
SIGHUP、SIGUSR1、と
SIGUSR2 があります。
これらは一般的な用途のシグナルで、
このシグナルが送信されたときアプリケーションによって別のことをします。
ウェブサーバの設定ファイルを変更したとしましょう—ウェブサーバに新しい設定を再読み込みさせたいですね。
httpd を止めて再起動することもできますが、
そうするとウェブサーバは一瞬ながら停止してしまいますし、
ちょっとでも止まってほしくないこともあるでしょう。
ほとんどのデーモンは SIGHUP
シグナルに対して設定ファイルを再読み込みする反応を返すよう書かれています。
従って、httpd を止めて再起動する代わりに、
SIGHUP シグナルを送りましょう。
これらのシグナルへの標準的な反応というものがないために、
デーモンごとに行動が違うので、
疑問があれば必ずそのデーモンの文書を読んでください。
kill(1) コマンドを使って送るシグナルはこの例をご覧ください。
この例では、inetd(8) にシグナルを送る方法を示します。
inetd(8) の設定ファイルは
/etc/inetd.conf で、
inetd(8) は SIGHUP
が送信されるとこの設定ファイルを再読み込みします。
シグナルを送りたいプロセスのプロセス ID を探します。
それには ps(1) と grep(1) を使います。
grep(1) コマンドは出力を検索するために使い、
指定した文字列を探します。
このコマンドは一般ユーザで実行しますが、
inetd(8) は root で実行されているので、
ps(1) には ax
オプションを与える必要があります。
% ps -ax | grep inetd
198 ?? IWs 0:00.00 inetd -wWということで、inetd(8) の PID は 198 です。
grep inetd コマンドがこの出力に出てくる場合もあります。
それは、ps(1) が動作中のプロセスのリストを見つける方法によります。
kill(1) を使ってシグナルを送ります。
inetd(8) は root で起動されているために、
まず su(1) を使って root
にならなければなりません。
% su
Password:
# /bin/kill -s HUP 198大部分の Unix コマンドと同じく、
成功したら kill(1) は何の出力も表示しません。
自分のものではないプロセスにシグナルを送ると、
kill:
PID: Operation not
permitted と表示されます。
PID を打ち間違えると、
悪いことに間違ったプロセスにシグナルを送ってしまうか、
もしくは運がよければその時点で使われていない PID
にシグナルを送ったことになり、kill:
PID: No such process
と表示されます。
/bin/kill を使うんでしょう?: 多くのシェルは kill
コマンドを組み込みコマンドとして備えています。
つまり、/bin/kill を実行するのではなく、
シェルが直接シグナルを送ります。
これはとても便利なのですが、
シェルが違うと送るシグナルの名前の指定の仕方が違います。
シェルによって異なるシグナルの指定の仕方を全部覚えようとはせずに、
/bin/kill
コマンドを直接使うほうが簡単です。...
他のシグナルの送り方はほとんど同じで、
コマンドラインの TERM や KILL
を必要に応じて変えるだけです。
FreeBSD では日々の作業のほとんどは、
「シェル」と呼ばれるコマンドラインインタフェイスを通して行われます。
シェルの主な仕事はコマンドを入力チャンネルから受け取り、
そしてそれらを実行することです。
大部分のシェルはさらに組み込みの機能を持っていて、日々の作業、
ファイル管理やファイル名の展開、コマンドライン編集、
コマンドマクロ、環境変数などに便利です。
FreeBSD には sh (Bourne Shell) や
tcsh (高機能 C-shell) が含まれています。
また、
これ以外にも zsh や bash
などたくさんのシェルが FreeBSD Ports Collection から利用可能です。
「あなたは、どのシェルを使いますか?」という質問は、
まったく趣味の問題です。
あなたが C のプログラマだったとすれば、
tcsh のような C 風のシェルの方が落ち着くかもしれません。
Linux から来た人や Unix のコマンドラインインタフェイスになじみがなければ、
bash を試すのも良いでしょう。
ポイントは、それぞれのシェルは、
あなたの好みの作業環境で利用できる (もしくはできない) 独自の機能を持っているということ、
そして、どのシェルを使うことにするかを決めるのはあなた自身だということです。
シェルの一般的な機能の一つに、ファイル名の補完があります。
コマンドやファイル名の最初の数文字を与えて Tab キーを押すことで、
シェルにコマンドやファイル名の残りの部分を自動的に補完させることができます。
例をあげましょう。 二つのファイル
foobar, foo.bar が
あったとします。 ここで foo.bar
の方を削除するには、
rm fo[Tab].[Tab] と入力します。
するとシェルは rm
foo[BEEP].bar と出力するでしょう。
[BEEP] のところはコンソールのベル (訳注: 通常はビープ音が鳴ります) です。
これは複数のファイルがマッチしたため、
ファイル名の補完を完全に行なえなかったことを伝えています。
foobar と
foo.bar は
両方とも fo ではじまるため、
補完できるのは foo までです。
ここで . を入力して Tab を押せば、
シェルはファイル名の残りの部分を補完できます。
もう一つあげられるシェルの特徴として、環境変数があります。 環境変数とは、シェルの環境変数空間におけるキーと値とのペアです。 この変数空間は、そのシェルから起動されたプログラムから参照でき、 それを利用してプログラムの設定を保存するのに利用されます。 下の表は、一般的な環境変数とその意味を示したものです。
| 変数名 | 意味 |
|---|---|
USER | 現在のログインユーザのユーザ名。 |
PATH | コロンで区切られた実行ファイル探索のための ディレクトリのリスト。 |
DISPLAY | 接続する X11 ディスプレイのネットワーク名 (存在する場合のみ)。 |
SHELL | 現在のシェル。 |
TERM | ユーザの端末名。 端末のケーパビリティを決定するのに使われる。 |
TERMCAP | 種々の端末の機能を実現する端末のエスケープコードの データベースのエントリ。 |
OSTYPE | オペレーティングシステムの種別。 たとえば FreeBSD。 |
MACHTYPE | システムが動作している CPU のアーキテクチャ。 |
EDITOR | ユーザの選んだテキストエディタ。 |
PAGER | ユーザの選んだテキストページャ。 |
MANPATH | コロンで区切られたマニュアルページ探索のための ディレクトリのリスト。 |
環境変数をセットする方法は、
それぞれのシェルごとに多少異なります。
たとえば、tcsh や csh 等の C シェルでは
setenv を使います。
sh や bash 等の Bourne シェルでは
set と export
を使います。
たとえば csh か tcsh で
EDITOR 環境変数の値を
/usr/local/bin/emacs に
セットするか変更するには、次のようにします。
% setenv EDITOR /usr/local/bin/emacsBourne シェルでは次のようになります。
% export EDITOR="/usr/local/bin/emacs"ほとんどのシェルでは、
コマンドライン中の変数名の前に $ 文字を置くことで、
環境変数を展開させることができます。
たとえば、
echo $TERM は $TERM が
セットされている内容を表示します。
それはシェルが $TERM を展開して
echo に渡しているからです。
シェルはさまざまな特殊文字を、特別なデータを表すものとして扱います。
その特殊文字はメタキャラクタと呼ばれます。
もっとも一般的なものは * で、
これはファイル名に含まれる、あらゆる文字を表します。
これらの特殊なメタキャラクタはファイル名の展開に使われます。
たとえば、echo * と入力すると
ls と入力したのとほとんど同じ結果を得られます。
これはシェルが * とマッチするすべてのファイルを
受け取って echo のコマンドラインに渡し、表示するからです。
これらの特殊文字をシェルに解釈させないようにするため、
特殊文字の前にバックスラッシュ文字 (\)
を置くことができます。
echo $TERM は、
あなたの端末が何にセットされているかを表示します。
echo \$TERM は $TERM と
そのまま表示します。
シェルを変更する一番簡単な方法は chsh
コマンドを使うことです。 chsh を実行すると
環境変数 EDITOR で示されたエディタが立ち上がります。
環境変数をセットしていなかった時は
vi が立ち上がります。
「Shell:」 の行を適宜変更してください。
chsh に
-s オプションをつけると、
エディタを起動せずにシェルを変更することが可能です。
たとえば、シェルを bash に変えたいなら、次のようにしてください。
% chsh -s /usr/local/bin/bashchsh をパラメータなしで実行し、
エディタでシェルを変更しても同じことができます。
使おうと思っているシェルは必ず
/etc/shells 中に書かれているものでなければなりません。
シェルを Ports Collection
からインストールしていたのであれば、すでにそれは行なわれていますが、
手動でインストールした場合は、それを忘れずに行ってください。
たとえば、bash
を手動で
/usr/local/bin
にインストールした場合
以下のようにする必要があります。
# echo "/usr/local/bin/bash" >> /etc/shellsそして chsh を実行してください。
さまざまな FreeBSD の設定は、テキストファイルを編集することで行われます。 そのため、テキストエディタの扱いに慣れると良いでしょう。 FreeBSD には、基本システムの一部として二、三提供されるものと、 Ports collection から利用できる、たくさんのテキストエディタが用意されています。
最も学習が簡単なエディタは、
easy editor の略で ee と呼ばれるものです。
ee を立ち上げるには、コマンドラインから
ee filename と入力します。
ここで filename は、
編集しようとしているファイルの名前です。
たとえば、/etc/rc.conf を編集するには
ee /etc/rc.conf と入力します。
一旦 ee の中に入れば、
エディタの機能を操作するコマンドはすべてディスプレイの上部に
表示されています。キャレット ^ 文字は
キーボードの Ctrl キーを意味しますので、
^e はキーのコンビネーション
Ctrl+e
を押すという意味になります。
ee を終了するには Esc キーを押し、
そして leave editor を選びます。
ファイルが更新されていたときは、
エディタは変更をセーブするかどうかプロンプトを出します。
FreeBSD には、基本システムの一部として
vi、
一方 emacs や vim
といった他のエディタは Ports Collection の一部として、
より強力なテキストエディタが用意されています。
これらのエディタはやや学習が複雑ですが、より強力で高い機能性を提供します。
しかし、あなたが多量のテキストを編集することを考えているなら、
vim や emacs
といった強力なエディタを習得することは、
より多くの時間を節約することでしょう。
デバイスとはシステム上のハードウェアに関するものに対してよく使われる用語で、
ディスクやプリンタ、グラフィックカードやキーボードが含まれます。
FreeBSD が起動するとき、FreeBSD
が表示しているものの大部分は検出されたデバイスです。
/var/run/dmesg.boot
を眺めれば起動メッセージを読み直すことができます。
例えば、acd0 は最初の
IDE CDROM ドライブで、kbd0
はキーボードを表します。
Unix オペレーティングシステムにおけるデバイスのほとんどは、
デバイスノードと呼ばれる /dev
ディレクトリにあるスペシャルファイルを通してアクセスしなければなりません。
新しいデバイスをシステムにつけ足したり、 追加デバイスのサポートをコンパイルして加えたりするときは、 デバイスノードを追加で作成しなければならない場合があります。
DEVFS がないシステム (5.0
より前のすべてのバージョンの FreeBSD にあてはまります) では、
以下に示すように MAKEDEV(8)
スクリプトを使ってデバイスノードを作成します。
# cd /dev
# sh MAKEDEV ad1
この例では、取りつけられたとき2番目に当たる IDE ドライブにとって適切なデバイスノードを作ります。
デバイスファイルシステム DEVFS は、
グローバルファイルシステム名前空間の中のカーネルデバイス名前空間へのアクセスを提供します。
デバイスノードを作成したり変更したりするのではなく、
DEVFS がこの特別なファイルシステムを管理するのです。
詳しくは devfs(5) マニュアルページをご覧ください。
FreeBSD 5.0 では
DEVFS がデフォルトで使われています。
FreeBSD は様々な使い方ができます。その中の一つが、 テキスト端末でコマンドを入力することです。この方法で FreeBSD を使えば、 UNIX® オペレーティングシステムの能力と柔軟性を手にすることができます。 この節では、「コンソール」 と 「端末」 はどのようなもので、FreeBSD でどう使うかを 説明します。
起動時に自動的にグラフィカルな環境が起動するように FreeBSD を設定していなければ、システムが起動してスタートアップ スクリプトが実行されると、すぐにログインプロンプトが出てくるでしょう。 次のようものが表示されるはずです。
あなたのシステムではメッセージが多少異なるかもしれませんが、 似たようなものが見られるはずです。 最後の 2 行が、今関心を向けているものです。 最後から 2 行目は、以下のようになっています。
この行には、
起動したばかりのシステムについていくばくかの情報があります。
あなたは、x86 アーキテクチャ上の Intel または
その互換プロセッサ上で動作している 「FreeBSD」 の
コンソールを目にしているのです[2]。このマシンの名称 (どの UNIX® 機にも名前がついて
います) は pc3.example.org で、
あなたはそのシステムコンソール、ttyv0
端末に向かっています。
最後の行は、常に以下のものになります。
ここは、FreeBSD にログインするために 「ユーザ名」 を入力するところです。次の節でどうするか説明します。
FreeBSD は、マルチユーザ、マルチプロセスなシステムです。 これは、1 台のマシンで何人もの人が交互に多くのプログラムを 動かせるシステムに与えられる正式な説明です。
あらゆるマルチユーザシステムには、ある 「ユーザ」 を他のユーザと区別する何がしかの手段が必要です。 FreeBSD (とすべての UNIX® ライクなオペレーティングシステム) では、 すべてのユーザに対してプログラムの実行を可能にするのに、システムに 「ログイン」 することを義務付けてこれを実現しています。 どのユーザにも、一意な名前 (「ユーザ名」) と個人的な秘密の鍵 (「パスワード」) があります。 FreeBSD はユーザにプログラムの実行を許可する前に、 この 2 つの入力を要求します。
FreeBSD が起動してスタートアップスクリプトを実行し終わった 直後に[3]、プロンプトを表示して有効なユーザ名の入力を促します。
この例では john というユーザ名を使う
ことにしましょう。このプロンプトに対して
john と入力して、Enter を
押してください。そうすると、
次のような「パスワード」の入力を要求するプロンプトが
表示されます。
john
Password:それでは john のパスワードを入力して
Enter を押してください。パスワードは
表示されません。これについては、当面は
気にする必要はありません。セキュリティのためといえば十分でしょう。
パスワードを正確に入力したら、FreeBSD にログインして 利用可能なすべてのコマンドを試せるようになっているはずです。
一つのコンソールで UNIX® コマンドを動かすのは結構なことですが、 FreeBSD は多くのプログラムを一度に動かせます。 コマンドを入力できるコンソールが一つというのは、 FreeBSD のようにいくつものプログラムを同時に動かせる オペレーティングシステムの場合は少しもったいないことです。 ここで、「仮想コンソール」 が非常に役に立ちます。
FreeBSD は、異なる仮想コンソールを複数 表示するように設定できます。キーボード上である組合せのキーを押せば、 その中の一つから他の仮想コンソールのどれかに切り替えられます。 それぞれのコンソールは、個別の出力チャンネルを持っており、 また FreeBSD はある仮想コンソールから次に切り替えるのに応じて、 キーボード入力とモニター出力を適切につなぎ直します。
FreeBSD は、コンソールを切り替えるために、 特別なキーの組合せを予約しています[4]。FreeBSD では Alt+F1, Alt+F2 から Alt+F8 までを、 別の仮想コンソールに切り替えるのに使えます。
あるコンソールから他に切り替えるのに応じて、FreeBSD は画面 への出力を保存して戻します。結果として、FreeBSD で動かすコマン ドを入力するのに使える複数の画面とキーボードを 「仮想的に」 実現できるのです。 ある仮想コンソールで実行したプログラムは、 そのコンソールが見えなくなっている時も実行を停止しません。 別の仮想コンソールに切り替えても動き続けます。
初期設定では、FreeBSD は 8 つの仮想コンソールを立ち上げます。
この設定はもともと埋め込まれているわけではなく、
インストールしたものが、もっと多いまたは少ない数の仮想コンソールで
起動するように、容易にカスタマイズできます。仮想コンソールの数と
設定は /etc/ttys ファイルに書かれています。
FreeBSD の仮想コンソールを設定するには
/etc/ttys ファイルを利用します。
このファイルのコメントアウトされていない (#
文字で始まっていない) 行は、一つの端末または仮想コンソールの
設定があります。FreeBSD の初期設定では、
仮想コンソールを 9 つ設定し、そのうち 8 つを有効にしています。
ttyv で始まる行がそれです。
このファイルのそれぞれのカラムと仮想コンソールに設定可能な 全オプションの詳しい説明は、ttys(5) のマニュアルを 参照してください。
「シングルユーザモード」 とは何かという詳しい説明は、
「シングルユーザモード」 にあります。FreeBSD を
シングルユーザモードで動かしている場合は一つしかコンソールが
ないということは注意しておくに値するでしょう。仮想コンソールは
利用できません。シングルユーザモードのコンソールの設定は、同じく
/etc/ttys ファイルにあります。
console で始まる行を探してください。
console 行の上のコメントが示すように、
この行を編集して secure を
insecure に変更できます。そうすると、
FreeBSD がシングルユーザモードで起動した場合にも
root のパスワードを要求します。
ただし、これをinsecure に
変更する場合は十分注意してください。
root のパスワードを忘れてしまったら、
シングルユーザモードで起動するのは少しややこしくなります。
できることはできますが、FreeBSD の起動の過程とそれに関わる
プログラムにあまり親しんでいない人には少し難しいかも知れません。
FreeBSD についてのもっとも包括的な文書は、
マニュアルページの形式になっているものです。
FreeBSD システム上のほとんどすべてのプログラムには、
基本的な操作方法とさまざまな引数を説明しているリファレンスマニュアルが添付されています。
これらのマニュアルは man コマンドで見ることができます。man
コマンドの使い方は簡単です。
% man コマンド名コマンド名
のところには、知りたいコマンドの名前を入れます。
たとえば ls コマンドについて知りたい場合には、
次のように入力します。
% man lsオンラインマニュアルは、 セクション番号で分類されています。
ユーザコマンド
システムコールとエラー番号
C のライブラリ関数
デバイスドライバ
ファイル形式
ゲームや娯楽
さまざまな情報
システムの管理と操作のためのコマンド
カーネル開発者のための情報
時折、
同じトピックがオンラインマニュアルの複数のセクションに記載されている場合があります。
たとえば、chmod ユーザコマンドと
chmod()
システムコールの場合がそれに該当します。
この場合、man コマンドにセクション番号を与えることで、
どちらを参照したいかを指定することができます。
% man 1 chmod上のようにすれば、
ユーザコマンド chmod
のマニュアルページが表示されます。
オンラインマニュアルの特定セクションへの参照は、
慣習的に書かれている文書で括弧の中に示されます。
すなわち、chmod(1) は chmod
ユーザコマンドを、chmod(2)
はシステムコールの方を示しています。
コマンドの名前を知っていて、
単純にその使い方を知りたい場合はここまでの説明で十分でしょう。
しかし、
もしコマンドの名前を思い出せない場合にはどうしたら良いのでしょうか?
man に -k スイッチをつければ、
コマンド解説 (description) の文章から、
指定したキーワードを検索することができます。
% man -k mailこのコマンドにより、
「mail」
というキーワードをコマンド解説に含むコマンドの一覧が表示されます。
実際には、これは apropos コマンドを使う場合と同等の機能です。
それでは、/usr/bin
にあるさまざまなコマンドすべてを見ていて、
それらが実際にどう働くのかが、まったく見当もつかないときには
どうしたら良いでしょう?
そのときは単純に、
% cd /usr/bin
% man -f *とするか、あるいは同じ働きをする
% cd /usr/bin
% whatis *としてください。
FreeBSD には Free Software Foundation (FSF)
によるアプリケーションや
ユーティリティがたくさん含まれています。
これらのプログラムには、マニュアルページに加えて
info ファイルと呼ばれる
ハイパーテキスト形式の文書が付属しています。
この文書は info コマンド、
あるいは emacs をインストールしているなら
emacs の info
モードで読むことができます。
info(1) コマンドを使うには、単に次のように入力します。
% info
h と入力すると、
簡単な手引きを読むことができます。
クイックコマンドリファレンスは ?
を入力してください。
[1] 正確ではありません—中断できないものはわずかながら存在します。 例えば、プロセスがネットワーク上の別の計算機にあるファイルを読もうとして、 その計算機がなんらかの理由 (電源を落とされたとか、ネットワークに問題があるとか) でいなくなった場合、そのプロセスは「中断不可能」と言われます。 最終的にはそのプロセスはタイムアウトします。普通は2分後です。 タイムアウトした直後、そのプロセスは終了します。
[2] i386 が意味しているのはそういうことです。
FreeBSD を Intel の 386 CPU 上で動かしていなくても、
ここは i386 になります。
ここで表示されるのはプロセッサの種類ではなく、プロセッサの
「アーキテクチャ」です。
[3] スタートアップスクリプトは、 起動時に FreeBSD が自動的に実行するプログラムです。 主な機能は、全プログラムが動作するように設定を行なうことと、 バックグラウンドで動作するように設定した 有用なサービスを開始することです。
[4] FreeBSD のコンソールとキーボードドライバの詳細全体に ついて、それなりに技術的かつ正確な説明は syscons(4), atkbd(4), vidcontrol(1) および kbdcontrol(1) のマニュアルにあります。 ここではその詳細には立ち入りませんが、 興味をもった方は、いつでもマニュアルを参照して、 動作に関する詳細な説明を読むことができます。
FreeBSD の基本システムには数多くのシステムツールが含まれています。 しかしながら、サードパーティ製のアプリケーションをインストールしないと、 実用的にはそれほどたくさんのことはできません。 FreeBSD は、サードパーティ製のソフトウェアの導入を支援するために、 ソースコードをコンパイルしてインストールする Ports Collection と、 コンパイル済みのバイナリをインストールする packages という相補的な 2 つの技術を提供しています。 どちらのシステムを用いても、 ローカルメディアやネットワーク上からソフトウェアをインストールできます。
この章を読むと、以下のことがわかります。
packages を用いてサードパーティ製のソフトウェアをバイナリからインストールする方法
Ports Collection を用いてサードパーティ製のソフトウェアをソースコードからコンパイルする方法
インストールした packages や ports を削除する方法
Ports Collection が用いるデフォルトの設定を変更する方法
お望みのソフトウェア package を探しだす方法
アプリケーションをアップグレードする方法
UNIX® システムでは、 サードパーティ製ソフトウェアの典型的なインストール手順は以下のようになります。
ソースコード、 またはバイナリ形式で配布されているソフトウェアをダウンロードする。
配布時のフォーマット (一般的には compress(1), gzip(1) または bzip2(1) で圧縮された tarball) からソフトウェアを取り出す。
INSTALL または
README ファイル、あるいは
doc/
サブディレクトのファイルからドキュメントを探しだし、
ソフトウェアのインストール方法を調べる。
ソース形式でソフトウェアが配布されている場合はコンパイルを行う。
ここでは、Makefile の編集、
または、configure スクリプトの実行、
あるいは他の作業を伴うことがある。
ソフトウェアの動作を確認し、インストールする。
インストールしているソフトウェアパッケージが、 FreeBSD を意識して移植されたものでなければ、 適切に動くようコードを調べ、編集する必要があるかもしれません。
FreeBSD は、あなたのかわりにこれらのインストールの手順を実行してくれる 2 つの技術を提供しています。 この文書を書いている時点では、24,000 を越えるサードパーティ製アプリケーションが利用可能です。
FreeBSD の package は、コンパイル済みのアプリケーションの全コマンド、 各種設定ファイルやドキュメントを含んでいます。 FreeBSD に用意されている pkg_add(1), pkg_delete(1), pkg_info(1) といった package 管理コマンドで、package を扱うことができます。
FreeBSD port は、 アプリケーションをソースコードからコンパイルする際の処理を自動化するように設計されたファイルの集まりです。 port を構成するファイルは、 自動的にアプリケーションをダウンロードし、展開、パッチ作業、 コンパイル、そしてインストールを行うために必要な情報を含んでいます。
さらに ports システムは、FreeBSD の package 管理コマンドで扱うことのできる packages を生成できます。
packages と ports は依存関係を理解します。 pkg_add(1) または Ports Collection を用いてアプリケーションをインストールすると、 依存するライブラリがまだインストールされていない場合には、 最初にライブラリが自動的にインストールされます。
2 つの技術は非常に類似していますが、 packages と ports にはそれぞれ独自の特徴があります。 それぞれのアプリケーションのインストールに対する必要要件に応じてどちらかを選択してください。
一般的に、あるアプリケーションの package の tarball は、 ソースコードを含む tarball より小さなサイズとなります。
packages はコンパイルの時間を必要としません。 このことは、遅いシステム上で Mozilla, KDE, または GNOME といった大きなアプリケーションを扱う場合に重要となります。
packages を用いれば、 ソフトウェアのコンパイルに関する知識は必要ありません。
packages は、通常最も多くのシステムで実行できるように、 非常に保守的な設定で構築されています。 port からコンパイルすることで、 コンパイルオプションを指定できます。
アプリケーションのなかには、 どの機能をインストールするかをコンパイル時に設定するものがあります。 たとえば、Apache は多種多様な ビルトインオプションを設定できます。
設定を区別するために、同じアプリケーションに対して
複数の packages が存在することがあります。
たとえば、Ghostscript は
Xorg がインストールされているかどうかにより、
ghostscript package と
ghostscript-nox11 package
が選択可能となっています。
アプリケーションのコンパイルオプションが 1 つもしくは
2 つ以上になると、
複数の packages を用意することは困難になります。
ライセンス条項で、 バイナリでの配布を禁止しているソフトウェアがあります。 それらはソースコードで配布される必要があり、 エンドユーザがコンパイルしなくてはなりません。
バイナリ配布を信用していない人や、 潜在的な問題点を見つけ出すためにソースコードを読むことを好む人がいます。
ローカルなパッチがある場合、 それを適用するためにソースコードが必要になります。
ports の更新状況を把握するために、 FreeBSD ports メーリングリスト や FreeBSD ports bugs メーリングリスト を購読するとよいでしょう。
アプリケーションをインストールする前に、
そのアプリケーションに関連したセキュリティ上の問題がないことを
http://vuxml.freebsd.org/
で確認するか、ports-mgmt/portaudit
をインストールしてください。インストールしたら、
portaudit -F -a と入力して、
インストールされているアプリケーションに既知の脆弱性がないことを確認してください。
この章では、packages と ports を用いた FreeBSD 上での サードパーティ製ソフトウェアのインストール方法や管理方法について説明します。
FreeBSD 上で利用可能なアプリケーションのリストは常に増えています。 インストールするソフトウェアを探す方法はたくさん用意されています。
FreeBSD ウェブサイトは、 利用可能なすべてのアプリケーションの最新の一覧を、検索できる形で http://www.FreeBSD.org/ja/ports/ において公開しています。 ports はアプリケーションの名前や、ソフトウェアのカテゴリで検索出来ます。
Dan Langille は、包括的な検索ユーティリティや Ports Collection にあるアプリケーションの変更点を追跡する FreshPorts を公開しています。 登録したユーザは、監視している ports がアップデートされた時に、 そのことを自動的にメールで知らせてくれるような、 カスタマイズ可能な監視リストを使うことができます。
ご希望のアプリケーションの名前がわからなければ、 Freecode (http://www.freecode.com/) のようなサイトでアプリケーションを探して下さい。 その後、そのアプリケーションが ports で利用可能かどうかを FreeBSD サイトで調べて下さい。
port がどのカテゴリに分類されているのかを知りたいのであれば、
whereis(1) コマンドで調べることができます。
whereis
と入力してください。ファイルファイル
の部分にはインストールを考えているプログラム名を入れます。
# whereis lsof
lsof: /usr/ports/sysutils/lsofさらに、以下の例のように echo(1) を使って調べることもできます。
# echo /usr/ports/*/*lsof*
/usr/ports/sysutils/lsofこの方法では /usr/ports/distfiles
以下にダウンロードされたファイル名にもマッチします。
また、Ports Collection に備わっている検索機能を利用して
port を検索する方法もあります。
この検索機能を利用するには、
cd コマンドを用いて
/usr/ports ディレクトリに移動し、make
と入力してください。
search
name=ログラム名プログラム名
の部分には検索したいソフトウェアの名前を入れてください。
たとえば、lsof を探すには次のようにします。
# cd /usr/ports
# 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: make search
は、インデックスファイルを利用して検索を行います。
もし INDEX
が必要であるというメッセージが表示されたら、
make fetchindex を実行して、
最新のインデックスファイルをダウンロードしてください。
INDEX が用意されれば、
make search
で検索を実行できるでしょう。
「Path:」 という行は、 port がどこにあるかを示しています。
より絞られた情報を得るには、
quicksearch と呼ばれる機能を使ってください。
# cd /usr/ports
# make quicksearch name=lsof
Port: lsof-4.87.a,7
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))もっと詳しく検索するには、
make または
search
key=stringmake
と入力してください。
quicksearch
key=stringstring
の部分には検索したいテキストを入れます。
プログラムの名前がわからない場合でも、
ある目的に関連した ports の検索に利用できるよう、
テキストの部分には、コメント、説明文および依存情報を入れることができます。
search
および quicksearch を使う場合には、
検索文字列中の大文字と小文字を区別せずに検索が行われるので、
「LSOF」 を検索した結果は、
「lsof」 と同じ検索結果になります。
現在 FreeBSD は、新しい packages 管理ツールへと移行中です。
最新リリースのユーザは、
PKGng による FreeBSD
のサードパーティ製ソフトウェア管理の利用を検討してください。
pkgng ツールに移行していないユーザは、
この節で説明するツールを用いて package のデータベースを管理してください。
sysinstall ユーティリティを用いると、
インストール後の package 管理を簡単にできます。
すべての package のインストールファイルは、
package のデータベース用のディレクトリである
/var/db/pkg
に保存されます。
pkg_add(1) は、ローカルファイルやネットワーク上のサーバから FreeBSD バイナリ package をインストールするためのユーティリティです。
# 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
# pkg_add lsof-4.56.4.tgzFreeBSD CD-ROM セットのような、ローカルな packages がない場合は、
pkg_add(1) に -r オプションを付け加えてください。
このオプションを指定して実行すると、
自動的に適切なオブジェクトの形式とリリースを判断し、
package を FTP サイトからダウンロードしてインストールします。
ユーザはこのほかに何もする必要はありません。
# pkg_add -r lsof別の FreeBSD FTP ミラーサイトを使うには、
PACKAGESITE 環境変数に利用したいサイトを設定してください。
pkg_add(1) は、FTP_PASSIVE_MODE,
FTP_PROXY, FTP_PASSWORD
といった環境変数を使う fetch(3)
を用いてファイルをダウンロードします。
ファイアウォールの内側であったり、
FTP/HTTP プロキシを使う場合には、
これらの環境変数を設定することになります。
環境変数の一覧については fetch(3) をご覧ください。
また、上の例で lsof-4.56.4 の代わりに
lsof を使っていることに注意してください。
リモートフェッチ機能を使用する場合には、
package のバージョン番号を取り除かなければなりません。
FreeBSD-CURRENT または、FreeBSD-STABLE を使用している場合、
pkg_add(1) は自動的に最新版のアプリケーションをダウンロードします。
-RELEASE を使用している場合には、
そのバージョンのリリース時にビルドされた package をダウンロードします。
この設定は PACKAGESITE を上書きすることで変更できます。
たとえば、FreeBSD 8.1-RELEASE を使用している場合には、
pkg_add(1) を実行するとデフォルトで
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/
から packages をダウンロードします。
pkg_add(1) を使って FreeBSD 8-STABLE の packages
をダウンロードするには、
PACKAGESITE 環境変数を
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/
に設定してください。
package は .tgz や .tbz
という拡張子を持つファイルとして配布されており、
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/
や FreeBSD DVD の /packages ディレクトリにあります。
packages ディレクトリのレイアウトは、
/usr/ports ツリーのものと同様です。
カテゴリごとにディレクトリがあり、
All ディレクトリにはすべての package
があります。
package システムのディレクトリ構造は ports のレイアウトと同一です。 両者が組み合わさって package/port システムが構成されます。
pkg_info(1) は、インストールされている packages の一覧と説明を表示します。
# pkg_info
colordiff-1.0.13 A tool to colorize diff output
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...pkg_version(1) は、インストールされている packages のバージョンを要約して表示します。 また、package のバージョンを、 現在の ports ツリーのバージョンと比較します。
# pkg_version
colordiff =
docbook =
...2 列目の記号は、インストールされているバージョンの ローカル ports ツリーのバージョンに対する 新旧を表します。
| 記号 | 意味 |
|---|---|
| = | インストールされている package のバージョンは、 ローカル ports ツリーのものと一致しています。 |
| < | インストールされている package のバージョンは、 ローカルにある ports ツリーのものより古いです。 |
| > | インストールされている package のバージョンは、 ローカルにある ports ツリーのものより新しいです。 すなわち、ローカルの ports ツリーはおそらく古くなっています。 |
| ? | インストールされた package を ports インデックスの中に見つけることができません。 インストールされた port が Ports Collection から削除されたり、 名前が変更された場合などに起こります。 |
| * | 複数のバージョンの package が存在します。 |
| ! | インストールされた package はインデックス中に存在しますが、何らかの理由で、 インストールされた package のバージョン番号をインデックス中のエントリと比較できません。 |
インストールされている package を削除するには、 pkg_delete(1) を使ってください。
# pkg_delete xchat-1.7.1pkg_delete(1) は package 名とバージョン番号の両方を必要とします。
すなわち、先ほどの例において
xchat-1.7.1 を
xchat とした場合には動作しません。
pkg_version(1) を使ってインストールされている package
のバージョンを調べるか、ワイルドカードを使ってください。
# pkg_delete xchat\*上の例では、名前が xchat で始まるすべての packages が削除されます。
pkgng は、FreeBSD における伝統的な package 管理ツールの置き換えであり、バイナリ packages をより早く、 より簡単に管理できるようにする数多くの機能を提供します。 pkgng の最初のリリースは 2012 年 8 月に行われました。
pkgng は ports-mgmt/portmaster や ports-mgmt/portupgrade などの
port 管理ツールの置き換えではありません。
ports-mgmt/portmaster および
ports-mgmt/portupgrade は、
サードパーティ製ソフトウェアをバイナリ packages と
Ports Collection の両形式からインストールできますが、
pkgng はバイナリ packages
のみをインストールします。
FreeBSD 9.1 以降では、 pkgng のための "ブートストラップ" ユーティリティが用意されています。 ブートストラップユーティリティは pkgng をダウンロードし、インストールします。
システムをブートストラップするためには、 以下を実行してください。
# /usr/sbin/pkgこれより前のバージョンの FreeBSD では、Ports Collection または packages を用いてインストールする必要があります。
pkgng port をインストールするには以下を実行してください。
# cd /usr/ports/ports-mgmt/pkg
# make
# make install cleanpackage からインストールするには以下を実行してください。
# pkg_add -r pkgFreeBSD のインストールがすでに行われているようなシステムでは、 pkg_install package データベースを新しいフォーマットへ変換する必要があります。 変換を行うには以下を実行してください。
# pkg2ngこのステップは、 サードパーティ製ソフトウェアがまだインストールされていないような、 新しくインストールされた直後のシステムでは必要ありません。
このステップは非可逆です。 一度 package データベースを pkgng フォーマットへと変換したら、pkg_install ツールを使うべきではありません。
package データベースを変換する際には、
新しいバージョンへのデータ変換に伴ったエラーが出力されることがあります。
通常、これらのエラーは無視して構いませんが、
pkg2ng 終了後に表示される、
変換に失敗したサードパーティ製ソフトウェアの一覧については、
これらのソフトウェアを手動で修正する必要があります。
FreeBSD のバージョンが
10.X より前であれば、
以下の行を /etc/make.conf に追加して、
FreeBSD Ports Collection がソフトウェアの登録に、
pkg_install
ではなく pkgng
を用いるように設定してください。
pkgng package 管理システムでは、
ほとんどのコマンドに対して package リポジトリを使います。
デフォルトの package リポジトリは
/usr/local/etc/pkg.conf または
PACKAGESITE 環境変数で定義されます。
この環境変数は、設定ファイルを上書きします。
その他の pkgng の設定オプションは、pkg.conf(5) に記述されています。
pkgng の利用情報は、
man.pkg(8) のマニュアルページや、
pkg を引数なしに実行すると表示されます。
各 pkgng コマンドの引数は、
コマンドに固有なマニュアルページに記述されています。
たとえば、pkg install のマニュアルページを読むには、
以下を実行してください。
# pkg help install# man pkg-installpkg info を実行すると、
システムにインストールされている package 情報が得られます。
pkg_info(1) 同様、すべての package のバージョン、
および説明の一覧が表示されます。
ある特定の package の情報が必要であれば、 以下を実行してください。
# pkg info packagenameたとえば、システムにインストールされている pkgng の情報を調べるには、 以下のように実行してください。
# pkg info pkg
pkg-1.0.2 New generation package manager通常、ほとんどの FreeBSD ユーザは、バイナリパッケージを
pkg install
でインストールすることでしょう。packagename
# pkg install packagename「pkgng 環境の設定」 で説明した通り、
pkg install はリポジトリデータを使用します。
これとは反対に、pkg-add(8) はリポジトリデータを用いなければ、
定義されている PACKAGESITE も使いません。
そのため、依存関係は適切には追跡されず、
足りない依存についてもリモートホストからダウンロードされません。
この節では pkg install の使用方法について説明します。
pkg add の使用方法については pkg-add(8)
をご覧ください。
追加のバイナリ package は、
pkg install によりインストールされます。
たとえば、
curl をインストールするには以下を実行してください。
# pkg install curl
Updating repository catalogue
Repository catalogue is up-to-date, no need to fetch fresh copy
The following packages will be installed:
Installing ca_root_nss: 3.13.5
Installing curl: 7.24.0
The installation will require 4 MB more space
1 MB to be downloaded
Proceed with installing packages [y/N]: y
ca_root_nss-3.13.5.txz 100% 255KB 255.1KB/s 255.1KB/s 00:00
curl-7.24.0.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00
Checking integrity... done
Installing ca_root_nss-3.13.5... done
Installing curl-7.24.0... done新しい package と依存関係から追加された package は、 インストール済み package 一覧に表示されます。
# pkg info
ca_root_nss-3.13.5 The root certificate bundle from the Mozilla Project
curl-7.24.0 Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers
pkg-1.0.2 New generation package manager必要のなくなった packages は、
pkg delete を使って削除できます。
たとえば、curl が必要なくなったら、
以下のようにして削除できます。
# pkg delete curl
The following packages will be deleted:
curl-7.24.0_1
The deletion will free 3 MB
Proceed with deleting packages [y/N]: y
Deleting curl-7.24.0_1... donepkg version
を用いて古くなった packages を見つけることができます。
ローカルに ports ツリーがない場合には、
pkg-version(8) は、リモートリポジトリのカタログを利用します。
そうでなければ、ローカルの ports ツリーを使って
package のバージョンを同定します。
pkgng を用いて package を新しいバージョンにアップグレードできます。 curl の新しいバージョンがリリースされた場合には、ローカル package を以下のようにして新しいバージョンにアップグレードできます。
# pkg upgrade
Updating repository catalogue
repo.txz 100% 297KB 296.5KB/s 296.5KB/s 00:00
The following packages will be upgraded:
Upgrading curl: 7.24.0 -> 7.24.0_1
1 MB to be downloaded
Proceed with upgrading packages [y/N]: y
curl-7.24.0_1.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00
Checking integrity... done
Upgrading curl from 7.24.0 to 7.24.0_1... donepackage を削除すると、不必要な依存 ports、たとえば上の例では
security/ca_root_nss
が残されることがあります。
これらの packages は、
インストールされたままでどこからも依存されていません。
依存のために導入され、現在は不必要になった package は、
以下のようにすると自動的に検出され、削除されます。
# pkg autoremove
Packages to be autoremoved:
ca_root_nss-3.13.5
The autoremoval will free 723 kB
Proceed with autoremoval of packages [y/N]: y
Deinstalling ca_root_nss-3.13.5... done伝統的な package 管理システムとは異なり、 pkgng には package データベースをバックアップするメカニズムがあります。 package データベースの内容を手動でバックアップするには、 以下を実行してください。
# pkg backup -d pkgng.dbファイル名の pkgng.db
を適切なファイル名に置き換えてください。
さらに、pkgng は
package データベースを毎日自動的にバックアップする
periodic(8) スクリプトを含んでいます。
periodic.conf(5) の中で、
daily_backup_pkgng_enable を
YES に設定するとバックアップされます。
pkg_install
の定期的なスクリプトが、
package データベースを同様にバックアップすることを避けるためには、
periodic.conf(5) の中で、
daily_backup_pkgdb_enable を
NO に設定してください。
過去にバックアップした package データベースの中身をリストアするには、以下を実行してください。
# pkg backup -r /path/to/pkgng.dbデフォルトでは、pkgng
はキャッシュディレクトリにバイナリ packages を保存します。
このディレクトリは、pkg.conf(5) の
PKG_CACHEDIR 変数で定義されます。
pkg upgrade を使って packages
をアップグレードする際には、
アップグレードされた package
の古いバージョンは自動的には削除されません。
システムから古いバイナリ package を削除するには、 以下を実行してください。
# pkg clean歴史的に FreeBSD Ports Collection
は、メジャーバージョン番号の変更に対応できます。
pkg_install とは異なり、
pkgng には、
package の情報をアップデートするコマンドが組み込まれています。
たとえば、lang/php5 のバージョンが、もともとは
5.3 で、5.4
がリリースされたことに伴い
lang/php53
へと名前が変更される場合、
pkg_install では、
package のデータベースを、
どの port がインストール元であったかという情報を変更するために
ports-mgmt/portmaster
のような別のソフトウェアを必要とします。
ports-mgmt/portmaster および
ports-mgmt/portupgrade
ports とは異なり、引数に与えるバージョンの新、旧の順番は異なります。
pkgng での構文は、pkg set -o
となります。category/oldport:category/newport
たとえば、上記の例の package の情報を変更するには、 以下のように実行してください。
# pkg set -o lang/php5:lang/php53別の例として、lang/ruby18 を lang/ruby19 にアップデートするには、
以下のようにしてください。
# pkg set -o lang/ruby18:lang/ruby19最後の例として、
libglut 共有ライブラリの情報を graphics/libglut から graphics/freeglut へと変更するには、
以下のように実行してください。
# pkg set -o graphics/libglut:graphics/freeglutpackage の情報を変更したら、多くの場合、 情報が変更された package に依存している packages を再インストールすることが重要となります。 依存 packages を再インストールするには、 以下のように実行してください。
# pkg install -Rf graphics/freeglutこのセクションでは、Ports Collection
を利用してプログラムをインストールしたり、
システムから削除したりする基本的な手順について説明します。
利用可能な make のターゲットや環境変数についての詳細は
ports(7) をご覧ください。
FreeBSD Ports プロジェクトは、2012 年にバージョン管理システムを CVS から Subversion へと移行しました。 一般的な ports の利用において推奨される方法は Portsnap です。 ローカルで ports をカスタマイズしたい (すなわち、ローカルで追加のパッチをメンテナンスしたい) と考えているユーザは、直接 Subversion を使うとよいでしょう。 CVSup のサービスは、 2013 年 2 月 28 日に廃止されました。
Ports Collection とは、/usr/ports
以下に置かれる Makefile, 修正パッチ、
説明文などの一連のファイルのことです。このファイルのセットは、
アプリケーションをコンパイルして FreeBSD にインストールするのに用いられます。
以下では、FreeBSD のセットアップ時に Ports Collection をインストールしなかった場合に、
Ports Collection を準備する方法について示します。
Portsnap は Ports Collection を取得するための速くて使いやすく、 多くのユーザに推奨されるツールです。 Portsnap の機能についての詳細は Portsnap を使う の節を参照してください。
圧縮された Ports Collection のスナップショットを
/var/db/portsnap
にダウンロードしてください。
# portsnap fetch初めて Portsnap を使う時は、
スナップショットをまず /usr/ports に展開してください。
# portsnap extract上で示した Portsnap
を初めて利用する際に行うコマンドを実行した後は、
以下のコマンドで
/usr/ports
をアップデートできます。
# portsnap fetch
# portsnap updateたとえば、ローカルで変更点をメンテナンスする状況のように、 ports ツリーの管理が必要な場合には、 Subversion を使って Ports Collection を取得する方法があります。 Subversion のより詳細な説明については、 Subversion Primer を参照してください。
Subversion を使って ports ツリーをチェックアウトする前に、 Subversion をインストールしておく必要があります。 ports ツリーがすでにインストールされていれば、 以下のようにして Subversion をインストールできます。
# cd /usr/ports/devel/subversion
# make install cleanports ツリーがなければ、package から Subversion をインストールできます。
# pkg_add -r subversionpackage の管理に pkgng を使っているのであれば、代わりに以下のようにして Subversion をインストールできます。
# pkg install subversionports ツリーをチェックアウトしてください。
パフォーマンスを良くするため、以下のコマンドにおいて、
svn0.us-east.FreeBSD.org を Subversion
ミラー
の中から地理的に近い場所にあるミラーに置き換えてください。
コミッタの方々は、最初に Subversion
Primer を読んで、適切なプロトコルを選択してください。
# svn checkout https://svn0.us-east.FreeBSD.org/ports/head /usr/portsSubversion
でチェックアウトした後、
/usr/ports
をアップデートするには、以下を実行してください。
# svn update /usr/portsここでは、sysinstall を利用してインストールメディアから Ports Collection をインストールする方法について説明します。 この方法では、リリース時の古い Ports Collection がインストールされることに注意してください。 もし、インターネットへの接続が可能であれば、 これまでに説明した方法を使ってください。
root ユーザ権限で、以下のように
sysinstall を実行してください。
# sysinstallスクロールダウンして を選び、 Enter を押してください。
スクロールダウンして を選び、 Enter を押してください。
スクロールダウンして を選び、 Space キーを押してください。
までスクロールアップして、 Enter を押してください。
CDROM や FTP といったインストールメディアを選択してください。
までスクロールアップして、Enter を押してください。
X を押して、 sysinstall を終了してください。
2013 年 2 月 28 日までに ports ツリーの CVS へのエクスポートは終了します。 そのため、CVSup および csup を用いて ports ツリーをアップデートすることはできなくなります。
移行に際しては、
/usr に約
1 GB のディスク容量と、
さらに Portsnap
は約 150 MB のディスク容量を /var に必要とします。
もし cron(8) を使って CVSup csup を実行するなど、 自動的な ports のアップデートを行なっているのであれば、 停止してください。
現在の ports ツリーを一時的に別の場所に移動します。
# mv /usr/ports /usr/ports.old新しい ports ツリーを
Portsnap を使ってダウンロードして、
/usr/ports
に展開してください。
# portsnap fetch extractdistfiles および保存されている packages を新しい port ツリーに移動してください。
# mv /usr/ports.old/distfiles /usr/ports
# mv /usr/ports.old/packages /usr/ports古い ports ツリーを削除してください。
# rm -rf /usr/ports.oldもし CVSup を使用していたのであれば、アンインストールできます。
# pkg_delete -r -v cvsup-without-gui-\*pkgng のユーザは、 以下のコマンドを使って削除できます。
# pkg delete cvsup-without-guiPortsnap の詳細と、 Portsnap を用いた ports ツリーのアップデート方法については、 Portsnap を使う の節を読んでください。
port スケルトンは、アプリケーションを FreeBSD 上で正しくコンパイルしインストールする方法を提供するファイルのセットのことです。 それぞれの port スケルトンには、次のファイルが含まれています。
Makefile。
Makefile
にはアプリケーションのコンパイル方法やシステムのどこにインストールするかを指定する命令文が含まれています。
distinfo。
このファイルには、その port
を構築するためにダウンロードする必要があるファイルのファイル名と、
それらのファイルがダウンロードによって壊れていないかを
(sha256(1) を使って)
確認するためのチェックサム情報が含まれています。
files。
このディレクトリには FreeBSD 上でプログラムをコンパイルし、
インストールするための修正パッチが含まれています。
このディレクトリには、その port
の構築に必要なその他のファイルが入る場合もあります。
pkg-descr。
このファイルにはプログラムに関する、より詳しい説明文が含まれます。
pkg-plist。
これは、その port によってインストールされる全ファイルのリストです。
これにはプログラムを削除する際に、
どのファイルを削除すれば良いのかを ports
システムに伝える役割もあります。
これらの他に pkg-message
といったファイルを含む ports もあります。
ports システムは、
このようなファイルを用いて特殊な状況にも対応しています。
これらのファイルについての詳細および
ports の一般的な説明については、port
作成者のためのハンドブック をご覧下さい。
port は実際のソースコード (「distfile」 とも呼ばれます) を含んではいません。 ソースコードはソフトウェアの作者が好む形式で配布されます。 以下では port をインストールする 2 つの方法について説明します。
ports をインストールするには、
root としてログインする必要があります。
port をコンパイルする前に、
Ports Collection が最新であることを確認してください。
また、その port に関連したセキュリティ上の問題がないことを
http://vuxml.freebsd.org/
で確認してください。ports-mgmt/portaudit
をインストールしているのであれば、
新しく port をインストールする前に、
portaudit -F コマンドを実行して、
最新の脆弱性に関するデータベースをダウンロードしてください。
セキュリティの検査およびデータベースの更新は、
日々のセキュリティチェックで行なわれます。
詳しくは、portaudit(1) および periodic(8)
のマニュアルページを参照してください。
Ports Collection は、ネットワークに接続できることを想定しています。
もし接続できなければ、distfile のコピーを
/usr/ports/distfiles
に手動で置いてください。
まず、インストールしたい port のディレクトリに移動してください。
# cd /usr/ports/sysutils/lsofport をコンパイルまたは
「ビルド (build)」 するには、プロンプトから
make と入力してください。
そうすると、次のような出力が現われるはずです。
# 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]
...
#コンパイルが終了すると、プロンプトに戻ります。
次に make
を使って、port のインストールを行ないます。install
# 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.
#プロンプトに戻ったら、
インストールしたプログラムは実行できるようになっています。
lsof は高い権限で動作するプログラムなので、
セキュリティに関する警告が表示されます。ports
のコンパイルやインストール中に表示されるこれらの警告に注意してください。
コンパイル時に作成される作業用ディレクトリを削除すると良いでしょう。 このディレクトリにはコンパイル時に使用されるすべての一時ファイルが含まれています。 このディレクトリを削除することで、ディスク容量を節約でき、また port を新しいバージョンへアップデートする際に問題が起こる可能性を小さくします。
# make clean
===> Cleaning for lsof-4.57
#make、make
および installmake
と三つに分けられた手順の代わりに、
最初から cleanmake と実行することで、
余分な手順を二つ省くことができます。install clean
デフォルトでは、ユーザに port
のオプションを選択させる設定のため、
make
だけの実行では、ユーザとの対話が起こり長時間待たされることがあります。
依存する port の数が多い場合に、これを避けるには、まず最初に installmake
を実行して設定を一括で行い、その後
config-recursivemake を実行してください。install
[clean]
config-recursive を実行する際、
make(1) のターゲットである
all-depends-list
を実行すると、設定すべき ports の一覧を得ることができます。
多くの場合は、すべての依存 ports のオプションが定義され、
ports オプションの dialog(1) 画面が表示されなくなり、
すべてのオプションが意図通りに設定されたことを確認できるまで
make
を実行すると良いでしょう。config-recursive
シェルによってはコマンドの実行ファイルを探す時間を短縮するために、
環境変数 PATH に登録されている
ディレクトリのコマンド一覧をキャッシュするものがあります。
tcsh を使っているのであれば、
フルパスを指定することなく新しくインストールしたコマンドを利用できるように、
rehash を実行してください。
sh シェルを使っているのであれば
かわりに hash -r を実行してください。
詳細については、
あなたの使っているシェルのドキュメントをご覧ください。
FreeBSD
Mall の FreeBSD Toolkit のようなサードパーティ製の DVD-ROM
製品の中には distfiles を収録しているものがあります。
これらを Ports Collection で使うことができます。
DVD-ROM を /cdrom にマウントしてください。
ほかのマウントポイントを使用したければ、
CD_MOUNTPTS 変数を設定してください。
ディスク上に必要な distfiles が存在すると、
自動的に利用されます。
port には DVD への収録を許可しないライセンス条項を持つものがあります。 これにはダウンロード前に登録を必要としたり、 再配布が禁止されているという理由があります。 DVD に含まれていない port をインストールしたい場合には、 ネットワークに接続する必要があります。
ports は、FTP_PASSIVE_MODE,
FTP_PROXY, FTP_PASSWORD
といった環境変数を参照する fetch(1)
を用いてファイルをダウンロードします。
ファイアウォールの内側であったり、
FTP/HTTP プロキシを使う場合には、
これらの環境変数を設定することなります。
環境変数の一覧については fetch(3) をご覧ください。
ネットワークに常時接続できないユーザのために
make
コマンドが用意されています。
(ネットワークに接続している時に) このコマンドを
fetch/usr/ports で実行してください。
必要なファイルがダウンロードされます。
このコマンドは /usr/ports/net
といった、より下の階層のカテゴリにおいても使うことができます。
ある port がライブラリやその他の ports に依存している場合には、
別のカテゴリの ports の distfiles
はダウンロードされないことに注意してください。
port が依存しているすべてをダウンロードしたければ、
make
を使ってください。fetch-recursive
トップディレクトリで make
を実行するとすべての port がビルドされます。
しかしながら ports の中には同時に存在できないものがあったり、
異なる ports の別のファイルが同じ名前で
インストールされる場合があることに注意してください。
めったにないことかもしれませんが、
デフォルトの MASTER_SITES
に書かれているサイト以外から tarball
を持ってくることが必要になる場合があります。
そのような場合には以下のように
MASTER_SITES を変更してください。
# cd /usr/ports/directory
# make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch上の例では MASTER_SITES を
ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/
に変更しています。
ports の中にはビルドオプションを指定できるものがあります。
このオプションを指定することで、
アプリケーションの機能の一部を有効もしくは無効にできます。
また、セキュリティオプションを設定したり、
その他のカスタマイズを行うことができます。
このようなアプリケーションには
www/firefox,
security/gpgme や
mail/sylpheed-claws
などがあります。
利用可能なオプションがある場合には、
port をコンパイルする前にメニューが表示されます。
WRKDIRPREFIX 変数と
PREFIX 変数を変更することで、
作業ディレクトリやターゲットディレクトリをデフォルトのものから変更できます。
# make WRKDIRPREFIX=/usr/home/example/ports installとすると、ports は /usr/home/example/ports
でコンパイルされ、すべて /usr/local
以下にインストールされます。
# make PREFIX=/usr/home/example/local installこの場合、port のコンパイルは /usr/ports
でおこない、
/usr/home/example/local
にインストールします。
そして、
# make WRKDIRPREFIX=../ports PREFIX=../local installとすれば両者を組み合わせることが可能です。
あるいは、これらを環境変数に設定する方法もあります。 どのように環境変数を設定するかについては、 あなたの使っているシェルのマニュアルページを参照してください。
ports をコンパイルする際、ビルドオプションを設定するために
ncurses ベースのメニューが表示されることがあります。
port の構築後、再びこのメニューを表示させてオプションの追加や削除、
設定の変更を行う方法はたくさんあります。
一つ目は port のディレクトリに cd で移動し、
make と入力する方法です。
別の方法は configmake
を使う方法です。
他の方法は showconfigmake
の実行です。
このコマンドを実行すると選択されているすべてのオプションが削除され、
設定をもう一度やり直すことができます。
これらの方法や他の方法についての詳細は、
ports(7) マニュアルで説明されています。rmconfig
まず最初に pkg_version(1) コマンドを使って、 古くなってしまった ports の中で新しいバージョンにアップデート可能なものを Ports Collection からリストアップしてください。
# pkg_version -vPorts Collection を更新したら、port をアップグレードする前に
/usr/ports/UPDATING
ファイルに目を通してください。
このファイルには
port をアップグレードする際にユーザが遭遇するであろう問題や、
追加で必要な作業などが記述されています。
例えば、ファイル形式の変更や設定ファイルの場所の変更、
前のバージョンと互換性がなくなったことなどが書かれています。
もし、この節に書いてあることと
UPDATING に書かれていることが矛盾している場合には、
UPDATING を優先してください。
portupgrade は、
インストールした ports
のアップグレードを簡単に行なうためのユーティリティです。
ports-mgmt/portupgrade
port から利用できます。
他の port と同じように make でインストールしてください。install
clean
# cd /usr/ports/ports-mgmt/portupgrade
# make install cleanpkgdb -F を使って、
インストールされている ports を調べてください。
矛盾が検出された場合には修復してください。
アプリケーションをアップデートする前には、
この作業を定期的に行なうとよいでしょう。
システムにインストールされている port
の中で古くなったものをすべてアップデートするには
portupgrade -a を実行してください。
もし、すべての ports
に対して個別にアップグレードするかどうかを確認したいのであれば、
-i を追加してください。
# portupgrade -aiports で利用可能なすべてのアプリケーションではなく、
ある特定のアプリケーションだけを更新したいのであれば、
portupgrade
を実行してください。
アップグレードするアプリケーションが依存しているすべての
ports をまず先に更新したい場合には、
pkgname-R を使ってください。
# portupgrade -R firefoxports ではなく packages を用いてインストールを行ないたい場合には、
-P オプションを使ってください。
このオプションを使うと、portupgrade は
PKG_PATH に登録されているローカルディレクトリを検索し、
ローカルに packages が見つからなければ、
リモートサイトからダウンロードを試みます。
packages をローカルに見つけることができず、
リモートサイトからもダウンロードできない場合には、
portupgrade
は ports からインストールを行ないます。
ports を使用したくなければ、-PP
オプションを指定してください。
# portupgrade -PP gnome2また、ビルドやインストールを行なわず、
distfiles (-P が指定されている場合は packages)
だけをダウンロードしたければ、
-F オプションを指定してください。
詳細は portupgrade(1) を参照してください。
インストールした ports
のアップグレードを行うためのもう一つのユーティリティが ports-mgmt/portmaster です。
portmaster は、
他の ports に依存せずに、「base」
システムのツールのみを使うように設計されています。
このアプリケーションは、
どの ports をアップグレードすべきかの判断を、
/var/db/pkg/
の情報を使って行います。
port をインストールするには以下のようにしてください。
# cd /usr/ports/ports-mgmt/portmaster
# make install cleanPortmaster は、ports を 4 つのカテゴリに分類します。
Root ports: 他の port に依存せず、他の port からも依存されません。
Trunk ports: 他の port に依存しませんが、他の port から依存されています。
Branch ports: 他の port に依存し、他の port からも依存されています。
Leaf ports: 他の port に依存しますが、他の port からは依存されません。
-L オプションを使うと、
インストールした ports やアップデート可能な port の一覧が表示されます。
# 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)
===>>> apache22-2.2.3
===>>> New version available: apache22-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 をアップデートできます。
# portmaster -aportmaster のデフォルトの設定では、
インストールされている port を削除する前にバックアップ用の package が作成されます。
このバックアップは、新しいバージョンのインストールに成功すると削除されます。
-b を使うと、
portmaster はバックアップを自動的に削除しません。
-i を追加すると、
portmaster をインタラクティブモードで使用できます。
このモードでは、各 port をアップグレードするかどうかの選択を対話的に行うことがでます。
アップグレードの過程でエラーに遭遇した場合には、
-f を使ってすべての ports のアップグレードや再構築を行なってください。
# portmaster -afportmaster を使ってシステムに新しい ports をインストールしたり、新しい port のコンパイルやインストール前に依存するすべての port をアップグレードできます。
# portmaster shells/bash詳細については portmaster(8) を参照してください。
Ports Collection を使い続けていると、
そのうちディスクを食いつぶしてしまうでしょう。
ports をビルドしてインストールした後、
make
は作業用の cleanwork
ディレクトリを削除します。
以下のコマンドで Ports Collection を掃除することができます。
# portsclean -C時間が経つにつれ distfiles
ディレクトリには、古くなったソースファイルがたまっていきます。
次のコマンドで、どの ports からも使われていない
distfiles を削除できます。
# portsclean -Dシステムにインストールされている port から使われていない distfiles をすべて削除するには、以下のコマンドを使ってください。
# portsclean -DDportsclean ユーティリティは
ports-mgmt/portupgrade
ツール群の一部です。
ports-mgmt/pkg_cutleaves port は、
必要なくなった ports を削除する作業を自動化します。
サードパーティ製の多くのアプリケーションでは、
インストール後にある程度の設定が必要となります。
設定ファイルの簡単な変更が必要であったり、
あるいはアプリケーションそのものが設定ファイルを生成します。
多くのアプリケーションは文書やマニュアルページを持っており、
/usr/local/share/doc
にインストールされます。
これらは、アプリケーションを使い続ける前に参考にすべき文書です。
また、サービスを実行するために
/etc/rc.conf
ファイルに追加する必要のあるアプリケーションもあります。
インストール後の port
管理に役に立つ情報が以下にまとめられています。
PATH
で設定された場所以外にバイナリがインストールされた場合には、
バイナリの位置を探す必要があります。
csh(1) のユーザは、PATH
のバイナリリストを再構築するために、
rehash を実行する必要があります。
pkg_info(1) コマンドは、 インストールされたすべてのファイルとインストールされた場所を表示します。 たとえば、FooPackage のバージョン 1.0.0 をインストールしたのであれば、 以下のコマンドにより package によってインストールされたすべてのファイルが表示されます。
# pkg_info -L foopackage-1.0.0 | lessアプリケーションの設定ファイルは
/usr/local/etc
にインストールされます。
これらの内容はアプリケーションを使う前に必ず見ておくべきです。
アプリケーションのバージョンを確認するには、 次のコマンドを実行してください。
# pkg_info | grep -i foopackageインストールされた packages の中から、名前に
foopackage を含む package が表示されます。
必要に応じて foopackage
を置き換えてください。
上記のコマンドは、 アプリケーションとともにインストールされたマニュアルページのファイル名も表示します。 このマニュアルページは、 man(1) コマンドを利用して見ることができます。
アプリケーションについての Web サイトがあるならば、 そこに詳細な資料や FAQ が無いかを調べてください。 もし Web サイトがあるかどうか分からないときは、 以下のコマンドを実行すると、 何か役立つ情報が表示されるかもしれません。
# pkg_info foopackage-1.0.0ウェブサイトが存在すると、 URL が
WWW: を含む行に表示されます。
システム起動時に立ち上げる必要のある ports は、
スタートアップスクリプトを通常
/usr/local/etc/rc.d にインストールします。
このスクリプトを調べ、
必要があれば編集したりスクリプトの名前を変更してください。
詳細は サービスの起動
をご覧ください。
うまくコンパイルできなかったりインストールできない port に遭遇したら、 あなたにできることは次のようなことしかありません。
その port に対する修正案が提出されていないかどうかを 障害報告 (Problem Report) データベース で調べてください。 もし提案されていれば、 その修正によって問題を解決できるかもしれません。
port の保守担当者に対応してもらいましょう。
make と入力するか、
maintainerMakefile を直接読み、
保守担当者の電子メールアドレスを調べます。
メールを送る際には、port 名とバージョン番号
(Makefile の
$FreeBSD: 行)、
そしてエラーが出力されるまでの出力ログを忘れずに添付してください。
特定の保守担当者が存在せず、かわりに メーリングリスト
が保守している ports があります。
そのような場合には、メールアドレスは
<freebsd-listname@FreeBSD.org>
のようになります。
質問する際には、このことに気をつけてください。
特に <ports@FreeBSD.org>
が保守している ports には、保守担当者が本当にいません。
そのメーリングリストを購読する人々からなるコミュニティが、
修正や対応をおこなっています。
もっとボランティアが必要です!
保守担当者から返信がなければ、send-pr(1) を使ってバグレポートを提出してください ( FreeBSD 障害報告の書き方 をご覧ください)。
自分で直しましょう! 「Ports」 システムに関する詳細な情報は port 作成者のためのハンドブック にあります。 このセクションを読むと、壊れてしまった port を直したり、 自分で作った port を提出したりできるようになります!
かわりに pkg_add(1) を使って package をインストールしてください。
FreeBSD では、ユーザに強力なグラフィカルインタフェースを提供するために X11 を採用しています。 X11 は、 Xorg (他のソフトウェアパッケージについてはここでは述べません) に実装された、 フリーで利用できる X Window System です。 FreeBSD におけるデフォルトかつ公式の X11 サーバは X.Org Foundation が開発している Xorg です。 FreeBSD に似たライセンスに従って配布されています。
X11 がサポートするビデオハードウェアについての情報は、 Xorg のウェブサイトをご覧ください。
この章を読めば以下のことがわかります。
X Window System のさまざまなコンポーネントと、 それらが互いにどのように連携しているか。
X11 のインストールおよび設定方法
さまざまなウィンドウマネージャのインストール方法
X11 での TrueType® フォントの使い方
GUI ログイン (XDM) の設定方法
この章を読み始める前に以下のことを理解しておく必要があります。
サードパーティ製ソフトウェアのインストール方法 (5章アプリケーションのインストール - packages と ports)
初めて X を使う場合、Microsoft® Windows® や Mac OS® といった他の GUI 環境に慣れている人は多少ショックを受けるでしょう。
さまざまな X のコンポーネントについての詳細や、 それらがどのようにやり取りするかについては理解する必要はありませんが、 基本的なことをいくつか知っていると X を使う際に強力な武器になるでしょう。
X は、UNIX® 用に書かれた最初のウィンドウシステムではありませんが、 それらの中では最も広まっているものです。 X のオリジナルの開発チームは X を書く前に別のウィンドウシステムを開発していました。 そのシステムの名前は 「W」 (「Window」 の W) です。 X は単にローマ字でその次の文字だというだけなのです。
X は 「X」, 「X Window System」, 「X11」 などといった多くの用語で呼ばれます。 X11 を 「X Windows」 と呼ぶと気を悪くする人もいるでしょう。 これについてもう少し見識を深めるには X(7) をご覧ください。
X は最初からネットワークを意識してデザインされており、 「クライアント - サーバ」 モデルを採用しています。
X では、「X サーバ」 はキーボードやモニタ、 マウスが接続されたコンピュータ上で動きます。 このサーバはディスプレイの表示を管理したり、キーボード、 マウスからの入力を処理したり、他の入出力装置 (すなわち、入力装置として 「タブレット」 を利用できますし、 出力装置としてビデオプロジェクタを利用することもできます) を取り扱います。 各 X アプリケーション (XTerm や Firefox など) は 「クライアント」 になります。 クライアントは 「この座標にウィンドウを描いてください」 といったメッセージをサーバへ送り、サーバは 「ユーザが OK ボタンを押しました」 といったメッセージを送り返します。
家庭や小さなオフィスのような環境では、X サーバと X クライアントは同じコンピュータ上で動くことになるでしょう。 しかし、X サーバを非力なデスクトップコンピュータで動かし、 X アプリケーション (クライアント) は例えばオフィス全体を捌くような 高機能で高価なマシンで動かすことも可能なのです。この場合、 X のクライアントとサーバの通信はネットワーク越しに行なわれます。
これは、ある人々を混乱させることがあります。 X での用語は彼らが想定するものとは正反対だからです。 彼らは 「X サーバ」 は地下にある大きなパワフルなマシンであり、 「X クライアント」 が自分たちのデスク上にあると想像するのです。
X サーバとはモニタとキーボードがついているマシンのことであり、 X クライアントとはウィンドウを表示するプログラムだということを覚えておいてください。
X のプロトコルには、クライアントとサーバのマシンが同じ OS で動いていなければならないといったことを強制するものはなにもありませんし、 同じ機種で動いている必要もありません。 X サーバを Microsoft® Windows® や Apple の Mac OS® で動かすことも可能ですし、 そのようなソフトウェアもフリーのものから商用のものまでいろいろとあります。
X のデザイン哲学は UNIX® のそれに非常によく似ており、 「ツールであってポリシーではない」 のです。 つまり、X はあるタスクがどのように達成されるべきかを示すものではありません。 その代わり、ユーザにはツールが与えられ、 それらをどうするかはユーザに委ねられているのです。
この哲学は、X ではスクリーン上でウィンドウがどのように見えるべきか、 マウスでそれらをどうやって動かすか、ウィンドウ間を移動するのに どういうキーストロークを使うべきか (例えば Microsoft® Windows® における Alt+Tab)、 各ウィンドウのタイトルバーはどのように見えるべきか、 それらはクローズボタンを持つべきかどうか、 といったことを示すものではないというところまで拡大して解釈できます。
その代わりに、X
ではそういったことを 「ウィンドウマネージャ」
と呼ばれるアプリケーションに任せるのです。
X 用の ウィンドウマネージャはたくさん
あります。
これらのウィンドウマネージャの見た目や使い勝手はそれぞれ異なっています。
「バーチャルデスクトップ」
をサポートしているものもありますし、
デスクトップを操作するキーストロークをカスタマイズできたり、
「スタート」
ボタンやそれに類するものを持っているものもあります。
「テーマ」 に対応しており、
新しいテーマを適用して見た目や使い勝手を完全に変えられるものもあります。
ウィンドウマネージャは Ports Collection の x11-wm
というカテゴリからインストールできます。
さらに、KDE や GNOME デスクトップ環境には、 それぞれのデスクトップに統合された独自のウィンドウマネージャがあります。
それぞれのウィンドウマネージャはまた異なる設定機構を備えており、 手で設定ファイルを編集しなければならないものや、 設定作業のほとんどを GUI ツールで行うことができるものもあります。 少なくとも 1 つ (Sawfish) は Lisp 言語の変種で書かれた設定ファイルを持っています。
ウィンドウマネージャのもう一つの機能はマウスの 「フォーカスポリシー」 に関するものです。 すべてのウィンドウシステムは、ウィンドウを選択しキーストロークを 受け付けるようにするための方法が必要です。 そして、どのウィンドウがアクティブなのかを示す必要もあります。
よく知られているフォーカスポリシーは 「click-to-focus」 と呼ばれるもので、 このモデルは Microsoft® Windows® で利用されており、 あるウィンドウ内でマウスをクリックすればそのウィンドウがアクティブになる、 というものです。
X は特定のフォーカスポリシーを採用していません。 代わりにウィンドウマネージャがそれをコントロールします。 それぞれのウィンドウマネージャが、 それぞれのフォーカスポリシーをサポートしています。 すべてのものは click-to-focus をサポートしていますし、 多くのものは他の方法もサポートしています。
最もポピュラーなフォーカスポリシーは次のものでしょう
マウスポインタの下にいるウィンドウがフォーカスされるというものです。 ウィンドウは最前面にある必要はありません。 フォーカスを変えるには他のウィンドウにマウスポインタを動かすだけです。 クリックする必要はありません。
これは focus-follows-mouse を少し拡張したものです。 focus-follows-mouse では、 マウスがルートウィンドウ (背景) に移動した時には、 フォーカスされているウィンドウがなくなり、 キーストロークは単に破棄されます。 sloppy-focus であれば、 ポインタが別のウィンドウに移った時のみフォーカスが変わり、 現在のウィンドウから出ただけでは変わりません。
マウスクリックによりアクティブなウィンドウが選択されます。 ウィンドウは 「前面に持ち上げられ」、 他のすべてのウィンドウの前にきます。 ポインタが別のウィンドウ上に移動した時でも、 すべてのキーストロークがこのウィンドウに届きます。
多くのウィンドウマネージャはこういったものに加え、 その他のポリシーにも対応しています。 ウィンドウマネージャそのもののドキュメントもよく読んでください。
X のツールを提供してもポリシーは提供しないというアプローチは、 各アプリケーションでスクリーンに現われるウィジェットにも適用されます。
「ウィジェット」 はクリック可能であったり、 他の方法で操作可能なすべてのユーザインタフェース用アイテムを指す用語です。 ボタンやチェックボックス、ラジオボタン、アイコン、リスト、などがそうです。 Microsoft® Windows® はこれらを 「コントロール」 と呼んでいます。
Microsoft® Windows® や Apple の Mac OS® はともに非常に厳密なポリシーをウィジェットに課しています。 アプリケーション開発者は共通のルックアンドフィールに 確実に従うことを想定されているわけです。 X では、特定のグラフィカルなスタイルやウィジェットのセットを 強制することが重要とは考えてられていませんでした。
したがって、X アプリケーションに共通の見た目や使い勝手を期待してはいけません。 KDE で使われている Qt や GNOME プロジェクトで使われている GTK+ といった有名なウィジェットセットやその亜種が何種類もあります。 これらのウィジェットセットはモダンな見た目を持っています。 この点で言えば、UNIX® のルックアンドフィールは収斂されてきており、 初心者がより簡単に使えるようになってきています。
FreeBSD における X11 の実装は、Xorg です。 Xorg は X.Org Foundation がリリースしている X Window System のオープンソースな実装です。 Xorg は XFree86™ 4.4RC2 と X11R6.6 のコードを元にしています。 現在 FreeBSD Ports Collection で利用可能な Xorg のバージョンは 7.7 です。
Ports Collection から Xorg をビルドしインストールするには、以下のように入力します。
# cd /usr/ports/x11/xorg
# make install cleanXorg をすべてビルドするには、 少なくとも 4 GB の空き容量が必要です。
package から直接 X11 をインストールすることもできます。 pkg_add(1) ツールで扱われるバイナリパッケージが X11 についても提供されています。 pkg_add(1) のリモート取得機能を利用する時は、 package のバージョンは外してください。 pkg_add(1) は自動的にそのアプリケーションの最新版を取得します。
ですから、Xorg の package を取得してインストールするには、 次のように入力します。
# pkg_add -r xorg上記の例では、サーバ、クライアント、フォントなどを含んだ X11 ディストリビューション全体をインストールします。 分割された X11 のパッケージや ports も利用できます。
最小の構成で X11 をインストールをするには、
x11/xorg-minimal
をインストールしてください。
この章の残りでは、X11 をどのように設定すればよいか、 また生産性の高いデスクトップ環境をどのように設定するかについて解説します。
X11 は、ほとんどの機器を自動で設定します。 古かったり、一般的ではないような機器を使う場合には、設定を始める前に、 以下のハードウェア情報を集めておくと助けになるでしょう。
モニタ同期周波数
ビデオカードのチップセット
ビデオカードのメモリ
画面の解像度とリフレッシュレートは、 モニタの水平および垂直同期周波数により決定されます。 ほとんどすべてのモニタは、これらの値を自動検出します。 これらの値を自動検出しないモニタもありますが、 こういった仕様は、付属のマニュアルや、 製造元のウェブサイトから取得できます。
ビデオカードのチップセットも自動検出され、 ビデオドライバの選択に使われます。 正常に認識されない時のために、 どのチップセットが使われているかを知っておくとよいでしょう。
ビデオカードのメモリは、 グラフィックアダプタがどの解像度とどの色数で動くことができるかを決めます。
Xorg は、
HAL を用いてキーボードやマウスを自動認識します。
x11/xorg の依存として、
sysutils/hal および
devel/dbus port
がインストールされますが、以下のようなエントリを
/etc/rc.conf ファイルに追加し、
有効にする必要があります。
これらのサービスは、 Xorg の設定や起動が行われる前に (手動や再起動によって) 起動している必要があります。
Xorg は、設定をすることなく
% startxと入力するだけで起動します。
ある種のハードウェアは、自動設定で動作しなかったり、 期待したような設定が行われないかもしれません。 そのような場合には、手動で設定する必要があります。
GNOME, KDE および Xfce などのデスクトップ環境では、 解像度などのスクリーンパラメータを簡単に設定できるツールがあります。 したがって、デフォルトの設定が満足するようなものではない場合でも、 これらのデスクトップ環境をインストールすることを考えているのであれば、 デスクトップ環境をインストールして、 スクリーン設定ツールを利用してください。
X11 の設定は複数の段階を経て行います。 まずは初期設定ファイルを作りましょう。 スーパーユーザになって次のようにしてください。
# Xorg -configureこれにより、/root
ディレクトリに xorg.conf.new
という X11 の設定ファイルの雛形が生成されます
(su(1) か直接ログインのどちらを利用したかが、受け継がれる
$HOME 環境変数に影響します)。
X11 プログラムはシステム上のグラフィックハードウェアを検出し、
そのハードウェア用の適切なドライバを読み込む設定ファイルを作ります。
次のステップは、作成した設定ファイルで Xorg がそのグラフィックハードウェアで動くことを確認することです。 以下を実行してください。
# Xorg -config xorg.conf.new -retro黒とグレーのグリッドと
X のマウスポインタが現われればその設定は成功です。
テストを終了するには、コマンドを実行した仮想コンソールに
Ctrl+Alt+Fn (1 番目の仮想コンソールへは F1)
と入力して切り替え、
Ctrl+C と入力してください。
Ctrl+Alt+Backspace キーの組み合わせでも Xorg を終了できます。 このキー操作を利用する場合には、 X 端末エミュレータで以下のコマンドを入力してください。
% setxkbmap -option terminate:ctrl_alt_bkspまたは、hald 用のキーボード設定ファイル
x11-input.fdi を作成して、/usr/local/etc/hal/fdi/policy
ディレクトリに保存してください。
このファイルには以下を含める必要があります。
hald がこのファイルを読み込むように、 コンピュータを再起動してください。
xorg.conf.new の
ServerLayout もしくは ServerFlags
セクションに、以下の行を追加する必要もあるでしょう。
もしマウスが動作しなければ、
先へ進む前にマウスの設定を行う必要があります。
FreeBSD インストールの章の 「マウスの設定」 を参照してください。
さらに、
最近の Xorg では、デバイスの自動認識のため、
xorg.conf の
InputDevice セクションは無視されます。
古い設定の記述を利用するには、
以下の行をファイルの ServerLayout もしくは、
ServerFlags セクションに追加してください。
これで、以前のバージョンのように、入力デバイスを (キーボードレイアウトの変更のように) 必要なオプションを用いて設定できるようになります。
すでに説明したように、デフォルトで hald デーモンがキーボードを自動的に認識します。 キーボードレイアウトやモデルを正しく認識しない場合でも、 GNOME, KDE もしくは Xfce のようなデスクトップ環境が、 キーボードの設定ツールを提供している可能性があります。 しかしながら、 setxkbmap(1) ユーティリティや hald の設定を利用することで、 キーボードのプロパティを直接設定できます。
たとえば、フランス語のレイアウトの PC 102
キーボードを使いたい場合には、
hald のキーボード設定ファイル
x11-input.fdi を作成し、/usr/local/etc/hal/fdi/policy
ディレクトリに保存してください。
このファイルは以下を含んでいる必要があります。
このファイルがすでに存在する場合には、 キーボードの設定に関する部分をただ単にコピーし、 ファイルに追加してください。
hald がこのファイルを読み込むように、 コンピュータを再起動してください。
X 端末やスクリプトから以下のコマンドラインを実行することでも、 同様に設定できます。
% setxkbmap -model pc102 -layout fr
/usr/local/share/X11/xkb/rules/base.lst
ファイルは、利用可能なキーボード、レイアウトおよびオプションの一覧です。
次に xorg.conf.new
を好みに合うように調整します。
emacs(1) や ee(1)
のようなテキストエディタでファイルを開いてください。
モニタが古い場合や、通常とは異なるモデルでは、
同期周波数の自動認識に対応していないので、
これらの値を xorg.conf.new の
"Monitor"
セクションに次のように書き加えます。
ほとんどのモニタは同期周波数の自動認識に対応しているので、 これらの値を手動で入力する必要はありません。 自動認識に対応していないモニタでは、 ダメージの可能性を避けるため、 メーカーが提供している値のみを入力してください。
X はモニタが対応していれば DPMS (Energy Star)
機能を使うことができます。
xset(1) プログラムでタイムアウトをコントロールしたり、
強制的にスタンバイ、サスペンドや電源オフにすることができます。
モニタの DPMS 機能を有効にしたい場合は、
"Monitor"
セクションに次の行を加えてください。
xorg.conf.new
はエディタで開いたままにしておき、
デフォルトの解像度と色数を好みで選びましょう。
"Screen"
セクションに以下のように書きます。
DefaultDepth というキーワードは
実行時のデフォルトの色数について記述するためのものです。
Xorg(1) のコマンドラインスイッチ -depth
が使用された場合はそちらが優先されます。
Modes というキーワードは、
与えられた色数におけるデフォルトの解像度を記述しておくためのものです。
ターゲットのシステムのグラフィックハードウェアによって定義されている、
VESA スタンダードモードのみがサポートされていることに注意してください。
上の例ではデフォルトの色数はピクセルあたり 24 ビットであり、
この色数での解像度は 1024 ピクセル× 768 ピクセルです。
最後に、設定ファイルを保存し、 上の例にあるようにテストしてみてください。
トラブルシューティングの過程で手助けするツールのひとつに
X11 のログファイルがあります。これには、
X11 サーバが検知したデバイスそれぞれについての情報があります。
Xorg のログファイル名は
/var/log/Xorg.0.log
という形式です。実際のログファイル名は
Xorg.0.log から
Xorg.8.log のように変わります。
すべてうまくいったなら、設定ファイルを Xorg(1)
が見つけることができる共通の場所に置きます。
これは、通常は /etc/X11/xorg.conf や
/usr/local/etc/X11/xorg.conf です。
# cp xorg.conf.new /etc/X11/xorg.confこれで X11 の設定は完了です。 startx(1) ユーティリティで Xorg を起動できます。また、 xdm(1) を使って X11 サーバを起動することもできます。
Intel® i810 統合チップセットを設定するには、
X11 にカードを制御させるために
AGP プログラミングインタフェースである
agpgart が必要になります。
詳しくは、agp(4)
ドライバのマニュアルページをご覧ください。
このドライバを用いることで、
他のグラフィックカードと同様に設定を行うことができるようになります。
カーネルに agp(4) ドライバが組み込まれていないシステムでは、
このモジュールを kldload(8)
を使って読み込もうとしても動作しないことに注意してください。
このドライバは、
起動時にカーネル内に存在するようにカーネル内部に組み込むか、
/boot/loader.conf
を使わなければなりません。
この章では、設定に関する幾分高度な知識を必要とします。 これまでに述べた標準ツールを使って設定に失敗する場合は、 ログファイルを参照してください。 ログファイルには、 設定のために有用な情報が十分含まれています。 テキストエディタを使用する必要があるでしょう。
現在のワイドスクリーン (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+ など) は、 16:10 や 10:9 形式、または (問題を含む可能性のある) 他のアスペクト比に対応しています。 以下は、16:10 アスペクト比のスクリーン解像度の例です。
2560x1600
1920x1200
1680x1050
1440x900
1280x800
これらの解像度のひとつを以下のように
"Screen" セクション の
Mode に追加してください。
Xorg は、I2C/DDC を通してワイドスクリーンの解像度に関する情報を取得できるので、 モニタの周波数や解像度の範囲を把握しています。
もし、これらの ModeLines
についての情報がドライバに存在しないのであれば、
Xorg
にヒントを与えなけれならないでしょう。
ModeLine
を手動で設定するのに十分な情報を
/var/log/Xorg.0.log
から得ることができます。
以下のような情報を探してください。
これは EDID と呼ばれる情報です。
この情報を用いて ModeLine
を作成するには、
正しい順番に数字を入力するだけです。
この例では "Monitor" セクションの ModeLine は以下のようになります。
以上の簡単な編集作業が終わったら、 新しいワイドスクリーンモニタ上で X が動作するでしょう。
X11 に付いてくるデフォルトのフォントは、
通常のデスクトップパブリッシングアプリケーションにとっては理想的とは言えない程度のものです。
文字を大きくするとジャギーになりプロフェッショナルとは言えないようなものになりますし、
小さなフォントは頭が悪そうに見えます。
しかし、世の中には質の高い Type1 (PostScript®)
フォントがいくつかあり、
X11 ではそれらを簡単に利用することができます。
例えば、URW フォントコレクション
(x11-fonts/urwfonts)
には高品質の Type1 フォント
(Times Roman®,
Helvetica®,
Palatino® など)
が含まれています。freefont コレクション
(x11-fonts/freefonts)
にはもっとたくさんのフォントが含まれていますが、
それらは Gimp
のようなグラフィックソフトウェアで使用するためのものであり、
スクリーンフォントとしては十分ではありません。さらに、X11
は簡単に TrueType® フォントを使うように設定することも可能です。
詳しくは、X(7) のマニュアルページか
TrueType® フォントの節
を参照してください。
上記の Type1 フォントコレクションを Ports Collection から入れる場合には次のコマンドを実行してください。
# cd /usr/ports/x11-fonts/urwfonts
# make install cleanfreefont や他のコレクションでも同じようにします。
X サーバがこれらのフォントを検出できるようにするには
X サーバ設定ファイル (/etc/X11/xorg.conf)
の適切な場所に次のような行を加えます。
別の方法としては、 X のセッション中に次のようなコマンドラインを実行します。
% xset fp+ /usr/local/lib/X11/fonts/URW
% xset fp rehashこれは動くのですが、X
のセッションが終了すると消えてしまいます。
消えないようにするには X の起動時に読み込まれるファイル
(通常の startx セッションの場合は
~/.xinitrc, XDM
のようなグラフィカルなログインマネージャを通してログインする時は
~/.xsession) に加えておきます。
三番目の方法は新しい
/usr/local/etc/fonts/local.conf
ファイルを使うことです。
これに関しては アンチエイリアス
節をご覧ください。
Xorg には、
TrueType® フォントのレンダリング機能が組み込まれています。
この機能を実現するために 2 つの異なるモジュールがあります。
ここでは、freetype
の方が他のフォントレンダリングバックエンドと整合性が高いので、
このモジュールを使うことにします。
freetype モジュールを使うためには
/etc/X11/xorg.conf ファイルの
"Module"
セクションに以下の行を追加するだけです。
さて、まずは TrueType® フォント用のディレクトリ
(例えば /usr/local/lib/X11/fonts/TrueType)
を作り、そこに TrueType® フォントをすべて放り込みましょう。
Macintosh® の TrueType®
フォントは、そのままでは使うことができませんので注意してください。
X11 で使うには UNIX®/MS-DOS®/Windows®
用のフォーマットでなければなりません。
ファイルを置いたら ttmkfdir を使って
fonts.dir ファイルを作り、
X のフォントレンダラが新しいファイルがイントールされたことを分かるようにしてください。
ttmkfdir は FreeBSD Ports Collection の
x11-fonts/ttmkfdir
からインストールできます。
# cd /usr/local/lib/X11/fonts/TrueType
# ttmkfdir -o fonts.dir次に TrueType® フォントのディレクトリをフォントパスに追加します。 上の Type1 フォントの場合と同じように、
% xset fp+ /usr/local/lib/X11/fonts/TrueType
% xset fp rehashとするか、もしくは xorg.conf
ファイルに FontPath 行を追加します。
これで終わりです。 Gimp や Apache OpenOffice といったすべての X アプリケーションから TrueType® フォントを使うことができます。 (高解像度なディスプレイで見るウェブページ上のテキストみたいな) とても小さなフォントや (StarOffice™ にあるような) 非常に大きなフォントもかなり綺麗に見えるようになることでしょう。
/usr/local/lib/X11/fonts/ と
~/.fonts/ にあるすべての X11 のフォントが、Xft
に対応しているアプリケーションで自動的にアンチエイリアス表示できるようになりました。
KDE, GNOME および
Firefox
のような最新のアプリケーションは、Xft に対応しています。
どのフォントがアンチエイリアスされるかを制御するため、
もしくはアンチエイリアスの特性を設定するために、
/usr/local/etc/fonts/local.conf
ファイルを作成 (すでに存在しているのなら編集) します。
多くの Xft フォントシステムの高度な機能をこのファイルを使って調整できます。
この節ではいくつか簡単なところだけを紹介します。
詳しくは、fonts-conf(5) をご覧ください。
このファイルは XML 形式でなければなりません。
大文字小文字の区別に注意を払い、
すべてのタグが正しく閉じられているか確認してください。
ファイルは一般的な XML ヘッダで始まり、DOCTYPE 定義と
<fontconfig>
タグがその後にきます。
すでに説明したように、
/usr/local/lib/X11/fonts/ と
~/.fonts/ にあるすべてのフォントは
Xft 対応のアプリケーションで利用できます。
これら 2 つ以外に別のディレクトリを追加したいのなら、
/usr/local/etc/fonts/local.conf
に以下のような行を追加します。
新しいフォント、 そして特に新しいフォントディレクトリを追加したら、 以下のコマンドを実行してフォントキャッシュを再構築してください。
# fc-cache -fアンチエイリアスをかけることによって境界が少しぼやけ、 そのためにとても小さなテキストはさらに読みやすくなり、 大きなフォントでは 「ギザギザ」 が消えるのです。 しかし、普通のテキストにかけた場合には目が疲れてしまうこともあります。 14 ポイント以下のサイズのフォントについて、 アンチエイリアスをかけないようにするには次の行を加えます。
いくつかの等幅フォントは、 アンチエイリアスをかけるとスペーシングがうまくいかなくなる場合があります。 特に KDE でその傾向があるようです。 解決策の一つとして、そういったフォントのスペーシングを 100 に設定する方法があります。 そうするためには次の行を加えてください。
(これは固定サイズのフォントに "mono"
という一般的な別名をつけます) そして以下を追加します。
Helvetica の様なある種のフォントは、
アンチエイリアスすると問題が起こるでしょう。
たいてい、フォントが縦に半分に切られて表示されます。
最悪の場合、アプリケーションがクラッシュします。
これを回避するには、以下を local.conf
に追加します。
local.conf の編集を終えたら、
ファイルの末尾が </fontconfig>
タグで終わるようにしてください。
これを行わなければ、変更は無視されるでしょう。
最後に、ユーザは自分だけの設定を各自の
.fonts.conf ファイルに追加できます。
これを行うためには、それぞれのユーザが単に
~/.fonts.conf を作成するだけです。
このファイルも XML 形式でなければなりません。
最後に一つ。LCD
スクリーンではサブピクセルサンプリングが必要な場合があります。
これは、基本的には (水平方向に分かれている) 赤、緑、
青の各コンポーネントを別々に扱うことによって水平方向の解像度を良くするというもので、
劇的な結果が得られます。
これを有効にするには local.conf
ファイルに次の行を加えます。
ディスプレイの種類にもよりますが、
rgb ではなく
bgr や vrgb、もしくは
vbgr の場合もあるので、
試してみて最も良いものを使ってください。
X ディスプレイマネージャ (XDM) は X Window System のオプショナルな一部分であり、 ログインセッションの管理に用います。 最低限の機能を実装した 「X 端末」 やデスクトップ、 大規模なネットワークディスプレイサーバといった場面ではこれが有用です。 X Window System はネットワークとプロトコルから独立しているため、 ネットワークで繋がれた X のクライアントとサーバを動かすための設定はかなり幅が広くなります。 XDM はどのディスプレイサーバに接続するかを選択でき、 ログイン名とパスワードの組み合わせなど認証情報を入力できるグラフィカルなインタフェースを提供しています。
XDM がユーザに getty(8) (詳しくは 「設定」 をご覧ください) と同じ機能を提供することを考えてみてください。 つまり、ディスプレイ上でシステムへのログインができ、 ユーザの代わりにセッションマネージャ (通常は X のウィンドウマネージャ) を起動することができるのです。 それから XDM は、 ユーザが作業を終えてディスプレイからログアウトする合図を送ってきてプログラムが終了するのを待ちます。 この時点で、XDM は次にログインするユーザのためにログイン画面や chooser 画面を表示できます。
XDM を使用するには、
x11/xdm
port をインストールしてください
(最近の Xorg のバージョンでは、
デフォルトでインストールされません)。
XDM のデーモンプログラムは
/usr/local/bin/xdm にあります。
このプログラムは root
になればいつでも起動することができ、
ローカルマシン上のディスプレイの管理を始めます。
マシンをブートする際、いつも XDM
を起動したい場合には、/etc/ttys
にそのためのエントリを加えておくのが簡単です。
このファイルのフォーマットや使用方法についての詳細は
「/etc/ttys へのエントリの追加」 を参照してください。
デフォルトの /etc/ttys
ファイルには仮想端末上で XDM
デーモンを起動するための行:
があります。
このエントリはデフォルトでは無効になっており、有効にするには
5 番目のカラムを off から
on にし、「init にファイル
/etc/ttys の再読み込みをさせる」
の指示に従って init(8) を再起動します。
最初のカラムはこのプログラムが管理する端末の名前で、この場合
ttyv8 になります。
つまり、XDM は
9 番目の仮想端末で起動されるということです。
XDM の設定用ディレクトリは
/usr/local/lib/X11/xdm です。
このディレクトリには XDM
の振る舞いや見た目を変更するために用いられるいくつかのファイルがあります。
だいたいは以下のような感じです。
| ファイル | 説明 |
|---|---|
Xaccess | クライアント認証のルールセット |
Xresources | デフォルトの X リソース |
Xservers | 管理すべきリモートやローカルのディスプレイのリスト |
Xsession | デフォルトのログイン時のセッションスクリプト |
Xsetup_* | ログインインタフェースの前にアプリケーションを起動するためのスクリプト |
xdm-config | このマシンで動いているすべてのディスプレイのグローバルな設定 |
xdm-errors | サーバプログラムによって生成されるエラー |
xdm-pid | 現在動いている XDM のプロセス ID |
このディレクトリにはまた、XDM の動作中にデスクトップをセットアップするために用いられるスクリプトやプログラムがいくつかあります。 それぞれのファイルの目的を簡単に解説しましょう。 正確な文法や使い方は xdm(1) に記述されています。
デフォルトの設定では、単純な四角のログインウィンドウがあり、 そこにはマシンのホスト名が大きなフォントで表示され、 「Login:」 と 「Password:」 のプロンプトがその下に表示されています。 XDM スクリーンの見ためや使い勝手を変えるにはここから始めるのがいいでしょう。
XDM
がコントロールするディスプレイに接続するためのプロトコルは
X Display Manager Connection Protocol (XDMCP) と呼ばれます。
このファイルにはリモートのマシンからの
XDMCP 接続をコントロールするためのルールセットが書かれます。
これは、xdm-config
を変更してリモートからのコネクションを待ち受けるようにしない限り無視されます。
デフォルトでは、どのクライアントからの接続も拒否します。
これはディスプレイの chooser とログインスクリーン用の application-defaults ファイルです。 このファイルでログインプログラムの見た目を変更することができます。 フォーマットは X11 のドキュメントで記述されている app-defaults ファイルのものと同じです。
XDM
でログインした後に実行されるデフォルトのセッションスクリプトです。
通常、各ユーザは ~/.xsession
というカスタマイズしたセッションスクリプトを持っており、
こちらが優先されます。
これらは chooser
やログインインタフェースが表示される前に自動的に実行されます。
それぞれのディスプレイに対して、Xsetup_
に続けてローカルのディスプレイ番号を付けた
(たとえば Xsetup_0)
名前のついたスクリプトがあります。
典型的な使い方は xconsole
のようなバックグラウンドで動かすプログラムを一つか二つ起動することです。
あるディスプレイサーバに他のクライアントが接続することができるようにするために、
アクセスコントロールのルールを編集し、
コネクションリスナを有効にする必要があります。
デフォルトでは保守的な設定になっています。
XDM
がそういったコネクションを待ち受けるようにするためには
xdm-config
にある次の行をコメントアウトします。
そして、XDM を再起動します。
app-defaults ファイルにおけるコメントは 「!」
であっていつものような 「#」
ではないことに注意してください。
アクセス制限はもっと厳しくしてもよいかもしれません。
Xaccess
にある例を参考にしたり、詳細についてオンラインマニュアル
xdm(1) を参照してください。
このセクションでは、FreeBSD 上の X で利用可能ないくつかのデスクトップ環境について解説します。 「デスクトップ環境」 とは、 単なるウィンドウマネージャから KDE や GNOME といったような完全なデスクトップアプリケーションスイートまでカバーします。
GNOME はユーザフレンドリなデスクトップ環境で、 ユーザはコンピュータを簡単に使ったり設定したりできるようになります。 GNOME にはパネル (アプリケーションを起動したり状態を表示したりするもの)、 デスクトップ (データやアプリケーションが置かれる場所)、 標準的なデスクトップツールやアプリケーションのセット、 そしてアプリケーションが互いにうまくやり取りできるような仕組みが含まれています。 他の OS や環境に慣れている人でも GNOME の提供するグラフィック環境であれば心地よく感じるでしょう。 FreeBSD 上の GNOME に関するもっと詳しい情報は、 FreeBSD GNOME Project のウェブサイトで見ることができます。 ウェブサイトには、GNOME のインストール、設定、管理に関する非常に分かりやすい FAQ も用意されています。
package や Ports Collection を利用してソフトウェアを簡単にインストールできます。
GNOME package をネットワークからインストールするには、 以下のようにするだけです。
# pkg_add -r gnome2pkgng ユーザは、 以下のコマンドを使用してください。
# pkg install gnome2GNOME をソースから構築する場合、 次のように ports ツリーを使いましょう。
# cd /usr/ports/x11/gnome2
# make install cleanGNOME を適切に動作させるには、
/proc ファイルシステムをマウントする必要があります。
以下を /etc/fstab に追加して、起動中に
procfs(5) をマウントするように設定してください。
GNOME がインストールできたら、 デフォルトのウィンドウマネージャの代わりに GNOME を起動するように X サーバに指示しなければなりません。
GNOME
を起動する最も簡単な方法は、GNOME ディスプレイマネージャ
GDM を使うことです。
GDM は、
GNOME
デスクトップの一部としてインストールされますが、
デフォルトでは無効になっています。
有効にするには、以下の行を /etc/rc.conf
に追加してください。
再起動すると、GDM が自動的に起動します。
GNOME のすべてのサービスを、
GDM とともに起動するようにしておくと良いでしょう。
このように設定するには、以下の行を /etc/rc.conf
ファイルに追加してください。
GNOME は
.xinitrc
という名前のファイルを適切に設定することで、
コマンドラインから起動することもできます。
自分の .xinitrc
が既にある場合には、ウィンドウマネージャを起動する行を
/usr/local/bin/gnome-session
を起動するように変更するだけです。
特にこのファイルを用意していない場合には、
次のようにすれば十分でしょう。
% echo "/usr/local/bin/gnome-session" > ~/.xinitrc次に、startx と入力すれば
GNOME
デスクトップ環境が起動します。
もし XDM
のような古いディスプレイマネージャを使っているなら、
この方法ではうまくいきません。その代わり、実行可能な
.xsession というファイルを作成し、
同じコマンドを起動するようにします。
そのためには、このファイルを編集してウィンドウマネージャを
/usr/local/bin/gnome-session
で置き換えます。
% echo "#!/bin/sh" > ~/.xsession
% echo "/usr/local/bin/gnome-session" >> ~/.xsession
% chmod +x ~/.xsessionもう一つの方法は、 ログイン時にウィンドウマネージャを選択できるようにディスプレイマネージャを設定することです。 KDE の詳細についてのセクションで KDE のディスプレイマネージャである KDM を使ってどのようにすればいいのかを解説しています。
KDE は最近の簡単に使えるデスクトップ環境です。 KDE によりユーザは以下のようなメリットを亨受します。
美しい現代風のデスクトップ
ネットワーク透過なデスクトップ
KDE デスクトップやそのアプリケーションを使う際に、 ヘルプへのアクセスを便利で統一されたものにする統合されたヘルプシステム
すべての KDE アプリケーションで統一された見ためや使い勝手
標準化されたメニュー、ツールバー、 キーバインディング、カラースキームなど
国際化: KDE は 55 を越える言語で利用可能
一元的で、首尾一貫した、ダイアログベースのデスクトップ設定
膨大な数の KDE アプリケーション
KDE には Konqueror と呼ばれるウェブブラウザも付属しており、これは UNIX® システム上の他のウェブブラウザの強力な競争相手です。 KDE の詳細については KDE のウェブサイト をご覧ください。 KDE に関する FreeBSD 特有の情報とリソースについては、 KDE/FreeBSD initiative のウェブサイトをご覧ください。
GNOME や他のデスクトップ環境とまったく同じように、 package や Ports Collection から簡単にインストールできます。
KDE 4 package をネットワーク越しにインストールするには次のようにします。
# pkg_add -r kde4pkg_add(1) は自動的にアプリケーションの最新版を取得します。
pkgng ユーザは、 以下のコマンドを使用してください。
# pkg install kde4KDE をソースから構築するには、次のように ports ツリーを使いましょう。
# cd /usr/ports/x11/kde4
# make install cleanport を最初にインストールするときには、 オプションを選択するメニューが表示されます。 デフォルトが推奨されます。
KDE 4 は大きなアプリケーションのため、 高速のコンピュータでもコンパイルに長い時間がかかります。
KDE がインストールできたら
X サーバに、デフォルトのウィンドウマネージャの代わりにこのアプリケーションを立ち上げるように教えます。
.xinitrc
ファイルを次のように編集しましょう。
% echo "exec /usr/local/kde4/bin/startkde" > ~/.xinitrcさぁ、これで startx でいつ
X Window System を立ち上げても
KDE
がデスクトップになります。
XDM
のようなディスプレイマネージャを使っている場合、
設定は少し異なります。代わりに
.xsession ファイルを編集しましょう。
KDM
用の説明はこの章の後のほうにあります。
さぁ、KDE のインストールができました。 ほとんどのことはヘルプページを見たりいろんなメニューをつつけばわかるでしょう。 Windows® や Mac® のユーザにも簡単なはずです。
KDE の最も良いリファレンスはオンラインドキュメントです。 KDE には独自のウェブブラウザ Konqueror が付属していますし、 膨大な数の便利なアプリケーションや詳しいドキュメントも用意されています。 このセクションの残りではなんとなく使っているだけでは理解し難い技術的なところを解説します。
Xfce は GNOME で使われている GTK+ ツールキットをベースにしたデスクトップ環境ですが、 ずっと軽いので、 シンプルで効率的でありながら使いやすく設定が簡単なデスクトップ環境を求める人に向いています。 見ためは商用 UNIX® システムが採用している CDE にかなり似ています。Xfce の機能をいくつか以下に挙げます。
シンプルで使いやすいデスクトップ
マウスのドラッグアンドドロップなどですべての設定が可能
CDE に似たメインパネルとメニューやアプレット、 アプリケーションランチャ
統合されたウィンドウマネージャ、ファイルマネージャ、 サウンドマネージャと GNOME 準拠のモジュールなど
(GTK+ なので) テーマをサポート
速くて軽くて効率的: 古いマシンや遅いマシン、 メモリの限られたマシンに向いています
Xfce に関する詳しい情報は Xfce のウェブサイト で得られます。
Xfce をネットワークからインストールするには、 次のように実行してください。
# pkg_add -r xfce4pkgng ユーザは、 以下のコマンドを使用してください。
# pkg install xfce4また、Ports Collection を利用してソースからインストールすることも可能です。
# cd /usr/ports/x11-wm/xfce4
# make install cleanインストール後、次回 X を起動した時に Xfce が立ち上がるように設定します。 次のようにしてください。
% echo "/usr/local/bin/startxfce4" > ~/.xinitrcX を次に起動すると Xfce
が立ち上がります。
XDM
のようなディスプレイマネージャを使っている場合には、
GNOME
のセクションに書いてあるように
.xsession ファイルを作成し、
/usr/local/bin/startxfce4
を起動するように追加します。
または KDM
のセクションにあるように、
ログイン時にディスプレイマネージャからデスクトップ環境を選択できるように設定してください。
第 1 部では基礎的なことがらを説明したので、 FreeBSD ハンドブックの第 2 部では FreeBSD でよく使われる機能について説明します。 各章の内容は以下のとおりです。
ブラウザ、生産的なツール、ドキュメントビューアといった、 人気があって便利なデスクトップアプリケーションの紹介
FreeBSD で利用可能なマルチメディアツールの紹介
システムで特別な機能を有効にするために、 カスタムカーネルを構築する手順の説明
デスクトップおよびネットワーク接続両方のプリンタの設定に関する、 印刷システムの詳細な説明
FreeBSD システムで Linux アプリケーションを実行する方法
これらの章では、読み飛ばしを推奨しているものもあります。 これについてはそれぞれの章の始めにある概要に書かれています。
FreeBSD は性能や安定性によりサーバとして人気がある一方で、 日々のデスクトップとしての利用にも適しています。packages や ports から 24,000 を超えるアプリケーションを利用できるので、 さまざまなアプリケーションを動かせるようにカスタマイズしたデスクトップを作り上げることができます。 この章では、packages や Ports Collection を用いて、人気の高いデスクトップアプリケーションを楽にインストールする方法を説明します。
FreeBSD は、Linux® バイナリ互換 機能を持つので、Linux® 用に開発された多くのアプリケーションを FreeBSD のデスクトップでも利用できます。 Linux® バイナリ互換機能を用いた port の多くは 「linux-」 からはじまる名前を持ちます。 この章では、Linux® アプリケーションをインストールする前に Linux® バイナリ互換機能が有効であることを前提としています。
この章では、 以下のデスクトップアプリケーションのインストール方法について説明します。
| 分野 | アプリケーション名 | Package 名 | Ports 名 |
|---|---|---|---|
| ブラウザ | Firefox | firefox | www/firefox |
| ブラウザ | Opera | opera | www/opera |
| ブラウザ | Konqueror | kde4-baseapps | x11/kde4-baseapps |
| ブラウザ | Chromium | chromium | www/chromium |
| 生産的なアプリケーション | Calligra | calligra | editors/calligra |
| 生産的なアプリケーション | AbiWord | abiword | editors/abiword |
| 生産的なアプリケーション | The GIMP | gimp | graphics/gimp |
| 生産的なアプリケーション | Apache OpenOffice | openoffice | editors/openoffice-3 |
| 生産的なアプリケーション | LibreOffice | libreoffice | editors/libreoffice |
| ドキュメントビューア | Acrobat Reader® | ライセンスの制限により package
は利用できません。 | print/acroread9 |
| ドキュメントビューア | gv | gv | print/gv |
| ドキュメントビューア | Xpdf | xpdf | graphics/xpdf |
| ドキュメントビューア | GQview | gqview | graphics/gqview |
| 財務管理ソフトウェア | GnuCash | gnucash | finance/gnucash |
| 財務管理ソフトウェア | Gnumeric | gnumeric | math/gnumeric |
| 財務管理ソフトウェア | KMyMoney | kmymoney-kde4 | finance/kmymoney-kde4 |
この章を読む前に、以下のことを理解しておく必要があります。
package または ports を用いたサードパーティ製ソフトウェアのインストール方法。
Linux® バイナリ互換機能を有効にする方法。
マルチメディア環境を整える方法については 8章マルチメディア を、 電子メールを設定して使いたい場合には 21章電子メール を参照してください。
この文書は英語で書かれている原文をそのまま邦訳したものです。 必ずしも各アプリケーションで日本語が扱えるとは限らないことに注意してください。 日本語に対応したアプリケーションは、Ports Collection の japanese ディレクトリにあるかもしれません。
FreeBSD では Web ブラウザは事前にインストールされていません。 そのかわり、Ports Collection の www カテゴリには数多くの Web ブラウザ が用意されており、 多くのプログラムを packages からインストールしたり、 Ports Collection からコンパイルできます。
KDE や GNOME デスクトップ環境には、 それぞれ HTML ブラウザが用意されています。 これらのデスクトップ環境を設定するための情報については 「デスクトップ環境」 を参照してください。
軽量なブラウザとしては、
www/dillo2,
www/links,
www/w3m
といったものがあります。
この節では以下の人気のある web ブラウザのインストール方法について説明します。 もし、アプリケーションがリソースを大量に消費したり、 ports からのコンパイルに時間がかかったり、 もしくは大きな依存がある場合には、そのことについても触れます。
| アプリケーション名 | 必要なリソース | port からのインストール | 備考 |
|---|---|---|---|
| Firefox | 中 | 重 | FreeBSD および Linux® 版をが利用できます。 |
| Opera | 少 | 軽 | FreeBSD と Linux® 版を利用できます。 |
| Konqueror | 中 | 重 | KDE ライブラリを必要とします。 |
| Chromium | 中 | 重 | Gtk+ を必要とします。 |
Firefox は、 先進的で無料かつオープンソースのブラウザです。 FreeBSD に完全に対応しています。 標準に準拠した HTML 表示エンジン、タブブラウジング、ポップアップブロック、 拡張性、高い安全性などが特徴です。 Firefox は Mozilla のコードベースから派生したブラウザです。
最新の Firefox の package をインストールするには以下のように入力してください。
# pkg_add -r firefoxFirefox 延長サポート版 (ESR: Extended Support Release) を利用したい場合には、 かわりに以下のように入力してください。
# pkg_add -r firefox-esrローカライズ版は、www/firefox-i18n および www/firefox-esr-i18n
から利用できます。
かわりにソースコードから希望の firefox
をコンパイルすることもできます。この例では www/firefox をビルドしますが、
firefox の部分は、
インストールする ESR やローカライズに置き換えることもできます。
# cd /usr/ports/www/firefox
# make install clean以下の節では、Firefox があらかじめインストールされていることを前提としています。
java/icedtea-web は、
Java アプレットに対し、フリーソフトの web ブラウザのプラグインを提供します。
package からインストールできます。port からコンパイルするには、
以下のようにしてください。
# cd /usr/ports/java/icedtea-web
# make install cleanどちらの ports も、コンフィグレーションオプションはデフォルトのままにしてください。
インストールしたら、ブラウザを起動し、ロケーションバーに
about:plugins と入力して
Enter を押してください。
インストールされているプラグイン一覧のページが表示されます。
Java™
プラグインが一覧に追加されているでしょう。
プラグインが一覧に追加されていない場合には、 ユーザごとに以下のコマンドを実行し、ブラウザを再起動してください。
% ln -s /usr/local/lib/IcedTeaPlugin.so \
$HOME/.mozilla/plugins/FreeBSD 用の Adobe® Flash™ プラグインは提供されていません。 しかしながら、Linux® バージョンのプラグインを実行するためのソフトウェアレイヤ (wrapper) が存在します。 この wrapper は、 RealPlayer® プラグインといった他のブラウザのプラグインにも対応しています。
プラグインをインストールして有効にするには、 以下を実行してください。
www/nspluginwrapper
port をインストールしてください。
ライセンスの制限のため package は利用できません。
この port は、emulators/linux_base-f10
という大きな port を必要とします。
www/linux-f10-flashplugin11
port をインストールしてください。
ライセンスの制限により、package は利用できません。
# ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so \
/usr/local/lib/browser_plugins//usr/local/lib/browser_plugins
ディレクトリが存在しない場合には、作成してください。
プラグインを最初に使う前に、 ユーザごとに以下を実行しておく必要があります。
% nspluginwrapper -v -a -iプラグインの port がアップデートされ、再インストールされたら、 各ユーザは以下を実行する必要があります。
% nspluginwrapper -v -a -uブラウザを起動し、ロケーションバーに
about:plugins と入力して
Enter を押してください。
現在利用可能なプラグインの一覧が表示されます。
Swfdec は Flash™ アニメーションのデコードやレンダリングを行うライブラリです。 Swfdec-Mozilla は、Firefox ブラウザにおいて SWF ファイルを実行するためのプラグインで、Swfdec ライブラリを利用しています。 このライブラリは、現在でも盛んに開発されています。
package をインストールするには、以下を実行してください。
# pkg_add -r swfdec-pluginpackage を利用できない場合は、Ports Collection からコンパイルしてインストールしてください。
# cd /usr/ports/www/swfdec-plugin
# make install cleanその後、ブラウザを再起動してプラグインを有効にしてください。
Opera は、 機能満載で、標準規格に準拠した Web ブラウザですが、 軽量で高速です。 メールおよびニュースリーダや、IRC クライアント、 RSS/Atom フィードリーダ、その他いろいろなものが組み込まれています。 FreeBSD 「ネイティブ」 バージョンと、 Linux® バイナリ互換機能によって動作するバージョンの 2 つがあります。
以下のコマンドは、FreeBSD 版の Opera
package をインストールします。
Linux® 版をインストールするには、
opera を linux-opera
に置き換えてください。
# pkg_add -r operaあるいは Ports Collection からインストールしてください。 以下のコマンドで、ネイティブ版がインストールされます。
# cd /usr/ports/www/opera
# make install cleanLinux® 版の Opera
をインストールするには、opera を
linux-opera に置き換えてください。
Adobe® Flash™ プラグインをインストールするには、まず www/linux-f10-flashplugin11 port
をコンパイルしてください。package は、ライセンスの制限により利用できません。
その後、www/opera-linuxplugins port
もしくは package をインストールしてください。
以下の例では、両方を ports からコンパイルします。
# cd /usr/ports/www/linux-f10-flashplugin11
# make install clean
# cd /usr/ports/www/opera-linuxplugins
# make install cleanインストールが終了したら、
プラグインがインストールされたかどうかをブラウザを起動して確認してください。
ロケーションバーに about:plugins と入力して
Enter を押してください。
現在利用可能なプラグインの一覧が表示されます。
Java™ プラグインを追加するには、 Firefox での手順 にしたがってください。
Konqueror は x11/kde4-baseapps
を構成するソフトウェアです。
Konqueror はブラウザであると同時に、
ファイルマネージャおよびマルチメディアビューアの役割も果たします。
Konqueror は、KHTML とともに、WebKit
にも対応しています。WebKit は Chromium
など最近のブラウザの多くで採用されているレンダリングエンジンです。
FreeBSD の Konqueror で WebKit
を使うには www/kwebkitpart package または、
port をインストールしてください。
以下の例では、port をコンパイルします。
# cd /usr/ports/www/kwebkitpart
# make install cleanKonqueror で、WebKit を有効にするには、 「Settings」, 「Configure Konqueror」 をクリックしてください。 「General」 の設定ページにおいて、 ドロップダウンメニューから 「Default web browser engine」 をクリックし、 「WebKit」 を「KHTML」 に変更してください。
Konqueror は Flash™ にも対応しています。 Konqueror に Flash™ を導入するための 「How To」 ガイドが http://freebsd.kde.org/howtos/konqueror-flash.php にあります。
Chromium は、 オープンソースのブラウザのプロジェクトで、 安全かつ高速、安定したウェブブラウジングの体感を目指しています。 Chromium は、タブブラウジング、 ポップアップブロック、拡張機能などの機能を持っています。 Chromium は、Google Chrome ウェブブラウザがベースとしているオープンソースのプロジェクトです。
Chromium は、 以下のように入力することで package からインストールできます。
# pkg_add -r chromiumまたは、Ports Collection を用いて Chromium をソースからコンパイルしてインストールできます。
# cd /usr/ports/www/chromium
# make install cleanChromium の実行可能ファイルは、
/usr/local/bin/chrome です。
/usr/local/bin/chromium ではありません。
以下の節では、Chromium がインストールされていることを前提としています。
Java™ プラグインをインストールするには、 「Firefox と Java™ プラグイン」 に書かれている手順に従ってください。
Java™ のサポートをインストールしたら、
Chromium を起動し、アドレスバーに、
about:plugins と入力してください。
インストールされているプラグインの一覧に
IcedTea-Web が追加されているはずです。
Chromium に IcedTea-Web プラグインが追加されていない場合には、 以下のコマンドを実行し、ブラウザを再起動してください。
# mkdir -p /usr/local/share/chromium/plugins
# ln -s /usr/local/lib/IcedTeaPlugin.so \
/usr/local/share/chromium/plugins/Chromium と Adobe® Flash™ の設定は、Firefox の手順 と同じです。 Chromium は、他のブラウザのプラグインを用いることができるので、 追加の設定は必要ありません。
生産的なアプリケーションということになると、 新しいユーザはしばしば魅力的なオフィススイートや 親しみのあるワードプロセッサを求めるでしょう。 デフォルトアプリケーションではありませんが、 KDE のような デスクトップ環境 はオフィススイートを提供しています。 インストールされているデスクトップ環境にかかわらず、FreeBSD では、 いくつものオフィススイート、文書作成ソフトウェアを利用できます。
この節では、以下の人気のある生産的なソフトウェアのインストール方法について説明します。 もし、アプリケーションがリソースを大量に消費したり、 ports からのコンパイルに時間がかかったり、 もしくは大きな依存がある場合には、そのことについても触れます。
| アプリケーション名 | 必要なリソース | port からのインストール | 実行に必要となる主な環境 |
|---|---|---|---|
| Calligra | 少 | 重 | KDE |
| AbiWord | 少 | 軽 | Gtk+ または GNOME |
| Gimp | 少 | 重 | Gtk+ |
| Apache OpenOffice | 多 | 莫大 | JDK™ および Mozilla |
| LibreOffice | やや多 | 莫大 | Gtk+ または KDE/ GNOME または JDK™ |
KDE コミュニティはデスクトップ環境とともに、 KDE 環境以外でも利用可能な オフィススイートを提供しています。 Calligra には、他のオフィススイートと同様に、 標準的なアプリケーションが含まれています。 Words は文書作成ソフトウェア、 Sheets は表計算ソフトウェア、 Stage はプレゼンテーションソフトウェア、そして Karbon は図形描画ソフトウェアです。
最新の KOffice をインストールする場合には、事前に KDE を最新のバージョンにしておいてください。
editors/calligra は、package または port
からインストール出来ます。
package からインストールするには次のようにします。
# pkg_add -r calligrapackage を入手できない場合は、かわりに Ports Collection を利用してください。
# cd /usr/ports/editors/calligra
# make install cleanAbiWord は、Microsoft® Word のような見た目や操作感を持つフリーのワードプロセッサです。 書類や手紙、報告書、メモなどを書くのに適しています。 速く、多くの特徴があり、ユーザフレンドリです。
AbiWord は、
Microsoft® .doc
のような独自仕様を含む多くの形式のファイルを読み書きできます。
AbiWord を package からインストールするには、以下のようにしてください。
# pkg_add -r abiwordpackage を入手できない場合は、Ports Collection からコンパイルしてください。
# cd /usr/ports/editors/abiword
# make install clean画像を描画したり写真を修正することに関して、 GIMP は洗練された編集プログラムです。 単純にお絵かきソフトウェアとして使うこともできますし、 高品質な写真の加工ツールとしても使えます。 多くのプラグインに対応しており、 スクリプトインタフェースを特徴としています。 GIMP はさまざまな形式のファイルを読み書きでき、 スキャナやタブレットとのインタフェースにも対応しています。
package をインストールするには、以下のようにしてください。
# pkg_add -r gimpもしくは、Ports Collection を利用してください。
# cd /usr/ports/graphics/gimp
# make install cleanPorts Collection の graphics カテゴリには、GIMP に関連したプラグイン、 ヘルプファイルおよびユーザマニュアルなどがあります。
2011 年 7 月 1 日、Oracle® は OpenOffice.org のコードベースを Apache Software Foundation へ寄贈しました。 現在 OpenOffice.org は、 Apache OpenOffice として知られ、 Apache Software Foundation のインキュベータプロジェクトとして開発が行われています。
Apache OpenOffice は、完全なオフィススイートに必須のアプリケーション (ワードプロセッサ、表計算ソフトウェア、 プレゼンテーションソフトウェア、そして図形描画ソフトウェア) をひととおり揃えています。 ユーザインタフェースは他のオフィススイートと似ており、 広く用いられているさまざまな形式のファイルを読み書きできます。 インタフェース、スペルチェッカ、辞書は国際化されており、 多くの言語で利用できます。
Apache OpenOffice のワードプロセッサは、ネイティブのファイル形式に XML を採用することで ポータビリティや柔軟性を高めています。 表計算ソフトウェアにはマクロ機能があり、 外部データベースと接続することもできます。 Apache OpenOffice は、 Windows®, Linux®, FreeBSD および Mac OS® X において安定してネイティブに動作しています。 Apache OpenOffice についてのより詳しい情報は、Apache OpenOffice web サイト をご覧ください。また、FreeBSD Apache OpenOffice 移植チーム の web サイトから、FreeBSD 特有の情報や packages を直接取得することもできます。
Apache OpenOffice package をインストールするには、以下のように入力してください。
# pkg_add -r apache-openofficeFreeBSD のリリース版を使用している場合には、この操作はうまくいくでしょう。 それ以外の版を使用している場合には、 FreeBSD Apache OpenOffice 移植チームの web サイトから適切な package をダウンロードして、 pkg_add(1) を使用してインストールしてください。 このウェブサイトから、リリース版と開発版の両方をダウンロードできます。
package をインストールしたら、以下のコマンドを入力して Apache OpenOffice を起動してください。
% openoffice-X.Y.Zここで X.Y.Z は、
インストールされている
Apache OpenOffice のバージョン番号です。
初回起動時に、いくつかの質問が行われ、
ユーザのホームディレクトリに .openoffice.org
フォルダが作成されます。
希望の Apache OpenOffice の packages を利用できない場合には、port を利用する方法もあります。 しかしながら、コンパイルには大きなディスクスペースと、 本当にかなり長い時間を必要とします。
# cd /usr/ports/editors/openoffice-3
# make install clean地域化されたバージョンをビルドするには、 上記コマンドの代わりに以下のコマンドを実行して下さい。
# make LOCALIZED_LANG=your_language install cleanyour_language を正しい言語 ISO コードに置き換えてください。
サポートされている言語コードは、同じ port ディレクトリにある
files/Makefile.localized に書かれています。
LibreOffice は、The Document Foundation が開発しているフリーソフトウェアのオフィススィートです。 他のメジャーなオフィススィートと互換性があり、 さまざまなプラットフォームで利用できます。 完全なオフィス生産性スィートに必須のアプリケーション (文書作成ソフトウェア、表計算ソフトウェア、プレゼンテーションソフトウェア、 図形描画ソフトウェア、データベース管理ソフトウェア、数式エディタ) をすべて揃えている OpenOffice.org からの新しいフォークです。 インタフェース、スペルチェッカ、辞書は国際化されており、 多くの言語で利用できます。
LibreOffice のワードプロセッサは、 ネイティブのファイル形式に XML を採用することで ポータビリティや柔軟性を高めています。 表計算ソフトウェアにはマクロ機能があり、 外部データベースと接続することもできます。 LibreOffice は、 Windows®, Solaris™, Linux®, FreeBSD, Mac OS® X において安定してネイティブに動作しています。 LibreOffice についての詳しい情報は、 LibreOffice ウェブサイト をご覧ください。
英語版の LibreOffice package をインストールするには、以下のように入力してください。
# pkg_add -r libreofficePorts Collection の editors
カテゴリには、地域化された LibreOffice
が用意されています。
地域化された package をインストールするには、
libreoffice を地域化された
package 名に置き換えてください。
package をインストールしたら、以下のコマンドで LibreOffice を起動してください。
% libreoffice初回起動時には、いくつかの質問が行われ、
ユーザのホームディレクトリに
.libreoffice
フォルダが作成されます。
希望の LibreOffice の packages を利用できない場合には、port からコンパイルする方法もあります。 しかしながら、コンパイルには大きなディスクスペースと、 本当にかなり長い時間を必要とします。 以下の例では、英語版がインストールされます。
# cd /usr/ports/editors/libreoffice
# make install clean地域化されたバージョンをビルドしたいのなら、 希望の言語の port ディレクトリに cd コマンドで移動してください。 対応している言語は、Ports Collection の editors カテゴリにあります。
UNIX® の出現以降、いくつかの新しい文書形式がよく使われるようになりました。 基本システムには、それらの文書が要求するビューアがないかもしれません。 この節ではそれらのドキュメントビューアのインストール方法について説明します。
| アプリケーション名 | 必要なリソース | port からのインストール | 実行に必要になる主な環境 |
|---|---|---|---|
| Acrobat Reader® | 少 | 軽 | Linux® バイナリ互換機能 |
| gv | 少 | 軽 | Xaw3d |
| Xpdf | 少 | 軽 | FreeType |
| GQview | 少 | 軽 | Gtk+ または GNOME |
今や多くの文書が Portable Document Format (PDF) ファイル形式で配布されています。 PDF ファイルを読むのによく用いられるビューアが Adobe® が Linux® 用にリリースしている Acrobat Reader® です。 FreeBSD は Linux® バイナリを実行できるので、 FreeBSD でもこのアプリケーションを利用できます。 ライセンスの制限から package は利用できないため、 ports からコンパイルする必要があります。 地域化されたものが Ports Collection の print カテゴリに用意されています。
以下のコマンドは、Ports Collection から、 Acrobat Reader® 9 の英語版をインストールします。地域化された版をインストールするには、 かわりに希望の ports ディレクトリに cd コマンドで移動してください。
# cd /usr/ports/print/acroread9
# make install cleangv は PostScript® と PDF のビューアです。これはもともと ghostview をベースとしていますが、 Xaw3d ライブラリによってより良い外観になっています。 動作が速くて、ユーザインタフェースもシンプルです。 gv は用紙の向きやサイズ、 拡大縮小、アンチエイリアスなどたくさんの機能を持っています。 ほとんどすべての操作はキーボードとマウスの両方で行なうことができます。
package から gv をインストールするには次のようにします。
# pkg_add -r gvpackage を利用できない場合には、Ports Collection を使ってください。
# cd /usr/ports/print/gv
# make install cleanFreeBSD 向けの軽い PDF ビューアを使いたいのなら、xpdf を試してみてください。 これは少ないリソースで動作するビューアで、軽くて効率的です。 標準の X フォントを利用し、 Motif®, その他の X ツールキットを必要としません。
Xpdf の package をインストールするには次のコマンドを入力してください。
# pkg_add -r xpdfpackage を入手できない場合は、 Ports Collection を利用してください。
# cd /usr/ports/graphics/xpdf
# make install cleanインストールが完了したら xpdf を起動してください。 メニューを表示するにはマウスの右ボタンを押してください。
GQview は画像管理ソフトウェアです。 クリックひとつで画像ファイルを開いたり、外部エディタを起動したり、 サムネイル画像を作成できます。 また、スライドショーや基本的なファイル操作機能も備えています。 画像のコレクションの管理や、重複したファイルを見つけることが簡単にできます。 GQview は全画面表示、 および国際化にも対応しています。
GQview package をインストールするには次のコマンドを入力してください。
# pkg_add -r gqviewpackage を入手できない場合は、 Ports Collection を利用してください。
# cd /usr/ports/graphics/gqview
# make install cleanFreeBSD のデスクトップで個人的な財務管理ができるように、 強力で簡単に使えるアプリケーションが用意されています。 それらのアプリケーションの中には Quicken® や Excel などの広く行き渡った形式のファイルと互換性があるものもあります。
この節では次のアプリケーションについて説明します。
| アプリケーション名 | 必要なリソース | port からのインストール | 実行に必要になる主な環境 |
|---|---|---|---|
| GnuCash | 少 | 重 | GNOME |
| Gnumeric | 少 | 重 | GNOME |
| KMyMoney | 少 | 重 | KDE |
GnuCash は、 GNOME の一部で、 使いやすくかつ強力なアプリケーションとしてエンドユーザに提供されています。 GnuCash を使えば、 収入や支出、銀行口座、あるいは株を管理できます。 直観的なインタフェースを特徴としていますが、 高度な機能も提供しています。
GnuCash は洗練された登録機能、 階層構造の勘定システム、多くのキーボードショートカット、 自動補完機能を提供しています。 単一のトランザクションをより小さな要素に分解できます。 GnuCash は、 Quicken の QIF ファイルの読み込みやマージができます。 また、国際的な日付および通貨形式も扱えます。
GnuCash package をインストールするには次のようにしてください。
# pkg_add -r gnucashpackage が手に入らなければ、Ports Collection を使ってください。
# cd /usr/ports/finance/gnucash
# make install cleanGnumeric は、 GNOME コミュニティによって開発されている表計算ソフトウェアです。 セルの書式に従ってユーザの入力を自動的に 「推測」する便利な機能や、 多くのシーケンスに対する自動補完機能があります。 Excel, Lotus 1-2-3, Quattro Pro といった広く行き渡っている多くの形式のファイルを読みこめます。 多くの関数を内蔵しており、 数値、通貨、日付、時間などのよく使うセルの書式が利用できます。
Gnumeric package をインストールするには次のように入力してください。
# pkg_add -r gnumericpackage が手に入らなければ、Ports Collection を使ってください。
# cd /usr/ports/math/gnumeric
# make install cleanKMyMoney は、KDE コミュニティが作成している個人用財務管理アプリケーションです。 商用の個人用財務管理ソフトウェアに見られる機能を取り入れ、 提供することを目指しています。 また、使いやすい複式簿記機能も特徴です。 KMyMoney は標準の Quicken Interchange Format (QIF) ファイルをインポート可能で、 投資履歴や複数通貨の取扱い、財政状況のレポートを提供します。
package から KMyMoney をインストールするには次のようにします。
# pkg_add -r kmymoney-kde4package が手に入らない場合は、Ports Collection を使ってください。
# cd /usr/ports/finance/kmymoney-kde4
# make install cleanFreeBSD は数多くの種類のサウンドカードに対応しており、 コンピュータで原音に忠実な出力を楽しむことができます。 これには録音機能と、MPEG Layer 3 Audio (MP3) や WAV, Ogg Vorbis などをはじめとした多くの形式の音楽の再生機能が含まれます。 加えて FreeBSD の Ports Collection には、録音した音楽を 編集したり、音響効果を加えたり、接続された MIDI 機器を制御するためのアプリケーションがあります。
多くの試みによって、FreeBSD ではビデオファイルおよび DVD の
再生ができるようになりました。さまざまなビデオメディアをエンコード、
変換、再生するアプリケーションの数は、
音声用のアプリケーションほど充実していません。
この文書を執筆している時点では、たとえば
audio/sox
のようなファイル形式を変換するためのすぐれたアプリケーションは
Ports Collection にありません。しかしながら、
この分野のソフトウェアの状況は急速に変わりつつあります。
この章ではサウンドカードを設定するために必要な方法を説明します (ただし、高音質で再生するためには若干の微調整が必要かもしれません)。 ビデオカードのハードウェアに関する問題は、 X11 (6章X Window System) のインストールと設定においてすでに扱いましたので、 そちらをご覧ください。
この章を読むと、以下のことがわかります。
サウンドカードを認識させるためにシステムを設定する方法
サウンドカードがうまく動作しているかどうかテストする方法
サウンドの設定に関するトラブルシューティング
MP3 およびその他の形式の音声を再生、エンコードする方法
X サーバで どのようにビデオに対応しているか
ビデオを再生、エンコードするのに役に立つ ports
DVD の .mpg ファイルおよび
.avi ファイルを再生する方法
CD および DVD の情報を抽出する方法
TV カードの設定方法
画像スキャナの設定方法
この章を読む前に、以下のことを理解しておく必要があります。
新しいカーネルを設定してインストールする方法 (9章FreeBSD カーネルのコンフィグレーション)
オーディオ CD を mount(8) でマウントしようとすると、少なくともエラーになります。 最悪の場合、カーネルパニックが発生するでしょう。 これらのメディアは通常の ISO ファイルシステムとは異なり、 特別なエンコードが施されているからです。
設定をはじめる前に、あなたが持っているカードのモデル、 そのカードが使用しているチップ、そして PCI, ISA どちらのカードなのかを確認する必要があります。 FreeBSD は PCI および ISA の両方のカードに幅広く対応しています。 使用しているカードが対応しているかどうかは、 ハードウェアノート の対応オーディオデバイスの一覧を調べてください。 このハードウェアノートには、 カードに対してどのドライバを利用すればよいかについても言及されています。
サウンドデバイスを使うために、 適切なデバイスドライバを読み込まなければいけません。 これには二つの方法のどちらかでできるでしょう。 もっとも簡単な方法は kldload(8) を使ってサウンドカードのカーネルモジュールを単に読み込むことです。 次のコマンドで実現できます。
# kldload snd_emu10k1または /boot/loader.conf
ファイルにこのような適切な行を加えて実現することもできます。
以上は Creative SoundBlaster® Live! サウンドカードの例です。
他に利用可能な読み込み可能なサウンドモジュールは
/boot/defaults/loader.conf
に記載されています。
どのドライバを利用すればいいか確かでなければ、
snd_driver
モジュールを読み込んでみてください。
# kldload snd_driversnd_driver モジュールは、
一般に使用されるカードに対応したドライバをまとめて一度に読み込むメタドライバです。
このドライバを使用すれば、速やかに正しいドライバを探し出すことができるでしょう。
/boot/loader.conf ファイルを使用して、
すべてのサウンドドライバを読み込むこともできます。
snd_driver メタドライバの読み込み後に、
どのドライバがサウンドカードに選択されたのかを知りたいのなら
cat /dev/sndstat コマンドで
/dev/sndstat ファイルを調べてください。
二つ目の方法は、 サウンドカードのドライバをカーネルへ静的に組み込むことです。 以下の節では、この方法でハードウェアを対応させる方法を説明します。 カーネル再構築の詳細は 9章FreeBSD カーネルのコンフィグレーション を参照してください。
はじめに、オーディオフレームワークドライバ sound(4) をカーネルに追加します。 カーネルコンフィグレーションファイルに以下の行を追加してください。
次に、サウンドカードに対応したドライバを追加します。 それには、どのドライバがカードに対応しているかを知る必要があります。 使用しているカードに対する正しいドライバを決定するために、 ハードウェアノート の対応オーディオデバイスの一覧を調べてください。 たとえば、Creative SoundBlaster® Live! サウンドカードは snd_emu10k1(4) ドライバが対応しています。 このカードを使用するためには、 カーネルコンフィグレーションファイルに以下の行を追加してください。
ドライバのマニュアルページを読んで、
追加すべき構文を調べてください。
対応しているすべてのサウンドドライバに関するカーネルコンフィグレーションの具体的な構文は、
/usr/src/sys/conf/NOTES
にもあります。
すべての PnP 非対応の ISA カードに当てはまるように、
PnP 非対応の ISA サウンドカードでは、
カーネルにカードが使用する資源
(IRQ, I/O ポートなど) を明示的に指定する必要があるかもしれません。
この場合は、/boot/device.hints
ファイルを使用してください。
システムの起動時に、loader(8)
はこのファイルを読み、設定情報をカーネルに渡します。
たとえば、PnP 非対応の古い Creative SoundBlaster® 16 (ISA 接続)
には snd_sb16 とともに snd_sbc(4) ドライバを使用します。
このカードを使用する場合には、
カーネルコンフィグレーションファイルに以下の行を追加すると同時に、
/boot/device.hints
ファイルに以下のエントリを追加してください。
この例では、
I/O ポートに 0x220 を、
IRQ に 5 を使用します。
/boot/device.hints
ファイルに用いるべき構文は、
sound(4) ドライバのマニュアルページ、および、
各ドライバのマニュアルページに記載されています。
初期設定は以上の通りです。 カードを使用する状況によっては、 IRQ やその他の設定を変更する必要があるかもしれません。 このカードについての詳細は、 snd_sbc(4) マニュアルページをご覧ください。
カーネルを変更して再起動するか、必要となるモジュールを読み込むと、 システムのメッセージバッファ (dmesg(8)) にサウンドカードが認識されたことが示されます。 たとえば、次のようなメッセージが出力されます。
サウンドカードの状態は、/dev/sndstat
ファイルを使用して確認することができます。
# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz 16384
kld snd_ich (1p/2r/0v channels duplex default)この出力はシステムによって異なるでしょう。
pcm デバイスがなければ、
今までの手順を振り返ってみてください。
カーネルコンフィグレーションファイルをもう一度見直して、
正しいデバイスドライバを選択しているかどうか確認してください。
トラブルシューティングは 「よくある問題」
を参照してください。
すべてうまくいけば、サウンドカードが機能するでしょう。 CD-ROM または DVD-ROM ドライブのオーディオ出力端子がサウンドカードと適切に接続されていれば、 cdcontrol(1) を使ってドライブ内の CD を再生できます。
% cdcontrol -f /dev/acd0 play 1audio/workman
のように、よりよいインタフェースを提供するさまざまなアプリケーションがあります。
MP3 オーディオファイルを聴くために
audio/mpg123
のようなアプリケーションをインストールしようと思うかもしれません。
手っ取り早くカードをテストするには、
/dev/dsp デバイスにデータを送ってみてください。
たとえば、以下のようにします。
% cat filename > /dev/dspここで
はどんなファイルでも構いません。
このコマンドラインを実行すると雑音が発生するはずです。
これにより、サウンドカードが実際に動作していることを確認できます。filename
デバイスノード /dev/dsp* は、
必要とされる時に自動的に作成されます。
デバイスノードが使用されていない場合には存在せず、
ls(1) の出力に表示されません。
サウンドカードのミキサレベルは mixer(8) コマンドで変更することができます。 詳細は mixer(8) マニュアルページをご覧ください。
| エラー | 解決方法 |
|---|---|
| sb_dspwr(XX) timed out | 使用する I/O ポートが適切に設定されていません。 |
| bad irq XX | 使用する IRQ が正しく設定されていません。 サウンドカードの IRQ と設定した IRQ が同じかどうか確かめてください。 |
| xxx: gus pcm not attached, out of memory | デバイスを使用するのに十分なメモリを確保できません。 |
| xxx: can't open /dev/dsp! |
|
最近のグラフィックカードの中には、
HDMI や類似のインタフェースを利用するため、
グラフィックカード自身がサウンドカードを持つものがあります。
このようなサウンドデバイスには、
時として本当のサウンドカードより若い番号が付けられることがあり、
そのような場合には、
サウンドカードをデフォルトプレイバックデバイスとして利用できません。
このことが原因かどうかを確認するには、dmesg を実行して
pcm を探してください。
以下のような出力を得るかもしれません。
ここで、グラフィックカード (NVidia)
には、サウンドカード (Realtek ALC889)
より若い番号が付けられています。
サウンドカードをデフォルトのプレイバックデバイスとして利用するには、
以下のように hw.snd.default_unit
をプレイバックで使用するユニット番号に変更してください。
# sysctl hw.snd.default_unit=nここで、n は使用するサウンドデバイスの番号です。
この例では 4 です。
/etc/sysctl.conf に以下の行を入れると、
常に設定の変更が反映されるようになります。
4特定のアプリケーションとのサウンドデバイスの共用に対応していない時、 esound または artsd のように 同時に再生することのできる音源を複数実装していることは、 多くの場合望ましいことです。
FreeBSD では、 仮想サウンドチャネル を使ってこれを実現でき、sysctl(8) で設定できます。 仮想チャネルはカーネル内でサウンドを合成することにより、 サウンドカードの再生を多重化することができます。
仮想チャネルの数を決めるのに三つの sysctl 変数を設定できます。
root ユーザで以下のようにします。
# sysctl dev.pcm.0.play.vchans=4
# sysctl dev.pcm.0.rec.vchans=4
# sysctl hw.snd.maxautovchans=4上記の例では四つの仮想チャネルを設定しています。
これは通常利用する上で十分実用的な数です。
dev.pcm.0.play.vchans=4 と
dev.pcm.0.rec.vchans=4 は、
pcm0
が再生や録音のために持っている仮想チャネルの数で、
一度デバイスが取り付けられると設定できます。
hw.snd.maxautovchans は、
kldload(8)
を用いて認識された新しいデバイスの仮想チャネル数です。
pcm
モジュールはハードウェアドライバとは独立して読み込むことができるので、
後でどんなにデバイスを認識しても
hw.snd.maxautovchans
は仮想チャネルを格納できます。
より詳細な情報については pcm(4)
のマニュアルページを参照してください。
デバイスを使用しているときに 仮想チャンネルの数を変更することはできません。 まず、ミュージックプレーヤやサウンドデーモンといった デバイスを使用しているすべてのプログラムを終了してください。
/dev/dsp0
を必要とするプログラムが意識しなくても、
適切な pcm
デバイスが自動的に設定されます。
MP3 (MPEG Layer 3 Audio) は CD に匹敵する音質でサウンドを再生できます。あなたの FreeBSD ワークステーションにこのプレイヤをインストールしない理由はないでしょう。
XMMS (X Multimedia System) は とても人気のある X11 ベースの MP3 プレイヤです。 XMMS のグラフィカルインタフェースは Nullsoft の Winamp とほとんど同一なので、Winamp のスキンを使うことができます。 XMMS はネイティブプラグインにも対応しています。
XMMS は
multimedia/xmms の
port または package からインストールできます。
XMMS のプレイリスト、グラフィックイコライザそしてその他のインタフェースは 直感的です。 Winamp を使いなれている人は 簡単に XMMS を使えるでしょう。
audio/mpg123
はコマンドライン上の代替となる MP3 プレイヤの port です。
mpg123
はサウンドデバイスと MP3 ファイルを指定して実行できます。
/dev/dsp1.0 デバイスを使用して
MP3 ファイル Foobar-GreatestHits.mp3
を再生するのであれば、次のように実行してください。
# mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Playing MPEG stream from Foobar-GreatestHits.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
CD 全体または CD トラックを MP3 に変換する前に、CD 上のオーディオデータをハードディスク上に抽出する必要があります。 これには raw CDDA (CD Digital Audio) データを WAV ファイルにコピーします。
sysutils/cdrtools
スイートの一部である cdda2wav ツールは
CD からオーディオデータを抽出したり、
情報を関係づけるのに使われます。
CD をドライブにいれて次のコマンドを
(rootで) 実行して、
CD 全体を (トラックごとに) 個々の WAV ファイルに抽出できます。
# cdda2wav -D 0,1,0 -Bcdda2wav は ATAPI (IDE) CDROM ドライブにも対応しています。 IDE ドライブから抽出するには、 SCSI ユニット番号をデバイス名に置き換えて指定します。 たとえば IDE ドライブから七番目のトラックを抽出するには、 次のようにします。
# cdda2wav -D /dev/acd0 -t 7-D は
SCSI デバイス 0,1,00,1,0 を表します。
これは cdrecord -scanbus
の出力に一致します。
個々のトラックを抽出するには、
次のように -t オプションを使用します。
# cdda2wav -D 0,1,0 -t 7上記の例はオーディオ CDROM の七番目のトラックを抽出します。 範囲を指定して、 たとえば一番目から七番目のトラックまで抽出したい場合、 次のようにします。
# cdda2wav -D 0,1,0 -t 1+7dd(1) ユーティリティも ATAPI ドライブ上のオーディオトラックを展開するのに使われます。 何ができるか詳しいことは オーディオ CD の複製について 「オーディオ CD の複製」 を参照してください。
現在、一般に好まれている MP3 エンコーダは
lame です。
lame は Ports Collection の
audio/lame
に収録されています。
次のコマンドを実行すると、抽出した WAV ファイル
を使って
audio01.wav に変換します。audio01.mp3
# lame -h -b 128 \
--tt "曲名" \
--ta "アーティスト名" \
--tl "アルバム名" \
--ty "年" \
--tc "コメント" \
--tg "ジャンル" \
audio01.wav audio01.mp3128 kbits が標準のビットレートのようです。
多くの人はさらに高音質の 160 kbits または 192 kbits
を好むでしょう。
ビットレートが高くなるにつれて作成される
MP3 ファイルは多くのディスク領域を消費しますが、より高音質となります。
-h オプションを指定すると
「低速高品質」 モードとなります。
--t ではじまるオプションは ID3 タグを設定します。
このタグにはたいてい曲の情報が含まれており、
MP3 ファイルに格納されます。
lame
のマニュアルを参照すれば他のオプションが見つかるでしょう。
MP3 からオーディオ CD を作成するには、 MP3 形式を非圧縮 WAV 形式に変換しなければなりません。 XMMS と mpg123 の両方が MP3 から非圧縮ファイル形式への出力に対応しています。
XMMS でディスクへ書き出す方法は次の通りです。
XMMS を起動します。
右クリックで XMMS メニューを表示します。
Options
から Preference を選択します。
Output Plugin を 「Disk Writer Plugin」 に変更します。
Configure を押します。
非圧縮ファイルを書き出すディレクトリを入力 (または選択) します。
普段通り XMMS へ MP3 ファイルを読み込みます。 音量は 100% で イコライザの設定はオフにします。
Play を押します—
XMMS
は MP3 を再生しているかのように表示しますが、
音声はきこえません。
実際には MP3 をファイルに出力しています。
再び MP3 を聴けるように Output Plugin を以前のように元に戻すのを忘れないでください。
mpg123 で標準出力へ書き出す方法は次の通りです。
mpg123 -s を実行します。audio01.mp3
> audio01.pcm
XMMS
は WAV 形式でファイルに書き出しますが、
mpg123 は
MP3 を PCM オーディオデータに変換します。
両形式は cdrecord
を使ってオーディオ CD を作成するのに利用することができます。
burncd(8) を使う場合は raw PCM データが必要です。
WAV ファイルを使用する場合、
それぞれのトラックの先頭に小さなノイズが入るのに気づくでしょう。
これは WAV ファイルのヘッダ情報です。
SoX
(audio/sox の port または package
からインストールできます)
を使うと簡単に WAV ファイルのヘッダ情報を削除できます。
% sox -t wav -r 44100 -s -w -c 2 track.wav track.rawFreeBSD での CD 作成の詳しい情報は 「光メディア (CD & DVD) の作成と使用」 を参照してください。
ビデオ再生は今まさに成長中の新しいアプリケーション分野です。 辛抱強くしてください。 音声のようにすべてが順調にいくとは限りません。
設定をはじめる前に、あなたが持っているビデオカードのモデル、 そのカードが使用しているチップを確認する必要があります。 Xorg はさまざまなビデオカードに対応していますが、 ビデオ再生に申し分のない性能を発揮できるカードはわずかです。 あなたのビデオカードの利用している X サーバが対応している拡張機能のリストを得るには、 X11 を実行中に xdpyinfo(1) コマンドを実行してください。
さまざまなプレイヤやオプションを試すのに、
テストファイルとして小さな MPEG ファイルを用意しておくのはよい考えです。
いくつかの DVD プレイヤは DVD メディアを
/dev/dvd として
初期設定しているか、ハードコーディングされているので、
次のように適切なデバイスにシンボリックリンクを張っておくと便利かもしれません。
# ln -sf /dev/acd0 /dev/dvd
# ln -sf /dev/acd0 /dev/rdvddevfs(5) の仕様により、
このように手動で作成されたリンクは再起動すると消えてしまいます。
システムの起動時にこれらのシンボリックリンクを自動的に作成するには、
/etc/devfs.conf に下記の設定を追加します。
加えて、特別な DVD-ROM 機能を必要とする DVD 解読は、 DVD デバイスへの書き込み権限が必要です。
共有メモリ X11 インタフェースを改善するために、 いくつかの sysctl(8) 変数の値を増やすことが推奨されています。
X11 においてビデオ表示性能を改善する方法はいくつかあると思われます。 ちゃんと動作するかどうかはハードウェアに大きく依存しています。 下記に説明したどの方法でも、 ハードウェアが変わると品質が変わるでしょう。 二つ目に、X11 でのビデオレンダリングは最近多くの注目を集めるトピックです。 そして Xorg のバージョンを追うごとに、著しく改良されているかもしれません。
よく知られたビデオインタフェースは次の通りです。
X11: 共有メモリを用いた通常の X11 出力
XVideo: X11 drawable 内でのビデオ再生に対応した X11 インタフェースの拡張機能
SDL: Simple Directmedia Layer
DGA: Direct Graphics Access
SVGAlib: 低レベルコンソールグラフィックレイヤ
Xorg には XVideo (または Xvideo, Xv, xv) と呼ばれる拡張機能があります。 これは特別なアクセラレーションによって drawable オブジェクト に直接ビデオを表示することができます。 この拡張機能によって、 低速なマシンでも、とてもすぐれた品質の再生が可能となります。
この拡張機能が動作しているかどうかを調べるには、
xvinfo を使います。
% xvinfo以下のような結果が得られたならば、あなたのカードは XVideo に対応しています。
リストにある形式 (YUV2, YUV12 など) が XVideo のすべての実装で存在するとは限りません。 対応している形式が少ないために、あるプレイヤでは悪影響が出る かもしれないことにも注意してください。
出力が以下のような場合、
あなたのカードはおそらく XVideo に対応していないのでしょう。
あなたのカードが XVideo に対応していないとしても、 このことはあなたのディスプレイでビデオを表示するのに、 計算上の要求を満たすことがより困難になるだけのことです。 しかしながら、あなたのビデオカードおよびプロセッサによっては、 それでも満足のいく性能が得られるかもしれません。 性能を向上させるには 「さらに進んだ情報」 をよく読むとよいでしょう。
Simple Directmedia Layer (SDL) は、 さまざまなオペレーティングシステムの間で サウンドとグラフィックスを効果的に利用した クロスプラットホームアプリケーションを 開発することを目的としたレイヤです。 SDL レイヤはハードウェアに対する低レベルの抽象的概念を提供し、 時には X11 インタフェースを使用するよりも効果的なことがあります。
SDL は devel/sdl12
からインストールできます。
Direct Graphics Access は、
プログラムが X サーバを介せず
直接フレームバッファを変更することを可能にする X11 の拡張機能です。
共有メモリを使用するために
低レベルのメモリマッピングが実行できることを期待しているので、
この機能を使うプログラムは root
権限で実行されなければなりません。
DGA 機能拡張は dga(1)
によってテストとベンチマークができます。
dga
実行中はキーボードを押せばいつでもディスプレイ色が変更されます。
中止するには q を押します。
この節では Ports Collection で利用可能な、 ビデオの再生に使用できるソフトウェアについて論じます。 ビデオ再生は大変活発なソフト開発分野で、 さまざまなアプリケーションの機能は、 ここでの説明から省かざるをえません。
はじめに、FreeBSD で実行できるビデオアプリケーションの多くは、 Linux アプリケーションとして開発されたということを知ることは重要です。 これらのアプリケーションの多くはまだベータ版の品質です。 FreeBSD でこれらのビデオアプリケーションを使用する際に、 以下のような問題が起こるかもしれません。
あるアプリケーションが、 他のアプリケーションの作成したファイルを再生できない。
あるアプリケーションが、 自身の作成したファイルを再生できない。
二つの異なるマシンで構築した同じアプリケーションが、 同じファイルを再生する挙動がそれぞれ異なる。
イメージサイズ変更のように見たところではありふれたフィルタが、 バグの多いサイズ変更ルーチンによってひどい人工物を作成する。
アプリケーションがよくコアダンプする。
文書が port と一緒にインストールされない
(文書は web サイトにあったり、その port の
work ディレクトリの中に
残っていることがある)。
これらのアプリケーションの多くはさらに 「Linux 主義」 を主張するかもしれません。 すなわち、アプリケーションの作者が仮定した、 Linux ディストリビューションでのみ実装されている ある標準ライブラリの使用方法や Linux カーネルの特定の機能に起因する問題が生じるかもしれません。 必ずしも port 保守担当者がこれらの問題を把握して作業しているとは限らず、 次のような問題が発生する可能性があります。
プロセッサの特性を検知するための
/proc/cpuinfo の利用
本当はプログラムを終了させるはずであるのに、 停止させてしまうようなスレッドの誤用
一般的にアプリケーションとともに使用され、まだ FreeBSD の Ports Collection に収録されていないソフトウェアを必要とする
これまで、これらのアプリケーションの開発者は、 移植に必要だったその場しのぎの回避方法を最小化し 問題を解決するために port 保守担当者と協力しています。
MPlayer は最近開発され、 急激に成長しつつあるビデオプレイヤです。 MPlayer チームの目的は、 Linux や他の Unix 系 OS 上で高速性と柔軟性をもたらすことです。 このプロジェクトは、 チーム創設者が当時利用可能だったビデオプレイヤの ひどい再生能力にうんざりしたのをきっかけとして始まりました。 合理化された設計のために GUI が犠牲にされたと言う人もいます。 しかしながら、コマンドラインオプションおよびキーボード操作に 一度慣れれば非常によく動作します。
MPlayer は
multimedia/mplayer
にあります。
MPlayer は
構築の際にさまざまなハードウェアのチェックをするため、
あるシステムで作成されたバイナリは、
別のシステムで利用できないかもしれません。
したがって port から構築し、
バイナリパッケージを利用しないことが重要です。
さらに、Makefile
や構築のはじめに説明されるように、
make
のコマンドラインで多くのオプションを指定することができます。
# cd /usr/ports/multimedia/mplayer
# make
N - O - T - E
Take a careful look into the Makefile in order
to learn how to tune mplayer towards you personal preferences!
For example,
make WITH_GTK1
builds MPlayer with GTK1-GUI support.
If you want to use the GUI, you can either install
/usr/ports/multimedia/mplayer-skins
or download official skin collections from
http://www.mplayerhq.hu/homepage/dload.htmlほとんどのユーザにとっては
port のデフォルトオプションで十分でしょう。
しかしながら、XviD コーデックが必要なら、
WITH_XVID
オプションをコマンドラインで指定しなければなりません。
また、デフォルトの DVD デバイスを
WITH_DVD_DEVICE
オプションで定義することもできます (デフォルトでは
/dev/acd0 が使用されます)。
この文書を執筆している時点では、
MPlayer の port は HTML
文書、そして mplayer と
mencoder
という二つの実行可能なバイナリを構築します。
mencoder
はビデオを再エンコーディングするためのツールです。
MPlayer のための HTML 文書は非常に有益です。この章で不足した ビデオハードウェアおよびインタフェースに関する情報があれば、 MPlayer の文書は非常に詳細な補足になります。 UNIX® のビデオ対応情報を探しているのなら、時間を割いて MPlayer の文書を読むべきなのは 明らかです。
MPlayer を使用する人はすべて、
各自のホームディレクトリ内に .mplayer
サブディレクトリを用意しなければなりません。
この必要となるサブディレクトリを作成するために、
次のコマンドを入力します。
% cd /usr/ports/multimedia/mplayer
% make install-usermplayer
のコマンドオプションはマニュアルに記載されています。
さらにより詳細な説明について知りたいなら、HTML 文書をご覧ください。
この節では、一般的な使用法についてほんの少し説明します。
さまざまなビデオインタフェースの一つを用いて
というファイルを再生するには、
testfile.avi-vo オプションを指定します。
% mplayer -vo xv testfile.avi% mplayer -vo sdl testfile.avi% mplayer -vo x11 testfile.avi# mplayer -vo dga testfile.avi# mplayer -vo 'sdl:dga' testfile.aviビデオ再生の相対的性能は多くの要因に依存し、 ハードウェアに応じて著しく変わると思われるので、 これらのオプションをすべて試してみる価値はあるでしょう。
DVD を再生するには、
を
testfile.avidvd://
に置き換えてください。
<N> には再生するタイトル番号を、
N
-dvd-device DEVICE
は DVD-ROM のデバイスノードを指定します。
たとえば、DEVICE/dev/dvd
から 2 番目のタイトルを再生するには以下のようにします。
# mplayer -vo xv dvd://3 -dvd-device /dev/dvdデフォルトの DVD デバイスは、
MPlayer port の構築時に
WITH_DVD_DEVICE で定義することができます。
デフォルトでは /dev/acd0 になります。
詳細はこの port の
Makefile をご覧ください。
停止、休止、再生などをするにはキーの割り当てを調べてください。
mplayer -h を実行したり、
マニュアルを読めばわかります。
再生に関してさらに重要なオプションがあります。
全画面モードにする -fs -zoom オプションと、
性能を向上させる -framedrop オプションです。
mplayer
に指定するコマンドラインが長くなりすぎないように、
.mplayer/config
を作成してデフォルトのオプションを設定できます。
最後に mplayer は DVD タイトルを
.vob ファイルに抽出するのに使用できます。
DVD から 2 番目のタイトルをダンプするには次のようにします。
# mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd出力された out.vob ファイルは
MPEG 形式で、
この節で説明される他のアプリケーションで編集できます。
mencoder を使う前に、
HTML 文書を読んでオプションに慣れておくのはよい考えです。
マニュアルもありますが、HTML 文書なしではあまり有用ではありません。
品質向上、低ビットレート、形式変換をする方法が無数にあります。
これらの要素の調節具合で、性能が良かったり悪かったりするなど、
結果に違いが出るかもしれません。
ここにいくつか例を示します。
はじめは単純なファイルのコピーです。
% mencoder input.avi -oac copy -ovc copy -o output.aviコマンドラインオプションを不適切に組合せると、
mplayer
でさえ再生できない出力ファイルを作成してしまいます。
したがって、単にファイルを抽出したいときには、
mplayer に -dumpfile
オプションをつけます。
を音声に MPEG3 エンコードを使用して
MPEG4 コーデックに変換するには次のようにします
(input.aviaudio/lame が必要です)。
% mencoder input.avi -oac mp3lame -lameopts br=192 \
-ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.aviこれは mplayer や
xine で再生可能な出力ファイルを作成します。
DVD タイトルを直接再エンコードするためには、
上記のコマンドラインの
を
input.avidvd://1 -dvd-device /dev/dvd に置き換えて、
root 権限で実行します。
はじめの作業結果に不満をもつと思われるので、
タイトルをファイルにダンプして、ファイルに対して作業することを
おすすめします。
xine ビデオプレイヤは
オールインワンのビデオソリューションであるだけでなく、
プラグインで拡張できる再利用可能な基本ライブラリと
実行可能なモジュールを提供する広範囲のプロジェクトです。
multimedia/xine の
port と package の両方からインストールできます。
xine プレイヤは開発途上であり まだ非常に荒削りですが、通常の利用には十分安定しています。 実用上、xine を使用するには高速なビデオカードとともに高速な CPU があるか、 またはビデオカードが XVideo 拡張に対応していることが必要です。 GUI も利用できますがすこし扱いにくいです。
この文書を執筆している時点では、 xine と一緒に提供されている CSS エンコードされた DVD を再生する入力モジュールはありません。 このモジュールがあるサードパーティの構築物はいくつかありますが、 これらのどれも FreeBSD の Ports Collection には収録されていません。
xine は MPlayer と比べて 利用者にとって多くのことをしてくれますが、 と同時にきめの細かい制御ができません。なお、 xine ビデオプレイヤは、 XVideo インタフェース上で最良の性能を発揮します。
デフォルトでは、xine プレイヤは GUI 付きで起動するでしょう。 その後、メニューを使用して特定のファイルを開くことができます。
% xineGUI なしでファイルを直ちに再生するには、 次のコマンドを実行します。
% xine -g -p mymovie.avitranscode というソフトウェアは、
プレイヤではなくビデオおよびオーディオファイルを再エンコードするためのツール一式です。
transcode を使えば、
stdin/stdout インタフェースとともに
コマンドラインツールを用いることによって、
ビデオファイルの統合や、壊れたファイルの修復ができます。
multimedia/transcode port
では、数多くのビルドオプションを指定できますが、
以下のコマンドラインのように transcode
を構築することをおすすめします。
# make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \
WITH_MJPEG=yes -DWITH_XVID=yesほとんどのユーザにとっては、この設定で十分です。
transcode の能力を示す例として、DivX ファイルを
PAL MPEG-1 (PAL VCD) ファイルに変換する使用例を示します。
% transcode -i input.avi -V --export_prof vcd-pal -o output_vcd
% mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpa作成された MPEG ファイル、
は、
MPlayer を使って再生できます。
また、ファイルを CD-R メディアに書き込むことでビデオ CD も作成できます。
この場合には、output_vcd.mpgmultimedia/vcdimager
および sysutils/cdrdao
プログラムをインストールする必要があるでしょう。
transcode のマニュアルもありますが、
transcode
wiki から、更なる情報や使用例を得てください。
FreeBSD 用のさまざまなビデオソフトウェアは急速に成長しています。 近い将来、ここにあげた問題の多くが解決している可能性は高いでしょう。 それまでの間、FreeBSD の A/V 能力を最大限発揮させたい人々は、 FAQ およびチュートリアルから得た知識を寄せ集めて、 わずかなアプリケーションを使用しなければならないでしょう。 この節は、読者に そのような付加的な情報へのポインタを提供するために存在します。
MPlayer の文書 は技術的に非常に有益です。 おそらく、UNIX® ビデオの高水準な専門的知識を得たい人はすべて、 これらの文書を調べるべきです。 MPlayer メーリングリストを購読している人たちは、 文書を面倒がって読まない人には、それが誰であれ反感を持ちます。 そのため、彼らにバグ報告をするときには、マニュアルを読んでください。
xine HOWTO にはすべてのプレイヤに一般的な性能向上についての章が含まれています。
最後に、読者が試みるかもしれない 有望なアプリケーションをいくつかあげます。
TV カードを使用することで、 TV 放送をコンピュータで見ることができます。 これらの多くは RCA コンポジットまたは S-video 入力端子を備えており、 FM ラジオチューナを装備したカードもあります。
FreeBSD は Brooktree Bt848/849/878/879 または Conexant CN-878/Fusion 878a をビデオキャプチャチップに採用した PCI TV カードに bktr(4) ドライバで対応しています。 対応しているチューナを搭載したボードかどうかを bktr(4) マニュアルページの一覧を参照して確認してください。
TV カードを使用するために bktr(4)
ドライバを読み込む必要があります。
/boot/loader.conf
ファイルに以下の行を追加してください。
あるいは、カーネルにドライバを静的に組み込むこともできます。 この場合、次の行をカーネルコンフィギュレーションファイルに追加します。
カードコンポーネントは I2C バス経由で連結されているため、 bktr(4) ドライバに加えてこれらのデバイスドライバが必要になります。 編集したら新しいカーネルを構築し、インストールします。
システムにドライバを追加したら、計算機を再起動してください。 起動時に TV カードは以下のように認識されるでしょう。
もちろん、これらのメッセージはハードウェアに応じて異なります。 とはいえ、チューナが正しく検知されているかどうか確認するべきです。 sysctl(8) による MIB の設定や、 カーネルコンフィギュレーションファイルオプションで、 検知されたいくつかのパラメータを変更できます。 たとえば、チューナを Philips SECAM チューナとして検知されるようにするには、 カーネルコンフィギュレーションファイルに以下の行を追加します。
または、直接 sysctl(8) を使用して変更します。
# sysctl hw.bt848.tuner=6利用可能なオプションの詳細については bktr(4)
マニュアルページおよび /usr/src/sys/conf/NOTES
ファイルを参照してください。
TV カードを使用するためには、以下のアプリケーションの一つをインストールする必要があります。
multimedia/fxtv
はウィンドウ内に TV 映像を映します。
画像/音声/ビデオを取り込むこともできます。
multimedia/xawtv
も TV アプリケーションです。
fxtv と同様の機能があります。
misc/alevt
は文字放送 (ビデオテキスト/テレテキスト) のデコードと表示をします。
audio/xmradio
は TV カードに搭載された FM ラジオチューナを使用するためのアプリケーションです。
audio/wmtune
はラジオチューナのためのお手軽なデスクトップアプリケーションです。
他にも多くのアプリケーションが FreeBSD Ports Collection に収録されています。
TV カードに関する問題が起きたときには、 bktr(4) ドライバが本当にビデオキャプチャチップおよびチューナに 対応しているか、オプションが正しく設定されているかどうかをまず確認してください。 TV カードに関するサポートやさまざまな質問に関しては、 freebsd-multimedia メーリングリストに参加したり、 過去のアーカイブを検索してみてください。
MythTV はオープンソースの PVR ソフトウェアプロジェクトです。
このアプリケーションは、たくさんのアプリケーションやライブラリに依存するため、 Linux® の世界ではインストールが難しいアプリケーションとして認識されています。 FreeBSD ports システムは、インストールのほとんどのプロセスを自動化しますが、 ある部分は手動で設定しなければなりません。 この章は、MythTV の設定を助けるためのガイドです。
MythTV は、エンコーダやチューナなどのビデオ入力デバイスへのアクセスに
V4L を用いるように設計されています。
現時点では、multimedia/webcamd によりサポートされている
USB DVB-S/C/T
カードにおいて最もよく動作します。
なぜならば、webcamd は、V4L
ユーザランドアプリケーションを提供するためです。
webcamd に対応している
DVB
カードは、MythTV で動作するはずです。
動作することが知られているカードの一覧が ここ
にあります。
Hauppauge カードもまた、
multimedia/pvr250
および multimedia/pvrxxx
package として利用可能ですが、
標準的ではないドライバのインタフェースを提供しており、
0.23 より後の MythTV では動作しません。
HTPC は、DVB ドライバのすべての一覧を提供しています。
MythTV は、柔軟で、モジュール化されており、 異なるコンピュータでフロントエンドとバックエンドを利用できます。
フロントエンドとしては x11/xorg の X サーバとともに multimedia/mythtv-frontend が必要です。
フロントエンドコンピュータは、XvMC
に対応しているビデオカードを持ち、オプションとして、LIRC
互換のリモートコントローラを持っていることが理想的です。
バックエンドでは、MySQL™ データベースとともに multimedia/mythtv が必要です。
オプションで、録音のためにはチューナ、ストレージが必要です。
MySQL™ package は、multimedia/mythtv のインストール時に、
依存として自動的にインストールされます。
以下のステップで、MythTV をインストールしてください。 まず FreeBSD Ports Collection を用いて、 MythTV をインストールしてください。
# cd /usr/ports/multimedia/mythtv
# make installMythTV データベースを設定してください。
# mysql -uroot -p < /usr/local/share/mythtv/database/mc.sqlバックエンドを設定してください。
# mythtv-setupバックエンドを起動してください。
# echo 'mythbackend_enable="YES"' >> /etc/rc.conf
# service mythbackend startFreeBSD では、画像スキャナに対するアクセスは SANE (Scanner Access Now Easy) API によって実現されており、 FreeBSD Ports Collection でも提供されています。 SANE はスキャナのハードウェアにアクセスするために FreeBSD デバイスドライバを使用します。
FreeBSD は SCSI 接続および USB 接続のスキャナのどちらにも対応しています。 設定を始める前に、 SANE がスキャナに対応しているか確認してください。 SANE には スキャナについての情報とその状況がまとめられている 対応デバイスの一覧 があります。
前述のように、FreeBSD はスキャナのインタフェースとして SCSI と USB の両方に対応しています。 スキャナのインタフェースによって、必要となるドライバが異なります。
GENERIC カーネルにはデフォルトで
USB スキャナに対応するためのデバイスドライバが搭載されています。
カスタムカーネルを使用する際には、
以下の行がカーネルコンフィグレーションファイルにあることを
確認してください。
適切なドライバを組み込んだカーネルで再起動後、 USB スキャナをシステムに接続します。 すると、メッセージバッファ (dmesg(8)) にスキャナが認識されたことを示すメッセージが出力されます。
これらの例では、スキャナが /dev/ugen0.2
デバイスノードを使用していることがわかります。
この例では、EPSON
Perfection® 1650 USB スキャナが使われています。
スキャナに付属しているインタフェースが SCSI であれば、
重要なのはどの SCSI ボードを使用すればよいか把握することです。
使用する SCSI チップセットによって、
カーネルコンフィグレーションファイルを調整する必要があります。
GENERIC カーネルは
一般に使用される SCSI コントローラのほとんどに対応しています。
NOTES ファイルを読んで、
適切な行をカーネルコンフィグレーションファイルに追加してください。
また、SCSI アダプタドライバに加えて、
以下の行をカーネルコンフィグレーションファイルに
記述する必要があります。
カーネルを適切にコンパイルしてインストールすると、 システムの起動時にデバイスがメッセージバッファに出力されるはずです。
システムを起動する際にスキャナの電源を入れてなければ、 camcontrol(8) コマンドを使用して SCSI バスをスキャンし、 以下のように手動でデバイスを検出させることもできます。
# camcontrol rescan all
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successfulすると、スキャナは SCSI デバイスの一覧に現れるでしょう。
# camcontrol devlist
<IBM DDRS-34560 S97B> at scbus0 target 5 lun 0 (pass0,da0)
<IBM DDRS-34560 S97B> at scbus0 target 6 lun 0 (pass1,da1)
<AGFA SNAPSCAN 600 1.10> at scbus1 target 2 lun 0 (pass3)
<PHILIPS CDD3610 CD-R/RW 1.00> at scbus2 target 0 lun 0 (pass2,cd0)SCSI デバイスについての詳細は、scsi(4) および camcontrol(8) のマニュアルページをご覧ください。
SANE システムは、
二つの部分、すなわちバックエンド
(graphics/sane-backends)
とフロントエンド
(graphics/sane-frontends)
に分割されています。
バックエンドはスキャナそのものに対するアクセスを提供します。
SANE の
対応デバイスの一覧
には、どのバックエンドが画像スキャナに対応しているかが記載されています。
デバイスを使用するためには、正しいバックエンドを決定するのは必須です。
また、フロントエンドはグラフィカルなスキャニングインタフェース
(xscanimage)
を提供します。
はじめに、
graphics/sane-backends
の port または package をインストールしましょう。
次に、sane-find-scanner コマンドを使用して、
SANE
システムで使用するバックエンドを検出します。
# sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3この出力から、 スキャナインタフェースの種類と システムに接続されているスキャナが使用するデバイスノードがわかります。 ベンダ名や製品のモデル名は表示されないかも知れませんが、 重要ではありません。
USB スキャナではファームウェアを読み込む必要がある場合があります。 これはバックエンドのマニュアルページで説明されています。 sane-find-scanner(1) と sane(7) のマニュアルページも読んでください。
スキャナがフロントエンドで認識されるか調べてみましょう。
デフォルトでは、SANE のバックエンドには
scanimage(1) と呼ばれるコマンドラインツールが付属します。
このコマンドを使用すると、
デバイスの一覧を表示したり画像を取得することができます。
-L オプションを使うと、
スキャナデバイスの一覧が出力されます。
# scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scannerまた、「USB インタフェース」 で使用した USB スキャナの例では、以下の出力が得られるでしょう。
# scanimage -L
device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scannerこれは、FreeBSD 8.X システムでの出力例であり、
'epson2:libusb:/dev/usb:/dev/ugen0.2' から、
使用しているスキャナのバックエンド名
(epson2) とデバイスノード
(/dev/ugen0.2) の情報を得ることができます。
何も出力が得られなかったり、
スキャナが見つからなかったというメッセージが表示されたら、
scanimage(1) はスキャナを認識できなかったのでしょう。
このような場合は、バックエンドの設定ファイルを編集し、
使用するスキャナデバイスを定義する必要があります。
/usr/local/etc/sane.d/
ディレクトリには、
バックエンドが使用するすべての設定ファイルがあります。
このデバイスの認識による問題は、
特定の USB スキャナで発生するものです。
たとえば、
「USB インタフェース」
で使用した USB スキャナは、
FreeBSD 8.X において正常に認識され動作します。
しかし、それより前のバージョンの
(uscanner(4) ドライバを利用する) FreeBSD では、
sane-find-scanner
コマンドを実行すると、以下のような情報が得られます。
# sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0スキャナは正しく検出されました。
USB インタフェースを使用し、
/dev/uscanner0
デバイスノードに接続されていることがわかります。
次に、スキャナが正しく認識されているかどうか確認してみましょう。
# scanimage -L
No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).スキャナが認識されなかったので、
/usr/local/etc/sane.d/epson2.conf
ファイルを編集する必要があります。
このスキャナのモデルは EPSON
Perfection® 1650 なので、
epson2 バックエンドを使用すればいいことがわかります。
バックエンドの設定ファイルに書かれているコメントを必ず読んでください。
設定ファイルを変更するのは非常に簡単です。
使用しているスキャナには不適切なインタフェースをすべてコメントアウトし
(今回の場合は、USB インタフェースを使用するので scsi
という語で始まる行をすべてコメントアウトします)、
ファイルの末尾に使用するインタフェースとデバイスノードを追加します。
この例では、以下の行を追加しました。
詳細と使用すべき構文は、 バックエンドのマニュアルページはもちろんのこと、 バックエンドの設定ファイルに書かれているコメントも読んでください。 以上の設定で、スキャナが認識されたかどうかを確認できます。
# scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scannerUSB スキャナが認識されました。
ブランドやモデルがスキャナに一致しなかったとしても、それほど重要ではありません。
着目すべきは `epson:/dev/uscanner0' という部分で、
バックエンド名とデバイスノードが正しく認識されていることがわかります。
scanimage -L
コマンドを実行してスキャナが認識されたことがわかれば、設定は終了です。
デバイスはスキャンする準備ができました。
scanimage(1) コマンドを使用すると
コマンドラインから画像を取得することができます。その一方で、
GUI を使用して画像を取得できると一層良いでしょう。
SANE
は、簡素ですが役に立つグラフィカルなインタフェース
xscanimage
(graphics/sane-frontends)
を提供しています。
Xsane
(graphics/xsane)
はもう一つのグラフィカルなスキャニングフロントエンドで、
人気があります。
Xsane
には、さまざまなスキャニングモード (写真、FAX など)、
色補正、バッチスキャンなど先進的な機能があります。
これらのアプリケーションの両方とも GIMP
のプラグインとして使用することができます。
前述の操作には、
すべて root 権限が必要となります。
しかしながら、他のユーザがスキャナに
アクセスできるようにすることも可能です。
そのためには、スキャナが使用するデバイスノードへの
読み込み権限と書き込み権限をユーザに与えます。
一例として、USB スキャナが、/dev/ugen0.2
デバイスノードを使用しているものとします。
このデバイスノードは、
/dev/usb/0.2.0 へのシンボリックリンクです
(/dev ディレクトリを調べると、
簡単に確認できます)。
シンボリックリンクとデバイスノードは、
それぞれ wheel および
operator グループが所有しています。
ユーザ を
これらのグループに加えると、彼はスキャナを使用できるようになります。
もちろん、ユーザをどんなグループ
(特にグループ joewheel) に追加する時はいつでも、
セキュリティ上の理由から二度は検討を行うべきです。
良い方法は、USB デバイスを利用するためにグループを作成し、
このグループに対してスキャナデバイスを利用できるようにすることです。
例として、
という名前のグループを使用します。
まず最初に、pw(8) コマンドを使ってグループを作成します。usb
# pw groupadd usbその後、シンボリックリンク /dev/ugen0.2
および、/dev/usb/0.2.0 デバイスノードに対して、
usb グループが利用できるように適切な許可属性
(0660 または 0664)
を設定する必要があります。
デフォルトでは、これらのファイルの所有者
(root) のみが書き込み可能です。
/etc/devfs.rules
に次の行を追加してください。
最後に、スキャナを利用するユーザを
グループに追加します。usb
# pw groupmod usb -m joe詳細については、pw(8) のマニュアルページをご覧ください。
カーネルは FreeBSD オペレーティングシステムの中核をなすものです。 カーネルは、メモリ管理、セキュリティ制御の強制、ネットワーク、 ディスクアクセスなどを担っています。 FreeBSD は動的に構成することができるようになっていますが、 まだ、時にはカスタムカーネルを設定してコンパイルする必要があります。
この章では、以下のことを扱っています。
いつカスタムカーネルの構築が必要になるか。
カーネルコンフィグレーションファイルのカスタマイズの方法。
カーネルコンフィグレーションファイルから新しいカーネルを構築する方法。
新しいカーネルのインストール方法。
うまく行かないときの問題解決法。
この章で表示されているすべてのコマンドは、
root 権限で実行する必要があります。
伝統的に、FreeBSD は 「モノリシック」 (monolithic) カーネルを使っていました。 このカーネルは、単一の巨大なプログラムで、 扱えるデバイスは固定されていて、 カーネルの振る舞いを変えたければ新しいカーネルを構築して、 コンピュータを再起動して新しいカーネルを動かさなれければならなかったということです。
今日では、FreeBSD カーネルのかなりの機能はモジュールに含まれるようになり、 必要に応じて動的にカーネルに組み込んだり外したりできるようになりました。 この移行により、動いているカーネルが新しいハードウェアに迅速に対応したり、 カーネルに新たな機能を取り入れられるようになります。 このようなカーネルは、モジュラ (modular) カーネルと呼ばれます。
しかしながら、いまだにいくらかは静的にカーネルを構成する必要があります。 機能がカーネルとあまりに密接に結びついているため、 動的に組み込むことができない場合があるためです。 セキュリティ的に、カーネルモジュールを読み込んだり外すことができず、 必要となる機能を静的にカーネルにコンパイルしなければならない場合もあります。
システムに合わせたカーネルを構築することは、多くの場合、
高度な知識を持つ BSD ユーザが避けて通ることのできない通過儀礼です。
この作業は多くの時間を必要としますが、FreeBSD
システムに利益をもたらします。
広範囲のハードウェアをサポートしなければならない
GENERIC カーネルとは異なり、カスタムカーネルは、
使用しているコンピュータのハードウェアのみをポートするように、
必要のない機能を省くことができます。これは、
次にあげるような利益をもたらします。
素早く起動します。 カーネルはシステム上にあるハードウェアしか検出しないので、 システムの起動にかかる時間を短くできます。
メモリの消費量を減らすことができます。
システムに合わせたカーネルは、
使用しない機能やデバイスドライバを含まないので、
大抵 GENERIC
カーネルより少ないメモリしか消費しません。
カーネルコードは常に物理メモリ上に存在し、
アプリケーションはその容量分のメモリを使用できないので、
これは重要なことです。
したがって、メモリが少ないシステムでは、
カーネルの再構築は重要です。
追加のハードウェアをサポートします。
カスタムカーネルは、GENERIC
カーネルに存在しないデバイスのサポートを追加することができます。
カーネルコンフィグレーションの冒険を始める前に、 コンピュータのハードウェア一覧を作成すると良いでしょう。 もし、FreeBSD 以外のオペレーティングシステムがすでにインストールされているのであれば、 現在インストールされているオペレーティングシステムの設定を調べることで、 一覧を作成できます。 たとえば、Microsoft® の デバイスマネージャ は、インストールされているデバイスに関する情報を持っています。
Microsoft® Windows® のバージョンによっては、 デバイスマネージャ にアクセス可能なウィンドウを表示する システム アイコンがあります。
もし他のオペレーティングシステムがコンピュータにインストールされていないのであれば、 管理者はこれらの情報を手動で収集する必要があります。 情報を集める方法のひとつが、dmesg(8) と man(1) を用いる方法です。 FreeBSD のほとんどのデバイスドライバにはマニュアルページが用意され、 対応しているハードウェアの一覧を提供しています。 また、起動時には検出されたハードウェアの一覧が表示されます。 たとえば、以下の行は、psm(4) ドライバがマウスを検出したことを示しています。
このドライバがカスタムカーネルコンフィグレーションファイルに含まれている、 もしくは loader.conf(5) によって読み込まれる必要があります。
場合によっては、dmesg が起動時の検出結果ではなく、
システムメッセージだけを表示することがあります。
このような場合には、/var/run/dmesg.boot
で出力を確認できます。
ハードウェアを見つけるためのもうひとつの方法は、 より冗長な出力を行う pciconf(8) を用いる方法です。 たとえば、以下のようになります。
この出力は pciconf
を用いて得られ、
-lvath
ドライバがワイヤレスイーサネットデバイスにあることを示しています。
man を実行して
ath(4) を読んでください。ath
man(1) を -k フラグで実行すると、
有用な情報を得ることができます。たとえば、
ある特定の単語を含むマニュアルページの一覧を表示するには、
以下のようになります。
# man -k Atherosハードウェアの一覧を作っておくと、 カスタムカーネルを構築する過程であわてずにすむでしょう。