Arch Linux/설치 방법(r34 Blame)
| r34 | ||
|---|---|---|
| r32 | 1 | ##@ 가능하다면 사진을 삽입해 주세요 :) |
| r12 | 2 | [목차] |
| r34 | 3 | 설치가 어려운[* 그나마 LFS처럼 빌드 노가다 지옥에 같히거나 Gentoo처럼 설치가 오래 걸리는 것도 아니니~~AUR같이 ABS 쓰다보면 젠투의 악몽이 떠오른다~~ 설치가 ~~심연에 비해~~그리 어려운 편은 아니다.]Arch Linux의 설치 방법을 정리해 두었다. [[https://wiki.archlinux.org/title/Installation_guide|최신 정보는 여기에서 확인 가능하다.]][* 한국어 번역이 처참해서 그냥 번역기 쓰는 것이 더 좋다.] |
| r5 | 4 | == 쉬운 방법? == |
| r27 | 5 | 쉽게 설치하려면 Archinstall를 이용하거나, EndeavourOS, Manjaro Linux같은 쉬운 설치를 지향하는 Arch 파생 베포판을 사용하자. |
| 6 | ||
| 7 | 또한 설치중 파티션을 건드려야하는 등, 잘못하면 시스템이 날아갈 수도 있으니 미리 가상머신 등에서 미리 도전해보자.[* 보안부팅은 끄자] | |
| r1 (새 문서) | 8 | == 설치 환경 부팅하기 == |
| r27 | 9 | [[https://archlinux.org/download/#download-mirrors|다운로드 주소]] |
| 10 | 여기서 ctrl + F로 자신이 살고 있는 나라를 검색하자.[* 사실 다른 것을 골라도 상관 없지만 속도가 느리다] 여기에서 iso 파일을 다운로드 하자. 가능하면 체크섬도 다운로드하여 파일을 검증하면 좋다. [* 파일 변조를 방지하기 위해서이다.] | |
| r1 (새 문서) | 11 | === Windows === |
| r3 | 12 | Windows 유저라면 [[https://rufus.ie/ko/|rufus]]를 다운받아 열면 된다. 창이 뜨면 장치 항목에 usb 목록이 뜨는데 필요 없는[* iso를 적용시키기 전에 데이터를 포멧해야하기 때문] 장치를 선택하고 부트 유형 항목에서 디스크 또는 ISO 선택 (please select)를 선택 후, 오른쪽에 있는 선택 버튼을 눌러 아까 다운로드 받은 iso파일을 선택한다. |
| r1 (새 문서) | 13 | |
| 14 | 확인하고 선택 후에, 시작 버튼을 누른다. 이때 파일 기반으로 할지, dd이미지 모드로 쓸 지 선택하는 창이 뜨는데, dd를 선택한다. | |
| 15 | ||
| 16 | 이제 펌웨어에서 부팅 항목에서 아까 만든 USB를 선택하면 부팅이 된다. | |
| r14 | 17 | [[#부팅후|부팅 후에 해야할 작업은 여기를 참조해주세요]] |
| r27 | 18 | === Linux[anchor(리눅스)] === |
| r19 | 19 | ~~어쩌피 다 알잖아요~~ |
| 20 | ||
| r27 | 21 | coreutils 페키지가 있어야한디.[* cat있으면 대부분 다 깔려있다.] |
| 22 | ||
| 23 | 터미널 에뮬레이터 혹은 bash를 사용해 lsblk를 입력하여 USB의 블럭 디바이스 확인.[* 아마 /dev/sd* 형태일 것이다.][* 햇갈리면 직접 마운트 해보자] | |
| r20 | 24 | {{{#!syntax shell |
| 25 | sudo dd if=<아까 받은 iso 파일> of=<블럭 디바이스 주소> bs=4M status=progress oflag=sync | |
| 26 | sync | |
| 27 | }}}를 입력하면 된다. | |
| r1 (새 문서) | 28 | |
| 29 | 이제 펌웨어에서 부팅 항목에서 아까 만든 USB를 선택하면 부팅이 된다. | |
| 30 | [[#부팅후|부팅 후에 해야할 작업은 여기를 참조해주세요]] | |
| 31 | === MacOS === | |
| r27 | 32 | === FreeBSD, NetBSD등 UNIX계열 OS[* 놀랍게도 리눅스는 Unix계열이 아니다.] === |
| 33 | [[#리눅스|커널이 아닌 OS기 때문에 Coreutils가 이미 있을 것이다.]] | |
| r1 (새 문서) | 34 | == 인터넷 연결[anchor(부팅후)] == |
| 35 | 렌선을 사용중이라면 대부분 따로 셋팅은 안해도 된다. Wifi를 사용중이라면 iwd의 iwctl을 이용하여 연결 하자. | |
| 36 | ||
| r27 | 37 | iwctl을 입력하여 iwctl을 킨 후, station list를 이용해 네트워크 디바이스를 찾은 후(대부분 wlan0이라는 이름을 갖고 있음) station <디바이스> connect[* 숨겨진 네트워크라면 connect-hidden] <wifi 이름>을 입력후, 비밀번호가 있으면 비밀번호를 입력후에 quit을 쳐서 빠져나오자. |
| r1 (새 문서) | 38 | |
| r27 | 39 | ping 8.8.8.8로 인터넷 연결을 테스트 할 수 있다.[* 근데 ~~그럴 일은 없지만~~ 구글 dns서버가 터지는 경우도 있으니, 0.0.0.0같은 다른 dns서버에도 핑을 날려보자] |
| r1 (새 문서) | 40 | == 파티션 만들기 == |
| 41 | fdisk <설치할 장치의 경로>를 입력해 fdisk를 킨다.[* lsblk를 입력하여 참고하자] | |
| 42 | ||
| 43 | 기존에 있는 파티션을 줄이거나[* EFI 1G, swap은 인터넷에 검색하며 알맞은 크기를 고르고, 루트 파티션도 자신이 필요한 만큼 고르자. 그리고 그만큼 기존 파티션을 줄이면 된다.] g, [*주의 {{{#red 데이터를 초기화 시키는 방법이니, 새 하드가 아니라면 사용하진 말자. 또한( 만약 사용했다면 q를 눌러서 빠져나오면 괜찮다. 아직 실제로 디스크에 쓰지 않았기 때문}}}](GPT, UEFI), o[*주의](MBR, BIOS)파티션을 만들 수 있게 한다. | |
| r24 | 44 | |__'''파티션 레이아웃 추천'''__| EFI 파티션 || 루트 파티션 || Swap 파티션 || |
| 45 | || 약 1G || 나머지 || 자신의 램의 크기 || | |
| r4 | 46 | |
| r22 | 47 | n을 입력하면 파티션을 만들 수 있다. 참고로 파티션의 끝을 할 때 +1G같이 상대적인 위치를 기반으로 정할 수도 있으니 참고 또한 이때 아무것도 입력하지 않고 엔터를 누르면 최대 크기로 파티션을 만들 수도 있다. |
| r7 | 48 | |
| r1 (새 문서) | 49 | p를 눌러 알맞은 파티션 레이아웃인지 확인 후, w를 입력해 디스크에 쓰자. |
| r4 | 50 | |
| r27 | 51 | 이러한 cli툴이 어렵다면 Windows환경에서 Win + X를 눌러 디스크 관리에서 편집하거나, Linux 그레픽 환경이라면 Gparted, TUI 인터페이스를 원하면 cfdisk[* Arch Installation Media에 내장]를 사용하는 것을 추천한다.~~fdisk 나만쓰지...~~ |
| r1 (새 문서) | 52 | == 파일 시스템 만들기 == |
| r23 | 53 | mkfs.fat -F 32 <아까 만든 1G짜리 파티션>[* fdisk에서 p를 입력 시, 경로를 확인 가능하다.]를 입력하자.[*UEFI라면 시스템이 UEFI일 시에만 이 명령어를 실행하자] |
| r4 | 54 | |
| r1 (새 문서) | 55 | mkfs.swap <스왑 파티션 주소>를 입력해 SWAP 파티션을 포멧한다. |
| r2 | 56 | |
| r27 | 57 | mkfs.ext4 <루트 파티션>을 입력해 루트 파티션을 포맷하자.[* Windows와의 호환을 원한다면 fat계열 혹은 ntfs로 포멧도 고려해보자 ~~둘다 마소에서 만들었거든... fat은 빌게이츠가. 무려.~~] |
| r2 | 58 | == 파일 시스템 마운트 == |
| 59 | mount /mnt <루트> | |
| 60 | mount /mnt/boot <EFI 파티션> --mkdir[*UEFI라면] | |
| 61 | swapon <swap 파티션> | |
| 62 | == pacstrap == | |
| 63 | pacstrap -K /mnt base linux linux-firmware | |
| 64 | 라는 명령어로 기본적인 페키지를 설치한다. | |
| 65 | == fstab == | |
| r4 | 66 | genfstab -u >> /mnt/etc/fstab |
| 67 | Fstab은 부팅 작업중에 디스크를 마운트 할 때 참조되는 파일인데, 결함이 있거나 없으면 부팅시 emergency 모드로 진입하니 주의. | |
| r2 | 68 | == chroot == |
| r27 | 69 | arch-chroot /mnt를 입력해 아까 설치한 아치리눅스에 진입하여 더 많은 작업을 해준다. chroot를 안 쓰는 이유는 arch-chroot는 dev(ice), proc(ess)등 가상 파티션을 한꺼번에 마운트해주기 때문. |
| r4 | 70 | |
| r2 | 71 | 먼저 필요한 페키지를 설치한다. |
| r4 | 72 | pacman -S vim bash-completion less sudo grub[*멀티부트] os-prober[*멀티부트] iwd(wifi) dhcpcd efibootmgr(UEFI) |
| 73 | * vim 텍스트 에디터. 익숙하지 않으면 nano 쓰는 것을 추천한다. | |
| r27 | 74 | * bash-completion tap눌러서 명령어 자동완성 해주는 그거 맞다.[* bash 싫으면 zsh + ohmyzsh도 좋다] |
| 75 | * less cli 환경에서 유용하게 쓰인다. 너무 길어서 stdout이 잘리는 프로그렘 옆에 cat a.txt | less처럼 파이프라인을 연결해서 활용이 가능하다. | |
| r25 | 76 | * sudo ~~Suit Up and DO~~ 권한상승 프로그램 최근에 보안 취약점이 발견되서인지는 몰라도, rust로 만든 sudo-rs가 나왔다. |
| r27 | 77 | * grub 멀티부팅 지원 부트로더. 멀티부팅 안할거면 LILO[* MBR], SystemDboot도 나쁘지 않은 선택. 이쁜 테마그 많다. |
| r4 | 78 | * os-prober 멀티부팅 시, grub 설정을 더 편하게 만들어주는 프로그렘 |
| r27 | 79 | * iwd wifi 쓸 시 필요. networkmanager라는 대채품이 있다.[* plasma 쓸 예정이라면 iwd 대신 이걸 쓰자] dhcpcd랑 같이 쓰는 것을 추천한다. |
| r4 | 80 | === 부트로더 === |
| 81 | ==== GRUB ==== | |
| 82 | UEFI의 경우: | |
| r15 | 83 | grub-install --efi-directory=/mnt/boot |
| 84 | 레거시의 경우: | |
| r4 | 85 | grub-install --boot-directory=/mnt/boot |
| 86 | ||
| 87 | usr/bin/grub-mkconfig를 편집하여 GRUB_DISABLE_OS_PROBER를 false로 바꾸고 | |
| 88 | ||
| 89 | grub-mkconfig -o /boot/grub/grub.cfg를 실행하여 설정 파일을 만든다. | |
| 90 | ==== SystemD boot ==== | |
| r27 | 91 | bootctl install |
| 92 | 따로 뭐 설치할 필요가 없다. | |
| r16 | 93 | === 나머지 === |
| r27 | 94 | /etc/hostname를 수정해 컴퓨터 이름을 정하고[* 기본은 Archlinux] |
| r16 | 95 | |
| r15 | 96 | passwd를 사용하여 루트의 비번을 바꾸고 |
| r5 | 97 | |
| 98 | systemd enable로 dhcpcd, iwd 등등 여러 서비스를 활성화 한 후, exit을 입력해 빠져나온다. | |
| r4 | 99 | == reboot == |
| 100 | 이제 설치가 완료되었으니 다시시작을 해서 아치리눅스로 부팅하자. [* ctrl + alt + del 혹은 reboot 명령어 입력] | |
| r5 | 101 | == 기본 셋팅 == |
| r2 | 102 | === 유저 추가 === |
| r8 | 103 | 루트로서 시스템을 운영하는 것은 큰 위험이 따르며, 임베디드 시스템 같은 특수한 경우가 아니라면 쓰지 않는 것을 추천한다. (또한 makepkg는 root로서의 실행을 거부) 이러한 문제를 해결하기 위해 사용자를 추가하고, 권한이 필요한 경우는 sudo를 사용하는 등 임시로 root로서 명령어를 실행하는 등의 사용이 추천된다. |
| 104 | useradd -m <유저 이름>를 사용해 유저를 만들어 준다. | |
| 105 | ||
| 106 | passwd <유저 이름>을 사용하여 유저의 비번을 바꾼다. | |
| 107 | ||
| 108 | ||
| 109 | EDITOR=<vim, nano 등등> visudo를 입력하여 sudo 설정을 편집한다. | |
| 110 | ||
| 111 | <유저 이름> ALL=(ALL:ALL) ALL를 추가해주면 된다. | |
| 112 | === YAY === | |
| 113 | [[Arch Linux#s-5.3.1|여기 참고]] | |
| 114 | === GUI === | |
| r31 | 115 | 리눅스 환경에서 한글을 쓰려면 그레픽 환경이 (거의)필수적이다.[* jfbterm등을 쓰면 유니코드를 볼 수 있다. 근데 처다리 이런거 쓸 바에 X랑 Xterm(터미널 에뮬레이터) 같이 사용하는게 더 나은게, 둘이서 하는 것이 비슷하지만 X가 기능이 더 많고 윈도우 메니저도 있고 한글 입력도 되고 리눅스의 모든 GUI프로그렘이 X를 사용한다는 전제 하에 만들어졌기 때문이다. ][* 프레임버퍼 터미널 에뮬레이터랑 libhangul 등을 써서 (그나마) 쉽게 한글 입력을 구현할 수도 있다. ~~참 쉽죠?~~] 디스플레이 서버로는 Xorg, Wayland정도가 있고, Desktop Environmant로는 plasma, Xfce, gnome, cinnamon, i3(wm) 등이 있다.(사실 DE 없이 Xorg 하나만 써도 된다.) |
| r26 | 116 | ==== 한글 입력(Xorg) ==== |
| 117 | 한글 입력은 ibus, ibus-hangul을 많이쓴다. 옛날에 Wayland 환경에서는 특정 프레임워크를 쓰는 엡에서는 입력이 힘들었었다. | |
| 118 | ||
| 119 | Pacman으로 ibus와 ibus-hangul을 설치 후, .xprofile[* ~/.xprofile]을{{{ | |
| 120 | export GTK_IM_MODULE=ibus | |
| 121 | export QT_IM_MODULE=ibus | |
| 122 | export XMODIFIERS=@im=ibus | |
| 123 | ibus-daemon -drx}}}로 수정 후 다시 로그인 한다.[* 인터넷 보면 .bashrc에 넣으라는 말도 많이 보이는데, 셸을 bash를 쓰지 않으면 먹통일 뿐더러 X환경에 진입 후에도 어찌어찌 터미널을 켜서 bash를 켜야지 된다. .xinitrc에 넣어도 딱히 상관 없다.] | |
| r11 | 124 | ==== Plasma ==== |
| r33 | 125 | sudo pacman -S plasma |
| r8 | 126 | |
| r26 | 127 | sudo systemctl enable sddm[* 컴터 시작시 자동실행 sddm이 싫으면 대안으로 lightdm을 사용 가능하다. sddm, lightdm은 로그인 화면이라 생각하면 된다.] |
| r8 | 128 | sudo systemctl start sddm으로 로그인 화면을 띄운다. |
| 129 | ||
| r28 | 130 | 처음 plasma를 키면 한국어가 tofo로 표시될텐데, 그냥 인터넷에서 달무리, 네이버 나눔고딕코딩 등 한글 지원 폰트를 다운받아서 쓰면 된다.--뭐여 내 맑은고딕 돌려줘요--[* ms거다.] |
| 131 | ==== i3 ==== | |
| 132 | [[https://i3wm.org/docs/userguide.html#_opening_terminals_and_moving_around|사용설명서]] | |
| 133 | 진짜 간단한 윈도우 메니저. 너무 극단적으로 단순간단하여 가볍기로 소문난 xfce보다 가볍다 ~~근데 심각하게 못생겼고, 조작에 약간(?)의 제약이 있다. 그래서 gui에서 쓰는 사치가 싫은 사람에게 추천~~ | |
| 134 | ||
| 135 | sudo pacman -S xorg | |
| 136 | sudo pacman -S i3-wm | |
| 137 | ||
| 138 | 그리고 sddm, gdm, lightdm중 하나를 깔아준다 ~~사실 i3쓸정도면 lightdm을 쓰는 것을 추천한다.~~ | |
| 139 | ||
| 140 | dmenu가 있어야 한다. 없으면 엡을 실행할 수 없기 때문이다(...) | |
| 141 | ||
| 142 | 서비스를 키고 i3 세션을 선택한다. |