아치리눅스 입문 가이드

환영합니다!

이 가이드를 열어보셨다는 것은 아마 아치리눅스에 입문하려고 하시거나, 혹은 리눅스 그 자체에 입문하려고 하시지만 어떤 배포판으로 시작해야 할 지 모르는 경우일 것입니다. 본 스레드에서는 쉽고? 빠르게 아치리눅스를 시작하는 방법에 대해 아주 자세하고도 명료하게 짚어보고자 합니다.

혹시, 다음과 같은 경우라면 이 페이지를 닫고 다른 배포판을 찾아보거나 리눅스 진입을 재고해보시기 바랍니다.

  • 리눅스가 처음입니다.
    아치리눅스는 어느정도 리눅스에 익숙하신 분들께 권장드리는 리눅스입니다. 아치리눅스 계열을 써보고 싶지만 아직 리눅스 자체에 익숙하지 않은 경우 만자로 리눅스를 사용하시기를 적극 권장해드립니다.

  • 나는 Vim 쓸줄 모른다.
    이 가이드에서는 설치에 필요한 설정 파일을 수정/생성 하는데 vim 을 사용하고 있습니다. vim 사용법을 익히고 다시 돌아와주시기 바랍니다. 그러나 nano 를 적절하게 다룰줄 아신다면 vim 대신 nano를 쓰셔도 좋습니다.

  • 우분투 같은거 써도 딱히 불편함 없다!
    그럼 굳이 아치를 쓰실 이유가 없습니다. 다음에 문제가 생긴다면 찾아오세요.

  • 난 터미널에 울렁증 있다!
    터미널을 못쓴다면 리눅스로 제대로 할 수 있는게 없습니다.

  • 리눅스에서도 게임 돼요?
    되긴 한다만 게임을 할거라면 Windows에 머무시기 바랍니다.

  • 난 정부기관 홈페이지에 호떡집 드나들듯 들어간다.
    해당 업무를 처리할 수 있는, 혹은 리눅스를 설치할 수 있는 다른 컴퓨터가 없다면 컴퓨터를 구한 후 다시 찾아오시기 바랍니다.

본 가이드는 2018년 12월 29일에 작성되었읍니다. 이후 내용이 바뀔 수 있으니 유의하시기 바랍니다.
본 가이드의 일부분은 Installation guide - ArchWiki 에서 발췌한 내용입니다.


Step 0. 시작하기 전에

아치 리눅스를 설치하려면 다음과 같은 준비물이 필요합니다.

  • 가장 중요 - 최신버전의 ArchLinux (이 포스트 기준으로 2018.12.01 버전) 설치 ISO
  • 적절하게 빠른 인터넷 연결(ISO 파일 다운로드 및 패키지 다운로드 과정에 필요합니다.)
  • 64비트(AMD64, EM64T, x86_64 등)를 지원하는 CPU
  • 2GB 이상 (GUI 사용시 4GB 이상) 의 RAM
  • 20GB 이상의 하드디스크 or SSD 여유공간
  • 어떤 삽질이건 견뎌낼 수 있는 인내심과 넉넉한 시간

전부 준비되었다면, 시작해 봅시다.

Step 1. 아치리눅스 ISO 구하기

일단 아치리눅스를 설치하려면 다른 배포판과 마찬가지로, 설치 시스템이 담긴 ISO 파일을 받아야 합니다. ISO 파일은 공식 홈페이지 에서 다운받으실 수도 있지만, 국내의 여러 미러를 통해 다운받으시면 더욱 빠르게 다운받으실 수 있습니다. 공식 홈페이지 기준으로, 총 3곳의 미러가 제공되고 있습니다.


광랜 끼고 카이스트에서 받으면 정말 빠릅니다.

Step 2. 아치리눅스 설치 시작

다운로드 받은 ISO를 USB나 CD에 굽거나 부팅 순서를 조정하는것은 이 스레드에서 다루지 않겠습니다. 무엇보다 귀찮기도 하고, 애초에 검색을 하면 엄청나게 널려있는 정보인지라, 양해 부탁드립니다. (?)

보통 설치를 시작하면 이런 모습의 화면이 반겨주겠지만, UEFI 시스템의 경우

이런 화면이 반겨줄 것입니다. 어떤 화면이 뜨건간에 아치리눅스 설치에는 크게 지장이 없습니다만, 이후 부트로더 설정에서 약간의 변경사항이 있습니다. 이에 대해서는 따로 다뤄보도록 하겠습니다.

Boot Arch Linux (x86_64) 혹은 Arch Linux archiso x86_64 UEFI CD 를 선택해서 부팅을 진행해주세요.

그럼 이런 화면이 반겨줄 것입니다.

Arch Linux 4.19.4-arch1-1ARCH (tty1)

archiso login: root (automatic login)

root@archiso ~ # _

이제부터 설치를 시작하시면 됩니다. 뭐 GUI 설치화면 이런걸 기대하셨나요? 그럼 만자로로 가시면 됩니다.

Step 3. 네트워크 잡기

아치리눅스를 설치하려면 인터넷 연결이 필요합니다. 만약 인터넷을 연결할 수 없거나, 고정 IP 가 필요한 환경에서 필요한 정보(IP주소, 서브넷, 게이트웨이 등)을 가지고 계시지 않다면 안타깝지만 이 가이드를 닫으셔야 합니다.

보통 자동으로 IP가 구성되는 경우, DHCP(Dynamic Host Configuration Protocol)에 의해 일련의 과정이 이루어지며, 이를 dhcpcd 라는 데몬이 담당합니다. 처음부터 인터넷 선이 연결되어 있고, ping 등으로 인터넷 연결이 확인된 경우 이 단계를 건너뛰시기 바랍니다. 그렇지 않은 경우, 다음 두가지 중 알맞은 경우를 선택하여 인터넷 연결을 진행하시기 바랍니다.

무선랜 환경

시스템의 dhcpcd와 iwd를 사용하겠습니다. 두 서비스는 기본으로 켜져 있지 않습니다…

systemctl enable iwd.service
systemctl start iwd.service
systemctl start dhcpcd.service

로 dhcpcd와 iwd를 시작해주십시오.

iwctl으로 들어가 주십시오. 장비와 네트워크그 후 네트워크를 스캔 후 선택하신 네트워크에 접속하십시오. 비밀번호가 필요하다면 입력을 요구받을 것입니다.

[iwd]device list
[iwd]station wlan0 scan
[iwd]station wlan0 get-networks
[iwd]station wlan0 connect SSID
[iwd]exit

SSID 항목이 연결할 와이파이 루터의 SSID입니다.
네트워크가 정상적으로 연결되면 ifconfig를 통해

lo0:~~~
wlan0:~~~
inet 192.168.XX.XX

식으로 아이피가 할당이 되어 있음을 확인할 수 있습니다.

유선 네트워크

일단, LAN 케이블을 시스템에 연결하십시오.

그리고 네트워크 어댑터가 활성화 되어있는지 확인해봅시다;

# ip link
1: lo: <LOOPBACK, UP, LOWER_UP> mtu 65536 qdisc...
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc...
   link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
  • 나오는 갯수나 ens192 부분은 컴퓨터마다 다릅니다.

만약 lo 하나만 나온다면 사용 가능한 네트워크 어댑터가 없다는 의미로, 부팅 과정에서 인식되지 않았을 가능성이 높습니다. 다음 명령을 입력하여, 네트워크 어댑터가 제대로 인식 되었는지 확인할 수 있습니다.

# lspci | grep Ethernet
xx:xx.x Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
  • 나오는 갯수나 Intel Corporation 82574L Gigabit Network Connection 부분은 컴퓨터마다 다릅니다.

만약, 네트워크 어댑터가 제대로 인식되지 않았을 경우 재부팅 후 다시 시도해보시기 바랍니다.


DHCP가 사용 가능한 경우

이 경우는 상당히 간단해집니다. DOWN 상태인 네트워크 어댑터를 살리고, dhcpcd 를 실행하기만 해면 됩니다.

# ip link set ens192 up
# dhcpcd
dev: loaded udev
...

ens192: soliciting an IPv6 router
ens192: rebinding lease of 192....
...
forked to background, child pid xxx

DHCP의 사용이 불가능한 경우

이 경우에는 고정 IP를 사용해야 합니다. 기관이나 학교, 혹은 기타 인터넷 서비스 제공자에서 제공한 IP주소, 서브넷, 게이트웨이 주소를 이용하여 인터넷을 설정해야 합니다.

# ip link set ens192 down
# ip addr add address 192.168.0.2/24 dev ens192
# ip route add default via 192.168.0.1
# ip link set ens192 up
  • ens192, 192.168.0.2/24 , 192.168.0.1 은 예시입니다. 본인의 상황에 알맞은 값을 넣어주세요.
  • 본 예시의 경우 IP주소는 192.168.0.2, 서브넷 마스크는 255.255.255.0, 게이트웨이는 192.168.0.1 인 경우입니다.

설정 후, ping 8.8.8.8을 이용하여 다음과 같이 나온다면 인터넷 연결에 성공하셨으므로, 다음 단계로 빠르게넘어갑시다.

# ping -c 1 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(86)bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=128 time=xxms

... (생략) 

Step 4. 파티션 설정


앞으로의 과정에 들어가기 전 한번 짚고 넘어가야 할 부분이 있습니다. 보통 리눅스에서 하드디스크나 SSD 등을 의미하는 장치는 /dev 디렉토리 밑에 sdX (X는 알파벳 소문자) 라는 이름을 가진 파일의 형태로 존재합니다. 만일 이들 장치가 파티션을 가지고 있을 경우, sdXN (N은 숫자) 라는 이름의 파일이 존재합니다.

그러나 이러한 경우는 SATA거나 SCSI인 경우인 경우에 한정됩니다. IDE 방식의 경우 hdX, NVME 방식의 경우 nvmeN (N, M, O는 숫자), 그리고 eMMC 방식의 경우 mmcblkN (N은 숫자) 등으로 정해지기도 합니다.

이 가이드에서 해당 케이스들을 전부 다루기에는 작성자의 사정상 어려운 부분이 많습니다. 따라서 본 가이드에서는 가장 흔한 케이스인 /dev/sda 를 기준으로 다루겠습니다.


아치 리눅스를 설치하기 위하여 파티션을 설정할 차례입니다. 본 가이드에서는 다음과 같이 파티션을 나눌 예정입니다.

  • 전체 60GB 중
  • / 50GB
  • /boot 4GB
  • swap 4GB
  • (UEFI 환경이라면) /boot/efi 512MB

MBR 설정

mbr을 이용하여 파티션으로 설정하는 경우, fdisk로 파티션을 설정하도록 하겠습니다. 이 경우, 위에서 말했던 /boot/efi 에 대해서 파티션을 설정하지 않습니다.

# fdisk /dev/sda

Welcome to fdisk (util-linux 2.33).
Changes will remain in memory only, until you decide to write them.
Be care ... (생략)

Command (m for help): n
Partition type
    p    primary (0 primary, 0 extended, 4 free)
    e    extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): (엔터)
First sector (2048-..., default 2048): (엔터)
Last sector, +/- sectors or +/-size(K,M,G,T,P) (... 생략) : +50G

Created a new partition 1 of type 'Linux' and of size 50GiB.

이후 마찬가지 방법으로 /boot, swap 파티션을 잡아줍니다.

Command (m for help): n
(생략)
Partition number (2-4, default 2): (엔터)
First sector (104859648-..., default 104859648): (엔터)
Last sector, +/- sectors or +/-size(K,M,G,T,P) (... 생략) : +4G
Command (m for help): n
(생략)
Partition number (3, 4 default 3): (엔터)
First sector (113248256-..., default 113248256): (엔터)
Last sector, +/- sectors or +/-size(K,M,G,T,P) (... 생략) : +4G

전부 잘 잡아 주었다면 w 명령을 입력하여 파티션 정보를 저장해줍니다.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

UEFI(GPT) 설정

uefi로 부팅하기 위해 GPT를 설정하려는 경우, GPT 파티션을 설정하기 위해 gdisk로 파티션을 설정하도록 하겠습니다.


Step 5. 파티션 포맷 및 마운트

잠시 Step4 에 나왔던 파티션 구조를 다시 훑어보겠습니다.

  • 전체 60GB 중
  • / 50GB
  • /boot 4GB
  • swap 4GB
  • (UEFI 환경이라면) /boot/efi 512MB

우리는 이 구조대로 Step 4에서 생성했던 파티션들을 마운트 할 것입니다. 현재 파티션이 무엇무엇이 있는지 확인하고 진행해보겠습니다. fdisk 혹은 gdisk에 -l 스위치를 붙여 해당 디스크에 존재하는 파티션 목록을 확인할 수 있습니다. 이후 적절하게 포맷해 줍니다.


MBR
# fdisk -l /dev/sda
Disk /dev/sda: 64 Gib, 68.... (생략)

Device        Boot        Start        End        Sectors Size Id Type
/dev/sda1               (...)                              50G 83 Linux
/dev/sda2               (...)                               4G 83 Linux
/dev/sda3               (...)                               4G 83 Linux

사용하기 전, 아직 포맷하지 않았으므로 위 셋 파티션을 다음과 같이 포맷해줍니다.

# mkfs.ext4 /dev/sda1
mke2fs 1.44.4 (18-Aug-2018)
Creating filesystem with 1310... (생략)

Creating journal (65535 blocks): done
Writing superblocks and filesystem accounting information: done

# mkfs.ext4 /dev/sda2
mke2fs 1.44.4 (18-Aug-2018)
Creating filesystem with 1048... (생략)

Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

그리고 스왑도 켜줍니다.

# mkswap /dev/sda3
Setting up swapspace version 1, size = 4 GiB (42... bytes)
no label, UUID= ....
# swapon /dev/sda3

UEFI

포맷이 전부 완료되었다면, 다음과 같이 마운트 해 줍니다.

# mount /dev/sda1 /mnt
# mkdir /mnt/boot
# mount /dev/sda2 /mnt/boot

Step 6. 기본 패키지 설치

이제 아치리눅스의 시스템 파일을 설치할 때가 왔습니다. 패키지를 설치하기 전, 조금 더 빠르게 다운로드 받기 위해 미러 정보를 수정하겠습니다. 다음 디렉토리로 이동, mirrorlist 파일을 수정해줍니다.

# cd /etc/pacman.d
# vim mirrorlist

그럼 수 많은 국가명칭을 달고 나온 미러들이 나오는데, 이 중 South Korea에 해당되는 미러를 찾아 맨 위로 올려줍니다. 저 같은 경우에는 카이스트 미러와 premi.st 미러를 맨 위로 올렸습니다. 미러는 맨 위부터 순서대로 작동되므로, 빠르게 받을 수 있는 미러를 안다면 같이 위쪽으로 올려두는 것이 좋습니다.

##
## Arch Linux repository mirrorlist
## Filtered by mirror score from mirror status page
## Generated on 2018-12-01
##

## South Korea
Server = http://ftp.kaist.ac.kr/ArchLinux/$repo/os/$arch
## South Korea
Server = http://mirror.premi.st/archLinux/$repo/os/$arch

## Switzerland
... (생략)

미러 설정이 완료되었으면, 다음 명령 한방이면 기본 패키지 설치가 완료됩니다.

2019.11.01 버전 이후부터 base 패키지에서 커널이 빠졌습니다. 
따라서 pacstrap시 linux 와 linux-framework 을 설치해주어야 합니다.
# pacstrap /mnt base base-devel linux linux-firmware
==> Creating install root at /mnt
==> Installing packages to /mnt
:: Synchronizing package databases...

(...)

:: Proceed with installation? [Y/n] Y
:: Retrieving packages...

(...)

(12/13) Updating the info directory file...
(13/13) Rebuilding certificate stores...
pacstrap /mnt base 42.44s user 28.30s system 26% cpu 4:31.26 total

base 외에 다른 패키지를 기본으로 더 설치하고 싶다면, base 뒤에 설치하고 싶은 패키지 이름들을 나열하시면 됩니다.

기본 패키지 설치가 완료되면 파티션 정보를 생성해주고, 기본 시스템 설정을 위하여 마운트 디렉토리로 루트를 변경하여 줍니다.

# genfstab -U /mnt > /mnt/etc/fstab
# arch-chroot /mnt

Step 7. 기본 시스템 설정

arch-chroot 까지 완료했다면 일단 먼저 축하드립니다. 거의 다 도착하셨습니다. 간단한 기본 설정 이후에 부팅 설정까지 완료한다면 아치 리눅스를 사용하실 수 있습니다.

시간 설정하기

시간대(타임존)를 설정해 봅시다. 보통 시간 정보를 저장하는 파일은 /usr/share/zoneinfo/<지역>/<도시> 디렉토리에 존재합니다. 한국의 경우 /usr/share/zoneinfo/Asia/Seoul 이 되는데, 이 파일을 /etc 디렉토리 밑에 심볼릭 링크 해주면 됩니다.

# ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

ntp, 네트워크 시간 프로토콜을 사용하여 인터넷 시간에 동기화해 주도록 합니다. ntp 패키지를 설치해 주시고 root로

#ntpdate time.kriss.re.kr

으로 시스템 시간을 동기화합니다.

그리고, 하드웨어 시계를 동기화해줍니다.

# hwclock w

지역화

언어 정보를 설정해줍니다. /etc/locale.gen 파일에는 로케일 정보가 들어가 있는데, 이 파일에서 자신이 해당하는 로케일 값을 주석 해제해 주시면 됩니다. 여기서는 en_US.UTF-8 UTF-8 을 주석해제 하겠습니다. 상황에 따라 ko_KR.UTF-8 UTF-8 을 주석 해제 해야할 필요가 있을 것으로 생각됩니다만, 사실 ko_KR을 먼저 주석해제 해 버리면 한글폰트가 설치되어 있지 않아 터미널에서 와장창 깨진 글자들을 보실 수도 있습니다.

# vim /etc/locale.gen
...
#en_DK ISO-8859-1
en_GB.UTF-8 UTF-8
#us_GB ISO-8859-1
...

파일 수정을 완료했으면, locale-gen을 실행해줍니다.

# locale-gen

그리고 /etc 밑에 locale.conf를 생성한 후, 다음과 같이 수정해줍니다.

# vim /etc/locale.conf
LANG=en_GB.UTF-8
LC_ALL=en_GB.UTF-8

호스트 이름 및 hosts 설정

호스트 이름은 /etc/hostname 에서 설정하실 수 있습니다. 원하는 이름으로 수정 후 저장하시면 됩니다.

hosts 파일또한 이렇게 수정해줍니다. 여기서 myhostname은 방금 설정한 호스트이름입니다.

# vim /etc/hosts
127.0.0.1	localhost
::1		localhost
127.0.1.1	myhostname.localdomain	myhostname

root 패스워드 설정

# passwd

사용자 계정 추가

root만 가지고 노는건 바람직하지 않습니다. 실제 사용할 사용자 계정을 만들어봅시다.

# useradd -m <사용자_이름>

-m 스위치는 /home 밑에 사용자 폴더를 생성하는 역할입니다. home 폴더는 나중에 직접 추가할 수도 있지만 소유자나 그룹 이전의 과정이 귀찮으므로 한번에 생성해주는게 좋습니다.

계정을 만들었으니 패스워드를 설정해줍니다. passwd에 생성한 사용자 이름을 파라메터로 넘겨주면 비밀번호를 변경할 수 있습니다.

# passwd <사용자_이름>

이제 기본 설정까지 완료되었습니다. 마지막으로 Step 8 에서 부팅 설정에 관하여 다루어 보고 마무리 짓겠습니다.

Step 8. 부팅 설정

아치리눅스를 부팅하기 위해서는 부트로더를 설정해주어야 합니다. 리눅스에서 사용할 수 있는 부트로더는 정말로 많습니다만, 가장 흔히 쓰이는 grub을 기준으로 설명하겠습니다. 일단 grub을 깔아줍니다.

# pacman -S grub

MBR로 부팅하고 싶은 경우

MBR로 부팅하고 싶은 경우는 매우 간단합니다. 다음 명령 두 줄만 실행하면 됩니다.

# grub-install --target=i386-pc /dev/sdX
# grub-mkconfig -o /boot/grub/grub.cfg

여기서 sdX는 부팅에 사용할 디스크입니다. 파티션이 아니라 디스크를 선택해야 함을 명심하세요.


UEFI로 부팅하고 싶은 경우

UEFI로 부팅하고자 하는 경우 MBR보다 조금 더 복잡합니다. efibootmgr 패키지가 필요하므로 이것도 추가로 설치해줍니다.

# pacman -S efibootmgr

그리고 다음 두 명령어를 실행해줍니다.

# grub-install --target=x86_64-efi --efi-directory=<EFI 파티션 마운트 경로> --bootloader-id=GRUB
# grub-mkconfig -o /boot/grub/grub.cfg

부트로더설정까지 전부 끝났다면, exit를 입력하여 chroot에서 빠져나오도록 합니다. 그리고 reboot을 실행해서 재부팅 하면, 아치리눅스의 설치가 완료되어 있을 것입니다.

여기까지 오시느라 고생 많으셨습니다. 이제부터 아치리눅스를 즐기시면 되겠습니다.

Appendix A. GUI 설정

저는 본디 KDE를 사용하므로, KDE에 대해서만 설명하도록 하겠습니다. 다른 데스크탑 환경에 대한 설명을 추가하고 싶다면, 밑에 [편집]버튼을 눌러서 추가하시면 됩니다.

KDE

KDE는 K Desktop Environment의 약자로, 그놈(GNOME)과 함께 인기있는 데스크탑 환경입니다. 다음 두 줄을 입력하여 KDE를 설치한 후 재부팅 하면 GUI를 즐기실 수 있습니다.

# pacman -S sddm plasma
# systemctl enable sddm

그래픽 환경으로 진입은 성공했지만 로그인이 되지 않는 경우. 사용자의 home 폴더가 생성되었는지, 소유권이 제대로 설정되어있는지 확인하여보시기 바랍니다.

GNOME

KDE의 항목과 동일합니다.

# pacman -S gdm gnome
# systemctl enable gdm
i3

i3는 Window Manager로써 KDE의 plasma와 같은 기능을 합니다.
본래 Display Manager (ex. sddm, lightdm)이 없어도 동작하지만 일부 GUI 프로그램 (ex. TeamViewer) 이 DM에 의존성을 가지는 것을 확인하여 DM과 같이 사용하시길 권장합니다.
설치는 다음과 같습니다.
본 문서에서는 lightdm을 기준으로 설명 드리겠습니다.

# pacman -S lightdm i3
# sed -i 's/#logind-check-graphical=false/logind-check-graphical=true/g' /etc/lightdm/lightdm.conf

이때 본인의 계정을 자동 로그인으로 설정하고 싶다면 이어서 다음 명령어를 치시면 됩니다.
여기선 계정이름을 HELLDove로 예시로 하겠습니다.

# groupadd autologin
# usermod -aG autologin HELLDove
# sed -i 's/#pam-service=lightdm/pam-service=lightdm-autologin/g' /etc/lightdm/lightdm.conf
# sed -i 's/#autologin-user=/autologin-user=HELLDove/g' /etc/lightdm/lightdm.conf
# sed -i 's/#autologin-session=/autologin-session=i3/g' /etc/lightdm/lightdm.conf

마지막엔 다음을 통하여 lightdm을 활성화시켜줍니다.

# systemctl enable lightdm

이때 바로 시작하고 싶으시다면 enable --now lightdm 을 해주면 됩니다.

Appendix B. Nvidia Laptop GUI setting

아치 리눅스에서는 윈도우즈와 다르게 nvidia optimus가 기본적으로 깔리지 않습니다. 또한 GUI 시스템들이 기본 그래픽 시스템을 사용하도록 설정 되어있습니다.

만일 /etc/X11/xorg.conf를 원활하게 수정 가능하신 분이라면 문제가 없겠지만 대체적으로 Display Manager와 함께 쓸 경우 nvidia를 전혀 사용하지 않으며 내장 그래픽인 인텔 그래픽만 사용한다는 문제가 발생합니다.

우선 nvidia 드라이버를 설치한 뒤 nvidia-smi 혹은 nvidia-settings를 이용하여 현재 nvidia가 로드되어있는지 확인합니다.
nvidia가 정상적으로 로드되어 있을 경우 nvidia-smi에서는 활성 프로세스에서 xorg를 확인하실 수 있으며 nvidia-settings가 정상적으로 켜집니다.

DM을 사용하지 않을 경우 Arch User Repository에서 nvidia-xrun을 받아 본인의 터미널 프로그램에 작성되어있던 startxnvidia-xrun으로 바꾸면 됩니다.

# pacman -S git
# git clone https://aur.archlinux.org/nvidia-xrun.git
# cd nvidia-xrun
# makepkg -si

DM을 사용하면서 nvidia gpu를 사용하기 위해선 AUR에서 optimus-manager 라는 프로그램을 설치하여 사용하여야 합니다.

# pacman -S git
# git clone https://aur.archlinux.org/optimus-manager.git
# cd optimus-manager
# makepkg -si
(임시로 사용 gpu를 nvidia로 바꿀 경우)
#optimus-manager --switch nvidia
(cuda와 같은 nvidia 고유 프로그램만 nvidia로 돌리고 싶을 경우
#optimus-manager --switch hybrid
(아예 gpu를 nvidia만 사용할 경우)
#optimus-manager --set-startup nvidia

문서 기여자

@patchouli_knowledge - 글 전반 작성, @HELLDove - i3 추가, Nvidia Laptop GUI 추가 @LeeMB -iso에서 무선인터넷 연결 및 기타 추가.

12 Likes

혹여나 잘못된 부분이나 빠진 부분이 있을까 싶어 다른 분들이 수정하실 수 있도록 위키토픽으로 전환하였습니다.

감사합니다.

CentOS 가지고 막 리눅스에 입문한 초보입니다. 아치 리눅스의 벽은 높군요…
리눅스에 익숙해지면 아치 리눅스도 도전해봐야겠습니다.
좋은 글 감사합니다 :blush:

VM이라면 미리 설정된 Vagrant나 osboxes.org/arch-linux/ 를 쓰는 방법도 있읍니다. 하지만 이렇게 설정해보는것도 리눅스를 이해하는데 꽤 도움이 되는 것 같읍니다

설명이 잘 되어있네요! 고생이 많으십니다!

설치시에 Full Disk Encryption이 필요한 경우 luks를 이용할 수 있는데, 누군가 올린 Instruction ( BIOS / MBR이 아닌 UEFI / GPT 기준 ) 을 참조하면 좋습니다. Arch Linux Wiki의 설치 가이드를 전제로 한 내용이므로 전체를 다 따라할 필요는 없고 파티션 설정부터 마운트 부분까지만 보시면 됩니다.

무선랜 환경에서의 설치는 wifi-menu 또는 wpa_supplicant 및 dhcpcd를 이용할 수 있습니다.
설치가 끝난 이후에서도 WLAN을 이용하기 위해서는 wpa_supplicant 패키지가 필요하며, wifi-menu를 이용하려 할 경우 dialog 패키지의 설치도 필요합니다.

언젠가 한번 정리할까 했는데 먼저 잘 정리해두셨네요.

개인적으론 UEFI 부트로더로 rEFInd를 사용합니다. OS 자동 감지 면에서도 좋고, 무엇보다 Windows와 큰 갈등이 없어요.

거의 다 써놓고 다른 일이 생겨서 완성을 못하는 중입니다 :cry:

이번달 안으로는 완성을 해야…

완성한다 완성한다 해놓고 거의 두달을 미루다가 오늘 완성했습니다. 빠진 부분이나 잘못된 부분에 대해 피드백 주시면 감사하겠습니다.

2 Likes

수고햇어요!
IMG_1568

우선은 적어두고 나중에 제가 심심해지면 주석을 달아보도록 하겠읍니다.
VM에 Archlinux를 설치 시 제가 반복적으로 하는 작업을 대충 모아놓았읍니다.

#=Fresh Installation=#
cfdisk # make some partitions
mkfs.ext4 /dev/sda1 # linux partition
mkswap /dev/sda2 # swap partition
swapon
mount /dev/sda1 /mnt
pacstrap -i /mnt base base-devel linux linux-firmware
genfstab -U -p /mnt >> /mnt/etc/fstab
arch-chroot /mnt /bin/bash

useradd -m -g users -s /bin/bash <username>
passwd <username>
nano /etc/sudoers # <username> ALL = (ALL) NOPASSWD:ALL

nano /etc/locale.gen # en_US.UTF-8
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8

ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
hwclock --systohc --localtime

echo <hostname> > /etc/hostname
nano /etc/hosts # <hostname> 127.0.0.1; <hostname> ::1

pacman -S grub
grub-install --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

exit
umount -R /mnt
reboot

#=After First Boot=#
sudo systemctl enable dhcpcd.service
sudo systemctl start dhcpcd.service

sudo pacman -Syu

sudo pacman -S git
git clone https://aur.archlinux.org/yay
cd yay
makepkg -sri

yay -S xorg xorg-xinit
yay -S linux-headers net-tools asp
yay -S open-vm-tools
sudo systemctl enable vmware-vmblock-fuse.service
sudo systemctl enable vmtoolsd.service

reboot

yay -S i3-gaps-next-git polybar rofi compton feh
yay -Sy emacs rxvt-unicode
4 Likes

저는 듀얼부팅 설치할 때 이것을 참고하면서 설치했습니다.