これらの質問と回答の多くは公式のGentooドキュメントやガイドに記述されていることに注意してください。 このガイドは単なる一般的な質問のリストです。 GentooとGNU/Linuxの動作についての理解を深めたり、ここでは回答されていない問題に対する回答を得るためにドキュメントやmanページを読んでください。
さあ、始めよう
インストール
パッケージ管理
使用方法
メンテナンス
開発
リソース
Gentooはどのように発音すれば良いですか? また、Gentooの意味は何ですか?
Gentooは「ジェンツー(gen-too)」と発音します。"Gentoo"の"g"は弱い"g"、"gentle"の"g"です。 Gentooペンギンの学名はPygoscelis papuaです。 Gentooの名前はフォークランド諸島の住民から来ています。
GentooはBSDのportに似たPortageと呼ばれるシステムを使用しています。 Portageはパッケージ管理システムのことで、 Gentooシステム上でとても柔軟にソフトウェアのインストールと管理を行ないます。 コンパイル時にオプションを選択(USEフラグ というものを通じて)をサポート、インストールされる予定のパッケージ一覧の表示、(sandboxを利用した)安全なインストールとアンインストール、システムプロファイル、 設定ファイルの保護機能や、さらに他にもいくつかの機能を備えています。
Gentooでは、あなたが選択した最適化を使用して、システム全体をソースから構築することができます。 完全に、どのパッケージをインストールするか、しないか、をコントロールすることができます。 Gentooは、数々の選択肢を提供します。だからGentooをあなた好みでインストールできます。これが、Gentooがメタディストリビューションと呼ばれている理由です。
Gentooはとてもアクティブに開発されています。 ディストリビューション全体で、すばやい開発スタイルが採用されています。 パッケージへのパッチはすばやくメインのツリーに反映され、 ドキュメントも日々更新され、Portageの機能もしばしば追加されます。そして、年二回の公式リリースがあります。
すべてがとても不安定です。 "-O9 -ffast-math -fomit-frame-pointer"の最適化をしています。 どうすればいいですか?
-O3より高い指定をわざわざ指定する必要はりません。 なぜならそれは現行のgccのバージョンではサポートされていないからです しばしば、とっても積極的な最適化は、コンパイラのストリームラインがとても強引に最適化されて、もはやコードが全く同じことを行わなくなっていることもあります。
bugレポートをする前に、CFLAGSを-O2 -march=<your_arch>としてコンパイルしてみてください。
どうやればルートパスワード(または一般ユーザのパスワード)を変えられますか?
passwd コマンドを使って、あなたがユーザとしてログインしているアカウントのパスワードを変えることができます。 rootユーザーは、passwd usernameコマンドで、どのユーザーのパスワードも変更することができます。他のオプションや設定については、インストールが完了してからman passwd を見て下さい。
adduser usernameコマンドで、usernameというユーザを作成できます。 しかし、この方法は、期待する多くの権限をそのユーザーに与えません。 そこで、以下のコマンドが適しています。
コード表示 3.1: useraddの使用 |
# useradd -m -G users,audio,wheel username
|
このコマンドは、"username"という名前のユーザを作成します。 オプションのaudioは、audioグループに追加し、サウンドデバイスへのアクセスを許可します。 オプションのwheelは、wheelグループに追加し、rootユーザの権限を得るためのsuコマンドの実行を許可します。
どうして一般ユーザから root に su できないのですか?
セキュリティ上の観点から、wheelグループに所属するユーザだけが suできます。 usernameをwheelグループに追加するには、root で次のコマンドを実行して下さい。
コード表示 3.2: ユーザーをwheelグループに追加する |
# gpasswd -a username wheel
|
Gentooをあるバージョンから他のバージョンへ、再インストールなしにアップグレードできますか?
実は、数々のリリース間でインストールをした後の違いはありません。 Gentoo 1.4とそれ以降ではglibc-2.3.xがベースになっています。 emerge --sync && emerge -uDN worldすることによって、システム全体が"最新のGentoo"になります。 個々のリリースの違いはインストール部分とあらかじめコンパイルされたパッケージにあります。 profileや、profileのアップグレードについての、より詳細な情報はGentoo Upgrading Guide(日本語訳)を参照してください。
すべてのインストールステップをすべてやり直す必要はありません。ただ、カーネルと、関連するステップを調査することが必要です。 /dev/hda1 (/boot)、/dev/hda3 (/)、/dev/hda2 swap にGentooをインストールしたと仮定します。
コード表示 3.3: カーネルの再構築 |
インストールCDで起動し、プロンプトが現われるまで待ちます。 最初にすべてのパーティションをマウントします。 # mount /dev/hda3 /mnt/gentoo # mount /dev/hda1 /mnt/gentoo/boot # swapon /dev/hda2 # mount -t proc none /mnt/gentoo/proc それからchrootをしGentoo環境の中に入り、カーネルの設定をします。 # chroot /mnt/gentoo /bin/bash # env-update && source /etc/profile # cd /usr/src/linux # make menuconfig 前回誤って指定したもの(または指定しなかったもの)を、修正します。 それから終了し、カーネルのコンパイルを行ないます。 # make && make modules_install 前回のカーネルにbzImageファイルを上書きでコピーします。 # cp arch/i386/boot/bzImage /boot<kernel_name> LILOを使用している場合。GRUBユーザーは飛ばしてください。 # /sbin/lilo chrootから抜けて、リブートします。 # exit # umount /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo # reboot |
もし、その一方で、問題がbootloaderの設定にある場合には、同じ手順を行ないますが、カーネルの設定/コンパイルの代わりに、bootloaderの再設定を行ないます。(リコンパイルは必要ないです。)
このしくみをPortageに自動的にやらせるには、 /etc/make.confに記述します。
コード表示 3.4: /etc/make.conf |
http_proxy="http://username:password@yourproxybox.org:portnumber" ftp_proxy="ftp://username:password@yourproxybox.org:portnumber" RSYNC_PROXY="rsync://username:password@yourproxybox.server:portnumber" |
rsyncでproxyを使用するためには、RSYNC_PROXY変数を以下のように設定してください。
コード表示 3.5: /etc/make.confのRSYNC用の設定 |
RSYNC_PROXY="username:password@proxy-server:port" |
rawモードでファイルを焼く必要があります。 これは、CDにそのファイルをただ置くのではなく、 そのファイルをCD全体として扱う必要があることを意味しています。
たくさんのCDを焼くツールが存在していますので、 すべてをここでカバーすると果てしないことになってしまいますので、 いくつかのポピュラーなツールにしぼって説明します。
最初に、どのCPUを使用しているかを知る必要があります。 ここでは、Pentium-Mであると仮定します。 次に、そのCPUと、インストラクションの意味で、どのCPUが互換性があるのかを知る必要があります。 これに関してはCPUベンダーのWebサイトを参照する必要がありますが、 Googleも同じくらい効果的でしょう。 :-)
よくわからない場合には、"下位"のCD/stageファイルを使用してください。例えば、i686やgeneric x86(または使用中のアーキテクチャでの同等のもの)があります。これは、システムが動くことを確実にしますが、より最適化したものに比べシステムが遅くなるかもしれません。
GentooがバイナリStageを構築する際に使用しているオプションよりも、もっとたくさんのオプションがあることに注意してください。 「-marchの設定は、gcc guideを参照ください。
リブートした後にネットワークが接続されません。何が間違ってるのでしょうか?
最初にネットワークカードが正しくカーネルによって認識されているかを確認する必要があります。 ifconfig -aを実行し、eth0またはwlan0(いくつかのワイヤレスネットワークカードの場合)を探してください。 ネットワークカードによっては、カーネルに正しく認識させるために、特定のカーネルモジュールをロードする必要があるかもしれません。 このケースでは、カーネルモジュールが/etc/modules.autoload.d/kernel-2.6(または2.4カーネルを使用している場合にはkernel-2.4)に記述されているかを確認してください。
構築したカーネルにネットワークカードのサポートを組み込むのを忘れていた場合には、 カーネルを再構築する必要があります。
カーネルによってネットワークカードが認識されていて、DHCPの設定を行っている場合には、 もしかしたらemerge dhcpcdのし忘れかもしれません。 インストールCDでリブートを行いdhcpcdをインストールする必要があります。
インストールCDを使用してシステムを復旧させるための情報はavailableにもあります。
GRUBまたはLILOを使用してWindowsを起動させたいのですが、真っ黒な画面だけが表示されてしまいます。どうすればいいでしょうか?
これはよく知られている問題です。 Windowsが最初のハードディスクにインストールされていないときに、Windowsは起動せず、黒い/何も表示されない画面を表示します。 これを解決するために、bootローダーを調整して、Windowsが最初のハードディスクにインストールされていると、Windowsを"だます"必要があります。 下記の例を参照してください。Gentooはhda(最初のディスク)に、 Windowsはhdb(二つ目のディスク)にインストールされています。 必要に応じてあなたの設定を調整してください。
コード表示 3.6: Windows用のデュアルブートのgrub.confの例 |
title Windows XP
map (hd1) (hd0)
map (hd0) (hd1)
rootnoverify (hd1,0)
chainloader +1
|
コード表示 3.7: Windows用のデュアルブートのlilo.confの例 |
other=/dev/hdb1
label=WindowsXP
table=/dev/hdb
map-drive = 0x80
to = 0x81
map-drive = 0x81
to = 0x80
|
これで、Windowsに最初のハードディスクにインストールされていると思い込ませ、問題なくbootさせることができます。 さらなる情報は使用しているブートローダーによって、GRUB documentation、またはman lilo.confを参照ください。
Stage1またはStage2のtarballを使用してGentooをインストールするにはどうしたらいいでしょうか?
GentooハンドブックはStage3のtarballを使用してのインストールのみを説明しています。 しかし、Gentooは現在もStage1とStage2のtarballを提供しています。 これは、開発目的(リリースエンジニアリングチームは、Stage3のtarballを作成するために、Stage1のtarballを使用します)ですので一般のユーザーは使うべきではないでしょう。Stage3のtarballは、 システムをbootstrapするためにとても良いです。接続されているインターネットが必要です。
bootstrapとは、すべてのコアシステムパッケージをインストールした後で、toolchain(Cライブラリとコンパイラ)を構築することです。 システムをbootstrapするために、stage3インストールを実行してください。 Configuring the Kernel(カーネル設定)の章を開始する前に、bootstrap.shを必要に合わせて編集してから、実行してください。
コード表示 3.8: システムをbootstrapする |
# cd /usr/portage/scripts # vi bootstrap.sh # ./bootstrap.sh |
次にすべてのコアシステムパッケージを新しく構築したtoolchainで再構築します。 Stage3のtarballがそれらを提供しているので、再構築する必要があります。
コード表示 3.9: コアシステムパッケージの再構築 |
# emerge -e system
|
これで、Configuring the Kernel章から続けることができます。 しかし、あらかじめビルドされたGRPパッケージを今後使用することはできません。
パッケージそれ自体は"格納"されていません。 その代わりに、依存関係を解決し、ソースコードを取得し、あなたのニーズにあったパッケージのバージョンをコンパイルするためのスクリプトのセットを提供します。 通常、私たちはリリースとスナップショットのためだけにバイナリパッケージを作成しています。 Gentoo Ebuild HOWTOは、ebuildスクリプトの中身について詳細に解説しています。
完全なISO CDのリリースのために、完全なバイナリパッケージ一式を.tar.bz2と互換性を持ちメタ情報をファイルの最後に付加した.tbz2の拡張形式で作成します。それらのパッケージは、パッケージを素早く、効率良くインストールすることに使われます(完全な最適化はされていませんが)。
GentooのPortageを使用してRPM(Redhat package managerファイル)を作成することは可能ですが、現在のところ既存のRPMをインストールすることはできまねん。
自分で./configure をしたいのですが、できますか?
はい。しかし簡単ではありませんし、推奨もされていません。 この方法はPortage内部とコマンドに関する豊富な知識を必要とするので、 その代わりにebuildにあなたがしたいことの修正を行い、あるPortageオーバーレイディレクトリにそのebuildを置くことが推奨されています(これがオーバーレイがある理由です)。これは非常に保守性が高いですし、一般的に簡単です。 さらなる情報は、Ebuild HOWTOを参照してください。
ファイアウォールの後ろから emerge を使うにはどうすればいいですか?
proxyや rsync、手動でのソースダウンロードを参照してください。
rsyncを許さないファイアウォールの後ろにいる場合には、 emerge-webrsyncコマンドを使用して、通常のHTTPプロトコルを通じてPortageスナップショットを取得し、インストールすることができます。 proxyを経由しての、Portageスナップショットのダウンロードの仕方は、 このドキュメントのproxyセクション にありますので、参照してください。
家には遅いモデムしかありません。ソースをどこかから取って来てシステムに加えることはできるでしょうか。
できます。emerge --pretend package することで、インストールされようとしているプログラムを見ることができます。 それらのパッケージがどのソースを使用し、どこからダウンロードするのかを知るためには、emerge -fp packageとします。 ソースをダウンロードして、好きなメディアで家に持ってきて下さい。 ソースを /usr/portage/distfiles/ に置いて、単純にemerge package をしてください。 ただし、この作業が退屈な作業であることを警告しておきます。
ソースtarボールが/usr/portage/distfilesに保存されます。 これらのファイルを消しても大丈夫ですか?
それらのファイルを削除することは、日々の動作には大きな悪影響を与えることはないでしょう。 特定のソフトウェアの同一バージョンに対する新しいebuildのリリースがしばしばされるので、最新のファイルを保持しておくのが賢いかもしれません。 ファイルを削除し、ソフトウェアをアップデートする際には、再度インターネットから再度そのファイルを取得する必要があります。
/usr/portage/distfiles/と他のいくつかの内容を管理するのにapp-portage/getoolkitにあるecleanスクリプトが使えます。 使い方について詳しくはman ecleanを読んでください。
/var/tmp/portageの中身は何ですか?/var/tmp/portageの中のファイルとディレクトリを削除しても問題ないですか?
コンパイル中、Gentooはパッケージのソースファイルを/var/tmp/portageに保存します。 これらのファイルとディレクトリは、通常インストールが正常に完成した際に削除されますが、ときどき失敗します。 emergeが実行されていない場合には、安全に削除することができます。 確認のために、削除する前にはpgrep emergeをして確認してください。
/etc/conf.d/keymapsのKEYMAPを編集してください。 拡張された文字をコンソールで正しく使用したい場合には、 /etc/conf.d/consolefontにCONSOLETRANSLATIONとCONSOLEFONTを設定する必要があるかもしれません(環境をさらにローカライズするためのさらなる情報は、our localisation guide(日本語訳)を参照してください)。 それから、rebootをするか、keymapとconsolefontのスクリプトを再起動してください。
コード表示 5.1: keymapsのリスタート |
# /etc/init.d/keymaps restart # /etc/init.d/consolefont restart |
/etc/resolv.conf のパーミッションが間違っています。次の様に chmodして下さい。
コード表示 5.2: /etc/resolv.confのパーミションの変更 |
# chmod 0644 /etc/resolv.conf
|
そのためにはユーザーをcronグループに加える必要があります。
システム起動時にnumlockをオンにしておく方法はありますか?
コマンドラインを使用している場合には、ただrc-update add numlock default &&/etc/init.d/numlock startを実行するだけです。
GUI毎に、この種のことをするための異なるツールが提供されています。 そのGUIのヘルプや、オンラインマニュアルをチェックしてください。
ログアウトしたときにターミナルをクリアするにはどうしたら良いですか?
ターミナルのクリアするためには、clearを~/.bash_logoutスクリプトに加えます。
コード表示 5.3: ログアウト時にターミナルをクリア |
$ echo clear >> ~/.bash_logout
|
新しいユーザーを加えたときに、自動的にこれをしたい場合には、/etc/skel/.bash_logoutを同様にします。
コード表示 5.4: 新しいユーザーがログアウト時にターミナルをクリアするようにする。 |
# echo clear >> /etc/skel/.bash_logout |
ReiserFS でファイルシステムの破壊が起きます。そうのような問題の修正方法。
もし、ReiserFSパーティションが壊れてしまったならば、Gentoo LinuxインストールCDで起動して、壊れたパーティション上でreiserfsck --rebuild-treeを実行してください。これはファイルシステムを修復するはずですが、パーティションが壊れたことによっていくつかのファイルやディレクトリを失う可能性があります。
私たちのBugzillaを使用してください。 もし、問題が実際のバグかどうか不確かな場合には、 IRC上の#gentooで聞いてみることもできますよ。
Gentooのパッケージは、オリジナルの開発者が新しいコードをリリースした後すぐに更新されます。 Gentoo自身の新しいステージ/profile/ISOリリースの作成については、 Release Engineering Projectページを参照してください。 また、新しいリリースはgentoo-announceメーリングリストでアナウンスされます。 さらなる情報は アップグレードに関する質問を参照してください。
スピーカーの音がうるさいです。どうやればコンソールビープをオフにできますか。
コンソールビープは、setterm を使うことでオフにできます。次の様にして下さい。
コード表示 7.1: settermの使用 |
# setterm -blength 0
|
もし、console beep をブート時にオフにしたければ、/etc/conf.d/local.start にこのコマンドを加えて下さい。ただし、これでは現在のターミナルしかビープを無効にできません。 他のターミナルのビープも無効にするには、コマンドの出力を、無効にしたいターミナルに次の様にパイプして下さい。
コード表示 7.2: settermを使用する |
# setterm -blength 0 > /dev/vc/1
|
/dev/vc/1 は、自分がビープを無効にしたいターミナルに置き換える必要があります。
どこで Gentoo Linux に関する情報をもっとみつけられますか?
公式ドキュメントはhttp://www.gentoo.org/doc/en/(日本語訳はhttp://www.gentoo.org/doc/ja/)で入手可能です。
すべてのアーキテクチャ用のインストールCDが私たちのGentoo Storeにあります。 私たちの店舗で購入すると、あなたは私たちの開発をサポートすることにもなります。 もしよろしければ購入を検討してください。
また、Get Gentoo!のページにあるお店から最新のCDを手に入れることができます。
この FAQ は、私の質問には答えてくれていません。どうすればいいでしょう。
最初に、ドキュメンテーション(日本語訳)で適当な文書を探しましょう。 もしなければ、Googleにある様々な Gentoo Linux の ML を探して下さい。 Gentooメーリングリスト検索する場合には、ただ"lists.gentoo.org foo"と入力するだけです。"foo"が探したいものです。 すべての方法が失敗した場合や、Gentooの人たちに会ってみたいときは 私たちのirc:#gentooを訪れてください。
このドキュメントの内容は Creative Commons - Attribution / Share Alikeライセンスです。