왜 Arch Linux?

Arch Linux는 다음과 같은 이유로 많은 사용자가 선택하는 배포판임

  • 심플함: 최소한의 기본 시스템만 제공하여 사용자가 필요한 모든 것을 직접 설정할 수 있음
  • 최신 소프트웨어: 롤링 릴리스 방식으로 항상 최신 버전을 유지함
  • 커뮤니티 지원: 풍부한 Arch Wiki 문서와 활발한 커뮤니티
  • 이러한 이유로 스팀덱OS도 arch linux를 기반으로 하고 있음

설치준비

  1. 이미지 파일 준비

    1. Arch Linux - Downloads
      1. 위 링크에서 본인이 원하는 적당한 방법으로 이미지를 다운로드 한다.
  2. 부팅 USB 제작

    1. 다운로드 받은 이미지를 통해 부팅 USB를 만들어 주면된다. 각 운영체제 별로 아래의 프로그램을 이용하여 만들 수 있다.
      1. MAC / Linux : balenaEtcher - Flash OS images to SD cards & USB drives
      2. Windows : Rufus - The Official Website (Download, New Releases) (dd모드로 쓰기)

설치

  1. 부팅 USB로 부팅

    1. 과정 생략
  2. 인터넷 연결확인

    1. 유선으로 연결이 되어 있기 때문에 아래 명령어를 통해 인터넷 연결이 잘 되었는지 확인한다.

      >> ping archlinux.org
  3. 디스크 파티션 나누기

    1. 아래 명령어를 이용하여 디스크를 확인한다. 일반적인 경우에는 디스크를 사용하면 /dev/sda nvme를 사용하면 /dev/nvme0 이 나오기 마련이다.

      >> fdisk -l
    2. GPR(UEFI) 구조를 사용하기 위해 gdisk를 이용해서 파티션을 나눠준다. 각 파티션은 Installation guide (한국어) - ArchWiki을 참고하면 아래와 같이 나눠야 한다.

      1. GPT를 사용하는 UEFI

        마운트 위치 파티션 파티션 종류 권장 크기
        /mnt/boot /dev/_efi_system_partition_ EFI system partition At least 300 MiB
        [SWAP] /dev/_swap_partition_ Linux swap 512 MiB 이상
        /mnt /dev/_root_partition_ Linux x86-64 root (/) 장치의 남은 공간

        위 표를 참고하여 아래와 같은 순서로 파티션을 나눠준다. SWAP은 잠시 후 설정할 예정이다.

         >> gdisk /dev/nvme0
        
         # 기존 파티션을 제거
         Command (? for help): d
        
         # /mnt/boot 파티션을 생성 및 추가
         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
        
         # 주 파티션을 생성
         Command (? for help): n
         default value is 2 so hit enter
         value of first sector -> enter
         value of second sector -> enter
         partiton system code (default is linux file system) -> enter
        
         # 저장
         Command (? for help): w
  1. 파티션 포맷

    1. 생성한 파티션을 포맷

      # 부팅 파티션은 fat32로 포맷
      >> mkfs.fat -F32 /dev/nvme0n1p1
      
      # Linux File System의 경우 ext4로 포맷
      >> mkfs.ext4 /dev/nvme0n1p2
  2. 파일 시스템 마운트

    1. 포맷한 파일 시스템을 마운트

      # Linux File System 마운트
      >> mount /dev/nvme0n1p2 /mnt
      
      # efi를 위한 dir생성 후 마운트
      >> mkdir -p /mnt/boot/efi
      >> mount /dev/nvme0n1p1 /mnt/boot/efi
  3. 미러서버 설정하기 - reflector를 이용하여 repository mirror 서버를 지정

    1. 한국 미러서버중 속도가 빠르고 12시간 이내에 싱크된 서버를 지정

      >> reflector -c "South Korea" --sort -a 12 rate --save /etc/pacman.d/mirrorlist
    2. 최근에 싱크된 미러 5개를 속도순으로 지정

      >> reflector --verbose --latest 5 --sort rate --save /etc/pacman.d/mirrorlist
  4. 패키지 매니저 업데이트

    >> pacman -Syy
  5. 필수 패키지 설치

    1. pacstrap(8) — Arch manual pages을 이용하여 필수 패키지를 설치한다.

      >> pacstrap /mnt base linux linux-firmware grub efibootmgr
  6. fstab 설정

    1. 다음 명령어를 이용하여 fstab파일을 생성

      >> genfstab -U /mnt >> /mnt/etc/fstab
  7. chroot 설정

    1. 새로운 시스템으로 change root

      >> arch-chroot /mnt
  8. swap 설정 (선택사항)

    1. 필자는 swap을 4G로 설정, 사용자에 맞게 용량을 변경하거나 생략해도 된다.

      # swap 파일 생성
      >> fallocate -l 4G /swapfile
      
      # swap 권한 설정
      >> chmod 600 /swapfile
      
      # swap 포맷
      >> mkswap /swapfile
      
      # swap활성화
      >> swapon /swapfile
      
      # 부팅시 자동 활성화 설정
      >> vim /etc/fstab
      /swapfile none swap defaults 0 0
      
      # swap 설정 확인
      >> free -h
  9. 지역 및 언어 설정

    >> vim /etc/locale.gen
    # en_US.UTF-8 을 찾아서 주석을 제거
    
    >> locale-gen
    
    # locale.conf에 언어 추가
    >> vim /etc/locale.conf
    LANG=en_US.UTF-8
  10. root 계정 비밀번호 설정

    1. root계정의 비밀번호를 설정한다. 까먹지 말자

      passwd
  11. 필요 패키지 설치

    1. 필요한 패키지를 설치해준다.

      pacman -S openssh git vim sudo
  12. 패키지 실행 및 설정

    1. ssh의 경우 자동실행 되도록 설정해준다.

      >> systemctl enable sshd
  13. 네트워크 설정

    1. hostname 파일에 원하는 호스트명을 작성해준다.

       >> vim /etc/hostname
       archlinux-hn
    2. hosts파일에 설정한 이름에 맞춰 내용을 작성한다.

       >> vim /etc/hosts
      
       127.0.0.1 localhost
       ::1 localhost
       127.0.1.1 archlinux.localdomain archlinux-hn
  14. 계정 생성

    >> useradd -mG wheel user
  15. 패스워드 설정

    >> passwd user
  16. sudo 사용 설정

    >> useradd -aG wheel user
    >> visudo

    # %wheel ALL=(ALL:ALL) ALL라고 작성된 부분을 찾아서 주석(#)을 제거

  17. 부트로더 설치

    1. grub 설치

       >> grub-install /dev/nvme0n1p1
       >> grub-mkconfig -o /boot/grub/grub.cfg
       >> mkinitcpio -p linux
       >> exit
  18. 재부팅

    1. umount를 진행하고 USB를 분리후 재부팅한다.

       >> umount /mnt/boot
       >> umount /mnt
       >> reboot

+ Recent posts