見出し画像

Arch LinuxでジャンクノートPCを復活させてみた#2

今回のインストールは2021/1/24に実行したものである。Arch Linuxの更新にともないインストール手順が変わることもあるため、できるだけ新しい記事を利用することを推奨する。
今回のインストールはクリーンインストールのためデュアルブートについては考慮していない。
※ディスク内の既存データはすべて消去されるので残したいファイルは別のPCなどに移しておくこと

1:インストールメディアの作成

◆USBメモリやCD-R・DVD-Rなどにインストールメディアを作成する。
最新のArch LinuxのisoファイルをダウンロードしWindows環境であればRufusu、Mac・Linux環境であればddコマンドなどを使いインストールメディアを作成する。
詳しい作成手順は公式インストールガイドなどを参照。
※メディア内の既存データはすべて消去されてしまうので要注意!

2:CUIの起動

◆Arch LinuxをインストールするPCにインストールメディアを挿入した状態でPCを起動する。
上書きインストールの場合はBIOSでディスクの読み込み順を変更してから起動すること。
起動後の選択画面ではデフォルトの一番上を選択。

3:キーボードレイアウトを日本語(jp106)に変更

※この設定は再起動すると解除されるため後ほど改めて設定を行う。
◆デフォルトのキーボードレイアウトは英語に設定されているため、日本語のキーボードレイアウトに変更する。
以下のコマンドを入力。

# loadkeys jp106


4:起動モードの確認(UEFI/BIOS)

◆UEFIとBIOSでインストール手順が異なるため起動モードを確認する。
以下のコマンドを入力。

# ls /sys/firmware/efi/efivars


結果が正しく表示された場合はUEFI、ディレクトリが存在しない場合はBIOSとなる。
当環境ではBIOSのみ対応のため以降のインストール手順はBIOSによるものである

5:インターネットに接続

※この設定は再起動すると解除されるため後ほど改めて設定を行う。
◆"ip link"コマンドでネットワークインターフェイスの確認を行う。

# ip link

ネットワークデバイスの一覧が表示されるため、有線と無線に使用するデバイス名を確認する。
以下は無線のみの手順
◆無線LANカードが"rfkill"にブロックされていないか確認する。

# rfkill list

"hard-blocked"は物理ボタン(スイッチ)で解除する。
"soft-blockde"の解除には以下のコマンドを入力する。

# rfkill unblock wifi

◆"iwctl"でネットワーク接続の設定を行う。
接続後"ping"で接続を確認する

# iwctl
    [iwd]# station <無線デバイス名> get-networks                # アクセスポイント一覧を取得
    [iwd]# station <無線デバイス名> connect <アクセスポイント名>  # アクセスポイントに接続
    Passpharase: <アクセスポイントのパスワード>
    [iwd]# exit
# ping archlinux.jp

接続が確認できたら"Ctrl+c"で"ping"を停止する。

6:システムクロックの更新

◆"timedatectl"でシステムクロックを正確にする。

# timedatectl set-ntp true

7:パーティションの割り当て

◆"fdisk"でパーティションを作成するディスクを確認する。

# fdisk -l

◆パーティションの作成
"/dev/sda"のディスクにパーティションを割り当てる。BIOSインストールのためMBR形式での作成とする。(UEFIの場合はGPT形式)

# fdisk /dev/sda
Command (m for help): o        # 既存パーティション削除

/mnt/boot:256MiB
Command (m for help): n
Select (default p): p
Partition number : 1
First sector: <null>           # 2048
Last sector: +256M

/mnt/swap:2GiB
Command (m for help): n
Select (default p): p
Partition number : 2
First sector: <null>
Last sector: +2G

/mnt:16GiB
Command (m for help): n
Select (default p): p
Partition number : 3
First sector: <null>
Last sector: +16G

/mnt/home:100%
Command (m for help): n
Select (default p): p
Partition number : 4
First sector: <null>
Last sector: <null>

※"Do you want to remove the signature?"となった場合は"y"と入力。
# sda1に"boot"フラグを付与する。
Command (m for help): a
Partition number : 1
# sda2に"swap"コードを付与する。
Command (m for help): t
Partition number : 2
Hex code : 82
# パーティショニングを確定する。
Command (m for help): w

8:パーティションのフォーマット

◆sda2を"swap"パーティションに設定し、それ以外のパーティションは"ext4"形式でフォーマットする。

# mkfs.ext4 /dev/sda1
# mkswap /dev/sda2
# swapon /dev/sda2
# mkfs.ext4 /dev/sda3
# mkfs.ext4 /dev/sda4

9:ファイルシステムのマウント

◆sda3をマウントしその下の階層にsda1(boot)とsda4(home)をマウントする

# mount /dev/sda3 /mnt
# mkdir /mnt/boot
# mkdir /mnt/home
# mount /dev/sda1 /mnt/boot
# mount /dev/sda4 /mnt/home

10:ミラーの選択

◆"vim"(テキストエディタ)を使い日本のミラーが上になるようにミラーリストを編集する。

Server = https://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
Server = https://mirrors.cat.net/archlinux/$repo/os/$arch
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch
Server = https://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch

上記5ミラーをリスト最上部に追加する。

11:必須パッケージのインストール

◆"pacstrap"を使い必須パッケージと"zsh"(コマンドシェル)や無線Lan用のパッケージなどをインストールする。

# pacstrap /mnt base linux linux-firmware dhcpcd base-devel os-prober grub e2fsprogs netctl iw wpa_supplicant networkmanager dialog zsh zsh-completions zsh-autosuggestions zsh-syntax-highlighting vim

PCスペックによってはインストール中に Kernel panic などによりフリーズを起こす場合あり。フリーズした場合の対処法はその他注意事項を参照すること。
内蔵無線Lanが貧弱(当環境ではダウンロード速度平均180KiB/S)な場合もフリーズを起こす場合あり。ダウンロード中にフリーズが多発する場合は有線でのダウンロードやパッケージを分けてインストールすることも有効である。

12:fstabの生成

◆"genfstab"で"/mnt/etc"内に"fstab"を生成する。

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

13:chrootを実行

◆新しくインストールしたシステムに"chroot"する。

# arch-chroot /mnt

14:タイムゾーンの設定

◆タイムゾーンを日本に設定する。

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

15:ロケールの設定

◆"/etc/locale.gen"をvimで開き"en_US.UTF-8 UTF-8"および"ja-JP.UTF-8 UTF-8"のコメントアウトを解除する。

# vim /etc/locale.gen

◆ロケールとキーボードレイアウトの設定を行う。ロケールは日本語に設定すると文字化けの原因となるため英語を設定する。

# locale-gen
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# echo KEYMAP=jp106 > /etc/vconsole.conf

16:ホストネームの設定

◆ホストネーム(Arch Linux PCの名前)を設定する。

# echo <ホストネーム> > /etc/hostname

17:ネットワークの設定

◆有線と無線のネットワーク設定を行う。

# 有線(DHCP)
# systemctl enable dhcpcd@<有線デバイス名>.service

# 無線
# systemctl enable NetworkManager
# systemctl start NetworkManager

18:rootパスワードの設定

◆root権限のパスワードを設定する。

# passwd

19:GRUBのインストール

◆ブートローダー"GRUB"をインストールする。

# grub-install --target=i386-pc --recheck /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg

20:再起動

◆OSのインストールは完了したので、マウントを解除して一度再起動する。

# exit
# umount -R /mnt
# reboot

21:ログイン

◆最小限の環境は構築できたため、以降はGUIの導入などの環境設定を行う。
ユーザ名は"root"、パスワードにはrootパスワードを入力してログインする。

22:Wi-Fi-接続の実施(無線の場合)

◆"NetworkManager"でWi-Fi接続を行う。

# systemctl start NetworkManager
# systemctl enable NetworkManager
# nmctl d wifi connect <アクセスポイント名> password <パスワード>

23:一般ユーザ(管理者権限あり)の作成

◆ログイン用の一般ユーザを作成する。

# useradd -d /home/<ユーザ名> -s /bin/bash -m <ユーザ名>
# passwd <ユーザ名>                                # ユーザのログインパスワードを設定
# "sudo"コマンドで管理者として実行できるよう設定する。
# usermod -aG wheel <ユーザ名>
# EDITOR=vim visudo

"visudo"で"/etc/sudoers"を開き"# %wheel ALL=(ALL) ALL"のコメントアウトを解除。

24:pacmanの設定

◆これを設定すると"pacman"のダウンロード進捗が例のものになる。

# vim /etc/pacman.conf

vimで"/etc/pacman.conf"を開き"Color"と"ILoveCandy"を追加する。

# Misc options
# UseSyslog
Color
#TotalDownload
CheckSpace
#VerbosePkgLists
ILoveCandy

上記のように編集する。

25:KDEの導入

◆今回はGUIとして"KDE"を導入する。Intel CPU内蔵グラフィックス使用時の設定なのでビデオカード使用のPCでは異なる設定を行う必要あり。

# pacman -S plasma-meta

Enter a number (default=1):<null>          # 1:libglvnd
Enter a number (default=1):<null>          # 1:phonon-qt5-gstreamer
Enter a number (default=1):<null>          # 1:libx264

Proceed with installation? [Y/n] Y
# pacman -S mesa-libgl xorg xf86-video-intel

26:sddmの設定ファイル作成

◆GUIの設定ファイルを作成する。

# sddm --example-config > /etc/sddm.conf

27:sddmのログイン画面設定

◆GUIのログイン画面テーマの設定を行う。今回は"breeze"を設定する。

# vim /etc/sddm.conf

[Theme]
Current=breeze          #任意のログイン画面テーマに設定
# GUIの自動起動設定を行う。
# systemctl enable sddm

28:その他必要なパッケージのインストール

◆"pacman"でGUIの基本的な操作を実行するために必要なパッケージをインストールする。

# pacman -S gnome-terminal dolphin git atom unzip

29:再起動

◆再起動してGUIのログイン画面が表示されることを確認する。

# reboot

正しくインストールができている場合は以下の画像のようになる。
◆先ほど作成したユーザでログインし、以降はGUI環境の設定を行う。

画像1

30:タイムゾーンの再設定

◆当環境ではタイムゾーンが反映されていなかったため再度タイムゾーンの変更を行った。

# timedatectl set-timezone Asia/Tokyo

31:日本語フォントのインストール

◆日本語フォントとして「IPAフォント」と「源ノ角フォント」をインストールする。

# sudo pacman -Sy adobe-source-han-sans-jp-fonts otf-ipafont

32:日本語入力IMEのインストール

◆日本語入力IMEとして"Mozc"をインストールする。

# sudo pacman -S fcitx-im fcitx-configtool fcitx-mozc

環境変数の設定

# export GTK_IM_MODULE=fcitx
# export QT_IM_MODULE=fcitx
# export XMODIFIERS="@im=fcitx"

◆設定完了後一度ログアウトし、再度ログインする。
右下のタスクトレイからキーボードのマークを右クリックし、"Configure"を選択する。
右下の"+"マークを選択する。
"Mozc"を検索して選択した状態で"OK"を押下する。
日本語配列のキーボードの場合は"English"のキーボード設定を"-"で削除する。

33:Webブラウザのインストール

◆Webブラウザとして今回は"Google Chrome"と"Vivaldi"をインストールする

# Google Chrome
# git clone https://aur.archlinux.org/google-chrome.git
# cd google-chrome
# makepkg -sri

# Vivaldi
# curl -OL https://downloads.vivaldi.com/snapshot/install-vivaldi.sh
# sh install-vivaldi.sh

※ダウンロードされた"install-vivaldi.sh"が残るため不要であれば削除する。

34:GUIの設定

◆GUIの表示設定を変更する。
"System Settings"の"Colors"から任意のウィンドウテーマを選択する。

ログイン画面の背景色を変更したい場合は、エディタで"color"変数を任意のRGBコードに変更するとよい。

# vim /usr/share/sddm/themes/breeze/theme.conf
color=#1d99f3 -> color=#333333          # グレー(51,51,51)に変更する場合

35:スクリーンロック画面の設定

◆デフォルトではロック画面への移行時間が5分のため、用途に応じて変更する。今回は30分に設定する。
"System Settings"の"Workspace Behavior"内にある"Screen Locking"を開く。
"Lock screen automatically"の"After"の数値を"5mins"から"30mins"に変更して"Apply"で確定する。

36:ショートカット等の設定

◆"System Settings"の"Shortcuts"よりショートカットを好みの設定に変更できる。

◆"Windows"同様にダブルクリックでファイル・フォルダを開きたい場合は"System Settings"の"Workspace Behavior"内にある"General Behavior"を開き、"Click behavior"の"Single-click to open files and folders"を"Double-click to open files and folders"に変更する。

◆初期設定では"Ctrl"キーが"CapsLock"に割り当てられているため"Ctrl"に変更する。
"System Settings"の"Input Devices"内にある"Advanced"を開き、"Caps Lock behavior"内の"Caps Lock is also a Ctrl"を選択し"Apply"で確定する。

37:その他注意事項

"pacman"実行中に"Kernel panic"などによりフリーズし強制終了した場合、"/var/lib/pacman/db.lck"によりロックされるためそのままでは"pacman"の使用が不可能になる。その場合は管理者権限で"/var/lib/pacman/db.lck"を削除することでロックを解除することができる。

# sudo rm /var/lib/pacman/db.lck

破損したパッケージファイルがある場合"invalid or corrupted package (PGP signature)"となるためすべて"Y"を選択して削除する。

◆内蔵無線Lanが貧弱な場合は外付けの無線Lanを使用するのもあり。
2つの無線Lanを共存したい場合は"ip link"で無線デバイス名を確認し以下の操作を行う。

# ip link set <外付け無線デバイス名> up
# ip link set <内蔵無線デバイス名> down

内蔵無線Lanを無効とした状態でデスクトップ右下のネットワーク設定を選択し、外付けの無線デバイスで接続する。
接続後内蔵無線Lanを再度有効化する。

# ip link set <内蔵無線デバイス名> up

再起動すると両方のデバイスに接続されるが内蔵の無線Lanが優先されるので、外付けの無線Lanで接続したい場合は内蔵の無線Lanの接続を解除すること。

◆Arch Linuxの更新について
Arch Linuxはローリングリリースのため更新が連続的に行われている
"# sudo pacman -Syu"を実行することでインストールされたパッケージがすべて最新のものに更新されるため、こまめに更新することが重要である。
更新内容によっては環境に不具合をきたす可能性もあるため、公式ページで適宜更新内容を確認することを推奨する。

◆パッケージキャッシュの削除
"sudo pacman -Syu"で更新されたパッケージは古いバージョンもそのまま残るようになっている。パッケージキャッシュが貯まると動作が重くなる原因となるため定期的に削除を行うことを推奨する。以下のコマンドでパッケージキャッシュを削除できる。

# sudo pacman -Sc

最後までお読みいただき、ありがとうございます。 1つの「スキ」や「シェア」がクオリティ向上につながります。