Bạn có muốn tạo các ảnh hệ điều hành tùy chỉnh, sẵn sàng sử dụng, có thể dùng làm ảnh VMware, máy ảo Xen, DVD live hoặc boot từ USB? Bạn có muốn chuyển đổi cài đặt vật lý của mình thành một ảnh có thể triển khai? Bạn có muốn làm tất cả những điều trên chỉ trong vài giờ, không cần chạm đến dòng lệnh, chỉ làm theo một trình thủ thuật trực quan đơn giản? Nếu câu trả lời là một "có" lớn, thì bạn đang đọc đúng bài viết.

Giới thiệu
Có nhiều cách để đạt được điều này, nhưng không cách nào hoàn chỉnh và mạnh mẽ như Kiwi.
Kiwi là một trong những công cụ được dùng bởi openSUSE Build Service – một nền tảng phát triển phân phối hoàn chỉnh cho phép bạn tạo và phát hành phần mềm cho openSUSE và các distro Linux khác. Kiwi tập trung vào openSUSE, cho phép bạn:
- Tạo ảnh live CD/DVD boot được của phân phối openSUSE, chỉ chứa các gói bạn muốn hoặc cần.
- Xây dựng ảnh USB boot được.
- Tạo ảnh ảo Xen, VMware hoặc QEMU, kèm file cấu hình.
- Chuyển đổi (di chuyển) cài đặt của bạn thành ảnh triển khai bất kỳ loại nào.
Chúng ta đã thấy hầu hết các thủ thuật tuyệt vời này:
- Remastersys, chạy trên các distro dựa trên Debian, có thể chuyển cài đặt vật lý thành file .iso boot được, dùng cho backup hoặc phân phối như live CD/DVD.
- Remaster-on-the-fly trong PCLinuxOS, làm tương tự Remastersys.
- QEMU chuyển đổi đĩa cứng VMware (.vmdk) thành ảnh Amazon EC2 (.ami), như trong hướng dẫn này.
- Cách clone máy ảo VMware Server và ESXi.
- VMware Converter làm nhiều điều kỳ diệu, tạo ra nhiều loại ảnh.
Tuy nhiên, một số giải pháp tuyệt vời này không cung cấp mọi thứ chúng ta cần. Ví dụ, Remastersys không tạo máy ảo, chỉ tạo ảnh để cài đặt làm hệ điều hành khách. Điều này đòi hỏi công sức thêm và tương tác người dùng. Chuyển đổi Amazon很酷, nhưng chủ yếu là công việc dòng lệnh, với nhiều bước chuẩn bị và tương tác. VMware Converter cung cấp gần như giải pháp hoàn chỉnh. Kiwi làm được tất cả những điều đó – và hơn thế nữa. Hy vọng tôi đã khiến bạn tò mò. Hãy xem "người đẹp quyền lực" này có thể làm gì.
Điều kiện tiên quyết
Một việc bạn phải làm trước khi dùng Kiwi là cài đặt openSUSE, phiên bản 10 trở lên. Tôi đã trình bày cài đặt và cấu hình openSUSE hai lần, trong các hướng dẫn chi tiết từng bước: "Installing SUSE Linux" (bài cũ hơn, bao gồm openSUSE 10.1, tập trung vào khái niệm cơ bản, chức năng KDE, tính năng bảo mật, và các cấu hình khác) và "openSUSE 11 - Review & Tutorial" (bài đầy đủ hơn, bao gồm trải nghiệm live CD, Wireless, Compiz, codec đa phương tiện, cài đặt kho bổ sung, driver card đồ họa ATI, cài đặt game, và nhiều hơn).
Bạn được khuyến khích xem hai hướng dẫn này. Chúng sẽ giúp bạn bắt đầu với openSUSE. Khi đã cài đặt xong openSUSE, bạn có thể chuyển sang Kiwi.
Cài đặt Kiwi
Đầu tiên, bạn cần cài đặt Kiwi qua YaST. Có một danh sách lớn các gói Kiwi. Chúng ta muốn cài hết.

Nhưng đây mới chỉ là một phần. Chúng ta còn cần một tiện ích khác tên là Product Creator (product-creator). Tiện ích này chứa hai module: Image Creator và Product Creator.
Image Creator, với logo quả kiwi dễ thương, chính là một trình thủ thuật GUI để dùng Kiwi và tạo ảnh – chính thứ chúng ta cần. Product Creator cho phép chuyển đổi cài đặt hiện có thành các bản phân phối mới có thể cài đặt. Lại chính thứ chúng ta cần.
Tuy nhiên, trong bài viết/hướng dẫn này, chúng ta chỉ làm việc với Image Creator. Product Creator sẽ được trình bày trong bài riêng. Chúng ta cũng sẽ nhắc đến công cụ build mạnh mẽ khác là SUSE Studio. Đó là chuyện sau. Hiện tại chúng ta cần Image Creator. Nó nằm ở YaST > Miscellaneous.
Sử dụng Kiwi
Lần đầu chạy Image Creator, bạn sẽ thấy menu cấu hình trống.
Để tạo cấu hình mới, nhấn Add.
Chuẩn bị ảnh
Bây giờ bạn cần quyết định muốn làm gì. Bạn có thể dùng cấu hình hiện có, nhưng chúng ta chưa có, nên chọn tùy chọn đầu tiên: Create from beginning (Tạo từ đầu).
Tiếp theo, chọn Image Type (Loại ảnh). Điều này rất quan trọng, vì nó quyết định đầu ra cuối cùng.

Live ISO Image có lẽ là tùy chọn linh hoạt nhất, vì cho phép cài đặt đĩa ở bất kỳ đâu.
Xen Image dành cho phần mềm ảo hóa Xen, được Novell hỗ trợ chính thức và đi kèm phân phối. Bạn truy cập module ảo hóa qua YaST > Virtualization.
USB Stick Image dành cho thiết bị USB.
Virtual Disk Image bao gồm nhiều định dạng, gồm cả file .raw và .vmdk cho QEMU và VMware. Chú ý ở đây, vì đầu ra sẽ chứa nhiều ảnh, không chỉ một, nên dung lượng cần thiết sẽ lớn.
Lưu ý nhỏ: màu nền trong ảnh trên trùng với màu tôi dùng trên trang web. Một sự trùng hợp may mắn/độc đáo rằng cả SUSE và tôi đều dùng cùng màu. Thú vị!
Về dung lượng: thư mục Output directory. Đảm bảo bạn có đủ không gian trống để chứa các ảnh. Nếu bạn dự định ảnh ảo 2GB, kết quả cuối cùng sẽ lớn hơn ít nhất 250%. Đảm bảo không hết không gian, đặc biệt nếu thư mục đích nằm trên cùng phân vùng với root, vì bạn có thể làm hỏng máy.
Thư mục đích mặc định là /tmp.
Phần Package Repository (Kho gói) liệt kê tất cả kho bạn muốn dùng để tải gói khi xây dựng ảnh. Kho càng nhiều, lựa chọn phần mềm càng đa dạng. Đảm bảo kho không bị hỏng và được ký đúng cách để tránh sự cố sau này.
Ảnh ảo (Virtual Disk Image)
Bước tiếp theo là cấu hình chính ảnh – nó chứa gì và làm gì. Đây là quy trình 5 bước. Bước phụ đầu tiên: chọn phiên bản và dung lượng ảnh. Lập kế hoạch phù hợp với giới hạn không gian.
Sau đó, chọn các gói bạn muốn bao gồm.
Description (Mô tả) như tên gọi. Hữu ích cho kiểm soát phiên bản.
Tiếp theo là danh sách người dùng hợp lệ. Mặc định có root (không mật khẩu) và một user linux chung. Bạn có thể chỉnh sửa, thêm hoặc xóa user.
Bước thứ tư là các script xây dựng ảnh. Người dùng nâng cao có thể thêm bất cứ thứ gì ở đây, bao gồm script cấu hình mạng/dịch vụ tùy chỉnh, script dọn dẹp, v.v. Nếu không chắc, hãy để mặc định.
Bước cuối: chọn thư mục chứa cấu hình hệ thống. Lại nói, nếu không chắc, hãy để mặc định. Nói chung, phần này cho phép thêm script xây dựng ảnh bổ sung dựa trên nhu cầu, nhưng không bắt buộc để ảnh chạy được.
Khi hoàn thành, nhấn Finish. Bạn sẽ được yêu cầu xác nhận lựa chọn:
Và quá trình bắt đầu. Tùy thuộc vào dung lượng ảnh và tốc độ mạng, có thể mất một chút thời gian. Trong trường hợp tôi, ảnh sẵn sàng sau khoảng 3 giờ.
Kiểm tra ảnh
Đến lúc quan trọng: kiểm tra toàn bộ. Sau khi job chạy vài giờ, bạn tự hỏi kết quả có thực sự hoạt động không. Hãy xem.
Trước hết, nội dung...
Lưu ý trong ảnh chụp màn hình dưới, đường dẫn đến file ảnh không phải /tmp. Đó là vì tôi đã di chuyển ảnh sang phân vùng khác (/mnt) để tăng hiệu suất khi test – một trong những mẹo tôi thường khuyên khi làm việc với sản phẩm ảo hóa.

Có khá nhiều file trong thư mục, bao gồm ảnh .raw và .vmdk, cả hai đều 2+ GB, và một số file bổ sung như VMX boot vmlinuz và initrd. Như đã nói, kết quả cuối cùng lớn hơn nhiều so với dung lượng dự định.
Chúng ta quan tâm đến file .vmdk. Nhưng cũng có thể dùng file .raw với QEMU và thậm chí chuyển đổi sang định dạng AMI nếu muốn dùng với Amazon EC2.
Tạo máy ảo
Bước đầu tiên: tạo máy ảo, ví dụ trong VMware Server.
Khởi động máy ảo
Và đây, máy ảo đã sẵn sàng:

Nó đang boot:


Và nó đang chạy:

Tuyệt vời! Nhiệm vụ của chúng ta thành công rực rỡ.
Các thứ khác
Kiwi rất linh hoạt và phụ thuộc vào file cấu hình XML. Điều này có nghĩa là bạn có thể viết script cho quy trình tạo ảnh, không phải phụ thuộc vào trình thủ thuật mỗi lần. Việc dùng công cụ dòng lệnh chủ yếu dành cho người dùng nâng cao, cần kiểm soát chi tiết và tự động hóa tốt hơn việc xây dựng ảnh.
Tài liệu chính thức cũng giải thích cách tạo nhiều loại ảnh khác, bao gồm PXE thin install và hệ thống OEM preload, ngoài các loại ảnh thường thấy đã trình bày. Tốt nhất là có kèm ví dụ.
Chúng ta sẽ nói thêm về điều này trong một hướng dẫn riêng.
Kết luận
Trong bài này, chúng ta mới chỉ chạm đến sức mạnh của Kiwi – và của Build Service. Tuy nhiên, không thể phủ nhận sự đơn giản, đẹp đẽ, mạnh mẽ và linh hoạt của gói Kiwi.
Nó cho phép bạn tạo nhiều loại ảnh tùy chỉnh, kiểm tra và triển khai trong nhiều kịch bản, mà không cần loay hoay với công việc dòng lệnh khổ sở thường kèm theo những nỗ lực như vậy, mặc dù Kiwi hỗ trợ tự động hóa qua file cấu hình XML.
Kiwi làm tất cả điều đó bằng các menu thân thiện, dễ hiểu. Bạn không cần là chuyên gia hệ thống để chạy Image Creator và "nướng" mọi loại ảnh cho bạn, चाहे bạn muốn dùng chúng trong Xen, VMware Server hay triển khai từ xa trên Amazon Cloud. Tiềm năng khó tin chỉ đơn giản là tuyệt vời.
Nếu bạn chưa muốn dùng openSUSE làm distro desktop chính, tôi khuyên bạn hãy suy nghĩ lại. Nếu nhu cầu của bạn bao giờ đi vào lĩnh vực ảo hóa, Kiwi có lẽ là nền tảng kinh doanh hoàn chỉnh nhất cho việc triển khai và kiểm tra ảnh nhanh chóng, quy mô lớn. Trong các hướng dẫn tiếp theo, chúng ta sẽ nói về Product Creator và SUSE Studio. Hãy theo dõi.
Chúc vui!