#ArchLinuxとは
- 誰でも一度は使ってみるべし
- 迷ったらArchWikiに従うべし
ちなみにここの内容はほとんどwikiのコピペ
#インストール用メディアの準備
##1.ISOファイルをミラーからダウンロード
-
速いのでmirrors.cat.netがオヌヌメ
-
ファイル名は "archlinux-2019.10.01-x86_64.iso" みたいな形式
##2.落としたISOファイルをUSBメモリやCD等に焼く
- USBの場合
- Windowsの人はRufusを使おう(書き込みはddモードを使う)
- Linuxの人はddコマンドで焼こう↓↓
~$ sudo dd bs=4M if=path/to/archlinux-20xx.xx.xx-x86_64.iso of=/dev/sdx status=progress && sudo sync
#sdxの部分は適宜変更する。"sudo fdisk -l"の結果などを参考に
- CDに焼く場合
- Windowsはシステム標準のやつで大丈夫
- Linuxの人はBraseroを使うと無難
#起動
-
UEFIやBIOS設定画面から、Archの入ったメディアを選択して起動する
-
Windowsとのデュアルブートを考えているなら、Archの起動方法はWindowsの起動方法(UEFI or BIOS)に合わせる
#インストールする
...前に、キーボードのレイアウトを設定する
ここの設定はインストール先のArchには何ら影響がないので、好きなものを使って大丈夫
ls /usr/share/kbd/keymaps/*/*/*.map.gz
でレイアウトの一覧が取得できる
~# loadkeys jp106
#jp106の部分は任意で変更する
##1.ネットワークへの接続
###有線LAN
- 基本はすでにインターネットに繋がっているはず
- もし振られていなかったら、ArchWikiを見て頑張って(丸投げ)
###無線LAN
- まず
ip link
して、インターフェース名を確認(例: 有線はenp2s0
、無線はwlp0s3
など) - 下↓↓のコマンドを実行
~# wpa_supplicant -B -i いんたーふぇーす名 -c <(wpa_passphrase MYSSID PASSWORD)
# "いんたーふぇーす名"と"MYSSID"と"PASSWORD"は適宜変更すること。
~# dhclient いんたーふぇーす名
-
ping -c 3 archlinux.org
が通ったらOK - うまくいかない場合は、ArchWikiを見てがんばって(丸投げ)
##2.システム時計の更新
~# timedatectl set-ntp true
##3.ディスクのパーティショニング
~# fdisk -l
- インストールするディスクを見つけて、パーティションを切る
- もうすでにパーティションの割当が済んでいる場合は"ファイルシステムの作成"までスキップ
###パーティションの作成
- まずは編集画面(?)に移る
~# fdisk /dev/sdx
# "sdx"は環境に合わせて適宜変えること。
####ここから先は、UEFI起動とBIOS起動で手順が異なるので適宜判断してください
####UEFIで起動させたい場合
- ディスクをまるごと全部削除してGPTテーブルを作成する
- パーティションを生かしたい(デュアルブート等で)場合はスキップ
# ディスクの内容が消えるので注意
Command (m for help): g
- UEFI用の特別なパーティション(EFI System Partition : ESP)を作成する
- デュアルブートする人はここもスキップ。
Command (m for help): n
Partition number (x-x, default x): 1 #デフォルトでOK
First sector (x-x, default x): #ここもデフォルトでOK
Last sector, +/-sectors or +/-size{K,M,G,T,P} (x-x, default x): +500M #100M以上必須
#もしDo you want to remove the signatureなんちゃらって聞かれたら、Yを選ぶ
Created a new partition x of type 'Linux filesystem' and of size 500 MiB.
Command (m for help): t
Partition number (x,x, default x): 1 #もし聞かれたら、さっき作ったESPの番号を選択
Partition type (type L to list all types): 1 #1を指定
Changed type of partition 'Linux filesystem' to 'EFI System'.
Command (m for help): w #変更を保存して終了する時はw、変更を破棄して終了する時はq
- システムのインストール先として使用するパーティションを作成。(必須)
- /homeとかを分割する場合はこのタイミングで作成する
- スワップについて、僕はスワップパーティションよりもスワップファイルを使うことを推奨している。(いつでも簡単に設定できるため。)スワップファイルの設定はここより後でする。
~# fdisk /dev/sdx
# "sdx"は各自の環境によって置き換えてね
# ↓システムをインストールするパーティション
Command (m for help): n
Partition number (x-x, default x): #デフォルトでOK
First sector (x-x, default x): #デフォルトでもOK
Last sector, +/-sectors or +/-size{K,M,G,T,P} (x-x, default x): +100G #デフォルトでもOK
#もしDo you want to remove the signatureなんたらって聞かれたら、Yを選ぶ
Created a new partition x of type 'Linux filesystem' and of size 100 GiB.
Command (m for help): w
パーティションの作成が終わったら、"ファイルシステムの作成"へGO!
####BIOSで起動させたい場合
- ディスクをまるごと全部削除してMBRテーブルを作成します。
- パーティションを生かしたい(デュアルブート等の理由で)場合はここをスキップ
# ディスクの内容が消えるので注意
Command (m for help): o
- システムで使用するパーティションを作成。(必須)
- /homeとかを分割してパーティション切る場合はこのタイミングで作成する
- 僕はスワップパーティションよりもスワップファイルを使うことを推奨している。(いつでも簡単に設定できるため)スワップファイルの設定は後で説明する
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): #どっちでも大丈夫だが、primaryパーティションは一つのディスクに4つまでしか作れないので注意
Partition number (1-4, default 1): #お好きなものをどうぞ
First sector (xxxx-xxxx, default xxxx): #任意の値
Last sector, +/-sectors or +/-size{K,M,G,T,P} (xxxx-xxxx, default xxxx): +100G #任意の値(パーティションのサイズ)
Created a new partition x of type 'Linux' and of size 100 GiB.
# Do you want to remove the signature? [Y]es/[N]o: と聞かれたらYと答える
Command (m for help): w #変更を書き込んで終了
##4.ファイルシステムの作成
- 古いデータを保持したい場合は、間違ってもデータの入ったパーティションをフォーマットしないように。
###UEFIのみの特別な手順
- ESPをフォーマットする。(デュアルブートするなら絶対に実行しないこと。)
~# mkfs.fat -F 32 /dev/sdxy
# "sdxy"はさっき作成したESPに合わせて適宜変更する(例:sda1)
###パーティションのフォーマットとマウント
- さっき作ったパーティションを実際に使える状態にフォーマットする
- データを保持したいもの以外は、全てフォーマットすること。
データの入ったパーティションを誤ってフォーマットしないように、気をつけて(n回目)
####1. EXT4
- ext4 -よく聞くやつ。
~# mkfs.ext4 /dev/sdxy
####2.BTRFS
- btrfs -ネイティブでソフトウェアRAIDができるヤツ。ストレージ構成を頻繁に変えたりするならこいつ
~# mkfs.btrfs /dev/sdxy
####3.F2FS
- f2fs -フラッシュメモリに特化したファイルシステム(eMMCとかNVMeなSSDに向いているらしい)
~# mkfs.xfs /dev/sdxy
####4.XFS
- xfs -速くて、良い(SSDに向いている)
~# mkfs.xfs /dev/sdxy
####フォーマットの作業が終わったら、それらをマウントする
~# mount /dev/sdxy /mnt #"sdxy"はルートパーティションにあわせて変更
# UEFIの人はESPのマウントも必須
~# mkdir /mnt/boot
~# mount /dev/sdxy /mnt/boot #"sdxy"はESPに合わせて変更すること。
# 以下は/homeなどを分割してパーティショニングした人とかのみ必須
~# mkdir /mnt/home
~# mount /dev/sdxy /mnt/home #"sdxy"は目的のパーティションに合わせて適宜変更すると。
必要なパーティションのマウントが完了したら、次のステップへ進む。
##5.ベースシステムのインストール
- さっきまで頑張って構築した環境に、ArchLinuxのベースをインストールする
###ミラーの選択
- 速いサーバーを指定しておけばパッケージのインストールにかかる総合の時間が短くなる(真理)
- cat.netのがjaistより速い気がする
~# vim /etc/pacman.d/mirrorlist
ミラー鯖のリストがズラーっと並んでいるが全てコメントアウトして、以下の行をアンコメントする。ミラーリストは上から読まれるのでこの順番が良いと思う。
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
Server = http://mirrors.evowise.com/archlinux/$repo/os/$arch
Server = http://mirror.rackspace.com/archlinux/$repo/os/$arch
(ちなみに↑↑の上2つは日本の鯖で、下2つはWorldWideな鯖)
###インストール
- ベースシステムをインストールする。(ちょっと前からカーネルとエディタを指定しないといけなくなった。)
~# pacstrap /mnt base base-devel linux vim git
#もちろんlinux-zenやneovimなども使用可能
###fstabの自動生成
- fstabに関する詳しい説明はArchWikiを参照すること。
~# genfstab -U /mnt >> /mnt/etc/fstab
##6.新規環境の設定
- 新しくインストールしたシステムにchrootして、作業を続ける
~# arch-chroot /mnt
- 日本向けにローカライズする
root# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
#タイムゾーンを設定
root# hwclock --systohc
#/etc/adjtimeを生成
root# vim /etc/locale.gen
# en_US.UTF-8 と ja_JP.UTF-8 をアンコメント
root# locale-gen
root# echo LANG=en_US.UTF-8 > /etc/locale.conf
# デフォルトの言語(英語)
root# echo KEYMAP=jp106 > /etc/vconsole.conf
# キー配列を指定(任意)
- ネットワーク関連の設定
root# echo HOGE > /etc/hostname
#ホストネーム("HOGE"は適宜変更すること。)
root# vim /etc/hosts
#以下2行を追記する
127.0.0.1 localhost
::1 localhost
###自動でインターネットに接続
####有線LANを使う場合
- IPを固定するにはnetctlが便利そう。
root# pacman -S dhcpcd
root# systemctl enable dhcpcd
####無線LANを使う場合
- NetworkManagerがオヌヌメ
- NetworkManagerの場合、インストールが完了した後にnmtui等のコマンドで無線LANの設定する必要がある
root# pacman -S wpa_supplicant networkmanager dhcpcd
root# systemctl enable NetworkManager
###rootのパスワードを設定
root# passwd
##7.一般ユーザーの追加
- 普段からrootを使うのもセキュリティがアレなので、一般ユーザーを追加する。
root# useradd -mG wheel ゆーざー名
root# passwd ゆーざー名
# パスワードの設定をお忘れなく。
root# visudo
# ↓のように設定する
%wheel ALL=(ALL) ALL
#↑これをアンコメントすると、sudoを使うときにパスワードを要求される
%wheel ALL=(ALL) NOPASSWD: ALL
#↑これをアンコメントすると、sudoがパスワードなしでガンガン使える
##8.ブートローダーの設定
- 今の状態ではまだArchを起動できないので、起動できるようにする。
###UEFI起動の場合
- systemd-bootとGRUBを選べる(ここではGRUBのインストール方法を説明)
root# pacman -S grub efibootmgr
root# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
#この段階で/etc/default/grubでgrubの設定ができる(よくわからないなら、いじらないで大丈夫)
root# grub-mkconfig -o /boot/grub/grub.cfg
###BIOS起動の場合
root# pacman -S grub
root# grub-install --target=i386-pc /dev/sdx
#たとえamd64なCPUのマシンでも--targetにはi386-pcを指定する。
#"sdx"はArchをインストールしたディスクに適宜変更。間違ってパーティション番号つけるとエラーになる(sda1とかはNG)
#/etc/default/grubをいじりたい人はいじる
root# grub-mkconfig -o /boot/grub/grub.cfg
- ArchWikiには特定のパーティションにブートローダーをインスコする方法も載ってる(つよい)
###他のOS(Windowsとか)とデュアルブートしたい場合
root# pacman -S os-prober ntfs-3g
# ntfs-3gをインストールするとArchでNTFSを読み書きできるようになる
root# grub-mkconfig -o /boot/grub/grub.cfg
とすればOK
##chrootから抜ける
- 再起動できないなぁ、と思ったらchroot中だった、ということのないように。
root# exit
#仕上げ
##NetworkManager
- chroot環境では作業できないので、インストールが完了して再起動した後にこれを実行する。
~$ sudo nmtui
-
nmtuiの使い方
-
十字キーとEnterで操作する
-
Activate a connectionを選択する
-
あとはわかるはず(頑張って)
-
nmtuiがよくわからん人は↓↓をどうぞ
~$ sudo nmcli dev wifi con MYSSID password FUGAFUGA
# MYSSIDとFUGAFUGAは、それぞれルーターのSSIDとパスワードに置き換える
##再起動
- Running in chroot, ignoring requestとか怒られた人、ちゃんとインストールを完了してから設定しましょう(戒め)
##(古いPCでたまにある)無線LANを認識できない人
- wiki見てください(´・ω・`)
- 初心者の方は別のディストロを試したほうがいいかもしれません
##超オヌヌメな奴
- yay -AURヘルパーってやつ(らしい)。導入するとパッケージの管理が114514倍楽になる
- オプションとかはPacmanとそこまで変わらないが、AURのパッケージの導入がマジで楽になる
- 留意点: sudoをつけたり、rootからだと実行できない(makepkgの段階でしくじる)
~$ sudo pacman -S git
~$ git clone https://aur.archlinux.org/yay
~$ cd yay && makepkg -si --noconfirm && cd .. && rm -rf yay
以上!