| 1 | 1 | [목차] |
|---|
| 2 | | 설치가 어려운 Arch Linux의 설치 방법을 정리해 두었다. [[https://wiki.archlinux.org/title/Installation_guide|최신 정보는 여기에서 확인 가능하다.]] |
|---|
| 2 | 설치가 어려운 Arch Linux의 설치 방법을 정리해 두었다. [[https://wiki.archlinux.org/title/Installation_guide|최신 정보는 여기에서 확인 가능하다.]][* 한국어 번역이 처참해서 그냥 번역기 쓰는 것이 더 좋다.] |
|---|
| 3 | 3 | == 쉬운 방법? == |
|---|
| 4 | | Archinstall를 이용하거나, EndeavourOS, Manjaro Linux같은 쉬운 설치를 지향하는 Arch 파생 베포판을 사용하자. 또한 파티션을 건드려야하는 등, 잘못하면 시스템이 날아갈 수도 있으니 미리 가상머신 등에서 미리 도전해보자. |
|---|
|
|
| 4 | 쉽게 설치하려면 Archinstall를 이용하거나, EndeavourOS, Manjaro Linux같은 쉬운 설치를 지향하는 Arch 파생 베포판을 사용하자. |
|---|
| 5 | |
|---|
| 6 | 또한 설치중 파티션을 건드려야하는 등, 잘못하면 시스템이 날아갈 수도 있으니 미리 가상머신 등에서 미리 도전해보자.[* 보안부팅은 끄자] |
|---|
| 5 | 7 | == 설치 환경 부팅하기 == |
|---|
| 6 | | [[https://archlinux.org/download/#download-mirrors|다운로드 주소]][* 한국은 south korea] |
|---|
| 7 | | 여기서 ctrl + F로 자신이 살고 있는 나라를 검색하자.[* 사실 다른 것을 골라도 상관 없지만 속도가 느리다] 여기에서 iso 파일을 다운로드 하자. 가능하면 체크섬도 다운로드하여 파일을 검증하면 좋다. [* 이는 민트 리눅스 사이트 해킹사건으로 인해 체크섬 검증을 한 사람들이 털렸던 일같은 사례가 발생하는 것을 막기 위해서이다.] |
|---|
| 8 | [[https://archlinux.org/download/#download-mirrors|다운로드 주소]] |
|---|
| 9 | 여기서 ctrl + F로 자신이 살고 있는 나라를 검색하자.[* 사실 다른 것을 골라도 상관 없지만 속도가 느리다] 여기에서 iso 파일을 다운로드 하자. 가능하면 체크섬도 다운로드하여 파일을 검증하면 좋다. [* 파일 변조를 방지하기 위해서이다.] |
|---|
| 8 | 10 | === Windows === |
|---|
| 9 | 11 | Windows 유저라면 [[https://rufus.ie/ko/|rufus]]를 다운받아 열면 된다. 창이 뜨면 장치 항목에 usb 목록이 뜨는데 필요 없는[* iso를 적용시키기 전에 데이터를 포멧해야하기 때문] 장치를 선택하고 부트 유형 항목에서 디스크 또는 ISO 선택 (please select)를 선택 후, 오른쪽에 있는 선택 버튼을 눌러 아까 다운로드 받은 iso파일을 선택한다. |
|---|
| 10 | 12 | |
|---|
| 11 | 13 | 확인하고 선택 후에, 시작 버튼을 누른다. 이때 파일 기반으로 할지, dd이미지 모드로 쓸 지 선택하는 창이 뜨는데, dd를 선택한다. |
|---|
| 12 | 14 | |
|---|
| 13 | 15 | 이제 펌웨어에서 부팅 항목에서 아까 만든 USB를 선택하면 부팅이 된다. |
|---|
| 14 | 16 | [[#부팅후|부팅 후에 해야할 작업은 여기를 참조해주세요]] |
|---|
| 15 | | === Linux === |
|---|
| 17 | === Linux[anchor(리눅스)] === |
|---|
| 16 | 18 | ~~어쩌피 다 알잖아요~~ |
|---|
| 17 | 19 | |
|---|
| 18 | | 터미널 에뮬레이터 혹은 bash를 사용해 lsblk를 입력하여 USB의 블럭 디바이스 확인.[* 아마 /dev/sd* 형태일 것이다.] |
|---|
|
|
| 20 | coreutils 페키지가 있어야한디.[* cat있으면 대부분 다 깔려있다.] |
|---|
| 21 | |
|---|
| 22 | 터미널 에뮬레이터 혹은 bash를 사용해 lsblk를 입력하여 USB의 블럭 디바이스 확인.[* 아마 /dev/sd* 형태일 것이다.][* 햇갈리면 직접 마운트 해보자] |
|---|
| 19 | 23 | {{{#!syntax shell |
|---|
| 20 | 24 | sudo dd if=<아까 받은 iso 파일> of=<블럭 디바이스 주소> bs=4M status=progress oflag=sync |
|---|
| 21 | 25 | sync |
|---|
| ... | ... | |
|---|
| 24 | 28 | 이제 펌웨어에서 부팅 항목에서 아까 만든 USB를 선택하면 부팅이 된다. |
|---|
| 25 | 29 | [[#부팅후|부팅 후에 해야할 작업은 여기를 참조해주세요]] |
|---|
| 26 | 30 | === MacOS === |
|---|
| 27 | | === FreeBSD === |
|---|
| 28 | | === NetBSD === |
|---|
| 31 | === FreeBSD, NetBSD등 UNIX계열 OS[* 놀랍게도 리눅스는 Unix계열이 아니다.] === |
|---|
| 32 | [[#리눅스|커널이 아닌 OS기 때문에 Coreutils가 이미 있을 것이다.]] |
|---|
| 29 | 33 | == 인터넷 연결[anchor(부팅후)] == |
|---|
| 30 | 34 | 렌선을 사용중이라면 대부분 따로 셋팅은 안해도 된다. Wifi를 사용중이라면 iwd의 iwctl을 이용하여 연결 하자. |
|---|
| 31 | 35 | |
|---|
| 32 | | iwctl을 입력하여 iwctl을 킨 후, station list를 이용해 네트워크 디바이스를 찾은 후(대부분 wlan0이라는 이름을 갖고 있음) station <디바이스> connect[* 숨겨진 네트워크라면 connect-hidden] <wifi 이름>을 입력후, 비밀번호가 있으면 비밀번호를 입력후에 quit을 쳐서 빠져나오자. 그후 dhcpcd를 입력하자. |
|---|
| 36 | iwctl을 입력하여 iwctl을 킨 후, station list를 이용해 네트워크 디바이스를 찾은 후(대부분 wlan0이라는 이름을 갖고 있음) station <디바이스> connect[* 숨겨진 네트워크라면 connect-hidden] <wifi 이름>을 입력후, 비밀번호가 있으면 비밀번호를 입력후에 quit을 쳐서 빠져나오자. |
|---|
| 33 | 37 | |
|---|
| 34 | | ping 8.8.8.8로 인터넷 연결을 테스트 할 수 있다.[* 근데 ~~그럴 일은 없지만~~ 구글 dns서버가 터지는 경우도 있으니, 0.0.0.0같은 가른 dns서버에도 핑을 날려보자] |
|---|
| 38 | ping 8.8.8.8로 인터넷 연결을 테스트 할 수 있다.[* 근데 ~~그럴 일은 없지만~~ 구글 dns서버가 터지는 경우도 있으니, 0.0.0.0같은 다른 dns서버에도 핑을 날려보자] |
|---|
| 35 | 39 | == 파티션 만들기 == |
|---|
| 36 | 40 | fdisk <설치할 장치의 경로>를 입력해 fdisk를 킨다.[* lsblk를 입력하여 참고하자] |
|---|
| 37 | 41 | |
|---|
| ... | ... | |
|---|
| 43 | 47 | |
|---|
| 44 | 48 | p를 눌러 알맞은 파티션 레이아웃인지 확인 후, w를 입력해 디스크에 쓰자. |
|---|
| 45 | 49 | |
|---|
| 46 | | 이러한 cli툴이 어렵다면 Windows환경에서 Win + X를 눌러 디스크 관리에서 편집하거나, Linux 그레픽 환경이라면 Gparted, TUI 인터페이스를 원하면 cfdisk[* Arch Installation Media에 내장]를 사용하는 것을 추천한다. |
|---|
| 50 | 이러한 cli툴이 어렵다면 Windows환경에서 Win + X를 눌러 디스크 관리에서 편집하거나, Linux 그레픽 환경이라면 Gparted, TUI 인터페이스를 원하면 cfdisk[* Arch Installation Media에 내장]를 사용하는 것을 추천한다.~~fdisk 나만쓰지...~~ |
|---|
| 47 | 51 | == 파일 시스템 만들기 == |
|---|
| 48 | 52 | mkfs.fat -F 32 <아까 만든 1G짜리 파티션>[* fdisk에서 p를 입력 시, 경로를 확인 가능하다.]를 입력하자.[*UEFI라면 시스템이 UEFI일 시에만 이 명령어를 실행하자] |
|---|
| 49 | 53 | |
|---|
| 50 | 54 | mkfs.swap <스왑 파티션 주소>를 입력해 SWAP 파티션을 포멧한다. |
|---|
| 51 | 55 | |
|---|
| 52 | | mkfs.ext4 <루트 파티션>을 입력해 루트 파티션을 포맷하자. |
|---|
| 56 | mkfs.ext4 <루트 파티션>을 입력해 루트 파티션을 포맷하자.[* Windows와의 호환을 원한다면 fat계열 혹은 ntfs로 포멧도 고려해보자 ~~둘다 마소에서 만들었거든... fat은 빌게이츠가. 무려.~~] |
|---|
| 53 | 57 | == 파일 시스템 마운트 == |
|---|
| 54 | 58 | mount /mnt <루트> |
|---|
| 55 | 59 | mount /mnt/boot <EFI 파티션> --mkdir[*UEFI라면] |
|---|
| ... | ... | |
|---|
| 61 | 65 | genfstab -u >> /mnt/etc/fstab |
|---|
| 62 | 66 | Fstab은 부팅 작업중에 디스크를 마운트 할 때 참조되는 파일인데, 결함이 있거나 없으면 부팅시 emergency 모드로 진입하니 주의. |
|---|
| 63 | 67 | == chroot == |
|---|
| 64 | | arch-chroot /mnt를 입력해 아까 설치한 아치리눅스에 진입하여 더 많은 작업을 해준다. chroot를 안 쓰는 이유는 arch-chroot는 dev 마운트, proc등 여러개를 한꺼번에 마운트해주기 때문. |
|---|
| 68 | arch-chroot /mnt를 입력해 아까 설치한 아치리눅스에 진입하여 더 많은 작업을 해준다. chroot를 안 쓰는 이유는 arch-chroot는 dev(ice), proc(ess)등 가상 파티션을 한꺼번에 마운트해주기 때문. |
|---|
| 65 | 69 | |
|---|
| 66 | 70 | 먼저 필요한 페키지를 설치한다. |
|---|
| 67 | 71 | pacman -S vim bash-completion less sudo grub[*멀티부트] os-prober[*멀티부트] iwd(wifi) dhcpcd efibootmgr(UEFI) |
|---|
| 68 | 72 | * vim 텍스트 에디터. 익숙하지 않으면 nano 쓰는 것을 추천한다. |
|---|
| 69 | | * bash-completion tap눌러서 명령어 자동완성 해주는 그거 맞다. |
|---|
| 70 | 74 | * less cli 환경에서 유용하게 쓰인다. 너무 길어서 stdout이 잘리는 프로그렘 옆에 cat a.txt | less를 쓰는 등 활용이 가능하다. |
|---|
| 73 | * bash-completion tap눌러서 명령어 자동완성 해주는 그거 맞다.[* bash 싫으면 zsh + ohmyzsh도 좋다] |
|---|
| 71 | 75 | * sudo ~~Suit Up and DO~~ 권한상승 프로그램 최근에 보안 취약점이 발견되서인지는 몰라도, rust로 만든 sudo-rs가 나왔다. |
|---|
| 72 | | * grub 멀티부팅 지원 부트로더. 리눅스만 쓰면 LILO, SystemDboot도 나쁘지 않은 선택. |
|---|
| 76 | * grub 멀티부팅 지원 부트로더. 멀티부팅 안할거면 LILO[* MBR], SystemDboot도 나쁘지 않은 선택. 이쁜 테마그 많다. |
|---|
| 73 | 77 | * os-prober 멀티부팅 시, grub 설정을 더 편하게 만들어주는 프로그렘 |
|---|
| 74 | | * iwd wifi 쓸 시 필요. networkmanager라는 대채품이 있다.[* plasma 쓸 예정이라면 iwd 대신 이걸 쓰자] |
|---|
| 78 | * iwd wifi 쓸 시 필요. networkmanager라는 대채품이 있다.[* plasma 쓸 예정이라면 iwd 대신 이걸 쓰자] dhcpcd랑 같이 쓰는 것을 추천한다. |
|---|
| 75 | 79 | === 부트로더 === |
|---|
| 76 | 80 | ==== GRUB ==== |
|---|
| 77 | 81 | UEFI의 경우: |
|---|
| ... | ... | |
|---|
| 83 | 87 | |
|---|
| 84 | 88 | grub-mkconfig -o /boot/grub/grub.cfg를 실행하여 설정 파일을 만든다. |
|---|
| 85 | 89 | ==== SystemD boot ==== |
|---|
| 86 | | bootctl --esp-path=/boot \--boot-path=/boot install |
|---|
| 87 | | 따로 뭐 설치할 필요가 없다. (멀티부팅은 안되는듯) |
|---|
| 90 | bootctl install |
|---|
| 91 | 따로 뭐 설치할 필요가 없다. |
|---|
| 88 | 92 | === 나머지 === |
|---|
| 89 | | /etc/hostname를 수정해 컴퓨터 이름을 정하고 |
|---|
| 93 | /etc/hostname를 수정해 컴퓨터 이름을 정하고[* 기본은 Archlinux] |
|---|
| 90 | 94 | |
|---|
| 91 | 95 | passwd를 사용하여 루트의 비번을 바꾸고 |
|---|
| 92 | 96 | |
|---|
| ... | ... | |
|---|
| 107 | 111 | === YAY === |
|---|
| 108 | 112 | [[Arch Linux#s-5.3.1|여기 참고]] |
|---|
| 109 | 113 | === GUI === |
|---|
| 110 | | 리눅스 환경에서 한글을 쓰려면 그레픽 환경이 (거의)필수적이다.[* jfbterm등을 쓰면 유니코드를 볼 수 있다.] 디스플레이 서버로는 Xorg, Wayland정도가 있고, Desktop Environmant로는 plasma, Xfece, gnome, cinnamon 등이 있다. |
|---|
| 114 | 리눅스 환경에서 한글을 쓰려면 그레픽 환경이 (거의)필수적이다.[* jfbterm등을 쓰면 유니코드를 볼 수 있다. 근데 처다리 이런거 쓸 바에 X랑 Xterm[* 터미널] 같이 사용하는게 더 나은게, 둘이서 하는 것이 비슷하지만 X가 기능이 더 많고 윈도우 메니저도 있고 한글 입력도 되고 리눅스의 모든 GUI프로그렘이 X를 사용한다는 전제 하에 만들어졌기 때문이다. ] 디스플레이 서버로는 Xorg, Wayland정도가 있고, Desktop Environmant로는 plasma, Xfce, gnome, cinnamon, i3(wm) 등이 있다. |
|---|
| 111 | 115 | ==== 한글 입력(Xorg) ==== |
|---|
| 112 | 116 | 한글 입력은 ibus, ibus-hangul을 많이쓴다. 옛날에 Wayland 환경에서는 특정 프레임워크를 쓰는 엡에서는 입력이 힘들었었다. |
|---|
| 113 | 117 | |
|---|
| ... | ... | |
|---|