Gentoo Linuxは、そのカスタマイズ可能性と柔軟性によって知られています。パッケージをビルドするために使用されるPortageパッケージマネージャーは、各パッケージの依存関係を自動的に解決し、ビルド時に必要なライブラリを自動的にインストールします。このため、システムのセットアップは、他のLinuxディストリビューションに比べて複雑で時間がかかりますが、最終的なシステムは非常に高速で最適化されています。
Gentoo Linuxは、安定性、セキュリティ、および最適化のバランスを取ることを目指しています。Gentooは、安定性が最優先のDebianやUbuntuなどのディストリビューションとは対照的に、最新のソフトウェアを使用することを推奨しています。
また、Gentoo Linuxは、カーネルやミドルウェアなどのソフトウェアのオプションを柔軟に設定できます。これにより、システムをより最適化できます。
Gentoo Linuxの利点は、高いカスタマイズ性と柔軟性にあります。Gentooはビルドシステムであり、パッケージをビルドしてインストールする際に様々なオプションを選択できます。これにより、システムを自分のニーズに合わせて最適化することができます。また、Gentooは新しいパッケージがリリースされたときに比較的早くアップデートされるため、最新のソフトウェアを使用することができます。さらに、Gentooはユーザーコミュニティがアクティブであり、よく整備されたドキュメントがあるため、問題が発生した場合にはサポートを受けることができます。
Gentoo Linuxは2002年に誕生しました。Daniel Robbinsが開発を始め、最初のリリースは2002年3月31日に行われました。Gentooは、ソースコードを使用してビルドされるLinuxディストリビューションであり、ユーザーがシステムを最適化できるように設計されています。Gentooは、特にパッケージマネージャーであるPortageによって知られています。Portageは、Gentooパッケージのダウンロード、インストール、設定、アップグレードを管理するためのフレームワークです。Gentooは、長いサポートサイクルと、高度なパッケージ管理機能を提供することで、多くの開発者やユーザーに支持されています。
Gentoo Linuxのインストールメディアをダウンロードします。
公式サイトから入手可能です。
ISOイメージをUSBメモリーに書き込むには、`dd`コマンドを使用します。
起動用USBメモリーからGentoo Linuxを起動します。
起動時に、Linuxカーネルのパラメータを設定する必要がある場合があります。
Gentoo Linuxのインストールプログラムを起動します。
インストール方法を選択します。
例えば、システム全体をインストールする場合は「完全インストール」を選択します。
インストール先のドライブを選択します。
必要に応じてディスクパーティションを行ってください。
インストール設定を確認します。
Gentoo Linuxをインストールします。
インストール後、必要な設定を行ってください。
Gentoo Linuxは、主にコマンドラインインターフェース（CLI）を使用します。CLIを使用することにより、ユーザーはシステムの完全な制御を得ることができます。以下は、Gentoo Linuxでよく使われるコマンドのいくつかです。
ls：現在のディレクトリの内容を表示します。
cd：ディレクトリを変更します。
mkdir：新しいディレクトリを作成します。
rm：ファイルやディレクトリを削除します。
mv：ファイルやディレクトリを移動します。
cp：ファイルをコピーします。
chmod：ファイルやディレクトリのアクセス権を変更します。
chown：ファイルやディレクトリの所有者を変更します。
ps：現在実行されているプロセスのリストを表示します。
top：システムのリソース使用状況をリアルタイムで表示します。
grep：与えられたタームを含むファイルを検索します。
sed：与えられたパターンに一致するテキストを置換することができます。
awk：与えられたパターンを処理して扱います。
Gentoo Linuxは、Linux標準ファイルシステム階層（FSH）標準に従っています。主なディレクトリは以下の通りです。
/：ルートディレクトリ。すべてのファイルやフォルダはここに配置されます。
/bin：基本的なコマンドを含むバイナリファイル。
/boot：カーネルイメージやブートローダの設定などを含むファイル。
/dev：デバイスファイルを含むディレクトリ。
/etc：システム全体の設定を含むファイル。
/home：一般ユーザーのホームディレクトリ。
/lib：共有ライブラリを含むファイル。
/media：リムーバブルメディアのマウントポイント。
/mnt：一時的なマウントポイント。
/opt：サードパーティのパッケージをインストールするためのディレクトリ。
/proc：プロセス情報を含むファイルシステム。
/root：rootユーザーのホームディレクトリ。
/run：ランタイムファイルを保持するディレクトリ。
/sbin：システム管理コマンドを含むバイナリファイル。
/sys：カーネル情報を提供するファイルシステム。
/tmp：一時ファイルが保持されるディレクトリ。
/usr：共有ライブラリ、システムバイナリ、マニュアル、ヘッダーファイルなどのファイルを含むディレクトリ。
/var：システムログ、インストールされたパッケージのリスト、プロセスIDなどのファイルを含むディレクトリ。
Gentoo LinuxのポートシステムであるPortageは、パッケージマネージャーであり、各パッケージの依存関係を解決し、ビルド時に必要なライブラリを自動的にインストールします。このため、ユーザーは依存関係を手動で解決する必要はありませんPortageは、USEフラグと呼ばれる機能をサポートしています。USEフラグは、各パッケージに対してどの機能を有効にするかを設定するために使用されます。たとえば、X11サポートを有効にするかどうか、GTKやQtなどのGUIツールキットを使用するかどうか、あるいはSSLサポートを有効にするかどうかなどが設定可能です。このように、ユーザーは必要な機能のみを有効にすることができ、システムの最適化をより細かく制御することができます。
また、PortageはGentoo Linuxのパッケージをソースコードからビルドするため、ユーザーは自分のシステムに最適なバイナリを生成することができます。これにより、CPUアーキテクチャや使用するソフトウェアのバージョンに応じた最適化を実行できます。
以下は、Portageで使用する主なコマンドです。
emerge：パッケージの検索、インストール、アップグレード、アンインストールを行います。
ebuild：Portageによって使用されるパッケージのビルドスクリプトを含むファイルです。
equery：Portageによって使用されるパッケージの問い合わせを行います。
eselect：インストールされているパッケージのバージョンを切り替えることができます。
layman：外部のPortageリポジトリを管理するためのツールです。
これらのツールを使用することで、Gentoo Linuxで必要なパッケージを簡単かつ効果的に管理することができます。
X Window Systemのインストール 最初に、X Window Systemをインストールする必要があります。次のコマンドを実行して、X Window Systemをインストールしてください。
 emerge xorg-server
xorg.confの生成 X Window Systemを設定するためには、xorg.confファイルを生成する必要があります。次のコマンドを実行して、xorg.confを生成してください。
 Xorg -configure
xorg.confの編集 生成されたxorg.confファイルを編集して、必要な設定を行います。例えば、マウスやキーボードのデバイスを設定することができます。
 nano /etc/X11/xorg.conf
X Window Systemの起動 最後に、X Window Systemを起動する必要があります。次のコマンドを実行して、X Window Systemを起動してください。
 startx
デスクトップ環境の選択 まず、使用するデスクトップ環境を選択する必要があります。Gentoo Linuxでは、多数のデスクトップ環境がサポートされています。例えば、KDE、GNOME、Xfce、MATEなどがあります。
デスクトップ環境のインストール 次に、選択したデスクトップ環境をインストールする必要があります。以下のコマンドを実行して、デスクトップ環境をインストールしてください。
 emerge 
デスクトップマネージャの設定 必要に応じて、デスクトップマネージャを設定する必要があります。デスクトップマネージャは、ログイン画面やセッションの管理を行います。例えば、KDEの場合は、KDMを設定する必要があります。
 rc-update add kdm default
デスクトップ環境の起動 最後に、デスクトップ環境を起動する必要があります。以下のコマンドを実行して、デスクトップ環境を起動してください。
 /etc/init.d/ start
アプリケーションの選択 まず、使用するアプリケーションを選択する必要があります。Gentoo Linuxでは、多数のアプリケーションがサポートされています。例えば、LibreOffice、Firefox、VLCなどがあります。
アプリケーションのインストール 次に、選択したアプリケーションをインストールする必要があります。以下のコマンドを実行して、アプリケーションをインストールしてください。
 emerge 
日本語入力の設定 日本語入力を使用する場合は、FcitxやIBusといった入力メソッドフレームワークを使用することができます。以下のコマンドを実行して、Fcitxをインストールしてください。
 emerge fcitx
日本語フォントのインストール 必要に応じて、日本語フォントをインストールする必要があります。以下のコマンドを実行して、IPAフォントをインストールしてください。
 emerge media-fonts/ipa-fonts
これらの手順を実行すれば、デスクトップアプリケーションのインストールが完了します。
Gentoo Linuxでは、システムの設定をするために/etc以下にある設定ファイルを編集することが基本的な方法となります。この章では、代表的な設定ファイルの編集方法や、システム設定に役立つツールについて説明されています。
Gentoo Linuxでシステムの設定をする上で最もよく編集する設定ファイルは、/etc/portage/make.confと/etc/fstabです。make.confは、システム全体のビルドオプションを設定するファイルであり、fstabは、ファイルシステムに対するマウント設定を行うファイルです。
Gentoo Linuxには、システム設定のために役立つツールがいくつかあります。例えば、システム時刻の設定にはntpdを使い、システムのパッケージ管理にはemergeを使います。また、システムログを監視するためのツールとしてsyslog-ngやlogrotateがあります。
このセクションでは、ユーザー管理について説明されています。ユーザーの作成や削除といった基本的な操作から、グループの管理や、プロセスの実行時にユーザー権限を変更する方法などが取り上げられています。
Gentoo Linuxでは、システムのログは/var/log以下に保存されます。この章では、ログの種類やログを監視する方法、ログローテーションの設定や、ログファイルの送信方法について説明されています。また、ログを解析するために、代表的なログ解析ツールについても触れられています。
ネットワークインターフェイスの命名規則を理解します。インターフェイスは、「eth0」、「wlan0」、「enp3s0」などの名前で識別されます。名前は、デバイスの種類、接続タイプ、スロット番号などを表します。
ネットワークインターフェイスを設定します。「/etc/conf.d/net」ファイルを作成し、インターフェイスのIPアドレス、ネットマスク、ゲートウェイなどを設定します。
「/etc/init.d/net.eth0」のようなスクリプトを使って、ネットワークインターフェイスを起動または停止します。
DHCPを使用して、インターネットに接続する場合は、「/etc/dhcpcd.conf」ファイルを編集し、DHCPクライアントを構成します。必要に応じて、Google DNSサーバー（8.8.8.8と8.8.4.4）を設定できます。
別の手順として、PPPを使用してインターネットに接続することもできます。PPPは、「pppoe-setup」ユーティリティーを使用して設定されます。
Gentoo Linuxには、ファイアウォール機能を提供する様々なツールがあります。いくつかのお勧めのツールには、iptables、ufw、およびshorewallがあります。
ファイアウォールルールを設定します。「/etc/iptables/iptables.rules」ファイルを使用して、ファイアウォールルールを手動で構成できます。ここには、入力、出力、転送規則が含まれます。
ファイアウォールの設定をテストして、ファイアウォールが正しく動作していることを確認します。
以下のコマンドを使用して、Apacheをインストールできます。
 emerge --ask www-servers/apache
設定ファイルは、/etc/apache2/httpd.confにあります。変更したい場合は、ファイルを編集してから/etc/init.d/apache2 restartを実行してください。
以下のコマンドを使用して、Nginxをインストールできます。
 emerge --ask www-servers/nginx
設定ファイルは、/etc/nginx/nginx.confにあります。変更したい場合は、ファイルを編集してから/etc/init.d/nginx restartを実行してください。
以下のコマンドを使用して、Postfixをインストールできます。
 emerge --ask mail-mta/postfix
設定ファイルは、/etc/postfix/main.cfにあります。変更したい場合は、ファイルを編集してから/etc/init.d/postfix restartを実行してください。
以下のコマンドを使用して、Dovecotをインストールできます。
 emerge --ask mail-libs/dovecot
設定ファイルは、/etc/dovecot/dovecot.confにあります。変更したい場合は、ファイルを編集してから/etc/init.d/dovecot restartを実行してください。
以下のコマンドを使用して、MariaDBをインストールできます。
 emerge --ask dev-db/mariadb
設定ファイルは、/etc/mysql/my.cnfにあります。変更したい場合は、ファイルを編集してから/etc/init.d/mysql restartを実行してください。
以下のコマンドを使用して、PostgreSQLをインストールできます。
 emerge --ask dev-db/postgresql-server
設定ファイルは、/etc/postgresql-/postgresql.confにあります。変更したい場合は、ファイルを編集してから/etc/init.d/postgresql- restartを実行してください。
Gentoo Linuxでは、パッケージを取得するために、Portageと呼ばれるパッケージ管理システムを使用します。Portageを利用するためには、まずリポジトリの同期を行う必要があります。リポジトリを同期することで、最新のパッケージ情報を取得できるようになります。リポジトリの同期は、以下のコマンドで行います。
 # emerge --sync
Gentoo Linuxでは、開発ツールをインストールすることで、C言語やC++言語などのプログラムを開発することができます。以下のコマンドで、基本的な開発ツールをインストールすることができます。
 # emerge -av gcc g++ make cmake
上記のコマンドで、GCCやG++などのコンパイラ、makeやcmakeなどのビルドツールがインストールされます。必要に応じて、追加の開発ツールをインストールすることもできます。
Gentoo Linuxでは、GCCとClangという2つのコンパイラが利用できます。GCCはGNU Compiler Collectionの略であり、C言語やC++言語などのプログラムをコンパイルするためのツールです。Clangは、LLVMプロジェクトの一部であり、C言語やC++言語などのプログラムをコンパイルするためのツールです。GCCとClangは、どちらも高速で高品質なコンパイルが可能であり、開発者にとっては選択肢の幅を広げることができます。
Gentoo Linuxでは、デフォルトのコンパイラとしてGCCが設定されていますが、clangをデフォルトコンパイラに変更することもできます。clangをデフォルトコンパイラにするには、以下の手順を行います。
clangをインストールする
 # emerge -av clang
デフォルトコンパイラをclangに変更するため、/etc/portage/make.confファイルを編集します。
make.confファイルに以下のように設定を追記します。
 CC=clang
 CXX=clang++
変更を反映させるため、システム全体の設定を更新します。
 # env-update && source /etc/profile
上記の手順を行うことで、clangがデフォルトコンパイラとして設定され、GCCではなくclangが利用されるようになります。ただし、clangでビルドできないパッケージもあるため、必要に応じてGCCを利用することもできます。
以下は、Gentoo LinuxのパッケージマネージャであるPortageの様々な設定ファイルについての説明です。
/etc/portage/make.conf: このファイルには、システム全体の環境変数やビルドオプションなどが定義されています。例えば、USEフラグの設定や、ビルドに使用するコンパイラの指定、インストール先のディレクトリの指定などが含まれます。make.confファイルは、システム全体の設定を行う場合に使用されます。
/etc/portage/package.use: このファイルには、USEフラグの設定をパッケージ単位で行うことができます。パッケージの依存関係を満たすために、必要なUSEフラグを設定することができます。例えば、gnomeパッケージに必要なUSEフラグを設定することができます。このファイルは、パッケージごとの設定を行う場合に使用されます。
/etc/portage/package.accept_keywords: このファイルには、安定バージョンではなく、テストバージョンのパッケージをインストールするためのキーワードを指定することができます。テストバージョンのパッケージをインストールする場合には、必ずしも安定した動作を保証されていないことに注意してください。
/etc/portage/package.mask: このファイルには、インストールを禁止するパッケージやバージョンを指定することができます。例えば、不安定なパッケージをインストールすることを禁止したり、古いバージョンのパッケージをインストールしないように指定することができます。
/etc/portage/package.unmask: このファイルには、package.maskファイルで禁止されているパッケージを再びインストールするための許可を与えることができます。ただし、再びインストールする前に、そのパッケージが安定した動作をすることを確認する必要があります。
/etc/portage/repos.conf: このファイルには、Portageが使用するリポジトリの設定を記述することができます。リポジトリは、パッケージのインストール元となる場所であり、Portageがパッケージを取得するために使用します。このファイルを編集することで、リポジトリの追加や削除、優先順位の変更など
総括すると、Gentoo Linuxは、高度にカスタマイズ可能なLinuxディストリビューションであり、最適化されたシステムを構築することができます。Portageパッケージマネージャーを使用することで、依存関係の自動解決や、必要なライブラリの自動インストール、ソフトウェアの機能を制御するUSEフラグなど、柔軟性や制御性に優れています。ただし、インストールに時間がかかることや、カスタマイズのためには一定の技術力が必要であることが欠点と言えます。
Gentoo Linuxは、サーバーやワークステーション、エンジニアリングワークステーションなど、高度な処理能力が求められる用途や、特定の機能を必要とするユーザーにとって適しています。また、学習や実験のためにも良い選択肢となります。
Gentoo Linuxのコミュニティは活発で、多数のパッケージやドキュメント、フォーラム、チャットルームなどが提供されています。そのため、ユーザーは必要な情報を入手しやすく、問題が生じた場合もサポートを受けることができます。
現在、Gentoo Linuxは安定版としてリリースされていますが、開発版も公開されており、最新のソフトウェアや機能を使用したいユーザーには開発版を使用することもできます。Gentoo Linuxは、自由で柔軟性が高く、高度なカスタマイズが必要なユーザーにとって、強力なツールとなるでしょう。