Help us understand the problem. What is going on with this article?

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

ArchLinuxとは

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

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

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

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

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

僕の環境では起動後なぜか画面がブラックアウトしてしまうので、そのような場合は2019年9月以前のものを使うと良いかもしれない

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

  • USBの場合
    • Windowsの人はRufusを使おう(USBへの書き込みはddモードを使う)
    • Linuxの人はddコマンドで焼こう↓↓
$ sudo dd bs=4M if=path/to/archlinux-20xx.xx.xx-x86_64.iso of=/dev/sdx status=progress oflag=sync
 #sdxの部分は適宜変更する。"sudo fdisk -l"の結果などを参考に
  • CDの場合
    • Windowsはシステム標準のやつで大丈夫
    • Linuxの人はBraseroを使うと無難

起動

  • UEFIやBIOS設定画面から、Archの入ったメディアを選択して起動する

  • Windowsとのデュアルブートを考えているなら、Windowsの起動方法(UEFI or BIOS)に合わせる

インストールする

...前に、キーボードのレイアウトを設定する
ここの設定はインストール先のArchには何ら影響がないので、好きなものを使って大丈夫

# ls /usr/share/kbd/keymaps/**/*.map.gzでレイアウトの一覧が取得できる

archiso# loadkeys jp106
 #jp106の部分を任意のものに変える

1.ネットワークへの接続

  • # ip linkして、インターフェース名を確認(enp2s0とかwlp0s3とか)

有線LAN

  • 基本はすでにインターネットに繋がっているはず
  • もし振られていなかったら、wikiを見て頑張って(丸投げ)

無線LAN

  • 下↓↓のコマンドを実行
archiso# wpa_supplicant -B -D nl80211,wext -i いんたーふぇーす名 -c <(wpa_passphrase MYSSID PASSWORD)
 #MYSSIDとPASSWORDとhogehogeは適宜変更すること。
 #あとなんかエラー吐くかもだけどとりあえず続行
archiso# dhclient いんたーふぇーす名
  • ping -c 3 archlinux.orgが通ったらOK
  • うまくいかない場合は、wikiを見てがんばって(丸投げ)

2.システム時計の更新

archiso# timedatectl set-ntp true

特に言うことはない。

3.ディスクのパーティショニング

インストール先を確認
archiso# fdisk -l
  • 目的のディスクを見つけて、パーティションを切る
  • もうすでにパーティションの割当が済んでいる場合は"ファイルシステムの作成"までスキップ

パーティションの作成

  • まずは編集画面(?)に移る
archiso# fdisk /dev/sdx
 # sdx は環境に合わせて適宜変えること。

ここから先は、UEFI起動とBIOS起動で手順が異なる

UEFIで起動させたい場合

  • ディスクをまるごと全部削除してGPTテーブルを作成する
  • パーティションを生かしたい(デュアルブート等の理由で)場合はスキップ
# ディスクの内容が消えるので注意
Command (m for help): g
  • UEFI用の特別なパーティション(EFI System Partition : ESP)を作成する
  • すでにESPが存在していれば、ここもスキップ。
ESP
Command (m for help): n
 Partition number (1-128, default 1):    #デフォルトでOK
 First sector (2048-1953525134, default 2048):    #ここもデフォルトでOK
 Last sector, +/-sectors or +/-size{K,M,G,T,P} (xxxx-xxxx, default xxxx): +500M  #100M以上必須
 #もしDo you want to remove the signature?って聞かれたら、Yを選ぶ

Command (m for help): t
 Partition number (1,2, default 2): 1    #もし聞かれたら、さっき作ったEFI Systemの方を選ぶ
 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とかを分割してパーティション切る場合はこのタイミングで作成する
  • 僕はスワップパーティションよりもスワップファイルを使うことを推奨している。(インストール後にいつでも設定できる)スワップしたい場合はwikiを参照
パーティション作成の例
archiso# fdisk /dev/hoge

Command (m for help): n
 Partition number (2-128, default 2):    #デフォルトでOK
 First sector (xxxx-xxxx, default xxxx):    #任意の値(デフォルトでもOK)
 Last sector, +/-sectors or +/-size{K,M,G,T,P} (xxxx-xxxx, default xxxx): +100G    #任意の値(パーティションのサイズ)
 #もしDo you want to remove the signature?って聞かれたら、Yを選ぶ

 Created a new partition 2 of type 'Linux filesystem' and of size 100 GiB.

Command (m for help): w

パーティションの作成が終わったら、"ファイルシステムの作成"へGO!

BIOSで起動させたい場合

  • ディスクをまるごと全部削除してMBRテーブルを作成します。
  • パーティションを生かしたい(デュアルブート等の理由で)場合はスキップ
# ディスクの内容が消えるので注意
Command (m for help): o
  • システムで使用するパーティションを作成。(必須)
  • /homeとかを分割してパーティション切る場合はこのタイミングで作成する
  • 僕はスワップパーティションよりもスワップファイルを使うことを推奨している。(インストール後にいつでも設定できる)スワップしたい場合はwikiを参照
パーティション作成の例
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 1 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をフォーマットする。(すでに他のOSをUEFIでインストールしているなら実行しない)
archiso# mkfs.fat -F32 /dev/sdxy
 # sdxyはさっき作成したESPに合わせて適宜変更する(例:sda1)

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

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

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

1. EXT4

  • ext4 -よくわからなければこれを選べば問題ない
  • 使い方
Format
archiso# mkfs.ext4 /dev/sdxy

2.XFS

  • xfs -速くて、ものすごく良い(Arch32ではxfsprogsをインストールしてね)
  • 使い方
Format
archiso# mkfs.xfs /dev/sdxy

フォーマットの作業が終わったら、それらをマウントする

archiso# mount /dev/sdxy /mnt    #sdxyはルートパーティションにあわせて変更

 #UEFIの人はESPのマウントも必須
archiso# mkdir /mnt/boot
archiso# mount /dev/sdxy /mnt/boot    #sdxyはESPに合わせて変更すること。

 #/homeなどを分割してパーティショニングした人とかは実行
archiso# mkdir /mnt/home    #home以外にもusrとかvarとかもこれと同じ要領ですべし
archiso# mount /dev/sdxy /mnt/home    #sdxyは目的のパーティションに合わせて適宜変更すること。

必要なパーティションのマウントが完了したら、次のステップへ進む。

5.ベースシステムのインストール

  • さっきまで頑張って構築した環境に、ArchLinuxのベースをインストールする

ミラーの選択

  • 速いサーバーを指定しておけばパッケージのインストールにかかる総合の時間が短くなる(真理)
mirrorlist
archiso# nano /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でカーネルとエディタを指定しないといけなくなった。)
  • 起動したときに画面がブラックアウトして映らなくなるバグがある人は、ここでlinuxではなくlinux-ltsを選ぶとよい(早く直って)
archiso# pacstrap /mnt base base-devel linux nano
 #もちろんlinux-zenやvimなども使用可能

fstabの生成

  • fstabに関する詳しい説明はwikiを参照すること。
Fstabの生成
archiso# genfstab -U /mnt >> /mnt/etc/fstab

6.新規環境の設定

  • 新しくインストールしたシステムにchrootして、作業を続ける
まずはchroot
archiso# arch-chroot /mnt
  • 日本向けにローカライズする
時計の設定
root# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
 #タイムゾーンを設定
root# hwclock --systohc
 #/etc/adjtimeを生成
言語の設定
root# nano /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# nano /etc/hosts
 #以下3行を追記する
127.0.0.1   localhost
::1     localhost
127.0.1.1   HOGE.localdomain    HOGE
 #"HOGE"は/etc/hostnameと同じものを使う

自動でインターネットに接続

有線LANを使う場合

  • IPを固定するにはnetctlが便利そう。
有線LAN
root# pacman -S dhcpcd
root# systemctl enable dhcpcd

無線LANを使う場合

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

よく忘れてしまう設定

ROOTのパスワード
root# passwd

7.一般ユーザーの追加

  • 普段からrootを使うのもアレなので、一般ユーザーを追加する。
ユーザーの追加
root# useradd -m -G wheel ゆーざー
root# passwd ゆーざー
 # パスワードの設定をお忘れなく。

root# EDITOR=nano visudo
 # visudoではデフォルトのエディターがvimなので一時的にnanoに変更
 # 永久的に変更したい場合は"export EDITOR=nano"を~/.profileなどに記述するとよい。

%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
  • wikiには特定のパーティションにブートローダーをインスコする方法も載ってる(つよい)

他の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環境では作業できないので、インストールが完了して再起動した後にこれを実行する。
common-user% sudo nmtui
  • nmtuiの使い方

    • 十字キーとEnterで操作する
    • Activate a connectionを選択する
    • あとはわかるはず(頑張って)
  • nmtuiがよくわからん人は↓↓をどうぞ

nmcliでの設定例
common-user% 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の段階でしくじる)
導入方法
common-user% sudo pacman -S git
common-user% git clone https://aur.archlinux.org/yay
common-user% cd yay && makepkg -si --noconfirm && cd .. && rm -rf yay

以上!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away