목차
서론
archiso 2022.01.01이 virtualbox에서 불가능한 관계로 그 이전 버전인 2021.12.01를 설치해보자
https://mirror.anigil.com/archlinux/iso/2021.12.01/
위 링크에서 iso를 다운로드하고 나면 나머지는 거의 똑같이 보인다
가상머신
가상머신 생성
새로만들기
이름 맘대로
메모리 1G 할당
디스크 20G 할당
가상머신 설정
설정 - 시스템 - EFI 사용하기 체크
저장소 - 비어있음 - CD아이콘 - 디스크파일 선택 - 2021.12.01 archiso 선택
시작
와우 한번에!
어제를 시원하게 날렸다!
Arch Linux Install medium (x86_64, UEFI)를 선택
검은 화면이 잠시 유지되었다가 뭔가 마구 뜨면서 시작된다
혹시 모르니 인터넷 연결 확인까지 해보자
ping google.com
Arch Linux 설치
파티션
먼저 현재 디스크를 확인
lsblk를 입력한다
가상머신을 만들때 할당했던 20G가 sda에 고스란히 들어가 있다
이걸 나누어줄 것이다
파티션 분할
파티션 편집기 중 cfdisk를 사용한다
cfdisk
gpt 선택
Free space로 20G가 있다
저번 글에도 있지만 세 영역으로 나눈다
boot: Linux 시작할 때 필요
root: Linux 동작할 때 필요
home: 사용자 계정 위치
[New] - 512M - Enter -[Type] - EFI System
512M가 할당된 EFI System boot영역 생성
10G와 나머지 두개로 분할
10G는 root영역이, 나머지는 home영역이 될 것이다
[Write] - yes입력 - [Quit]로 저장 후 닫기
파티션 포맷
sda1는 EFI System으로 다른 영역과 다른 FAT32형식으로 포맷한다
mkfs.fat -F32 /dev/sda1
다른 두 영역은 ext4 형식으로 포맷
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
파티션 마운트
마운트는 OS가 디스크에 접근할 수 있도록 하는 작업이다
먼저 root영역인 sda2를 /mnt에 마운트한다
mount /dev/sda2 /mnt
나중에 사용할 efi 디렉토리를 만들고 boot에 sda1를 마운트
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot
mkdir에서 -p를 안붙이면 boot가 없어서 생성이 되지 않는다
-p가 없는 경로까지 다 만드는 인자인듯 하다
home영역도 마운트한다
mkdir /mnt/home
mount /dev/sda3 /mnt/home
필수 패키지 설치
pacstrap /mnt base base-devel linux linux-firmware vim
필수 패키지와 vim(또는 nano)를 설치
pacstrap은 archlinux 밖에서 사용하는 패키지 매니저다
파티션 정보 기록
파티션에 관련된 정보는 fstab에 저장된다
genfstab -U /mnt >> /mnt/etc/fstab
cat으로 확인해보자
cat /mnt/etc/fstab
이제 root를 바꾸어 아치리눅스에 접속해보자
arch-chroot /mnt
CLI이 바뀌었다
기타 설정
하드웨어 시간 동기화
아래 명령어로 로케일 리스트를 확인할 수 있다
ls /usr/share/zoneinfo
하드웨어 시간 동기화
ln -sf /usr/share/zoneinfo/Asia/Seoul
hwclock --systohc
시스템 로케일 설정
다음으로 시스템 로케일을 설정한다
vim /etc/locale.gen
위 파일에서 en_US.UTF-8 UTF-8을 찾아 주석을 해제한다
저장하고 닫기
아래 명령어로 locale를 설정
locale-gen
사용할 로케일 설정
echo LANG=en_US.UTF-8 > /etc/locale.conf
호스트 설정
호스트와 pwd를 설정
echo "arch" > /etc/hostname
passwd
부트로더
부트로더 관련 패키지 설치
pacman -S grub efibootmgr dosfstools openssh os-prober mtools
pacman은 아치리눅스 안에서 사용하는 패키지 매니저다
다시 아치리눅스에서 나가 boot영역을 다시 마운트해준다
exit
umount /dev/sda1
mount /dev/sda1 /mnt/boot/efi
arch-chroot /mnt
grub이 boot영역을 efi에서 찾기 때문이라고 한다
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
bootctl install
arch.conf
blkid 명령어 입력
여기서 나온 sda2의 UUID PARTUUID를 메모장 같은 곳에 적어둔다
arch.conf 생성
vim /boot/efi/loader/entries/arch.conf
빈 파일에 아래와 같이 입력
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
option root=PARTUUID=[아까 sda2의 UUID] quiet loglevel=3 rw
네트워크 관련 매니저를 설치한다
pacman -S networkmanager dhcpcd
관련 서비스 활성화
systemctl enable dhcpcd.service
systemctl enable NetworkManager.service
모든 설정이 완료되었다고 하니 재부팅을 하자
exit
umount -a
reboot
UUID가 없다고 한다
아 UUID가 아니라 PARTUUID를 적었어야 했다
이제 어쩌지...
rootfs에서 뭔가 되질 않는다
vim도 설치되어있지 않다고 하고...
mount /dev/sda2 /new_root
로 해결된 것 같다
PARTUUID로 /new_root에 마운트해야하는데 PARTUUID를 잘못 입력했으니...
이후 exit
로그인화면이 출력된다
다만 재부팅시 다시 오류가 뜨는걸 보아 PARTUUID를 다시 설정할 필요가 있다
login은 root로 아까 설정했던 비밀번호로 로그인한다
시발 PARTUUID 다시 설정이 안돼서 그냥 또 처음부터 다시 시작한다
arch.conf에서 Can't open file for writing 오류가 나온다
sudo라던지 !sudo tee라던지 여러가지 해봤지만 안된다
오늘도 1승
물론 PARTUUID말고는 바꿀게 없기 때문에 딱히 더 적을 필요는 없어보인다
다음 과정부터 적어야지...
사용자 계정 설정
이제 성공했다
root 계정은 너무 위험하기 때문에 사용자 계정을 만들어주자
useradd -m [이름]
passwd [이름]
추가한 계정에 sudo 권한을 부여하자
vim /etc/sudoers
User privilege specification에 있는 root 밑에 사용자 계정을 추가한다
만약 readonly 오류가 뜨면 아래 명령어로 readonly를 풀어준다
sudo bash
chattr -i /etc/sudoers
chmod u+w /etc/sudoers
이제 추가한 계정으로 로그인해보자
exit로 나가고 추가한 계정으로 로그인
대충 성공한 것 같다
다음엔 GUI를 설치해보자
'작업일지 > Linux' 카테고리의 다른 글
아치리눅스 도전기#3 - 기본적인 GUI (0) | 2022.01.15 |
---|---|
아치리눅스 도전기#1 - 실패 (0) | 2022.01.12 |
멀티부팅 시도해보기#1 - 컴퓨터 세팅 (0) | 2021.11.20 |
멀티부팅 시도해보기#0 - USB 세팅 (0) | 2021.11.20 |