Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
8
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

初心者向けのArchLinuxのインストールと初期設定(64bit環境にMBRでインストール)

前書き

初めてのMarkdownになるのでおかしい部分があると思います。

ArchLinux自体、最近になってハマったので間違っている部分等あったら教えてください。

前提

シングルブートで行います。
ブートローダーにはGrub2を使用します。
この記事では64bit MBRのみ解説しています。

インストールディスクの作成

インストールディスクはUSBのほうが速いのでUSBメモリに作成していきます。
Arch Linux DownloadsからISOファイルを入手して下さい。
ISOサイズは600~700MBなので小さいサイズUSBで十分です。

Windowsの場合

USB Writerを使い、ISOファイルを書き込んでください

Linuxの場合

まずはUSBのデバイス名を確認します。

fdisk -l

接続されているデバイスの中からUSBメモリを見つけ出し、/dev/sdxという部分(xは環境によって変化します)を覚えておいてください。

dd bs=4M if=archlinux.iso of=/dev/sdx && sync

archlinux.isoの部分はダウンロードしたisoのパス、/dev/sdxのxは先程のUSBメモリの数値に置き換えてください。

インストール作業

USBメモリにISOを書き込んだらインストール作業を行っていきます。
BIOSから起動デバイスにUSBメモリを指定して起動してください。

キーボードレイアウトの設定

デフォルトではUS配列になっているので日本語106配列に変更します。

loadkeys jp106

インターネット接続

・Wi-Fiの場合

ip a

でWi-Fiのインターフェースの名前をメモしておきます。
そして下のコマンドでWi-Fiに接続します。

wpa_supplicant -B -i interface -c <(wpa_passphrase SSID password)
dhcpcd interface

interfaceは先程調べたWi-Fiのインターフェースの名前、SSIDは接続したいWi-FIのSSID、passwordはWi-Fiのパスワードに置き換えてください。

・有線の場合
自動で接続されます。

IPアドレスを固定する場合は以下を参考にしてください。
ネットワーク設定 -- 固定IPアドレス

時間設定

timedatectl set-ntp true

でntpサーバとの同期を有効化します。

rootパスワードの設定

この設定はインストール後には反映されません。
このあとにSSH接続を行う際にのみ使用します。

passwd root

SSH接続

以下のSSH接続はこれからのコマンドをSSHクライアントからコピペできるようにするためのものです。
面倒だったり、「全部打ってやるわ」という方はとばして頂いて結構です。

IPアドレスを確認する

ip a

Ipアドレスをメモしておきます。

SSHサーバを有効化します。

systemctl start sshd

クライアントから接続します。

別のPCからSSH接続を行います。

他のWindowsとかLinuxから
ssh root@192.168.1.10

192.168.1.10は先程調べたIPアドレスに置き換えてください。

パーティショニング

パーティション構成は以下のとおりに行っていきます。


/dev/sda : 128GB

/dev/sda1 : 124GB Ext4

/dev/sda2 : 4GB Swap

/dev/sdaの部分はインストール先の名前を調べて置き換えてください。

fdisk -l

通常はこのままfdiskやpartedなどを使用してポチポチやっていくのですが、正直面倒なのでcfdiskを使用していきます。

cfdisk /dev/sda

パーティションテーブルはdosを指定して下さい。
[new]を選択し、サイズで124GB(※)と入力、[primary]を選択して下さい。
あとはそのままEnterキーで飛ばしてください。
/dev/sda1の作成ができたら、[↓]キーで下のパーティションに移動します。
[primary]を選択する以外はすべてEnterキーを連打で大丈夫です。
/dev/sda2の作成も終わったら[Write]を選択し、[yes]と入力して設定を適用してください。
その後「Quit」でcfdiskを終了してください。

※ここでは/dev/sda1のサイズを124GBを仮定しているため124GBと打っていますが、インストール先のサイズによって変化します。
「(インストール先のディスクのサイズ)- (スワップ領域のサイズ)」の式で求められる数字がベストなサイズです。
スワップ領域のサイズは実装されている物理メモリと同じ大きさが適切です。

フォーマット

/dev/sda1をフォーマットします。

ファイルシステムはext4を使用します。

mkfs.ext4 /dev/sda1

スワップを作成

mkswap /dev/sda2

スワップの有効化します。

swapon /dev/sda2

マウント

mount /dev/sda1 /mnt

ミラーリストの作成

pacman(ArchLinuxのパッケージ管理システム)のサーバーリストを日本のみにします。
正攻法ではViなどを使用して'##Japan'のみを有効化するのですが、私はViが苦手なのジェネレータを作成します。
既存のミラーリストをバックアップ

mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak

ミラーリストをダウンロードする

curl -sL https://0u0.biz/YNhG | sed "s/^#Server/Server/g" > /etc/pacman.d/mirrorlist

短縮URLを使用していますが、Pacman Mirrorlist Generatorから日本のミラーリストを取得しています。
短縮URLはアートスピンのURL短縮サービスを使用しています。

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

pacstrap /mnt base base-devel bash-completion linux linux-headers

bash-completionはbash補完を使用するためにインストールします。

fstabの作成

/etc/fstabはマウントに関する設定が記述されています。

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

システムの設定

インストール完了後、chrootしてシステムに入り、設定を行っていきます。

arch-chroot /mnt

nanoの設定

行数表示を有効化

nano /etc/nanorc

set linenumbersをアンコメントしてください。

デフォルトのエディターをnanoに変更

echo EDITOR=nano >> /etc/bash.bashrc
source /etc/bash.bashrc

ロケールの設定

/etc/locale.genの一部をアンコメントします。

nano /etc/locale.gen

en_US.UTF-8 UTF-8ja_JP.UTF-8 UTF-8をアンコメントしてください。
その後、以下を実行してください。

locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf

コンソールのフォントとキーボードレイアウト

echo -e "KEYMAP=jp106\nFONT=lat9w-16" >> /etc/vconsole.conf

タイムゾーンの設定

tzselect

自分の住んでいる地域(ここでは日本なのでAsiaつまり4)の数値を入力します。
次に、その地域の国が表示されるので自分の国(ここでは日本なのでJapanつまり19)の数値を入力します。
最後に確認が出るので、間違っていないのなら1を入力します。

最後にハードウェアクロックを同期させます

hwclock --systohc --local

ホスト名の設定

echo hogehoge > /etc/hostname

hogehogeは自分の好きなホスト名で置き換えてください。
同じホスト名を/etc/hostsにも追記します。

nano /etc/hosts
/etc/hosts
127.0.0.1 localhost.localdomain localhost hogehoge
::1       localhost.localdomain localhost hogehoge

rootのパスワード

passwd root

好きなパスワードを入力してください。(先程入力したrootパスワードは一切関係ありません。)

一般ユーザーの作成

fugaはそれぞれのユーザ名で置き換えてください。

groupadd fuga
useradd -m -g fuga -s /bin/bash fuga
passwd fuga
groupadd sudo
usermod -G sudo fuga

これでsudoを使用できるユーザが作成されます。
sudoが不要な場合は最期の二行は不要です。

sudoの設定

sudoの設定ファイルを変更するために以下のコマンドでnanoを起動します。

visudo

下の方へスクロールして%sudo ALL=(ALL) ALLという部分をアンコメントして保存してください。

ブートローダーの設定

GrubとNetworkManagerをインストールします。
再起動後はネットに接続されていない可能性もあるので、今のうちにNetworkManagerもインストールしておきます。
(以下のコマンドはMBRのみです。UEFIの場合は異なるので使用しないでください。←今更ですが)

pacman -S os-prober grub networkmanager
grub-install --target=i386-pc --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

これでインストール作業は終わりです。

システムから出て再起動する

chrootから抜け出してシャットダウン後、起動していたUSBメモリを取り外して再び起動します。

exit
umount -R /mnt
swapoff /dev/sda2
shutdown 0

無事にArchLinuxが起動したらインストール完了です。

再起動後の設定

インターネットに接続する

最後にGrubと一緒にインストールしたnetworkmanagerを使用します。
まずはNetworkManagerを有効化します。

(パッケージ名はnetworkmanagerでサービス名はNetworkManagerです)

systemctl enable NetworkManager
systemctl start NetworkManager

・Wi-Fiの場合
NetworkManager -- コマンドラインを参考にしてください。

・有線の場合
自動で接続されます。

パッケージの更新

sudo pacman -Syu

yayのインストール

ArchLinuxにはpacmanというパッケージ管理システムがあります。
そしてArchLinuxの公式リポジトリには無いパッケージをユーザがアップロードするリポジトリにAUR(Arch User Repository)があります。
本来はAURのパッケージを自分でビルドしてインストールする必要があるのですが、ダウンロード→ビルド→インストールをすべて自動で行ってくれる素晴らしいシステムがあります。(このシステムのことをAUR Helperといいます。)
それがyayです。yayは最初の導入さえ行ってしまえば、GoogleChromeだろうがなんでもコマンド一つでインストールできようになります。
「導入さえ」といってもコマンドをコピペするだけです。

cd ~/
pacman -S git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
cd ../
rm -r yay
pacman -Rn git

gitをこれからも使う場合は最後の行は実行しないでください。

以上です。
一応yayのバージョンを確認してみてください。

yay --version

正常にバージョンが表示されればインストールされています。
使い方は以下を参考にしてください。(もうpacmanを使うことはありません。)
Arch Linux - AURヘルパー「yay」を試す

GUIなどをインストールする

こちらの記事にまとめました。
3つめの「GUI環境の構築」からご覧ください。

最後に

いかがだったでしょうか?自分が混乱したpartedやインターネット接続などを簡単にしてみました。
間違っている部分があったら教えてください。
最後に私のTwitterをフォローしてくれると私が喜びます。

追記

公開後、コマンドに誤字がたくさんあったので修正しました。
もし他にもあったら教えてください。

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
8
Help us understand the problem. What are the problem?