# Official Installation Guide (한국어)

Summary help replacing me
아치 리눅스 배포판 일반 설치 설명서 이 문서는 2010.05버전 이후 출시된 버전에서만 유효합니다. 그리고 이 문서는 aif git으로 관리됩니다. 아치 메일링에서는 Git 에서 요청하고, 패치하고, 코멘트를 달아주는 것에 대하여 환영합니다. 이 문서를 /usr/share/aif/docs 디렉토리에서 The arch Wiki 라는 파일로 볼 수 있습니다.
Related
[[Beginners' guide Beginners Guide]] (아치를 처음 접하셨으면 이 문서를 보세요.)

공식설치 가이드는 aif.git에서 관리합니다.

마지막 출시(2011.08.19 여기서 찾을 수 있습니다.) 된 버전을 포함합니다.

최신 버전의 설치가이드는 이곳에서 볼 수 있습니다.

(비공식) 초급자 가이드에서는 설치와 설정 절차까지 철저히 다룹니다.

# 아치 리눅스 소개

## 아치 리눅스가 무엇입니까?

아치 리눅스는 독립적으로 개발된 리눅스 배포판이며, i686과 x86-64에 최적화되어있습니다. 이것은 원래 CRUX의 아이디어에 기초한 것입니다.
아치 리눅스의 개발은 단순함, 우아함, 코드의 정확함(code-correctness), 최첨단 소프트웨어의 균형을 맞추는데 초점을 맞췄습니다.
아치 리눅스는 가볍고 단순하게 설계되었기에, 여러분이 구성하려는 시스템의 종류와는 상관없이 그것에 맞게 확장하고 변경하기 쉽습니다.

## 라이센스

아치 리눅스와 스크립트는 다음 저작권의 보호를 받습니다.

2002-2007 Judd Vinet

2007-2010 Aaron Griffin

그리고 GNU General Public License (GPL) 라이센스에 따릅니다.

# 설치 전에

## 아치 리눅스의 아키텍처

아치 리눅스는 i686과 x86_64 프로세서에 최적화되어 있습니다. 따라서 x86 CPU 중 i386, i486, i586과 같은 이전 프로세서들에 과는 호환되지 않습니다. 펜티엄 프로, 펜티엄 II 또는 AMD 애슬론(K7) 프로세서 도는 더 성능이 좋은 프로세서가 요구됩니다. (기술적으로 cmov 명령이 없는 AMD K6, VIA C3 같은 CPU도 i686입니다만, 우리는 GCC에서 사용되는 cmov 명령어를 사용합니다.) 아치 리눅스를 설치하기전에 여러분이 좋아하는 설치방법을 선택하세요.

## 사용 가능한 이미지 포멧들

아치 리눅스는 CD나 USB에 저장이 가능한 iso 파일 포멧을 지원합니다.

이때 Isolinux 부트로더가 사용됩니다. 두가지 수단으로 설치가 가능한대, 사실 지원된 패키지만 다를 뿐입니다.

- "core" 이미지에는 core 패키지 스냅샷이 들어있습니다.
  이 이미지는 인터넷 속도가 매우 느리거나, 인터넷을 접속하기 어려운 분들에게 가장 적합합니다.

- "net" 이미지에는 패키지가 없습니다. 그래서 패키지를 설치할 때 인터넷과 연결이 되어있어야 합니다.

최신판을 설치하려면, 두 경우 모두 netinstall를 사용하면 됩니다. "core" 이미지에서는 굳이 사용할 필요가 없습니다. 모든 이미지로 시스템을 복구할 수 있습니다. 설치된 아치 리눅스 시스템처럼 실행이 됩니다.
사실, 설치 이미지들은 설치된 아치 리눅스 시스템과 똑같습니다. 단지 저장 매체가 HDD가 아닌, CD나 USB일 뿐입니다.
여기에는 "base" 패키지 세트뿐만 아니라, 다양한 네트워킹 유틸과 드라이버가 들어있으며, aif 패키지도 설치되어 있습니다.
만약 실행하다가 뭔가 더 필요한 것이 생긴다면, 인터넷을 연결하고 pacman을 사용하여 설치하면됩니다.
pacman 명령의 간략한 사용 방법은 이 문서 끝 부분에 있습니다.

i686, x86_64 또는 dual 아키텍처용 이미지가 모두 준비되어 있습니다. Dual 아키텍처용 이미지는 i686, x86_64 둘 다를 포함하고 있으며, 부팅할 때 아키텍처를 선택할 수 있습니다. (역자주: Dual 아키텍처 - i686과 x86_64를 모두 지원하는 아키텍처를 말함.)

## 설치도구 AIF

아치 리눅스는 설치를 수행하기 위해서 아치 리눅스 설치 프레임워크인 AIF를 이용합니다.
bash로 짜인 이 도구는 패키지의 설치, 디스크의 준비 등 다양한 기능을 수행하기 위한 몇 가지 라이브러리와 몇가지의 프로시저로 구성되어 있습니다. 프로시저는 라이브러리를 사용하여 설치나 좀 더 작은 규모의 관련 작업(부분적 프로시저)을 위한 쉬운 방법을 제공합니다.

- 대화식(interacitve): 대화식 설치 절차는 몇 가지 질문을 통해 설치 과정을 안내하며, 시스템을 구성할 수 있도록 도와줍니다. 설정 값들은 당신이 그전에 설정한 것 (예를 들면 네트워크 설정 등)에 따라 자동으로 변경됩니다.
  설치된 시스템은 기본 패키지를 기준으로 취향에 맞게 설정된 것들이 설치되며, 필요한 유틸리티나 드라이버들은 온라인을 통하여 설치할 수 있습니다.
  일단 설치된 시스템이 제대로 부팅된다면 전체 시스템 업그레이드를 수행할 수 있고, 원하는 다른 패키지를 설치할 수도 있습니다. (`/arch/setup`을 실행하면 됩니다.)
- 자동(automatic): 사용자 개입을 최소화하도록 설계된, 자동화된 배포 도구와 비슷한 프로시저가 제공됩니다.
  시스템 구성을 위해 프로파일을 사용합니다.
  프로파일 예제는 /usr/share/aif/examples/ 폴더 아래의 파일을 참조하세요.
- 기본(base): 일반적인 기본값을 이용하여, 거의 자동화된(선택 또는 입력이 필요없는) 기본 설치를 제공합니다.
  이 프로시저는 이것을 상속하는 다른 프로시저에 의해 사용되며, 이것은 최종 사용자에게 직접 사용됨을 의미하는 것은 아닙니다.
- partial-configure-network: 대화형 프로시저에서 네트워크 구성 단계를 따로 때네어 사용자의 설치 환경에서 네트워크를 설정할 수 있도록 해줍니다.
- partial-disks: 디스크 서브시스템을 처리하거나 롤백을 처리합니다.
- partial-keymap: 키맵이나 콘솔의 글꼴 설정을 변경합니다.(`km`를 실행하면 됩니다.)

loadkeys나 ifconfig와 같은 도구를 사용하는 것보다는 partial-keymap이나 partial-configure-network와 같은 프로시저를 사용함으로써 좋은 점은 대화형 프로시저를 실행하기 전에 시스템의 설정파일에 여러분이 원하는 설정 적용 여부를 선택할 수 있습니다.

만약 뭔가를 더 해보고 싶으시다면, 다음 것들도 가능합니다.:

- 처음부터 스스로, 또는 다른 프로시저 일부를 재작성함으로써 자신만의 프로시저를 작성해보세요.
- 새롭고 재사용 가능한 기능을 제공할 수 있도록 자신만의 라이브러리를 작성해보세요.
- 자동화를 지원하기 위한 프로시저에서 자신만의 설정을 만들어보세요.

더 자세한 정보는 AIF readme 파일을 참조하세요.

## 아치 리눅스 구하기.

- 다운로드 페이지에 나열된 미러 사이트들로부터 아치 리눅스를 내려받을 수 있습니다.

- Archux, OSDisc 또는 LinuxCD로부터 설치 CD를 구매할 수 있습니다. 이곳에서는 세계 어디에나 배송합니다.

## 설치 본 준비하기

- 토런트(권장합니다.)를 통하거나 선호하는 미러 사이트를 통해 필요한 설치 본을 내려받으세요.

- iso/<release>/sha1sums.txt 를 내려받으세요.

- sha1sum을 이용하여 .iso 이미지가 원본과 같은지 확인하세요.:

  sha1sum --check sha1sums.txt

  archlinux-XXX.iso: OK

- ISO 이미지를 CD-R이나 CD-RW로 구우세요. 또한, USB 메모리를 이용하셔도 됩니다. 이때 dd 명령어 혹은 CD 굽는 프로그램을 이용해서 만드셔도 됩니다.:

  dd if=archlinux-XXX.iso of=/dev/sdX

/dev/sdX1이 아니라 /dev/sdX로 한 것을 잊지 마세요.
이 명령어는 USB 메모리에 있던 모든 내용을 지워 버리기에 복원할 수 없습니다. 명령을 내리기 전에 USB 메모리에 중요한 파일이 없는지 확인하세요.

# 아치 리눅스 설치하기

## 설치본으로 설치하기

### 부팅하기 전에

CD-ROM이나 USB로 부팅할 수 있도록 BIOS가 세팅되어 있어야 합니다. 아치 리눅스 설치 CD를 넣거나, USB를 꽂고 컴퓨터를 다시 부팅하세요. 일단 설치 본(CD나 USB)으로 부팅이 시작되면, 아치 리눅스 로고와 Isolinux 메뉴가 나옵니다. Isolinux에서 여러분은 선택하면 됩니다. 그냥 엔터키를 치셔도 됩니다.

### 부팅 후...

부팅 절차가 끝나면, 여러분의 화면 최상단에 간단한 명령과 함께 로그인 프롬프트가 나옵니다.
루트(root)로 부팅하세요. 이때부터 원하는 프로그램을 직접 빌드가 가능하며, 설치를 시작할 수도 있습니다.

- non-US keymap이나 특정한 consolefont를 선호한다면, 이를 바꾸기 위해서 `km`을 타이핑하세요.
- 설치를 시작하기 전에 네트워크 접속을 해야 하는 경우엔, `aif -p partial-configure-network`를 타이핑하세요. (NET 설치를 위해 네트워크 설정할 수 있습니다.

두 항목 모두 사용할 경우, 여러분이 바꾼 설정이 최우선이 되며, 대화형 프로시저를 따라가는 과정에서 여러분이 선택하시는 것에 따라 적용이 됩니다.

루트 권한(non-privileged user)으로 작업하지 않으면 `arch`를 활용하시면 됩니다.
웬만해서는 필요하지 않을 겁니다.

설치할때 필요한 모든 것들이 /arch 에서 찾을 수 있습니다. (설치할때 필요한 설치 가이드와, aif README, aif 프로시저를 사용하기 위한 스크립트 등이 있습니다.)

## PXE(네트워크 부팅) 사용하기

### Server

다른 컴퓨터에 (아치) 리눅스가 (라이브 또는 설치되어) 작동 중일 때,
DHCP와 tftpd 데몬을 설치하고 설정하십시오. Dnsmasq를 사용하면 무난하게 둘 다 설치할 수 있습니다.
또 nbd(nework block device)데몬도 필요합니다. 그래야지 클라이언트가 필요한 파일을 불러올 수 있습니다.

커뮤니티 기여 위키 문서에서 더욱 많은 정보를 찾을 수 있습니다.

(다음 섹션에서는 좀 더 상세한 내용을 다룹니다.)

### Client

네트워크 부팅(pxe)을 사용할 수 있게, 시스템을 설정하세요. 대부분 시스템에서는 기본으로 설정되어 있습니다. 알아서 서버에서 IP를 가져오고, 필요한 파일을 네트워크를 이용해서 불러올 겁니다. 일단 부팅이 되면, 정상적으로 진행할 수 있습니다.

## 설치하기

여러분은 대화형 절차나 자동(설치) 중 하나를 선택하여 사용할 수 있습니다.
자세한 정보는 [#Aif_the_installation_tool 2.3 AIF, 설치 도구(번역주: wiki문서 사라짐)]부분이나 AIF Readme 파일을 참조하세요.

### 대화형 설치 절차

`/arch/setup` (또는 `aif -p interactive -d -l`, 사실 같음)을 입력해 시작하세요.

환영 인사와 같이 설치 재확인을 거치게 되면, 설치 메뉴 화면을 보시게 될 겁니다. 상하키를 이용하여 이동하시면 됩니다. 탭(TAB)을 누르면 버튼을 이동할 수 있고, 엔터(ENTER)를 누르면 선택됩니다. 설치 중 언제라도 ALT+F7을 누르면 7번째 가상 콘솔에서 설치 실행 중인 로그 값을 확인할 수 있습니다. Installer가 진행 중인 첫 번째 콘솔로 돌아가려면 ALT+F1을 누르세요. 그리고 설치 중에 다른 작업을 하기 위해 새로운 콘솔 창을 띄우시려면 ALT+F2~F6 기능키를 눌러 주시면 됩니다.

#### 소스 선택

우선 아치 리눅스에 설치할 소스들을 받아올 저장소를 선택해야 합니다. 사용하시는 인터넷 속도가 빠르다면, 저장소를 이용하여 설치하시는 게 좋습니다. 그러시면 최신 소스들로 받을 수 있습니다. NET 이미지로 하셨다면, 선택하고 말고 할게 없고요. NET 이미지는 네트워크로 밖에 설치가 안 되니까요. ;-). 여러분의 저장소를 파일 시스템 트리에 수동으로 마운트 할 수도 있습니다. Core 이미지는 인터넷 접속환경이 좋지 않으실 때는 코어 아키브로 사용하세요. 코어 아키브가 오래돼서 사용하기 그렇지 않다면 말이지요. 여러분은 이제 Core 저장소를 선택하기만 하면 됩니다. 로컬과 원격 저장소를 같이 사용하시는 것도 됩니다만, 잘 아는 경우에만 하세요. (이전 버전의 Core 아키브를 이용해서 새 버전 패키지를 네트워크 미러로 내려받게 되면, 패키지가 깨질 수 있습니다.)

##### 네트워크 미러를 사용하시는 경우 보시면됩니다.

###### 네트워크 설정

"네트워크 설정하기" 메뉴에서는 네트워크 장치를 설치하고 설정할 수 있습니다. 무선 랜을 사용하는 경우에는, 랜을 사용하기 위해서 몇 가지 유틸리티가 필요합니다. (유선을 사용하신다면 이 단계는 필요 없습니다.) 목록에 현재 사용 가능한 네트워크 장치들이 보입니다. 만약에 이더넷 장치를 사용할 수 없거나, 찾지 못했을 땐, 확인을 눌러 찾아보시거나, 다른 콘솔로 전환해서 수동으로 모듈을 찾으셔야 합니다. 그래도 네트워크 카드를 찾을 수 없으시다면 하드웨어가 있는지 확인을 해주시고, 리눅스 커널에서 지원하는 장치인지 확인해주세요.

올바른 모듈이 로드되고 여러분이 설정하고자 하는 네트워크 카드가 목록에 표시되면, 여러분은 사용할 이더넷 장치를 선택하십시오. 그러면 DHCP의 사용 여부를 물어봅니다. 만약 DHCP를 사용하신다면, Yes를 선택하시면 됩니다. 그리면 나머지 과정은 알아서 설치됩니다. 만약 DHCP를 사용하지 않는다면, No를 선택하셔서 네트워크 설정 정보를 입력하시면 됩니다. 어느 쪽을 선택하셨든 여러분은 네트워크 설정을 하실 수 있습니다. 확인 하시려면 다른 콘솔에서 Ping과 같은 표준 도구를 사용하시면 됩니다.

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

"미러 사이트 선택하기"를 통해서 여러분은 아치리눅스 시스템에 설치될 패키지를 다운 받을 미러사이트를 선택할 수 있습니다. 빠른 다운로드를 위해서는 한국 미러사이트를 선택하시면 됩니다. 설치과정 중에 지금 설정한 미러 사이트를 기본 미러사이트로 설정할 것인지 물어볼 것입니다. 그리고 미러사이트를 하나만 선택하시지 마시고 여러군데 해놓으시는 것을 추천합니다. 찾는 패키지가 한국 미러 사이트에 없을 수도 있고, 끊기게되면 다시 변경해야되는 불편을 없엘 수 있습니다.

*노트: * ftp.archlinux.org 는 다운속도 50 KB/s로 나옵니다..

FTP 설치를 선택했을 경우에만 선택이 가능합니다. 설치가 끝난뒤, "메뉴로 돌아가기"를 선택해주세요.

### 에디터 설정하기

좋아하시는 에디터를 기본 에디터로 선택하실 수 있습니다. nano와 vi를 기본으로 제공합니다.(물론 별도의 콘솔에서 설치하셨다면 pico나 joe, vim도 선택이 가능합니다. vi는 vim이 아닙니다. vi입니다.) 건너 뛸수는 있는데요. 그러면 나중에 다시 물을 꺼에요.

#### 시계 설정하기

"시계 설정하기" 메뉴에서 시스템 시간과 날짜를 설정할 수 있습니다. 우선 하드웨어 시계가 UTC인지 현지 시각(localtime)인지를 선택해야 합니다. UTC를 이용하시는게 좋습니다만, (윈도우와 같이_ UTC BIOS 시간을 제대로 처리할 수 없는 OS가 설치된 경우에는 현지 시각(localtime)을 선택하셔야 편합니다. 이 다음 단계에서 시간대를 선택하기 위해 대륙/나라를 선택한 다음 날짜와 시간을 선택하시면 됩니다. (네트워크가 연결되어 있다면, NTP를 사용하실 수 있습니다.)

#### 하드 드라이브 준비

"하드 드라이브 준비" 메뉴에서는 설치 드라이브를 준비하기 위한 두 가지 선택 가능한 서브메뉴가 있습니다. 그리고 재시도를 위한 변경 취소 방법도 제공합니다.

- 자동 구성(Auto-prepare)은 선택한 디스크를 (전체를 덮어쓰면서) 자동으로 파티션합니다. /boot, swap, /, /home 파티션을 생성하며, 사용할 파일시스템과 크기를 사용자가 조절할 수 있습니다.
- 하나 이상의 하드 디스크를 수작업으로 파티션할 수 있으며, 각 디스크의 파티션을 사용해서 전체 설정을 일일이 지정할 수 있습니다. lvm이나 dm_crypt와 같은 것들을 이용하면 됩니다.
- 롤백(Roolback)은 어떤 파일시스템이 어떻게 생성되었는지를 확인합니다. 만약 여러분이 생성한 파일시스템일 경우, 연결된 파일시스템을 언파운트 시키고, lvm과 dm_crypt 볼륨을 제거합니다. 여러분이 파티션을 설정한 다음, 이전 상태로 되돌리고 싶을때 이 옵션을 사용하시면 됩니다. 그리고 만약 잊고 사용 안하시게되면 사용하라는 메시지가 나타날껍니다.

노트:

- AIF가 새로운 dm_crypt와 lvm 볼륨을 설정할때, 당신에게 도움을 줄 수 있습니다. 그러나 소프트 RAID는 아직 지원하지 않습니다.
- AIF는 여러개의 물리적 볼륨을 하나로 묶어 볼륨 그룹을 생성하는 것을 지원하지 않습니다.(만약 사용을 원하시면, vgcreate를 사용하십시오.)
- AIF가 Blockdevice를 찾는 다면, 파일 시스템의 재사용을 지원해 줍니다. 그리고 첫뻔재 lvm/dm_crypt/softraid 파일 시스템을 다시 사용하고 싶으시면, 그 볼륨을 활성화(bring up) 해주시면됩니다.

##### 자동 구성(Auto-Rrepare)

자동 구성에서는 여러분이 선택한 하드 드라이브를 /boot, swap, /(root partition), /home과 파일 시스템을 자동으로 파티션해줍니다. 적절한 공간에 이 파티션들을 자동적으로 마운트를 해줍니다. 엄밀히 말하면 이 옵션으로 만들어줍니다.:

- 32 MB ext2 /boot 파티션
- 256 MB swap 파티션
- 7.5 GB root 파티션
- 남은 공간은 /home 파티션

필요에 따라 크기를 수정할 수 있지만, /home 파티션은 항상 디스크의 남은 용량으로 구성되게 됩니다. /boot, /, /home을 한번에 사용할 파일 시스템을 따로 정하실 수 있습니다.

자동 구성은 선택된 하드 드라이브의 모든 데이터를 지워버립니다.!

##### 원하는 구성으로 하드 드라이브 파티션(Manually partition Hard Drives)

이것을 이용하면 여러분이 원하시는 파티션을 생성할 수 있습니다. 우선 파티션을 할 디스크를 선택하시고, cfdisk라는 프로그램을 이용해서 원하시는 파티션으로 구성을 하신다음. [Write]를 실행하여 구성하시고 [Quit]로 프로그램에서 빠져나오시면됩니다. 최소한 root 파티션은 구성하셔야 됩니다.

##### 블록 디바이스, 파일 시스템, 마운트 포인트 구성

이 메뉴에서는 시스템이 인식한 모든 파티션을 보여줍니다. 새로운 파일 시스템은 목록의 처음에 생성됩니다. 다음과 같은 사항을 알고 있으셔야됩니다.:

- 여러분이 확정하기 전까지 이 모든 것들이 구성되지 않습니다.
- 모든 블록 디바이스가 모든 파일 시스템을 지원하는 것은 아닙니다.(예로, LVM 물리적 볼륨이 아닌 곳에 LVM 볼륨 그룹을 구성할 수 없습니다.) 설치 프로그램은 선택 가능한 파일 시스템을 보여줍니다. 그리고 옵션에 하나만 있다면, 자동으로 그것을 선택합니다.
- 일부 파일 시스템은 새로운 블록 디바이스를 만듭니다. dm_crypt와 lvm 볼륨에서만 간으합니다. 이것이 모델상으로 보여지고, 이위에 새로운 파일 시스템을 구성할 수 있습니다.
- mkfs 툴의 옵션을 물어보는데, 그것은 mkfs를 사용하는데 있어서 필요한 것을 더하는 것입니다. 예를 들어 ext 파일 시스템에 journal 기능을 비활성 시킬려면:
  - 잘못된 예: `^has_journal`
  - 잘된 예: `-O ^has_journal`
- fstab이나 grub의 menu.lst 등 설정파일에서 디스크를 직접적으로 표시하려면 'dev' 옵션을 사용하면 됩니다.(일반적인 드이브파일입니다.) 커널을 업데이트하는 경우엔, 장치의 이름이 변경될 수 있으며, 그것으로 문제가 발생할 수 있습니다. 'uuid'는 디스크를 오류없이 명확하게 지정하는 (하지만 조금 못나게 생긴) 방식이며, 'label'은 파일 시스템의 레이블(사용자가 직접 지정 가능한)을 사용합니다. 그리고 필요하다면 'dev'로 되돌릴 수 있습니다.

파일 시스템 구성이 끝났으면, 'Done'을 선택하세요. 여기서 심각한 에러(root 파일시스템이 구성되지 않았다라던가.)나, 무시해도 되는 에러(swap을 설정하지 않았다는 것같은)를 체크하고 실행할 껍니다. 뭔가 문제가 발견되면 물을껍니다. 그러면 그 문제에 대해서 고치기 위해서 되돌아가거나, 원하는대로 구성이 되었으면 그냥 다음으로 진행하셔도 됩니다.

예를 들어, dm_crypt 위에서 LVM을 사용하도록 설정한다면, 다음 내용대로 하셔야합니다.:

- 무개의 파티션이 만들어져 있는지 확인합니다.: (100M 정도 되는) 파티션은 암호되 되지 않은 부트를 위한 것이고, 다른 파티션은 (암호화된) 시스템을 위한 부분입니다.(그리고 이것은 "원하는 구성으로 하드 드라이브 파티션"에서 설정할 수 있습니다.)
- /dev/sdx1은 /boot ext2 파일 시스템으로 구성
- /dev/sdx2는 dm_crypt 볼륨으로 구성하고, 라벨은 sdx2crypt(다름 이름으로 바꿔도 상관없습니다.)
- /dev/mapper/sdX2crypt 가 보일꺼에요. 이것을 LVM 물리 볼륨에 올립니다.
- /dev/mapper/sdX2crypt+ 가 보이죠. 이건 물리 볼륨을 나타냅니다. 라벨에 cryptpool(다른걸로 바꿔도 돼요.)로 해서 볼륨 그룹으로 올립니다.
- /dev/mapper/cryptpool 가 보일꺼에요. 이 볼륨 그룹에서는 여러개의 논리 볼륨을 생성할 수 있습니다. 2개를 만들어요.:
  - 하는 크기가 5G: 라벨은 cryptroot
  - 다른 하나는 크기가 10G: 라벨은 crypthome
- 2개의 새로운 볼륨이 보일꺼에요:
  - /dev/mapper/cryptpool-cryptroot: 마운트 지점은 /, root 파일 시스템을 구성할 수 있는 블록디바이스이구요.
  - /dev/mapper/cryptpool-crypthome 마운트 지점이 /home인 파일 시스템을 구성할 수 있는 블록디바이스지요.
- 만약 스왑 영역을 만들고 싶다면, 논리 볼륨에 스왑을 만들고 그곳에 스왑 볼륨으로 지정하시면됩니다.
- 이제 다 됐습니다! 'done'을 선택하면, 이것들을 수행하고, 여러분이 설정한대로 디스크가 구성될껍니다. 멋진건요. 처음에는 볼륨을 작은 사이즈로 사용하다가 공간이 더 필요하게 되면, 볼륨 크기를 늘릴 수 있습니다.

##### Rollbacks

이 롤백 기능은 '블록 디바이스, 파일 시스템, 마운트 포인트 구성'과 '자동 구성' 단계에서 변경했던 사항을 모두 "undo" 작업을 합니다. <p>다음 작업을 하지요:

- 타겟 시스템에서 파일시스템 제거
- lvm, dm_crypt 볼륨 제거/되돌리기

이건 안하지요:

- 파티션 한 것 되돌리기
- ext3, xfs, swap 등 '단순한' 파일 시스템 제거

하지 않는 이유는 단순합니다.: 하드 디스크 사용하기 위해 설정했던 파일시스템들만 되돌리면 되거든요.

#### 패키지 선택

Select Packages will let you select the packages you wish to install from the CD, USB or your NET mirror. First, you are prompted to select a bootloader package (the bootloader will be configured later on in the "Install Bootloader" stage). After this, you can select package groups from which you'd generally like to install packages, then fine-tune your coarse selection by (de)selecting individual packages from the groups you have chosen using the space bar. It is recommended that you install all the "base" packages, but not anything else at this point. The only exception to this rule is installing any packages you need for setting up Internet connectivity.

Once you're done selecting the packages you need, leave the selection screen and continue to the next step.

#### Install Packages

Install Packages will now install the base system and any other packages you selected with resolved dependencies onto your harddisk.

#### Configure System

Configure System does multiple things:

- automatically preseed some configuration files (eg grub's menu.lst, mkinitcpio.conf's HOOKS, keymap settings in rc.conf, pacman mirror etc)
- preseed some configuration files after you agreed. (eg network settings)
- allow you to manually change important config files for your target system.
- allow you to set the root password for the target.
- automatically run some tools which use the updated configuration (locales, mkinitcpio, time settings, etc)

Configuration Files

These are the core configuration files for Arch Linux. If you need help configuring a specific service, please read the appropriate manpage or refer to any online documentation you need. In many cases, the Arch Linux Wiki and forums are a rich source for help as well.

- /etc/rc.conf
- /etc/fstab
- /etc/mkinitcpio.conf
- /etc/modprobe.d/modprobe.conf
- /etc/resolv.conf
- /etc/hosts
- /etc/locale.gen
- /etc/pacman.d/mirrorlist
- /etc/pacman.conf
- /etc/crypttab

/etc/rc.conf

This is the main configuration file for Arch Linux. It allows you to set your keyboard, timezone, hostname, network, daemons to run and modules to load at bootup, profiles, and more.

LOCALE: This sets your system language, which will be used by all i18n- friendly applications and utilities. See locale.gen below for available options. This setting's default is fine for US English users.

HARDWARECLOCK: Either UTC if your BIOS clock is set to UTC, or localtime if your BIOS clock is set to your local time. If you have an OS installed which cannot handle UTC BIOS times correctly, like Windows, choose localtime here, otherwise you should prefer UTC, which makes daylight savings time a non-issue and has a few other positive aspects.

USEDIRECTISA: If set to "yes" it tells hwclock to use explicit I/O instructions to access the hardware clock. Otherwise, hwclock will try to use the /dev/rtc device it assumes to be driven by the rtc device driver. This setting's default "no" is fine for people not using an ISA machine.

TIMEZONE: Specifies your time zone. Possible time zones are the relative path to a zoneinfo file starting from the directory /usr/share/zoneinfo. For example, a German timezone would be Europe/Berlin, which refers to the file /usr/share/zoneinfo/Europe/Berlin. If you don't know the exact name of your timezone file, worry about it later.

KEYMAP: Defines the keymap to load with the loadkeys program on bootup. Possible keymaps are found in /usr/share/kbd/keymaps. Please note that this setting is only valid for your TTYs, not any graphical window managers or X! Again, the default is fine for US users.

CONSOLEFONT: Defines the console font to load with the setfont program on bootup. Possible fonts are found in /usr/share/kbd/consolefonts.

CONSOLEMAP: Defines the console map to load with the setfont program on bootup. Possible maps are found in /usr/share/kbd/consoletrans. Set this to a map suitable for the appropriate locale (8859-1 for Latin1, for example) if you're using an UTF-8 locale above, and use programs that generate 8-bit output. If you're using X11 for everyday work, don't bother, as it only affects the output of Linux console applications.

USECOLOR: Enable (or disable) colorized status messages during boot-up.

MOD_AUTOLOAD: If set to "yes", udev will be allowed to load modules as necessary upon bootup. If set to "no", it will not.

MODULES: In this array you can list the names of modules you want to load during bootup without the need to bind them to a hardware device as in the modprobe.conf. Simply add the name of the module here, and put any options into modprobe.conf if need be. Prepending a module with a bang ('!') will blacklist the module, and not allow it to be loaded.

USELVM: Set to "yes" to run a vgchange during sysinit, thus activating any LVM groups

HOSTNAME: Set this to the hostname of the machine, without the domain part. This is totally your choice, as long as you stick to letters, digits and a few common special characters like the dash.

INTERFACES: Here you define the settings for your networking interfaces. The default lines and the included comments explain the setup well enough. If you use DHCP, 'eth0="dhcp"' should work for you. If you do not use DHCP just keep in mind that the value of the variable (whose name must be equal to the name of the device which is supposed to be configured) equals the line which would be appended to the ifconfig command if you were to configure the device manually in the shell.

ROUTES: You can define your own static network routes with arbitrary names here. Look at the example for a default gateway to get the idea. Basically the quoted part is identical to what you'd pass to a manual route add command, therefore reading man route is recommended or simply leave this alone.

[/index.php/Network_Profiles NET_PROFILES]: Enables certain network profiles at bootup. Network profiles provide a convenient way of managing multiple network configurations, and are intended to replace the standard INTERFACES/ROUTES setup that is still recommended for systems with only one network configuration. If your computer will be participating in various networks at various times (eg, a laptop) then you should take a look at the /etc/network-profiles/ directory to set up some profiles. There is a template file included there that can be used to create new profiles. This now requires the netcfg package.

DAEMONS: This array simply lists the names of those scripts contained in /etc/rc.d/ which are supposed to be started during the boot process. If a script name is prefixed with a bang (!), it is not executed. If a script is prefixed with an "at" symbol (@), then it will be executed in the background, ie. the startup sequence will not wait for successful completion before continuing. Usually you do not need to change the defaults to get a running system, but you are going to edit this array whenever you install system services like sshd, and want to start these automatically during bootup.

/etc/fstab

Filesystem settings and mountpoints are configured here. The installer should have created the necessary entries. Ensure they are accurate and correct.

/etc/mkinitcpio.conf

This file allows you to fine-tune the initial ramdisk for your system. The ramdisk is a gzipped image that is read by the kernel during bootup. Its purpose is to bootstrap the system to the point where it can access the root filesystem. This means it has to load any modules that are required to "see" things like IDE, SCSI, or SATA drives (or USB/FW, if you are booting off a USB/FW drive). Once the ramdisk loads the proper modules, either manually or through udev, it passes control to the Arch system and your bootup continues. For this reason, the ramdisk only needs to contain the modules necessary to access the root filesystem. It does not need to contain every module you would ever want to use. The majority of your everyday modules will be loaded later on by udev, during the init process.

By default, mkinitcpio.conf is configured to autodetect all needed modules for IDE, SCSI, or SATA systems through so-called HOOKS. The installer should also have inserted hooks like crypt, lvm, keymap and usbinput if relevant. This means the default initrd should work for almost everybody. You can edit mkinitcpio.conf and remove the subsystem HOOKS (ie, IDE, SCSI, RAID, USB, etc) that you don't need. You can customize even further by specifying the exact modules you need in the MODULES array and remove even more of the hooks, but proceed with caution.

If you're using RAID on your root filesystem, the RAID settings near the bottom must be configured. See the wiki pages for RAID and mkinitcpio for more info. If you're using a non-US keyboard, you should also add the 'keymap' hook, as well as the 'usbinput' hook if you are using a USB keyboard.

/etc/modprobe.d/modprobe.conf

This tells the kernel which modules to load for system devices, and what options to set. For example, to have the kernel load the Realtek 8139 ethernet module when it starts the network (ie. tries to setup eth0), use this line:

     alias eth0 8139too

Most people will not need to edit this file.

/etc/resolv.conf

Use this file to manually setup your preferred nameserver(s). It should basically look like this:

     search domain.tld

     nameserver 192.168.0.1

     nameserver 192.168.0.2

Replace domain.tld and the ip addresses with your settings. The so-called search domain specifies the default domain that is appended to unqualified hostnames automatically. By setting this, a ping myhost will effectively become a ping myhost.domain.tld with the above values. These settings usually aren't mighty important, though, and most people should leave them alone for now. If you use DHCP, this file will be replaced with the correct values automatically when networking is started, meaning you can and should happily ignore this file.

/etc/hosts

This is where you stick hostname/ip associations of computers on your network. If a hostname isn't known to your DNS, you can add it here to allow proper resolving, or override DNS replies. You usually don't need to change anything here, but you might want to add the hostname and hostname + domain of the local machine to this file, resolving to the IP of your network interface. Some services, postfix for example, will bomb otherwise. If you don't know what you're doing, leave this file alone until you read man hosts.

/etc/locale.gen

This file contains a list of all supported locales and charsets available to you. When choosing a LOCALE in your /etc/rc.conf or when starting a program, it is required to uncomment the respective locale in this file, to make a "compiled" version available to the system, and run the locale-gen command as root to generate all uncommented locales and put them in their place afterwards. You should uncomment all locales you intend to use.

During the installation process, you do not need to run locale-gen manually, this will be taken care of automatically after saving your changes to this file. By default, all locales are enabled that would make sense by rc.conf's LOCALE= setting. To make your system work smoothly, you should edit this file and uncomment at least the one locale you're using in your rc.conf.

/etc/pacman.d/mirrorlist

This file contains a list of mirrors from which pacman will download packages for the official Arch Linux repositories. The mirrors are tried in the order in which they are listed. The $repo macro is automatically expanded by pacman depending on the repository (core, extra, community or testing).

If you are performing an FTP installation, the mirror you used to download the packages from will be added on top of the mirror list, in order to be used as the default mirror in your new Arch Linux system.

/etc/pacman.conf

Here you can customize pacman settings such as which repositories to use.

/etc/crypttab

If you use encryption on a device which is not used to bring up your root, (and hence is not enabled by the encrypt hook in mkinitcpio.conf), you should configure the volume in this file.

Set Root Password

At this step, you must set the root password for your system. Choose this password carefully, preferably as a mixture of alphanumeric and special characters, since this password allows you to modify critical parts of your system.

When you are done editing the configuration files choose Return to return to the main menu. The setup will regenerate the initial ramdisk to enable the changes you made in mkinitcpio.conf.

#### Install Bootloader

Install Bootloader will install and help you configure the bootloader that you selected in the "Select Packages" stage.

An editor will open, allowing you to edit the appropriate bootloader configuration file which the installer has pre-populated. You should check and modify this file, if needed, to accommodate your boot setup.

/boot/syslinux/syslinux.cfg (Syslinux) After checking your bootloader configuration for correctness, you'll be asked to allow the installer to Set the Boot Flag and install the Syslinux MBR.

/boot/grub/menu.lst (Grub) After checking your bootloader configuration for correctness, you'll be prompted for a disk to install the loader to. You should install GRUB to the MBR of the installation disk.

#### Exit Install

You will be shown a summary of the installation, listing the steps and whether they executed successfully or not. If all went well, exit the installer, type reboot at the command line, remove your installation media and cross your fingers!

### Automatic Installation Procedure

With the automatic installation procedure, you can do scripted/automatic installations. See [#Aif_the_installation_tool 2.3 AIF, the installation tool] In /usr/share/aif/examples you will find example profiles which will need no or minimal editing in order to install a system:

- generic-install-on-sda this file demonstrates some things you can do (adding custom packages, setting timezone, update config files etc) it sets up a simple installation (with a structure similar to what you get with Auto-prepare) on /dev/sda
- fancy-install-on-sda very similar to generic-install-on-sda, but sets up a "filesystems on lvm on dm_crypt" system on /dev/sda

Note that these files are plain bash files, so if you want to define for example `SYNC_URL` it must be singlequoted to prevent bash expanding `$repo`

Invoke as `aif -p automatic -c /path/to/configfile` Obviously, don't forget to change the hard disk names unless you want to use /dev/sda.

#### Config file syntax

Config files will be sourced by the bash shell, so they need to be valid bash code.

PARTITIONS: Allows you to define partitions for your hard disk, separated by spaces.

- first comes the device file for the hard disk
- then for each partition you want: size in MiB (or '*' for all remaining space),filesystem type and optionally a '+' to toggle the bootable flag. separated by colons (':')

BLOCKDATA: In this multi-line variable you can describe for each partition you'll have how it should be used. Study the examples to see how it works.

### Customizing Installations

You can also customize your installation experience by writing new procedures (possibly inheriting from current procedures) or config files for procedures that support it (eg automatic). You have all the aif libraries at your disposal and you can create new libraries. (see /usr/lib/aif) This is a moving target, so consult the AIF readme for more information.

# Your new system

If all went well, you can reboot your system (make sure you don't boot again from the same USB disk or CD-ROM drive) and your new system will boot.

You'll notice that in the early userspace (the part that comes after the bootloader) the hooks (as defined in mkinitcpio.conf) needed to get your root filesystem are run.
If you have lvm, it will run the lvm hook. If you use encryption, it will run the keymap and encrypt hooks so you can enter your password to decrypt the volume.

Once the system is booted, login as root. By default the password is empty but in the interactive procedure you can change it.

# More information

## Package Management

Pacman is the package manager which tracks all the software installed on your system. It has simple dependency support and uses the standard gzipped tar archive format for all packages. Some common tasks you might need to use during installation, are explained below with their respective commands. For an extensive explanation of pacman's options, read man pacman or consult the Arch Linux Wiki.

Typical tasks:

- Refreshing the package list

  # pacman --sync --refresh

  # pacman -Sy

This will retrieve a fresh master package list from the repositories defined in the /etc/pacman.conf file and decompress it into the database area.

- Search the repositories for a package

  # pacman --sync --search <regexp>

  # pacman -Ss <regexp>

Search each package in the sync databases for names or descriptions that match regexp.

- Display specific package info from the repository database

  # pacman --sync --info foo

  # pacman -Si foo

Displays information from the repository database on package foo (size, build date, dependencies, conflicts, etc.)

- Adding a package from the repositories

  # pacman --sync foo

  # pacman -S foo

Retrieve and install package foo, complete with all dependencies it requires. Before using any sync option, make sure you refreshed the package list.

- List installed packages

  # pacman --query

  # pacman -Q

Displays a list of all installed packages in the system.

- Check if a specific package is installed

  # pacman --query foo

  # pacman -Q foo

This command will display the name and version of the foo package if it is installed, nothing otherwise.

- Display specific package info

  # pacman --query --info foo

  # pacman -Qi foo

Displays information on the installed package foo (size, install date, build date, dependencies, conflicts, etc.)

- Display list of files contained in package

  # pacman --query --list foo

  # pacman -Ql foo

Lists all files belonging to package foo.

- Find out which package a specific file belongs to

  # pacman --query --owns /path/to/file

  # pacman -Qo /path/to/file

This query displays the name and version of the package which contains the file referenced by its full path as a parameter.

## APPENDIX

See Official Arch Linux Install Guide Appendix for some related unofficial documentation, new users may find useful.

Category:

- Getting and installing Arch (한국어)