Tips/Lin/Arch/Inst
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
*Arch Linux メモ - Install [#r0a1545d]
はい、インストールのメモです。基本的なことしかかいてないし、下手するとぐぐったほうが最適解あるかもね。
**自動インストール [#t703a597]
下記については手動インストールのメモです。
# archinstall
これがisoイメージから起動できる場合、このほうが早い可能性があります。
**手動インストールメモ [#c491ece3]
-EFI / BIOS / 暗号化有無に応じて統合して書き換え中です。
-旧記述 : [[EFI メモ (ふるいの)>Tips/Lin/Arch/InstEFI]]
**ISOイメージ入手 [#t997381f]
[[ArchWikiのインストールガイド:https://wiki.archlinux.jp/index.php/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89]] から最新のISOイメージをダウンロードしよう。
CD/DVDのイメージは月初に作られてるので、たとえば2022年8月なら 2022.08.01 といったナンバリングのイメージがあるはず。
**仮想環境/実機の設定 [#lb5ab3b0]
仮想環境なら、DVD仮想ドライブにISOファイルを指定すればOK。実機なら、USBメモリ(ないしSDカード等のメディア)に焼き付けるのが適当でしょう。なんらかの Linux 環境 (もちろん Arch でもいいし、Ubuntu Debian 等でもよいです)で下記コマンドを実行し、USBメモリをブータブルにしましょう。
$ sudo dd bs=4M if=archlinux-202X.XX.01-x86_64.iso of=/dev/sdx conv=fsync oflag=direct status=progress
***仮想PCでEFI/BIOSブート環境 [#r6a1d58d]
-EFIにしたい場合、 VirtualBoxなら「システム」-「EFIを有効化」、VMware系ならvmxファイルに firmware="efi" なおまじない追加が必要です。
--VMwareの場合、みだりにEFIの設定保存ファイルを消さないようにしましょう。OSが起動しなくなります。
-仮想PCの場合、メモリは1~2GB程度とっておきましょう。768MB などの適当な数字でメモリがたりない場合、インストールイメージの起動に失敗します。
**ArchISO ブート [#hff01fc5]
設定が最小限すんだら、ISOイメージを起動しましょう。
# passwd root
(パスワードを設定)
# ip addr
(IPv4アドレスがでてくるのでメモ)
ここまできたら、DVDのブートイメージに外部からsshでアクセスできるので、ssh でアクセスするなりなんなり。
***事前設定 [#x8ed5e76]
# loadkeys jp106
(日本語キー設定 実機用 / ssh の場合は特に不要)
# timedatectl set-ntp true; timedatectl set-timezone Asia/Tokyo
(NTP同期スタート + EFI/BIOS時刻を日本時間準拠に)
# timedatectl status
(日本時間設定とNTP同期ONの確認)
***パーティション確保 [#k9b481b0]
# fdisk -l
(ディスク構成確認: 仮想 PC の場合、 /dev/sda が手つかずであるはず)
-設計的に、sda (80GB程度?) で sda1 を boot (512MB FAT)、sda2 を root (64GB ext4 / )にします。実機などでSSD/HDDのサイズが違う場合は、512MB程度ブート、残り全部 / って感じで考えます。
--2TBオーバーのディスクの場合、fdisk コマンドは使えません。GUIのつかえるLinuxブートイメージを用意して、gparted でパーティション確保すべきです。
-BIOSの場合:DOS/MBR構成になります。(オー コマンドで DOS パーティションになります)
# fdisk /dev/sda
Command (m for help): o
Created a new DOS disklabel with disk identifier 0xdeadbeef.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (1-4, default 1):
First sector (2048-167772159, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-167772159, default 167772159): +512M
Created a new partition 1 of type 'Linux' and of size 512 MiB.
Command (m for help): t
Hex code or alias (type L to list all): 0c
Changed type of partition 'Linux' to 'W95 FAT32 (LBA)'.
Command (m for help): n
Select (default p): p
Partition number (2-4, default 2):
First sector (1050624-167772159, default 1050624):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1050624-167772159, default 167772159): +64G
Created a new partition 2 of type 'Linux' and of size 64 GiB.
Command (m for help): w
-EFI構成の場合、gptになります。G (ジーコマンド)でgptになります。
# fdisk /dev/sda
Command (m for help): g
Created a new GPT disklabel (GUID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX).
Command (m for help) : n
新規パーティション作成 パーティションナンバー1~128の入力を促されるが、1=BOOT 2=/ 3=swapでいきます。
ファーストセクタ2048、ラストセクタ +512M。
Command (m for help) : n
新規作成その2。ファーストセクタは既定値、ラストセクタは+64G
Command (m for help) : p
一覧表示。1も2も全部Linu filesystemになってて大変なので書き換える。
Command (m for help) : t
1 指定
エイリアスは L でリストだして1 EFI System が適当とわかるので 1
Command (m for help) : p
512M EFI System
64G Linux filesystem
Command (m for help) : w
***パーティション初期化とマウント [#p538678a]
-暗号化しない場合
# mkfs.vfat -F32 /dev/sda1
ブートパーティションは FAT32。
# mkfs.ext4 /dev/sda2
sda2 は Linux ジャーナリングファイルシステム。
# mount /dev/sda2 /mnt
# mkdir -p /mnt/boot
# mount /dev/sda1 /mnt/boot
# mount | grep /mnt
これでマウントは完了。
# df
-暗号化する場合
# cryptsetup -v --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random --verify-passphrase luksFormat /dev/sda2
WARNING!
========
This will overwrite data on /dev/sda2 irrevocably.
Are you sure? (Type 'yes' in capital letters):
( *** YES と「大文字で」入力 *** )
Enter passphrase for /dev/sda2:
Verify passphrase:
Key slot 0 created.
Command successful.
# cryptsetup open --type luks /dev/sda2 cryptroot
cryptsetup open --type luks /dev/sda2 cryptroot
Enter passphrase for /dev/sda2:
# mkfs.ext4 /dev/mapper/cryptroot
(sda2 は cryptroot に転写されるのでそこをLinux ジャーナリングファイルシステムで初期化)
# mkfs.vfat -F32 /dev/sda1
ブートパーティションは FAT32。
# mount /dev/mapper/cryptroot /mnt
(sda2 のかわりに暗号化済みのマッピングされたデバイスをマウント)
# mkdir -p /mnt/boot
# mount /dev/sda1 /mnt/boot
# mount | grep /mnt
これでマウントは完了。
# df
***pacman / pacstrap で基本イメージをいれる [#v089f551]
まずミラーリストを更新。
# cd /etc/pacman.d/; mv mirrorlist mirrorlist.org; reflector | grep .jp > ./mirrorlist
# vim ./mirrorlist
(juniorjpdj.pl 鯖の行を全部削除、.jp ドメインだけにする)
あるいはこっちのほうが確実?
# cd /etc/pacman.d/; mv mirrorlist mirrorlist.org; reflector --country 'Japan' --age 24 --sort rate --save /etc/pacman.d/mirrorlist;
# vim ./mirrorlist
(vimは内容確認のためだけのもの)
mirrorlist の確認が終わったら導入。( カーネルの更新が頻繁にあるので、linux のかわりに linux-lts を指定してもいいかもです)
# pacstrap /mnt base linux linux-firmware
Linux本体を最小限だけ /mnt に放り込むおまじない
+ base Archの基本パッケージ
+ Linux Linux コア部分、ブート構成用
+ linux-firmware 一般的なハードウェア関連
***スワップ作成、パーティション構成保存 [#cef35bc4]
# arch-chroot /mnt
ルートが /mnt になる
# passwd root
(rootパスワードを設定 : HDD/SSD上のパーティション上で)
# dd if=/dev/zero of=/swap.img bs=1024 count=8388608 status=progress
8GiBのダミーファイル swap 用を生成
# chmod 600 /swap.img; mkswap /swap.img; swapon /swap.img; free
Swapを初期化して使い始める
# pacman -S arch-install-scripts; genfstab -U / >>/etc/fstab; pacman -R arch-install-scripts
fstabにsda1+2+/swap.img のパーティション情報保存 (一時的にgenfstabのパッケージ導入してすぐ消す)
# pacman -S grub efibootmgr sudo openssh networkmanager nano vim bash-completion
最小限の追加ツールをいれる (GRUB : ブート用 efibootmgr : EFIブート用でBIOSなら省略可能 sudo/openssh/networkmanager 遠隔アクセス用 nano vim はエディタ bash-completion は互換用?)
***GRUB設定編集 (暗号化時のみ) [#c81742e5]
# nano /etc/default/grub
( GRUB_CMDLINE_LINUX を検索、"" の中に...)
cryptdevice=/dev/sda2:cryptroot と追記する
# nano /etc/mkinitcpio.conf
(この行を)
HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)
(こういうふうに追記する。block / filesystems のまんなかに encrypt)
HOOKS=(base udev autodetect modconf block encrypt filesystems keyboard fsck)
# mkinitcpio -p linux
Image generation successful
***ユーザーの登録 [#ydae8707]
-とりあえず、asaasa.tk 管理人のゲーミングネームである arqtan としてやってみます。sudo もできるように登録。
# useradd -m -g users -s /bin/bash arqtan; passwd arqtan
# groupadd sudo; usermod -G sudo arqtan
# ln -s /usr/bin/vim /usr/bin/vi; visudo
( %sudo ALL=(ALL) ALL が # でコメントアウトされてるので有効にする)
***GRUBの登録 [#l2ac038f]
-BIOS設定時
# grub-install --target=i386-pc --recheck /dev/sda
(MBRにgrub登録)
# grub-mkconfig -o /boot/grub/grub.cfg
(grubの設定ファイル書き出し)
-EFI起動時
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=boot
(EFIにgrub登録)
# grub-mkconfig -o /boot/grub/grub.cfg
(grubの設定ファイル書き出し)
***あとしまつ [#b66a2099]
# swapoff --all
# exit
(chroot 終了)
# umount /mnt/boot; umount /mnt
(アンマウント)
-暗号化時のみ
# cryptsetup close cryptroot
(暗号ディスクのクローズ)
***リブート [#f0d3af1d]
# shutdown -r now
(ISOイメージを終了、HDD/SSDから再起動)
終了行:
*Arch Linux メモ - Install [#r0a1545d]
はい、インストールのメモです。基本的なことしかかいてないし、下手するとぐぐったほうが最適解あるかもね。
**自動インストール [#t703a597]
下記については手動インストールのメモです。
# archinstall
これがisoイメージから起動できる場合、このほうが早い可能性があります。
**手動インストールメモ [#c491ece3]
-EFI / BIOS / 暗号化有無に応じて統合して書き換え中です。
-旧記述 : [[EFI メモ (ふるいの)>Tips/Lin/Arch/InstEFI]]
**ISOイメージ入手 [#t997381f]
[[ArchWikiのインストールガイド:https://wiki.archlinux.jp/index.php/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89]] から最新のISOイメージをダウンロードしよう。
CD/DVDのイメージは月初に作られてるので、たとえば2022年8月なら 2022.08.01 といったナンバリングのイメージがあるはず。
**仮想環境/実機の設定 [#lb5ab3b0]
仮想環境なら、DVD仮想ドライブにISOファイルを指定すればOK。実機なら、USBメモリ(ないしSDカード等のメディア)に焼き付けるのが適当でしょう。なんらかの Linux 環境 (もちろん Arch でもいいし、Ubuntu Debian 等でもよいです)で下記コマンドを実行し、USBメモリをブータブルにしましょう。
$ sudo dd bs=4M if=archlinux-202X.XX.01-x86_64.iso of=/dev/sdx conv=fsync oflag=direct status=progress
***仮想PCでEFI/BIOSブート環境 [#r6a1d58d]
-EFIにしたい場合、 VirtualBoxなら「システム」-「EFIを有効化」、VMware系ならvmxファイルに firmware="efi" なおまじない追加が必要です。
--VMwareの場合、みだりにEFIの設定保存ファイルを消さないようにしましょう。OSが起動しなくなります。
-仮想PCの場合、メモリは1~2GB程度とっておきましょう。768MB などの適当な数字でメモリがたりない場合、インストールイメージの起動に失敗します。
**ArchISO ブート [#hff01fc5]
設定が最小限すんだら、ISOイメージを起動しましょう。
# passwd root
(パスワードを設定)
# ip addr
(IPv4アドレスがでてくるのでメモ)
ここまできたら、DVDのブートイメージに外部からsshでアクセスできるので、ssh でアクセスするなりなんなり。
***事前設定 [#x8ed5e76]
# loadkeys jp106
(日本語キー設定 実機用 / ssh の場合は特に不要)
# timedatectl set-ntp true; timedatectl set-timezone Asia/Tokyo
(NTP同期スタート + EFI/BIOS時刻を日本時間準拠に)
# timedatectl status
(日本時間設定とNTP同期ONの確認)
***パーティション確保 [#k9b481b0]
# fdisk -l
(ディスク構成確認: 仮想 PC の場合、 /dev/sda が手つかずであるはず)
-設計的に、sda (80GB程度?) で sda1 を boot (512MB FAT)、sda2 を root (64GB ext4 / )にします。実機などでSSD/HDDのサイズが違う場合は、512MB程度ブート、残り全部 / って感じで考えます。
--2TBオーバーのディスクの場合、fdisk コマンドは使えません。GUIのつかえるLinuxブートイメージを用意して、gparted でパーティション確保すべきです。
-BIOSの場合:DOS/MBR構成になります。(オー コマンドで DOS パーティションになります)
# fdisk /dev/sda
Command (m for help): o
Created a new DOS disklabel with disk identifier 0xdeadbeef.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (1-4, default 1):
First sector (2048-167772159, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-167772159, default 167772159): +512M
Created a new partition 1 of type 'Linux' and of size 512 MiB.
Command (m for help): t
Hex code or alias (type L to list all): 0c
Changed type of partition 'Linux' to 'W95 FAT32 (LBA)'.
Command (m for help): n
Select (default p): p
Partition number (2-4, default 2):
First sector (1050624-167772159, default 1050624):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1050624-167772159, default 167772159): +64G
Created a new partition 2 of type 'Linux' and of size 64 GiB.
Command (m for help): w
-EFI構成の場合、gptになります。G (ジーコマンド)でgptになります。
# fdisk /dev/sda
Command (m for help): g
Created a new GPT disklabel (GUID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX).
Command (m for help) : n
新規パーティション作成 パーティションナンバー1~128の入力を促されるが、1=BOOT 2=/ 3=swapでいきます。
ファーストセクタ2048、ラストセクタ +512M。
Command (m for help) : n
新規作成その2。ファーストセクタは既定値、ラストセクタは+64G
Command (m for help) : p
一覧表示。1も2も全部Linu filesystemになってて大変なので書き換える。
Command (m for help) : t
1 指定
エイリアスは L でリストだして1 EFI System が適当とわかるので 1
Command (m for help) : p
512M EFI System
64G Linux filesystem
Command (m for help) : w
***パーティション初期化とマウント [#p538678a]
-暗号化しない場合
# mkfs.vfat -F32 /dev/sda1
ブートパーティションは FAT32。
# mkfs.ext4 /dev/sda2
sda2 は Linux ジャーナリングファイルシステム。
# mount /dev/sda2 /mnt
# mkdir -p /mnt/boot
# mount /dev/sda1 /mnt/boot
# mount | grep /mnt
これでマウントは完了。
# df
-暗号化する場合
# cryptsetup -v --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random --verify-passphrase luksFormat /dev/sda2
WARNING!
========
This will overwrite data on /dev/sda2 irrevocably.
Are you sure? (Type 'yes' in capital letters):
( *** YES と「大文字で」入力 *** )
Enter passphrase for /dev/sda2:
Verify passphrase:
Key slot 0 created.
Command successful.
# cryptsetup open --type luks /dev/sda2 cryptroot
cryptsetup open --type luks /dev/sda2 cryptroot
Enter passphrase for /dev/sda2:
# mkfs.ext4 /dev/mapper/cryptroot
(sda2 は cryptroot に転写されるのでそこをLinux ジャーナリングファイルシステムで初期化)
# mkfs.vfat -F32 /dev/sda1
ブートパーティションは FAT32。
# mount /dev/mapper/cryptroot /mnt
(sda2 のかわりに暗号化済みのマッピングされたデバイスをマウント)
# mkdir -p /mnt/boot
# mount /dev/sda1 /mnt/boot
# mount | grep /mnt
これでマウントは完了。
# df
***pacman / pacstrap で基本イメージをいれる [#v089f551]
まずミラーリストを更新。
# cd /etc/pacman.d/; mv mirrorlist mirrorlist.org; reflector | grep .jp > ./mirrorlist
# vim ./mirrorlist
(juniorjpdj.pl 鯖の行を全部削除、.jp ドメインだけにする)
あるいはこっちのほうが確実?
# cd /etc/pacman.d/; mv mirrorlist mirrorlist.org; reflector --country 'Japan' --age 24 --sort rate --save /etc/pacman.d/mirrorlist;
# vim ./mirrorlist
(vimは内容確認のためだけのもの)
mirrorlist の確認が終わったら導入。( カーネルの更新が頻繁にあるので、linux のかわりに linux-lts を指定してもいいかもです)
# pacstrap /mnt base linux linux-firmware
Linux本体を最小限だけ /mnt に放り込むおまじない
+ base Archの基本パッケージ
+ Linux Linux コア部分、ブート構成用
+ linux-firmware 一般的なハードウェア関連
***スワップ作成、パーティション構成保存 [#cef35bc4]
# arch-chroot /mnt
ルートが /mnt になる
# passwd root
(rootパスワードを設定 : HDD/SSD上のパーティション上で)
# dd if=/dev/zero of=/swap.img bs=1024 count=8388608 status=progress
8GiBのダミーファイル swap 用を生成
# chmod 600 /swap.img; mkswap /swap.img; swapon /swap.img; free
Swapを初期化して使い始める
# pacman -S arch-install-scripts; genfstab -U / >>/etc/fstab; pacman -R arch-install-scripts
fstabにsda1+2+/swap.img のパーティション情報保存 (一時的にgenfstabのパッケージ導入してすぐ消す)
# pacman -S grub efibootmgr sudo openssh networkmanager nano vim bash-completion
最小限の追加ツールをいれる (GRUB : ブート用 efibootmgr : EFIブート用でBIOSなら省略可能 sudo/openssh/networkmanager 遠隔アクセス用 nano vim はエディタ bash-completion は互換用?)
***GRUB設定編集 (暗号化時のみ) [#c81742e5]
# nano /etc/default/grub
( GRUB_CMDLINE_LINUX を検索、"" の中に...)
cryptdevice=/dev/sda2:cryptroot と追記する
# nano /etc/mkinitcpio.conf
(この行を)
HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)
(こういうふうに追記する。block / filesystems のまんなかに encrypt)
HOOKS=(base udev autodetect modconf block encrypt filesystems keyboard fsck)
# mkinitcpio -p linux
Image generation successful
***ユーザーの登録 [#ydae8707]
-とりあえず、asaasa.tk 管理人のゲーミングネームである arqtan としてやってみます。sudo もできるように登録。
# useradd -m -g users -s /bin/bash arqtan; passwd arqtan
# groupadd sudo; usermod -G sudo arqtan
# ln -s /usr/bin/vim /usr/bin/vi; visudo
( %sudo ALL=(ALL) ALL が # でコメントアウトされてるので有効にする)
***GRUBの登録 [#l2ac038f]
-BIOS設定時
# grub-install --target=i386-pc --recheck /dev/sda
(MBRにgrub登録)
# grub-mkconfig -o /boot/grub/grub.cfg
(grubの設定ファイル書き出し)
-EFI起動時
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=boot
(EFIにgrub登録)
# grub-mkconfig -o /boot/grub/grub.cfg
(grubの設定ファイル書き出し)
***あとしまつ [#b66a2099]
# swapoff --all
# exit
(chroot 終了)
# umount /mnt/boot; umount /mnt
(アンマウント)
-暗号化時のみ
# cryptsetup close cryptroot
(暗号ディスクのクローズ)
***リブート [#f0d3af1d]
# shutdown -r now
(ISOイメージを終了、HDD/SSDから再起動)
ページ名: