Note-Notice
❖|OS 구축
ARCH LINUX 설치 기본 사항
➽|Platform 구성
VirtualBox 이용 가상화 구성 방안
↘ Product Download
ARCH LINUX - ISO 파일 다운로드
- ARCH LINUX에서 요구하는 ISO 파일 다운로드
- https://archlinux.org/download/ ⇒ archlinux-YYYY.MM.DD-x86_64.iso
- 나라 별 서버 정보 확인 후 다운
↘ 가상환경 구성 - VirtualBox
OVM 이용 가상환경 구성 수행
- 필수 체크 사항
- CPU Core 2 / Memory 10GB >= / Disk 최소 64G 구성 확인
- Boot 옵션 EFI 활성화 X
- 디스플레이 설정 상 3차원 엑셀레이터 옵션 필수 활성화
- IDE 이미지 archlinux 구성 확인
- CPU Core 2 / Memory 10GB >= / Disk 최소 64G 구성 확인
- Boot 확인
- Arch Linux Install medium 옵션 선택
- Boot 후 archiso - VirtualConsole 수행되는지 확인
↘ VirtualConsole - Script 구성
archinstall scripts 이용 시스템 구성
- 참고 사이트
- https://youtu.be/YC7NMbl4goo?si=3EBzfYms0kh8-1ZE
- https://karupro.tistory.com/125
- https://www.youtube.com/watch?v=hiWj0IZKpRQ
- https://www.youtube.com/watch?v=sVFnd5LAYAc
- https://www.youtube.com/watch?v=HMxHUvN6VGo
- https://github.com/mylinuxforwork/dotfiles/wiki
- https://sungyong.medium.com/manzaro-arch-linux-%EC%84%B8%ED%8C%85%EA%B3%BC-ibus-%ED%95%9C%EA%B8%80-76237f8a9689
- https://github.com/Riey/kime/discussions/653
≫ 설치 스크립트 최신화 및 실행
- archinstall 패키지 최신화 수행
# PACMAN 최신/최적화
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
reflector -c "South Korea" -a 12 --sort rate --save /etc/pacman.d/mirrorlist
pacman -Syy
# 패키지 최신화 및 실행
pacman -S archinstall
archinstall
≫ 설치 옵션 구성
- arch linux 설치를 위한 구성 수행
# Archinstall Language / Locales => en_US.UTF-8 맞춰서 구성
# mirror => Mirror region == South Korea
# Disk Configuration => Partitioning == besst-effort default 옵션
# Disk Encryption => X
# Swap => Enabled
# BootLoader => Grub
# Hostname / Root password / User Account => 맞춰서 구성
# Profile => Type == Desktop == hyprland == polkit
# Graphics driver(All OpenSource) == Greeter(sddm)
# Audio => pipewire
# Kernel => linux
# Network Configure => Copy ISO network 옵션
# Add Package => waybar man-db otf-font-awesome hyprpaper firefox flatpak foot
# Timezone => Asia/Seoul
# NTP => Enabled
# Save Configuration & Install
# chroot 옵션 실행 여부 화면 확인 시 NO 선택 + REBOOT
- Partition 구성 참고
- 이외 구성의 파티션경우 스크립트 설치가 불가능해보임 (버그??)
- 별도 구성 필요시 아래 Manual 구성 수행 (GUI 환경 별도 설치 필요)
- 최초 구성시 터미널(Kitty) 동작하지 않음 ⇒ W/A foot 통한 수정 작업 수행
# BOOT 후 hyprland 옵션으로 로그인
# SUPER+Q 미동작 확인 후 SUPER+R 수행
foot # 선택 실행
# hyprland 구성 파일 변경
vim .config/hypr/hyprland.conf
autogenerated 줄 주석처리
monitor 옵션 수정
monitor=Virtual-1,2560x1440@60,0x0,1 # 16:10 전체화면
monitor=Virtual-1,1920x1080@60,0x0,1 # 일반용
$terminal 옵션 수정
$terminal = foot
exec-once 옵션 변경
exec-once=waybar & hyprpaper
env 옵션 변경
env = XCURSOR_SIZE,16
env = HYPRCURSOR_SIZE,16
animations 옵션 변경
enbaled = false
# SUPER+M 으로 로그아웃 후 재 접속
# Waybar Setup 변경
mkdir -p ~/.config/waybar
ls -d /etc/xdg/waybar
cp /etc/xdg/waybar/* ~/.config/waybar/.
vim ~/.config/waybar/config.jsonc
"modules-left" 옵션 변경
sway/workspaces -> hyprland/worksapces
sway/mode -> hyprland/mode
sway/scratchpad -> hyprland/scratchpad
"module-center" 옵션 변경
sway/window -> hyprland/window
"modules-right" 옵션 변경
sway/language -> hyprland/language
CLASS 이름 옵션 변경
-> "sway/mode" -> "hyprland/mode"
-> "sway/scratchpad" -> "hyprland/scratchpad"
≫ 설치 완료 후 사후처리
- arch linux 구성 후 추가 설정
# 지역 및 언어 설정
vim /etc/locale.gen # 사용할 캐릭터셋 주석해제 후 저장 - en_US.UTF-8 / ko_KR 관련
locale-gen
vim /etc/locale.conf # 사용할 캐릭터셋 작성 후 저장 - 예제) LANG=en_US.UTF-8
# 네트워크 파일 작성 - /etc/hosts
vim /etc/hosts # 아래 내용 및 추가 알리아스 작성
127.0.0.1 localhost
::1 localhost
# + SERVER_ALIAS
# 추가 패키지 작업 수행
pacman -S networkmanage network-manger-applet net-tools virt-manager sshd git ibus-hangul
ln -s /usr/bin/vim /bin/vi
sudo systemctl enable sshd
sudo systemctl start sshd
# 한글 입력 추가
# REBOOT↘ VirtualConsole - Manual 구성
일반 리눅스와 다르게 CONSOLE SETUP으로 시스템 구성 수행
≫ 부트 방식 확인
- efivars 확인 수행 →> 파일 존재하지 않아야 정상 (BIOS 부팅), EFI/UEFI 부팅 사용 X
ls /sys/firmware/efi/efivars≫ 이더넷 장치 확인
- 연결한 이더넷 장치 및 정상여부 확인 - 인터넷 연결 필수
ip link # 장치 정상여부 확인
ping archlinux.org # 인터넷 정상 여부 확인≫ 시스템 시간 설정
- 현재 시점 시간 동기화 및 확인
timedatectl set-ntp true
timedatectl # 시간동기화/NTP 정상 여부 확인≫ 디스크 파티션 구성
- fdisk를 이용한 GPT 파티션 구성
- /boot + SWAP + /(ROOT) 3개 구성 (Standard Partition 1 + LVM 2)
- 구성한 디스크 환경에 맞춰서 수행
# 디스크 파티션 작업
fdisk /dev/sda
command (m for help): g # GPT 파티션라벨 지정
command (m for help): n # 신규 파티션 생성으로 2개 구성
# 파티션 생성 옵션
# >> /boot 옵션 PN : 1 | FS : Enter | LS : +1G | t + Enter + 1
# >> root 옵션 PN : 2 | FS : Enter | LS : Enter | t + 2 + Enter + 44 (LVM)
command (m for help): w # 파티션 저장 필수
blkid && lsblk # 디스크 정보 확인
# LVM 작업
pvcreate /dev/sda2
vgcreate rootvg /dev/sda2
lvcreate -n lvswap --size +10G rootvg
lvcreate -n lvroot --size +53G rootvg # extent 13567≫ 파티션 디스크포맷 구성
- 구성된 3개의 파티션 대상 포맷 수행 (FAT 1 + SWAP 1 + EXT4 1)
# FAT BOOT 구성
mkfs.fat -F32 /dev/sda1
mkswap /dev/rootvg/lvswap
mkfs.ext4 /dev/rootvg/lvroot
blkid # 구성된 파티션 정보 확인≫ 파일시스템 마운트 수행
- 구성 파티션 OS 구성을 위한 임시 마운트 수행
# 임시 MOUNT 수행
mount /dev/rootvg/lvroot /mnt
mount --mkdir /dev/sda1 /mnt/boot
swapon /dev/rootvg/lvswap
df -kh && free -m
# 기본 FSTAB 구성 수행
genfstab -U /mnt >> /mnt/etc/fstab && cat /mnt/etc/fstab≫ 필수 패키지 선택 구성 (PACMAN)
- 패키지매니저(pacman) 최신화 및 필수 패키지 설치
# PACMAN 최신/최적화
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
reflector -c "South Korea" -a 12 --sort rate --save /etc/pacman.d/mirrorlist
pacman -Syy
# Linux 필수 패키지 설치 수행 (/mnt)
pacstrap -K /mnt base linux linux-firmware sof-firmware base-devel \
grub efibootmgr vim man-db man-pages texinfo intel-ucode≫ OS 시스템 설정
- /mnt 시스템으로 전환하여 OS 기동에 필요한 시스템 설정 작업 진행
# 시스템 전환 - 명령수행후 /mnt를 root로 하는 시스템에서 실행
arch-chroot /mnt
# OS 시간 설정
ln -sf /usr/share/zoneinfo/Asis/Seoul /etc/localtime
hwclock --systohc
date # KST 시간 동기화 여부 확인
# 지역 및 언어 설정
vim /etc/locale.gen # 사용할 캐릭터셋 주석해제 후 저장 - en_US.UTF-8 / ko_KR 관련
locale-gen
vim /etc/locale.conf # 사용할 캐릭터셋 작성 후 저장 - 예제) LANG=en_US.UTF-8
# 네트워크 파일 작성 - /etc/hosts
vim /etc/hosts # 아래 내용 및 추가 알리아스 작성
127.0.0.1 localhost
::1 localhost
# 호스트네임 파일 작성
vim /etc/hostname # 서버 이름 작성 후 저장
# ROOT 유저 패스워드 지정
passwd≫ 추가 패키지 구성 (PACMAN) 및 필수 서비스 구성
- OS 셋업에 필요한 추가 패키지 구성
# 필수 추가 패키지
pacman -S base base-devel grub efibootmgr networkmanager network-manager-applet \
dialog mtools dosfstools linux-headers cups git reflector xdg-utils xdg-user-dirs dhcpcd
# 옵션 추가 패키지
pacman -S lvm2
# 필수 서비스 구성 및 실행
systemctl enable NetworkManager
systemctl enable dhcpcd≫ 부트로더 구성
- 부트 이미지 및 커널부트 설정
# 사전 체크 - LVM 이용시
vim /etc/mkinitcpio.conf
# 옵션 변경 HOOKS= 상 block filesystems 사이에 lvm2 추가
grub-mkconfig -o /boot/grub/grub.cfg
mkinitcpio -P
mkinitcpio -p linux≫ 시스템 재기동
- 재기동 후 부트로더로 OS 동작 수행
# /mnt OS 종료
exit
# UMOUNT 수행
umount /mnt/boot
umount /mnt
swapoff /dev/rootvg/lvswap
# 시스템 REBOOT - BOOT 옵션 확인
reboot- 정상 기동 시 부트로더
