왜 Arch Linux?
Arch Linux는 다음과 같은 이유로 많은 사용자가 선택하는 배포판임
- 심플함: 최소한의 기본 시스템만 제공하여 사용자가 필요한 모든 것을 직접 설정할 수 있음
- 최신 소프트웨어: 롤링 릴리스 방식으로 항상 최신 버전을 유지함
- 커뮤니티 지원: 풍부한 Arch Wiki 문서와 활발한 커뮤니티
- 이러한 이유로 스팀덱OS도 arch linux를 기반으로 하고 있음
설치준비
이미지 파일 준비
- Arch Linux - Downloads
- 위 링크에서 본인이 원하는 적당한 방법으로 이미지를 다운로드 한다.
- Arch Linux - Downloads
부팅 USB 제작
- 다운로드 받은 이미지를 통해 부팅 USB를 만들어 주면된다. 각 운영체제 별로 아래의 프로그램을 이용하여 만들 수 있다.
- MAC / Linux : balenaEtcher - Flash OS images to SD cards & USB drives
- Windows : Rufus - The Official Website (Download, New Releases) (dd모드로 쓰기)
- 다운로드 받은 이미지를 통해 부팅 USB를 만들어 주면된다. 각 운영체제 별로 아래의 프로그램을 이용하여 만들 수 있다.
설치
부팅 USB로 부팅
- 과정 생략
인터넷 연결확인
유선으로 연결이 되어 있기 때문에 아래 명령어를 통해 인터넷 연결이 잘 되었는지 확인한다.
>> ping archlinux.org
디스크 파티션 나누기
아래 명령어를 이용하여 디스크를 확인한다. 일반적인 경우에는 디스크를 사용하면 /dev/sda nvme를 사용하면 /dev/nvme0 이 나오기 마련이다.
>> fdisk -l
GPR(UEFI) 구조를 사용하기 위해 gdisk를 이용해서 파티션을 나눠준다. 각 파티션은 Installation guide (한국어) - ArchWiki을 참고하면 아래와 같이 나눠야 한다.
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
파티션 포맷
생성한 파티션을 포맷
# 부팅 파티션은 fat32로 포맷 >> mkfs.fat -F32 /dev/nvme0n1p1 # Linux File System의 경우 ext4로 포맷 >> mkfs.ext4 /dev/nvme0n1p2
파일 시스템 마운트
포맷한 파일 시스템을 마운트
# Linux File System 마운트 >> mount /dev/nvme0n1p2 /mnt # efi를 위한 dir생성 후 마운트 >> mkdir -p /mnt/boot/efi >> mount /dev/nvme0n1p1 /mnt/boot/efi
미러서버 설정하기 - reflector를 이용하여 repository mirror 서버를 지정
한국 미러서버중 속도가 빠르고 12시간 이내에 싱크된 서버를 지정
>> reflector -c "South Korea" --sort -a 12 rate --save /etc/pacman.d/mirrorlist
최근에 싱크된 미러 5개를 속도순으로 지정
>> reflector --verbose --latest 5 --sort rate --save /etc/pacman.d/mirrorlist
패키지 매니저 업데이트
>> pacman -Syy
필수 패키지 설치
pacstrap(8) — Arch manual pages을 이용하여 필수 패키지를 설치한다.
>> pacstrap /mnt base linux linux-firmware grub efibootmgr
fstab 설정
다음 명령어를 이용하여 fstab파일을 생성
>> genfstab -U /mnt >> /mnt/etc/fstab
chroot 설정
새로운 시스템으로 change root
>> arch-chroot /mnt
swap 설정 (선택사항)
필자는 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
지역 및 언어 설정
>> vim /etc/locale.gen # en_US.UTF-8 을 찾아서 주석을 제거 >> locale-gen # locale.conf에 언어 추가 >> vim /etc/locale.conf LANG=en_US.UTF-8
root 계정 비밀번호 설정
root계정의 비밀번호를 설정한다. 까먹지 말자
passwd
필요 패키지 설치
필요한 패키지를 설치해준다.
pacman -S openssh git vim sudo
패키지 실행 및 설정
ssh의 경우 자동실행 되도록 설정해준다.
>> systemctl enable sshd
네트워크 설정
hostname 파일에 원하는 호스트명을 작성해준다.
>> vim /etc/hostname archlinux-hn
hosts파일에 설정한 이름에 맞춰 내용을 작성한다.
>> vim /etc/hosts 127.0.0.1 localhost ::1 localhost 127.0.1.1 archlinux.localdomain archlinux-hn
계정 생성
>> useradd -mG wheel user
패스워드 설정
>> passwd user
sudo 사용 설정
>> useradd -aG wheel user >> visudo
# %wheel ALL=(ALL:ALL) ALL
라고 작성된 부분을 찾아서 주석(#)을 제거부트로더 설치
grub 설치
>> grub-install /dev/nvme0n1p1 >> grub-mkconfig -o /boot/grub/grub.cfg >> mkinitcpio -p linux >> exit
재부팅
umount를 진행하고 USB를 분리후 재부팅한다.
>> umount /mnt/boot >> umount /mnt >> reboot
'Linux' 카테고리의 다른 글
nginx 서비스 도중 생긴일 (리눅스 시스템 자원 제한 변경) (0) | 2016.01.22 |
---|---|
패키지 재 설치시 설정파일이 안생길때. (0) | 2015.11.18 |
mysql 저장소를 새로운 하드로 바꿔보자 (0) | 2015.09.22 |
[Ubuntu] 자바 설치하기 (0) | 2015.05.19 |