[5.1.1-191019]
[서문]
필자는 글을 쓰는 직업을 가지고 있거나, 취미로 글을 즐겨 쓰는 사람이 아닙니다. 그러다보니, 아래에서 적어 내려갈 내용들이 가독성이 떨어지거나, 혹은 비문일 수도 있습니다. 실력이 부족한 줄을 잘 알면서도 세상에 글을 내놓으려니 많이 부담스럽습니다. 다만, 이런 장문의 글을 쓰게된 계기를 많은 분들이 이해해 주시면 감사하겠습니다.
저는 평소에 리눅스 배포판 중에서 아치 리눅스를 사용합니다. 그리고 꽤나 만족하고 있습니다. 하지만, 온라인 상에서 아치 리눅스는 어렵고, 특히 설치하기가 번거럽고, 그런 단점들에도 불구하고 써야하는 이유가 무엇인지에 대한 질문이 등록되는 것을 자주 목격합니다. 저도 컴퓨터 분야에 종사하고 있지 않고, 공부하는 학생이다 보니 객관적으로 똑부러지게 이런 점이 장점이고 이런 점은 약점이지만 이런 점에서 매력을 느낀다라고 설명하지 못합니다(물론, 제가 느끼는 강점과 매력은 분명하지만 매우 주관적이기 때문에). 다만, 제가 명확히 알고 있고 여러분들께 소개해 드릴 수 있는 것은 아치 리눅스의 설치 과정이 그렇게 당혹스러우리만큼 어렵지는 않다라는 것입니다. 일반적으로 윈도우 혹은 맥 진영에서 리눅스를 경험해보고싶은 신규 유저들에게 쉬운 배포판으로 ‘우분투’를 소개합니다. 충분히 이해할 수 있습니다. 설치 과정은 GUI로 표현되어 받아들이기 매우 편합니다. 하지만 그 과정들이 어떤 작업인지 이해하지 못하고 ‘Next’ 만을 클릭하는 것을 쉽다고 표현하는게 올바른지에 대해서는 고민이 됩니다. 아치리눅스는 설치 과정이 커맨드 라인 기반입니다. 모든 것을 키보드를 이용해 명령하여 설치해야 합니다. 하지만 그 과정 덕분에 리눅스가 어떻게 빌드되는지에 대해서 정확히 이해할 수 있고, 내 시스템이 어떻게 구성되어 있는지를 파악하기 유리합니다.
제가 처음 아치 리눅스에 관심을 가지게 되었을 때에도 설치 과정이 불편했습니다. 여기서, 불편했다라는 것은 번역되어 있는 자료의 부재가 크게 작용했습니다. 영어를 읽어 가면서 설치해야 한다는 점이 힘들었습니다. 설치할 당시에도 한글로 된 양질의 자료가 필요하다라고 절감했습니다. 한글 아치 리눅스 위키페이지의 설치 가이드를 추천하실지 모르겠습니다. 매우 훌륭하게 정리되어있고, 아래에서 소개할 설치 과정도 그 페이지를 기반으로 합니다. 다만, 초급 사용자가 사용하는데에 있어서도 그 페이지로 충분하다는데에는 동의할 수가 없었습니다. 저는 아치 리눅스가 한국에 있어서 더욱 확산되고, 특히 초보 사용자의 설치 환경에 큰 도움을 주고 싶다라는 데에 방점을 찍었습니다.
KISS, 즉, Keep it Simple, Stupid! 이 것이 아치 리눅스의 철학입니다. 아치 리눅스는 단순함을 추구합니다. 재밌는 점은 그 단순함을 위해서 얼마나 많은 복잡함을 응축해야 하는가 입니다. 우측의 스크롤바를 보시면 당황스러우실 수 있습니다. 초보자를 위해, 양질의 한글 번역을 위해 글을 작성했다고 제창하면서 얼마나 자세히 적어두고 있는거냐 라고 반문하실 수도 있습니다. 문제는 이 스크롤바를 읽어내려가면서 설치해야하는 패키지의 수는 8개(경우에 따라서는 10개:grub efibootmgr)로 단순화했다는 점입니다.(물론 수동으로 입력하여 설치한 패키지 그룹을 뜻합니다. 의존성으로 딸려오는 것들 혹은 베이스 시스템을 위해 설치되는 것들까지 고려하면 훨씬 많은 것이 사실입니다.) 그 8가지는 base, base-devel, xorg-server, gnome, google-chrome, ttf-nanum, ibus, ibus-hangul 입니다. 이 한페이지를 통해 독자분들은 기본 시스템 구축과 관련된 분야(파티션,포맷,파일시스템 테이블, 부팅 과정과 부트로더의 역할), 데스크탑 환경의 구축, 웹 브라우저 설치 과정을 통한 AUR 학습, 리눅스에서 WIFI사용이 어렵다는 게 왜 오해라고 주장하는지, 그리고 아치 리눅스에서 한글을 사용(읽기 위한 폰트 설정, 입력을 위한 ibus 설정)하는 것이 얼마나 단순하고 명료한지에 대해서 느껴보실 수 있습니다. 그 치명적인 단순함을 위해 모순적으로 상당히 많은 내용을 담을 수 밖에 없었습니다.
추가로 수정해야 하거나 도움이 필요하시거나 도움을 주실 분들은 꼭 댓글 혹은 이메일을 남겨주시면 감사하겠습니다. 지금으로써는 추가로 다른 글은 작성하지 않고 업데이트 로그를 남기며 이 글에 살을 계속 붙여나갈 생각입니다.
다만, 이 글은 절대 깊이 들어가지 않고 설치 과정상에서 설명할 수 있는 아치 리눅스 혹은 리눅스 일반 명령어나 개념을 소개하기 위해 작성되었습니다.
한국 아치 사용자의 커뮤니티가 더욱 발전하고, 한국 리눅스 사용자가 응집할 수 있는 대형 커뮤니티를 기대한다는 말씀을 마지막으로 설치 과정으로 들어가도록 하겠습니다.
#P.S. 이 페이지는 실제로 제가 시스템 부수고 처음부터 다시 설치할 때 사용하는 페이지입니다. 이미 설치 다 완료하고 나서, 아 이렇게 했었지 하면서 적어두는게 아니라, 꽤나 자주, 직접 이 페이지의 명령어들을 하나 하나 억지로 똑같이 입력해보면서 시스템이 구축되는지 확인하고 있습니다. Bleeding Edge 배포판을 고르신 만큼 가장 최근의 명령어로 업데이트 되있는지 궁금하실 것 같아서 업데이트 버전 명명법에도 날짜를 기재하였습니다.
[업데이트 로그]
5.1.1-191019: 아치리눅스 측 ‘pacstrap’변경으로 인한 수정
5.1.0-190806: ftp 미러 수정, 오타/오류 바뀐 명령어 수정
5.0.0-rc1-190329: 워드프레스 블럭 에디터 업데이트로 전면 수정(모든 하이퍼링크 수정)
4.0.1-181106: 웹사이트 리뉴얼으로 인한 버전 스킴(version scheme) 변경
V.04.180725 : pacman 5.1.0 업데이트 관련 이슈
V.04.180105 : 신년 맞이 오타, 구성 수정
V.04.171205 : xf86-video-intel 삭제(modesetting관련)
V.04.171117 : 오타 수정, 가독성 향상
V.04.171115 : 직접 재설치 후 수정
V.04.171114 : 설치 전 주의사항 수정, 업데이트 버전 생성
V.04.171113 : 부록B>각종 설정 변경 추가, 부록C>커맨드 리스트, useradd 관련 수정
V.03.171112 : 부팅 가능 USB 제작 방법(리눅스에서), GDM 관련 수정, gst-libav 추가, 직접 재설치 진행 후 상황에 맞게 수정, 서문 수정
V.02.171111 : ccache, makepkg.conf 수정 추가, 페이지점프 가능
V.01.171108 : 문서 이동, 수정
V.01.171107 : 구성 수정, 오타 수정, 이미지 추가
V.01.171107 : 초판 작성
[설치 전 주의사항]
#기본적으로 설치환경/루트환경 에서의 프롬프트는 ‘#’입니다. 하지만 사용 환경에서 일반적으로 마주하는 프롬프트가 ‘$’이기 때문에 아래의 명령어들은 모두 ‘$’로 통일한 점 양해바랍니다 . 모두 수정하였습니다. ‘#’로 표기된 커맨드는 ‘root’사용자로 입력해주시면 됩니다. ‘$’로 표기된 커맨드들은 재부팅 이후, 일반 사용자 계정으로 로그인 하셨을 때 사용하시면 됩니다.
#리눅스가 충분히 익숙하신 분들은 명령어만 순서대로 보고 진행하실 수 있도록 해보았습니다(권장 : 바로 ‘커맨드 리스트’로 이동).다른 배포판을 사용해봤지만, 리눅스가 아직 익숙하지 않다고 생각하시는 분들은 설명된 내용을 읽으면서 진행하시면 됩니다. 리눅스를 처음 경험하시는 분들은 #의 개수와 관계없이 읽어보시면 됩니다.(#기호로 처리된 부분은 해당 명령어의 자세한 설명이거나, 추가적인 시스템 설명입니다. 주석이라고 생각하셔도 무방합니다.)
#설치화면 진입 자체, 혹은 부팅 매체에서 usb를 인식하지 못하는 등의 문제는 UEFI세팅 문제일 가능성이 큽니다. secure boot가 ‘사용 안함(Disabled)’으로 되어있는지 확인하시기 바랍니다. 혹시, 확인 이후에도 문제가 발생할 경우에 우선은 구글 등 검색을 해보시는 것을 추천드립니다. 높은 확률로, fast boot, 혹은 CSM모드(혹은 ‘LEGACY/BIOS MODE’) 에서 발생하는 오류로 생각됩니다. (추천드리는 것은 모두 ‘사용 안함(Disabled)’입니다.) 다시 말씀드리지만, 이 글에서는 너무 깊게 들어가지 않고 일반적인 부분만 훑고 지나가도록 하겠습니다.
#예시-1) ‘#example hello’ : 왼쪽의 예시 문장처럼 ‘#’기호, 혹은 ‘$’가 붙은 내용은 해당 기호 바로 이후부터(예시에서는 ‘example’부터) 그대로 커맨드 입력을 하시면 됩니다(추천하지는 않지만, 급한 경우 복사 붙여넣기를 하셔도 됩니다). 다만, 사용자의 경우에 따라 다르게 적용 가능한 부분(예를 들어, 디바이스의 장치명, 사용자 이름, 위 예시에서 ‘hello’부분)은 밑줄을 그어 헷갈림을 방지하도록 하겠습니다.
#간혹 모바일 환경에서 자주 발생하는 문제가 커맨드가 길어지면서 다른 라인으로 넘어가는 경우인데, 초보자의 경우에는 새로운 커맨드를 입력하는 것인지 아니면 단순히 라인이 길어져서 아랫줄로 내려온것인지 구분이 힘든 경우들이 더러 발생합니다. 이 오해를 방지하기 위해 ‘$’기호가 새로 붙어 있는 경우에만 새로 작성하시면 됩니다. 그렇지 않은 경우는 줄이 내려와 있어도 기존 명령에 이어서 작성하시면 됩니다.(‘command’ 블락을 이용해 해결된 것으로 보이지만 여러 종류의 디바이스에서의 환경을 더 확인해야 합니다.) 혹은, 모바일 환경에서 가로로 커맨드가 길게 늘어져서 뒷부분을 미처 못보고 엔터를 입력하실 수도 있습니다. 우측으로 긴 빈칸이 보이는 경우를 제외하고는 항상 남은 커맨드가 있는지 확인하시기 바랍니다.
#초보 사용자가 명령어를 쉽게 외우거나, 빨리 익숙해지기 위해서 명령어의 줄임말을 소개하여둔 곳이 여럿 있습니다. 혹, 제가 줄임말을 잘못 이해하고 있으면 알려주시기 바랍니다.
#공식적인 아치 리눅스 설치 가이드는 단 한가지 버전만 존재합니다(공식 위키). 그 이외의 가이드들은 이 페이지를 포함하여 모두 특정 목적(사용자 편의/작성자 편의/강의 목적 등)을 위해 편집된 내용입니다. 그러므로, 공식 위키의 내용을 일정 이상 이해한 후, 편의를 위해 이 가이드를 보면서 입맛에 맞게 수정 적용하는 것을 권장하는 바입니다.
[목차]
- 설치 준비
- 시스템 설치
- 시스템 설정
- 데스크탑환경 설치
- 데스크탑환경 설정
- 부록 A-권장 사항
- microcode
- systemd-boot 사용자
- grub 사용자
- video driver
- 시스템 체크
- 부팅 중 발생한 오류
- systemd 실행 실패 목록
- PCIe bus error
- systemd-boot 사용자
- grub 사용자
- ccache, makepkg.conf 설정
- pacman.conf
- microcode
- 부록 B-추천 패키지
- 부록 C-커맨드 리스트
1. 설치 준비
iso 파일 다운로드 방법 : “ftp.kaist.ac.kr” > 좌측 목록 중 ‘archlinux’ 클릭 > ‘iso’ 클릭 > ‘latest’ 클릭 > ‘archlinux-(날짜)-(x86_64).iso’ 클릭하여 다운로드 (x86_64 부분은 본인 아키텍쳐에 맞게 다운로드하시면 됩니다. 64비트 운영체제의 경우 x86_64, 32비트 운영체제의 경우 i386입니다. 최근 i386서포트가 종료되었습니다.)
리눅스 시스템에서 usb 마운트 이후, 관리자 계정으로 변경하거나 혹은 앞에 ‘sudo’를 붙인 후, 본인 계정의 비밀번호를 이용하여
$lsblk
lsblk(list block device): 새로 추가된 디바이스 장치명을 확인합니다. 보통, 용량을 통해서 확인합니다. sda, sdb, sdc 등 사용자에 따라 다른 이름이 표시됩니다.
#wipefs --all /dev/sdb
밑줄 친 부분의 내용이 달라집니다. 위에서 확인한 본인 USB 장치의 이름을 넣어줍니다.
#dd bs=4M if=~/Downloads/archlinux.iso of=/dev/sdb status=progress && sync
dd 소프트웨어를 이용
bs(block size) : 블락 크기는 4M(생략 가능)
if(input file) : 아치 리눅스 파일 다운로드 위치. 아치 리눅스 iso 이름은 실제로 간단하지 않으므로, 대충 앞을 확인해 놓은 후 (tab키)를 이용해 자동 완성.
of(output file) : $lsblk 등의 명령어를 통해 USB 장치의 정확한 이름을 확인하고 실행. sdX에서 X부분을 수정하면 됨. 필자의 경우는 sdb였음.
부팅 중에 본인 메인보드에 맞는 바이오스/UEFI진입 키를 이용합니다. 제 경우는 ‘F2’입니다. 보통은 F2,F10,F11,DEL키 등입니다. (UEFI에 진입 후 Secure Boot와 필요한 경우 CSM MODE도 ‘DISABLED’로 사용 중지 해주시면 됩니다.) 부트 장치로 iso이미지를 구운 USB를 선택하시고 ‘Save & Exit’등의 옵션을 이용해 UEFI에서 빠져나가시면 됩니다. 정상적으로 부팅이 이루어지면 USB를 통해 설치 환경으로 진입합니다. 부팅 중 선택 화면에서는 일반적으로 디폴트 값으로 가리키고 있는 것을 통해 부팅하시면 됩니다. (“Boot Arch Linux” 등/혹은 x86_64같은 것이 포함되어 있음.)
2. 시스템 설치
2.1. UEFI 설치 가능 여부 확인
우선, UEFI설치가 가능한 컴퓨터인지 확인해보겠습니다.
#ls는 ‘list’의 줄임.뒤에 나오는 /sys/firmware/efi 디렉토리의 내용을 보여줌.
#ls /sys/firmware/efi
결과에 ‘efivars’라는 폴더가 보이면 가능한 PC입니다.
2.2. 인터넷 연결
인터넷 연결 상태를 확인합니다. 유선 연결을 가정합니다. (와이파이 환경의 경우 기본적으로 $wifi-menu를 통해 연결을 시도해보시고 불가능할경우 공식 위키 등을 참고하시기 바랍니다.)
##숫자 3으로 3회만 테스트합니다:변경 가능
#ping -c 3 archlinux.org
2.3. 파티션-계획
파티션은 대용량 저장 장치를 어떤 구획으로 나누어 사용할지에 대해서 정하는 순서입니다. 가장 일반적인 방법으로는 세 파트로 나누게 됩니다. 각각 <부팅을 위한 구획>, <데이터들이 저장될 구획>, 그리고 <리눅스 스왑>으로 쓸 구획입니다. 가장 먼저, 부팅을 위한 파티션에는 ESP라고 하여 EFI System Partition으로 설정해야 합니다. EFI System 딱지가 붙지 않으면 UEFI환경에서 부팅을 설정해주는 것이 굉장히 까다로워 집니다. 지금은 이 말이 어렵게 느껴지실지 모르지만, 아래 과정을 진행하다 보면 이해가 되실 겁니다. (ESP는 EFI System으로 타입이 설정된, FAT 포맷 파티션을 뜻합니다. Boot폴더에 마운트 될 파티션을 의미합니다) 두번째 구획인 데이터 저장 구획은 단순하게 Linux File System이라는 타입으로 사용할 예정입니다.(이 두번째 파티션은 ‘/(root)’에 마운트 되어 모든 데이터가 저장될 구역이라고 생각하시면 됩니다.) 마지막 스왑 파티션도 역시 이름처럼 Linux Swap이라는 타입을 붙이면 되겠습니다. 이 과정은 드라이브의 구획을 나누고 계획을 잡아두는 것으로 실제 그 계획에 맞는 환경을 만드는 것은 다음 단계인 포맷에서 진행 됩니다.
#윈도우즈의 C드라이브 D드라이브 처럼 어떤 구획을 나누어서 사용할지 계획을 잡는 것이다 라고 생각하셔도 됩니다.
##리눅스 스왑이란 램 환경이 모자랄 때 하드디스크의 스왑으로 설정된 부분에 자료를 로드해두고 램처럼 활용하는 것을 의미합니다. 일부 사용자는 “스왑이 사용되는 순간부터 이미 램이 모자란 것과 같은 것이므로 스왑을 쓰기보다는 차라리 하드웨어를 업그레이드 하겠다”라고 하며 스왑을 사용하지 않는 경우도 있습니다;; 여기서는 기본적으로 스왑을 다루어 보도록 하겠습니다. (필자는 4G 램 시스템에서 4G 스왑을 사용하고 있습니다.)
아래 명령어를 통해 내 드라이브로 어떤 것들이 있는지 확인해보겠습니다. 용량을 통해서 usb와 하드드라이브를 분명히 구분해서 기억하셔야 합니다.
#lsblk
#결과 출력에 sda, hda와 같은 대용량 저장 장치가 보이실 겁니다. hda는 기존의 IDE방식 커넥션으로 연결된 하드디스크일 가능성이 크고, sda는 최근의 SCSI/SATA방식으로 연결된 하드/SDD입니다.
가장 일반적인 sda라고 가정하고 계획을 잡아보겠습니다.(대용량 장치가 여러개일 경우 sda,sdb,sdc순으로 출력됩니다.)(부팅을 위해 마운트한 usb가 아닌지 확실히 확인하셔야 합니다. 확인은 보통 용량으로 하면 큰 문제가 없습니다.)
#이번 설치 과정에서는 sda를 총 세 칸으로 쪼개려고 합니다. 쪼개고 나면 sda1,sda2,sda3으로 나누어집니다. (만약 sdb엿다고 하면 sdb1,sdb2,sdb3이 될 것입니다. 보통 경로로 /dev/sda 혹은 /dev/sda1, /dev/sda2등의 경로명을 사용하는데 앞의 dev는 device를 뜻합니다.)
아래처럼 계획을 잡아보겠습니다.(계획은 다를 수 있는데 본인 파티션의 몇 번째가 어떤 것으로 쓰일지 제대로 기억하고 계셔야 합니다. 특히,부팅 파티션/루트 파티션/스왑 파티션으로 정확히 개념을 잡고 그게 각각 1,2,3중에 어느 것으로 내가 파티션을 쓸 건지 기억하시고 아래 예제를 따라오셔야 합니다)
/dev/plan — 파일시스템/코드명/쓸용량/기타
/dev/sda1 — EFI System/EF00/512m/ESP(EFI System Partition/부트파티션)
/dev/sda2 — Linux Swap/8200/4G/스왑파티션
/dev/sda3 — Linux FileSystem/8300/나머지용량/루트파티션
#자, 이 부분에서 꼭 밝히고 싶은 말씀이 있습니다. ESP, 흔히 말하는 부트폴더에 마운트 시킬 파티션 용량 그리고 스왑 용량 관련해서 정답도 없고, 추천하는 크기도 다 다르다는 점은 충분히 알고 있습니다. 다만 초보자의 관점에서 혼란스러움 없이 진행하기 위해서 우선은 위와 같이 가장 기본이라고 할 수 있는 용량으로 진행해 보도록 하겠습니다. 설치를 하고 계시는 여러분도 나중에 익숙해지시면 충분히 알아보시고 용량은 수정해서 설치하시면 되겠습니다.
아래부터는 (2)-1 / (2)-2 둘 중에 한가지를 선택하셔서 진행하시면 됩니다. 초보자는 (2)-1 기본적인 표 형태의 인터페이스를 제공하는 cfdisk 를 추천하지만, 커맨드 라인 인터페이스에 익숙하시다면 (2)-2 gdisk를 추천합니다.
#첫 파티션 앞과 마지막 파티션 뒤에 1M정도의 여유 용량을 마련하시는 분들도 있는데, 상관없습니다. LFS 책에서는 오히려 이 방법을 기본으로 권장하고 있습니다. (LFS-Part2.Chapter2-2.4.Creating a New Partition 참고)
2.3.1. cfdisk를 사용
#cfdisk /dev/sda
라벨이 GPT라고 상단에 되어 있는지 확인합니다. MBR이 아니어야 합니다! 만약 처음에 물어보면 GPT를 선택해주시면 됩니다.
모든 파티션은 Primary로 진행합니다.(컴퓨터가 물을 경우)
표에 보이는 기존의 파티션을 한 줄씩 내려가면서 ‘DELETE’해줍니다.(키보드의 화살표 방향키를 이용합니다.)그리고 나서 모든 용량이 FREE SPACE가 되고 나서 계획을 세웠던 걸 다시 보면, 처음 만들 파티션은 /dev/sda1-EFI System/512mb입니다. 따라서,
‘NEW’
용량 크기를 입력 : 512M
(앞으로 생성할 모든 파티션도) Primary로 선택
‘TYPE’으로 커서를 옮긴 후 엔터
‘EFI System’을 선택.(보통 맨 위에 있습니다.)
두번째 만들 파티션은
/dev/sda2 — Linux swap/4G였습니다. 따라서,
#방향키를 아래로 내려서 free space를 향하게 하면 아래에 NEW버튼이 다시 생긴 것을 볼 수 있습니다.
‘NEW’
용량 크기를 입력 : 4G
‘TYPE’으로 ‘Linux Swap’
(이제 /dev/sda3 생성)
다시 방향키 내린 후 ‘NEW’ 선택
용량 크기는 디폴트가 남아있는 최대 크기로 설정 되어있는지 확인해주고 그냥 ‘엔터’
‘TYPE’도 아마 자동으로 ‘Linux FileSystem’일 텐데 혹시 모르니
다시 표에서 확인해주시면 됩니다.
마지막으로 ‘WRITE’를 선택하시면 됩니다.
‘QUIT’선택해서 나옴.
2.3.2. gdisk를 사용(cfdisk를 사용하신 분들은 넘어가시면 됩니다.)
#gdisk /dev/sda
#’?’를 입력해서 어떤 명령어들이 있는지 봐두시면 좋습니다.
모든 파티션은 ‘Primary’로 잡습니다.
#퍼스트 섹터와 라스트 섹터를 물어보는데 퍼스트 섹터에서 라스트 섹터에 해당하는 입력을 하지 않도록 주의하시면서 천천히 진행하시기 바랍니다.
‘o’를 입력 — 모두 지우고
(/dev/sda1 생성을 위해)
‘n’ 입력 (New)
첫 번째 파티션이므로 ‘엔터’
(default가 1로 되어있는지 확인/아닐 경우 ‘1’을 입력)
첫 번째 섹터는 알아서 계산해주므로 ‘엔터’
라스트 섹터는 용량으로 입력 가능하므로 ‘+512mb’입력
파일시스템 코드로 ‘EF00’ 입력
‘p’를 통해 제대로 나뉘었는지 확인
(표의 형태로 출력됨. /dev/sda1, EF00(혹은 EFI System), 512mb를 확인)
다시 ‘n’입력으로 /dev/sda2 생성 시작
기본 값으로 ‘2’가 되있는지 확인 후 ‘엔터’
첫 번째 섹터는 기본값대로 ‘엔터’
용량으로 입력 ‘+4G’
파일 시스템 코드로 ‘8200’ 입력
‘p’를 통해 재확인후 /dev/sda3 생성을 위해
‘n’
기본 값으로 ‘3’이 되있는지 확인 후 ‘엔터’
첫 번째 섹터는 기본값대로 ‘엔터’
이번엔 마지막 섹터까지 사용할 예정이므로 ‘-1’을 입력
파일 시스템 코드로 ‘8300’ 입력
마지막으로 ‘w’를 입력해서 ‘write
2.4. 포맷
포맷은 위에서 진행한 파티션 각각의 계획에 맞는 파일시스템으로 진행합니다.
UEFI환경에서 부팅 파티션은 fat 파일시스템을 원합니다. 따라서 아까 EFI시스템으로 파티션을 계획했던 sda1은 fat32로 포맷을 할 것이고, 기본 파일 시스템으로 쓰기로 했던 sda3는 최근 가장 범용으로 쓰이는 ext4파일 시스템으로 포맷하겠습니다. 스왑 파티션은 지금 포맷을 진행하면 안됩니다!
#mkfs = Make File System
#mkfs.vfat -F32 /dev/sda1
#fat은 금방 됩니다.
#mkfs.ext4 /dev/sda3
#ext4가 아무래도 sda3의 용량이 클테니 잠깐! 시간이 걸립니다.
2.5. 스왑
스왑 드라이브를 만들어줍니다.
#mkswap /dev/sda2
#mkswap = make swap
스왑을 켜줍니다.
#swapon /dev/sda2
2.6. 마운트
마운트는 리눅스 파일 체계(루트(‘/’)로부터 뻗어나오는 파일 트리)의 각각의 폴더에 어떤 드라이브의 어떤 파티션을 이용하겠다고 연결하는 거구나 생각하시면 편합니다. 지금은 루트폴더와 루트아래의 부트 폴더만 마운트하면 됩니다. 추후에 홈폴더등을 따로 하나의 드라이브로 마운트 하는 것도 가능합니다.(위에서 비유적으로 언급한 윈도우즈의 C/D 드라이브 개념에서 각 드라이브를 실제로 연동시키는 작업이라고 생각하시면 됩니다.)
우선은 /mnt에 루트폴더로서 쓸 Linux FileSystem 파티션(/dev/sda3)을 연결해보겠습니다.
#mount /dev/sda3 /mnt
그리고 나서 루트 폴더 아래에 부트 폴더를 만들어 줍니다.
#mkdir /mnt/boot
#mkdir = make directory
부트 폴더를 마운트하려고 만들었던 /dev/sda1을 마운트해줍니다.
#mount /dev/sda1 /mnt/boot
2.7. 미러리스트
미러리스트는 아치에서 패키지 설치를 할 때 기본 데이터 베이스로 활용할 웹 서버를 나열해놓은 리스트입니다. 미러 리스트에 내가 사용할 서버가 가깝거나, 속도가 가장 빠르게 접속되는 것으로 적용되어 있어야 설치 환경에서 유리합니다. 따라서, 수정해 보도록 하겠습니다. nano 에디터를 사용해서 파일을 열겠습니다.
#nano -w /etc/pacman.d/mirrorlist
#다 지우고 적으셔도 되는데 저는 개인적으로 그냥 첫 주석인 ‘## United Kingdom’ 위에다가 적어버립니다. 그러면 혹여 아래의 미러가 오류를 뿜더라도 느린 속도로 해외의 미러에서 다운로드, 설치가 가능하기 때문입니다. (현재 kaist 미러는 403 error 이슈가 있습니다.) 다 지우고 적으실 분들은 지우기 시작할 라인으로 커서를 옮기신 이후, ‘(ALT) + (SHIFT) + t’를 하시면 맨 끝줄까지 삭제됩니다.(nano 에디터 기준)
Server = http://ftp.lanet.kr/pub/archlinux/$repo/os/$arch
ftp.lanet.kr의 미러를 사용합니다.
Server = https://ftp.lanet.kr/pub/archlinux/$repo/os/$arch
Server = 로 시작하는 총 2줄로 입력이 되면 완성입니다. 모바일 환경에서 가로 길이의 한계로 ‘$arch’부분이 내려오는 경우가 있는데, ~/$repo/os/$arch 로 이어서 작성하시면 됩니다! 즉, 각 줄이 (어쩌구저쩌구)/$repo/os/$arch 로 끝이 나야 합니다.
##(nano 편집기를 사용하여 편집 후 저장하고 나오는 방법 : ctrl+x, y, 엔터) ctrl+x : 종료 / 그리고 묻는 것 = 수정된 사항이 있는데 수정 하십니까? : y / 파일 명은 뭐로 합니까? 디폴트 값은 원래 파일명으로 되어 있으므로 : 엔터
#지금 단계에서 reflector를 설치해서 사용하셔도 무방합니다. (초보자는 비추천합니다.)
2.8. pacstrap
#pacstrap /mnt base linux linux-firmware
#pacstrap 으로 /mnt 에 base 패키지와 base-devel 패키지를 설치하겠습니다.
추가적으로 필요한 패키지가 있다면 설치하시기 바랍니다. 이제는, 아치 리눅스 측 업데이트로 에디터(nano,vim), 네트워크 패키지(dhcpcd 등)이 별도 설치로 바뀌었습니다. 참고링크
2.9. genfstab
파일 시스템이 어떤 드라이브와 마운트 되어있는지를 알 수 있는 파일 시스템 테이블 파일입니다. 그 파일 시스템 테이블 파일을 생성하는 작업입니다. 시스템 사용중에도 마운트 된 디바이스, UUID를 확인할 때 사용하는 파일입니다.
#genfstab -U /mnt >> /mnt/etc/fstab
##genfstab : generate File System table
##-U : U는 대문자 U(UUID로 작성하겠다는 의미), /mnt 를, >> :저 파일에 추가로 작성(Append), /mnt/etc/fstab으로
#cat /mnt/etc/fstab 명령어를 통해서 어떤 게 쓰이는 건지 확인해 보실 수도 있습니다. (cat 명령어는 concatenate의 줄임으로, 해당 파일의 내용을 보이거나, 파이프를 활용해 다른 파일에 입력할 때 자주 활용합니다.)
3. 시스템 설정
3.1. 루트로 진입
#arch-chroot /mnt
##arch-change root
시스템 내부로 들어왔습니다! 추가적인 시스템 세팅을 진행하도록 하겠습니다. 여기에서 추후 사용할 소프트웨어를 설치하시면 나중에 재부팅 후에 설치된채로 남아있습니다. 따라서, ‘vim’등의 에디터를 사용하실 분들은 ‘#pacman -Syu’ 이후, ‘#pacman -S vim’등의 명령어를 통해 설치하시면 됩니다.
3.2. 인터넷 확인
#ping -c 3 archlinux.org
3.3. 루트 비밀번호 설정
#passwd
###입력은 원래 화면에 안보입니다. 놀라지 마세요!
##확인차 두번째 입력
3.4. 로케일 설정
#nano /etc/locale.gen
파일이 뜨면 화살표키를 이용해 아래로 내려가다 보면
en_US.UTF-8
이 있습니다. 앞의 주석(#)만 지워주세요. 그리고 ctrl+x, y, 엔터입니다.
(ko_KR.UTF-8도 찾아서 ‘#’을 지우셔도 됩니다. 한글 사용에는 아무 지장이 없습니다.)
#locale-gen
3.5. 언어 설정
##참고로, 최소한의 세팅을 통해 빠른 설치 이후에 데스크탑 환경을 Gnome으로 설치하고 나서 터미널을 실행할 때 간혹 터미널이 실행되지 않는 이유를 궁금해하시는 분들이 있는데 지금 과정이 진행되어 있지 않으면 Gnome터미널은 작동을 하지 않습니다. 물론, 지금 과정을 그대로 하지 않았더라도 데스크탑 환경에서 세팅을 이용해 언어 설정을 바꾸셔도 실행시킬 수 있습니다. 다만, 아치 위키에서도 설치 과정에 그대로 소개하고 있는만큼 여기서도 따라가도록 하겠습니다.
locale.conf파일은 시스템 전반의 언어를 관리하는 파일입니다. 여기에 지금 ‘en_US.UTF-8’을 적어넣을텐데, 한글 디렉토리(폴더)명, 터미널에서의 한글 오류 등을 선호하시는 분들은 ‘ko_KR.UTF-8’을 입력해주시면 됩니다.
#echo LANG=en_US.UTF-8 > /etc/locale.conf
#’echo’ 와 ‘>’ 는 LANG=en_US.UTF-8 이라는 문장을 그대로 /etc/locale.conf 파일에 덮어씌우겠다 라는 뜻입니다. 파일이 없을 경우 파일이 생성됩니다. 따라서 이전 처럼 역시 이부분도 ‘#nano /etc/locale.conf’를 통해 확인해 보실수 있습니다.
#export LANG=en_US.UTF-8
위의 명령어로 현재 진행하고 있는 쉘 환경(/bin/bash)에서의 언어를 선언합니다! (생략 무방)
3.6. PC 이름 설정
#echo hellopc > /etc/hostname
#hellopc 부분에 원하는 PC이름을 설정하시면 됩니다.(설치 전 주의사항에서 언급한대로 앞으로 등장할 밑줄부분은 본인이 원하는 이름으로 대체합니다.)
3.7. 로컬 타임 설정
#ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
#link –symbolic -force옵션으로 /usr/share/zoneinfo/Asia/Seoul 세팅을 /etc/localtime에 링크하겠다. 리눅스에서의 심볼릭 링크 혹은 소프트 링크는 윈도우즈 환경의 바로가기 생성과 유사하다고 생각하시면 편합니다. 앞으로 /etc/localtime을 참조할 때 실제론 /usr/share/zoneinfo/Asia/Seoul를 향하도록 해주는 작업입니다.
##(/usr/share/zoneinfo/Asia/Seoul 띄우고 /etc/localtime입니다.)
3.8. 하드웨어 시간 설정
# 윈도우 PC를 사용하셨다가 리눅스 운영체제를 설치 중인 분들은 모바일 환경 등을 통해 ‘UTC current time’등을 검색해보셔서 시간을 UTC로 맞추시는 것을 권장합니다. 시간을 확인하셔서 예를 들어, 08월 03일 14시 23분 2019년이 현재 UTC 시간일 경우 ‘#date 080314232019’를 입력합니다. (24시간 표기를 기본으로 합니다.)
#hwclock --systohc --utc
##hwclock 띄우고 빼기 두개 systohc 띄우고 빼기 두개 utc입니다. 하드웨어 클락을 시스템 클락과 utc를 기준으로 사용해 동기화함
#옵션들 : systohc – 시스템시간(sys)을(to) 하드웨어 시간(hardware clock)으로//utc-Coordinated Universal Time이라고 합니다;;그리니치 표준시와 거의 동일한건데 소숫점단위 초 에서 오차가 발생하여 기술적인 분야에서는 utc를 사용한다고 하네요;;/hctosys-하드웨어시간(hc)을(to) 시스템시간(sys)으로 밀어내기도 합니다.
3.9. 사용자 추가
#useradd -m -g users -G wheel -s /bin/bash hello
#역시 hello 부분은 원하는 아이디로 바꾸어 주시면 됩니다.
#옵션.
-m : username을 기반으로하는 홈 디렉토리를 생성
(-g : 소문자 g는 기본 그룹을 의미.)
-G : 추가적인 그룹 설정 (power은 이제 안쓰이는 그룹/sotrage는 systemd를 흡수하기 이전에 쓰이던 추가 그룹입니다. 아직도 위의 옵션 그룹을 기재해둔 가이드들이 많습니다;;)
참조: 아치 리눅스 위키 그룹 리스트
wheel : sudo와 su유틸을 사용하기 위한 관리자 그룹에 포함
-s : default가 아닌 다른 쉘을 사용하기 위한 옵션
/bin/bash : -s 로 다른 쉘을 사용하겠다 했으니 그 다른 쉘로써 bash를 지정
#passwd hello
#비밀번호 생성 아까와 마찬가지로 두번 입력하시면 성공했다는 알림이 출력됩니다.(hello 부분은 본인 아이디)
#EDITOR=nano visudo
vi/vim에디터가 익숙하신 분들은 그냥 #visudo 하시면 됩니다.(물론, vim 설치된 이후입니다. 현재 환경에서도 ‘#pacman -Syu’ 이후 ‘#pacman -S vim’를 통해 설치 가능)
sudo 명령어 가능자에 본인을 추가하겠습니다.
#sudoers 파일은 $nano /etc/sudoers 커맨드로도 수정이 가능하지만, 원칙은 visudo를 통해 수정하는게 맞습니다. visudo는 vi에디터를 기본으로 하기에 EDITOR=nano를 통해 nano 편집기로 열었습니다. visudo가 sudoers파일의 문법적 오류 등을 점검하고 잠금하는 기능을 하기 때문에 임의로 $nano /etc/sudoers 를 수정하는 것은 권장하지 않습니다.
아래로 화살표키 내리다 보면
##uncomment to ~항목에
%wheel ALL= (이렇게 주석처리 되있던 것(#을 삭제)을 제거해 주시면 됩니다.)
(위의 굵은 글씨로 되있는 것이 똑같이 작성되면 됩니다.)
3.10. 부트로더 설치
부트로더 설치를 하겠습니다. 아까 파티션 때와 마찬가지로 2가지를 이용할 수 있습니다. (1) grub 은 대부분 배포판에서 사용하기 때문에 익혀두시면 다른 배포판을 다룰 때에도 익숙할 수 있습니다. 다만 grub 과 efibootmgr과 같은 프로그램을 추가로 설치해서 진행합니다. (2) systemd-boot는 systemd에 내장된 기능을 이용해 부트를 시도합니다. (부트 시간도 차이가 난다고 알려져있습니다.) 첫 설치는 조금 더 까다롭다고 느끼 실 수 있지만 추가 설치를 최소하하려는 아치 배포판의 철학과 매우 잘 부합한다고 생각합니다. 제 추천을 원하신다면 systemd-boot를 추천합니다. (둘 다 어떤 것인지 처음 들어보셨거나, 들어봤다고 하더라도 다른 부트로더, 예를 들어, lilo, elilo가 뭔지 모르신다면 grub을 사용하시기 바랍니다. 부트로더는 시스템을 부팅시키는데 핵심적인 역할을 하기 때문에 다양한 부트로더를 활용해봤거나 수정을 직접 해본 경험이 충분하지 않은 이상 많은 배포판에서 활용하고 있고, 문서나 지원을 검색하기 용이한 패키지를 사용하는 것이 맞다고 봅니다.)
#추가. grub은 현재 grub2입니다. grub-legacy라고 하여 예전 BIOS환경일 때부터 쓰여온 훌륭한 소프트웨어입니다. 다만, 너무나 많은 기능을 제공하다보니 단지 UEFI 환경의 부트만을 원하는 사용자에게는 의미없는 기능이 추가되어있습니다. 그것은 곧, 소프트웨어에 예기치 못한 충돌이나 문제가 발생할 소지가 많다는 의미이기도 합니다. systemd-boot는 bootctl혹은 gummiboot라고도 불리는데 그 이유는 systemd가 흡수를 하기 전 외부에 존재하는 소프트웨어일 때의 이름이기 때문입니다. 이제는 Systemd와 완전히 합쳐져서 UEFI 부트만을 보조하는 기능을 수행합니다(물론, BIOS 부트를 설치할 수 있습니다만 추천하지 않습니다). 아치리눅스 설치 과정에서도 default로 설치되는 프로그램입니다.
3.10.1. grub efibootmgr 사용
grub 과 efibootmgr을 설치합니다.
#pacman -Syu
#pacman -S grub efibootmgr
#grub을 사용하여 부트가 가능하도록 설치하겠습니다.
#grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch --recheck
##grub-install 할텐데, (띄우고)타겟=x86_64-efi 이다. (띄우고)efi-디렉토리=/boot이다. (띄우고)부트로더-id=arch로 하겠다. –recheck
#grub-mkconfig -o /boot/grub/grub.cfg
#grub 설정을 업데이트 할 때도 나중에 사용합니다. 특히 커널 변수등을 실험해보거나 할 때 /etc/dafault/grub 파일을 수정한 후에 위 명령어를 통해 업데이트를 합니다.
3.10.2. systemd-boot 사용
# 위의 GRUB을 사용하지 않기로 하신 분들의 해당사항입니다.
#bootctl --path=/boot install
#/boot/loader 의 /loader.conf파일을 수정해야 합니다.
#nano /boot/loader/loader.conf
(파일에 아래와 같이 작성)
default arch
editor 1
timeout 3
#디폴트 이후 arch에는 본인이 알아볼 이름을 넣으시면 됩니다. 보통은 arch를 이용합니다. 다만, 주의하실 점은 이 부분에 넣은 이름을 꼭 기억하셨다가 바로 뒤에 따라오는 과정에서 entries/abcd.conf 파일의 abcd에 동일하게 작성해 주셔야 한다는 점입니다. 지금 arch로 작성하시면 나중에 그냥 entries/arch.conf파일을 만드시면 됩니다.
#editor: 부팅 중에 ‘e’키 등을 이용해 커널 변수 혹은 부팅 환경설정을 조정하는 경우가 있는데 0으로 설정 시에 이것을 방지합니다. 개인적인 권장으로는, 지금은 ‘1’로 설정해 두고 정상 작동한다는 것을 확인한 이후에 수정하는 것을 추천합니다.
#timeout 3 은 부팅 화면 중에 선택을 기다리는 시간입니다. 이것도 마찬가지로 지금은 설정해두되 나중에 ‘0’등으로 수정하셔도 됩니다.
이제 로더 폴더 아래의 엔트리스 폴더에 파일을 생성하고 수정하겠습니다.
#nano /boot/loader/entries/arch.conf
아까 위에서 default에 적으셨던 그 이름 그대로 사용해서 파일을 생성하시면 됩니다.
title Hello
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/sda3 rw
#참고. $ls /boot 해보시면 /boot폴더 아래에 loader와 각종 이미지 파일(vmlinuz, initramfs-linux 등)이 있는 것을 확인하실 수 있습니다. 그것들이 위 파일 내용에 포함되는 것입니다.
#title 알아보기 쉬운 이름을 사용하시면 됩니다. 이 곳의 쓰인 이름은 다른 설정에서 추가로 필요하지 않습니다만, 보통 ArchLinux등을 사용하는 편입니다.
#linux 항목에서 vmlinu”z”에 주의하시기 바랍니다.
#추가적으로 저는 rw옵션에 이어 quiet 등을 사용합니다.(그랬었는데, 다시 quiet옵션은 그냥 안씁니다. 큰 이유는 없고 Failed가 뜨는지 보고싶어졌습니다.)
option 항목에서 권장 사항은 물론 PARTUUID를 이용하는 것입니다. 하지만 우선은 루트 파티션 경로를 지정해 주는것으로 대체하도록 하겠습니다.위키에 따르면 리포맷 되거나 경로 매핑이 변경되는 경우에 비해 PARTUUID가 장점을 가진다라고 되어있는데, 일반 사용자, 초보 사용자 기준에 그럴 일이 드물 것으로 가정하고 경로를 지정합니다.
PARTUUID를 사용하고 싶으신 분들은
(1) $blkid를 통해 루트파티션(지금은 sda3)의 PARTUUID를 복사하시거나 적어두신 후 위의 options 항목의 내용을 root=PARTUUID=123efg45–789 rw 로 해주시면 됩니다. 물론 123efg45–789이 부분에 본인의 PARTUUID가 들어갑니다.(원래 PARTUUID가 깁니다. 놀라지 마세요! / “쌍따옴표 같은게 추가되지 않았는지 잘 확인하시기 바랍니다!!)
(2)적어두는 것이 귀찮은 분들은 ‘options’ 줄을 지운채로 저장하신 후
#echo "options root=PARTUUID=$(blkid -s PARTUUID -o value /dev/sda3) rw">> /boot/loader/entries/arch.conf
이렇게하셔도 됩니다.
무슨 방법을 사용하시든 반드시 다시 #nano /boot/loader/entries/arch.conf하셔서 추가한 내용들이 적절히 적혀 있는지 확인하시기 바랍니다.
3.11. exit
오해의 소지가 가장 많은 부분을 다루고 넘어가도록 하겠습니다. 현재 상태로 아래에서 소개하는 ‘#exit’을 통해 ‘chroot’환경에서 나가고 재부팅을 하면 네트워크가 가능하지 않습니다.
우선, dhcpcd만을 사용하실 분, 즉, 데스크탑 사용자 중에서 Gnome, Plasma 등의 데스크탑 환경을 사용하지 않을 예정이고, networkmanager가 무엇인지 정확이 이해하고 사용하지 않기로 결정하신 분들은
#systemctl enable dhcpcd
위의 명령어를 통해 재부팅 후에도 랜선을 통한 인터넷이 가능하도록 해 줍니다. 부팅시 서비스들을 관리하는 명령어가 ‘systemctl’입니다. 부팅된 환경에서 서비스를 시작하려면 ‘start’ 다음 부트때도 계속 실행하려면 ‘enable’ 옵션을 사용합니다. 끝에는 그렇게 하려는 서비스의 이름을 적습니다.
그렇지 않고, 노트북 사용자이거나, networkmanager의 편리한 기능을 활용하고 싶으신 분들, Gnome/Plasma처럼 networkmanager와 가깝게 개발되어 있는 데스크탑 환경을 사용하고자 하시는 분들은
#pacman -Syu
#pacman -S networkmanager
#systemctl enable NetworkManager.service
를 진행해주시면 됩니다. (systemctl 라인에서 서비스 이름의 ‘N’과 ‘M’이 대문자임을 주의하시기 바랍니다.)
추가로 노트북 사용자들의 경우 ‘iw’등의 패키지가 필요할 수도 있습니다.(대개 생략 무방)
혹시, 이 부분을 놓치고 지나가셔서 네트워크가 안되는 분들은, ‘chroot’ 방법을 통해 다시 시스템에 진입하셔서 설치가 가능합니다. 이 부분은 혹시 필요하신 분들이 많아질경우 추가하도록 하겠습니다.
#exit
3.12. umount
#장치를 언마운트합니다.
#umount -R /mnt
3.13. reboot
#리부트하겠습니다.
#reboot
#장치가 종료되고 다시 시작되는 시점에 usb를 빼주시면 됩니다.
재부팅이 되면 로그인 하라는 화면이 나올텐데 설치에 성공하신 겁니다! 축하드립니다! 아마 기쁘신 분도 있고, 이게 뭐야 하시는 분도 있을텐데, 이게 뭐야 싶으신 분들은 그래픽 환경에 익숙하셔서 그런거라고 생각합니다. 앞으로 이어질 데스크탑 환경을 설치하시면 그래픽 환경에서 아치를 사용하실 수 있습니다.
4. 데스크탑 환경 설치
데스크탑 환경을 구축해 보겠습니다.
4.1. 로그인
본인이 설정한 id/passwd로 로그인을 합니다.
4.2. 인터넷 임시 연결
우선 인터넷 연결을 해보겠습니다. 와이파이 사용자는 별도의 지침(네트워크 매니저를 설치하신 분들은 ‘$nmtui’를 통해 설정 가능. 혹은 이 페이지를 참조)이 필요합니다. 이 과정은 데스크탑과 유선 연결을 가정합니다.
##참고로, sudo 는 substitute user do (superuser do 로 기억하시면 더 직관적으로 이해됩니다.)대체 유저가 사용한다는 뜻으로 일시적으로 사용자의 권한을 상승시키는 명령입니다.
$ping -c 3 google.com
4.3. pacman 설정
이제 설치할 것들이 몇 가지 있으니 pacman을 최적화하고 업데이트하겠습니다.
##pacman 은 아치 리눅스(arch-linux)의 패키지 매니저(package manager)입니다.
$sudo pacman-optimize
$sudo pacman -Syu
pacman-optimize 는 pacman 5.1.0 update(2018-05-29경) 이후 삭제되었습니다.
##-Syu에서 S는 대문자 나머지는 소문자 입니다.
4.4. 필수 설치
여기서는, Gnome데스크탑 환경을 설치하고, 데스크탑 환경을 위해 Xorg-server를 설치하겠습니다. 이 부분은 설치 과정을 통틀어 가장 긴 시간이 소요됩니다. 설치가 완료되고 나면 디스플레이 매니저를 사용할 수 있게 ‘Systemctl enable’을 진행합니다.
#xorg-server 패키지에는 기본적으로 디스플레이 데스크탑 환경을 쓰는데 필요한 소프트웨어가 포함되어 있습니다. Gnome패키지에는 gdm을 포함한 Gnome 데스크탑 환경에서 사용하는 필수 소프트웨어가 포함되어 있습니다. 별도의 소프트웨어를 추가로 설치하고 싶으시다면 gnome-extra를 설치하시면 됩니다.
#gdm 은 Gnome Display Manager로써, 데스크탑 환경의 로그인 화면과 Xorg-server 등 전반적인 그래픽 환경을 관리하는 프로그램입니다.
$sudo pacman -S xorg-server gnome (gnome-extra)
$sudo systemctl enable gdm
#방금 전에 인터넷 연결을 위해 systemctl start dhcpcd 했던 것을 기억하시나요? 이번엔 gdm서비스를 부팅시마다 사용하기 위해 enable을 사용하였습니다.
#다른 데스크탑 환경을 구축 하실 분들은 아래의 ‘데스크탑환경/디스플레이 매니저’를 설치해주시면 됩니다.
- 데스크탑 환경 – 디스플레이 매니저
- Plasma5(KDE) – SDDM // 필자의 추천
- XFCE –
XDM그냥 ‘xinit’ 등을 설치하여 ‘startx’하는 편이 속편합니다. - LXDE – LXDM
- 대부분의 경우에 사용이 가능한 LightDM도 있습니다.
4.5. reboot
$reboot
재부팅을 해보겠습니다.
자 어떤가요? 로그인 화면이 그래픽 환경으로 부팅 되셨나요? 이제 사용자 비밀번호를 입력한 후에 아치 리눅스 Gnome환경(Arch Linux/Gnome Desktop)에서 즐기실 준비가 모두 완료되었습니다. 아! 하지만 권장사항들이 몇가지 더 있네요~
5. 데스크탑환경 설정
##개인적으로 리눅스/데스크탑 환경을 사용하면서 가장 기본으로 생각하는 것이 ‘설정’입니다. 지금 바로 상단의 ‘Activities’의 ‘settings’를 통해 기본 설정을 하는 것을 추천합니다. 특히 settings에서 Region & Language 탭에 들어가 보시면 언어가 영어로 되어있어야 Gnome 터미널이 작동합니다.
5.1. NetworkManager 설정
(설치 과정이 종료되고 ‘exit’을 하고 언마운트 할 때에 왜 네트워크 서비스를 ‘enable’로 해두지 않았는지 의아해하실 고수들이 많으실겁니다. 다만, 초보자의 경우 대부분 그래픽환경 설치를 할텐데, 특히 그놈 등과 관련하여 networkmanager가 가장 친근하게 적용됩니다. 따라서, 애초에 중단하고 다른 것을 켜지 않고 네트워크매니저를 실행하기 위해 부득이 별도의 추가적 명령을 소개하지 않았습니다.)
Gnome 데스크탑 환경에서 디폴트로 사용하는 네트워크 매니저를 사용할 수 있게 설정하겠습니다. 설치과정에서 dhcpcd를 사용하기로 하신 분들은 생략.
$sudo systemctl enable NetworkManager
#systemctl 을 사용할 때에는 N과 M이 대문자임에 주의하셔야 합니다.
$sudo systemctl start NetworkManager
#enable을 통해 부팅시 시작설정을 하였고, 이번엔 start를 통해 지금 시작해보았습니다.
상단 패널의 Activities>Settings(설정)에 들어가셔서 첫 화면으로 뜨는 Wifi항목을 보시면 연결이 되는 것을 확인할 수 있습니다. 이제 여러분은 원하는 와이파이에 접속하실 수 있습니다.
어때요? 리눅스는 Wifi설정이 어렵다는 것도 사실은 이렇게 간편하답니다!
5.2. 웹 브라우저-FireFox
웹 브라우저가 기본 ‘웹’소프트웨어를 이용하도록 되어있네요. 본인이 사용하고 싶은 웹 브라우저가 파이어폭스, 혹은 구글-크롬이라면 어떻게 해야 할까요?
파이어폭스라면 설치해주면 됩니다!
$sudo pacman -S firefox
파이어 폭스 설치가 완료되었습니다!
#구글-크롬의 경우에는 조금 복잡합니다. 팩맨을 활용해서 설치할 수 있는 소프트웨어의 경우는 아치의 공식 레파지토리에 올라와 있는 것들입니다. 구글-크롬의 경우에는 공식 레파지토리에는 chromium 이라는 이름의 오픈소스 버전이 올라와 있습니다. 사실 둘의 차이점은 크지 않아요!(chromium 설치 : $sudo pacman -S chromium)하지만 나는 꼭 구글-크롬 을 사용하고 싶다 하시면 아치의 자랑인 AUR을 사용해 보겠습니다!
5.3. AUR-Google-Chrome
AUR 이란 Arch User Repository로 아치 사용자들이 관리하고 업로드하는 패키지들의 모음입니다. AUR을 이용해 패키지를 빌드하는 방법은 확실히 알아두셔야 합니다. 나중에 부록에서 찾으실 수 있는 AUR-Wrapper(yay 등)를 사용하시더라도 오류는 언제든지 발생할 수 있습니다. 그 때는 부득이하게 수동으로 설치하셔야 합니다. 아치리눅스 위키페이지에 따르더라도, AUR wrapper는 언제나 도움을 주는 소프트웨어일 뿐, 공식적으로 지원을 받는 프로그램이 아닙니다.
기본 개념은 “aur.archlinux.org”에 접속해서 내가 설치하려고 하는 패키지의 “snapshot”을 다운로드 받습니다. 다운로드 받은 스냅샷의 압축을 해제하면 “PKGBUILD”파일이 있는데, “MAKEPKG”라는 명령어를 통해 컴퓨터가 “PKGBUILD”의 내용대로 설치를 하는 것입니다.자세한 내용은 아래를 통해 설명드리겠습니다.
지금은 ‘웹’소프트웨어 밖에 없으니 그것을 이용해서(혹은 파이어폭스를 설치하셨다면 파이어폭스를 이용해서)
aur.archlinux.org를 접속한 후에
우측의 검색 창에 ‘google-chrome’을 입력하시면
구글-크롬에 해당하는 AUR페이지가 뜹니다.
우측의 작은 대화상자(Package Actions)에서
Download Snapshot 을 이용해 Downloads/폴더로 가져옵니다.
터미널을 실행합니다.
$cd Down(tab)
#(tab)은 키보드의 tab키를 의미합니다. bash 는 키보드의 tab키로 자동 완성 기능을 제공합니다.
$ls
#ls(list)를 통해서 어떤 것들이 들어가 있는지 확인합니다. google-chrome.tar.gz를 확인할 수 있습니다.
#name.tar.gz – gzip으로 압축되고 tar로 패키지된 파일 이라는 뜻입니다. 해제는 tar 명령어를 이용하면 됩니다.
$tar -xvzf goog(tab)
#tar 는 파일 압축 해제 프로그램이라고 생각하셔도 됩니다. (옵션은 각각 x : extract(압축해제)/v:verbose(과정 출력)/z:gzip 으로 압축된 파일/f:압축 파일을 사용) 탭키를 이용해 나머지 이름은 자동완성해보았습니다.
$ls
#완료되고 나서 다시 ls를 해보면 google-chrome 폴더가 생겼습니다!
$cd goog(tab)
#구글-크롬 폴더로 이동
$sudo makepkg -sic
#makepkg 는 pkgbuild라는 파일을 읽고 컴퓨터가 그 파일의 내용대로 빌드하고 팩맨으로 설치합니다. (각각의 옵션은 s:설치할 소프트웨어가 의존하고 있는 다른 소프트웨어를 자동으로 설치합니다. i:빌드가 성공하면 설치하겠다. c:설치 중에 발생한 불필요 파일들은 빌드가 완성된 후 삭제합니다.)
#설치 과정에 sudo 비밀번호를 요구하면 계정의 비밀번호를 입력하시면 됩니다.
google-chrome 설치가 완료되었습니다!
상단 패널의 Activities>All을 통해서 확인하실 수 있습니다! (간혹 데스크탑환경에서 로그아웃/로그인을 다시 해줘야 아이콘이 보이는 경우도 있습니다.)
##Downloads 폴더의 압축파일과 폴더는 삭제하셔도 좋습니다!
5.4. 한글 폰트
인터넷을 하다 보니 한글이 표시될 곳에 네모난 박스가 표시됩니다!
AUR을 이용해 한글 폰트를 설치해볼까요?
aur.archlinux.org에 접속/ttf-nanum검색/snapshot 다운로드
$cd Down(tab)
$tar -xvzf ttf(tab)
$cd ttf(tab)
$makepkg -sic
#위의 과정을 통해 한글 폰트 설치가 완료되었습니다. 여기까지 진행하면, 구글 크롬을 통해 유투브/네이버를 이용하더라도 한글 폰트가 깨지지 않고 출력됩니다. 하지만, 한글로 검색을 하고 싶다면 어떻게 해야 할까요?
5.5. 한글 입력
이제 그놈(Gnome)은 언어 입력기로 ‘ibus’를 사용합니다. 즉, 설정의 언어&형식 탭에서 선택하여 변경이 가능합니다. 다만, 필요한 패키지는 설치해야합니다. (기본적으로 설치되는 한국어 패키지가 있다고 하더라도 많이 모자랍니다. ibus-hangul을 설치할경우 ‘korean’을 검색해보면 태극기 문양의 hangul이 등장하는데, 이 것이 선택되어야 가장 사용하기 편리합니다.)
$sudo pacman -S ibus ibus-hangul
#팩맨을 이용해 ibus 와 ibus-hangul 을 설치합니다.
설치된 어플리케이션 중에 ‘ibus-preferences’를 선택합니다.
//상단 패널에서 Activities>All 을 통해서 가진 모든 소프트웨어를 확인할 수 있습니다.
앱의 네가지 탭 중’input-method’를 클릭합니다.
그리고 ‘ADD’를 클릭 후 ‘others/korean/hangul’을 찾습니다.
(한/영 전환을 ‘Shift+Space’로 변환하겠습니다.)
해당 앱의 상단 탭에서 ‘General’ 항목으로 이동합니다.
‘Keyboard Shortcut/Next Input method’를 찾으라고 장황하게 적었지만
General 항목으로 이동하면 첫 번째로 있습니다;;
우측의 버튼을 클릭 후 ‘modifier’ 를 ‘shift’로 체크 변경하고 ‘apply’로 적용합니다.
기본 앱인 ‘설정’ 어플리케이션(Settings)을 실행합니다.
‘Region & Language’를 눌러보면
‘Input Sources’가 있습니다. 이게 입력 수단입니다.
‘+’버튼을 클릭해서 ‘others’ 에서 ‘korean’ 중에
‘Korean(hangul)’을 추가합니다.
모니터 우측 상단에 A가 생긴것을 보실 수 있습니다.
A를 클릭한 후 korean(hangul)로 변경해 줍니다. 그럼 ‘한’으로 변경되었습니다.
하지만, 다시 한번 ‘한’을 클릭해 줍니다.
가운데 있는 hangul mode를 켜줍니다.
유투브에서 shift+space를 이용해 한/영 변환을 해봅니다. 작동하는군요!
이제 한글 입력을 할 수 있습니다!
부록A-권장 사항
지금까지 아치 리눅스를 설치하고 데스크탑 환경을 구축한 후에 웹 브라우저와 한글 입력을 시도했습니다. 이제 한글과 영어 타이핑이 가능하고 웹 브라우징이 가능해졌으니 추가적으로 생기는 문제는 웹 검색을 통해 해결하실 수 있습니다!
다만 몇 가지의 추가 사항만 소개하고 글을 마치도록 하겠습니다.
1.microcode – 추천도 : 5/5
마이크로 코드란 프로세서 제작자들이 안정성,보안 등을 우려해 업데이트 하는 파일을 의미합니다. 개인적으로 꼭 권장하는 과정입니다.
(intel cpu라고 가정하고 설치하겠습니다.)
1.1. Systemd-boot 사용자
$sudo pacman -S intel-ucode
$sudo nano /boot/loader/entries/arch.conf
#밑줄은 설치 과정에 본인이 사용하셨던 이름으로 대체하셔야 합니다.
initrd /intel-ucode.img
(initrd /initramfs-linux.img 위에 작성해 주시면 됩니다.)
$sudo bootctl update
$reboot
1.2. grub 사용자
##’intel-ucode’설치를 하고 나면 grub은 알아서 잘 찾아줍니다.다만, config파일은 업데이트를 해야겠지요?
$sudo pacman -S intel-ucode
$grub-mkconfig -o /boot/grub/grub.cfg
(-참조페이지: 아치리눅스위키_microcode)
2. video driver – 추천도 : 3/5
VGA 드라이버를 잡아주셔야 합니다.
$lspci | grep -e VGA -e 3D
#제 노트북의 경우에는 VGA compatible controller : 로 Intel Corporation HD Graphics 520 이라고 나옵니다.
#그리고 아래의 참조페이지를 보시고 본인에게 해당하는 드라이버를 설치해주시면 됩니다. 저의 경우에는 “xf86-video-intel” 이므로
$sudo pacman -S xf86-video-intel
(-참조페이지: 아치리눅스위키_드라이버)
xf86-video-intel 드라이버는 더 이상 기본으로 추천하지 않습니다. modesetting으로 폴백하는 것이 낫습니다. 참고 링크를 추가해드립니다.
3. 시스템 체크 – 추천도 : 5/5
3.1. 부팅 중 발생한 오류 목록을 확인
$sudo journalctl -p 3 -xb
#결과를 확인하시고 구글 등의 검색을 통해 해결하시면 됩니다! 혹은 흔한 오류의 경우 댓글에 남겨주시면 제가 도와드리도록 하겠습니다.
3.2. systemd 실행 중 실패한 파일 확인
$sudo systemctl --failed
(-참조페이지: 아치리눅스위키_시스템관리)
4. pci bus error – 추천도:필요한 분들만.
<부팅 중 pci bus error가 발생하지 않는 분들은 필요가 없는 과정입니다!>
부팅 중 pci bus error로 시작하는 긴 문장이 계속 뜨면서 부팅이 안되는 경우에
[공통]
전원 버튼으로 재부팅을 하시고, 부트 로더 화면(부팅할 OS선택 화면)에서 부팅할 OS를 가리킨 채로 ‘e’키로 편집 화면으로 넘어갑니다. 여기서부터는 본인이 사용하는 부트로더의 종류에 따라 나뉩니다.
4.1. systemd-boot 사용자의 경우
“[공통]에 이어서”
(options 부분으로 이동 후)
rw quiet 뒤에 pci=nomsi 를 적어줍니다.
(pci=nomsi 로 해결이 안될 경우 pci=noaer를 입력)
정상적으로 부팅이 되고 나면
$sudo nano /boot/loader/entries/arch.conf
(밑줄은 본인이 사용했던 이름으로 대체)
options ~생략~ rw quiet pci=nomsi
$sudo bootctl update
$reboot
테스트를 위해 재부팅을 해봅니다.
4.2. grub 사용자의 경우
“[공통]에 이어서”
(default 부분으로 이동 후)
quiet 뒤에 pci=nomsi를 적어줍니다.
(pci=nomsi로 해결이 안될 경우 pci=noaer로 입력)
정상적으로 부팅이 되고 나면
$sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT=” ~생략~ quiet pci=nomsi”
$grub-mkconfig -o /boot/grub/grub.cfg
5. ccache, makeflags –추천도:3/5 (시스템 이해가 되고 나서 하세요)
ccache 설치
ccache는 자주 컴파일 되는 것들을 캐싱해 둠으로써 빌드 시간을 단축시키는데 목적이 있습니다.
$sudo pacman -S ccache
프로세서 개수 확인
$nproc
결과로 나온 숫자를 기억해두시면 됩니다.
makepkg.conf 파일 수정
$sudo nano /etc/makepkg.conf
중간에 BUILD ENVIRONMENT 부분에서 아래로 몇 줄 내려가보면
BUILDENV=(!distcc color ccache check !sign)
으로 ccache 부분 앞의 ‘!’를 제거해줍니다.
아까 BUILD ENVIRONMENT 제목으로 돌아간 후 위로 4줄정도를 보시면
MAKEFLAGS=”-j4″
위 처럼 ‘#’을 지우신 후 아까 외운 숫자를 j뒤에 붙이시면 됩니다.
이제 bashrc파일을 수정하겠습니다.
$nano ~/.bashrc
맨 아래에 두 줄을 추가해줍니다.
export PATH="/usr/lib/ccache/bin/:$PATH"
export MAKEFLAGS="-j4"
6.pacman.conf
pacman.conf 파일은 pacman 패키지 매니저의 인터페이스와 작동 등에 관한 설정을 담은 파일입니다. 아래 제시하는 설정을 오나료하시면 색이 적용된 아웃풋과 업데이트시 이전 버전, 업데이트될 버전과 용량 등을 자세히 표시할 수 있습니다. 새 소프트웨어 설치시에는 설치될 버전, 용량 등이 표의 형태로 표시됩니다.
$sudo nano /etc/pacman.conf
(파일 내에서 주석(#) 제거 할 부분)
#color
…
#VerbosePkgLists
부록B-추천 패키지 목록
#text editor
- nano
- vim
- ?emacs?
- code(vscode-visual studio code)
- ?lime?
- ?atom?
#AUR Wrapper
AUR를 통해 설치한 패키지들의 업데이트 내역이나 설치를 도와주는 소프트웨어들입니다. ‘yaourt’가 디폴트 수준으로 많이 사용되고 있어서 가장 앞에 두었습니다. yaourt는 개발이 중단되었습니다. 추천을 원하신다면 ‘cower‘를 추천합니다. cower도 개발이 중단되었습니다. 추천은 ‘auracle’, ‘yay’ 입니다. 근데 그냥 저는 안씁니다.
yaourt$sudo nano /etc/pacman.conf맨 아래로 내려가서 3번,4번,5번을 적어줍니다.[archlinuxfr]SigLevel = NeverServer = http://repo.archlinux.fr/$arch$sudo pacman -Sy yaourt[사용법] 검색 : $yaourt -Ss[사용법] 설치 : $yaourt -S package-name[사용법] 업데이트 : $yaourt -Syu
pacaur – cower를 기반으로 yaourt처럼 자동 설치까지 지원해줍니다.coweraur.archlinux.org > cower > Download Snapshot$gpg –recv-keys –keyserver hkp://pgp.mit.edu 1EB2638FF56C0C53$cd Downloads$tar -xvzf cower(tab)$cd cower$makepkg -sic[사용법] 업데이트 확인 : $cower -u[사용법] 업데이트 다운 : $cower -ud
#libreoffice-fresh
#qbittorrent
#vlc
추가 소프트웨어 설치하지 않고, 기본 Gnome ‘Video’앱으로 비디오 시청하려는데 간혹, 검정색 화면만 나오는 경우가 있는데 그 때는 ‘gst-libav’가 설치되어 있는지 확인. 방법 : $pacman -Ss gst-libav 이 결과 값이 ‘[installed]’로 뜨지 않을 경우 설치하시면 됩니다.
#(취향)prompt 세팅 예제([시간][유저@호스트네임][디렉토리]>)
(배경화면을 설정하면 히스토리 브라우징하거나, 긴 커맨드 입력후 깨짐/연구중)
- $nano ~/.bashrc
- PS1=”[\t][\u@\h][\w]>”
#(취향)’screenfetch‘ 설치 방법. Neofetch 쓰세요 여러분
- $sudo pacman -S screenfetch
- $nano ~/.bashrc
- if [ -f /usr/bin/screenfetch ]; then screenfetch; fi
- Edit>Profile Preferences 수정
#GIMP
부록C-커맨드 리스트
- cfdisk/gdisk 내부는 생략합니다.
- grub/systemd-boot 병행 주의
- >은 커맨드가 아니란 뜻입니다. 커맨드는 그냥 아무 표시 없이 적었습니다.
- 반드시 본문의 내용을 이해하고 나서 진행하시기 바랍니다.
- ‘preformatted’ 형식이 아니기 때문에 ‘-‘가 두개 있는 경우도 ‘-‘한개 처럼 표시됩니다. 주의하시기 바랍니다. (해당 명령어 뒤에 ‘##두개##’라고 붙여두겠습니다.)
- 설치 준비
- sudo dd bs=4M if=~/Downloads/archlin(tab) of=/dev/sdX status=progress && sync
- BASE 설치
- ls /sys/firmware/efi
- ping -c 3 archlinux.org
- lsblk
- >partition (1)cfdisk/(2)gdisk
- cfdisk /dev/sda
- gdisk /dev/sda
- mkfs.fat -F32 /dev/sda1
- mkfs.ext4 /dev/sda3
- mkswap /dev/sda2
- swapon /dev/sda2
- mount /dev/sda3 /mnt
- mkdir /mnt/boot
- mount /dev/sda1 /mnt/boot
- nano /etc/pacman.d/mirrorlist
- >Server = http://ftp.lanet.kr/pub/archlinux/$repo/os/$arch
- >Server = https://ftp.lanet.kr/pub/archlinux/$repo/os/$arch
- pacstrap /mnt base linux linux-firmware
- genfstab -U /mnt >> /mnt/etc/fstab
- 시스템 세팅
- arch-chroot /mnt
- ping -c 3 archlinux.org
- passwd
- 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
- echo pcname > /etc/hostname
- ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
- hwclock –systohc –utc ##두개##
- useradd -m -G users,wheel -s /bin/bash yourname
- passwd yourname
- EDITOR=nano visudo
- >(uncommnet)%wheel ALL~
- >bootloader (1)grub/(2)systemd-boot
- grub
- pacman -S grub efibootmgr
- grub-install –target=x86_64-efi –efi-directory=/boot –bootloader-id=arch –recheck ##두개##(terget 앞, efi-directory 앞, bootloader-id 앞, recheck 앞)
- grub-mkconfig -o /boot/grub/grub.cfg
- systemd-boot
- bootctl –path=/boot install ##두개##
- nano /boot/loader/loader.conf
- >default arch
- >editor 0
- >timeout 0
- nano /boot/loader/entries/arch.conf
- >title archlinux
- >linux /vmlinuz-linux
- >initrd /initramfs-linux.img
- echo “options root=PARTUUID=$(blkid -s PARTUUID -o value /dev/sda3) rw” >> /boot/loader/entries/arch.conf
- nano /boot/loader/entries/arch.conf
- grub
- exit
- umount -R /mnt
- reboot
- 데스크탑 환경 설치
- login
- sudo systemctl start dhcpcd
- ping -c 3 http://www.google.com
- sudo pacman -Syu
- sudo pacman -S xorg-server gnome
- sudo systemctl enable gdm
- reboot
- 데스크탑 환경 설정
- sudo systemctl enable NetworkManager
- sudo systemctl start NetworkManager
- >aur.archlinux.org
- >google-chrome
- >Download Snapshot
- cd Down(tab)
- tar -xvzf goog(tab)
- cd goog(tab)
- makepkg -sic
- >aur.archlinux.org
- >ttf-nanum
- >Download Snapshot
- cd Down(tab)
- tar -xvzf ttf(tab)
- cd ttf(tab)
- makepkg -sic
- sudo pacman -S ibus ibus-hangul
- >ibus-preferences
- >input-method>ADD>others/korean/hangul
- >General>modifier : shift / apply
- >Settings>Region&Language : Input Source
- >’+’ >others>Korean>Korean(hangul)
- >click ‘A’ on the panel
- >change to ‘korean(hangul)’
- >click ‘한’on the panel
- >turn on ‘hangul mode’
- 권장사항
- microcode
- systemd-boot
- sudo pacman -S intel-ucode
- sudo nano /boot/loader/entries/arch.conf
- >initrd /intel-ucode.img
- sudo bootctl update
- reboot
- grub
- sudo pacman -S intel-ucode
- grub-mkconfig -o /boot/grub/grub.cfg
- systemd-boot
- video driver
- lspci | grep -e VGA -e 3D
- sudo pacman -S xf86-video-intel
- System Check
- sudo journalctl -p 3 -xb
- sudo systemctl –failed ##두개##
- PCIe bus error
- systemd-boot
- sudo nano /boot/loader/entries/arch.conf
- >(add at options)pci=nomsi (or pci=noaer)
- sudo bootctl update
- reboot
- grub
- sudo nano /etc/default/grub
- >(add at “GRUB_CMDLINE_LINUX_DEFAULT”)pci=nomsi (or pci=noaer)
- grub-mkconfig -o /boot/grub/grub.cfg
- systemd-boot
- ccache,makeflags
- sudo pacman -S ccache
- nproc
- sudo nano /etc/makepkg.conf
- >BUILDENV=(!distcc color ccache check !sign)
- >MAKEFLAGS=”-j4″
- nano ~/.bashrc
- >export PATH=”/usr/lib/ccache/bin/:$PATH”
- >export MAKEFLAGS=”-j4″
- microcode
- 부록B-추천 패키지 목록
- text editor – vim
- sudo pacman -S vim
- AUR Wrapper
- yaourt
- sudo nano /etc/pacman.conf
- >[archlinuxfr]
- >SigLevel=Never
- >Server = http://repo.archlinux.fr/$arch
- sudo pacman -Sy yaourt
- cower
- >aur.archlinux.org>cower>Download Snapshot
- gpg -recv-keys -keyserver hkp://pgp.mit.edu 1EB2638FF56C0C53
- cd Downloads
- tar -xvzf cower
- cd cower
- makepkg -sic
- yaourt
- libreoffice
- sudo pacman -S libreoffice-fresh
- qbittorrent
- sudo pacman -S qbittorrent
- for video app
- sudo pacman -S gst-libav
- prompt setting
- nano ~/.bashrc
- >PS1='[\t][\t@\h][\w]>’
- screenfetch
- sudo pacman -S screenfetch
- nano ~/.bashrc
- >if [-f /usr/bin/screenfetch ]; then screenfetch; fi
- Edit>Profile Preferences 수정
- gimp
- sudo pacman -S gimp
- text editor – vim
리눅스를 좋아해서, Ubuntu와 CentOS를 썼었는데.. 처음으로 arch 리눅스를 깔았습니다. 정리를 너무 잘 해주셔서, 구글링 삽질을 덜 하게 되었네요. ㅎㅎ. 덕분에 arch 리눅스에 애정을 가지고 쓸 수 있을 것 같습니다. 공부도 많이 되었네요. 감사합니다.
LikeLike
도움이 되셨다고 하니 참 다행입니다! 감사합니다!
P.S. CentOS stream으로 rolling release가 출시되었습니다! CentOS는 이제 Fixed와 Rolling 두 버전을 모두 제작합니다. 마치 OpenSuSe처럼요!
LikeLike
작년 이맘때쯤 이 글을 보고 처음 아치를 설치해서 1년정도 사용하고있는 학생입니다. 이후에 윈도우를 다시 설치했을때 Grub문제가 생기는 등의 사유로 종종 다시 이 글을 찾아오곤 하는데 지속해서 이 글을 업데이트해주시는것에 매우 감사합니다 ㅎㅎ 앞으로도 계속 잘 부탁드립니다~ 덕분에 아치에서 손을 못 땔 것 같네요^^
LikeLike
감사합니다! 이런 댓글들이 매우 큰 힘이 됩니다! 앞으로도 문제가 있을 때 도움이 될 수 있도록 자주 업데이트 하겠습니다!
LikeLike
$sudo pacman -S xorg-server gnome
kde plasma 버전 설치하고 싶으면
sudo pacman -S xorg-server plasma(KDE)라고 하면되나요?
LikeLike
‘$sudo pacmac -S xorg-server plasma-meta kde-apps-meta’
입니다.
부팅시 그래픽 환경으로 접근하기 위해
‘$sudo pacman -Ss sddm’ 으로 ‘sddm’이 잘 설치되었는지 확인하시고,
‘$sudo systemctl enable sddm.service’하시면 됩니다.
추가로 궁금한 점이 있으시면, 언제든 답변 남겨주세요~!
LikeLike
감사합니다. kde 버전은 한글 입력 설정은 어떻게 해야하는지 알려주실 수 있나요.
다른 게시판에 올라와있는대로 했는데, 도무지 그대로 안되네요.
LikeLike
KDE/PLASMA의 경우, 아직 ibus와의 통합이 완전히 이루어지지 않아 조금 까다롭습니다.
마지막 확인한 아치 리눅스 설치(올 여름)의 경우, 아래의 방법으로 가능하였습니다.
1. $sudo pacman -S ibus ibus-hangul
2. 에디터(vim/nano/kate 등 편집기)를 이용하여
2.1. $vim ~/.xprofile
2.2. ‘~/.xprofile’파일 내부에 아래의 내용을 추가
—–
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -drx
—–
위 내용은 기본 플라즈마 앱에서도 한글 입력이 원활하도록 하기 위해 작성합니다. 파이어폭스 등에서는 문제 없이 한글 입력이 되지만 KDE 앱에서 한글 입력이 안되는 고질병이 있었으나, 위의 방법으로 대부분 해결되는 양상입니다.
2.3. 참고로 마지막 줄(‘ibus-daemon -drx’)의 경우 재부팅 후, ibus가 실행되지 않으면 ‘~/.xprofile’에서는 해당 줄을 삭제하시고, ‘~/.bashrc’로 옮기고 난 뒤, 재부팅 > 콘솔 터미널 실행으로 해결하여야 합니다.
2.4. ibus-setup을 실행하여 두번째 탭에서 입력기에 ‘Korean’> ‘hangul’을 추가합니다.
2.5. 우측 하단 상태 패널에 ‘A’문양 ibus 입력기 앱을 클릭하여, 태극기 문양의 한글로 변경합니다.
2.6. 파이어폭스 등 브라우저에서 한글 입력이 잘 되는지 확인합니다.
2.7. 우측 알트 키(소위 ‘한/영’키)로 한/영 변환이 안될 경우 ‘shift’+’space bar’로 가능한지 확인합니다.
최대한 오해의 소지가 없도록 명확히 적었으나 그래도 이해가 안되는 부분이 있으시다면 추가로 답변 주세요~!
LikeLike
한글 입력 설정떄문에 계속 골머리를 앓았었는데 덕분에 잘 해결하고 갑니다!
LikeLiked by 1 person
도움이 되었다고 하시니 참 다행입니다!! 최근 Gnome에서 ibus와 통합이 되어서 앞으로 더 수월해질 것으로 보입니다!
LikeLike
안녕하세요. 덕분에 아치리눅스를 설치하는데 많은 도움이 되었습니다. 제가 리눅스에 대해 아는 게 없어서 몇 가지를 여쭤보고 싶습니다.
2.3에서 파티셔닝을 할 때 부팅, 스왑, 루트 순서로 하시는데 https://wiki.archlinux.org/index.php/Installation_guide#Partition_the_disks 여기서는 부팅, 루트, 스왑 순서로 합니다. 잘 모르지만 디스크의 어느 부분에 어떤 파티션이 위치하는지가 속도에 영향을 미칠 수 있나요? 하드 디스크와 SSD일 때 다르려나요?
2.4에서 mkfs.vfat을 사용하시는데 fat와 vfat 아무거나 사용해도 동일한가요? (https://wiki.archlinux.org/index.php/File_systems#Types_of_file_systems)
2.6에서 부팅 파티션을 /boot에 마운트 하시는데 https://wiki.archlinux.org/index.php/EFI_system_partition#Mount_the_partition 여기서는 GRUB을 사용하면 /efi에 마운트 하라고 나와 있습니다. 위치에 따라 부트로더 설정이나 다른 것이 달라지나요?
2.7의 “Server = 로 시작하는 총 ‘2줄’로 입력이 되면 완성입니다.” 이 글은 kaist 미러가 있을 때의 말씀이신가요?
3.4에서 ko_KR.UTF-8의 주석도 해제해도 된다고 하셨는데 https://www.codentalks.com/t/topic/4446에 따르면 터미널에서 깨지는 글자가 나올 수 있다고 하고 실제로 제가 그렇게 했다가 글자가 깨지는 것을 경험했습니다.(정확한 설정은 기억나지 않지만 뒤에서 LANG=en_US.UTF-8로 했던 것 같습니다.) ㅠ_ㅠ 두 번째로 설치할 때는 터미널에서는 다 en_US.UTF-8로 설정하고 GUI에서 ko_KR.UTF-8을 주석 해제했습니다. 정확한 원인과 해결 방법은 모르겠지만 다른 분들도 참고하시면 좋을 것 같습니다.
5.3의 tar -xvzf 옵선 순서를 다르게 쓰고 실행했더니 안 되는 경우가 있었던 것 같습니다. 옵션의 순서가 중요한가요?
그리고 sudo makepkg -sic를 하면 sudo로 하지 말라고 메시지가 떠서 sudo 없이 진행하였습니다.
부록C에 kaist 서버가 그대로 있습니다.
이외에 오타를 발견하기도 했는데 다 설치하고 다시 글을 빠르게 보면서 글을 쓰느라 정확히 어디인지 잘 모르겠습니다.
요즘에는 랜선 포트가 없는 노트북이 많은 것 같은데 무선 설정도 있으면 어떨까 합니다.
다시 한 번 감사드립니다.
LikeLiked by 1 person
3.9에서 “useradd -m -G users,wheel -s /bin/bash”를 입력하셨는데 ‘useradd -D’로 default 설정을 보면 ‘SHELL=/bin/bash’라고 나옵니다. 그렇다면 ‘-s /bin/bash’를 쓸 필요가 있나요?
LikeLiked by 1 person
안녕하세요! 도움이 되셨다니 다행입니다! 다양한 내용을 질문해주셨네요
저도 마침 검색하며 공부도 하게되는 좋은 기회였습니다. 몇 가지 재밌는 결과들도 있었습니다. 정리해드리겠습니다!
1. ‘2.3’에서 파티셔닝을 할 때 ~(후략) : HDD 같은 경우 미미한 성능 차이가 있다는 것은 잘 알려진 사실입니다. 다만, 그 정확한 수치에 대해서는 저도 검색을 해봐야할 것 같습니다. SSD의 경우는 그 차이가 없는 것으로 알고 있습니다. HDD의 성능 차이가 어쨋든 물리적인 arm(디스크를 읽기 위한 수평 축/’헤드’라고도 함)이 이동해야 한다는 것에 기인하는 점을 생각해보면 당연한 이치로 보입니다. 그러나, 질문의 요지에서 파티션의 순서를 특정 순서로 한 이유가 그 성능 차이 때문이냐고 물으신다면 그것은 아닙니다. 위에서 언급드린 성능의 차이는 공학적 측면에서 논문 작성을 위한 실험에서나 유효할 만한, 혹은 클러스터 단위의 대형 저장 장치에서 유효할만한 결과를 초래합니다. 개인용 컴퓨터에서 파티션의 위치는 크게 영향을 받지 않습니다. (다만, 아치/젠투/LFS 등으로 더욱 진행하시다보면 손에 익은 순서로 하게될 따름입니다. 즉, 처음 보고 따른 위키나 핸드북에서 사용한 파티션 계획을 그대로 이어갈 가능성이 큽니다.) (https://en.wikipedia.org/wiki/Hard_disk_drive_performance_characteristics)
2. ‘2.4’에서 mkfs.vfat을 사용하시는데 fat와 vfat 아무거나 사용해도 동일한가요? : 스택익스체인지(stack exchange)에 달린 답변에 따르면, ‘vfat’이 더 최근 버전의 파일시스템이지만 더 긴 파일명을 허용하는 등 미미한 성능 차이 외에는 없어보입니다. 명령어에서 ‘vfat’은 ‘fat’과의 구분(특히, ‘fat16’, ‘fat32’ 등과)을 위해 존재하지만 사실상 같은 것으로 처리되는 것으로 보입니다. (https://unix.stackexchange.com/questions/263606/why-the-v-in-mkfs-vfat)
3. ‘2.6’에서 부팅 파티션을 ‘/boot’에 마운트 하시는데~ (중략) ~위치에 따라 부트로더 설정이나 다른 것이 달라지나요? : 아니요! 오히려, GRUB은 매우 발전해와서 ‘/boot/efi’의 경우 추가로 옵션이 필요 없고, ‘/boot’의 경우 ‘–efi-directory=/boot’ 를 요구하는 수준의 차이만 있습니다.(https://www.gnu.org/software/grub/manual/grub/grub.html#Installing-GRUB-using-grub_002dinstall). 더불어, 슬랙웨어는 질문하신 부분과 마찬가지로 ‘/boot/efi’를 기본으로 생각하는 것 같습니다. 각종 문서나 위키에서도 기본적으로 ‘/boot/efi’로 적혀있습니다. 추가로, 젠투는 핸드북에 따르면 ‘/boot’를 디폴트로 적어두고 있습니다.(https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base#Mounting_the_boot_partition)
4. ‘2.7’의 “Server = 로 시작하는 총 ‘2줄’로 입력이 되면 완성입니다.” 이 글은 kaist 미러가 있을 때의 말씀이신가요? : 네! 맞습니다.
5. ‘5.3’의 ‘tar -xvzf’ 옵선 순서를 다르게 쓰고 실행했더니 안 되는 경우가 있었던 것 같습니다. 옵션의 순서가 중요한가요? : 네+아니요! 기본적으로 리눅스 코어유틸이나 그에 버금가는 유틸들은 옵션의 순서가 중요하지 않습니다. 옵션이 플래그(flat) 역할, 즉, 이 옵션을 키거나 끄는 역할을 할 경우 더욱 그러합니다. 다만, 유저들이 쉽게 오해하는 것이 인풋을 필요로하는 옵션입니다. ‘wpa_supplicant’를 예시로 들면 좋겠네요! ‘-B’ 옵션은 플래그 역할이라고 생각하시면 되지만, 뒤에 자주 같이 쓰이는 ‘-i, -c’ 등은 옵션을 필요로 합니다. 따라서, ‘-i wlp2s0 -c /etc/wpa_supplicant/wlp2s0.conf’ 와 같은 형태로 인풋 파일을 바로 이어서 작성하곤 합니다.(완성된 형태의 예시: ‘$wpa_supplicant -B -i wlp2s0 -c /etc/wpa_supplicant/wlp2s0.conf’) 마찬가지로, tar의 주어진 옵션 중 ‘f’옵션이 인풋 파일을 요구합니다. 따라서 어떤 순서로 쓰시든 상관없지만 f가 맨 뒤로 빠지지 않는 이상, f는 따로 떼어내셔서 파일명을 주고 나머지 옵션을 부여하셔야 합니다!
6. ‘3.9’에서 “useradd -m -G users,wheel -s /bin/bash”를 입력하셨는데 ‘useradd -D’로 default 설정을 보면 ‘SHELL=/bin/bash’라고 나옵니다. 그렇다면 ‘-s /bin/bash’를 쓸 필요가 있나요? : 아니요! 디폴트 쉘이 ‘bash’인 것을 확인하셨다면 당연히 필요치 않으실겁니다! 오히려 ‘-G users,wheel’부분도 ‘-g users -G wheel’로 하는 것이 적합할 수도 있습니다. 다만, 기본 쉘이 ‘dash’인 경우(우분투 계열 중 일부) 혹은 ‘zsh’인 경우가 있을 수 있으나, 이 유저의 경우 명령어나 스크립트를 ‘bash’를 이용하여 실행하겠다의 의미를 갖기 위해 ‘-s /bin/bash’를 붙이는 경우가 많습니다. 질문하신 것과 같은 의도를 갖는 경우는 LFS입니다.(http://www.linuxfromscratch.org/blfs/view/svn/postlfs/skel.html) 슬랙웨어/아치/젠투 위키/핸드북에서는 가장 기본적으로 ‘-m [홈디렉터리] -g [기본그룹] -G [추가그룹] -s [기본쉘]’의 골격을 유지합니다. (링크는 순서대로 슬랙웨어/아치/젠투: https://docs.slackware.com/slackbook:users#managing_users_and_groups, https://wiki.archlinux.org/index.php/Users_and_groups#User_management, https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Finalizing#Adding_a_user_for_daily_use)
추가로, 부록 C 파트의 오류, sudo makepkg -sic에서 sudo 관련 오류는 다음 업데이트 시에 적용하도록 노력하겠습니다. 무선 설정관련도 추가로 고려해보겠습니다. 감사합니다! 더 궁금한 점이 있으시다면 답변남겨주세요~!
[EDIT:0]
추가 댓글로 올려 주신, 여섯 번째 질문에 대한 답을 추가하였습니다.
LikeLike
정말 친절한 답변 감사합니다.
만자로 쓰다가 아치보다 업데이트 속도가 느린 것 같아서 아치 도전해봤는데 설치하는데 많은 도움이 되었습니다.
3.4 부분은 설치시에 ko는 주석을 해제하지 않는 것이 좋을까요?
다만 아직도 알아야할 게 많은 것 같습니다. 그래픽 드라이버 때문인지 부팅, 재부팅이 느리거나 안 될 때가 있고 윈도우즈와 원격은 어떻게 할지 특정 프로그램에서 한글이 안 나오는 문제 등 나아갈 길이 머네요.
감사합니다!
LikeLiked by 1 person
1. 3.4 부분은 설치시에 ko는 주석을 해제하지 않는 것이 좋을까요? : 네! 본문에 적혀있듯이, ko_KR.UTF-8 의 주석을 제거하여도 될 뿐, 안 해도 상관없습니다. ‘locale.conf’파일의 경우, 시스템에서 출력되는 언어 형식을 지정하기 때문에, ‘en_US.UTF-8’로 되어 있는 영문 파일명이나 에러 메시지를 신경쓰지 않으신다면, ‘en_US.UTF-8’만 주석제거 하셔서 사용하시면 됩니다. 젠투의 경우 다양한 로케일을 주석 제거하여도 ‘eselect locale list’ 와 ‘eselect locale set (number)’를 통해 원하는 로케일을 사용할 수 있습니다만, 아치 리눅스에서 해당 기능을 구현해두었는지 잘 모르겠습니다. 따라서, 기본적으로 ‘en_US.UTF-8’의 주석을 제거하는 것이 디폴트라고 생각하시면 됩니다.
2. 부팅/재부팅이 느린 경우 : ‘dmesg | grep -i ‘error”, ‘dmesg | grep -i ‘fail”, ‘dmesg | grep -i ‘warn” 등의 명령어를 통해 부팅시 어떤 에러가 있었는지 확인할 수 있습니다. 부팅이 느리게 느껴지는 경우 entropy 때문일 수 있는데 이 경우 haveged 를 설치 후, ‘systemctl enable haveged.service’를 통해 해결될 수도 있습니다.
3. 윈도우즈 원격은 어떤걸 어려워 하시는지 잘 모르겠습니다 ㅠㅠ
4. 한글 입력의 경우는 ‘ibus’, ‘ibus-hangul’ 패키지가 전담합니다. 따라서, 현재 기준 Gnome에서는 아무 문제가 없고 KDE/PLASMA의 경우는 저도 애를 먹고 있습니다(외부 소프트웨어에서 입력은 문제 없음. KDE 앺 – 즉, Konsole 등에서 한글 입력 불가 상황). 다만, 출력의 경우는 상황이 달라서 해당 소프트웨어에서 한글 번역이 존재하지 않는 경우 등 다양한 이유로 한글 출력이 안 될 수도 있습니다. 혹, 한글 폰트가 없어서 그런 거라면, ‘noto-fonts-cjk’ 등 한글 지원 폰트를 설치하시면 박스 모양으로 깨져서 출력되는 문제가 해결될 것으로 보입니다. (cjk 는 언어 관련 문제(localization,internationalization)에서 항상 중국,일본,한국(Chinese,Japanese,Korean)을 칭하며 자주 쓰입니다.)
LikeLike
1. 둘 다 주석을 해제하고 설치하다 글자가 ㅁㅁㅁ으로 깨지는 문제가 생겼어서 상관이 없는지 아닌지 잘 모르겠습니다. 한글로 메시지가 나오면서 한글 폰트가 없어서 그런 것 같은데 왜 한글로 메시지가 나왔는지 잘 모르겠습니다. 두번째 설치할 때는 영어만 풀고 설치하고 KDE와 SDDM을 설치하고 한글의 주석을 해제하니 문제가 없었습니다. 어렵네요..
2. 부팅시에 clean blcok 같은 메시지 나오고 멈추는 것 같습니다. 터치패드를 터치하거나 키보드를 두드려야 부팅이 진행됩니다. 말씀하신 방법을 시도해보겠습니다.
3. 아치에서 윈도우로 RDP나 다른 방식으로 원격을 하는 법과 반대로 윈도우에서 아치로 원격을 하는 방법을 알고 싶습니다. 현재 KDE를 사용하고 있는데 KRDC가 RDP의 인증서 업데이트(?) 이후로 잘 안 되는 것 같습니다. Remmina로 RDP를 이용한 윈도우로의 원격은 잘 됩니다. 리눅스는 VNC 같은 걸 이용하는 것 같더군요.
4. Gnome의 기본 메모리 사용량이 많아서 KDE를 사용하고 있습니다. xfce, lxde, lxqt, KDE, gnome, MATE, deepin, budgie, pantheon 정도 써봤는데 gnome 계열은 다 무겁더군요. Jeon님도 KDE에서 문제를 겪으신다니 다시 한 번 다른 DE를 시도해봐야할 것 같습니다. 전에는 fcitx를 썼고 현재는 nimf를 사용하고 있습니다. Konsole에서 한글이 입력됩니다. locale.conf에 LANG=en_US.UTF-8로 되어있는데 프로그램의 한글 부분이 ㅁㅁㅁ으로 나옵니다. 그래서 ko_kr.UTF-8로 바꾸니까 잘 나옵니다. 그런데 OS는 영어로 사용하고 싶은데 어떻게 해야 하는지 잘 모르겠습니다. noto font cjk는 nimf를 설치할 때 같이 설치되어서 설치되어 있습니다. 폰트까지 신경써주시고 엄청 친절하십니다!
좋은 주말 되시기 바랍니다.
LikeLiked by 1 person
기본적으로 로케일 관련해서 제 경우에는
-locale.conf 파일 >> ‘en_US.UTF-8’ 만 주석 해제,
-ibus, ibus-hangul 설치
-(ibus 활용을 위해 ~/.bashrc 파일 내부에)
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -drx
의 4줄을 기입
-한글 폰트 반드시 설치
합니다.
위와 같이 하면, 원하시는 것처럼 폴더명이나 터미널에서 메시지는 모두 영어로 출력되고, 파이어폭스나 다른 소프트웨어에서 한글 입력 문제 없이 가능합니다. 다만, 이번 KDE5 대형 업데이트 이후로 konsole 등의 kde 기본 앱에서만 한글 입력이 안되는 것으로 확인되는데, 질문자님께서 된다고 하신다면 아마도 ibus와의 충돌이겠네요!
원격은 제가 사용을 안해서 정말 도와드리기 힘들 것 같습니다. 죄송합니다 ㅠㅠ
LikeLike
저는 ibus 대신 nimf를 사용하여서 그 차이일 것 같습니다.
도움 감사합니다.
LikeLiked by 1 person
도움이 많이 되었습니다. 감사합니다.
LikeLiked by 1 person
아아;; 업데이트 도중에 보셨다면 꽤 혼란스러우셨을텐데;; 도움이 되셨다니 다행입니다!
LikeLike
존경합니다.
LikeLiked by 1 person
감사합니다;
아무쪼록 도움이 되셨길 바랍니다;
LikeLike
많은 도움이 되었습니다. 감사합니다.
LikeLiked by 1 person
도움이 되셨다고 하니 다행입니다!
LikeLike
안녕하세요. chroot 다음부터 bash: ping: command not found라고 뜨는데 어떻게 해야할지 모르겠네요… 처음부터 다시 해야할까요?
LikeLiked by 1 person
죄송해요. pacstrap 재설치로 해결되었어요. 아마 타이포를 냈나봐요.
LikeLiked by 1 person
잘 해결되셨다니 다행입니다~!
LikeLike
작성자님 덕분에 안 쓰게 된 노트북의 SSD에 ArchLinux를 설치 할 수 있었습니다. 정말 고맙습니다.
사실, 제 경우는 한가지 문제가 생기는데, 질문드려도 될까요?
아치리눅스는 꼭 써보고싶고, 문제는 생기고, 뭐가 문제인지도 제대로 모르겠는 상태에서 부족한 지식으로나마 이리저리 헤메며 검색 해 보기도 했지만 도저히 찾을 수가 없습니다 ㅜㅜ.
8GiB짜리 USB를 설치전용 USB로 만든 뒤, 설치화면(root at archiso)을 띄웠습니다. lsblk로 저장장치 목록을 보면 USB는 sda로, SSD는 sdb로 나옵니다.
(sdb에 설치를 마친 뒤)USB가 있으면 모두 잘 되는데, 그렇지 않은 경우는 루트파티션―/dev/sdb3―을 찾을 수 없다면서 부팅이 되지 않습니다..
SSD를 sda로, 설치전용 USB를 sdb로 표시되게 해야 할 것 같은 느낌인데 혹시 관련 해법을 알고 계신가요..?
LikeLiked by 1 person
특이한 오류를 맞으셨네요. 가장 먼저 의심되는 사항은 부팅 BIOS 옵션에서 (익히 아시겠지만, 부팅 메인보드 로고가 뜰 때, ‘DEL’키 등으로 접속 가능한 화면입니다) 부팅 드라이브 순서가 USB 우선으로 되어 있는 것은 아닌지 확인해 주시면 좋을 것 같습니다. 기본적으로 랩탑/데스크탑할 것 없이 가장 우선 순위, 즉, 1번은 해당 기기에 연결되어 있는 SSD/HDD여야 합니다. 즉, ‘WD 1TB SOMESERIALNUMBER’처럼 말이죠. 혹시 이 1번이 비어있거나 ‘external drive’처럼 외부 저장 장치로 되어 있는 경우 SSD/HDD로 수정해주시면 될 것 같습니다.
관련 포럼 이슈는 다음 링크에 있습니다. 링크: https://bbs.archlinux.org/viewtopic.php?id=200362
이 포럼 이슈에서도 다른 유저들이 ‘#genfstab -U /mnt >> /etc/fstab’에서 ‘-U’옵션을 활용하면 파티션의 ‘UUID’로 fstab이 작성되기 때문에 별달리 신경쓸 것 없다는 반응입니다만 질문자께서는 실제로 부팅에 차질이 생기기 때문에 /etc/fstab 파일을 확인하시는 것도 좋은 방법인것 같습니다.
혹 계속 해결이 안된다면 추가 댓/이메일 주시면 감사하겠습니다!
LikeLike
피곤해서 조금 쉬고 다시 해 보겠다던 게, 너무 늦어버렸네요.
귀띔 해 주셨던 대로 확인을 해 봤습니다. 문제의 시점에서도 SSD/HDD는 1순위로 맞춰뒀었고, blkid와 etc/fstab 파일을 확인 해 본결과 UUID값도 제대로 돼 있었습니다.
부끄럽게도, 루트파티션을 찾을 수 없다던 오류 메시지는 제 실책이었던듯 합니다. 추천 해 주신 systemd-boot의 설정을, 문제의 시점에서 ‘options root’에 대한 값을 /dev/sdb3로 했었는데 /dev/sda3로 바꾸고 나니 /dev/sdb3를 찾을 수 없다는 오류메시지는 더이상 뜨지 않습니다.
다만, 문제가 끝나지는 않았습니다. 이제는 아래같은 오류 메시지가 뜹니다.
ERROR: device ‘ ‘ not found. Skipping fsck.
:: mounting ‘ ‘ on real root.
mount: /new_root: no filesystem type specified.
You are now being dropped into an emergency shell.
sh: can’t access tty; job control turned off
도움 주셔서 정말 고맙습니다.
LikeLiked by 1 person
‘#lsblk’, ‘#cat /etc/fstab’의 결과를 ‘wgetpaste’ 등을 통해 적어주시면 해결에 도움이 될 것 같습니다. 당장 도움이 되지 못하여 죄송합니다. 해당 사례와 유사한 포럼글은 다음 링크와 같습니다. https://bbs.archlinux.org/viewtopic.php?id=207373
LikeLike
어찌저찌 찾고찾아, 성공적으로 로그인 화면을 보게 되었습니다!
처음 해 보는 시도여서 막막했는데, 작성자님 덕분에 무사히 설치 할 수 있었습니다. 정말 고맙습니다!
저도 언젠간 이렇게 입문자에게 도움이 될 무언가를 남길 수 있게 됐으면 좋겠어요.
LikeLiked by 1 person
성공하셨다고 하니 참 다행입니다!
감사합니다~!
LikeLike
잘 보고 갑니다
LikeLiked by 1 person
신년 첫 댓부터 너무 감사합니다! 도움 되셨다면 다행입니다!
LikeLike
좋은자료 감사합니다:)
LikeLiked by 1 person
네~! 감사합니다~!
LikeLike
정말 도움 된 자료입니다 감사합니다!
유선 연결이 곤란하신분은 arch-chroot /mnt 전에 pacstrap /mnt iw wpa_supplicant dialog
하시면 됩니다!(iw는 꼭필요한지 모르겠네요) 혹시 이미 arch-chroot 하셨다면 exit 입력하시면 돌아갈수있습니다!
LikeLiked by 1 person
추가로 설치후 arch-chroot /mnt 하시고 wifi-menu 입력하면 와이파이 선택창이 뜹니다!
LikeLiked by 1 person
감사합니다~!
LikeLike
3.5언어설정부분에
/etc/lcoale.conf를 통해 확인해 보실수 있습니다.
lcoale -> locale로 수정 부탁드립니다.
LikeLiked by 1 person
즉시 수정하겠습니다!
LikeLike
친절한 가이드에 감사드립니다. 4.2 부분에서는 유선일 경우에만 소개되어있는 것 같은데, 이번에 와이파이 노트북에 설치하면서 살짝 난항을 겪고있습니다.
다른 글에 적어주신 LINUX에서 WIFI 사용 총 정리를 참고하여 “iw” 명령어를 사용하려했으나,
iw 라는 명령어 자체가 없어서 문제입니다. 혹시 다른 방법으로 CLI 환경에서 Wi-Fi 설정이 가능한가요?
LikeLiked by 1 person
아치 리눅스 설치 중이시라면 #pacman -Syu 이후, #pacman -S iw 를 통해 설치가 가능합니다.
iw유틸은 와이파이 스캔을 위해 사용하며, 혹시 작성자분의 와이파이 이름과 비밀번호를 알고 계시다면, 바로 #wpa_passphrase wifi_name wifi_password >> /etc/somename.conf 등을 통해 저장하신 후, #wpa_supplicant -B -i (본인 드라이버명) -c /etc/somename.conf 를 이용해 연결할 수 있습니다. 마지막으로, #dhcpcd (본인 드라이버명) 을 통해 ip를 받으면 됩니다. (본인 드라이버 명의 예시: wlp2s0 등) 추가로 궁금하신 점이 있으시다면 언제든 댓글 남겨주시거나 wh@withjeon.com 으로 메일주세요~!
[EDIT: 0] iso 에서 pacstrap을 통해 ‘base’ 뿐만 아니라, ‘base-devel’도 설치 하셨나요? 그렇다면 ‘iw’유틸이 설치되었을 거라고 생각됩니다~. iso 이미지를 통한 설치 환경에서는 ‘iw’ 유틸 사용이 가능해야 합니다. 혹시 아니라면 자세한 상황을 알려주시면 감사하겠습니다!
LikeLike
우선 답변에 감사드립니다. 제가 시간이 없어서 오늘 다시 처음부터 설치하느라 답변이 늦어졌습니다.
모든 설치 순서는 가이드에 따라서 진행하였으며, 다만 다른 점이라고는 nvme ssd, WiFi 모델인지라
처음에 ping 잡기전 $wifi-menu를 통해서 인터넷 연결을 잡아주고 시작했으며, grub을 통해서는 부트 메뉴에 나오지 않았기에 systemd-boot 방법을 통해서 부트를 잡아주었습니다.
이후에 $exit, $umount -R /mnt, $reboot 후 바로 로그인한 다음에
i 를 입력후 tab으로 명령어를 검색해본 결과, iw 명령어는 보이지 않았습니다. 분명 base-devel도 pacstrap 을 통해서 설치했었구요.
그리고 와이파이 씨드와 비번을 당연히 알고있으니, 알려주신 $wpa_passphrase 명령어를 통해서 저장하려했으나, 해당 명령어 또한 존재하지 않는다고 응답했습니다.
물론 인터넷이 잡히지 않으니 pacman -Syu 를 해도 미러사이트에 응답이 되지않는다고 말하구요…
뭔가 다른 방법을 찾아봐야할 것같습니다ㅠㅠ 다시 한 번 감사드립니다…
LikeLiked by 1 person
설치 도중이 아니라 설치 이후에 iw, wpa_supplicant가 없다는 것을 확인하신거라면, 설치 도중( 특히, arch-chroot 이후 )에 #pacman -S iw wpa_supplicant 를 통해 설치하는 방법이 있습니다. 설치 과정에선 다른 방법을 통해 와이파이 연결이 가능하셨다고 하여 말씀드립니다~
LikeLike
Hey would you mind letting me know which web host you’re working
with? I’ve loaded your blog in 3 completely different
browsers and I must say this blog loads a lot faster then most.
Can you recommend a good hosting provider at a reasonable price?
Cheers, I appreciate it!
LikeLiked by 1 person
I’m using all WordPress services. There are two different WordPress service, ‘.com’ and ‘.org’. I didn’t want to bother with host and traffics, so I went directly to ‘.com’. ‘.com’ gives very similar environment with ‘.org’. There are just a few differences like ‘install on your machine’ or ‘develop on the web’. You can find more detailed blog posts on google.
LikeLike
pacman-optimize 명령어가 없다는 이슈가 있네요..
LikeLiked by 1 person
수정하겠습니다!
LikeLike
예전에 많이 고전했던 사항인데 이렇게 쉽게 무려 한글로!! 적어주셔서 감사합니다
덕분에 까는데 덜 피곤합니다
LikeLiked by 1 person
모두가 했던 고민일텐데도 아무도 확실히 나서지 않아서 제작했습니다. 도움이 됬다니 다행입니다. 감사합니다!
LikeLike