Làm thế nào để bạn fork một bản phân phối Linux đúng cách? [đóng cửa]


19

Tôi đã tự hỏi, làm thế nào một người sẽ đi về việc tạo một bản phân phối Linux. LFS có vẻ như quá mức cần thiết, tôi thà rẽ nhánh một bản phân phối hiện có. Tôi biết có một số ứng dụng "respin", nhưng những ứng dụng này dường như chỉ cho phép bạn thêm các ứng dụng bổ sung được cài đặt, chúng dường như không cho phép bạn sửa đổi kho lưu trữ, cấu hình, v.v.

Những gì tôi đang tìm kiếm là kiến ​​thức về cách lấy một bản phân phối hiện có và sửa đổi nó một cách đáng kể, lý tưởng bằng cách sửa đổi Fedora hoặc Mint, mặc dù tôi có thể cần phải sử dụng một nhân cũ hơn.

Lời khuyên chung được đánh giá cao, làm thế nào bạn sẽ sửa đổi các tập tin mà nó gửi cùng? Bạn dùng dụng cụ gì vậy? Làm thế nào bạn sẽ bọc nó vào một liveCD? Làm thế nào để bạn lưu trữ một kho lưu trữ?


Cờ để đóng như quá rộng.
Ciro Santilli 心 心

Câu trả lời:


12

Bạn có thể tạo một bản phân phối đơn giản bằng cách tạo kho lưu trữ gói của riêng bạn với các gói tùy chỉnh trong đó. Đó là tất cả một bản phân phối. Nó không quan trọng thay đổi lớn hay nhỏ.

Vì vậy, nếu bạn muốn phân phối một bản phân phối, chỉ cần sao chép toàn bộ kho lưu trữ nguồn, thay đổi bất kỳ gói nào bạn muốn và xuất bản repo thành của riêng bạn (đảm bảo bạn không vi phạm bất kỳ thỏa thuận cấp phép nào của bản phân phối mà bạn sao chép từ đó) .

Điều đó theo định nghĩa, đang tạo ra một bản phân phối mới.


Làm thế nào bạn sẽ bọc nó vào một đĩa CD? Làm thế nào bạn sẽ lưu trữ nó?
Không phải là một tên

1
Phụ thuộc vào hệ thống đóng gói, nhưng họ sẽ có cách để lưu trữ và cài đặt CD và lưu trữ mạng.
Xt

Làm thế nào để bạn nói với người quản lý gói sử dụng gói cập nhật của bạn thay vì gói của cha mẹ? Làm thế nào được phụ thuộc được quản lý khi bạn phải xây dựng lại các gói của bạn bởi vì một cái gì đó đã thay đổi trong bản phân phối cha mẹ?

7

Xem câu hỏi nàycâu hỏi này cho khác mất trên nó.

Câu trả lời kinh điển là "bắt đầu với Linux từ đầu", đi từ đó. Và đó là một cách làm hợp lệ: chẳng hạn, nhiều bản phân phối xuất phát từ Debian. Rất nhiều bản phát hành bắt nguồn từ Red Hat hoặc Slackware hoặc evan Arch linux.

Tôi muốn nói rằng bạn cần phải có một mục tiêu thực sự rõ ràng và có thể phòng thủ được cho bản phân phối này. Trước đó, các bản phân phối có các mục tiêu như "phù hợp với một đĩa mềm" hoặc "chạy trực tiếp từ đĩa CD" hoặc "phát triển trình quản lý gói giải quyết tất cả các vấn đề".

Mặc dù vậy, tôi không chắc là đủ trong thời hiện đại. Gần như mọi ngóc ngách kỳ lạ đều có một bản phân phối đi kèm: thử nghiệm thâm nhập có BackTrack, hoàn toàn miễn phí có gNewSense, linst có thể được kéo dài vô tận. Bạn sẽ cần phải có nhiều hơn một phân khúc thích hợp, nếu không thì chỉ cần làm Linux From Scratch và được thực hiện với nó.


Trước câu trả lời này (hoặc bình luận), tôi sẽ sửa đổi câu hỏi để làm cho nó rõ ràng hơn một chút.
Không phải là một cái tên vào


Có vẻ như LFS dành cho máy x86_64. Nó dường như không phải là một ý tưởng tốt (với tôi) để cố gắng xây dựng một bản phân phối cho RaspberryPi 3B + từ đầu. Có vẻ như rất nhiều bánh xe sẽ được phát minh lại. Chưa kể tất cả các vấn đề với việc chuyển trình quản lý khởi động và kernel vào bảng.

4

Fedora thực sự rất đơn giản (mặc dù không dễ ) để rẽ nhánh, hoặc "phối lại" như họ gọi. Các định nghĩa repo là trong fedora-release. Các cấu hình được đóng gói với chính các ứng dụng, vì vậy bạn sẽ phải xây dựng lại chúng từ SRPM. Khi bạn đã thu thập các gói bạn muốn tạo ngã ba từ đó, bạn chạy createrepođể biến chúng thành một repo thực tế. Sau đó, bạn có thể sử dụng các công cụ được liệt kê trong wiki để tạo phương tiện truyền thông từ repo.


2

Tôi có thể trả lời điều này! Một bản phân phối GNU / Linux là sự hợp nhất của các phần mềm từ GNU và các nơi khác. Ít nhất, bạn muốn phân nhánh các gói phần mềm bạn muốn sửa đổi, sửa đổi chúng, biên dịch lại chúng và sau đó phân phối lại ngã ba của bạn về phân phối lựa chọn .

Tuy nhiên, đó sẽ không phải là tất cả, vì bạn phải rất cẩn thận với các nhãn hiệu và bản quyền của bản phân phối mà bạn đang sử dụng. (Tôi không phải là một luật sư) nhưng nó sẽ được tư vấn để thay đổi thương hiệu của distro bạn đang forking, như bạn (có lẽ) không muốn liên kết phân phối của bạn với một phụ huynh (Tôi không chắc chắn về điều đó, nhưng nó có thể tạo ra các vấn đề với phân phối chính. Nếu bạn muốn nói rằng bạn đã phân phối một phân phối cụ thể một cách rõ ràng, bạn có thể đề cập rõ ràng về nó, nhưng không sử dụng nhãn hiệu của họ. Một lần nữa, tôi không phải là luật sư).

Bạn cũng phải tìm cách cung cấp kho lưu trữ phần mềm cho bản phân phối của mình và cũng tìm hiểu xem bạn có muốn kho lưu trữ của mình tồn tại bên cạnh kho lưu trữ chính hay là kho duy nhất cho bản phân phối của bạn không, và cũng tìm ra cách để không phá vỡ phân phối khi ai đó cập nhật nó.

Ngoài ra, còn có 3 tệp bạn có thể muốn thay đổi rõ ràng, đó là /etc/issue(có lẽ /etc/issue.netcũng vậy), /etc/os-release/etc/lsb-releasevới tệp cuối cùng cần phải thay đổi để thay đổi danh sách GRUB cho bản phân phối của bạn. Hãy chắc chắn để kiểm tra /etc/default/grubcho dòng GRUB_DISTRIBUTOR. Nó phải là một cái gì đó nhưGRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null

Bây giờ, bạn sẽ làm thế nào về phần mềm khôn ngoan hoàn toàn tùy thuộc vào bạn (trừ và thêm phần mềm), nhưng bản phân phối mới của bạn sẽ sẵn sàng ngay bây giờ (tôi không biết nếu tôi quên bất cứ điều gì vào thời điểm này).

Tuy nhiên, nếu bạn muốn có ý kiến ​​cá nhân của tôi, tôi muốn tạo một bản phân phối linux mới theo Linux từ Scratch , sau đó ném trình quản lý gói lên trên, thay vì trực tiếp phân phối một bản phân phối. Ngã ba phân phối có lợi thế là bạn có được sự khởi đầu, nhưng nếu bạn quyết định loại bỏ mọi thứ, nó có thể trở nên đau đầu rất nhanh, vì bạn không bao giờ có thể chắc chắn về sự phụ thuộc trong phân phối chính.


0

Khi bạn đến với Linux, modifyingtrở thành một thứ có quy mô rất lớn.

Bạn nên tạo cho mình một ranh giới rõ ràng về những gì bạn muốn thêm hoặc xóa hoặc sửa đổi từ một bản phân phối cụ thể. nếu bạn không, bạn sẽ thấy mình băn khoăn vô tận ở mỗi bước bạn đi. (từ kinh nghiệm).


hạ cấp vì điều này không thực sự nói bất cứ điều gì siêu hữu ích.
strugee
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.