Làm thế nào để cài đặt CentOS hoạt động từ bên trong?


9

Tôi đang cố gắng hiểu nội dung của tệp ảnh ISO của bản phân phối Linux và quá trình cài đặt diễn ra như thế nào. Ở đây tôi đặc biệt nói về CentOS 6.4 trong phiên bản tối thiểu của nó.

Vì vậy, ISOLINUX được kích hoạt và tôi nhận được menu hiển thị. Sau đó, tôi nhấn cài đặt.

Nó tải kernel và hệ thống tập tin initrd.

Câu hỏi của tôi là:

  1. Làm thế nào để Anaconda được gọi?

  2. Vai trò của tập tin hình ảnh / install.img là gì? (Ai gọi / gắn kết nó?)

  3. Anaconda có cài đặt Gói / *. Vòng / phút không? Nếu tôi muốn thêm một cái trong đó, tôi có thể, và nó có được cài đặt không?



@Livinglifeback - nếu bạn tóm tắt chủ đề đó như một câu trả lời, nó sẽ thêm giá trị cho trang web StackExchange?
EightBitTony

1
Lưu ý cho khách truy cập trong tương lai: điều này, đặc biệt là # 3, thay đổi phân phối sang phân phối và thậm chí trong cùng một phân phối. So sánh, ví dụ trình cài đặt Ubiquity của Ubuntu và trình cài đặt thay thế của nó.
strugee

1
@EightBitTony Tôi bắt đầu tóm tắt nó, tuy nhiên, tôi không cảm thấy mình có thể trả lời hoàn toàn câu hỏi. Tôi nghĩ rằng liên kết có thể giúp họ tìm hiểu thêm.
Sống lại vào

@Livinglifeback Cảm ơn nó thực sự đã giúp tôi khắc phục được nhiều vấn đề hơn. Tôi vẫn đang điều tra để có thể trả lời đầy đủ câu hỏi của riêng tôi. Khi tôi có thể làm như vậy, tôi sẽ đăng câu trả lời mà tôi đã tìm thấy. Liên kết được đánh giá cao :)
Spredzy

Câu trả lời:


16

Tôi là một trong những tác giả / người bảo trì Anaconda. Tôi có thể đi sâu vào quá nhiều chi tiết về cách trình cài đặt khởi động, nhưng tôi sẽ cố gắng nói ngắn gọn.

(Lưu ý rằng điều này chỉ áp dụng cho RHEL / CentOS 6.x hoặc Fedora 14 trở về trước; trình cài đặt gần như được viết lại hoàn toàn giữa Fedora 15, 16 và 17, vì vậy mọi thứ bây giờ rất khác.)

  1. Làm thế nào để Anaconda được gọi?
  2. Vai trò của tập tin hình ảnh / install.img là gì? (Ai gọi / gắn kết nó?)

Các initrd.imgtrên phương tiện truyền thông cài đặt là những gì chúng ta gọi là stage1 hình ảnh. Nó chứa một chương trình được gọi loader, công việc duy nhất của họ là tìm và tải images/install.img.

install.imglà hình ảnh sân khấu2 . Đây là nơi Anaconda thực sự sống - đó là hình ảnh squashfs chứa hệ thống tập tin gốc của trình cài đặt.

rất nhiều cách khác nhau để trình tải tìm thấy install.img, nhưng khi bạn khởi động từ DVD thì thật đơn giản: trình tải thông báo DVD trình cài đặt, gắn nó và gắn kết images/install.imgnhư hệ thống tập tin gốc của nó.

Khi hình ảnh stage2 được gắn kết, trình tải khởi động Anaconda, sau đó khởi động Xorg và đặt một vỏ tty2và tất cả những thứ hay ho đó, và trình cài đặt thực sự bắt đầu.

3. Anaconda có cài đặt Gói / *. Vòng / phút không? Nếu tôi muốn thêm một cái vào đó thì tôi có thể cài đặt được không?

Không, nó không chỉ cài đặt mọi thứ ở đó. Nó sử dụng comps.xmltệp (trong repodata/) để quyết định nhóm gói nào khả dụng (và gói nào trong các nhóm đó) - đó là cách giao diện người dùng lựa chọn gói được điền vào.

Nếu bạn thêm bất cứ thứ gì vào Packages/thư mục (như nếu bạn đang cố gắng tạo một hình ảnh DVD tùy chỉnh) và bạn muốn nó có thể cài đặt được, bạn sẽ cần sử dụng createrepođể tạo lại repodata/thư mục. Điều đó sẽ cho phép bạn cài đặt các gói của bạn thông qua kickstart, ít nhất.

Nếu bạn cần chúng hiển thị trong UI, bạn cũng sẽ cần chỉnh sửa comps.xml.


1

Khi bạn khởi động từ đĩa CD, bạn nhận được bộ tải khởi động ISOLINUX và tải hạt nhân Linux và ramdisk ban đầu. Điều đó bắt đầu Anaconda, tải các phần khác nhau của nó, chẳng hạn như install.img. Anaconda sau đó chăm sóc cài đặt các gói khác nhau, vv

Cách dễ nhất để có được Anaconda để cài đặt các gói bổ sung (hoặc thực hiện cấu hình bổ sung) là bằng cách viết một kịch bản khởi động. Một kịch bản khởi động cho Anaconda biết gói nào sẽ cài đặt, cách định cấu hình hệ điều hành, v.v. Để yêu cầu anaconda sử dụng tập lệnh khởi động cụ thể, bạn có thể nhập "install ks = http://example.com/my_kickstart.ks " tại dấu nhắc ISOLINUX. Sau đó, nó sẽ tải xuống tệp khởi động đó (từ một máy chủ web trong ví dụ này) và sử dụng nó để biết gói nào sẽ được cài đặt.

Thông tin chi tiết về các kịch bản khởi động có sẵn tại http://fedoraproject.org/wiki/Anaconda/Kickstart


0

Khi bạn khởi động CD cài đặt, nó sẽ tải Kernel và initrd giống như bạn đã đề cập. Điều này về cơ bản tải một hệ thống Linux tối thiểu vào bộ nhớ máy tính của bạn. Anaconda chạy như một dịch vụ khi khởi động và chương trình khởi chạy. Anaconda sau đó tìm HD của bạn và gắn kết chúng dưới dạng / mnt / sysimage. Anaconda không cài đặt Gói / *. Vòng / phút từ đĩa CD cài đặt và bạn có thể thêm RPM vào thư mục Gói và sau đó ghi lại iso, nhưng Anaconda vẫn không biết rằng nó cần phải được cài đặt. Theo như hack Anaconda để làm cho chương trình tìm kiếm RPM, tôi không có câu trả lời.

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.