差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
tips:linux:arch:0-install [2025/08/31 02:52] – 削除 - 外部編集 (不明な日付) 127.0.0.1 | tips:linux:arch:0-install [2025/09/02 19:35] (現在) – [ArchISO ブート] asaasa | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== Arch Linux メモ - Install ====== | ||
+ | はい、インストールのメモです。基本的なことしかかいてないし、下手するとぐぐったほうが最適解あるかもね。 | ||
+ | |||
+ | ===== 事前のおことわり ===== | ||
+ | 下記については手動インストールのメモです。 | ||
+ | <code bash> | ||
+ | archiso# archinstall | ||
+ | </ | ||
+ | これがisoイメージから起動できる場合、このほうが早い可能性があります。 | ||
+ | |||
+ | ===== 手動インストール ===== | ||
+ | |||
+ | ==== ISOイメージ入手 ==== | ||
+ | |||
+ | * [[https:// | ||
+ | |||
+ | === 個人的に好きなミラー === | ||
+ | |||
+ | * [[https:// | ||
+ | |||
+ | === 正当性検査 === | ||
+ | |||
+ | * Arch Linux 上からならこういうので検査可能です。(iso と同じ場所にある sig ファイルもダウンロードすること) | ||
+ | |||
+ | <code bash> | ||
+ | $ pacman-key -v archlinux-version-x86_64.iso.sig | ||
+ | </ | ||
+ | |||
+ | ==== 仮想環境/ | ||
+ | |||
+ | * 仮想環境なら、DVD仮想ドライブにISOファイルを指定すればOK。実機なら、USBメモリ(ないしSDカード等のメディア)に焼き付けるのが適当でしょう。なんらかの Linux 環境 (もちろん Arch でもいいし、Ubuntu Debian 等でもよいです)で下記コマンドを実行するか KDE/ | ||
+ | |||
+ | <code bash> | ||
+ | $ sudo dd bs=4M if=archlinux-202X.XX.01-x86_64.iso of=/dev/sdx conv=fsync oflag=direct status=progress | ||
+ | </ | ||
+ | |||
+ | === 仮想PCでEFI/ | ||
+ | |||
+ | * EFIにしたい場合、 VirtualBoxなら「システム」-「EFIを有効化」、VMware系ならvmxファイルに firmware=" | ||
+ | * VMwareの場合、みだりにEFIの設定保存ファイルを消さないようにしましょう。OSが起動しなくなります。 | ||
+ | * 仮想PCの場合、メモリは1~2GB程度とっておきましょう。768MB などの適当な数字でメモリがたりない場合、インストールイメージの起動に失敗します。 | ||
+ | * インストール完了したら512MBでも起動はするようですが多めに越したことはありません。 | ||
+ | |||
+ | ==== ArchISO ブート ==== | ||
+ | |||
+ | |||
+ | 設定が最小限すんだら、ISOイメージを起動しましょう。 | ||
+ | <code bash> | ||
+ | archiso# passwd root | ||
+ | archiso# ip a | ||
+ | </ | ||
+ | |||
+ | パスワードを設定して IP アドレスをメモします。 | ||
+ | |||
+ | ここまできたら、DVDのブートイメージに外部からsshでアクセスできるので、ssh でアクセスするなりなんなり。 | ||
+ | |||
+ | === 最小限の設定 === | ||
+ | * キーボードが英語、時間がグリニッジ時刻なので訂正します。 | ||
+ | |||
+ | <code bash> | ||
+ | archiso# loadkeys jp106 | ||
+ | (日本語キー設定 実機用 / ssh の場合は特に不要) | ||
+ | archiso# timedatectl set-ntp true; timedatectl set-timezone Asia/Tokyo; timedatectl status | ||
+ | (NTP同期スタート + EFI/ | ||
+ | </ | ||
+ | |||
+ | === パーティション確保 === | ||
+ | |||
+ | * ディスクの確認 | ||
+ | |||
+ | <code bash> | ||
+ | archiso# fdisk -l | ||
+ | (ディスク構成確認: | ||
+ | </ | ||
+ | |||
+ | * 考え方 : ディスク (例えばsdaがターゲットとします) があったら、最初のパーティションを FAT32 の EFI に (1GB以上が適当)、残りの sda2 を ext4 のルートパーティションにするのが適当でしょう。 | ||
+ | |||
+ | == EFI起動/ | ||
+ | |||
+ | <code bash> | ||
+ | archiso# gdisk /dev/sda | ||
+ | Command (? for help): n | ||
+ | Partition number (1-128, default 1): 1 | ||
+ | First sector (34-268435422, | ||
+ | Last sector (2048-268435422, | ||
+ | Hex code or GUID (L to show codes, Enter = 8300): ef00 | ||
+ | |||
+ | Command (? for help): n | ||
+ | Partition number (2-128, default 2): 2 | ||
+ | First sector (34-268435422, | ||
+ | Last sector (2099200-268435422, | ||
+ | Hex code or GUID (L to show codes, Enter = 8300): 8300 ※LVMを用いる場合は 8e00 といれること。 | ||
+ | |||
+ | Command (? for help): w | ||
+ | |||
+ | Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING | ||
+ | PARTITIONS!! | ||
+ | |||
+ | Do you want to proceed? (Y/N): Y | ||
+ | OK; writing new GUID partition table (GPT) to /dev/sda. | ||
+ | The operation has completed successfully. | ||
+ | |||
+ | archiso# | ||
+ | </ | ||
+ | |||
+ | == BIOS起動/ | ||
+ | |||
+ | <code bash> | ||
+ | archiso# fdisk /dev/sda | ||
+ | Welcome to fdisk (util-linux 2.41.1). | ||
+ | Changes will remain in memory only, until you decide to write them. | ||
+ | Be careful before using the write command. | ||
+ | |||
+ | Device does not contain a recognized partition table. | ||
+ | Created a new DOS (MBR) disklabel with disk identifier 0xdddddddd. | ||
+ | |||
+ | Command (m for help): o | ||
+ | Created a new DOS (MBR) disklabel with disk identifier 0xdeadbeef. | ||
+ | |||
+ | Command (m for help): n | ||
+ | Partition type | ||
+ | p | ||
+ | e | ||
+ | Select (default p): p (以下この部分は省略するが、MBRはHDD/ | ||
+ | |||
+ | Using default response p. | ||
+ | Partition number (1-4, default 1): 1 | ||
+ | First sector (2048-268435455, | ||
+ | Last sector, +/-sectors or +/ | ||
+ | |||
+ | Created a new partition 1 of type ' | ||
+ | |||
+ | Command (m for help): t | ||
+ | Selected partition 1 | ||
+ | Hex code or alias (type L to list all): ef | ||
+ | hanged type of partition ' | ||
+ | |||
+ | Command (m for help): n | ||
+ | ( p 2 というように入力していく) | ||
+ | First sector (2099200-268435455, | ||
+ | Last sector, +/-sectors or +/ | ||
+ | |||
+ | Created a new partition 2 of type ' | ||
+ | |||
+ | Command (m for help): t | ||
+ | (2 を選んで、もしもLVMにするなら 8e を入力しておく。ベタおきなら 83 のままでよい) | ||
+ | |||
+ | Command (m for help): w | ||
+ | The partition table has been altered. | ||
+ | Calling ioctl() to re-read partition table. | ||
+ | Syncing disks. | ||
+ | |||
+ | archiso# | ||
+ | </ | ||
+ | |||
+ | == 暗号化しない場合・LVM == | ||
+ | <code bash> | ||
+ | archiso# pvcreate /dev/sda2 | ||
+ | // pvs, | ||
+ | archiso# vgcreate vgarch /dev/sda2 | ||
+ | // vgs, | ||
+ | archiso# lvcreate --size 48G vgarch -n root | ||
+ | archiso# lvcreate --size 4G vgarch -n swap | ||
+ | archiso# lvcreate -l 100%FREE vgarch -n home | ||
+ | // lvs, | ||
+ | archiso# mkswap / | ||
+ | // | ||
+ | archiso# mkfs.ext4 / | ||
+ | // | ||
+ | archiso# mount / | ||
+ | // | ||
+ | archiso# swapon / | ||
+ | archiso# mount | grep /mnt | ||
+ | これでマウントは完了。 | ||
+ | archiso# df | ||
+ | ディスクの状況を確認する。 | ||
+ | </ | ||
+ | |||
+ | == 暗号化する:1.共通実施 == | ||
+ | <code bash> | ||
+ | archiso# 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 と「大文字で」入力 *** ) | ||
+ | Enter passphrase for /dev/sda2: | ||
+ | Verify passphrase: | ||
+ | Key slot 0 created. | ||
+ | Command successful. | ||
+ | |||
+ | archiso# cryptsetup open --type luks /dev/sda2 cryptroot | ||
+ | cryptsetup open --type luks /dev/sda2 cryptroot | ||
+ | Enter passphrase for / | ||
+ | </ | ||
+ | |||
+ | == 暗号化する:2a.ベタ展開 == | ||
+ | <code bash> | ||
+ | archiso# mkfs.ext4 / | ||
+ | (sda2 は cryptroot に転写されるのでそこをLinux ジャーナリングファイルシステムで初期化) | ||
+ | archiso# mkfs.vfat -F32 -n EFI /dev/sda1 | ||
+ | ブートパーティションは FAT32。 | ||
+ | archiso# mount / | ||
+ | (sda2 のかわりに暗号化済みのマッピングされたデバイスをマウント) | ||
+ | archiso# mount | grep /mnt | ||
+ | これでマウントは完了。 | ||
+ | archiso# df | ||
+ | </ | ||
+ | |||
+ | == 暗号化する:2b.暗号化したその中にlvmを設定 == | ||
+ | <code bash> | ||
+ | archiso# pvcreate / | ||
+ | // pvs, | ||
+ | archiso# vgcreate vgarch / | ||
+ | // vgs, | ||
+ | archiso# lvcreate ... (以下、sda2 とまったく同じなので省略するw) | ||
+ | </ | ||
+ | |||
+ | === pacman / pacstrap で基本イメージをいれる === | ||
+ | <code bash> | ||
+ | archiso# cat / | ||
+ | (jpのサーバー情報をもぎとってきてコメントアウトを自動解除する) | ||
+ | archiso# vim / | ||
+ | (設定ファイルを確認。pacman.confに関しては Color のコメントアウト解除するとカラフルになる) | ||
+ | archiso# pacstrap /mnt base linux linux-firmware | ||
+ | Linux本体を最小限だけ /mnt に放り込むおまじない | ||
+ | * base Archの基本パッケージ | ||
+ | * linux Linux コア部分、ブート構成用 (linux-lts にしてもよき) | ||
+ | * linux-firmware 一般的なハードウェア関連 | ||
+ | 慣れてきたら pacman -S するであろうものは最初に放り込むようになる。例として下記のかんじ。(yay まで一気にいけますよ) | ||
+ | 通常カーネル archiso# pacstrap /mnt base base-devel linux linux-headers linux-firmware grub os-prober efibootmgr lvm2 sudo openssh networkmanager nano vi vim dosfstools bash-completion git go zsh grml-zsh-config zsh-completions zsh-syntax-highlighting zsh-autosuggestions | ||
+ | LTSカーネル | ||
+ | </ | ||
+ | |||
+ | === パーティション構成保存とか === | ||
+ | |||
+ | <code bash> | ||
+ | archiso# genfstab -U /mnt >> / | ||
+ | /mnt 内部の fstab を適切に設定 | ||
+ | |||
+ | // | ||
+ | archiso# dd bs=512 count=4 if=/ | ||
+ | archiso# chmod 400 / | ||
+ | archiso# cryptsetup luksAddKey /dev/sda2 / | ||
+ | Enter any existing passphrase: (設定済みパスワードを入力して、キーファイルを登録) | ||
+ | |||
+ | // | ||
+ | archiso# arch-chroot /mnt | ||
+ | ルートが /mnt になる | ||
+ | chroot# passwd root | ||
+ | (rootパスワードを設定 : HDD/ | ||
+ | chroot# chsh root | ||
+ | (root のシェルを変更 bash のままでよければ実行不要 /bin/zsh などにできる) | ||
+ | chroot# pacman -S grub efibootmgr lvm2 sudo openssh networkmanager nano vi vim dosfstools bash-completion | ||
+ | もしも pacstrap でいれてないのであれば、ここで最小限の追加ツールをいれる efibootmgr : EFIブート用のため BIOS なら省略可能 | ||
+ | // | ||
+ | intel実機 # pacman -S intel-ucode | ||
+ | amd 実機 | ||
+ | </ | ||
+ | |||
+ | === LVM / crypt の反映 === | ||
+ | |||
+ | * LVM / 暗号化実施してない場合はここは省略可能 | ||
+ | |||
+ | <code bash> | ||
+ | chroot# nano / | ||
+ | (この行を) | ||
+ | HOOKS=(base udev autodetect modconf block filesystems keyboard fsck) | ||
+ | (こういうふうに追記する。block / filesystems のまんなかに encrypt lvm2 / 暗号化してないなら encrypt を、lvm未使用なら lvm2 を省略可能。) | ||
+ | HOOKS=(base udev autodetect modconf block encrypt lvm2 filesystems keyboard fsck) | ||
+ | (暗号化の自動解除をしたい場合のみ設定変更する FILES=()を下記に変更) | ||
+ | FILES=(/ | ||
+ | |||
+ | 通常カーネル chroot# mkinitcpio -p linux | ||
+ | LTS カーネル chroot# mkinitcpio -p linux-lts | ||
+ | Image generation successful | ||
+ | |||
+ | // | ||
+ | chroot# nano / | ||
+ | ( GRUB_CMDLINE_LINUX | ||
+ | cryptdevice=/ | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | === ブートローダの登録 === | ||
+ | GRUB例。systemdのやり方もあるけど面倒なのでここでは省略。 | ||
+ | |||
+ | <code bash> | ||
+ | BIOS系 | ||
+ | chroot# grub-install --target=i386-pc --recheck /dev/sda | ||
+ | |||
+ | EFI 系 | ||
+ | chroot# grub-install --target=x86_64-efi --efi-directory=/ | ||
+ | |||
+ | 共通実施 | ||
+ | chroot# grub-mkconfig -o / | ||
+ | </ | ||
+ | |||
+ | rEFInd の場合のみ | ||
+ | <code bash> | ||
+ | rEFInd系 | ||
+ | chroot# pacman -S refind; refind-install | ||
+ | </ | ||
+ | |||
+ | === ユーザーを登録 === | ||
+ | * asaasa , arqtan , yayuser の 3 id を登録 (いずれも sudo 権限ありとする) | ||
+ | |||
+ | == sudoグループ作成 (共通) == | ||
+ | <code bash> | ||
+ | chroot# groupadd sudo | ||
+ | </ | ||
+ | |||
+ | == bash == | ||
+ | |||
+ | <code bash> | ||
+ | chroot# useradd -m -g users -s /bin/bash asaasa; | ||
+ | chroot# useradd -m -g users -s /bin/bash arqtan; | ||
+ | chroot# useradd -m -g users -s /bin/bash yayuser; usermod -aG sudo yayuser; passwd yayuser | ||
+ | </ | ||
+ | |||
+ | == zsh (pacstrap や pacman で事前導入中に限る) == | ||
+ | |||
+ | <code bash> | ||
+ | chroot# useradd -m -g users -s /bin/zsh asaasa; | ||
+ | chroot# useradd -m -g users -s /bin/zsh arqtan; | ||
+ | chroot# useradd -m -g users -s /bin/zsh yayuser; usermod -aG sudo yayuser; passwd yayuser | ||
+ | </ | ||
+ | |||
+ | == sudo権限付与 == | ||
+ | |||
+ | <code bash> | ||
+ | chroot# visudo | ||
+ | ( %sudo ALL=(ALL) ALL が # でコメントアウトされてるので有効にする) | ||
+ | </ | ||
+ | |||
+ | === あとしまつ === | ||
+ | |||
+ | <code bash> | ||
+ | chroot# exit | ||
+ | (または Ctrl+D で「arch-chroot」から抜ける) | ||
+ | archiso# shutdown -h now | ||
+ | (シャットダウンして終了、DVD/ | ||
+ | </ |