웹사이트 검색

전체 디스크 암호화로 Arch Linux를 설치하는 방법


이 페이지에서

  1. 링크

오늘의 튜토리얼에서는 전체 디스크 암호화를 사용하여 Arch Linux를 설치할 것입니다.

진행하기 전에 기존 데이터를 백업하시기 바랍니다.

이전 자습서에서 dm-crypt 및 LUKS가 무엇인지, 단일 디스크 파티션을 암호화하는 방법을 배웠습니다. 오늘 포스트에서는 dm-crypt LUKS로 전체 디스크를 암호화하고 그 위에 Archlinux를 설치하기 위해 약간 다른 접근 방식을 취할 것입니다.

디스크 지우기부터 시작하겠습니다. lsblk를 실행하여 기본 디스크를 찾고 필요한 경우 /dev/sda를 바꿉니다.

shred --verbose --random-source=/dev/urandom --iterations=3 /dev/sda

120GB SSD에서 --iterations=15로 위의 명령을 밤새 실행했고 7시간 후에 완료되었습니다.

완료되면 디스크를 분할하십시오. 마더보드가 UEFI 펌웨어를 사용하지 않는 한 dos(msdos) 레이블을 선택해야 합니다. 그렇지 않으면 다음을 입력할 때 gpt로 이동합니다.

cfdisk /dev/sda

그런 다음 부트로더 파티션을 생성합니다.

New-> Partition Size: 100M -> primary -> Bootable

마지막 파티션은 루트 파티션입니다. 파티션 크기는 남은 여유 공간으로 자동 설정됩니다.

New-> Partition Size: xxxGB -> primary

변경 사항을 작성하고 cfdisk에서 종료합니다.

암호화된 루트 파티션을 부팅하기 위해 /boot에 마운트될 부트 로더 파티션 /dev/sda1은 암호화되지 않습니다. CD/DVD/USB에서 부팅 파티션을 암호화하고 이동하는 방법을 안내하는 몇 가지 링크를 이 게시물의 끝에 배치할 것입니다.

LUKS 암호화 모드에서 암호화 장치 매퍼 장치 생성:

cryptsetup --verbose --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random luksFormat /dev/sda2

파티션을 잠금 해제하고 cryptroot는 작업할 장치 매퍼 이름이 됩니다.

cryptsetup open --type luks /dev/sda2 cryptroot

부팅 및 루트 파일 시스템을 만듭니다.

mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/mapper/cryptroot

마운트:

mount -t ext4 /dev/mapper/cryptroot /mnt
mkdir -p /mnt/boot
mount -t ext4 /dev/sda1 /mnt/boot

기본 및 기본 개발 시스템을 설치합니다.

pacstrap -i /mnt base base-devel

fstab을 생성합니다.

genfstab -U -p /mnt >> /mnt/etc/fstab

기본 시스템을 구성하기 위한 Chroot:

arch-chroot /mnt

en_US 로케일의 주석 처리를 제거하십시오.

sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/g' /etc/locale.gen

로케일을 생성합니다.

locale-gen

사용해야 하는 언어 로케일을 시스템에 지시하는 구성 파일을 만듭니다.

echo LANG=en_US.UTF-8 > /etc/locale.conf

로케일 내보내기

export LANG=en_US.UTF-8

원하는 시간대를 사용하여 심볼릭 링크를 만듭니다.

ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime

하드웨어 시계를 UTC로 설정합니다.

hwclock --systohc --utc

원하는 호스트 이름을 설정합니다.

echo CookieMonster > /etc/hostname

루트 암호를 설정합니다.

passwd

시스템 사용자 추가:

useradd -m -g users -G wheel,games,power,optical,storage,scanner,lp,audio,video -s /bin/bash username

시스템 사용자 암호를 설정합니다.

passwd username

sudo(base-devel)와 부트로더 grub 및 os-prober를 설치합니다.

pacman -S sudo grub-bios os-prober

시스템 사용자가 sudo를 사용하고 명령(임시)을 루트로 실행하도록 허용합니다.

EDITOR=nano visudo

CTRL + W를 누르고 wheel을 입력한 후 다음 행의 주석을 제거하십시오.

시스템 시작 중에 LUKS 암호화 루트 파티션을 잠금 해제할 수 있도록 다음 커널 매개변수를 추가하십시오.

암호화 후크 추가:

mkinitcpio 구성 파일에 새 후크를 추가했으므로 initrams 이미지(ramdisk)를 다시 생성해야 합니다.

mkinitcpio -p linux

grub을 설치하고 구성 파일을 저장합니다.

grub-install --recheck /dev/sda
grub-mkconfig --output /boot/grub/grub.cfg

chroot를 종료하고 파티션을 마운트 해제한 다음 장치를 닫고 재부팅합니다(설치 미디어 제거).

exit
umount -R /mnt/boot
umount -R /mnt
cryptsetup close cryptroot
systemctl reboot

암호를 입력하고 시스템 사용자로 로그인하면 dhcpcd를 시작합니다.

sudo systemctl start dhcpcd
ping -c2 youtube.com

Xorg를 설치하고 $HOME 디렉터리에 .xinitrc를 복사합니다.

sudo pacman -S xorg-server xorg-server-utils xorg-xinit mesa xterm xorg-twm xorg-xclock
cp /etc/X11/xinit/xinitrc ~/.xinitrc

GPU 드라이버에 대한 유용한 정보가 포함된 특별 위키 페이지가 있습니다. https://wiki.archlinux.org/index.php/xorg#Driver_installation을 확인하고 GPU 브랜드가 amd/ati, intel 또는 nvidia는 거기에 나열된 적절한 드라이버를 설치합니다.

startx를 입력하면 두 개의 터미널이 나란히 표시되어야 합니다. 이제 exit를 입력하십시오.

.xinitrc의 다음 줄에 주석을 달고 로그인 성공 시 xfce 데스크톱 환경을 시작하도록 지정하는 일부를 추가합니다.

xfce, 외부 디스플레이 관리자 및 네트워크 관리자 설치:

sudo pacman -S slim archlinux-themes-slim xfce4 networkmanager network-manager-applet

기본 슬림 테마를 교환합니다.

dhcpcd 중지, 슬림 활성화, NetworkManager 활성화, startx:

sudo systemctl stop dhcpcd
sudo systemctl enable NetworkManager
sudo systemctl enable slim
startx

이상입니다. 이 게시물이 마음에 드셨기를 바랍니다.

시스템을 엉망으로 만들고 이동식 미디어에서 chroot해야 하는 경우 순서는 다음과 같습니다.

cryptsetup open --type luks /dev/sda2 cryptroot
mount -t ext4 /dev/mapper/cryptroot /mnt
mount -t ext4 /dev/sda1 /mnt/boot
arch-chroot /mnt

마운트 해제하려면:

umount -R /mnt/boot
umount -R /mnt
cryptsetup close cryptroot

연결

약속된 링크, SSD가 있는 경우 8번째 및 9번째 링크를 주의 깊게 읽으십시오.

  • 링크 1
  • 링크 2
  • 링크 3
  • 링크 4
  • 링크 5
  • 링크 6
  • 링크 7
  • 링크 8
  • 링크 9
  • 링크 10