Archlinux 의 부팅 USB 를 만든다.
passwd
ip addr
ssh root@server.ip.address
이 방법은 이 가이드의 설치 명령어를 copy & paste 를 편리하게 사용하기 위한 방법이며 서버에서 직접 명령어를 입력하여도 상관 없음.
lsblk
sda 가 설치될 하드디스크의 디바이스명이고, sdb 는 부팅 USB 임.
cfdisk /dev/sda
생성된 파티션의 속성을 EFI System 으로 선택한다. (메인보드가 EFI 부팅을 지원하여야 함)
물리적 메모리와 동일하게 적용하는것이 좋음
생성된 파티션의 속성을 Linux Swap 으로 선택한다.
mkfs.vfat -F32 /dev/sda1
mkswap /dev/sda2
swapon /dev/sda2
mkfs.ext4 -j /dev/sda3
mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
pacstrap /mnt base linux linux-firmware
pacstrap /mnt base linux linux-firmware openssh nano networkmanager base-devel ntp btrfs-progs bash-completion
openssh #openssh 접속을 위한 패키지
nano #파일 편집을 위한 패키지
dhcpcd #ip 를 dhcp 로 받아오기 위한 패키지
base-devel #컴파일을 위한 개발용 패키지
ntp #인터넷으로 시간을 동기화 시키지 위한 패키지
btrfs-progs #btrfs 로 포멧시 필요한 명령어 패키지
bash-completion #bash 사용시 sudo 에서 tab 으로 자동완성을 위한 패키지
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
passwd
nano /etc/locale.gen
en_US.UTF-8 찾아서 주석 제거
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8
echo arch > /etc/hostname
ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
useradd -m -g users -G wheel -s /bin/bash rubyon
passwd rubyon
EDITOR=nano visudo
%wheel ALL=(ALL) ALL
주석제거
pacman -Syu
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch --recheck
grub-mkconfig -o /boot/grub/grub.cfg
sudo pacman -S amd-ucode
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo pacman -S intel-ucode
sudo grub-mkconfig -o /boot/grub/grub.cfg
systemctl enable sshd
systemctl enable NetworkManager
systemctl enable ntpd
sudo nano /etc/ntp.conf
기본 서버를 주석 처리후
아래 서버 추가 (ibust 옵션은 좀더 빠른 싱크를 위해 사용)
server kr.pool.ntp.org iburst
server time.bora.net iburst
exit
umount -lR /mnt
reboot
재부팅 프로세스가 끝나면 부팅되기전 USB 제거
NAS 등 외부 볼륨 마운트시 네트워크 상태가 정상화되면 마운트 하도록 기다리는 서비스
sudo systemctl enable NetworkManager-wait-online
systemd 로 서비스 실행시 네트워크 상태가 정상화되면 서비스를 활성화 하도록 기다리는 서비스
sudo systemctl enable systemd-networkd-wait-online.service