LoginSignup
7
9

オレオレArchLinuxインストール方法

Last updated at Posted at 2023-10-08

はじめに

みなさん,OSは何を使っていますか?Windows,macOS,Ubuntuなどいろいろあると思います。「俺はWindowsが使いたいからWindowsなんだ!!!」という方や「Appleの洗練されたOS,非常に美しい...」と思っている方もおられる事でしょう。そのような方は是非使いたいOSを存分に使ってください。しかし,「みんなWindows使ってるしちょっと使いづらいけどWindowsでいいか...」という方や「macOSはいいんだけどもうちょっとカスタマイズしたいな...」という方には是非今から紹介するOS,Arch Linuxを試してみて欲しいと思います。

Arch Linuxについて

公式ページ の説明が非常に簡潔でわかりやすかったので引用しておきます。

Arch Linux は、x86-64 向けに独自に開発された、あらゆる用途に対応できる万能 GNU/Linux ディストリビューションです。その開発は、シンプリシティ、ミニマリズム、およびコードの簡潔性に焦点を当てています。Arch は最小限の基本システムの状態でインストールされ、ユーザー自身が、ユーザーの理想とする環境のために必要なものだけをインストールして構築することができます。
Arch はローリングリリースモデルをベースとしており、常に最先端であるように努め、ほとんどのソフトウェアは最新の安定バージョンが提供されます。

重要なところを簡単にまとめると

  • 余計なものが入っていない
    • 自分に必要なものだけをインストールし,カスタマイズできる
  • ローリングリリースモデルを採用
    • バージョン○○のように定期的にアップデートされるわけではなく,ユーザーがアップデートをしようとしたタイミングでの最新版がユーザーに提供される

AURについて

ArchLinuxにはAUR(Arch User Repository)という巨大なパッケージリポジトリがあります。これを用いることで,あらゆるソフトウェアを簡単にインストールすることができます。Microsoft storeやAppStoreのでかい版だと思ってもらって大丈夫だと思います。

インストール

さて,では実際にインストールしていく。

必要なもの

  • PC(MacBookは今回は対象外とします。すみません...)
  • USBドライブ(8GB以上が安心)
  • キーボード
  • インターネット環境
  • 根気
  • やる気
  • 元気

インストール中に電源が切れると危険なのでノートPCの場合は充電等をしながら作業することを推奨。

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

isoのダウンロード

https://www.archlinux.jp/download/ から日本のサーバーのjaist.ac.jpに飛ぶ。
そこからarchlinux-リリースされた最新の日付-x86_64.iso(例: archlinux-2023.09.01-x86_64.iso)をダウンロードする。image.png
image.png

USBメディアの作成

ダウンロードできたらUSBドライブに書き込む。Linuxユーザーの方は多分やり方を知っていると思うので,今回はWindowsでの方法を紹介する。

https://rufus.ie/ja/ ここからRufusというインストールメディア作成ソフトをダウンロードして起動する。
以下の手順で作成する。

image.png

USBでインストールメディアを作成すると,もともとUSBにあったデータはすべて削除されるので注意。

  1. デバイスのところをデータを入れるUSBドライブに指定する
  2. ブートの種類をさっきダウンロードしたisoファイルに指定する
  3. そのままの設定でスタートを押して作成する

これでインストールメディアが作成される。

ライブ環境の起動

USBをPCに刺し,BIOSを起動する(BIOSの起動方法がわからない人は自分のPCのメーカーのサイトなどから調べてください)。
おそらくBootなどと書かれたタブがあると思うのでそこに移動し,Secure Bootに関する項目を「Disabled」等、使わない設定に変更し,Bootの優先順位を刺したUSBが上に来るように設定して,ExitでBIOSを抜ける。
再起動するとGRUB(起動するOSを選ぶやつ)が起動するので一番上の項目をEnterで選択するとArchLinuxが立ち上がる。

JIS配列キーボードが使いたい人 ```sh $ loadkeys jp106 ``` これで日本語配列が適応される。

ネットワークの接続

$ ping archlinux.jp

を実行し,繋がるかどうかを確認する。繋がる場合はCtrl+Cを押して次のセクションに移動してください。
ここからは,無線LANを使用している人向けに説明します。

$ iwctl
[iwd]# device list

ここで無線LANデバイス名が表示されます。ここからはそれをdeviceNameとする。

[iwd]# station deviceName scan
[iwd]# station deviceName get-networks

ここでアクセス可能なアクセスポイントの名前が表示される。ここからはそれをWifiNameとする。

[iwd]# station deviceName connect WifiName

パスワードが必要な場合はここでパスワードを入力する。
エラー無く完了したら,exitでiwdを抜ける。

$ ping archlinux.jp

これで繋がれば接続完了。

システムクロックの更新

$ timedatectl set-ntp true

これでシステム上の時計が実際の時間と合う。

インストール先の指定

この章がこの作業で一番注意がいるポイントです。特にデュアルブートの場合は下手するとWindowsを消し飛ばすので注意してください。

$ lsblk

image.png
こんな感じで表示されるので,インストールしたい場所の名前を確認しておく。
ここではnvme0n1というディスクにインストールすることとする。

$ cgdisk /dev/nvme0n1

image.png
こんな感じの画面が出てくるので,いらないパーティションをdeleteで消す。

EFIパーティション

  1. freespaceを選択し,Newを押す
  2. そのままEnter
  3. +512Mを入力 (始めから512MiB)
  4. ef00を入力
  5. 名前を入力(ここでは"ARCH EFI")

/(root)パーティション

  1. freespaceを選択し,Newを押す
  2. そのままEnter
  3. -3Gを入力 (終わりから3GiB)
  4. そのままEnter
  5. 名前を入力(ここでは"ARCH ROOT")

swapパーティション

  1. freespaceを選択し,Newを押す
  2. そのままEnter
  3. そのままEnter
  4. 8200を入力
  5. 名前を入力(ここでは"swap")

パーティション作成

Writeを選択しEnterを押し,ファイルが消えるから注意してね的なことを言われるのでyesを入力する。
success的なことを言われれば成功。Quitを選択して脱出する。

フォーマット

EFIパーティション

fat32でフォーマットする。EFIパーティションの名前はlsblkでパーティション容量などから確認しておいてください。ここではnvme0n1p2とする。

$ mkfs.fat -F32 /dev/nvme0n1p2

これでフォーマットする。

/(root)パーティション

btrfsでフォーマットする。パーティションの名前はnvme0n1p3とする。

$ mkfs.btrfs /dev/nvme0n1p3

swapパーティション

パーティションの名前はnvme0n1p5とする。

$ mkswap /dev/nvme0n1p5

おつかれさまでした。これでパーティションの設定は完了です。

マウント

/(root)パーティションをマウントする。

$ mount /dev/nvme0n1p3 /mnt

/mnt/bootを作成し,EFIパーティションをマウントする。

$ mkdir /mnt/boot
$ mount /dev/nvme0n1p2 /mnt/boot

swapを起動する。

swapon /dev/nvme0n1p5
EFIパーティションが2つあるとき windowsと同居するときなどは/mnt/win_bootなどのディレクトリを作り,そこにwindowsのEFIパーティションをマウントします。
$ mkdir /mnt/win_boot
$ mount /dev/nvme0n1p1 /mnt/win_boot

必要なものをいろいろインストール

pacmanの設定

/etc/pacman.d/mirrorlistにミラーが定義されているのでこれをできるだけ近い位置にあるものに変更する。
まさかこの設定をしないでインストールする人はいないよね!!!!!!!!(1敗)

$ vim /etc/pacman.d/mirrorlist

JapanがあればそこのURLをアンコメントしてする。無ければ

Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch

これを一番上に追記してする。

インストール

ここまでは誰でもだいたい同じ手順ですがこのあたりから違ってきます。これはオレオレインストールなので私が好きなやつを入れていきます。

pgp鍵をインストール

$ pacman -Sy archlinux-keyring
$ pacstrap /mnt base linux linux-firmware vim zsh zsh-completions 

これでもろもろのインストールができる。

fstabの作成

fstabを自分で書く人もいますが,私はまだそのレベルに達していないのでコマンドに頼る。

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

chroot

準備が整ったのでchrootする。

$ arch-chroot /mnt

Bashは使いたくないのでzshにする。

$ zsh

タイムゾーンの設定

日本時間にする。

$ ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

システムの時刻をBIOSにコピー

$ hwclock --systohc

ローカライゼーション

/etc/locale.genを編集する。

$ vim /etc/locale.gen

「en_US.UTF-8 UTF-8」と「ja_JP.UTF-8 UTF-8」の行をアンコメントする。

編集できたら,$ locale-genでlocaleを作成する。

それが完了したら,/etc/locale.confを編集する。

$ vim /etc/locale.conf
LANG=en_US.UTF-8

コンソールの文字を大きくしておく

pacmanの設定をしておく。

$ vim /etc/pacman.conf

pacman.confを開いて# Misc optionsのところに

Color
CheckSpace
ParallelDownloads = 5
ILoveCandy

を追記する。

terminus-fontをインストールする。

$ pacman -S terminus-font

/etc/vconsole.confのFONTにフォント名を指定すれば、次回起動時から自動的にこのフォントが使われるようになる。

$ vim /etc/vconsole.conf
FONT=ter-128n

ホスト名の設定

/etc/hostnameに自分で考えたホスト名を追記する。
/etc/hostsをそのホスト名を使って以下のように編集する。

127.0.0.1	localhost
::1		    localhost
127.0.1.1	myhostname.localdomain	myhostname

rootのパスワード

rootはなんでもできてしまうので危険です。パスワードを設定しておきましょう。

$ passwd

GRUBのインストール

必要なパッケージを入れていきます。

$ pacman -S grub efibootmgr dosfstools os-prober mtools

GRUBをUEFIが読める場所にインストールする。--efi-directoryは、EFIパーティションをマウントしているパス(/boot)を指定する。

$ grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB_UEFI

GRUBのconfigを作る。grub弄ったあとは絶対にこのコマンドで更新してください。

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

プロセッサ用マイクロコード

使っているCPUに合わせてマイクロコードを適応させる。
まずパッケージをインストールする。

$ pacman -S intel-ucode

or

$ pacman -S amd-ucode

GRUBの場合は

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

rEFInd

便利なブートローダのrEFIndを入れる。

$ pacman -S refind

インストールする。

$ refind-install

ネットワーク設定

networkmanagerを使う。
パッケージをインストールする。

$ pacman -S networkmanager wpa_supplicant dialog iw iwd dhcpcd netctl

systemctlを使用し,networkmanagerが起動時に立ち上がるようにする。

$ systemctl enable NetworkManager

リブートしよう

chrootからexitで抜け,ライブ環境まで戻ってrebootを実行する。

起動

image.png

起動したらこんな画面になると思うのでEFI/GRUB_UEFI/grubx64.efiみたいな感じで書いてるやつを選択してArchLinuxを選んで起動する。

正常に起動できたらArchLinux本体のインストールは成功です!!
おつかれさまでした。

カスタマイズ

ここからもっとオレオレが加速します。

ネットワーク設定

nmtuiから設定する。
image.png
(多分日本語化されてないけど)こんな画面が出るのでアクティベートなんちゃらを選択して接続したいWiFiを選んで接続する。終わったらQuitで抜ける。

アップデート

パッケージのアップデートをしておく。

$ pacman -Syu

これで全てのアップデートができます。

ユーザー追加とsudo

ずっとrootで作業するのは危険なので一般ユーザーを使っていきます。wheelグループに所属するように作成します。

$ useradd -m -G wheel username

usernameには好きな名前を入れてください。
パスワードを設定します。

$ passwd username

sudo

パッケージを入れます。

$ pacman -S sudo

wheelグループのユーザーにsudo権限を与えるように設定していきます。

$ EDITOR=vim visudo

以下の行をアンコメントしてください。

%wheel ALL=(ALL:ALL) NOPASSWD: ALL

↑の設定は個人用PCでのみ使用してください。
設定が完了したら,新しいユーザーでログインしましょう。

AURヘルパーの導入

pacmanでAURのパッケージを入れるには結構面倒なことをしなければいけませんが,AURヘルパーを導入をするとそれを楽にすることができます。いつもはyayなのですが今回は折角なのでparuを使ってみようと思います。

必要なパッケージのインストール

$ sudo pacman -S --needed git base-devel rustup

paruはrust製なのでrustの環境を設定します。

$ rustup default stable

インストール

gitから持ってきて自前でビルドします。

$ git clone https://aur.archlinux.org/paru.git
$ cd paru
$ makepkg -si

これでparuが使えます。基本はpacmanと同じように使います。

デフォルトシェルの設定

chshを使ってデフォルトシェルをzshにします。

$ chsh -s $(which zsh)

時計の設定(n回目)

一応時計の設定をしときます。

$ sudo timedatectl set-ntp true

GUIを入れよう

今回はHyprlandを導入する。
イケイケのタイル型環境です。

Hyprland

いろいろインストール

$ paru -S hyprland-nvidia kitty gtk3 waybar-hyprland-git mpd ttf-font-awesome noto-fonts noto-fonts-cjk noto-fonts-emoji ttf-firge ttf-fira-code ttf-firacode-nerd pipewire neovim gdm

gdm

systemdで起動時に自動で起動するようにする。

$ sudo systemctl enable gdm.service

waylandに対応させる。

$ sudo ln -s /dev/null /etc/udev/rules.d/61-gdm.rules

起動

$ Hyprland

これで起動できる。

ttyからの起動は初回だけでok。次からはgdmから起動できる。

起動すると上に警告っぽいものが出てくるのでこれを消す。
~/.config/hypr/hyprland.confに設定があるのでそこのautogenarated = 1の行をコメントアウトする。
これで警告が消える。

各種ソフトのインストール

ブラウザなどのもろもろのソフトをインストールする。

$ paru -S firefox-developer-edition rofi hyprpaper discord visual-studio-code-bin spotify-launcher nemo flameshot vlc pipewire-pulse

pipewire-pulseを有効化するため,再起動する。

トラックパッドの設定

ノートpcにインストールしたのでtouchpadの設定をしていく。
~/.config/hypr/hyprland.confinputに以下を追記する。

touchpad {
    natural_scroll = true
    clickfinger_behavior = true
    tap-to-click = true
}

xwaylandの設定

xorgをwaylandで動かすために必要。
設定無しだと画質がガビガビになる。

~/.config/hypr/hyprland.confに以下を追記する。

xwayland {
    force_zero_scaling = true
}

これで画質が改善される。

zshの設定

なにか見覚えのある記事があるので以下の記事を参考に設定する。

GitHubの秘密鍵設定

GitHubの認証のため,秘密鍵を生成し,登録する。

$ mkdir ~/.ssh
$ cd .ssh
$ ssh-keygen -t ed25519

何か聞かれるが全部エンター。生成できたらGitHubの自分のアカウントに登録しておく。

接続確認しておく。

ssh -T git@github.com

successfullyなんちゃらみたいなのが出たら成功。

dotfileの共有

メインPCもArchLinuxなのでchezmoiを使って移行していく。
既にgithubのリポジトリを作っていたのでそれを使う。

$ paru -S chezmoi
$ chezmoi init git@github.com:Hayatann/dotfiles.git

firefoxの設定

userChromeを設定する。
firefoxのアドレスバーにabout:configを入力し,legacyUserProfileなんちゃらって書いてるところをtrueに変更する。

メニュー→ヘルプ→他のトラブルシューティング情報でプロファイルフォルダーの場所を確認する。

ターミナルでその場所に移動する。
その場所でgithub上にある自分のuserchromeをcloneし,そのディレクトリ名をchromeに変更する。

$ git clone ~~~~
$ mv ~~~~ chrome

firefoxを再起動するといつものfirefoxになってくれる。

各種言語の設定

どうやらasdfというバージョン管理システムが良いらしい。

これを見ながら設定していく。

ダウンロード

$ paru -S asdf-vm

.zshrcにasdf.shを読み込ませるため,.zshrcに以下を追記

. /opt/asdf-vm/asdf.sh

プラグインの導入

asdfに使いたい言語のプラグインをインストールする。
今回はnodejsを入れたいので検索する。

$ asdf plugin list all | grep nodejs

nodejsのプラグインが見つかったのでインストールする。

$ asdf plugin add nodejs

インストール

利用可能なバージョンを調べる。

$ asdf list all nodejs

いい感じのがあればインストールする。

$ asdf install nodejs 20.8.0

また,最新版を入れたいときは

$ asdf install nodejs latest

のようにすればインストールできる。

グローバルに設定

まずインストールできたやつのバージョンを確認する。

$ asdf list nodejs

確認できたらグローバルに設定する。

$ asdf global nodejs ~~~

これでグローバルに設定できる。

waybar

mpdを自動起動させる。

$ sudo systemctl enable mpd
$ sudo systemctl start mpd

~/.config/waybar/configに設定を書く。
今回は以下のwaybarを参考にさせていただいた。

必要なものをインストールする。

$ paru -S htop brightnessctl pavucontrol

変更したconfigはあとでdotfileのリポジトリと一緒に挙げておく。

自動起動

hyprland.confに以下を記述する。

exec-once=waybar

これで起動時にwaybarが起動する。

日本語入力

IMEにはもちろんSKKを使う。SKKは最も打ちやすくスピーディングである。
宗教上の理由等でどうしてもSKKが使えない方はfcitx5-mozc等をインストールしてもいい。

fcitx5

まず必要なパッケージを入れていく。

$ paru -S fcitx5 fcitx5-im fcitx5-skk fcitx5-configtool

入れたら,/etc/environmentに環境変数を設定します。設定しないとHyprlandが落ちます(1敗)。

$ sudo nvim /etc/environment
# 以下を記述
export GTK_IM_MODULE=fcitx5
export QT_IM_MODULE=fcitx5
export XMODIFIERS=@im=fcitx5

自動起動できるようにしておく。
hyprland.confに以下を記述する。

exec-once=fcitx5

これで起動時にfcitxが起動する。

通知

makoという通知デーモンを使う。

$ paru -S mako

通知が来たときに自動的に起動するので特に設定は必要ない。
見た目をcatppuccinのテーマにしておく。

これに沿って設定すればOK。

Kittyの設定

カラースキームにcatppuccinを使う。

これを見ながら設定する。

壁紙

hyprpaperを使おうと思ったが上手く動かなかったのでwaypaperを使う。

paru -S waypaper swww swaybg

壁紙にしたい画像を~/Picturesに入れるとwaypaperが勝手に認識してくれる。
あとはwaypaperを起動して画像をクリックすれば壁紙が適用される。

スクショ

hyprshotを使う。

paru -S hyprshot

インストールした後,hyprland.confに以下を追記する。

bind = $mainMod SHIFT, S, exec, hyprshot -m output --clipboard-only

これでModキー+Sでスクショができるようになる。

フルスクリーン

Modキー+Fでフルスクリーンを切り替えられるようにする。
hyprland.confに以下を追記する。

bind = $mainMod, F, fullscreen, 0

Capsを排除

忌々しいキーであるCapsをhyprlandではCtrlに替えることができる。
hyprland.confのinput内に以下を追記

kb_options = ctrl:nocaps

これだけでCapsがCtrlになる。

終わりに

おつかれさまでした。
これにてオレオレArchlinuxインストール完了です。
もしこの記事を見てインストールに挑戦した人はこのやり方に囚われることなく,素晴らしいLinuxライフをお楽しみください。
最後に,完成した環境のスクショを貼って終わります。
ありがとうございました。

image.png

7
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
9