UEFIマシンでのArch Linuxのインストールと構成

Arch Linuxは、そのシンプルさと最先端のソフトウェアパッケージにより、最も多目的なGNU Linuxディストリビューションの一つです。そのローリングリリースモデルのため、Arch LinuxはLinuxの世界の初心者向けではありません。また、グラフィカルインターフェースのサポートがない複雑なコマンドラインインストーラーも提供しています。コマンドラインのインストールモデルは、システムのインストール作業を非常に柔軟にする一方で、Linux初心者にとっては非常に難しいものです。

さらに、Arch Linuxは、独自のソフトウェアパッケージリポジトリをPacmanパッケージマネージャー経由で提供しています。Arch Linuxは、32ビット、64ビット、およびARMなどの異なるCPUアーキテクチャ向けのMultiarch環境も提供しています。

ソフトウェアパッケージ、依存関係、およびセキュリティパッチは、ほとんど定期的に更新され、Arch Linuxをプロダクション環境向けの数少ない堅実なパッケージを持つ先進的なディストリビューションにしています。

また、Arch LinuxはAUR(Arch User Repository)を維持しており、これは巨大なコミュニティ駆動のソフトウェアリポジトリのミラーです。AURリポジトリのミラーを使用すると、ユーザーはソフトウェアをソースからコンパイルしてPacmanYaourtYet Another User Repository Tool)パッケージマネージャーを介してインストールできます。

このチュートリアルでは、UEFIベースのマシンでCD/USBブータブルイメージを使用したArch Linuxの基本的なステップバイステップのインストールプロセスを紹介します。その他のカスタマイズや詳細については、公式のArch Linux Wikiページを参照してください:https://wiki.archlinux.org

要件

  1. Arch Linux ISOイメージをダウンロード

ステップ1:ディスクパーティションレイアウトを作成する

1. まず、Arch Linuxのダウンロードページにアクセスし、最新のCDイメージを入手します(つまり、現在の安定版:2020.05.01)、ブート可能なCD/USBを作成して、それをシステムのCD/USBドライブに挿入します。

2. 重要なステップ! また、システムにイーサネットケーブルが接続され、インターネットに接続されており、アクティブなDHCPサーバーが有効になっていることを確認してください。

3. CD/USBが起動すると、最初のArch Linux Installerオプションが表示されます。ここで、Arch Linux archiso x86_64 UEFI CDを選択し、Enterキーを押して続行します。

Arch Linux Boot Menu
Booting Arch Linux

4. インストーラーが展開され、Linuxカーネルがロードされると、自動的にArch Linux Bashターミナル(TTY)がルート特権で表示されます。

A good step now is to list your machine NICs and verify internet network connection by issuing the following commands.

# ifconfig
# ping -c2 google.com
Check Arch Linux Network

ご自宅にDHCPサーバーが構成されておらず、クライアントにIPアドレスを動的に割り当てることができない場合は、以下のコマンドを使用してArch LiveメディアのIPアドレスを手動で設定してください。

ネットワークインターフェースとIPアドレスを適切に置き換えてください。

# ifconfig eno16777736 192.168.1.52 netmask 255.255.255.0 
# route add default gw 192.168.1.1
# echo “nameserver 8.8.8.8” >> /etc/resolv.conf
Configure IP Address on Arch Linux

このステップでは、次のコマンドを使用してマシンのハードディスクをリストアップすることもできます。

# cat /proc/partitions
# ls /dev/[s|x|v]d*
# lsblk
# fdisk –l 
Check Arch Linux Disk

仮想マシンの場合、ハードディスクの名前はsdxなど、xvdavdaなど、他の名前を持つ可能性があります。ディスクの命名規則がわからない場合は、以下のコマンドを使用して仮想ディスクをリストアップしてください。

# ls /dev | grep ‘^[s|v|x][v|d]’$* 
Check Virtual Disks

重要なのは、Raspberry PIのドライブストレージの名前規則が通常/dev/mmcblk0であり、一部の種類のハードウェアRAIDカードの場合は/dev/ccissであることです。

5.次のステップでは、ハードディスクのパーティションの構成を開始します。この段階では、GPTディスクのパーティションレイアウトを実行するために、cfdiskcgdiskparted、またはgdiskユーティリティを使用できます。ウィザード駆動型で使いやすいを強くお勧めします。

基本的なパーティションの場合、レイアウトテーブルは以下の構造を使用します。

  • EFIシステムパーティション(/dev/sda1)は、300Mのサイズで、FAT32形式です。
  • スワップパーティション(/dev/sda2)は、RAMの2倍の推奨サイズで、スワップオンです。
  • ルートパーティション(/dev/sda3)は、少なくとも20Gのサイズか、HDDスペースの残りの部分で、ext4形式です。

さて、実際にディスクレイアウトのパーティションテーブルを作成しましょう。マシンのハードドライブに対してcfdiskコマンドを実行し、GPTラベルタイプを選択し、未割り当て領域を選択し、下部メニューからNewを選択します。以下のスクリーンショットに示されているように。

# cfdisk /dev/sda
Select Arch Linux Label Type
Select Arch Linux Installation Disk

6.パーティションのサイズをMB(300M)で入力してenterキーを押し、下部メニューからEFIシステムパーティションタイプを選択します。以下のスクリーンショットに示されているように。

EFI System Size
EFI System Type
Select EFI System

EFIシステムパーティションの設定が完了しました。

7.次に、同じ手順でSwapパーティションを作成しましょう。ダウン矢印キーを使用して残りの未割り当て領域を再度選択し、上記の手順を繰り返します:New -> パーティションサイズは2倍のRAMサイズを推奨します(1Gを安全に使用できます)-> Type Linux swap

以下のスクリーンショットを使用してスワップパーティションを作成する際のガイドとしてください。

Create Swap Partition
Set Swap Partition Size
Select Partition Type
Select Swap Partition

8. 最後に、/(root)パーティションの場合は、以下の設定を使用します:New -> Size: 残りの未割り当て領域 -> Type Linux filesystem

パーティションテーブルを確認したら、Writeを選択し、ディスクの変更を適用するためにyesで回答し、quitを入力してcfdiskユーティリティを終了します。以下のイメージに示されています。

Create Root Partition
Set Root Partition Size
Select Type for Root Partition
Select Linux Filesystem
Partition Table Summary
Confirm Partition Changes
Quit Disk Management Console

9. 現時点では、パーティションテーブルはHDD GPTに書き込まれましたが、まだその上にファイルシステムが作成されていません。パーティションテーブルの概要も、fdiskコマンドを実行して確認できます。

# fdisk -l

10. 今度は、必要なファイルシステムでパーティションをフォーマットする時間です。以下のコマンドを実行して、EFIシステムパーティション(/dev/sda)のためにFAT32ファイルシステムを作成し、ルートパーティション(/dev/sda3)のためにEXT4ファイルシステムを作成し、/dev/sda2のためにスワップパーティションを作成します。

# mkfs.fat -F32 /dev/sda1
# mkfs.ext4 /dev/sda3
# mkswap /dev/sda2
Create Arch Linux Filesystem

Step 2: Arch Linuxのインストール

11. Arch Linuxをインストールするには、/(root)パーティションを/mntディレクトリのマウントポイントにマウントしてアクセス可能にする必要があります。また、スワップパーティションを初期化する必要があります。この手順を設定するには、以下のコマンドを実行します。

# mount /dev/sda3 /mnt
# ls /mnt 
# swapon /dev/sda2
Mount Root Partition

12. パーティションがアクセス可能になった後は、Arch Linuxのシステムインストールを実行する時間です。インストールパッケージのダウンロード速度を向上させるために、/etc/pacman.d/mirrorlistファイルを編集し、ミラーウェブサイトの一番上に最も近いミラーを選択します(通常は国のサーバー位置を選択します)。

# nano /etc/pacman.d/mirrorlist

Arch Multilibサポートをライブシステムに有効にするには、/etc/pacman.confファイルから以下の行のコメントを外します。

[multilib]
Include = /etc/pacman.d/mirrorlist
Enable Arch Multilib

13. 次に、以下のコマンドを入力してArch Linuxをインストールしてください。

# pacstrap /mnt base base-devel linux linux-firmware nano vim
Install Arch Linux
Arch Linux Installer in Progress

システムリソースとインターネット速度に応じて、インストーラーの完了には5から20分かかる場合があります。

14. インストールが完了したら、以下のコマンドを入力して新しいArch Linuxシステムのためのfstabファイルを生成してください。

# genfstab -U -p /mnt >> /mnt/etc/fstab

その後、以下のコマンドを実行してfstabファイルの内容を確認します。

# cat /mnt/etc/fstab
Generate fstab File

ステップ3:Arch Linuxシステムの構成

15. Arch Linuxをさらに構成するには、/mntシステムパスにchrootして、以下のコマンドを使用してシステムのホスト名を追加してください。

# arch-chroot /mnt
# echo "archbox-tecmint" > /etc/hostname
Set Hostname for Arch Linux

16. 次に、システムの言語を構成します。 /etc/locale.genファイルから好みのエンコーディング言語を選択し、コメントを外して、以下のコマンドを実行してロケールを設定します。

# pacman -S nano
# nano /etc/locale.gen

locale.genファイルの抜粋:

en_US.UTF-8 UTF-8
en_US ISO-8859-1
Set Arch Linux Language

システムの言語レイアウトを生成します。

# locale-gen
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# export LANG=en_US.UTF-8
Set Arch Linux Language

17. 次に、サブタイムゾーン(/usr/share/zoneinfo/Continent/Main_city)のシンボリックリンクを/etc/localtimeファイルパスに作成してシステムのタイムゾーンを構成します。

# ls /usr/share/zoneinfo/
# ln -s /usr/share/zoneinfo/Aisa/Kolkata /etc/localtime
Set Arch Linux Timezone

また、ハードウェアクロックをUTCに設定してください(ハードウェアクロックは通常、ローカル時間に設定されています)。

# hwclock --systohc --utc

18. Arch Linuxは多くの有名なLinuxディストリビューションと同様に、異なる世界の場所や複数のシステムアーキテクチャ用のリポジトリミラーを使用します。標準のリポジトリはデフォルトで有効になっていますが、マルチリブリポジトリを有効にしたい場合は、/etc/pacman.confファイルから[multilib]ディレクティブのコメントを外す必要があります。以下の抜粋に示されています。

# nano /etc/pacman.conf
Enable Arch Multilib

19.Yaourtパッケージツールサポートを有効にしたい場合(AURパッケージのダウンロードとビルドに使用されます)、/etc/pacman.confファイルの最下部に以下のディレクティブを追加してください。

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
Activate Yaourt Package Tool

20.リポジトリファイルを編集した後は、以下のコマンドを実行してデータベースミラーとパッケージを同期化して更新してください。

# pacman -Syu
Synchronize and Update Database

21.次に、Archボックスでルートアカウントのパスワードを設定し、以下のコマンドを使用してSudo権限を持つ新しいユーザーを作成します。また、ユーザーパスワードの有効期限を切れさせ、新しいユーザーに初回ログイン時にパスワードの変更を強制します。

# passwd
# useradd -mg users -G wheel,storage,power -s /bin/bash your_new_user
# passwd your_new_user
# chage -d 0 your_new_user
Create Arch Linux User

22.新しいユーザーを追加した後、sudoパッケージをインストールし、/etc/sudoersファイルからwheelグループ行を更新して、新しく追加したユーザーにルート権限を付与します。

# pacman -S sudo
# pacman -S vim
# visudo 

この行を/etc/sudoersファイルに追加してください。

%wheel ALL=(ALL) ALL
Enable Sudo Privileges

24.最後のステップでは、再起動後にArchを起動するためにブートローダーをインストールします。LinuxディストリビューションおよびArch Linuxのデフォルトのブートローダーは、GRUBパッケージで表されます。

GRUBブートローダーをUEFIマシンの最初のハードディスクにインストールし、Arch Linuxを検出してGRUBブートローダーファイルを構成するには、以下のスクリーンショットに示すように次のコマンドを実行してください。

# pacman -S grub efibootmgr dosfstools os-prober mtools
# mkdir /boot/EFI
# mount /dev/sda1 /boot/EFI  #Mount FAT32 EFI partition 
# grub-install --target=x86_64-efi  --bootloader-id=grub_uefi --recheck
Install Grub Boot Loader in Arch Linux
Configure Grub Boot Loader in Arch Linux

25. 最後に、以下のコマンドを発行してGRUB構成ファイルを作成してください。

# grub-mkconfig -o /boot/grub/grub.cfg
Create Grub Configuration file

おめでとうございます!Arch Linuxがインストールされ、ボックスに構成されました。今必要な最後の手順は、chroot環境を終了し、パーティションをアンマウントし、以下のコマンドを発行してシステムを再起動することです。

# exit
# umount -a
# telinit 6

26. 再起動後、インストールメディアイメージを削除し、システムは以下に示すように直接GRUBメニューにブートします。

Arch Linux Grub Menu

27. システムがArch Linuxにブートアップすると、インストールプロセス中に構成されたユーザーの資格情報でログインし、以下に示すようにユーザーアカウントのパスワードを変更してください。

Arch Linux Login

28. インターネットネットワーク接続が失われます。なぜなら、システムにはデフォルトでDHCPクライアントが実行されていないからです。この問題を解決するために、ルート権限で以下のコマンドを発行してDHCPクライアントを起動および有効にしてください。

また、ネットワークインターフェースがアップであり、DHCPサーバーによって割り当てられたIPアドレスを持ち、インターネット接続が期待通りに機能するかどうかを確認してください。インターネット接続をテストするためにランダムなドメインにPingしてください。

$ sudo systemctl start dhcpcd
$ sudo systemctl enable dhcpcd
# ip a
# ping -c2 google.com

現時点では、Arch Linuxシステムには、コマンドラインからシステムを管理するために必要な基本ソフトウェアパッケージのみが含まれており、グラフィカルユーザーインターフェースはありません。

高い携帯性、ローリングリリースサイクル、ソースパッケージのコンパイル、インストールされたソフトウェアの細かい制御、処理速度により、Arch Linuxは多くの点でGentoo Linuxに似ていますが、Gentooの複雑なアーキテクチャ設計には及びません。

ただし、Arch Linuxシステムの管理プロセスはLinux初心者にはお勧めできません。ArchライクなLinuxシステムを操作したいLinux初心者は、まずManjaro LinuxディストリビューションをインストールしてArch Linuxの原則を学ぶべきです。

Source:
https://www.tecmint.com/arch-linux-installation-and-configuration-guide/