[일상다반사] 초보 개발자들을 위한 유튜브 채널 본격 가동에서 설명드린 리눅스 업스킬 도전 프로젝트 Q&A인 21-b편을 공개해드리겠다. 21-b편은 (도커 컨테이너의 기반이 되는) chroot와 루트 파일 시스템 구성에 필요한 프로그램을 통합해서 제공하는 busybox를 설명한다.
2020년 10월 20일자 [리눅스 업스킬 도전 #21-b] (도커 컨테이너의 기반이 되는) chroot 소개 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 리눅스업스킬도전에서 확인할 수 있다.
하이라이트를 요약 정리하면 다음과 같다:
- 00:00 chroot 설명
 - 05:20 busybox 빌드와 설치
 - 14:57 root 파일 시스템 생성
 - 18:02 chroot로 생성된 root 파일 시스템 마운트하면서 셸 기동
 
방송에 사용한 실제 실습 자료는 다음을 참고한다:
- 단계 1: busybox 빌드와 설치
- $ wget https://busybox.net/downloads/busybox-1.32.0.tar.bz2
 - $ tar xvpfj busybox-1.32.0.tar.bz2
 - $ cd busybox-1.32.0
 - $ head INSTALL
 - $ sudo apt-get install libncurses5-dev libncursesw5-dev # 만일 curses.h가 없다는 오류가 발생할 경우 ncurses를 make menuconfig에 앞서 설치해야 한다
 - $ make menuconfig # menuconfig 화면에서 Settings ---> 선택한 다음에 아래에 있는 Build static binary (no shared libs) (NEW)를 선택해 체크박스, 나머지는 기본값으로 두고 화면 하단의 <Exit> 누르고 설정 파일을 저장
 - $ sudo apt-get install build-essential # 만일 C 컴파일러가 없을 경우
 - $ make
 - $ find . -name busybox
 - $ ldd busybox
 - $ busybox
 
 - 단계 2: root 파일 시스템 생성
- $ cd ..
 - $ mkdir root
 - $ cd root
 - $ mkdir bin
 - $ cd bin
 - $ cp ../../busybox-1.32.0/busybox .
 - $ ln -s busybox ls
 - $ ln -s busybox pwd
 - $ ln -s busybox sh
 - $ ln -s busybox cd
 
 - 단계 3: chroot로 생성된 root 파일 시스템 마운트하면서 셸 기동
- $ cd ../..
 - $ sudo chroot ./root /bin/sh
 
 

댓글 없음:
댓글 쓰기