なぜソースベースのディストリビューションを使うのか?
現在、ほとんどの Linux ディストリビューションはプリコンパイルパッケージを提供しています。これは、ディストリビューションが開発者のマシンでパッケージをビルドすることを意味します。
パッケージのコンパイルは、今日の高帯域幅の世界では必ずしも問題ではありませんが、そのディストリビューションモデルでは、考慮すべき問題がいくつかあります。- コンパイルされたバイナリは、プログラムがどのようにコンパイルされ、どのような機能がプログラムに含まれるかを制御できないことを意味します。
- バイナリに依存するということは、そのディストリビューションの開発者が悪意のあるコードをリポジトリに含めないことを全面的に信頼することを意味します。
なぜGentooを使うのか?
理由は簡単です。Gentooは強力なLinuxディストリビューションです。ほとんど無制限にアクセスでき、システム全体を変更したり修正したりする自由を与えてくれます。
Gentooの心臓部であるPortage
PortageはGentoo Linuxシステムを管理するメインコンポーネントです。サードパーティーのパッケージをインストールし、管理し、調整します。さらに、portageは基本的なシステム設定も管理します。
Portageが提供する主な違いは、パッケージをそのソースからインストールすることができる点です。これは他のディストリビューションでも可能ですが、Portageはさらに一歩進んで、パッケージを入手するためのデフォルトの手段にしています。Gentooの入手
Gentooのコピーは、そのウェブサイトから入手することができます。そこでは、多くの異なるプラットフォームからインストーラを選択することができます。Gentooはamd64とarm64の両方をサポートしています。
ダウンロードしたISOファイルを使って、balenaEtcherのようなUSBライティングプログラムを使って、ブータブルフラッシュドライブを作成できます。Gentoo Linuxのインストール
Gentooのインストールを続ける前に、このプロセスは完全に手動であり、途中で多くのコマンドを実行することになることに注意することが重要です。そのため、このガイドを参照するだけでなく、Gentooの公式ハンドブックもチェックして、インストール中にさらなるガイダンスを得ることをお勧めします。
フラッシュドライブをコンピュータに刺し、起動してください。Gentooインストーラの画面が表示されます。ネットワーク接続のセットアップ
Gentooをインストールするには、インターネットに接続する必要があります。インストーラーは、有線接続で自動的に接続します。そこから、以下のコマンドを実行して、オンラインかどうかを確認します。
ping -c 5 maketecheasier.com
ワイヤレスネットワークに接続する必要がある場合、wpa_supplicant をセットアップする必要があります、これによりワイヤレスアクセスポイントに接続することができます。
wpa_passphrase 'Your_SSID_Here' 'Your_Password_Here' >> /etc/wpa_supplicant/wpa_supplicant.conf
完了したら、以下のコマンドを実行して、ネットワーク接続を開始するために dhcpcd
デーモンを再ロードする必要があります。
rc-service dhcpcd restart
ハードディスクのパーティション分割
次に、Gentoo をインストールするディスクをフォーマットする必要があります。これは fdisk
コマンドで簡単に行えます。
fdisk /your/disklabel
既存のディスクパーティション構造がわからない場合は、-l
フラグで確認してください。
fdisk -l
fdisk を使ってハードディスクをパーティション分割する
fdisk に入ったら、まず既存のパーティションがないかディスクを消去する必要があり ます。プロンプトで G
を押して、それを行います。
-
N
を押して、新しいパーティションを作成することを fdisk に伝えます。Fdisk はあなたが使いたいパーティション番号を聞いてきます。Enter` を押すとデフォルトが使用されます。
2. Fdiskはパーティションの最初と最後のセクタを尋ねてきます。最初のセクタは Enter
を押し、最後のセクタはサイズを指定します。この一般的な構文は比較的簡単です。
+size(G|M|K)
- 記号は、選択した最初のセクタからの相対的なサイズを指定することを fdisk に伝えます。
- サイズは自分で指定する数字です。
- 最後のオプションは、サイズが GB、MB、KB のどれであるかを fdisk に伝えます。
UEFI Gentoo システムのパーティション設定
これでディスクのパーティショニングが完了しました。この作業は BIOS システムか UEFI システムかによって大きく異なります。
もしあなたが比較的新しいハードウェアを持つ最新のコンピュータを使っているなら、UEFI システムを使っている可能性があります。 UEFI 互換ディスクを作成するには、まず “EFI システム” パーティションを作成する必要があります。これはディスクの最初のパーティションで、100-256MB ほどの大きさであるべきです。
それが終わったら、T
を押してパーティションのタイプを “EFI System” に設定します。これで fdisk に今作成したパーティションのタイプを変更したいことが伝わります。そこから、どのタイプのパーティションにするか聞いてきます。1`と入力します。
残りのディスクのパーティション設定
次に作るパーティションは Linux カーネルとブートローダが保存されている “/boot” パーティションです。
このパーティションは500M-1G程度が理想的です。私の場合、このパーティションは1Gに設定しています。 そこから、SWAPパーティションを作成します:ハードディスクの一部で、RAMが容量不足になったときに動的にメモリをスワップするためにアクセスできるパーティションです。 SWAPのサイズの一般的なルールは、あなたのシステムで持っているメモリの量の1/2から2倍です。私のノートパソコンには現在8GBのメモリが搭載されているので、SWAPサイズを16GBに設定しました。 さらに、このパーティションをSWAPとして適切に設定するために、そのタイプを “19” に設定します。最後に、システムの残りがインストールされるルートパーティションを作成します。ディスクの残りを割り当てるには、新しいパーティションを作成するときに、Last Sector オプションで Enter
を押すだけです。
それが終わったら、P
を押して今作成したパーティションテーブルを確認します。
Gentooでディスクをフォーマットする
次のステップはハードディスクをフォーマットすることです。まず、以下のコマンドでEFIシステムパーティションをFATでフォーマットします。
mkfs.vfat /dev/sda1
これで、EFIシステムが起動するのに必要なFATファイルシステムが作成されます。そこから、よりシンプルな ext2 ファイルシステムを使用して、"/boot" パーティション用のファイルシステムを作成します。
mkfs.ext2 /dev/sda2
次に、SWAPパーティションを作成して有効にし、Gentooにこのパーティションがライブメモリとのスワッピングに使用できることを知らせます。そのために、以下を実行します。
mkswap /dev/sda3
swapon /dev/sda3
最後に、以下のコマンドを実行して、ルートパーティションにext4ファイルシステムを作成します。
mkfs.ext4 /dev/sda4
Gentoo Stage 3 Tarball をダウンロードする
これからマシンのハードディスクにインストールするので、先ほど作成したルートパーティションを “/mnt/gentoo” ディレクトリにマウントしてください。
mount /dev/sda4 /mnt/gentoo && cd /mnt/gentoo
終わったら、gentoo.org のウェブサイトからステージ3の tarball を wget を使ってダウンロードします。
wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20220227T170528Z/stage3-amd64-desktop-openrc-20220227T170528Z.tar.xz
この tarball には、最小限の Linux インストールに必要なすべてのプログラムが含まれています。tarを使って解凍してください。
tar xpvf ./stage3-amd64-desktop-openrc-20220227T170528Z.tar.xz --xattrs-include='\*.\*' --numeric-owner
ダウンロードミラーの選択とDNS情報のコピー
mirrorselectコマンドを実行して、このシステム用のパッケージをダウンロードする場所を指定します。
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
TUI プログラムが表示され、最も近いサーバーの場所を選択することができます。
そこから、Gentooのリポジトリファイルを"/etc/portage “フォルダにコピーします。これは、Gentooがパッケージをダウンロードする方法へのリンクを含む設定ファイルです。mkdir -p /mnt/gentoo/etc/portage/repos.conf && \.
cp /mnt/gentoo/usr/share/portage/config/repos.conf \.
/mnt/gentoo/etc/portage/repos.conf/gentoo.conf
最後に、ルートディレクトリをハードディスクに変更してもネットワークが動作するように、USBインストーラから”/mnt/gentoo “ディレクトリにリゾルバ情報をコピーしてください。これを行うには、以下のコマンドを実行します。
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/ を実行します。
デバイスファイルのマウントとChroot化
USBインストーラからハードディスクに特別なディレクトリをマウントし、chrootを実行した後でも使用している周辺機器が動作することを確認します。
mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
マウント -バインド /run /mnt/gentoo/run
mount --make-slave /mnt/gentoo/run
USBインストーラーで最後に行うことは、chrootコマンドを実行して、ベースとなるルートディレクトリをUSBからハードディスクに移動することです。
chroot /mnt/gentoo /bin/bash
ソース /etc/profile
export PS1="[chroot] ${PS1}".
/bootパーティションのマウントとGentooのアップデート
Gentoo マシンに “/boot” パーティションをマウントして、後でカーネルをインストールするときに正しい場所に保存されるようにします。
マウント /dev/sda2 /boot
mkdir /boot/efi
マウント /dev/sda1 /boot/efi
これが終わったら、最初のシステムアップデートをするときに最新のパッケージを入手できるようにGentooリポジトリを更新します。
emerge-webrsync
ここから、emerge-webrsync
が選択したミラーに接続し、Gentoo で利用可能な最新の EBUILDS をダウンロードします。
初めてのGentooシステムアップデート
この emerge コマンドを実行することで、最新の EBUILDS に合わせてシステムを更新することができます。
emerge --ask --verbose --update --deep --newuse @world
これは emerge に Stage 3 パッケージをチェックして、現在 Gentoo リポジトリにあるパッケージをチェックするように要求します。Emerge はより新しいバージョンのパッケージを見つけると、それを更新します。
Emerge は更新する必要のあるパッケージをそれぞれ取得してコンパイルするので、このプロセスにはしばらく時間がかかります。タイムゾーンとロケール
次に、地域固有の情報を設定する必要があります。これには、タイムゾーンとシステムロケールの両方が含まれます。タイムゾーンをあなたの地域に設定するには、"/usr/share/zoneinfo” フォルダにリストされた、あなたに最も近い場所を見つけます。
そこから、"/etc/timezone “ファイルに書き込んでください。例えば、私に一番近い場所は “Asia/Manila “です。echo "Asia/Manila" > /etc/timezone
emerge --config sys-libs/timezone-data
Gentooがコンピュータのデフォルトのシステム言語を決定するために、あなたのロケールを設定してください。これを行うには、"/etc/locale.gen” ファイルを編集してください。
nano -w /etc/locale.gen を編集してください。
そこから、Gentooに使わせたいロケールを追加してください。usr/share/i18n/SUPPORTED” ファイルをチェックすれば、利用可能なロケールの全リストを見ることができます。私の場合、システムはU.S. Englishロケールを使用したいです。
en_US ISO-8859-1
en_US.UTF-8 UTF-8
その後、locale-gen を実行して、システムロケールを再作成します。
Linuxカーネルのインストール
GentooのLinuxカーネルをインストールするには、複数の方法があります。手動ですべての機能を設定するか、Gentooの開発者が提供するビルド済みカーネルを使用するかです。ここでは、後者を選択します。
ビルド済みのLinuxカーネルをインストールするには、次のコマンドを実行して、installkernelパッケージとカーネル自体の2つをインストールしてください。emerge --ask sys-kernel/installkernel-gentoo sys-kernel/gentoo-kernel-bin
fstab を設定する
カーネルがインストールされたら、fstab ファイルを入力します: 起動時に Gentoo にどのパーティションをどこにマウントするか伝えるファイルです。このファイルを編集するには以下のコマンドを実行してください。
nano -w /etc/fstab
fdisk で作成した全てのパーティションを表示します。例えば、UEFI システムの場合、fstab ファイルは以下のようになります。
[...]
/dev/sda1 /boot/efi vfat defaults 0 2
/dev/sda2 /boot ext2 defaults,noatime 0 2
/dev/sda3 none swap sw 0 0
/dev/sda4 / ext4 noatime 0 1
ルートパスワードの設定
ここから、システムのルートパスワードを設定します。デフォルトでは、ステージ3のtarballはルートアカウントにランダムなパスワードを設定します。
ここでパスワードを追加しておかないと、一度再起動したときにアクセスできなくなります。rootのパスワードを変更するには、以下を実行してください。passwd
追加ツールのインストール
完了したら、Gentooシステムに必要なサードパーティツールを追加でインストールします。例えば、イーサネットとワイヤレス接続の両方が必要な場合、以下をインストールしてください。
emerge --ask net-misc/dhcpcd net-wireless/iw net-wireless/wpa_supplicant
rc-update add dhcpcd default
さらに、システムの挙動を監視したい場合は、システムロガーをインストールすることができます。
emerge --ask app-admin/sysklogd
rc-update add sysklogd default
また、よく使うファイルシステムのユーティリティをインストールすることもできます。
emerge --ask sys-fs/dosfstools sys-fs/ntfs3g
ブートローダーのインストール
ここから、Gentooのインストールの最終段階はブートローダです。ブートローダはBIOSとLinuxカーネルの間に位置するシンプルなプログラムです。その機能は BIOS にカーネルをロードするよう指示することであり、カーネルはオペ レーティングシステムをブートストラップします。
GRUBブートローダをインストールするには、次のコマンドを実行してください。emerge --ask sys-boot/grub
インストールが完了したら、以下のコマンドを実行して、GRUBを適切に初期化および設定します。
grub-install --target=x86_64-efi --efi-directory=/boot/efiを実行してください。
grub-mkconfig -o /boot/grub/grub.cfg
後は、USBインストーラーをアンマウントして、以下を実行してシステムを再起動するだけです。
終了
cd
umount -l /mnt/gentoo/dev{/shm,/pts,}.
umount -R /mnt/gentoo
システムが再起動すると、新しくインストールされたGentoo Linuxシステムがお出迎えします。そこから、あなた自身のカスタムLinuxディストリビューションを構築するために、基本的なソフトウェアやパッケージのインストールを開始してください。
しかし、どのデスクトップ環境をインストールしたらいいかわからない場合は、私たちが考えるLinuxのベストなデスクトップ環境についての記事をご覧ください。よくある質問
1. Gentooでコンパイル時間を短縮する方法はありますか?
はい!「/etc/portage/make.conf」ファイルにいくつかの値を追加することで、Gentooでのコンパイル時間を大幅に短縮することができます。例えば、以下の値を設定して、プログラムのコンパイル時にコンピュータがコアのほとんどを利用できるようにします。
MAKEOPTS="-j4" # この数値は、あなたのコンピュータの CPU コアの量に応じて変更する必要があります。
MAKEOPTS="-j4" # この値は、お使いのシステムの CPU コアの数に応じて変更する必要があります。
2. システムが起動しませんでした! GRUBは表示されたのですが、起動した後、真っ白になってしまいました。
これは多くのことが原因である可能性があります。最も一般的な理由の一つは、fstab ファイルが適切にセットアップされていないことです。USBインストーラを接続し、ハードディスクにchrootするために行った手順でこれを修正してください。
3. Xorg がフォントを表示しません。何か問題がありますか?
これは、Xftが正しくインストールされていないことが原因である可能性が高いです。プログラムをインストールする際には、コンパイルするプログラムが X 互換のフォントを使うように、make.conf に “Xft” USE フラグを追加しておく必要があります。そのためには、/etc/portage/make.conf に次の行を追加してください。
USE="xft"
画像引用: Unsplash