DataScience
article thumbnail
728x90

소개

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

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

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

 

설치 준비

이미지파일 다운

https://archlinux.org/download/

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

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

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

 

UEFI 확인

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

ls /sys/firmware/efi/efivars

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

 

인터넷 연결

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

iwctl

[iwd]$ device list

[iwd]$ station 연결하고자하는무선랜카드이름  scan

[iwd]$ station 연결하고자하는무선랜카드이름 get-networks

[iwd]$ station 연결하고자하는무선랜카드이름 connect 연결하고자하는네트워크이름

 

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

ping archlinux.org

 

시스템 시간 설정

timedatectl set-ntp true

 

디스크 파티션 나누기

fdisk -l

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

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

 

파티션 포맷

# 부팅시스템은 fat32 로 포맷합습니다.
mkfs.fat -F32 /dev/nvme0n1p1

# Linux File System 은 ext4 로 포맷하겠습니다.
mkfs.ext4 /dev/nvme0n1p2

 

파일 시스템 마운트

# 주 파티션 마운트하기
mount /dev/nvme0n1p2 /mnt

# efi system 을 위한 디렉토리 생성
mkdir -p /mnt/boot/efi

mount /dev/nvme0n1p1 /mnt/boot/efi

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

 

설치

미러 선택하기

# 가장 빠른 미러서버 찾아서 저장하기
reflector -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

 

스왑 파일 생성

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

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 로 저장하고 빠져나오기

 

시간대

# 서울의 시간을 찾아서 링크 만들기
ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

# 하드웨어 시간도 동기화 시키기
hwclock --systohc

 

지역 및 언어 설정

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

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
locale-gen
# locale.conf 를 만들고 아래에 문구를 추가하세요.
vim /etc/locale.conf

LANG=en_US.UTF-8

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

 

네트워크 설정

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

vim /etc/hostname

archlinux

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

vim /etc/hosts

127.0.0.1	localhost
::1		localhost
127.0.1.1	archlinux.localdomain	archlinux

 

root 계정 비밀번호 설정

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

passwd

 

원하는 패키지 설치

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 NetworkManager
# 블루투스 활성화
systemctl enable bluetooth

 

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

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

#유선 사용자
systemctl enable dhcpcd

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

# 와이파이 사용자
systemctl enable NetworkManager.service

 

계정생성

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

 

부트로더 설치

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

grub설치

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

 

재부팅

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

umount /mnt/boot
umount /mnt
reboot

 

GNOME 설치

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

 

Xorg 서버 설치

sudo pacman -S --needed xorg

 

GNOME desktop 설치

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값을 선택했습니다.

 

어플리케이션 설치

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

sudo pacman -S --needed firefox vlc leafpad

 

서비스 활성화

systemctl enable gdm
systemctl enable NetworkManager

 

재부팅

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

 

profile

DataScience

@Ninestar

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