계기
친구와 화면공유를 하며 디스코드를 하던 중에 그 친구가 리눅스로 꾸민 것을 보여주었다. 리눅스의 자유로운 커스텀마이징 기능에 나는 흥미가 생겼고 시작했다.
처음엔 학교에서 배웠었고 가장 흔하다고 생각하는 Ubuntu를 하려고 했으나, 친구의 권유로 Arch를 해보려고 한다.
Arch 설치
Arch를 설치하는 방법은 해당 위키에 잘 설명되어 있다. 이것을 사용해서 글을 작성하겠다.
Installation guide (한국어) - ArchWiki (archlinux.org)
Installation guide (한국어) - ArchWiki
번역 상태: 이 문서는 Installation guide를 번역한 것입니다. 번역 날짜는 2022-07-15입니다. 여기 링크를 클릭하여 영문 문서를 번역한 이후에 변경된 사항을 확인하십시오. 이 문서는 공식 설치 매체
wiki.archlinux.org
1 설치에 앞서 할 일
1.1 Arch ISO 다운로드
위키에 1.1 설치 매체 다운로드하기에 있는 다운로드 페이지에서 ISO 파일을 다운 받을 수 있다.
나는 사이트에 있는 미러링 사이트 중에서 funami.tech를 사용해서 다운로드 했다.
VirtualBox 설치
나는 가상머신으로 리눅스를 실행할 것이기 때문에 VirtualBox를 설치했다. 원래는 친구의 추천으로 Qemu를 사용해 보려고 했으나, 설정할 것이 많고 불편해서 VirtualBox를 사용하기로 했다.
나는 메모리 4096MB, 프로세서 2, 하드디스크는 20GB로 설정했다.
그리고 EFI 설정도 체크해줬다.
1.6 부트 방식 확인
ls /sys/firmware/efi/efivars
처음에 EFI 설정을 안 하고 1.6의 명령어를 실행하니 에러가 났었다. 체크해주니 문제 없이 잘 됐다.
1.7 인터넷에 연결
ip link
이 부분은 명령어를 실행하고 출력되는 값들을 알아봤지만, 리눅스에 대해 잘 몰랐기에 이해가 어려웠고, 친구가 보고 된거라고 해서 가볍게 보고 넘어갔다.
ping archlinux.org
네트워크가 제대로 연결 됐는지 확인했다.
1.8 시스템 시간 설정
timedatectl set-ntp true
시스템 시간 설정 후에
timedatectl status
로 현재 상태를 확인했다.
Local time과 Universal time이 동일하게 되어 있었지만, 아직 지역 설정을 안 해서 시간이 대한민국 시간과 맞지 않았다.
1.9 디스크 파티션 나누기
위키에서는 fdisk나 parted를 사용해서 파티션 테이블을 수정하라고 나와있지만, 나는 cfdisk를 사용했다.
파티션은 다음과 같이 나눴다.
/dev/sda1(=boot) - 512MiB
/dev/sda2(=SWAP) - 512MiB
/dev/sda3(=root) - 19GiB
참고로 MiB의 단위는 다음과 같다.
1MiB = 1024KiB = 210KiB
1.10 파티션 포맷
이렇게 파티션을 나눈 후에 포맷을 해줘야 한다. 일종의 역할 지정 또는 기반을 형성 과정이라는 것 같다. 위키에서는 Ext4를 사용해서 포맷을 했지만 나는 Btrfs로 포맷했다.
root 파티션 포맷
mkfs.btrfs /dev/sda3
나는 btrfs로 포맷하고 root 파티션이 sda3이기에 위와 같이 작성했다.
SWAP 파티션 초기화
mkswap /dev/sda2
내 스왑 파티션은 sda2이다.
boot 파티션 포맷
mkfs.fat -F 32 /dev/sda1
나는 boot 파티션이 sda1이다.
1.11 파일 시스템 마운트
mount /dev/sda3 /mnt
mount --mkdir /dev/sda1 /mnt/boot
swapon /dev/sda2
내 파티션에 맞춰서 바꿨다.
2 설치
2.1 미러 선택하기
reflector --help
우선 reflector 명령어의 사용법을 알기 위해서 --help로 사용법을 찾아봤다.
reflector --save --sort -c 'South Korea,Japan,US'
--save 옵션으로 파일 경로를 저장하고 --sort와 -c로 미러링할 나라들과 우선순위들을 정해줬다.
2.2 필수 패키지 설치하기
pacstrap /mnt base linux linux-firmware
위 명령어로 기본적인 하드웨어를 위한 펌웨어를 설치했다.
pacstrap /mnt vim
Vim도 설치해 줬다.
3 시스템 설정하기
시스템 설치 과정에서 주의할 점은 마운트를 한 상태여야 한다는 것이다.
3.1 Fstab
genfstab -U /mnt >> /mnt/etc/fstab
3.2 Chroot
arch-chroot /mnt
3.3 시간대
find /usr/share/zoneinfo/**/Seoul
glob 패턴으로 지역으로 무엇을 입력해야 하는지 알아봤다.
ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
서울로 시간대를 설정했다.
hwclock --systohc
하드웨어 클럭을 UTC로 설정했다.
3.4 현지화
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
locale-gen 후에 나는 vim으로 주석을 제거하는 대신에 echo를 사용해서 파일을 덮어썼다.
3.5 네트워크 구성
echo "ArchVM" > /etc/hostname
호스트 네임도 echo로 했다.
3.7 루트 비밀번호
passwd
3.8 부트로더
pacman -S grub efibootmgr
부트로더에 필요한 패키지를 설치한다.
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
GRUB을 설치한다.
grub-mkconfig -o /boot/grub/grub.cfg
GRUB 설정 파일을 생성한다.
4 재부팅
exit
chroot 환경을 종료한다.
VirtualBox 기준, 장치 → 광학 드라이브 → 가상 드라이브에서 디스크 꺼내기를 해서 ISO 파일 없이도 작동 되는지 확인한다.
reboot
Arch linux 재부팅하여 제대로 작동하는 것을 확인한다.
ArchVM login에는 user name을 입력해서 사용할 계정을 선택하는 것인데, 나는 유저명을 지정하지 않았기에 root이다.
Password는 passwd로 설정한 비밀번호다.
수정
pacstrap /mnt networkmanager
네트워크 설정을 해줘서 pacman 사용 가능하게 했다.
systemctl enable --now NetworkManager.service
네트워크 활성화 해줬다.
systemctl status NetworkManager.service
현재 네트워크 상태 확인
pacman -S man-db man-pages textinfo
필요한 패키지 다운로드
reflector -c 'South Korea, Japan, US, Australia' --latest 100 --protocol http,https --sort rate --save /etc/pacman.d/mirrorlist
미러사이트 순서 재설정
도움을 준 사람
gusaud3051 - Overview
gusaud3051 has 3 repositories available. Follow their code on GitHub.
github.com
구경한 사람(아님)
chobochorock - Overview
chobochorock has 3 repositories available. Follow their code on GitHub.
github.com
'오늘의 공부 > Arch Linux' 카테고리의 다른 글
Arch 리눅스 GUI 설치 (0) | 2024.07.17 |
---|---|
Arch 리눅스 user 계정 생성 (0) | 2024.07.16 |