12
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

HALAdvent Calendar 2018

Day 2

わからないをわかりたさに変えるArchのインストールのコマンド

Last updated at Posted at 2018-12-06

多分256番煎じくらいの記事ですがよろしくおねがいします。

2021/4/22追記
Archlinuxのインストールメディアにガイドが付きました(ただし日本語は非対応)
初学者はこちらを使用してインストールをすると簡単にできる…と思います!
https://www.archlinux.jp/news/installation-medium-with-installer/

キーボードの変更

archwikiのUSBからブートをした状態と過程します。
zshのコマンドラインが表示されてると思いますので、そこまで来たら、コマンドでキーボードの設定をしていきます
archwikiのインストールガイドではlsで使用可能なキーマップを確認しています。

デフォルトのキーボードレイアウトは US キーボードです。利用可能なキーマップは以下のコマンドで確認できます:
ls /usr/share/kbd/keymaps/**/*.map.gz

lsとは今居るディレクトリ(カレントディレクトリとも言う)の中にあるディレクトリとファイルを表示します。引数に表示したいディレクトリのPATHを書くと、そのPATHの中のディレクトリとファイルを表示してくれるコマンドです。
これでキーマップに何が使用できるかわかりますので、自分にあったキーマップをロードします
ここではjp106でやります

キーボードの設定
loadkeys jp106

このloadkeysとは、引数に渡された文字列"jp106"から上に書いてあるディレクトリ
/usr/share/kbd/keymapsの中にあるjp106/jp.map.gを検索して
キーマップを変更してくれるというコマンドです。

ストレージのパーティションを分割する

次にストレージをboot用にしたりswap用にしたりとパーティションを分割していきます。
パーティションとは
archwikiのパーティショニングにもある通り、一つのストレージを論理的に分けることで、そのストレージはあたかも何個ものストレージに見せかけることができます。

例えば、4つのパーティションで区切った場合。
1つめにWindows、2つ目にubuntu、3つ目にCentOS、4つ目にArchなど、本来ならば4つのストレージを用意しなければならない所を、一つのストレージで済ませることができます。

パーティションの分割にはgdiskやfdiskなどがありますが、僕はfdiskしかつかったことがないのでfdiskで作成する方法で行きます。
fdiskの説明はここのサイトがわかりやすいと思います。

ここではboot用とLinux用の2つのパーティションを作ります。
まず、Archをインストールするストレージのデバイスを探します。

デバイスの検索
fdisk -l

fdisk -lで接続しているデバイスが確認できます。
デバイスを探し当てたら、そのデバイスを分割していきます。

fdiskの対話モードの入り方
fdisk /dev/sda

これで対象のデバイスを分割するダイアログに入れたと思います。

もし、インストールしたいデバイスに既に何かが書き込まれていた場合でもfdiskで消すことができます。

boot用のパーティション

このコマンドラインでは、さまざまなことをすることができます。
archwikiのfdiskを見てもらうと、新しいパーティションはnで作れることがわかります。

fdisk
Commnd(m for help):n

まずはboot用のパーティションを作ります。

fdisk
Partition type
   p(primaray)
   e(extended)
Select(default p):p

pを押すとプライマリーパーティションが作れます。
通常、パーティションは4つしか分割できません。その特別な4つのパーティションをプライマリーパーティションといいます。

fdisk
Partition number:

ポジションナンバーはパーティションの番号です。この場合は1と打つか、そのままEnterを押してください。

次に、開始するセクターを決めます。
これはそのままEnterを押してもらって構いません。これは「さっき決めた番号のパーティション、どこから始める?」と問いかけられています。
ちなみに、何も入力せずにEnterを押すとdefaultの値が設定されます。

fdisk
First sector:

次に問いかけられるのはラストセクターです。1のパーティションの容量を決められます。
1のパーティションはOSのBoot用に設定するので、512MBと入力してください。

fdisk
Last sector,+/-sectors or +/-size{K,M,G,T,P}:512MB

archwikiのインストールガイドでは、256MBでもOK的なことが書かれていますのでどちらでも良いと思います。僕はもしものことがあると嫌なので(例えばbootに使う容量が増えたり等)安全をとって512MBにしています。

これで1のboot用のパーティションができました。
次にArchLinuxを入れるパーティションを作ります。

Linux用のパーティション

fdisk
Commnd(m for help):n

これは1とまったく同じnを入力します。

fdisk
Partition type
   p(primaray)
   e(extended)
Select(default p):p

これも同じくpと入力し、プライマリーパーティションを選びます。
次も同じくdefaultの値でOKなのでそのままEnterを押します。

fdisk
First sector:

次のラストセクターもdefaultの値で大丈夫です。先程の1のパーティションはboot用なので値を入力しましたが、今回は残りのすべてを使いたいのでそのままEnterを押します。

fdisk
Last sector,+/-sectors or +/-size{K,M,G,T,P}:

これで2つめのパーティションを作ることができましたが、まだ書き込みされていませんのでwを入力して書きこみます。

fdisk
Commnd(m for help):w

これで書き込みが終了し、またzshのコマンドラインに戻ってきます。
次に作ったパーティションをそれぞれの用途にフォーマットします。

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

さきほど作ったパーティションはsda1,sda2と番号が振られています、この番号はパーティションの番号と同じでsdX1はboot用、sdX2はLinux用となっています。
archwikのインストールガイドでは

パーティションを作成したら、適切なファイルシステムでフォーマットする必要があります。例えば、ext4 で /dev/sda1 のルートパーティションをフォーマットするには、以下のコマンドを実行:
mkfs.ext4 /dev/sda1

となっていますのでext4でフォーマットしていきます。
archwikのファイルシステムにそれぞれのファイル形式の概要が載っています。
使うコマンドはmkfsというコマンドです。
このコマンドはmkfs -t ext4 /dev/sda1と打つこともできますが、直接コマンドを叩くこともできます。
こちらに詳しく書かれています。

mkfs
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda2

これで2つともext4というファイルシステムになりました。

作ったパーティションにマウント

次にマウントしていきます。

mount
mount /dev/sda1 /mnt

boot用はarchwikのインストールガイドより

mkdir /mnt/boot
mount /dev/sda2 /mnt/boot

と入力してください。
mkdirとはディレクトリを作成するコマンドです。
mountとは、作成したパーティションを/(ルートディレクトリ)の配下に置くコマンドです。
ルートディレクトリとは、Linuxのディレクトリ構造の一番上のディレクトリを指します。

そのままでは作ったパーティションsda1,sda2はアクセスができないので/mntに配置してあげることで使えるようになります。この場合
/mnt = sda1となり、
/mnt/boot = sda2となります。
もしも/mntにmkdirでディレクトリxyzを追加した場合は/mnt/xyzとなり、これはsda1のストレージ内に入ります。

次はArchの[Core]をインストールします

pacstrap

インターネットを使ってArchのSystemをインストールするので、まずLANケーブルをPCに指し、それが使えるかチェックします。
archwikのインストールガイドでは

有線接続の場合、dhcpcd デーモンが起動時に 有効化 され自動的に接続を開始します。ping を使って接続が確立されているかどうか確かめてください:
ping archlinux.jp

接続できない場合は、dhcpcd デーモンの状態を確認してください。
systemctl status dhcpcd@interface

と記されています。
pingとは引数にサイトのURLを書くと、そのURLにパケットを飛ばし、応答が帰ってくること確認することができるコマンドです。
archwikのインターネット設定にて詳しく書かれています。

pingコマンドを止めるにはCtrl+Cを押します。これは可動しているプロセスを終了するシグナルを割り込み処理で送るショートカットキーです。
こちらのQiitaの記事が詳しく書かれています。

Ctrl+CはSIGINTシグナルという割り込みを示すシグナルを送信し、Ctrl+Zは一時停止を示すSIGTSTPシグナルを送信する
Ctrl+Cを実行するとフォアグラウンドのプロセスは基本的に終了する(特別にSIGINTシグナルのイベントを受け取るようにしていなければ)

pingが通ればネットワークが使えますので、Archが用意しているpacstrapというスクリプトを使ってインストールします。

pacstrap スクリプトを使って、base グループをインストールします。AUR からソフトウェアをコンパイルしたり ABS を使うつもりであれば、base-devel パッケージグループもインストールするべきです。

pacstrap
pacstrap /mnt base base-devel

pacstrapとはArchのリポジトリのCoreのbasebase-develをインストールすることができます。

fstabの作成

archwikのインストールガイドでは

fstab の生成
genfstab コマンドを実行して fstab を生成してください (UUID を使う場合は -U オプション、ラベルを使う場合は -L オプションのどちらかを指定します):

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

作成された /mnt/etc/fstab を確認して、問題がないことをチェックしてください。

fstabとはパーティションとファイルシステムの情報や、どこにmountされているかなどを保存するコマンドです。Archでは独自のスクリプトgenfstabというコマンドを使って/mnt/etc/fstabに書き込みます。

chrootでインストールしたSystemに入る

今作ったLinuxのディレクトリは/mntから始まります、その/mntを/(ルートディレクトリ)にするのがchrootです。
今のLinuxは/mntに入っているので、そのまま/mntを/にします。

arch-chroot
arch-chroot /mnt

言語、キーマップの設定

/etc/locale.gen を編集して使用するロケール (例: en_US.UTF-8 UTF-8 と ja_JP.UTF-8 UTF-8) をアンコメントし、次のコマンドを実行してください:
locale-gen
ロケールを /etc/locale.conf で設定します:
echo LANG=en_US.UTF-8 > /etc/locale.conf
必要であれば、vconsole.conf(5) でコンソールキーマップとフォントを設定します:
echo KEYMAP=jp106 > /etc/vconsole.conf

locale,genとは、そのPCで使う言語情報を決めることができ、locale.confを読み込んで反映しています。初期状態であればen.US_UTF-8が適用されているので、日本語にするにはlocale.genを編集し、ja_JP.UTF-8をアンコメントします。
locale.confとはほぼlocale.genといっしょなのですが、locale.confが優先されるので、これを作成します。

locale.confに書き込み
echo LANG=en_US.UTF-8 > /etc/locale.conf

次にキーマップを永続的に有効にするために今使っているキーマップjp106をvconsole.confに書き込みます。

vconsole.confに書き込み
echo KEYMAP=jp106 > /etc/vconsole.conf

これで次回起動した時、キーマップも言語も設定し直す必要がなくなります。

Hostnameを決める

HostnameとはそのLinuxの名前です。

あなたのコンピュータの名前を /etc/hostname に書き込んで適切なホストネームを設定してください:
echo myhostname > /etc/hostname

hostname
echo myhostname > /etc/hostname

このmyhostnameの部分を設定したい名前にしてください。

PCのパスワードを設定する

Root パスワード
passwd で root パスワードを設定します:
passwd

passwd
passwd

bootloederの設定

ブートローダー
Arch Linux を起動するために Linux に対応しているブートローダーを選択してインストールする必要があります。ブートローダーは、起動モードが UEFI の場合は systemd-boot や GRUB、BIOS の場合は GRUB が多く選択されています。

僕はGRUBを使っているのでGRUBで行きます。
まずGRUBをインストールします

pacman
pacman -S os-prober grub

次にGRUBの設定をします。

grub
grub-install --target=i386-pc --recheck /dev/sda1
grub-mkconfig -o /boot/grub/grub.cfg

boot用に使っているパーティションはsda1なので引数に/dev/sda1を指定してインストールをし、grub-mkconfigでgrub.cfgを作成します。

これでbootができるようになりました。

#exit,reboot

chrootから抜け出して、rebootをかけます。

Commnd
exit
reboot

これで終わりです。

感想

Linuxチョットダケワカルになりました

以上!

12
7
0

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
12
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?