DataScience
article thumbnail
728x90

1. 소개

처음 시작할 때 CUI를 띄우는 것부터 시작해서 손수 세팅할 것을 요구하는 배포판.
기본적인 틀만 짜인 상태에서 유저가 알아서 자신만의 OS 를 만든다.
다른 메이저 리눅스 배포판들의 경우, 리눅스를 처음 접하는 유저가 사용하기는 편리하지만, 그것을 위해 디폴트로 온갖 셸 스크립트와 데몬으로 중무장시켜놔서리 시스템 세팅을 직접 하려는 유저들에게는 상당히 큰 짜증을 불러일으키는 경우가 많다. 아치 리눅스는 이런 사용자들을 위한 배포판이다.

설치부터 쓸만한 하나의 운영체제가 될 때까지 만들어가는 게 오래 걸리긴 하지만 운영체제의 구석구석을 돌아다니면서 배울 수 있는 것도 많고, 웬만한 설정 파일은 유저의 손을 한 번씩 거치므로 뭔가가 꼬였을 때 풀어나갈 수 있는 안목도 기르게 된다. 나만의 운영체제를 완성해 나간다는 성취감과 완성된 시스템에 대한 애착은 덤.

그러면서도 이러한 종류의 배포판들이 주로 사용하는, 엄청난 시간을 잡아먹는 소스 컴파일 프로그램 인스톨 방식이 아닌 바이너리 인스톨 방식을 디폴트로 사용하여, 세팅과 프로그램 인스톨이 매우 편하면서도 파워유저들의 깐깐한 요구 사항들을 대부분 충족시켜준다. 다른 옵션을 주고 컴파일하고 싶거나 좀 더 극한의 최적화를 원하는 사람들을 위해서는 ABS(AUR)라는 수단을 통해 소스 컴파일식으로 설치할 수 있는 방법도 만들어뒀다.
출처 : 나무위키

 

2. 설치 준비

2.1. 이미지파일 다운

https://archlinux.org/download/

이 링크로 가셔서 스크롤 쭉 내리시면 South Korea라고 한국 서버에서 설치 이미지 받으실 수 있습니다.

받아서 부팅 usb를 만들어줍니다.

  • 리눅스: balena etcher를 이용해서 만들어주세요.
  • 윈도우: rufus를 이용해서 만들어주세요. 시작 눌러서 나오는 팝업창에 dd 모드로 쓰기를 선택해주세요.

 

2.2. UEFI 확인

부팅usb로 부팅후에 UEFI를 확인해야 합니다.

<shell />
ls /sys/firmware/efi/efivars

명령어가 디렉토리를 에러 없이 보여준다면, 시스템이 UEFI모드로 부팅한 것입니다. 만약 디렉토리가 존재하지 않는다면, 시스템이 BIOS  (또는 CSM ) 모드로 부팅했을 수 있습니다. 만약 시스템이 원하는 모드에서 부팅되지 않았다면, 사용자의 메인보드 설명서를 참조하십시오.

 

2.3. 인터넷 연결

부팅후 제일 먼저 인터넷에 연결해야 합니다. 랜선으로 유선연결되어 있으면 자동으로 연결되지만 무선 와이파이는 수동으로 연결해줘야 합니다.

<shell />
iwctl [iwd]$ device list [iwd]$ station 연결하고자하는무선랜카드이름 scan [iwd]$ station 연결하고자하는무선랜카드이름 get-networks [iwd]$ station 연결하고자하는무선랜카드이름 connect 연결하고자하는네트워크이름

 

인터넷이 연결된 후에는 ping으로 확인해 봅니다.

<shell />
ping archlinux.org

 

2.4. 시스템 시간 설정

<shell />
timedatectl set-ntp true

 

2.5. 디스크 파티션 나누기

<shell />
fdisk -l

# 보통 하드를 쓰시면 /dev/sda 를 ssd를 쓰시면 /dev/nvme/ 가 나옵니다.

<shell />
gdisk /dev/nvme # 파티션을 삭제합니다.(내용이 삭제되니 주의) Command (? for help): d (hit the partition number you want to delete) Command (? for help): w # 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 # 주 파티션을 생성합니다. 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

 

2.6. 파티션 포맷

<shell />
# 부팅시스템은 fat32 로 포맷합습니다. mkfs.fat -F32 /dev/nvme0n1p1 # Linux File System 은 ext4 로 포맷하겠습니다. mkfs.ext4 /dev/nvme0n1p2

 

2.7. 파일 시스템 마운트

<shell />
# 주 파티션 마운트하기 mount /dev/nvme0n1p2 /mnt # efi system 을 위한 디렉토리 생성 mkdir -p /mnt/boot/efi mount /dev/nvme0n1p1 /mnt/boot/efi

여기까지 설치 준비가 끝났습니다. 이제 설치를 시작합니다.

 

3. 설치

3.1. 미러 선택하기

<shell />
# 가장 빠른 미러서버 찾아서 저장하기 reflector -c "South Korea" -a 12 --sort rate --save /etc/pacman.d/mirrorlist # 패키지 매니저 업데이트 pacman -Syy

 

3.2. 필수 패키지 설치하기

우선 최소한으로 필요한 패키지만 설치하고 부가적인 것은 나중에 설치하겠습니다.

<shell />
pacstrap /mnt base linux linux-firmware vim man-db man-pages texinfo intel-ucode

 

4. 시스템설정

4.1. Fstab

fstab 파일을 생성하겠습니다.

<shell />
genfstab -U /mnt >> /mnt/etc/fstab

 

4.2. Chroot

root 유저로 설치한 리눅스에 접속하겠습니다.

<shell />
arch-chroot /mnt

 

4.3. 스왑 파일 생성

메모리가 충분하므로 스왑 파일을 zero로 생성하겠습니다.

<shell />
dd if=/dev/zero of=/swapfile bs=1M count=1024 status=progress # 권한설정 chmod 600 /swapfile # swap 파티션 활성화 mkswap /swapfile swapon /swapfile # fstab 적용하기 vim /etc/fstab # 마지막 줄에 추가하기 /swapfile none swap defaults 0 0 #:wq 로 저장하고 빠져나오기

 

4.4. 시간대

<bash />
# 서울의 시간을 찾아서 링크 만들기 ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime # 하드웨어 시간도 동기화 시키기 hwclock --systohc

 

4.5. 지역 및 언어 설정

/etc/locale.gen 파일을 수정하여 locale 설정 파일을 만들겠습니다.

<bash />
vim /etc/locale.gen # vim 찾기 기능으로 /en_US.UTF-8 # 원하는 locale을 찾아 주석처리된 #을 없애주세요. #en_US.UTF-8 -> en_US.UTF-8 #ko_KR.UTF-8 -> ko_KR.UTF-8
<shell />
locale-gen
<shell />
# locale.conf 를 만들고 아래에 문구를 추가하세요. vim /etc/locale.conf LANG=en_US.UTF-8

 일단 영어로 사용하고 나중에 한글을 추가하는 게 편해서 일단 locale-gen 만 해놓고 언어는 영어로 설정했습니다.

 

4.6. 네트워크 설정

hostname 파일을 만들겠습니다. 저는 archlinux로 했습니다.

<shell />
vim /etc/hostname archlinux

hosts 파일도 위에서 설정한 이름에 맞춰서 추가해주세요.

<shell />
vim /etc/hosts 127.0.0.1 localhost ::1 localhost 127.0.1.1 archlinux.localdomain archlinux

 

4.7. root 계정 비밀번호 설정

원하는 비밀번호를 입력하세요.

<shell />
passwd

 

4.8. 원하는 패키지 설치

<bash />
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

 

4.9. 서비스 실행 및 인터넷 설정

<shell />
# 네트워크 매니저 활성화 systemctl enable NetworkManager # 블루투스 활성화 systemctl enable bluetooth

 

재부팅 후에도 인터넷이 사용 가능하도록 설정을 해 줘야합니다.

유선으로 사용하실 경우 아래를 입력해 줍니다. 유선의 경우 재부팅 이후 설정해도 무관합니다.

<shell />
#유선 사용자 systemctl enable dhcpcd

와이파이로만 사용해야하는 경우에는 재부팅 전에 꼭 아래 과정을 진행 해 주셔야 합니다.

<shell />
# 와이파이 사용자 systemctl enable NetworkManager.service

 

4.10. 계정생성

<shell />
useradd -mG wheel user passwd user New password: Retype new password: EDITOR=vim visudo # /wheel 로 wheel 을 찾아주세요. # wheel 그룹 주석처리를 해제하세요. # wheel All=(All) All -> wheel All=(All) All usermod -aG video,input,audio user

 

5. 부트로더 설치

부팅을 하기위해서 부트로더를 설치합니다. 저는 여러가지 부트로더중 grub을 설치했습니다.

5.1. grub설치

<shell />
grub-install /dev/nvme0n1p1 grub-mkconfig -o /boot/grub/grub.cfg mkinitcpio -p linux exit

 

5.2. 재부팅

부팅 usb를 분리한후 재부팅을 해줍니다.

<shell />
umount /mnt/boot umount /mnt reboot

 

6. GNOME 설치

윈도우화면 같이 보기위해 여러가지 디스플레이 관리자 중 gnome을 설치합니다.

 

6.1. Xorg 서버 설치

<bash />
sudo pacman -S --needed xorg

 

6.2. GNOME desktop 설치

<code />
sudo pacman -S --needed gnome gnome-tweaks nautilus-sendto gnome-nettool gnome-usage gnome gnome-multi-writer adwaita-icon-theme xdg-user-dirs-gtk fwupd arc-gtk-theme seahosrse gdm

패키지에 대한 몇 가지 옵션을 요구하는데 원하는 것을 선택하세요. 저는 default값을 선택했습니다.

 

6.3. 어플리케이션 설치

본인에게 필요한 프로그램들을 설치해줍니다. 저는 인터넷브라우저, 비디오플레이어, 메모장 프로그램을 설치했습니다.

<bash />
sudo pacman -S --needed firefox vlc leafpad

 

6.4. 서비스 활성화

<code />
systemctl enable gdm systemctl enable NetworkManager

 

6.5. 재부팅

<code />
reboot
 
아치리눅스 기본적인 설치가 끝났습니다. 이제 본인이 하나씩 추가해서 본인만의 os를 만들면 됩니다.

 

profile

DataScience

@Ninestar

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!