본문 바로가기
IT

Arch Linux 설치 + 추천 세팅

by %? 2025. 11. 20.

 제가 Arch Linux 설치할 때 쓰는 명령어들입니다. 반 년째 변함없이 잘 되는 것 같아 올립니다.

// 첫 부팅 후 네트워크 연결
iwctl
- device list
- station {device} scan
- station {device} get-networks
- station {device} connect {SSID}

// 지역 설정
timedatectl set-timezone Asia/Seoul

// 디스크 파티셔닝
fdisk -l
fdisk /dev/disk

```
// EFI
n -> partition number -> Enter -> +1G -> t -> partition number -> 1
// Root
n -> partition number -> Enter -> Enter -> t -> partition number -> 23

// Swap이랑 Home은 필요하다면 실행
n -> partition number -> Enter -> +(RAM * 2)G -> t -> partition number -> 19 (Swap)
n -> partition number -> Enter -> Enter -> t -> partition number -> 143 (Home)

w
```

// 파티션 포맷
mkfs.ext4 /dev/Root/partition
mkfs.fat -F 32 /dev/EFI/partition

// Swap 및 Home
mkswap /dev/Swap/partition
mkfs.ext4 /dev/Home/partition

// 각 파티션 마운트
mount /dev/Root/partition /mnt
mount --mkdir /dev/EFI/partition /mnt/boot

// Swap 및 Home
swapon /dev/Swap/partition
mount --mkdir /dev/Home/partition /mnt/home

// pacman 미러리스트를 한국으로 지정 및 업데이트
reflector -c "South Korea" -a 12 --sort rate --save /etc/pacman.d/mirrorlist
pacman -Syy

// 필요한 패키지 설치
pacstrap -K /mnt base linux linux-firmware
pacstrap /mnt vim networkmanager git
pacstrap /mnt base-devel

// 시스템 설정 파일 생성
genfstab -U /mnt >> /mnt/etc/fstab

// mnt로 진입
arch-chroot /mnt

// 시간대 설정
ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
hwclock --systohc

// 사용할 언어 설정
vim /etc/locale.gen

```
// 사용할 언어 주석 해제, 저는 영어, 일본어, 한국어를 설정했습니다.
en_US.UTF-8
ja_JP.UTF-8
ko_KR.UTF-8
```

// 언어 적용
locale-gen

// 주언어는 영어로 하는 것이 오류날 가능성이 낮습니다.
echo LANG=en_US.UTF-8 > /etc/locale.conf

// 호스트 이름 설정, 아무거나 해도 상관없습니다.
echo ArchLinux > /etc/hostname

// 루트 비밀번호 설정
passwd (Root)

// 유저 추가, fish는 제가 주로 쓰는 쉘이고, user 라는 유저명으로 만듭니다. 각자 맞게 변경하시면 됩니다.
pacman -S fish
useradd -m -G wheel -s /bin/fish user

// 추가한 유저 비밀번호 설정
passwd user

// wheel 그룹 비밀번호 권한 설정
EDITOR=vim visudo

```
// 해당 부분 주석 해제, NOPASSWD는 sudo 명령어 시 비밀번호 요구를 안 하는 설정입니다.
%wheel ALL=(ALL:ALL) NOPASSWD: ALL
```

// 부트로더 패키지 설치
pacman -S grub efibootmgr

// 부트로더 생성 및 설치
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

// 블루투스 패키지 설치
pacman -S bluez

// 네트워크 및 블루투스 활성화
systemctl enable NetworkManager bluetooth

// 종료 후 재부팅
exit
umount -R /mnt
reboot

// 유저에 루트 권한 지정
su user

// 와이파이 탐색
nmcli device wifi list

// 와이파이 연결, SSID는 와이파이 이름, PWD는 와이파이 비밀번호
nmcli device wifi connect {SSID} password {PWD}

// 와이파이 연결, 비밀번호를 따로 입력
nmcli device wifi connect {SSID} --ask

// yay 패키지 관리자 설치
git clone https://aur.archlinux.org/yay-bin
cd yay-bin
makepkg -si
cd ..
rm -rf yay-bin

// 패키지 업데이트
yay

 아래는 제가 추천하는 추가 설정들입니다.

 

1. 32비트 패키지

// 설정 파일 수정
vim /etc/pacman.conf

```
// 해당 부분을 주석 해제
[multilib]
Include = /etc/pacman.d/mirrorlist
```

yay

 

2. 자동로그인

// 설정 파일 생성 및 수정
mkdir -p /etc/systemd/system/getty@tty1.service.d/
vim /etc/systemd/system/getty@tty1.service.d/autologin.conf

```
[Service]
ExecStart=
// --autologin 뒤에 자동로그인 할 유저명 입력
ExecStart=-/usr/bin/agetty --autologin user --noclear %I $TERM
```

 

3. zram

// zram 패키지 설치
yay -S zram-generator

// zram 설정 파일 생성
sudo vim /etc/systemd/zram-generator.conf

```
[zram0]
zram-size = min(ram / 2, 4096)
compression-algorithm = zstd
swap-priority = 100
```

// 서비스 재부팅
sudo systemctl daemon-reload
sudo systemctl start systemd-zram-setup@zram0.service

// Swap 우선순위 변경
sudo vim /etc/fstab

```
# /dev/swap/partition
// defaults 뒤에 ,pri=-2 추가
UUID=xxxxx-xxxx...   none   swap   defaults,pri=-2   0 0
```

// Swap 재부팅
sudo swapoff /dev/mmcblk0p2
sudo swapon -a

// zram 확인
swapon --show

```
//예시
NAME              TYPE       SIZE   USED   PRIO
/dev/zram0        partition  2G     0B     100
/dev/mmcblk0p2    partition  4G     0B     -2
```

 

4. 비트퍼펙트

// 필요한 패키지 설치
yay -S pipewire pipewire-alsa pipewire-pulse wireplumber

// 설정 파일 준비
mkdir -p ~/.config/pipewire
cp /usr/share/pipewire/pipewire.conf ~/.config/pipewire/

// 설정 파일 수정
vim ~/.config/pipewire/pipewire.conf

```
context.properties = {
    ...
    
	// 아래 코드들의 주석 해제 및 수정
    // 기본 샘플레이트 (평소 상태)
    default.clock.rate = 48000

    // DAC가 변경 가능한 샘플레이트 목록 작성, 저는 iD4 MK2 기준으로 했습니다.
    default.clock.allowed-rates = [ 44100, 48000, 88200, 96000 ]

    ...
}
```

// Pipewire 서비스 재시작
systemctl --user restart pipewire pipewire-pulse wireplumber