Introduction to Linux distros & installers

Các bản phân phối Linux (Linux distro) có 2 dòng chính: rpm-based và deb-based

Đại diện chính/đầu-tiên/nổi-bật của dòng rpm-based là RedHat Enterprise

Đại diện chính/đầu-tiên/nổi-bật của dòng deb-based là Debian

Từ 2 distro này bắt đầu sản sinh ra các distro khác mà người ta gọi là "phái sinh" (derivative)

RedHat derivative có các đại diện tiêu biểu như: CentOS, Fedora, Oracle Linux, Scientific Linux, v.v...

Debian derivative có các đại diện tiêu biểu như: Ubuntu, BackTrack, Knoppix, Linux Mint, v.v...

Từ đó lại đẻ ra các bản derivative-của-derivative,v.v...
Ví dụ: VCCloud có thể tự customize 1 bản Ubuntu của riêng mình và đặt tên là VubunCloud chẳng hạn.

Các sản phẩm phái sinh này sẽ thừa hưởng nhiều đặc tính quan trọng từ các distro gốc, như hệ thống quản lý gói và các tool hỗ trợ, hệ thống quản lý init/start/stop các dịch vụ, cách thức setup networking và tổ chức config, v.v...

Khi cài đặt Linux OS lên 1 máy tính, mỗi một distro sẽ sử dụng một software/package đặc thù để setup OS lên (chia partition, cài đặt gói, cài GRUB, setup account, v.v...)

Với RedHat thì là Anaconda, với Debian là Debian-Installer, với Ubuntu là Ubiquity. Các derivative tương ứng từ các distro gốc này cũng sử dụng cùng một loại "installer" như distro gốc.

Để tự động cài đặt một OS, thì các thông tin như chia partition thế nào, cài gói gì, trả lời các câu hỏi trong quá trình cài đặt, v.v... cần phải được ghi vào 1 file - gọi là "response file".

Trên mỗi một distro, file này có cú pháp khác nhau do được sử dụng bởi một chương trình (package) khác nhau.

Với RedHat và các derivative của nó thì là Kickstart file.

Với Debian/Ubuntu và các derivative của nó thì là Preseed file.

Cobbler là một hệ thống được sử dụng để quản lý cài đặt các server(bare-metal) từ mạng.

Lưu ý rằng "quản lý cài đặt" và "thực sự thực hiện việc cài đặt" là 2 thứ khác nhau.
Việc thực sự thực hiện cài đặt vẫn được xử lý bởi Anaconda+Kickstart / DebianInstaller+Preseed / v.v...

Quản lý cài đặt ở đây nghĩa là quản lý cấu hình mẫu("template") nào sẽ được áp dụng trên server nào; đẩy file iso cũng như các gói cần cài đặt, chạy thêm một số command/code nếu cần, cấp DHCP/DNS nếu cần, v.v...

Cobbler khởi đầu là 1 hệ thống được viết định hướng cho các distro RedHat & RedHat's derivatives, nhưng sau đó được sử dụng rộng rãi ở cả dòng deb-based.

PS: just a quick note for junior teammates.