# Beginners' Guide/Installation (한국어)

도움말: 이 문서는 초보자 안내서 전체 문서의 일부입니다. 초보자 안내서 전체를 보려면 여기를 클릭하십시오.

## 설치하기

이제 자동으로 루트로 로그인 된 쉘 프롬프트가 제공됩니다.

### 언어 변경하기

도움말: 이 설정은 대부분 사용자에게 선택사항일 뿐이며 지금이 아니라도 설치 도중 언제든지 실행하실 수 있습니다. 와이파이 비밀번호에 특수문자가 들어가는 등 설정 파일에 영어가 아닌 다른 문자를 넣어야 할 경우가 아니라면 쓸모가 없습니다. 한글 키보드의 경우 영문 키보드와는 한/영키와 한자키 정도의 차이밖에 없으며 설치 미디어의 콘솔 상태에서는 한글을 입력하거나 인식할 방법이 없으므로 설정할 필요가 없습니다.

기본적으로, 키보드 레이아웃은 `us`로 설정되어 있습니다. US가 아닌 키보드 레이아웃을 사용할 경우 다음 명령어를 실행하십시오.

    # loadkeys layout

여기서 layout은 `fr`, `uk` 혹은 `be-latin1`등을 쓰실 수 있습니다. 여기에서 자세한 목록을 보십시오.

몇몇 글자가 이상하게 나오거나 아예 나오지 않더라도 걱정하지 마십시오. 폰트에 해당 글자가 존재하지 않기 때문일 것입니다. 해당 글자는 정상적으로 입력되는것이며 나중에 그래픽 환경을 설치한 뒤에 제대로 표시될 것입니다. 폰트는 다음과 같이 지정합니다. 대소문자를 다르게 인식하니 주의하세요.

    # setfont Lat2-Terminus16

미국 영어가 기본으로 지정되어 있습니다. 언어를 바꾸고 싶으면 `/etc/locale.gen`에서 en_US와 함께 사용할 언어인 한국어 ko_KR 앞의 `#`을 제거하세요. 그리고 `Ctrl+X`를 누른 후 `Y`를 누르고 `Enter`를 눌러 같은 파일이름으로 저장하세요.

    # nano /etc/locale.gen

    en_US.UTF-8 UTF-8
    ko_KR.UTF-8 UTF-8

    # locale-gen
    # export LANG=ko_KR.UTF-8

`LAlt+LShift`로 키맵을 활성화하거나 비활성화할 수 있습니다.

### 인터넷 연결 설정하기

경고: udev는 더 이상 wlanX와 ethX 명명 방식으로 네트워크 인터페이스 이름을 할당하지 않습니다. 다른 배포판을 사용하다 왔거나 아치를 재설치하면서 새로운 명명 방식을 모른다면 무선 인터페이스가 wlan0가 되거나 유선 인터페이스가 eth0가 되리라 가정하지 마세요. "ip" 유틸리티를 사용해 인터페이스 이름을 알 수 있습니다.

systemd-197부터 udev는 예측 가능한 안정적인 인터페이스 이름을 할당합니다. 이 이름은 재부팅해도 그대로 유지되므로 네트워크 인터페이스 이름 할당을 예측하지 못하는 문제를 해결합니다. 이것이 왜 필요한지에 대해 더 자세히 알고 싶다면 여기를 보세요.

`dhcpcd` 네트워크 데몬이 부팅시에 자동적으로 시작될 것이며 유선 인터넷에 연결하려고 시도할 것입니다. 제대로 연결되었는지 다음과 같이 `ping`를 이용해서 시험해 보십시오.

    # ping -c 3 www.google.com

    PING www.l.google.com (74.125.132.105) 56(84) bytes of data.
    64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=1 ttl=50 time=17.0 ms
    64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=2 ttl=50 time=18.2 ms
    64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=3 ttl=50 time=16.6 ms

    --- www.l.google.com ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2003ms
    rtt min/avg/max/mdev = 16.660/17.320/18.254/0.678 ms

만약 `ping: unknown host` 오류가 발생한다면 아래와 같이 네트워크를 직접 설정해야 합니다. 그렇지 않으면, #하드디스크 준비하기로 넘어가시면 됩니다.

#### 유선 네트워크

고정 ip를 사용해 유선 연결을 하려면 이 절차를 따르세요.

먼저 이더넷 인터페이스의 이름을 확인합니다.

    # ip link

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: enp2s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
        link/ether 00:11:25:31:69:20 brd ff:ff:ff:ff:ff:ff
    3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000
        link/ether 01:02:03:04:05:06 brd ff:ff:ff:ff:ff:ff

이 경우에 이더넷 인터페이스는 enp2s0f0입니다. 잘 모르겠으면 이더넷 인터페이스는 "e"로 시작할 가능성이 높으며 "lo"나 "w"로 시작할 가능성은 매우 낮습니다. 또는 iwconfig를 사용해 어떤 인터페이스가 무선이 아닌지 알 수 있습니다.

    # iwconfig

    enp2s0f0  no wireless extensions.
    wlp3s0    IEEE 802.11bgn  ESSID:"NETGEAR97"
              Mode:Managed  Frequency:2.427 GHz  Access Point: 2C:B0:5D:9C:72:BF
              Bit Rate=65 Mb/s   Tx-Power=16 dBm
              Retry  long limit:7   RTS thr:off   Fragment thr:off
              Power Management:on
              Link Quality=61/70  Signal level=-49 dBm
              Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
              Tx excessive retries:0  Invalid misc:430   Missed beacon:0
    lo        no wireless extensions.

이 예에서는 enp2s0f0도 loopback 장치도 무선 확장이 없습니다. 이는 enp2s0f0이 이더넷 인터페이스라는 의미입니다.

다음 설정값들을 알아야 합니다:

- 고정 IP 주소
- 서브넷 마스크
- 게이트웨이 IP 주소
- 네임서버(DNS)의 IP 주소
- 도메인 이름(직접 지을 수 있는 로컬 랜이 아닌 경우)

연결된 이더넷 인터페이스를 활성화합니다. 보기: `enp2s0f0`)

1. ip link set enp2s0f0 up

다음과 같이 주소를 추가하십시오.

    # ip addr add <IP 주소>/<서브넷 마스크> dev <인터페이스>

예시:

    # ip addr add 192.168.1.2/24 dev enp2s0f0

더 많은 옵션을 보려면, `man ip`를 실행하십시오.

다음과 같이 게이트웨이를 추가하십시오.

    # ip route add default via <IP 주소>

예시:

    # ip route add default via 192.168.1.1

여러분의 네임서버 IP 주소와 로컬 도메인 이름을 `/etc/resolv.conf`에 다음과 같이 넣으십시오.

    # nano /etc/resolv.conf

    nameserver 61.23.173.5
    nameserver 61.95.849.8
    search example.com

참고: 현재, 최대 3개의 `nameserver`줄을 넣을 수 있습니다.
도움말: 이제 네트워크가 연결되었을 것입니다. 그렇지 않다면, Configuring Network에서 자세한 사항을 보십시오.

#### 무선 네트워크

설치 과정에서 무선 연결이 필요하다면 다음 절차를 따르십시오.

다른 배포판을 사용하다 왔거나 옛 명명 방식이 바뀐 후에 처음으로 아치를 설치한다면 첫 번째 무선 인터페이스 가 "wlan0"아니라서 놀랐을 것입니다. 겁먹지 마세요. 간단하게 `iwconfig`를 실행해 무선 인터페이스 이름을 확인하세요.

무선 드라이버와 유틸리티는 설치 미디어의 라이브 환경에서 사용하실 수 있습니다. 무선 하드웨어에 대해 잘 알고 있을수록 설정을 쉽게 끝낼 수 있을 것입니다. 지금 시점에서 실행하는 간단 설정 내용은 무선 장치를 설치 매체의 라이브 환경에서만 사용할 수 있게 만들 것입니다. 이 단계(혹은 다른 형태의 무선 관리)는 설치가 끝난 뒤 다시 한번 설정해 주어야 합니다.

또한 이 시점에서의 무선 연결은 꼭 필요하지만은 않다는 것을 알아두십시오; 무선 네트워크는 나중에라도 언제든지 연결할 수 있습니다.

참고: 다음 예시는 `wlp3s0`를 인터페이스로, `linksys`를 ESSID로 가정합니다. 환경에 따라 이 값들을 변경해서 사용하십시오.

기본 단계는 다음과 같습니다.

- 무선 인터페이스를 알아냅니다.

    # lspci | grep -i net

혹은, USB 어댑터를 사용한다면 다음과 같이 합니다.

    # lsusb

- `iwconfig`를 통해 다음과 같이 udev가 드라이버를 로드했고 해당 드라이버가 사용 가능한 무선 커널 인터페이스를 만들어냈다는 것을 확인합니다.

    # iwconfig

    enp2s0f0  no wireless extensions.
    wlp3s0    IEEE 802.11bgn  ESSID:"NETGEAR97"
              Mode:Managed  Frequency:2.427 GHz  Access Point: 2C:B0:5D:9C:72:BF
              Bit Rate=65 Mb/s   Tx-Power=16 dBm
              Retry  long limit:7   RTS thr:off   Fragment thr:off
              Power Management:on
              Link Quality=61/70  Signal level=-49 dBm
              Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
              Tx excessive retries:0  Invalid misc:430   Missed beacon:0
    lo        no wireless extensions.

이 예시에서는 `wlp3s0` 가 사용할 수 있는 무선 인터페이스입니다.

참고: 이런 내용이 출력되지 않는다면, 무선 드라이버가 로드되지 않은 것입니다. 이런 경우, 직접 드라이버를 로드해야 합니다. 무선 네트워크 설정 페이지를 통해 자세한 정보를 얻으십시오.

- 해당 인터페이스를 다음 명령어로 작동시킵니다.

    # ip link set wlp3s0 up

몇몇 무선 드라이버는 드라이버 뿐만 아니라 펌웨어도 필요로 합니다. 무선 칩셋이 펌웨어를 필요로 한다면 인터페이스를 작동시킬 때 다음과 같은 에러가 나타날 것입니다.

    # ip link set wlp3s0 up

    SIOCSIFFLAGS: No such file or directory

잘 모르겠다면, `dmesg` 명령어로 커널 로그를 보면서 해당 칩셋에 대한 펌웨어 요청이 있는지 확인하십시오.

다음 예는 펌웨어가 필요한 한 인텔 칩셋이 부팅 시 커널에 펌웨어를 요청한 것을 나타냅니다.

    # dmesg | grep firmware

    firmware: requesting iwlwifi-5000-1.ucode

출력이 없다면, 시스템의 무선 칩셋에 펌웨어가 필요하지 않다는 뜻입니다.

경고: (CD나 USB 스틱의) 라이브 환경 하에서는 (필요한 카드에 대해) 무선 칩셋 펌웨어 패키지가 `/usr/lib/firmware`에 미리 설치되어 있지만 재부팅 후에는 직접 따로 시스템에 설치해 줘야 합니다. 패키지 설치는 이 가이드 내에서 나중에 다뤄집니다. 재부팅 하기 전에 무선 모듈과 펌웨어를 꼭 설치하도록 하세요! 특정 칩셋용 펌웨어를 필요로 하는지 잘 모르겠다면 무선 네트워크 설정 페이지를 보세요.

이제, netcfg의 `wifi-menu`를 이용해서 네트워크에 연결하십시오.

    # wifi-menu wlp3s0

이제 와이파이에 연결될 것입니다. 그렇지 않다면, Wireless network configuration에서 자세한 사항을 보십시오.

#### xDSL (PPPoE), 아날로그 모뎀 혹은 ISDN

만약 모뎀을 사용하거나 라우터를 브릿지 모드로 설정해 뒀다면 다음을 실행하십시오.

    # pppoe-setup

- ISP가 제공한 사용자 이름을 입력하십시오.
- "eth0"에 대해 `Enter`를 누르십시오.
- 계속 켜져 있도록 설정하기 위해 "no"에 대해 `Enter`를 누르십시오.
- `server`를 입력하십시오 (보통 이것이 맞습니다).
- 방화벽을 설정하기 위해 `1`을 누르십시오.
- ISP가 제공한 비밀번호를 입력하십시오.
- 마지막으로 `y`를 누르십시오..

이 설정대로 ISP에 연결하시려면 다음 명령어를 입력하십시오.

    # pppoe-start

아날로그모뎀을 사용하시려면 Direct Modem Connection을 보십시오.

#### 프록시 서버를 경유할 경우

프록시 서버를 경유해야 할 경우, `http_proxy`및 `ftp_proxy` 환경 변수를 설정해야 합니다. 더 많은 정보를 위해서는 여기를 클릭하십시오.

### 하드디스크 준비하기

경고: 파티션을 고치다가 데이터가 소실될 수 있습니다. 이 점을 반드시 숙지하고 계속하기 전에 중요한 데이터는 백업해 두시기를 권합니다.

완전 초보자들은 그래픽 파티션 도구를 사용하시기를 권합니다. GParted를 "라이브 환경"에서 사용할 수 있는 리눅스 배포판을 사용하는 것이 좋습니다. 이것을 할 수 있는 배포판은 Parted Magic, Ubuntu, Linux Mint 등이 있습니다. Partitioning에서 일반적인 팁을 보시고 재부팅하기 전에 파티션을 파일시스템(예를 들어 ext4, Btrfs 등)으로 포맷하는것을 잊지 마십시오.

이미 이런 작업을 해 두었다면 파티션 마운트하기로 넘어가십시오.

그렇지 않으면 다음의 예시를 따라하십시오.

#### 예시

아치 리눅스 설치 미디어에는 다음 파티션 도구가 들어 있습니다.

- cfdisk – MBR 파티션 테이블만을 지원합니다.

- gdisk – GPT 파티션 테이블만을 지원합니다.

- parted – 양쪽 모두 지원합니다.

이 예제에서는 cfdisk를 사용하지만 , GPT 파티션을 지원하는 gdisk를 이용해서도 쉽게 따를 수 있을 것입니다.

참고: 만일 USB 플래시 드라이브에 설치하려고 한다면 Installing Arch Linux on a USB key를 보십시오.
참고: 만일 윈도와 듀얼부팅을 하고자 하는 것이 아니라면다면, MBR 대신에 GPT를 사용할 것을 권장합니다. GPT 파티션은 gdisk나 parted를 사용해야 합니다. GPT에서 장점 목록을 보십시오.

    # cfdisk /dev/sda

이 예제에서 시스템은 15GB 루트(`/`) 파티션에 1GB `swap` 파티션, 그리고 나머지에 `/home` 파티션을 사용하도록 합니다.

파티션을 잡는 것은 개인적으로 선택할 사항이고 이 예시는 그저 보여주기 위한 것일 뿐이라는 것을 알아두십시오. Partitioning을 참고하십시오.

참고: (U)EFI를 사용하고 있다면 UEFI 시스템 파티션을 포함하는 다른 파티션이 필요할 것입니다. 이 문서를 읽어 보십시오.

루트

- New를 선택하십시오 (혹은 `N`을 누르십시오).
- Primary에 `Enter`를 누르십시오.
- "15440"를 입력하십시오.
- Beginning에 `Enter`를 누르십시오.
- Bootable에 `Enter`를 누르십시오.

Swap

- 아래 화살표를 눌러 여우 공간으로 이동하고 New를 선택하십시오 (혹은 `N`을 누르십시오).
- Primary에 `Enter`를 누르십시오.
- "1024"를 입력하십시오.
- Type을 선택하십시오 (혹은 `T`를 누르십시오).
- 아무 키나 눌러서 목록을 아래로 넘기십시오.
- `82`에 `Enter`를 누르십시오.

Home

- 아래 화살표를 눌러 여우 공간으로 이동하고 New를 선택하십시오 (혹은 `N`을 누르십시오).
- Primary에 `Enter`를 누르십시오.
- `Enter`를 눌러 드라이브의 나머지 공간을 사용하도록 하십시오 (혹은 원하는 크기를 입력하십시오).

이제 다음과 같이 나타날 것입니다.

    Name    Flags     Part Type    FS Type          [Label]       Size (MB)
    -----------------------------------------------------------------------
    sda1    Boot       Primary     Linux                             15440
    sda2               Primary     Linux swap / Solaris              1024
    sda3               Primary     Linux                             133000*

계속하기 전에 다시한번 파티션 테이블 내용 뿐만 아니라 파티션 크기도 제대로 되었다는것을 확인하십시오.

다시 시작하고 싶다면 그냥 Quit를 선택해서 (혹은 `Q`를 눌러서) 변경사항을 저장하지 않고 끝낸 다음 다시 cfdisk를 시작하십시오.

만족스럽게 되었다면, Write를 선택해서 (혹은 `Shift+W`를 눌러서) 마무리하고 파티션 테이블을 저장합니다. "yes"를 입력하고 Quit를 선택해서 (혹은 `Q`를 눌러서) 더 이상의 변경 없이 cfdisk를 종료하십시오.

파티션은 잡는것만으로는 충분하지 않습니다. 파일시스템 또한 적용해야 합니다. 다음과 같이 파티션을 ext4로 포맷하십시오.

    # mkfs.ext4 /dev/sda1
    # mkfs.ext4 /dev/sda3

다음과 같이 스왑 파티션도 포맷하여 활성화시키십시오.

    # mkswap /dev/sda2
    # swapon /dev/sda2

### 파티션 마운트하기

각각의 파티션은 끝의 번호로 구별됩니다. 예를 들어, `sda1`은 첫 드라이브의 첫 파티션을 가리키며, `sda`는 드라이브 전체를 가리킵니다.

다음 명령어로 파티션 레이아웃을 보십시오.

    # lsblk /dev/sda

주의하십시오. 마운트 순서는 중요합니다.

먼저, 루트 파티션을 `/mnt`에 마운트합니다. 설정에 따라 다를 수 있지만 예시를 따르면 다음과 같습니다.

    # mount /dev/sda1 /mnt

별개의 파티션을 지정했다면 다음과 같이 마운트하십시오.

    # mkdir /mnt/home
    # mount /dev/sda3 /mnt/home
    # mkdir /mnt/boot
    # mount /dev/sdax /mnt/boot

### 미러 사이트 선택하기

설치하기 전에, 선호하는 미러 사이트가 먼저 오도록 `mirrorlist`를 편집하는 것이 좋습니다. mirrorlist의 사본이 pacstrap에 의해서 새 시스템에도 복사될 것이므로 지금 설정해 두는 것이 좋습니다.

참고: ftp.archlinux.org의 속도는 50KB/s로 낮춰져 있습니다.

    # nano /etc/pacman.d/mirrorlist

    ##
    ## Arch Linux repository mirrorlist
    ## Sorted by mirror score from mirror status page
    ## Generated on 2012-MM-DD
    ##

    ## Score: #, Country
    Server = http://mirror.example.xyz/archlinux/$repo/os/$arch
    ...

- `Alt+6`를 눌러 `Server` 줄을 복사하십시오.
- `PageUp`를 눌러 위로 되돌아가십시오.
- `Ctrl+U`를 눌러 목록 맨 위에 넣으십시오.

원한다면 `Ctrl+K`를 눌러서 나머지를 모두 지워 버리고 해당 미러를 유일한 미러로 만들어도 됩니다. 하지만 미러가 기능을 못하게 될 수도 있으므로 몇 개를 더 두는 것이 좋습니다.

도움말: Mirrorlist Generator를 사용해서 여러분 국가의 업데이트된 목록을 받으십시오. HTTP 미러는 FTP보다 빠른데, 왜냐하면 keepalive라는 것 때문입니다. FTP를 이용하면 팩맨은 매번 패키지를 받을 때 마다 신호를 보내기 때문에 약간의 끊김이 발생합니다.

### 기반 시스템 설치하기

기반 시스템은 pacstrap 스크립트에 의해 설치됩니다.

    # pacstrap /mnt base base-devel

- base: 최소한의 기반 환경을 제공하기 위한 [core] 저장소의 소프트웨어 패키지들
- base-devel: `make`나 `automake`와 같은 [core]의 기타 도구들. 이 도구들은 시스템을 확장하는데 필요할 가능성이 높기 때문에 대부분의 초보자들은 설치하도록 선택해야 합니다. 이 도구들은 Arch User Repository의 소프트웨어를 설치하는 데 필요합니다.

이렇게 해서 아치의 기본적인 시스템이 만들어집니다. 다른 패키지들은 pacman을 이용해서 설치할 수 있습니다.

참고: 만약 pacman이 패키지의 무결성을 검사하는 데 실패하면, 시스템의 시계를 확인해 보십시오. 만약 시스템 날짜가 2010년으로 설정돼 있는 등 잘못 표시되어 있을 경우 서명 키가 만료된 것으로(혹은 무효인 것으로) 판단하게 되어 서명 체크가 실패하게 되고, 설치는 중단될 것입니다. 시스템의 시간을 수동으로나 ntp클라이언트를 이용해서 맞추고 pacstrap 명령어를 다시 실행해 보십시오. Time 페이지에서 시스템 시간을 맞추는 데 더 많은 정보를 볼 수 있습니다.

### fstab 생성하기

다음 명령어를 이용해 fstab파일을 생성합니다. 만약 UUID나 라벨을 사용하고 싶다면 각각 `-U`나 `-L`옵션을 추가하십시오. 계속하기 전에 자동 생성된 fstab파일`/mnt/etc/fstab`을 확인해 보는 것이 좋습니다.

참고: genfstab을 실행하는 중이나 나중에 설치 과정에서 문제가 발생하면, genfstab을 다시 실행하지 마십시오. 그냥 fstab을 수정하기만 하십시오.

    # genfstab -p /mnt >> /mnt/etc/fstab
    # nano /mnt/etc/fstab

"/"파티션만 끝에 "1"이 붙어야 합니다. 나머지는 "2"나 "0"이 붙어야 합니다(Field definitions를 보세요).

### 시스템에 chroot로 들어가기

이제 새로 설치한 시스템에 chroot을 이용해서 들어갈 것입니다.

    # arch-chroot /mnt

### 기반 시스템 설정하기

도움말: 시스템을 제대로 설정하기 위해서는 다음 내용을 잘 따라가면서 이해하는 것이 중요합니다.

지금 단계에서는, 아치 리눅스 기반 시스템의 설정 파일을 수정할 것입니다.

#### 설정 파일

`/etc/rc.conf`가 아치 initscripts의 설정 파일이고, 과거에는 이 파일이 시스템의 다른의 부분 설정을 포함하기도 했습니다. systemd와 같은 다른 init 시스템을 사용하지 않는다면, `/etc/rc.conf`는 부팅시에 어느 데몬을 실행할지 그리고 몇몇 네트워크와 저장장치 정보를 설정합니다.

참고: 시스템을 설정하는 데 `/etc/rc.conf`의 예전 설정을 이용하는 것도 당장은 동작하기는 합니다. 하지만 새 설정파일들은 `rc.conf`보다 우선하며 이들을 사용하는것을 추천합니다. 새로운 설정은 systemd에 대해서도 동작합니다.

설정 | 설정 파일 | 과거 rc.conf 부분
--- | --- | ---
호스트 네임 | `/etc/hostname` `/etc/hosts` | `NETWORKING`
콘솔 폰트와 키맵 | `/etc/vconsole.conf` | `LOCALIZATION`
로캘 | `/etc/locale.conf` `/etc/locale.gen` | `LOCALIZATION`
시간대 | `/etc/timezone` `/etc/localtime` | `LOCALIZATION`
하드웨어 시계 | `/etc/adjtime` | `LOCALIZATION`
커널 모듈 | `/etc/modules-load.d/` | `HARDWARE`
데몬 | `/etc/rc.conf` | `DAEMONS`
유선 네트워크 | `/etc/rc.conf` | `NETWORKING`

해당 파일이 존재하지 않는다면 새로 생성하시면 되며 기본값을 바꾸고 싶다면 수정하시면 됩니다.

이를 위해 nano 에디터를 사용하시면 됩니다. `Ctrl+X`를 누른 뒤 변경사항을 저장하겠냐고 물어본다면 `Y`와 `Enter`를 눌러 같은 이름으로 저장하거나 `N`를 눌러 저장하지 않고 끝내실 수 있습니다.

#### 호스트 네임

다음과 같이 `/etc/hostname`에 호스트 네임을 넣으십시오.

    # echo myhostname > /etc/hostname

arch등 여러분 좋을 대로 정하십시오. 이것은 여러분 컴퓨터의 이름입니다.

참고: `/etc/hosts` 파일을 더 이상 수정할 필요가 없습니다. nss-myhostname 꾸러미가 호스트 이름을 관리하며 이 꾸러미는 기본적으로 모든 시스템에 설치됩니다.

#### 콘솔 폰트와 키맵

`/etc/vconsole.conf`를 수정하십시오.

    # nano /etc/vconsole

    KEYMAP=us
    FONT=
    FONT_MAP=

- `KEYMAP` - 원한다면 설치 시작때 키맵을 변경할 때사용한 키맵을 넣어도 됩니다. 하지만 기본 `us`로도 대부분의 키보드에 사용할 수 있습니다. 이 세팅은 TTY에만 유효하고 어떤 그래픽 윈도 매니저 혹은 X에도 적용되지 않는다는 것을 알아두십시오.
- `FONT` - 사용할 수 있는 대체 폰트는 `/usr/share/kbd/consolefonts/`에 있습니다. 기본대로 비워 두는 것이 안전합니다.
- {{ic|FONT_MAP - 부팅시에 setfont프로그램이 로드할 콘솔 맵을 지정합니다. 사용할 수 있는 콘솔 맵은 `/usr/share/kbd/consoletrans`에 있습니다. 기본대로 비워 두는 것이 안전합니다.

더 많은 정보를 위해서는 Console fonts와 `man vconsole.conf`를 보십시오.

#### 시간대

zone과 subzone은 `/usr/share/zoneinfo/<Zone>/<SubZone>` 디렉토리 내에 있습니다.

사용 가능한 <Zone>을 보려면, 다음과 같이 `/usr/share/zoneinfo/` 디렉토리를 확인하십시오.

    # ls /usr/share/zoneinfo/

마찬가지로, <SubZone>을 보려면 다음과 같이 해당 디렉토리의 내용을 보십시오.

    # ls /usr/share/zoneinfo/Asia

다음 명령어를 이용해서 `/etc/localtime`을 해당 `/usr/share/zoneinfo/<Zone>/<SubZone>`에 심볼릭 링크를 걸도록 하십시오.

    # ln -s /usr/share/zoneinfo/<Zone>/<SubZone> /etc/localtime

예시:

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

systemd의 시간대 설정을 사용한다면, `/etc/timezone` 파일도 고쳐서 여러분의 시간대를 `Zone`/`Subzone`형식으로 적는 것이 좋습니다.

예시:

    # nano /etc/timezone

     Asia/Seoul

더 많은 옵션에 대해서는 `man 5 timezone`를 읽으십시오.

추후에는 `/etc/timezone`을 사용하지 않게 될 것입니다.[1]

#### 로캘

로캘은 glibc나 로캘을 감지할 수 있는 다른 프로그램이나 라이브러리가 텍스트를 렌더링할 때, 지역 화폐를 표시할 때, 시간과 날짜 형식을 표시할 때, 문자의 특성을 사용할 때 등등 로캘의 특성에 맞는 작업을 하기 위해 쓰입니다. 로캘의 자세한 목록과 각각이 무엇을 줄인 말인지 알고 싶다면 여기를 보십시오.

만약 설치 과정 및 재부팅 이후에 시스템 메시지를 영어로 보고 싶다면 계속 읽으십시오. 그렇지 않다면 예시를 보십시오.

수정할 파일은 `locale.gen`와 `locale.conf` 두 개입니다.

- 기본적으로 `/etc/locale.gen`는 주석처리 되어 있는 빈 파일입니다. UTF-8 인코딩만 선택한다면 영어가 아닌 줄도 주석 해제하실 수 있습니다.

    # nano /etc/locale.gen

    en_US.UTF-8 UTF-8

    # locale-gen

이것은 glibc를 업그레이드 할 때 마다 실행되어 `/etc/locale.gen`에 지정된 모든 로캘을 생성합니다.

- `locale.conf`파일은 기본적으로 존재하지 않습니다. `LANG`만 지정해도 충분합니다. 이것은 다른 변수에 대한 기본값으로 작용합니다.

참고: 이 파일은 일반 사용자가 읽을 수 있어야 하므로 이상한 권한을 적용시키지 마십시오. 이 파일은 사용자가 로그인 할 때 읽어들이게 됩니다..

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

다른 `LC_*` 변수를 설정하려면, 먼저 `locale`을 실행하여 가능한 옵션을 보십시오. 전문적인 예제는 여기서 보실 수 있습니다.

참고: `LC_ALL` 변수는 사용하지 않기를 권장합니다. 이 변수는 모든 변수를 덮어씁니다.

##### 영어가 아닌 언어에 대한 예시

만약 설치 과정 및 재부팅 이후에 영어가 아닌 언어(이 예제에서는 한국어)를 보고 싶으시다면, 다음과 같이 진행하시면 됩니다.

    # nano /etc/locale.gen

    en_US.UTF-8 UTF-8
    ko_KR.UTF-8 UTF-8

    # locale-gen

    # echo "LANG=ko_KR.UTF-8" > /etc/locale.conf
    # export LANG=ko_KR.UTF-8

#### 하드웨어 시계

참고: `/etc/rc.conf`에 HARDWARECLOCK이 설정되어 있지 않도록 하십시오.

하드웨어 시계를 같은 시스템 상의 모든 운영체제에 똑같이 설정하십시오. 그렇지 않으면 서로 시간을 덮어쓰면서 시계 오차 보정이 잘못될 수 있습니다.

다음 명령 중 하나를 사용해서 `/etc/adjtime`를 자동으로 생성시킬 수 있습니다.

- UTC (추천)

참고: 하드웨어 시계에 UTC를 쓴다고 소프트웨어에도 UTC가 표시된다는 것은 아닙니다.

      # hwclock --systohc --utc

- localtime (비추천) - 윈도우의 기본 설정

      # hwclock --systohc --localtime

  경고: localtime을 쓰면 여러 가지 고칠 수 없는 버그가 나타날 수 있습니다. 하지만 localtime에 대한 지원을 없앨 계획은 없습니다.

##### 듀얼 부팅 시 윈도우 설정 방법

윈도우와 함께 듀얼 부팅을 한다면, 여러분은 두 가지 선택지가 있습니다:

- 권장되는 방법 : 아치 리눅스와 윈도를 모두 UTC를 사용하도록 설정합니다. 레지스트리를 약간 고쳐야 합니다. 또한, 윈도우가 인터넷에서 시간을 동기화 하지 않도록 하십시오. 윈도우가 인터넷에서 시간을 동기화 하도록 하면 하드웨어 시계가 다시 localtime을 사용하게 됩니다. 만약 그런 기능(NTP 동기화)을 쓰고 싶다면 아치 리눅스에서 ntpd를 사용하도록 하십시오.

- 권장되지 않는 방법 : 아치 리눅스를 localtime으로 맞춰 두고 `/etc/rc.conf`의 데몬 중에서 시간에 관련된 모든 데몬을 지우십시오. 윈도우가 하드웨어 시계를 맞춰 줄 것입니다. 만일 일광 절약제(DTS)가 시행되는 곳이라면 일광 절약제가 시작되고 끝나는 봄과 가을에는 윈도로 한 번씩 부팅을 해 줘야 합니다.

#### 커널 모듈

도움말: 필요한 모듈은 udev에 의해 자동으로 로드됩니다. 따라서 여기에 무언가를 추가할 필요는 거의 없을 것입니다. 꼭 필요한 모듈만 추가하십시오.

    # nano /etc/modules-load.d/virtio-net.conf

    # Load virtio-net.ko at boot.

    virtio-net

만약 하나의 `*.conf`에서 여러개의 모듈을 로드하고 싶다면, 모듈 이름을 줄바꿈으로 구분하여 넣으십시오. 여기에서 예시를 보실 수 있습니다..

빈줄과 `#` or `;`로 시작하는 줄은 무시됩니다.

#### 데몬

도움말: `DAEMON` 행은 지금 변경할 필요는 없지만 데몬이 무엇인지는 여기서 짚고 넘어가는 것이 좋습니다.

데몬은 이벤트가 발생할 때 적절한 서비스를 제공할 수 있도록 백그라운드에서 대기하는 프로그램을 말합니다. 적절한 예로는 요청에 대해 페이지를 전달해 주도록 대기하는 웹 서버(예: `httpd`), 유저가 로그인할때까지 대기하는 SSH 서버 (예: `sshd`), 시스템 메시지를 로그 파일에 기록하는 데몬 (예: `syslog-ng`), 비트토렌트 클라이언트 (예: `rtorrent`, `deluged`), 음악 플레이어 (예: `mpd`), 로그인 매니저 (예: `gdm`, `slim`), 방화벽 (예: `iptables`) 등이 있습니다. 이런 것들은 기능이 많은 프로그램이지만, 하는 일이 그리 눈에 띄지 않는 데몬도 있습니다. 이들의 가장 큰 장점은 Xorg가 꺼지더라도(혹은 없더라도) 계속 작동할 것이라는 점입니다.

Daemons can be added to the `DAEMONS` line in `/etc/rc.conf` and they will start when the system boots, in the order that they are placed. Their names are the equivalent scripts from `/etc/rc.d/`. 데몬은 `/etc/rc.conf`의 DAEMONS 행에 추가할 수 있으며 시스템 부팅 시에 목록에 들어있는 순서대로 시작될 것입니다. DAEMONS 목록의 이름은 `/etc/rc.d/`스크립트의 이름과 같습니다.

    #nano /etc/rc.conf

    DAEMONS=(network @syslog-ng netfs @crond)

- 스크립트 이름 앞에 `!`를 붙이면 실행되지 않습니다.

- 스크립트 이름 앞에 `@`을 붙이면 해당 스크립트는 백그라운드에서 실행됩니다. 그러면 시작 시퀀스는 다음으로 넘어가기 전에 데몬의 작업이 끝나도록 기다리지 않습니다(이는 부팅을 빠르게 할 수 있습니다). 다른 데몬에 필요한 데몬은 백그라운드화 시키지 마십시오. 예를 들어 `mpd`스크립트는 network 데몬에 의존합니다. 그러므로 network 데몬을 백그라운드화 시키면 mpd 데몬이 깨질 수 있습니다.
- 부팅 시에 자동으로 시작시켜야 할 시스템 서비스를 설치할 때 마다 이 목록을 수정해 주십시오.

사용할 수 있는 서비스(및 각 서비스의 상태)는 다음 명령어로 확인할 수 있습니다.

    # rc.d list

### 네트워크 설정하기

여러분은 네트워크를 다시 한 번 설정해야 합니다. 이번에는 새로 설치한 운영체제에 대한 설정입니다. 순서와 필요조건은 영구적으로 만들것이라는 것과 부팅 때 마다 실행되게 할 것이라는 점만 빼면 위에서 설명한 바와 비슷합니다.

#### 유선 네트워크

여러분이 단 하나의 유선 네트워크 연결을 사용한다면, 유동/고정 IP에 모두 쓸 수 있는 `network`데몬을 사용하시면 됩니다.

첫번째로, 해당 데몬이 DAEMONS 열에 들어 있는지 확인하십시오.

    #nano /etc/rc.conf

    DAEMONS=(... network ...)

그러면 다음과 같이, IP 주소 할당 방식에 따라 `/etc/rc.conf`의 NETWORKING부분을 설정합니다.

유동 IP

부팅시에 작동시킬 네트워크 인터페이스가 `eth0`라고 하면, 다음처럼 설정하십시오.

    interface=eth0
    address=
    netmask=
    gateway=

DNS 서버 주소는 `dhcpcd` 데몬에 의해 자동으로 채워넣어질 것입니다.

고정 IP

고정 IP를 사용한다면, 다음처럼 설정하십시오.

    interface=eth0
    address=192.168.0.2
    netmask=255.255.255.0
    broadcast=192.168.0.255
    gateway=192.168.0.1

또한 다음과 같이 `/etc/resolv.conf`에 네임서버(DNS)의 IP 주소와 로컬 도메인 네임을 넣어야 할 것입니다.

    nameserver 61.23.173.5
    nameserver 61.95.849.8
    search example.com

도움말: `network` 데몬은 단일 유선 네트워크에 접속하는 경우에만 사용할 수 있습니다. 여러 네트워크 설정을 사용하는 경우(예를 들어 랩탑의 경우) 유/무선 연결을 모두 관리할 수 있도록 만들어진 netcfg와 같은 네트워크 관리 프로그램을 사용할 것을 권합니다.

#### 무선 네트워크

`network`데몬은 무선 네트워크 연결을 다루는 데는 적합하지 못합니다. netcfg와 같이 무선 네트워크를 설정하고 관리하는 다른 프로그램을 설치해야 할 것입니다. NetworkManager와 Wicd도 많이 쓰입니다.

- 필요 패키지를 설치합니다.

    # pacman -S wireless_tools netcfg

- WPA/WPA2 암호화를 사용한다면, 다음도 설치합니다.

    # pacman -S wpa_supplicant wpa_actiond

- 인터넷 연결하기와 Wireless network configuration#Drivers_and_firmware에 설명된 대로 무선 어댑터에 펌웨어가 필요하다면, 해당 펌웨어가 들어 있는 패키지를 설치하십시오. 예시:

    # pacman -S zd1211-firmware

다음으로, `wifi-menu`를 통해 네트워크에 연결합니다. `ip link`로부터 인터페이스 이름을 넘겨주어도 됩니다. 그러면 SSID 이름으로 `/etc/network.d` 내에 프로필 파일이 생성될 것입니다. 수동 설정을 위해 `/etc/network.d/examples/`에 템플릿도 있습니다.

- `/etc/rc.conf`의 `DAEMONS`행에 `net-auto-wireless`를 다음과 같이 추가해 주십시오. 그러면 알려진 네트워크에 연결할 것이고 로밍과 연결 끊김을 부드럽게 처리할 것입니다.

    /etc/rc.conf

    DAEMONS=(... net-auto-wireless ...)

- `/etc/conf.d/netcfg`의 `WIRELESS_INTERFACE`변수에 사용하고자 하는 무선 인터페이스가 wlan0가 아니라면 다음과 같이 지정해 주십시오.

    /etc/conf.d/netcfg

    WIRELESS_INTERFACE="wlan0"

자동으로 연결할 네트워크 프로필의 목록을 지정하는것도 가능합니다. `/etc/conf.d/netcfg`에 `AUTO_PROFILES`변수를 사용하면 됩니다. `AUTO_PROFILES`가 지정되지 않으면 모든 알려진 무선 네트워크에 대해 시도하게 됩니다.

참고: Netcfg는 `net-auto-wireless`와 함께 사용할 수 있는 `net-auto-wired`도 제공합니다.

#### 모뎀 직접 연결

아날로그 모뎀(전화접속)이나 ISDN 등 xDSL에 대해서는, 자세한 설명을 위해 Direct Modem Connection를 보십시오.

### 초기 램디스크 환경 생성하기

`/etc/mkinitcpio.conf`를 필요한 대로 설정하고(mkinitcpio를 참고하세요.) 초기 램디스크를 다음 명령어로 생성하십시오.

    # mkinitcpio -p linux

도움말: 대부분의 유저들은 `/etc/mkinitcpio.conf`에 있는 설정을 그대로 사용하면 됩니다..

### 부트로더 설치 및 설정하기

Syslinux나 Grub 중 하나를 설치하십시오. 모두 설치할 필요는 없습니다. Syslinux의 경우 설정 파일이 하나이기 때문에 이해하고 설정하기 쉽습니다. 반면에 GRUB의 경우 설정 파일이 많긴 하지만(그래서 설정을 하나라도 바꿀 때 마다 `grub.cfg`를 재생성하는 명령어를 실행해야 하지만), 일단 GRUB을 사용해 본다면 나중에 GRUB의 fork인, 더 많은 커스터마이징이 가능한 BURG로의 이동을 쉽게 할 수 있을 것입니다. 물론 Syslinux도 커스터마이징이 가능하기는 합니다. (*)

#### Syslinux

참고: Syslinux는 아직 UEFI를 지원하지 않습니다.

다음과 같이 `syslinux`를 설치한 뒤, `syslinux.cfg`를 수정해서 `/`(루트)를 올바르게 지정하도록 하십시오. 이 과정은 중요합니다. 만약 기본값이 엉뚱한 파티션을 가리키고 있다면 아치 리눅스는 제대로 부팅되지 못할 것입니다.

    # pacman -S syslinux
    # nano /boot/syslinux/syslinux.cfg

    ...
    LABEL arch
            ...
            APPEND root=/dev/sda3 ro
            ...

`/dev/sda3`를 여러분의 루트 파티션 지정자로 바꾸십시오(앞의 예시에서는 sda1이 됩니다). `LABEL archfallback`에 대해서도 같은 절차를 반복하십시오.

그리고 다음 명령어를 통해 파일을 설치(`-i`)하고, 부트 플래그를 지정해서 파티션을 활성화(`-a`)시키고, MBR 부트 코드를 설치(`-m`)하도록 하십시오.

    # syslinux-install_update -iam

syslinux를 설정하고 사용하는 데 대한 더 많은 정보를 위해서는 Syslinux를 보십시오.

#### GRUB

BIOS용 설치하기:

    # pacman -S grub-bios
    # grub-install --target=i386-pc --recheck /dev/sda

UEFI용 설치하기:

    # pacman -S grub-efi-x86_64
    # grub-install --target=x86_64-pc --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck

참고: 간혹 `grub-efi-i386`를 대신 설치해야 할 수 있습니다. 예를 들어 오래된 맥의 경우, 하드웨어가 UEFI 1.x와 2.x가 혼합되어 있기 때문에 CPU가 64비트더라도 부트로더는 32비트 모듈만 지원할 수 있습니다.
참고: GRUB만이 UEFI 부트로더를 사용할 수 있는것은 아닙니다. UEFI Bootloaders를 보십시오.

부팅 시에 (필요없는) 에러 메시지를 표시하지 않기 위해서는 다음과 같이 하십시오.

    # cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

`grub.cfg` 파일을 생성하십시오.

도움말: 만약 컴퓨터 내의 다른 운영체제도 감지해내길 원한다면 다음 명령어를 실행하기 전에 다음과 같이 os-prober를 먼저 설치하도록 하십시오.

    # pacman -S os-prober

    # grub-mkconfig -o /boot/grub/grub.cfg

GRUB에 대한 더 많은 정보가 필요하면 GRUB 페이지를 보십시오.

### 루트 비밀번호

`passwd`를 통해 루트 비밀번호를 지정하십시오.

### 파티션을 언마운트 시키고 재부팅하기

chroot을 빠져나오십시오.

    # exit

파티션이 `/mnt`에 마운트되어 있으므로, 다음 명령어를 통해 언마운트 시킵니다.

    # umount /mnt/{boot,home,}

설치를 끝내고 재부팅시키십시오.

    # reboot

도움말: 설치 매체를 꺼내고 바이오스의 부팅 순서를 (설치할 때 바꿨다면) 되돌리는 것을 잊지 마십시오. 그렇지 않으면 다시 설치 미디어로 부팅될 것입니다.
Categories:

- Getting and installing Arch (한국어)
- About Arch (한국어)