새 컴퓨터 설정하기


요약

이 글을 따라하면 간편하게 새 컴퓨터 설정을 할 수 있을지도? 최소한 내가 한 삽질을 다시 하진 않을 수 있을거다.

환경

대충 최신 컴퓨터 사양에, PCIe 5.0 2TB SSD를 윈도우 게임용, PCIe 4.0 4TB SSD를 리눅스용으로 사용하기로 마음먹었다.

준비물

Ventoy가 설치된 USB, 거기에 윈도우 11 ISO와 Arch linux ISO를 추가해둔다.

내가 쓰는 서버들에 새 컴퓨터의 ssh키를 등록할 수단을 마련해둬야 한다. 내 경우엔 키 등록된 맥 미니가 있어서, 여기서 키를 추가했다.

절대 하지 말아야 할 행동: 윈도우 ISO를 USB에 cp 명령어로 설정하는 행동 - 이렇게 USB를 만들면 희한하게도, 윈도우 설치화면으로 부팅은 되는데, 그 부팅된 윈도우 설치 프로그램에서 다시 USB를 읽어들이지 못해서 ‘디바이스 드라이버가 없어서 설치를 못해요’라는 메시지를 보게 되고, 여기서 뭔 짓을 해도 넘어갈 수 없었다.

1단계: 파티션 설정 및 리눅스 설치

Arch linux도 예전보다 많이 편해져서, 무려 설치 스크립트를 제공한다! arch-strap, arch-chroot 등의 커맨드로 몸비틀기하던 옛날이여 안녕…

UEFI 부트로더로 GRUB을 사용하기로 했고, 대충 파티션은 다음과 같이 설정했다.

  • 2TB SSD: 첫 512MB는 EFI용 /boot에 마운트, 나머지는 윈도우 용으로 비워둠
  • 4TB SSD: 전체 파티션을 ext4로 포맷, /에 마운트

처음엔 ext4가 아니라 xfs를 썼었는데, 다운로드를 걸어놓은 프로그램이 몇번 죽으니까 용량이 줄어드는 문제가 보여서… 조금 찜찜해져서 안전한 ext4로 회귀했다. 예전엔 zfs로 /home 파티션을 잡아보기도 했었는데, 종종 zfs DKMS 모듈이 제대로 빌드되지 않아서 /home 접근이 어려워지는 문제가 몇번 발생해서, 이번에는 선택하지 않았다. 아마 위에서 말한 윈도우 설치 문제가 없었다면 btrfs를 써봤을지도 모르겠다.

이 단계에서 꼭 설정해야 하는 것 중 하나는 인터넷 연결. DHCP가 되는 랜선을 꼽아뒀다면 별다른 추가설정이 필요없지만, 무선랜으로 인터넷을 연결해야 한다면 NetworkManager 및 wifi 설정 관련 패키지들을 꼭 설치한 다음에 다음으로 넘어가야 한다. (아니면 한번더 USB 부팅을 해서 설정해줘야 한다)

2단계: 윈도우 설치

2TB SSD의 할당하지 않은 남은 공간에 윈도우를 설치했다. 설치 과정에서 자기가 맘대로 아주 작은 영역을 별도로 할당하는데 어디에 쓰는건지는 잘 모르겠다. 이 과정에서 앞에 만들었던 EFI 파티션에 윈도우 부트로더가 설치되고 윈도우 멋대로 자기자신을 최우선 부팅 타겟으로 설정한다. 바이오스에서 GRUB을 다시 선택하거나, USB 부팅을 해서 grub을 재설치해줘야 함.

다만 아무 생각없이 인터넷을 연결해뒀더니 자기 맘대로 MS 계정을 무조건 설정하도록 강제한다. 계정 설정 시점까지 인터넷 연결을 설정하지 말아야 할듯. 다만 내 경우엔 그냥 울며 겨자먹기로 아무말 MS계정을 하나 만들고, 거기서 로컬 계정을 하나 생성한 다음, MS계정을 시스템에서 지우는 방식으로 설정했다.

3단계: 리눅스 설정

기본적인 설치가 잘 되었다면 이제는 이런저런 패키지를 깔고 설정해줄 차례.

기존에 쓰던 환경을 크게 바꿀 생각은 없어서, 대충 이런것들을 깔았던 것 같다.

  1. zsh랑 oh-my-zsh를 여전히 사용. ~/.zshrc에 z 플러그인만 추가해서 설정
  2. 로그인 관리자로 lightdm을 그대로 사용. sudo systemctl enable lightdm
  3. 윈도우 매니저로 awesome을 사용, 설정을 고쳐서 tile 배치를 기본값으로, 터미널 앱으로 alacritty를 설정.
  4. ssh키를 생성하고 접속할 서버에 등록. 서버에서 TERM=alacritty를 받지 못해서 접속시에 TERM=xterm-256color로 덮어쓰도록 설정.
  5. 각종 개발환경 설정: neovim 설정만큼은 git 저장소에서 관리하는 걸 쓰고, 나머지는 그냥 vscode 설치 등등…
  6. ~/.xprofile 설정: 다른건 기본값으로 어찌어찌 되는 것 같은데, 요 파일만큼은 이런저런 설정이 필요하다. 키보드 반복속도, 입력기, nm-applet, parcellite, 그래픽카드 전력 사용량 제한 등을 여기서 설정했다.

결론

예전같진 않지만 어쨌든 필요한 거 구해서 쓸 정도는 되게 설정했다.