프로그래밍 방식으로 (UBUNTU) 배포판을 만들 수 있나요?

프로그래밍 방식으로 (UBUNTU) 배포판을 만들 수 있나요?

스튜디오 수스내가 설치하는 애플리케이션을 선택하여 나만의 배포판을 구축할 수 있습니다. 마법사를 실행하면 .ISO 파일이 생성됩니다.

예를 들어, 웹 개발용 배포판을 원한다면 MySql 또는 MariaDB, Eclipse PHP 및 Eclipse JS, Xdebug, FireFox 개발자 에디션(및 기타 몇 가지)을 선택할 수 있습니다.

  • Ubuntu에 이러한 서비스를 제공하는 것이 있습니까?
  • 내가 직접 사용할 수 있는 API가 있나요?

그렇지 않다면 그러한 앱이나 마법사를 만드는 방법을 설명해 줄 수 있는 사람이 있습니까? 저는 전문 코더이므로 가능하다면 할 수 있어야 합니다.

어떻게든 젠투를 자동화할 수 있을까요? Ubuntu를 에뮬레이션하려면 많은 노력이 필요하지만(다른 배포판에도 관심이 있지만 Ubuntu가 좋은 시작이 될 것입니다).

처음에는 파일 시스템과 부트 레코드만 있으면 거기서 ISO를 만들 수 있겠다는 생각이 들었습니다. 그러나 그 안에 실제로 일부 응용 프로그램을 설치하고 싶다는 것을 깨달았습니다. 이는 구성 파일, 심볼릭 링크 등이 실제로 설치를 실행함으로써 가장 잘 생성된다는 것을 의미합니다(아니면 그랬습니까?).

"직접 구축(Ubuntu) Linux" 마법사가 있습니까? 그렇지 않다면 어떻게 만들 수 있나요?

답변1

일반적으로 특정 작업을 위해 특별히 제작되지 않은 거의 모든 배포판(특수 제작 배포판의 예에는 MythDora, BackTrack, SteamOS, LEAF 및 SystemRescueCD가 포함됨)이 모든 면에서 그렇긴 하지만 이를 수행하는 방법이 있습니다. 차이가 있습니다. 정확히 어떻게. 일반적으로 Linux 배포판에 따라 이를 수행하는 세 가지 방법이 있습니다.

  1. 릴리스 엔지니어링 중에(실제로 설치 이미지를 직접 빌드합니다) 이는 소스 코드 기반 배포판에서 가장 일반적이며, Gentoo가 아마도 가장 좋은 예일 것입니다(Gentoo의 설치 이미지는 대상 시스템으로 직접 추출할 수 있는 압축된 타르볼이며, 해당 릴리스 엔지니어링 도구(Catalyst)를 사용하면 다음을 포함하는 사용자 정의 타르볼을 만들 수 있습니다. 원하는 정확한 패키지 설정).

  2. 설치 프로세스 중에 설치할 개별 패키지 세트를 선택할 수 있습니다. Arch, NixOS 및 Alpine은 모두 이 접근 방식을 사용합니다(다양한 방식으로 수행하지만 Arch에서는 초기 설치 명령에 필요한 패키지를 추가할 수 있으며, NixOS에서는 첫 번째 시스템 빌드 중에 추가할 구성 항목을 추가할 수 있음). , Alpine을 사용하면 기존 시스템에 설치한 것처럼 설치 중에 원하는 각 항목을 수동으로 추가할 수 있습니다.

  3. 설치에 사용되는 Live CD를 사용자 정의합니다. 이것이 SUSE Studio가 수행하는 작업이며 Ubuntu 및 Fedora를 포함한 대부분의 배포판(대부분의 배포판은 초기 설치로 Live CD의 패키지 목록을 미러링하기 때문에)에서 취하는 접근 방식입니다.

Ubuntu(및 Debian 설치 프로그램을 사용할 수 있는 기타 배포판)에서는 방법 2 또는 방법 3을 사용할 수 있습니다.

두 번째 방법의 경우 yuu는 텍스트 기반 "전문가" 모드 설치를 수행해야 하며 설치 프로세스 중에 Aptitude(APT 및 dpkg용 ncurses 기반 텍스트 UI)를 시작하는 옵션을 선택할 수 있습니다. 소프트웨어를 설치할 항목을 수동으로 지정합니다. 패키지.

세 번째 방법은 안타깝게도 직접 ​​작업을 수행해야 하지만 그다지 어렵지는 않습니다(조금 지루할 뿐입니다). 내가 찾은 최고의 조언은 다음과 같습니다.https://help.ubuntu.com/community/InstallCDCustomization

이 작업을 빠르고 쉽게 수행할 수 있는 도구를 만드는 방법은 다음을 참조하세요.Ubuntu 사용자 정의 키트, 불행히도 이 프로젝트는 더 이상 존재하지 않으며 KIWI(SUSE Studio를 지원하는 SUSE 서비스)와 거의 동일한 기능을 가지고 있는 것 같습니다. 최신 버전의 Ubuntu에서는 작동하지 않을 수 있지만 이론적으로 이러한 도구를 직접 만들려는 경우 좋은 시작점을 제공해야 합니다.

관련 정보