LoginSignup
35
33

More than 3 years have passed since last update.

ArchLinuxのインストール方法(最小構成)

Last updated at Posted at 2019-10-06

ArchLinuxとは

  1. 軽量でシンプル
  2. 公式wikiがつよい
  3. カスタマイズしやすい
  4. CLIに弱い初心者にはManjaro
  • 誰でも一度は使ってみるべし
  • 迷ったらArchWikiに従うべし
  • ちなみにここの内容はほとんどwikiのコピペ

インストール用メディアの準備

1.ISOファイルをミラーからダウンロード

  • 速いのでmirrors.cat.netがオヌヌメ

  • ファイル名は "archlinux-2019.10.01-x86_64.iso" みたいな形式

2.落としたISOファイルをUSBメモリやCD等に焼く

  • USBの場合
    • Windowsの人はRufusを使おう(書き込みはddモードを使う)
    • Linuxの人はddコマンドで焼こう↓↓
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など)
  • 下↓↓のコマンドを実行
WPA2なAPへの接続
~# 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)を作成する
  • デュアルブートする人はここもスキップ。
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をフォーマットする。(デュアルブートするなら絶対に実行しないこと。)
ESPの初期化
~# mkfs.fat -F 32 /dev/sdxy
 # "sdxy"はさっき作成したESPに合わせて適宜変更する(例:sda1)

パーティションのフォーマットとマウント

  • さっき作ったパーティションを実際に使える状態にフォーマットする
  • データを保持したいもの以外は、全てフォーマットすること。

データの入ったパーティションを誤ってフォーマットしないように、気をつけて(n回目)

1. EXT4

  • ext4 -よく聞くやつ。
Format
~# mkfs.ext4 /dev/sdxy

2.BTRFS

  • btrfs -ネイティブでソフトウェアRAIDができるヤツ。ストレージ構成を頻繁に変えたりするならこいつ
Format
~# mkfs.btrfs /dev/sdxy

3.F2FS

  • f2fs -フラッシュメモリに特化したファイルシステム(eMMCとかNVMeなSSDに向いているらしい)
Format
~# mkfs.xfs /dev/sdxy

4.XFS

  • xfs -速くて、良い(SSDに向いている)
Format
~# 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より速い気がする
mirrorlist
~# vim /etc/pacman.d/mirrorlist

ミラー鯖のリストがズラーっと並んでいるが全てコメントアウトして、以下の行をアンコメントする。ミラーリストは上から読まれるのでこの順番が良いと思う。

/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を参照すること。
Fstabの生成
~# genfstab -U /mnt >> /mnt/etc/fstab

6.新規環境の設定

  • 新しくインストールしたシステムにchrootして、作業を続ける
まずは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が便利そう。
有線LAN
root# pacman -S dhcpcd
root# systemctl enable dhcpcd

無線LANを使う場合

  • NetworkManagerがオヌヌメ
  • NetworkManagerの場合、インストールが完了した後にnmtui等のコマンドで無線LANの設定する必要がある
無線LANを使う場合
root# pacman -S wpa_supplicant networkmanager dhcpcd
root# systemctl enable NetworkManager

rootのパスワードを設定

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-bootGRUBを選べる(ここでは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起動の場合

GRUB
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がよくわからん人は↓↓をどうぞ

nmcliでの設定例
~$ 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

以上!

35
33
3

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
35
33