자신의 Linux 배포판을 만드는 도구

Tools Create Your Own Linux Distribution



Linux 배포판을 생성해야 하는 경우 이 자습서는 생성 프로세스에 대한 빠른 보기를 제공하면서 중요한 문제를 명확히 합니다. 이 기사는 Linux 배포판을 사용자 정의하는 방법으로 Linux From Scratch 및 Ubuntu Live에 초점을 맞춥니다. 표시된 단계와 명령은 기능을 위한 것이 아니라 각 프로세스의 난이도를 나타내기 위한 것입니다. 앞으로 각 프로세스는 LinuxHint에서 새로운 업데이트에 대해 설명될 것입니다.

LFS(Linux From Scratch)는 소스에서 맞춤형 Linux 배포판을 만드는 데 가장 널리 사용되는 도구입니다. 고유한 Linux 배포판을 만드는 것은 몇 가지 장점(및 단점도 포함)을 포함할 수 있습니다. 장점 중에는 Linux 배포판을 직접 만들어 Linux에서 많은 것을 배울 수 있습니다. Linux 모듈이 상호 작용하는 방법과 시스템을 사용자 정의하는 방법을 알게 됩니다.







운영 크기는 또한 하드웨어 리소스 또는 시스템에 제공하려는 용도에 따라 이점이 있습니다. 웹사이트에서 LFS 개발자는 5MB 크기에서 Apache와 함께 작동하는 웹 서버를 만들었다고 말합니다. Gentoo Linux와 함께 Linux From Scratch는 Linux 시스템을 설정하는 가장 유연한 방법입니다. 그것을 구축하는 것은 매우 간단하고 프로세스가 단계별로 설명되어 있습니다. 아래에서는 어려움에 대한 아이디어를 묘사하는 초기 단계와 구축 단계에서 보여주는 공식 문서에 대한 링크만 보여드리겠습니다.



Linux From Scratch를 시작하려면 먼저 파티션을 생성해야 합니다(컴파일 프로세스로 인해 최소 3GB). 또한 스왑 파티션을 생성하거나 기존 파티션을 공유하는 것이 좋습니다(파티션 확인에 대한 지침은 Debian/ 우분투 및 파티션 크기 조정).



파티션을 생성했으면 다음을 실행하여 $LFS 변수를 생성합니다.





#내 보내다 LFS=//lfs

다음을 실행하여 확인할 수 있습니다.



#던졌다 $LFS

그런 다음 파티션을 마운트합니다.

# mkdir -pv $LFS
# 마운트 -v -t ext3 /dev/ $LFS

메모: 파티션을 교체하십시오 .

그런 다음 스왑 파티션에 대해 실행합니다.

#/sbin/스왑폰-V /개발자/<교환>

디렉토리 실행을 생성하려면 LFS/sources라는 특정 디렉토리에 패키지를 다운로드해야 합니다.

#mkdir -V $LFS/출처

쓰기 가능하고 고정되도록 합니다.

#chmod -Va+wt$LFS/출처

모든 패키지를 디렉토리에 다운로드하고 저장하십시오. http://www.linuxfromscratch.org/lfs/view/6.6/chapter03/packages.html

그리고

http://www.linuxfromscratch.org/lfs/view/6.6/chapter03/patches.html

wget-list를 사용할 수 있습니다. http://www.linuxfromscratch.org/lfs/view/6.6/wget-list

다음을 실행하여 도구 디렉터리와 기호 링크를 만듭니다.

# mkdir -v $LFS/도구
# ln -sv $LFS/도구 /

다음 명령을 실행하여 권한을 부여하는 lfs 사용자를 생성하십시오. 도구 그리고 출처 디렉토리:

# groupadd lfs
# useradd -s /bin/bash -g lfs -m -k /dev/null lfs
# 암호 lfs
# chown -v lfs $LFS/tools
# chown -v lfs $LFS/sources
# su - lfs

lfs 사용자로 로그인하고 다음을 실행합니다.

#고양이 >~/.bash_profile<< '에프'

그런 다음 다음을 입력합니다.

#간부 환경 -NS =$HOME 기간=$TERM PS1='u:w$ ' /오전/세게 때리다

그리고 실행:

#EOF

새로 만들기 .bashrc 실행하여:

#고양이 >~/.bashrc<< '에프'

그리고 추가:

# 세트 +h
# 유마스크 022
# LFS=/mnt/lfs
# LC_ALL=POSIX
# LFS_TGT=$(uname -m)-lfs-linux-gnu
# 경로=/tools/bin:/bin:/usr/bin
# LFS LC_ALL LFS_TGT 경로 내보내기

# EOF

그런 다음 다음을 실행합니다.

# 소스 ~/.bash_profile
# MAKEFLAGS='-j 2' 설정

그런 다음 다음 단계에 따라 Linux 배포판 구축을 시작하는 도구를 저장할 수 있습니다. http://www.linuxfromscratch.org/lfs/view/6.6/chapter05/introduction.html

완료 후 다음을 실행하여 도구 디렉토리 소유권을 변경하십시오.

#차우 -NS루트:루트$LFS/도구

배포판을 빌드하고 커널 및 기본 소프트웨어를 준비하기 위한 공식 문서를 찾을 수 있습니다. 여기 . 사용자 정의 배포를 만드는 데 필요한 일련의 단계입니다. 단계는 가상 커널 파일 시스템 준비 , 패키지 관리 , Chroot 환경에 들어가기 , 디렉토리 생성 , 필수 파일 및 심볼릭 링크 생성 s, 나열된 추가 소프트웨어 설치 여기 다시 스트립 그리고 청소 .

시스템 사용자 정의를 시작하려면 다음 장을 방문하십시오.

마지막으로 GRUB 설치 GRUB를 사용하여 부트 프로세스 설정 그리고 따라 단계 처음으로 재부팅하기 전에

우분투 라이브


Ubuntu를 기반으로 사용자 정의 Linux를 만드는 것은 매우 쉽고 매우 빠르게 수행할 수 있으며 Linux From Scratch와 비교할 때 매우 간단하지만 전혀 유연하지 않습니다. 소프트웨어를 추가하고 배경 및 일부 세부 사항을 사용자 정의할 수 있습니다 그러나 애플리케이션 메뉴 에디션과 같은 기본 사용자 정의는 지원되지 않습니다.

#수도디부트스트랩

그리고 추가:

--아치=amd64
--변종=민베이스
바이오닉
$HOME/처음부터 라이브 우분투/chroot

http://us.archive.ubuntu.com/ubuntu/

마운트 지점 설정:

# sudo 마운트 --bind /dev $HOME/live-ubuntu-from-scratch/chroot/dev
# sudo 마운트 --bind /run $HOME/live-ubuntu-from-scratch/chroot/run
# sudo chroot $HOME/live-ubuntu-from-scratch/chroot
# 마운트 없음 -t proc /proc
# 마운트 없음 -t sysfs /sys
# 마운트 없음 -t devpts /dev/pts
# 내보내기 홈=/루트
# 내보내기 LC_ALL=C
# echo '우분투-fs-live' > /etc/hostname

그런 다음 저장소를 업데이트하고 apt update 및 다음 명령을 실행해야 합니다.

# apt-get install -y systemd-sysv
# dbus-uuidgen > /etc/machine-id
# ln -fs /etc/machine-id /var/lib/dbus/machine-id
# dpkg-divert --local --rename --add /sbin/initctl
# ln -s /bin/true /sbin/initctl
# apt-get install -y ubuntu-standard casper lupin-casper 검색 노트북 검색 os-prober 네트워크 관리자 resolvconf net-tools 무선 도구 wpagui 로케일 linux-generic

GRUB의 누름과 같은 구성 화면을 표시할 때 시작하다 계속하려면 기본 선택으로. 그런 다음 다음을 실행합니다.

#apt-get 설치-y ubiquity ubiquity-casper ubiquity-frontend-gtk ubiquity-slideshow-ubuntu ubiquity-ubuntu-artwork

원하는 X 윈도우 관리자를 설치하십시오:

#apt-get 설치-y plymouth-theme-ubuntu-logo ubuntu-gnome-desktop ubuntu-gnome-wallpapers

배포에 원하는 추가 소프트웨어를 추가한 후 다음을 실행합니다.

# apt-get 업데이트
# apt-get install -y 코드

로케일을 선택하고 resolv.conf 및 네트워크 관리자를 재구성하십시오.

# dpkg-로케일 재구성
# dpkg-resolv.conf 재구성
# dpkg-reconfigure 네트워크 관리자

그런 다음 다음을 실행합니다.

# 자르기 -s 0 /etc/machine-id
# rm /sbin/initctl
# apt-get clean
# rm -rf /tmp/* ~/.bash_history

모든 파일 시스템 마운트 해제:

# 언마운트 /proc
# 마운트 해제 /sys
# 마운트 해제 /dev/pts
# 내보내기 HISTSIZE=0종료
# sudo umount $HOME/live-ubuntu-from-scratch/chroot/dev
# sudo umount $HOME/live-ubuntu-from-scratch/chroot/run

디렉터리를 만들고 커널과 바이너리를 복사합니다.

# cd $HOME/live-ubuntu-from-scratch
# mkdir -p 이미지/{casper,isolinux,install}
# sudo cp chroot/boot/vmlinuz-**-**-일반 이미지/casper/vmlinuz
# sudo cp chroot/boot/initrd.img-**-**-일반 이미지/casper/initrd
# sudo cp chroot/boot/memtest86+.bin 이미지/설치/memtest86+
# wget --progress=dot https://www.memtest86.com/downloads/memtest86-usb.zip -O image/install/memtest86-usb.zipunzip -p image/install/memtest86-usb.zip memtest86-usb. img > 이미지/설치/memtest86rm 이미지/설치/memtest86-usb.zip

GRUB 설정

다음 명령을 모두 실행합니다.

# cd $HOME/live-ubuntu-from-scratch
# sudo mksquashfs chroot 이미지/casper/filesystem.squashfs
# printf $(sudo du -sx --block-size=1 chroot | cut -f1) > image/casper/filesystem.size
# cd $HOME/live-ubuntu-from-scratch
# cd $HOME/live-ubuntu-from-scratch/image
# grub-mkstandalone --format=x86_64-efi --output=isolinux/bootx64.efi --locales='' --fonts='' 'boot/grub/grub.cfg=isolinux/grub.cfg'
# grub-mkstandalone --format=i386-pc --output=isolinux/core.img --install-modules='linux16 linux normal iso9660 biosdisk memdisk 검색 tar ls' --modules='linux16 linux normal iso9660 biosdisk 검색' - -locales='' --fonts='' 'boot/grub/grub.cfg=isolinux/grub.cfg'
# 고양이 /usr/lib/grub/i386-pc/cdboot.img isolinux/core.img > isolinux/bios.img
# sudo /bin/bash -c '(찾기 . -type f -print0 | xargs -0 md5sum | grep -v './md5sum.txt' > md5sum.txt)'
# sudo xorriso -as mkisofs -iso-level 3 -full-iso9660-filenames -volid '' -eltorito-boot boot/grub/bios.img -no-emul-boot -boot-load-size 4 -boot-info- 테이블 --eltorito-catalog boot/grub/boot.cat
--grub2-boot-info --grub2-mbr /usr/lib/grub/i386-pc/boot_hybrid.img -eltorito-alt-boot -e EFI/efiboot.img -no-emul-boot -append_partition 2 0xef isolinux /efiboot.img -출력 '../.iso' -그래프트 포인트 '.' /boot/grub/bios.img=isolinux/bios.img /EFI/efiboot.img=isolinux/efiboot.img

보시다시피 Ubuntu Live의 프로세스는 훨씬 빠르고 간편하지만 완전히 사용자 정의할 수 있는 Linux From Scratch와 달리 가벼운 사용자 정의가 포함된 Ubuntu 배포판에 불과합니다. 이 튜토리얼이 도움이 되었기를 바랍니다. Linux 및 네트워킹에 대한 추가 팁과 업데이트를 보려면 LinuxHint를 계속 팔로우하세요.