1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Archlinux OSインストールのメモ

Last updated at Posted at 2024-06-11

さんざん出ているものですが、未来の自分がそのまま参考にできるものを残しておきたい

作りたいもの

  • Proxmox VEのdocker用VMとしてのArchlinux
  • rootユーザにパスワードを設定しない
  • 固定IPを振る
  • UEFIで起動する

手順

Archlinux ISOファイルをダウンロードしておく

proxmoxの管理コンソールでストレージ→ISO Images→Download from URL

image.png

ダウンロード中でもモーダルウィンドウは閉じてしまってよいので次を進める

Proxmox VEのVMを作る

VM作成オプションは、ほぼデフォルトで以下を変更しておく

  • Processors
    • Type: host
  • BIOS
    • BIOS: OVMF (UEFI)

CDのところはひとまず空にしておき、VMの作成を一旦完了する

ISOのダウンロードが終わったら、ハードウェア設定からCD/DVDにISOをセットする

ハードウェア設定から、Add→EFI diskを追加する

VMを起動し、F2キーを連打してUEFI設定に進める

image.png

Device Manager > Secure Boot Configuration > Attempt Secure Boot の [X] を外して F10キーを押して保存する

Live ISOを起動して次のOSインストールに進める

OSをインストールする

こちらをベースに進める

操作はProxmox VEの管理コンソールのVMのコンソールで行う

partedでパーティションを切る 参考

作成するパーティション構成
sda      8:0    0   32G  0 disk
|-sda1   8:1    0  550M  0 part /boot/efi
`-sda2   8:2    0 31.5G  0 part /
(swapなし、あとでファイルで作るかも)
$ parted /dev/sda
(parted) mklabel gpt
(parted) mkpart ESP fat32 1MiB 551MiB
(parted) set 1 esp on
(parted) mkpart primary ext4 551MiB 100%
(parted) quit

パーティションをフォーマットする

$ mkfs.fat -F 32 /dev/sda1
$ mkfs.ext4 /dev/sda2

マウントする

$ mount /dev/sda2 /mnt
$ mkdir -p /mnt/boot/efi
$ mount /dev/sda1 /mnt/boot/efi

/mnt にファイルをインストールする

$ pacstrap -K base base-devel linux linux-firmware grub efibootmgr networkmanager openssh vim

fstabを作成する

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

chrootする
※現状はブート設定などがまったくないので、Live ISO起動を抜けてからVMが起動できるようにOSの設定を進める

$ arch-chroot /mnt

タイムゾーンを設定する

$ ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
$ hwclock --systohc

ローカリゼーション

$ vim /etc/locale.gen
#en_US.UTF-8 UTF-8をアンコメント
#ja_JP.UTF-8 UTF-8をアンコメント
$ locale-gen
$ vim /etc/locale.conf
LANG=en_US.UTF-8

hostname設定

$ vim /etc/hostname
qiitanimemonokosuman01

ユーザの作成

$ useradd -m [(お決まりのUIDがあれば)-u xxxxx] -g wheel -N <<_USER_NAME_>>
$ passwd <<_USER_NAME_>>
$ visudo
# 以下を追加
%wheel ALL=(ALL:ALL) ALL

grubを設定する 参考

$ grub-install --efi-directory=/boot/efi --bootloader-id=GRUB
$ grub-mkconfig -o /boot/grub/grub.cfg

chroot環境から抜け、再起動する

$ ^d
$ reboot

EFIブートエントリにデバイスが乗ってこない場合 (関係なければ飛ばす)

VMの立ち上がり時にコンソールでF2キーを押すとUEFI設定に進めるので、以下でインストールしたOSを起動する

image.png

Boot Maintenance Manager > Boot From File > Volume > EFI > GRUB > grubx64.efi

OSが起動したら、以下でエントリを追加する

$ sudo efibootmgr -c -L GRUB -d /dev/sda -l '\EFI\GRUB\grubx64.efi'

OSの中身の設定

引き続きProxmoxの管理コンソールから、VMのコンソールを操作する

固定IPをふる 参考

$ sudo systemctl enable NetworkManager
$ sudo systemctl start NetworkManager
$ nmcli device
# 上記でデバイス名がわかる。一番右のやつ。
$ sudo nmcli con mod "Wired connection 1" ipv4.address '192.168.xx.xx/24'
$ sudo nmcli con mod "Wired connection 1" ipv4.gateway '192.168.xx.xx'
$ sudo nmcli con mod "Wired connection 1" ipv4.dns '192.168.xx.xx'
$ sudo nmcli con mod "Wired connection 1" ipv4.method manual
$ sudo nmcli -f ipv4 con show "Wired connection 1"
# VM再起動するか、nmcliでデバイスをdown/upする

sshログインできるようにする

$ sudo systemctl enable sshd
$ sudo systemctl start sshd
# ここで一旦パスワードでユーザに入って公開鍵をおいておく
$ mkdir .ssh
$ vim .ssh/authorized_keys
$ sudo vim /etc/ssh/sshd_config
# 以下を追記
PasswordAuthentication no

dockerをインストールする

$ sudo pacman -Sy docker docker-compose
$ sudo systemctl enable docker
$ sudo systemctl start docker
$ sudo usermod -a -G docker <<_USER_NAME_>>
1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?