Linux 배포판을 어떻게 올바르게 포크합니까? [닫은]


19

나는 리눅스 배포판을 만드는 방법에 대해 궁금해했다. LFS는 과잉 인 것 같습니다. 기존 배포판을 포크하고 싶습니다. 여러 "응답"응용 프로그램이 있다는 것을 알고 있지만 설치할 응용 프로그램을 추가 할 수만있는 것으로 보이며 리포지토리, 구성 등을 수정할 수없는 것 같습니다.

내가 찾고있는 것은 기존 배포판을 가져 와서 이상적으로 Fedora 또는 Mint를 수정하여 크게 수정하는 방법에 대한 지식입니다. 이전 커널을 사용해야 할 수도 있습니다.

일반적인 조언에 감사합니다. 함께 제공되는 파일을 어떻게 수정 하시겠습니까? 어떤 도구를 사용하십니까? liveCD로 어떻게 감쌀까요? 리포지토리를 어떻게 호스팅합니까?


너무 광범위하게 닫는 플래그입니다.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

답변:


12

사용자 정의 패키지가 포함 된 자체 패키지 저장소를 작성하여 배포판을 작성할 수 있습니다. 그게 전부 배포판입니다. 변화가 얼마나 크든 적든 상관 없습니다.

따라서 배포판을 포크하려면 전체 소스 리포지토리를 복사하고 원하는 패키지를 변경 한 다음 리포지토리를 직접 게시하십시오 (복사하려는 배포판의 라이센스 계약을 위반하지 않아야 함) .

그것은 정의에 의해 새로운 배포판을 만들고 있습니다.


CD로 어떻게 감쌀까요? 당신은 그것을 어떻게 호스팅 하시겠습니까?
이름이 아님

1
패키징 시스템에 따라 다르지만 CD 리포지토리와 설치 관리자 및 네트워크 호스팅을 수행 할 수있는 방법이 있습니다.
XTL

부모 배포 패키지 대신 업데이트 된 패키지를 사용하도록 패키지 관리자에게 어떻게 지시합니까? 부모 배포판에서 변경된 내용으로 인해 패키지를 다시 빌드해야 할 때 종속성은 어떻게 관리됩니까?

7

이 질문 과 다른 질문에 대한 이 질문 을 참조하십시오 .

고전적인 대답은 "Linux From Scratch로 시작"입니다. 예를 들어, 많은 배포판이 데비안에서 파생되었습니다. 많은 배포판이 Red Hat 또는 Slackware 또는 evan Arch linux에서 파생됩니다.

이 배포판에 대해 정말로 명확하고 방어 가능한 목표가 필요하다고 말하고 싶습니다. 이전에 배포판에는 "단일 플로피에 적합"또는 "CD에서 실행"또는 "모든 문제를 해결하는 패키지 관리자 개발"과 같은 목표가있었습니다.

그래도 현대에는 충분하지 않습니다. 모든 이상한 수염 틈새에는 그와 함께 나오는 배포판이 있습니다. 침투 테스트에는 BackTrack이 있고, 무료로 gNewSense가 있으며, 보풀은 무기한 연장 될 수 있습니다. 틈새 이상이 필요합니다. 그렇지 않으면 Linux From Scratch를 수행하고 완료하십시오.


이 답변 (또는 의견)에 비추어 조금 더 명확하게하기 위해 질문을 수정합니다.
이름이 아님


LFS가 x86_64 시스템을위한 것 같습니다. RaspberryPi 3B +의 배포판을 처음부터 작성하는 것은 좋은 생각처럼 보이지 않습니다. 많은 바퀴가 재발 명 될 것 같습니다. 부팅 관리자와 커널을 보드에 이식하는 데 따른 모든 문제는 말할 것도 없습니다.

4

Fedora는 실제로 포크 로 부르 거나 "리믹스" 하기매우 간단합니다 ( 쉽지는 않지만 ) . 리포지토리 정의는에 있습니다. 구성은 앱 자체와 함께 패키지되므로 SRPM에서 다시 구성해야합니다. 포크를 만들려는 패키지를 수집 한 후에 는 실제 리포지토리로 전환합니다. 그런 다음 위키에 나열된 도구를 사용하여 저장소에서 미디어를 생성 할 수 있습니다.fedora-releasecreaterepo


2

나는 이것에 대답 할 수있다! GNU / 리눅스 배포판은 GNU 및 다른 곳에서 소프트웨어를 통합 한 것입니다. 최소한 수정하려는 소프트웨어 패키지를 포크하고 수정하고 다시 컴파일 한 다음 선택한 배포 포크를 재배포하려고합니다 .

그러나 여러분이 배포하는 배포판의 상표와 저작권에 매우주의해야하기 때문에 그게 전부 는 아닙니다 . (나는 변호사가 아니지만) 배포판을 모체 배포본과 연관시키고 싶지 않기 때문에 (예를 들어) 배포판의 브랜딩을 변경하는 것이 좋습니다 . 특정 배포판을 명시 적으로 포크했다고 명시 적으로 언급하고 싶다면 명시 적으로 언급 할 수 있지만 상표를 사용하지 마십시오. 다시 변호사가 아닙니다).

또한 배포판에 소프트웨어를 저장소에 제공하는 방법을 찾아야하며, 기본 배포판 외에 저장소가 존재하는지 또는 배포 용으로 유일한 저장소가되는지 확인하고, 중단하지 않는 방법도 찾아야합니다. 누군가 업데이트 할 때의 배포.

그 외에도, 명시 적으로 변경하고 싶을 수도있는 3 개의 파일이 있습니다 /etc/issue(아마도 /etc/issue.net). /etc/os-release그리고 /etc/lsb-release배포판의 GRUB 목록을 변경하려면 마지막 파일을 변경해야합니다. /etc/default/grub라인을 확인하십시오 GRUB_DISTRIBUTOR. 다음과 같아야합니다GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null

이제 소프트웨어를 현명하게 다루는 방법은 전적으로 귀하에게 달려 있지만 (소프트웨어를 빼고 추가하는 것) 지금은 새로운 배포가 준비되어 있어야합니다 (이 시점에서 아무것도 잊었는지 모르겠습니다).

그러나 개인적인 견해를 원한다면 Scratch 에서 Linux 다음에 새로운 Linux 배포판을 만든 다음 배포판을 직접 포크하지 않고 패키지 관리자를 맨 위에 놓습니다. 분포를 포크 (fork) 당신이 유리한 출발을 얻을 수 있다는 장점이 있습니다, 하지만 당신이 일을 제거하기로 결정한 경우 상위 분포 의존성에 대해 확신 할 수 없다, 그것은 매우 매우 빠른 두통 될 수 있습니다.


0

리눅스에 오면 modifying매우 큰 규모가됩니다.

특정 배포판에서 추가, 제거 또는 수정하려는 항목에 대한 명확한 경계를 직접 만들어야합니다. 당신이하지 않으면 당신은 당신이 취하는 모든 단계에서 끝없이 궁금해하는 자신을 찾을 수 있습니다. (경험에서).


이것이 실제로 유용한 것은 아닙니다.
strugee
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.