多分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 /dev/sda
これで対象のデバイスを分割するダイアログに入れたと思います。
もし、インストールしたいデバイスに既に何かが書き込まれていた場合でもfdiskで消すことができます。
boot用のパーティション
このコマンドラインでは、さまざまなことをすることができます。
archwikiのfdiskを見てもらうと、新しいパーティションはnで作れることがわかります。
Commnd(m for help):n
まずはboot用のパーティションを作ります。
Partition type
p(primaray)
e(extended)
Select(default p):p
pを押すとプライマリーパーティションが作れます。
通常、パーティションは4つしか分割できません。その特別な4つのパーティションをプライマリーパーティションといいます。
Partition number:
ポジションナンバーはパーティションの番号です。この場合は1と打つか、そのままEnterを押してください。
次に、開始するセクターを決めます。
これはそのままEnterを押してもらって構いません。これは「さっき決めた番号のパーティション、どこから始める?」と問いかけられています。
ちなみに、何も入力せずにEnterを押すとdefaultの値が設定されます。
First sector:
次に問いかけられるのはラストセクターです。1のパーティションの容量を決められます。
1のパーティションはOSのBoot用に設定するので、512MBと入力してください。
Last sector,+/-sectors or +/-size{K,M,G,T,P}:512MB
archwikiのインストールガイドでは、256MBでもOK的なことが書かれていますのでどちらでも良いと思います。僕はもしものことがあると嫌なので(例えばbootに使う容量が増えたり等)安全をとって512MBにしています。
これで1のboot用のパーティションができました。
次にArchLinuxを入れるパーティションを作ります。
Linux用のパーティション
Commnd(m for help):n
これは1とまったく同じnを入力します。
Partition type
p(primaray)
e(extended)
Select(default p):p
これも同じくpと入力し、プライマリーパーティションを選びます。
次も同じくdefaultの値でOKなのでそのままEnterを押します。
First sector:
次のラストセクターもdefaultの値で大丈夫です。先程の1のパーティションはboot用なので値を入力しましたが、今回は残りのすべてを使いたいのでそのままEnterを押します。
Last sector,+/-sectors or +/-size{K,M,G,T,P}:
これで2つめのパーティションを作ることができましたが、まだ書き込みされていませんのでwを入力して書きこみます。
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.ext4 /dev/sda1
mkfs.ext4 /dev/sda2
これで2つともext4というファイルシステムになりました。
作ったパーティションにマウント
次にマウントしていきます。
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 /mnt base base-devel
pacstrapとはArchのリポジトリのCoreのbaseとbase-develをインストールすることができます。
fstabの作成
fstab の生成
genfstab コマンドを実行して fstab を生成してください (UUID を使う場合は -U オプション、ラベルを使う場合は -L オプションのどちらかを指定します):
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 /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が優先されるので、これを作成します。
echo LANG=en_US.UTF-8 > /etc/locale.conf
次にキーマップを永続的に有効にするために今使っているキーマップjp106をvconsole.confに書き込みます。
echo KEYMAP=jp106 > /etc/vconsole.conf
これで次回起動した時、キーマップも言語も設定し直す必要がなくなります。
Hostnameを決める
HostnameとはそのLinuxの名前です。
あなたのコンピュータの名前を /etc/hostname に書き込んで適切なホストネームを設定してください:
echo myhostname > /etc/hostname
echo myhostname > /etc/hostname
このmyhostnameの部分を設定したい名前にしてください。
PCのパスワードを設定する
Root パスワード
passwd で root パスワードを設定します:
passwd
passwd
bootloederの設定
ブートローダー
Arch Linux を起動するために Linux に対応しているブートローダーを選択してインストールする必要があります。ブートローダーは、起動モードが UEFI の場合は systemd-boot や GRUB、BIOS の場合は GRUB が多く選択されています。
僕はGRUBを使っているのでGRUBで行きます。
まずGRUBをインストールします
pacman -S os-prober 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をかけます。
exit
reboot
これで終わりです。
感想
Linuxチョットダケワカルになりました