728x90
반응형

목차

    서론

    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를 설치해보자