Re: Dùng pungi để tạo các bản phân phối dựa trên Fefora
Fedora cung cấp khá nhiều cung cụ để tuỳ biến các bản phân phối. Một trong những công cụ đó là [erl=https://fedorahosted.org/pungi]pungi[/erl]. Đây là công cụ dạng dòng lệnh viết bằng ngôn ngữ Python có khả năng tìm kiếm, phân tích và tải về các gói phần mềm để bảo đảm yêu cầu "phụ thuộc" giữa các gói.
Nguyên tắc cơ bản khi làm việc với pungi là:
1. Đưa ra yêu cầu các gói phần mềm trong các kho phần mềm (repo) được chỉ định
2. pungi sẽ tìm kiếm và tải về các gói yêu cầu và tự phân tích để bảo đảm thoã mãn tính phụ thuộc giữa các gói
3. Các công cụ của Anaconda sẽ làm việc trên các gói rpm đã được tải về để chuẩn bị cho việc tạo các iso.
1. Chuẩn bị file cấu hình kickstart
Sau đây là ví dụ của một file cấu hình để tạo bản Fedora với XFCE desktop:
repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/...
repo --name=fedora-updates --mirrorlist=http://mirrors.fedoraproject.org/...
%packages
kernel*
-kernel*debug*
-kernel*devel*
@xfce-desktop
@hardware-support
firefox
screen
irssiCác kho phần mềm được định nghĩa với từ khoá "repo". Các kho này có thể là các kho trên Internet hoặc các kho local.
Danh sách phần mềm được định nghĩa sau từ khoá %packages. Tên hỗ trợ wildcard. Dấu @ dùng để địng nghĩa nhóm gói phần mềm. Dấu - dùng để loại bỏ gói phần mềm.
2. Chuẩn bị không gian đĩa làm việc
Để tạo được CD thành quả khoảng 700MB thì phải có ít nhất 3-5GB không gian đĩa để làm việc.
Các thư mục mà pungi sẽ làm việc là /tmp và /var. pungi lưu các kết quả tạm lên /tmp. Còn /var dùng để "cache" các gói rpm tải về. Bằng cách dùng cache này bạn sẽ không phải
tải về các gói toàn bộ mỗi lần chạy pungi.
Thư mục làm việc của pungi có thể bất kì trên phân vùng nào, do người dùng chỉ định. Kích thước thông thường là khoảng 3-4 lần dung lượng CD/DVD mà bạn cần tạo. Ví dụ để tạo 1 CD khoảng 700MB thì thư mục làm việc khoảng 2-2,5GB.
3. Thực thi lệnh pungi
Lệnh pungi được dùng như sau:
pungi --name=FC-One --destdir=/BUILD \
--nosource --nosplitmedia --discs=1 -c myxfce.ksTrong đó /BUILD là thư mục làm việc. File cấu hình kickstart được chỉ định với tùy chọn -c. Các tuỳ chọn còn lại trong ví dụ trên để nói rằng chỉ tạo ra 1 CD, và không cần source rpm.
Nếu không có lỗi gì, thì sau khoảng 10-15 phút quá trình build sẽ kết thúc và bạn sẽ tìm thấy iso trong thư mục /BUILD/20080723/i386/iso/.
-rw-r--r-- 1 root root 668M 2008-07-23 22:14 Fedora-20080723-i386.iso
-rw-r--r-- 2 root root 86M 2008-07-23 22:13 Fedora-20080723-i386-netinst.iso
-rw-r--r-- 1 root root 142 2008-07-23 22:14 SHA1SUMChú ý: quá trình chạy pungi tiêu tốn khá nhiều tài nguyên máy (bộ nhớ, cpu). Cho nên muốn có hiệu quả chỉ nên làm việc với những máy tương đối mạnh và có ít nhất 512M ram bộ nhớ.
4. Kết luận
Một khi đã có iso thì có thể thử ngay với VMware player trước khi ghi lên CD hay phân phối.
Giao diện trình cài đặt của Anaconda có thể tùy biến và thay đổi dễ dàng (banner, logo,...) theo ý thích của người dùng. Các gói phần mềm có thể thêm/bớt rất dễ dàng thông qua việc tạo các kho rpm local.
Đến đây thì chắc có nhiều người thốt lên rằng: dễ quá! ai cũng làm distro được ![]()
