Arch Linux インストール日記 1

Windows11 非対応 PC Wacom Companion2 Arch Linux インストール日記 CUI編

※8-4マウント処理の箇所ミスがあることが判明しました 2024-01-21修正
誤)# mount /dev/sda2 /mnt → 正)# mount /dev/sda3 /mnt
誤)# pacstrap \mnt 〜以下省略 → 正)# pacstrap /mnt 〜以下省略

最初に、Linux 初心者ですので、間違い等あるかも知れません
予めご了承願います
以下の条件等でインストールを行っています

・ インストール先の PC は Arch Linux のみのシングルブートになります
・ 起動ディスクの作成までは Windows11 における作業となります
有線 LAN での作業になりますので、本体に無い場合は USB に LAN アダプタを使用して接続して下さい
・ デスクトップ環境、日本語環境は以下のところで公開しました
 → https://fukudagyuuen.vivaldi.net/2024/01/14/archlinux003/
・archinstall コマンドは使用せず、全ての工程を面倒なコマンド操作で行っています
 そんな便利なコマンドがあるとは知らなかったのです…orz

以下のサイトを参考にしています

Arch Linux 公式サイト
https://www.archlinux.jp

Arch Linux インストールガイド(UEFIデスクトップ編)
https://qiita.com/HayatoAoi/items/fd760f349c8cc71358a5
※ こちらのサイトさんではデスクトップ環境や日本語環境も公開されていますが、日本語環境に関しましては古くなっていますので、別途ネットで Arch Linux fcitx5 で検索されるか、当ブログでの更新をお待ち下さい
と偉そうに言っても、検索して出てきた所から拝借するだけなんですが…。

では、はじめます


************************************************

1.Arch Linux 起動ディスクの作成   ※ Windows11 上での操作です
1-1.公式サイトより iso / txt ファイルをダウンロード

下記の公式サイトに記述されている Japan のサーバーのいずれかよりダウンロードします
※ 2024.2.14 時点で日本語サイトから英語サイトのみになったようです
なお、日本のサーバーのうち cat に関しましてはブラウザから直接ダウンロードするためには特殊な手順を踏む必要がありますので、別のサーバーからダウンロードして下さい。
 
https://archlinux.org/download/
 
archlinux-x86_64.iso
sha256sums.txt
1-2.チェックサム
 
方法は何でも良いですが、今回は 7-Zip を使用しています
 
公式サイト      https://7-zip.org
窓の社サイト   https://forest.watch.impress.co.jp/library/software/7zip/
 
archlinux-x86_64.iso を右クリック → その他のオプションを確認 を選択
→ 7-zip → CRC SHA → SHA-256 を選択
 
表示された内容が sha256sums.txt の内容と同じかを確認
1-3.起動ディスクの作成
 
今回は Win32DiskImagerRenewal を利用します
Win32 Disk Imager を Renewal された作者さんのサイトの記事の中で2つ選べますので、どちらかをダウンロードしてください

https://github.com/dnobori/DN-Win32DiskImagerRenewal

私はインストールの必要のない方をダウンロードしました
なお、使用前に書き込む USBメモリー は必ず別途フォーマットしておいて下さい

Image File の箇所から iso ファイルを選ぶのですが、デフォが img ファイル限定になっていますので ファイルの種類を All に変えてください

Device の箇所から USBメモリー を選択して下さい(間違えて他のものを選ばないように要注意 

下の Write ボタンを押して、作成されるのを待ちます 
 
その他のやり方などは、公式サイトで書かれていますので、参考までに
https://wiki.archlinux.jp/index.php/USB_インストールメディア

************************************************

2.インストールする PC に起動ディスクをセットして電源を ON

PC の BIOS 設定によっては起動出来ないことがあります
理由は、セキュアブートが有効になっているからです
その場合、以下のとおり BIOS の設定の変更が必要となります
殆どの PC は電源ONと同時に F2F12 押下で起動すると思いますが、各メーカーで確認お願いします
なお、Wacom Companion2 は ボリュームの + ボタンを押しながら電源 ON です

Bios 設定画面で Secure Boot を Disables  
大抵は Secure タブか Boot タブのいずれかにあると思います

************************************************

3.日本語キーボード の設定  ※インストールに日本語キーボードを使用する場合

以下のコマンドを実行

# loadkeys jp106

************************************************

4.ミラーリスト の更新  ※キーボード設定後、真っ先に行って下さい

以下のコマンドを実行

# nano /etc/pacman.d/mirrorlist

リストが表示されますので、Ctrl+w で Japan を検索すると下記のリストが見つかります

/etc/pacman.d/mirrorlist の該当箇所

##Japan
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
Server = https://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
Server = http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/$arch
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch
Server = https://mirrors.cat.net/archlinux/$repo/os/$arch
Server = http://repo.jing.rocks/archlinux/$repo/os/$arch
Server = https://repo.jing.rocks/archlinux/$repo/os/$arch
Server = http://mirror.nishi.network/archlinux/$repo/os/$arch
Server = https://mirror.nishi.network/archlinux/$repo/os/$arch

#Server の先頭の # を削除した上で、##Japan も含め全てのサーバーを選択

注)Shift+↓ で全てが収まるように選択して Ctrl+k で切り取り、リストの一番上(具体的には ## Worldwide の真上)に Ctrl+u で張り付けます
結構奥深くに日本サーバーがありますので、戻る時は Ctrl+w で mirrorlist と検索すればトップまで戻れます

まぁ、正直、ここでやっても十中八九インストールする頃には切れさっぱり消えてます(謎
項目9で、それを知ることになるでしょう(仕様と思って諦めましょう

# の意味は、その行はコメントですよ、という意味で OS はスルーします 

************************************************

5.UEFI 起動の確認

以下のコマンドを実行

# ls /sys/firmware/efi

config_table  efivars fw_platform_size  fw_vendor runtime  runtime-map  systab
等と表示されていれば UEFI ブート、何も表示されなければ BIOS ブートです

************************************************

6.ネットワーク接続の確認

以下のコマンドを実行

# ping -c 3 archlinux.jp

64 bytes from tk2-235-27344.vs.sakura.ne.jp (160.16.119.98): icmp_seq=1 ~
等のステータスが3行表示されたら OK です

************************************************

7.システムクロックの更新

以下のコマンドを実行

# timedatectl set-ntp true

************************************************

8.パーティショニング を行う 
8-1.ディスクの状態を確認

以下のコマンドを実行

# lsblk

NAME  MAJ:MIN  RM  SIZE    RO  TYPE  MOUNTPOINTS
loop0   7:0          0  757.8M   1   loop  /run/archiso/airootfs
sda      8:0          0       35G   0   disk
sr0     11:0          1  883.3M  0   rom   /run/archiso/bootmnt

上記のように、外部ディスクでもない限り sda というデバイス名が出てきます
外部ディスクを使用する方は読み替えて下さい
> 8-2.パーティショニング 

以下のコマンドを実行

# gdisk /dev/sda

※もし、8-1 の情報で既存のパーティションが存在している場合( sda1 , sda2 などがの表示があったはず)は、まず既存のパーティションを削除する必要があるため 8-2-1 に進んで下さい

既存のパーティションが無い人は 8-2-2 に進んで下さい

※一応、例としてスワップパーティションも作りますが、余程のパワーユーザーでも無い限り 8GB 以上のメモリを搭載している方は必要ないと思います
逆に 4GB 以下の方は、使い方にもよりますが作ったほうが良いかも知れません
なお、当方の環境では以下の感じでメモリを使っています

・ OS: 700-800MB
・ ClamAV(デーモン起動時): 約 1GB
・ Vivaldiブラウザ: 約 1GB
・ Steam: 約 1GB

つまり、上記のように使い方は 4GB ではカツカツの状態になります
8-2-1.既存のパーティションの削除

Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y

当初、これの存在を知らずに一つずつ d コマンドで消してました… orz
8-2-2.新しいパーティションの作成

Command (? for help): n

まずは EFI システムパーティションの作成

Partition number: 1
First sector:                        ※何も入力せずリターンキーを押す
Last sector:512MiB              ※公式では最低300MiBとあるがキリもいいので
Hex code or GUID:EF00       ※下二けたはオーではなく数字のゼロ
                                            EFIシステムパーティション、UEFIブートでは必須

Changed type of partition to 'EFI sytem partition'

Command (? for help): n

スワップパーティションの作成

Partition number:2
First sector:                        ※何も入力せずにリターンキーを押す
Last sector:512MiB              ※〜2GiB と書きましたが上限があるわけではありません。
Hex code or GUID:8200       ※下二けたはオーでは無く数字のゼロ。Linuxスワップ

Changed type of partition to 'Linux swap'

Command (? for help): n

メインパーティションの作成

Partition number:3
First sector:                        ※何も入力せずにリターンキーを押す
Last sector:512MiB              ※何も入力せずにリターンキーを押す
Hex code or GUID:8300       ※下二けたはオーでは無く数字のゼロ。Linuxファイルシステム

Changed type of partition to 'Linux filesystem'

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!!

Command (? for help): w    ※設定した情報を保存し終了する
Do you want to proceed?: y 
8-3.ファイルシステムの作成

以下の4つのコマンドを実行
 
# mkfs.ext4 /dev/sda3                   ※メインのパーティション、ここにインストールされていく
# mkswap /dev/sda2                     ※スワップ用のパーティション
# swapon /dev/sda2                      ※スワップパーティションの有効化
# mkfs.vfat -F 32 /dev/sda1           ※ブート用のパーティション
8-4.マウント処理

以下のコマンドを実行

# mount /dev/sda3 /mnt                  ※メインのパーティション
# mkdir /mnt/boot                           ※メインにブートディレクトリ作成
# mount /dev/sda1 /mnt/boot          ※ブート用のパーティションをマウント

************************************************

9.インストール

※インストールの前に、もう一度最初に設定したミラーリストが存在しているか確認して下さい
というのも、環境によっては消えている場合があるようです
と言いますか、私の環境下では実際に何回やっても消えてことが多い(というか間違いなく消えてる
その場合は、とりあえず手入力で一つだけ、どの海外サーバーより上に記述します
------------------------------------
9-1. ミラーリストの確認および場合によって編集

# nano /etc/pacman.d/mirrorlist

もし、最初に設定したものが消えている場合は、以下のサーバーうち1〜3つだけ入れておいてください
理由は海外サーバーではダウンロードが非常に遅いからです
一つだけ入れるなら tsukuba がおすすめです。不安ならそれに加えて jaist か cat の2つを入れておけばより安心でしょう

##Japan
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
Server = https://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
Server = http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/$arch
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch
Server = https://mirrors.cat.net/archlinux/$repo/os/$arch
Server = http://repo.jing.rocks/archlinux/$repo/os/$arch
Server = https://repo.jing.rocks/archlinux/$repo/os/$arch
Server = http://mirror.nishi.network/archlinux/$repo/os/$arch
Server = https://mirror.nishi.network/archlinux/$repo/os/$arch

※前に書いていたように再起動させて新たに設定してもいいのですが、再度マウントやキーボード設定が必要となり、間違いのもとになりやすいので上記の方法の方が確実です
デスクトップ環境も整ったあとで、ターミナルから編集してコピペした方が楽です
ちなみに、私は面倒なので3つほど記述したあと、その作業は放置しています
------------------------------------
9-2. ここからが本題のインストール作業です
以下のコマンドを実行
※現時点では最低限のものだけ入れています

# pacstrap /mnt base base-devel linux linux-firmware nano

※Proceed with installation? [Y/n] とか聞いて来るのに勝手にインストール始めます
===_ _(/・ω・)/ ズコ
※ちなみに、思わず y と入力した場合、インストール終了後にこうなります
root@archiso ~ # y 
そのため、消してから次の作業に入って下さい

************************************************

10.fstab の作成   ※ arch-chroot の前準備です

以下のコマンドを実行

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

次のコマンドで正常に作られたか確認する

# cat /mnt/etc/fstab

************************************************

11.arch-chroot   ※ ルートディレクトリを /mnt に変更します

以下のコマンドを実行
再起動することなく 8-4 にある /dev/sda2 に作成してインストールをした /mnt をルートディレクトリとして扱うためだと思われます
                
# arch-chroot /mnt

************************************************

12.タイムゾーン の設定

以下のコマンドを実行

※見づらいかも知れませんが Tokyo と /etc の間には半角スペースが入ります
意味合いは時計の基準となる場所を東京として /etc/localtime に設定しますよ的な感じです
たぶん
そして、その次のコマンドで時間を更新させます(当然ネット環境が必要です

# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# hwclock --systohc

試しに次のコマンドを実行してください

# hwclock

すると、正しい時間が表示されるはずです

************************************************

13.ロケール設定
13-1.ロケール生成の下準備として locale.gen の編集

以下のコマンドを実行

# nano /etc/locale.gen

Ctrl+w で en_US. を検索

#en_US.UTF-8 UTF-8 の箇所の先頭にある # を削除

Ctrl+w で ja_JP. を検索

#ja_JP.UTF-8 UTF-8 の箇所の先頭にある # を削除

Ctrl+o で保存、Ctrl+x で編集終了
13-2.ロケール生成

以下のコマンドを実行

# locale-gen

Generation locales...
 en_US.UTF-8... done
 ja_JP.UTF-8... done
Generation complete.
13-3.LANG 環境変数の設定 locale.conf の作成

以下のコマンドを実行

# nano /etc/locale.conf

以下の文面を記述

LANG=en_US.UTF-8
#LANG=ja_JP.UTF-8

Ctrl+o で保存、Ctrl+x で編集を終了する

※現時点では日本語環境は使用しないため必ず先頭に # を付けて下さい
13-4.コンソールキーマップ の設定   vconsole.conf の作成

以下のコマンドを実行
※日本語キーボードを使わない場合は 14 に進んで下さい

# nano /etc/vconsole.conf

以下の文面を記述

KEYMAP=jp106
 
Ctrl+o で保存、Ctrl+x で編集を終了する

************************************************

14.ネットワーク設定
14-1.hostname の編集

以下のコマンドを実行

# nano /etc/hostname

適当なホスト名を入力
今回は WacomCompanion2 にインストールしましたので WC2 という hostname として説明します
以下の hostname を記述します
 
WC2

Ctrl+o で保存、Ctrl+x で編集を終了する
なお、名前はアルファベットの他  -  や  .  のみ使用可能なようです
14-2.hosts の編集

以下のコマンドを実行

# nano /etc/hosts
※ host s に見えますが、ブログの更新が何故か出来ないため全角のsを挿入しています(不具合?)
    実際は hosts ですので読み替えをお願いします 

ともかく、以下の文面を記述
 
127.0.0.1 localhost
::1 localhost
127.0.1.1 WC2.localdomain WC2 

※ 上記の WC2 は 14-1 で設定した hostname です

記述したら Ctrl+o で保存、Ctrl+x で編集を終了する
14-3.dhcpcd のインストール

以下のコマンドを実行

# pacman -S dhcpcd
14-4.ネットワークインターフェースの確認

以下のコマンドを実行

# ip link

※仮に enp0 というデバイス名が出て来た場合として 14-5 を実行します
 なお、デバイス名は 4 文字とは限りません
 デバイス名には以下の法則があるようです
 
type of interface
en -- ethernet
sl -- serial line IP (slip)
wl -- wlan
ww -- wwan

Type of names:
b -- BCMA bus core number
ccw -- CCW bus group name
o -- on-board device index number
s -- hotplug slot index number
x -- MAC address
p -- PCI geographical location or USB port number chain

つまり、今回は USB 接続の 有線 LAN アダプタでしたので enp0 と名付けられたのでしょう
14-5.ネットワークサービス の有効化
※長らく必要ないと書いていましたが、この設定をしないと詰みます。
何かと勘違いしたようです。すみません。 
※正直、必要ないと思います
 なくても dhcpcd のサービス自体が正常に動いていれば問題なくネット接続が可能です
 むしろ、このサービスを起動していることにより、まれに悪さを起こして起動が遅くなったりします
 すでに起動してやめられたい場合は sysytemctl disable [email protected]  として再起動して下さい
 ただ、備忘記録として一応残しておきます

以下のコマンドを実行

# systemctl enable [email protected] 

※ enp0 の箇所は 14-4 で判明した 有線 LAN アダプタのデバイス名を記述して下さい

************************************************

15.root パスワードの設定

以下のコマンドを実行

# passwd
New password:                      ※パスワードを入力
Retype new password:           ※パスワードの確認入力

************************************************

16.ブートローダーのインストール
16-1.grub と efibootmgr パッケージのインストール 

以下のコマンドを実行

# pacman -S grub efibootmgr
16-2.grub をインストール

以下のコマンドを実行

# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
16-3.設定ファイルの生成

以下のコマンドを実行

# grub-mkconfig -o /boot/grub/grub.cfg

************************************************

17.再起動

以下のコマンドを実行して再起動
実機環境によるインストールの場合は、必ずインストールメディアを抜いて下さい(インストーラが起動してしまうため)
仮想化ソフトにインストールしている場合は、空気を読んでくれるため必要ありません
(/・ω・)/ コロコロコロ =〇

# exit
# reboot

************************************************

18.root でのログイン

再起動後以下の文面となっているので、 root と入力してリターンキーを押し、事前に作っておいたパスワードを入力してください。

WC2 login: root           ※ここの例での WC2 は 14 で設定した hostname です
Password:

************************************************

19.システムのアップデート

以下のコマンドを実行

# pacman -Syu

************************************************

20.ユーザーの作成
 
以下のコマンドを実行して、新しいユーザーの作成

# useradd -m -s /bin/bash wc2ab           ※ wc2ab というユーザー名を作成する例です

以下のコマンドを実行して、ユーザーパスワードを設定

# passwd wc2ab
New password:                      ※ wc2ab ユーザーのパスワードを入力
Retype new password:           ※パスワードの確認入力

************************************************

21.作成したユーザーに sudo 権限を与える 
  
※ sudoers の編集となりますが、このファイルは重要なファイルらしく必ず visudo で編集して下さい
  visudo で編集することで、構文チェック機能が働くそうです

以下のコマンドを実行

# EDITOR=nano visudo

一番下まで移動して、以下の文面を記述
  
#### My Set ####    ※ 先頭に # を付けると、その行すべてがコメント扱いになります
wc2ab ALL=(ALL) ALL           
※ ↑ root とほぼ同じ権限をユーザー wc2ab に与えます。ユーザー名は自分が設定したものを記述してください

Ctrl+o で保存、Ctrl+x で編集終了する

************************************************

22.上記の設定が適切になされたか確認

以下のコマンドを実行してログアウト、一般ユーザーとして再ログイン

# exit
WC2 login: wc2ab
Password:                     ※ wc2ab ユーザー作成時に入力したパスワード
 
$ sudo pacman -Syu      ※ root 権限が必要なコマンドは sudo を前に付ける

We trust you have received the usual lecture from the local System ~
中略 ~
For security reasons, the password type will not be visible.

[sudo] password for wc2ab :
※ wc2ab ユーザー作成時に入力したパスワード

この処理で、エラーが出なければ成功です

これで、Arch Linux の CUI 環境の基本的なインストール・設定は終了です。

Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です