opamp_sando's blog

クソザコが割りと適当なことを書くためにある備忘録です。あとたまに普通の日記も書きます

ArchLinux Installation

今更ですが、前に書いたインストール方法の記事を誤って削除したので布教も兼ねて再度書きたいと思います。

ということで今回はArchLinuxのインストール方法の記事です。

https://www.archlinux.org/

インストール環境

インストールは仮想マシンに対して行うことにします。今回はBIOSから起動することを想定します。 UEFIから起動する場合は過去の記事も参照してください。

また、仮想マシンのインストール・セットアップなどについては省略します。

isoファイルのダウンロード

isoファイルをミラーサーバーからダウンロードしておきます。

http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/iso/

http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/iso/

すでにローカルにisoをダウンロードしている場合は多少古くてもそれを利用することができます。この記事は2015.06.01のisoファイルでインストールを行ったものです。

起動

isoファイルを利用してマシンを起動します。物理マシンの場合はUSB,CD,DVDなど物理媒体に書き込んでから起動します。仮想マシンの場合はisoファイルを直接指定して起動します。

起動すると以下のような画面になります。64bitの場合はx86_64を、32bitの場合はi686を選択して起動してください。

f:id:opamp_sando:20150618235806p:plain

起動したらキーマップを設定します。USキーボードを利用している場合は設定の必要はありません。それ以外のキーボードを使用している場合はloadkeysコマンドを使ってキーマップを設定します。

$ loadkeys jp106

パーティション分割

パーティション分割にはcfdiskを利用することができます。最近知らない間にcfdiskがGPTにも対応していたのでGPTでパーティション分割を行いたい場合でも利用できます。

$ cfdisk

基本的に上のコマンドで自動的にデバイスを選択して起動しますが、明示的に指定することもできます。

$ cfdisk /dev/sda

起動したら以下のような画面になります。今回はMBR形式で分割します。

f:id:opamp_sando:20150619000649p:plain

MBRの場合はdosを選択します。GPTの場合はgptを選択します。すでにパーティションが分割されている場合は上記の画面は表示されません。初期化してからインストールする場合はcfdiskにzオプションをつけて起動してください。

起動後に実際にパーティションを分割します。今回は簡単に次のように分割しました。
以後この記事では下図のように分割したことを前提にコマンドを記載しますので、必要に応じて読み替えてください。

f:id:opamp_sando:20150619001028p:plain

分け方は任意ですので、好きなように分けることができます。またMBRの場合はBootフラグを忘れずに立てます

分割ができたらWriteしてQuitします。

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

先ほど分割したパーティションをフォーマットします。安定と安心のExt4やXFSを使っても良いですし、最近流行りのbtrfsを使うこともできます。
/bootパーティションにはXFSは使えないので無難にExt4を使うことをおすすめします。

パーティションのフォーマットはmkfs系のコマンドを使って以下のように作成します。

$ mkfs.ext4 /dev/sda1
$ mkfs.xfs /dev/sda6

また、スワップ用のパーティションを切った場合はmfswapコマンドを利用します。また、その後スワップを有効化します。

$ mkswap /dev/sda5
$ swapon /dev/sda5

パーティションのマウント

パーティションのマウントはmountコマンドで/mnt以下に行います。

$ mount /dev/sda6 /mnt
$ mkdir /mnt/boot
$ mount /dev/sda1 /mnt/boot

このように階層が浅いものから順番にマウントし、mkdirして次のパーティションをマウントします。

基本パッケージのインストール

ミラーの変更

ミラー設定は後回しでも良いですが、ここで設定しておくと次のパッケージインストールが高速化できます。

$ vi /etc/pacman.d/mirrorlist

mirrorlistファイルを開いて、任意のミラーをリスト上部に持ってきます。上にあるものから優先して利用されます。
以下は例です。

f:id:opamp_sando:20150619002224p:plain

base、base-devel、grubのインストール

インストールする準備が整いましたので、実際に基本パッケージをインストールしていきます。それにはpacstrapコマンドを使うことができます。

$ pacstrap /mnt base base-devel grub openssh

とりあえず、このようにbaseとbase-develは入れておきましょう。opensshは任意です。baseやbase-develに含まれていそうで含まれてなくて後で困ったことがあるので念の為ここで指定しておきます。
ブートローダーは今回grubを使うのでgrubを入れておきます。他のものを使う場合はそれでも問題ありません。
その他事前にインストールしておきたいパッケージがあればここで指定することができます(シェルやエディタなど)

しばらく待ってインストールが終了したら次に進みます。

fstabの生成

インストール環境のfstabを生成します。genfstabコマンドを使うと自動生成できます。

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

chrootする

chrootしてインストール環境に入ります。この時実際にはarch-chrootコマンドを使います。

$ arch-chroot /mnt

インストール環境の設定

chrootしたらホスト名などインストール環境の設定を行います。

ホスト名設定

ホスト名は/etc/hostnameファイルに書き込みます。

$ echo "madokawaii" > /etc/hostname

キーマップの設定

US以外のキーボードを利用している場合は、/etc/vconsole.confにキーマップの設定を書き込んでおきます。

$ echo "KEYMAP=jp106" > /etc/vconsole.conf

タイムゾーン設定

タイムゾーンを日本時間に合わせておきます。

$ ln -s /usr/share/zoneinfo/Japan /etc/localtime

ロケール設定

/etc/locale.genを編集してロケール設定を行います。

$ vi /etc/locale.gen

必要なロケールコメントアウトしておきます。

f:id:opamp_sando:20150619003420p:plain

よくわからなければja_JP.UTF-8とen_US.UTF-8あたりをコメントアウトしておくと良いと思います。

編集したら保存して、locale-genコマンドを実行します。

$ locale-gen  

rootパスワード設定

rootユーザーのパスワードを決めておきます。

$ passwd

grubインストール

gurb-installコマンドでgrubをインストールします。

$ grub-install /dev/sda

続いてgrub-mkconfigで設定ファイルを生成します。

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

再起動

これでインストール作業は終了なのでchroot環境からexitコマンドなどで脱出して、umountでマウントしているパーティションをアンマウントしたらrebootします。

$ umount /mnt/boot
$ umount /mnt
$ reboot

rebootしたらインストールされたArchLinuxが起動します。*1

f:id:opamp_sando:20150619004228p:plain

うまく行かなかったら

reboot後再度インストーラが立ち上がる

まず、再起動しても再度インストーラが起動する場合は仮想マシンがインストールされたArchLinuxよりインストーラのディスクを優先して読んでいる可能性があります。仮想マシンの設定を確認して仮想HDD優先で起動するようにしてください。主にVirtualBoxのことです。

boot失敗する

ブート失敗して起動しない場合は、ブートローダのインストール・設定またはパーティション分割時にbootフラグを立て忘れている可能性があります。再度インストーラを起動して設定を確認してください。

ネットワークへの接続設定について

起動後インターネットにはつながってない状態です。したがって設定が必要になります。

有線接続や仮想マシンの場合

有線接続で1つのネットワークに繋ぎっぱなしにする場合や、仮想マシンで簡単に使う場合はdhcpcdを利用して簡単に接続できます。

$ ip link show

とコマンドを入力すると有効なNIC一覧が表示されるので、ネットワーク接続に利用するNIC名を確認します。その後、systemctlコマンドで次のようにします。例としてNIC名がens3だった場合を示します。

$ (sudo) systemctl enable dhcpcd@ens3
$ (sudo) systemctl start dhcpcd@ens3

enableにすることで、次回起動以降自動で起動します。誤って登録した場合はdisableにして実行することで無効化できます。

Staticな設定やWi-Fiを利用したい場合

staticなネットワーク設定やWi-Fiの設定を行いたい場合はnetctlを利用して設定することをおすすめします。

https://archlinuxjp.kusakata.com/wiki/Netctl

netctlは/etc/netctl以下に設定ファイルをおいて設定することができます。設定ファイルはたいていの場合exampleに入っているものを改良するかwifi-menuコマンドを使って設定できます。
それでも動かない場合は手動で書き換える必要があります。

*1:ロケール設定を何か誤ったようでロケールがおかしいね

Firefox ブラウザ無料ダウンロード