Linux 배포판 부트스트래핑
4005 단어 devopslinuxprogrammingtutorial
먼저 디스크에 Linux를 설치하기 위해 표준 배포 설치 프로그램을 사용할 필요가 없다는 점을 이해하는 것이 중요합니다.
일반적으로 Linux 배포 설치 프로그램을 사용하는 경우 파티션 설정을 완료하면 설치 프로그램이 파티션을 마운트하고 OS 트리를 루트가 마운트된 디렉토리로 "부트스트래핑"하는 프로세스를 시작합니다.
이것이 어떻게 작동하는지 이해하면 설치 프로세스를 훨씬 더 자유롭게 제어할 수 있습니다. Gentoo 및 Arch와 같은 배포판을 설치해 본 적이 있다면 친숙하게 느껴질 것입니다.
따라서 기본 아이디어는 파일 시스템의 일부 디렉토리에 배포판의 기본 OS 트리를 만드는 것입니다. 그런 다음 해당 트리 내에서 명령을 실행할 수 있으며 해당 디렉터리를 루트 디렉터리로 볼 수 있습니다. 이 트리는 종종 "chroot 트리"라고 합니다(그리고 이들과 작업하기 위한 기본 명령은
chroot
).전체 배포 설치를 수행하는 것 외에도 이러한 chroot 트리는 보다 가벼운 사용, 즉 다양한 유형의 컨테이너에도 유용합니다.
다음은 다양한 Linux 배포판을 부트스트래핑하는 간단한 예입니다.
젠투
이 "부트스트래핑"개념은 Gentoo에게 매우 자연스럽고 사실 공식적인 설치 절차입니다.
stage3 tar 아카이브를 다운로드하고(https://www.gentoo.org/downloads/ 참조) 압축을 풀면 됩니다.
wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20220412T191925Z/stage3-amd64-openrc-20220412T191925Z.tar.xz
tar xzvf stage3-amd64-openrc-20220412T191925Z.tar.xz
아치 리눅스
Arch는 비슷한 방식으로 부트스트랩할 수 있습니다. 공식 미러에서 archlinux-bootstrap tarball(https://archlinux.org/download/ 참조)을 다운로드하고 추출할 수 있습니다(그리고 거기에서 이동).
wget https://mirror.fcix.net/archlinux/iso/2022.04.05/archlinux-bootstrap-2022.04.05-x86_64.tar.gz
tar xzvf archlinux-bootstrap-2022.04.05-x86_64.tar.gz
또는 배포 저장소에서 또는 수동으로 arch-install-scripts를 설치하고 pacstrap을 사용할 수 있습니다.
pacstrap -d /target_dir base
또는 이미 pacman이 있는 경우:
pacman -r /target_dir -Syy
데비안 기반 배포판
데비안 기반 배포판은
debootstrap
라는 공식 도구를 통해 부트스트래핑을 크게 지원합니다.즉, Debian 11(bullseye)의 minbase 변형을 부트스트랩하려면 다음과 같이 할 수 있습니다.
debootstrap --variant=minbase bullseye /target_dir
debotstrap
는 일반적인 종속성이 있는 셸 스크립트(/bin/sh
, wget
, ar
및 기본 Linux/Unix 도구에만 의존함)이므로 배포 저장소에 없는 경우에도 그것을 설치하게 아주 쉽습니다.알파인 리눅스
다른 배포판에서 Alpine Linux를 부트스트랩하려면 정적으로 컴파일된 apk 도구(여기에서 다운로드할 수 있음: http://dl-cdn.alpinelinux.org/alpine/):)를 사용할 수 있습니다.
wget http://dl-cdn.alpinelinux.org/alpine/v3.15/main/x86_64/apk-tools-static-2.12.7-r3.apk
tar zxf apk-tools-static-*.apk
그런 다음 다음과 같이 실행합니다(루트 권한으로).
./sbin/apk.static --arch $(arch) -X http://dl-cdn.alpinelinux.org/alpine/latest-stable/main/ -U --allow-untrusted --root /target_dir --initdb add alpine-base
rpm 기반 배포판
rpm 기반 배포판은 부트스트래핑에 최악의 후보이지만 실행 가능합니다.
과거에는
febootstrap
rpm 기반 배포용 유사한 도구가 있었지만 supermin
라는 새로운 도구로 변경되었습니다. 이를 사용하거나 기존 rpm 기반 배포에서 dnf/yum을 사용할 수 있습니다. 즉, 다음과 같습니다.dnf --releasever=30 --installroot=/target_dir groupinstall core
다음 단계
해당 기본 트리가 있으면 해당 디렉토리(루트로서)로 chroot할 수 있어야 합니다.
chroot /target_dir
모든 것이 잘 되었다면 대상 배포판에서 루트 셸 프롬프트를 받아야 합니다.
다음 페이지에서는 이것이 왜 중요한지, 여기서 어디로 갈 수 있는지 알아보겠습니다. 데비안을 예로 들어보겠습니다.
참고: 이것은 단순성 이해 위키의 (WIP) 주제에 대한 스냅샷입니다. 최신(더 나은 형식) 버전은 여기에서 읽을 수 있습니다. Bootstrapping Linux Distributions
모든 제안(및 반응)을 환영합니다.
Reference
이 문제에 관하여(Linux 배포판 부트스트래핑), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/devsimplicity/bootstrapping-linux-distributions-30ob텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)