Note.
처음 시작할 때 GUI가 아닌 CUI 환경으로 윈도우나 MacOS만 사용해왔다면 매우 생소할 수 있다. 만약 처음 리눅스를 접하기 위해서 Arch 리눅스를 선택한다면 초반에 매우 어려울 수 있다. 하지만 모든게 커스터마이징 가능하고 한번 셋업해두면 정말 애정이 생기는 그런 운영체제이지 않을까 싶다.
다른 유명한 배포판의 경우 특히 우분투의 경우 사용자에게 매우 친절하지만 Arch Linux는 그렇지 않다. 설치부터 GUI환경 구성까지 모든걸 유저가 처음부터 끝까지 그리고 취향대로 다양한 방식으로 꾸밀 수 있다. 장점이자 단점이다.
개인적으로 단점보다는 장점이 더 많은 배포판이라고 생각한다.
대부분의 운영체제에 제공하는 사용안하는 앱들과 삭제 및 변경도 안되는 기능들로 스트레스를 종종 받았기에 내게 백지 상태의 아치리눅스는 너무나 매력적으로 다가 왔다.
하나하나 셋팅을 해주면서 애착도 생기고 시행착오를 겪으면서 조금씩 발전하는 모습을 볼 때 특히 성취감을 느낀다.
아치 리눅스를 설치해보고 싶은 마음이 조금 들었다면 아래 방법을 따라 설치를 진행해보자.
이미지 파일 다운로드
https://archlinux.org/download/
해당 링크에서 아치 리눅스 ISO 파일 다운로드 할 수 있습니다. 한국 서버에서 다운로드시 조금 더 쾌적하게 다운로드 가능합니다.
부팅 이미지 만드는 방법은 사용하는 운영체제에 따라 다르기에 알맞은 부팅 USB를 만들면 됩니다.
시스템 시간 설정
timedatectl set-ntp true
위 명령어를 사용해서 시스템 시간을 설정해주자.
SSD 또는 HDD 파티션 설정
이제 설치하고자 하는 디스크의 파티션을 나눠주자.
fdisk -l
위 명령어를 통해서 현재 마운트 되어 있는 디스크 파트션을 확인할 수 있다.
보통 SSD를 사용하고 있다면 nvme*, HDD를 사용하고 있다면 sd* 로 파티션이 나눠져 있다.
이제 만들 파티션은 총 2개이며 간혹 3개의 파티션으로 나누기도 한다.
일반적으로 SWAP 파티션도 필요하나 hibernate 기능을 많이 사용하지 않기에 swap 파티션은 만들지 않고 진행하겠습니다.
*hibernate*는 power menu중 하나로 메모리에 저장된 데이터를 hdd에 기록하여 전력손실을 최소화시켜 잠들기 모드에 들어가는 기능입니다. 보통 RAM 사이즈 정도를 swap partition으로 설정하나 작은 용량도 소중하기에 해당 용량만큼 메인 파티션의 용량을 확보해주는 2개 파티션 생성을 통한 설치방법에 대해서 알아보도록 하겠습니다.
gdisk /dev/nvme #SSD의 경우 nvme, HDD의 경우 sda # 파티션을 삭제합니다. (내용이 삭제되니 주의) Command(? for help): d (hit the partition number you want to delete) Command (? for help): w
위 명령어를 통해서 기존에 설치된 파티션을 초기화 해주자. 이어서 부팅에 필요한 grub을 설치할 efi 파티션을 만들어주자.
Command (? for help): n default value is 1 so hit enter value of first sector [ENTER] value of second sector -> +300M partition system code -> ef00
위 명령어를 통해서 300M 의 EFI system partition을 생성했다. 이어서 메인 파티션을 생성해보자.
Command (? for help): n default value is 2 so hit enter value of first sector [ENTER] value of second sector [ENTER] partition system code (default is linux file system) [ENTER] Command (? for help): w
생성한 파티션 포멧
위에서 2개의 파티션을 생성했으며 이제 해당 파티션을 알맞은 방식으로 포멧을 해보자.
# 부팅시스템으로 생성한 300M 파티션은 fat32로 포멧을 해줍니다. mkfs.fat -F32 /dev/nvme0n1p1 # 메인 파티션은 ext4로 포멧해줍니다. mkfs.ext4 /dev/nvme0n1p2
위에 nvme0n1p2는 시스템마다 다를 수 있기에 파티션을 생성하고 아래 명령어를 통해서 파티션 이름을 다시 한번 확인해주자.
fdisk -l
Device Start End Sectors Size Type /dev/nvme0n1p1 2048 616447 614400 300M EFI System /dev/nvme0n1p2 616448 1000214527 999598080 476.6G Linux filesystem
파일 시스템 마운트
# efi system 을 위한 폴더 생성 mkdir -p /mnt/boot/efi # efi system 마운트 mount /dev/nvme0n1p1 /mnt/boot/efi # 메인 파티션 마운트 mount /dev/nvme0n1p2 /mnt
아치 리눅스 설치
위 과정을 마쳤으면 이제 아치리눅스 설치를 위한 준비가 되었다. 설치를 하며 pacman을 이용하여 패키지 설치가 필요한데 아치리눅스는 세계 곳곳에 미러 서버를 가지고 있다. 자신에게 빠른 미러 서버를 선택하기 위해서 아래 명령어를 이용해서 내가 사용할 미러 서버 리스트를 저장해주자.
reflect -c "South Korea" -a 12 --sort rate --save /etc/pacman.d/mirrorList # 패키지 매니저 업데이트 pacman -Syy
필수 패키지 설치
pacstrap /mnt base linux linux-firmware vim man-db man-pages texinfo intel-ucode
위 명령어를 이용해서 설치에 필요한 최소한의 패키지를 설치해주자.
FSTAB 설정
fstab이란 파일 시스템 정보를 저장하고 있으며, 리눅스 부팅시 마운트 정보를 저장하고 있다. 파티션이 어떻게 마운트되어 있고 파일 시스템은 어떻게 포멧되어 있는지 등등 정보가 기록되어 있는 파일이다.
genfstab -U /mnt >> /mnt/etc/fstab
CHROOT
root 유저로 설치한 리눅스에 접속해보자
arch-chroot /mnt
SWAP 파일 생성
dd if=/dev/zero of=/swapfile bs=1M count=1024 status=progress chmod 600 /swapfile mkswap /swapfile swapon /swapfile
이제 위에서 생성한 fstab 을 설정해주자.
vim /etc/fstab
해당 명령어를 이용해서 fstab 파일에 들어가서 맨 마지막 줄에 다음을 추가해주자
/swapfile none swap defaults 0 0
vim editor를 빠져나오는 방법은 esc를 누른 후 :wq를 입력해서 저장하고 종료를 해주면 된다.
시간 설정
ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime hwclock --systohc
위 명령어를 통해서 Seoul 시간을 가져왔고 하드웨어 시간 동기화를 설정해줬다.
언어 설정
우선 영어로 언어 설정을 해주고 나중에 한글 설정을 하도록 하자.
vim /etc/locale.gen
해당 명령어를 통해서 # en_US.UTF-8 그리고 # ko_KR.UTF-8 로 설정되어 있는 줄에서 # 버튼을 모든 제거해서 en_US.UTF-8, ko_KR.UTF-8 요렇게 만들어 주자.
locale-gen
해당 명령어를 통해서 주석 제거해준 언어를 generate 해주자.
vim /ete/locale.conf
해당 명령어를 통해서 locale.conf 파일 생성하고 안에 아래 문구를 입력해주자.
LANG=en_US.UTF-8
마찬가지로 vim-editor를 종료할때는 esc 를 누른 후 :wq 를 입력해서 빠져나오면 된다.
네트워크 설정
hostname 파일 생성
vim /etc/hostname
원하는 hostname을 입력해주고 :wq 를 입력해서 저장 후 빠져나오면 된다. 해당 시스템의 경우 example을 입력해줬다.
example
호스트 파일 설정
vim /etc/hosts 127.0.0.1 localhost ::1 localhost 127.0.1.1 example.localdomain example
root 계정 비밀번호 설정
passwd
위 명령어를 입력해서 root 계정의 비밀번호를 설정해주자.
기본 패키지 설치
pacman -S grub efibootmgr networkmanager network-manager-applet dialog mtools dosfstools base-devel linux-headers bluez bluez-utils cups alsa-utils alsa pulseaudio pulseaudio-bluetooth git reflector xdg-utils xdg-user-dirs
블루투스 및 인터넷 설정 활성화
systemctl enable bluetooth systemctl enable NetworkManager
아치 리눅스를 이용할 계정 생성
useradd -mG wheel 유저명
해당 명령어를 통해서 원하는 유저이름을 생성하고 비밀번호 설정까지 했다면 권한 설정을 해주자.
EDITOR=vim visudo
# wheel 그룹에 설정된 주석을 없애주자.
# wheel All=(All) All -> wheel All=(All) All
주석처리 이후 아래 명령어를 입력해서 사용자 계정 정보를 수정해주자.
usermod -aG video,input,audio user
부트로더 설정
가장 보편적으로 사용하는 부트로더는 grub이며 여기서도 grub을 이용한 부트로더 설정에 대해서 알아보겠습니다.
grub-install /dev/nvme0n1p1 grub-mkconfig -o /boot/grub/grub.cfg mkinitcpio -p linux exit
설치 후 재부팅
umount /mnt/boot umount /mnt reboot
이제 설치할 때 사용했던 usb를 제거하고 arch linux가 잘 실행되는지 확인해보자.
잘 따라서 설치했다면 정상적으로 설치USB를 제거 후에도 아치리눅스가 부팅됩니다.
다음 편에는 CUI환경에서 어떻게 GUI환경을 셋업하지는 작성하도록 하겠습니다.
궁금하신 점이나 추가로 포스팅 원하는 부분이 있으면 댓글로 알려주세요~
※ 현재 제가 사용하고 있는 GUI환경은 bspwm 타일링 윈도우 메니저를 이용하고 있습니다.
There are no comments yet.