Câu trả lời:
Tải xuống
Tải xuống ISO máy chủ Ubuntu từ vị trí này . Bạn có tùy chọn để đi 32 bit hoặc 64 bit. Tên tệp cho phiên bản máy chủ sẽ trông giống như sau:
ubuntu-13.10-server-i386.iso
ubuntu-13.10-server-amd64.iso
Tôi sẽ giả sử phiên bản 13.10 64 bit theo các hướng dẫn sau, vì vậy hãy điều chỉnh các lệnh để tải xuống bạn đã làm. Giữ một bản sao tải xuống của bạn để bạn có thể tạo nhiều phiên bản mới từ bản tải xuống ban đầu trong trường hợp bạn cần cải thiện dự án của mình. Tôi cũng sẽ cho rằng chúng tôi sử dụng ~/Downloads/
để làm tất cả công việc của chúng tôi.
Thiết lập ban đầu
Điều này sẽ tạo 2 thư mục "iso" và "isoNew" trong thư mục Tải xuống của bạn, gắn ISO và sao chép nội dung từ "iso" sang "isoNew" để bắt đầu một dự án mới.
Đặt cái này trong một tệp văn bản, lưu nó, làm cho nó thực thi và thực thi nó:
# Ubuntu custom server
# rinzwind askubuntu.com
# topic: http://askubuntu.com/questions/409607/how-to-create-a-customized-ubuntu-server-iso/409651#409651
cd ~/Downloads/
mkdir -p iso newIso
sudo mount -o loop ./ubuntu-13.10-server-amd64.iso ./iso
sudo cp -r ./iso/* ./newIso/
sudo cp -r ./iso/.disk/ ./newIso/
sudo umount ./iso/
cd ~/Downloads/newIso/
mount: block device /discworld/Downloads/ubuntu-13.10-server-amd64.iso is write-protected, mounting read-only
Hình ảnh ví dụ về cách nó sẽ trông như thế nào:
Đang thực hiện:
Kết quả:
Thêm tùy chọn menu khởi động
Các tùy chọn menu cho trình cài đặt được lưu trữ trong isolinux/txt.cfg
và bạn có thể tạo các tùy chọn mới ở giữa default install
và label install
.
Điều này sẽ tạo ra một tùy chọn mới gọi là "Cài đặt máy chủ Ubuntu tùy chỉnh" và nó sẽ thêm tệp khởi động (tệp khởi động được sử dụng để thay đổi tùy chọn; giải thích bên dưới):
label myownoption
menu label ^Install Custom Ubuntu Server
kernel /install/vmlinuz
append file=/cdrom/preseed/ubuntu-custom.seed initrd=/install/initrd.gz quiet ks=cdrom:/preseed/ks-custom.cfg --
myownoption
chỉ là một nhãn bạn có thể sử dụng để xác định tùy chọn của bạn.default install
thành default myownoption
.Thí dụ:
và chỉnh sửa tệp (Tôi đã sử dụng nano nhưng nếu có, hãy sử dụng gedit, vim hoặc trình chỉnh sửa khác). Đây là phần bổ sung của tôi vào tập tin này, nơi tôi đã sử dụng "máy chủ đèn" làm nhãn và hạt giống của tôi cũng sẽ được đặt tên là "máy chủ đèn".
Kickstart (thiết lập đồ họa một tập tin cấu hình)
Phương pháp cài đặt Red Hat Kickstart được sử dụng chủ yếu (nhưng không phải độc quyền) bởi hệ điều hành Red Hat Enterprise Linux để tự động thực hiện cài đặt và cấu hình hệ điều hành không giám sát.
Tài liệu về preseising / kickstart cho Ubuntu . Ubuntu đã hỗ trợ hạn chế cho khởi động (và sắp đặt trước); một trong những điều còn thiếu là giao diện đồ họa để đoán trước. Kickstart không có tùy chọn cho việc này (xem hình ảnh) nhưng những thứ này dường như không hoạt động trên Ubuntu. Bạn có thể làm điều này bằng tay mặc dù (xem Preseising bên dưới).
Cài đặt và bắt đầu khởi động:
sudo apt-get install system-config-kickstart
ksconfig
** CẢNH BÁO **
kickstart bị lỗi trong Ubuntu 13.10 và khi khởi động nó, nó bị lỗi. Đây là một sửa chữa . Đặt bản vá trong nhận xét vào một tệp văn bản, lưu nó (tôi đặt tên là "bản vá") và cam kết:
Sau đó ksconfig
, nó sẽ khởi động trình chỉnh sửa cấu hình cho phép bạn thao tác rất nhiều tùy chọn.
Xem Red Hat Linux 7.2: Hướng dẫn tùy chỉnh Red Hat Linux chính thức để biết mô tả cho tất cả các tùy chọn bạn có thể đặt.
Sau khi hoàn tất, hãy lưu các thay đổi vào một ks.cfg
tệp và sao chép nó sang ISO mà chúng tôi đang thay đổi:
sudo cp ks.cfg ~/Downloads/newIso/preseed/ks-custom.cfg
ks-custom.cfg
trong ~/Downloads/newIso/preseed/
.Ví dụ nơi tôi đã chèn thông tin đăng nhập của mình. Tôi bắt đầu nó với sudo ksconfig
từ dòng lệnh.
Và lưu nó vào dự án:
Đặt trước (cài đặt thủ công tệp cấu hình)
Preseinating cung cấp một cách để đặt câu trả lời cho các câu hỏi được hỏi trong quá trình cài đặt, mà không cần phải nhập câu trả lời theo cách thủ công trong khi cài đặt đang chạy. Điều này cho phép tự động hóa hoàn toàn hầu hết các loại cài đặt và thậm chí cung cấp một số tính năng không khả dụng trong quá trình cài đặt thông thường.
Sao chép phần chèn sẵn để cài đặt bình thường vào nhãn của riêng bạn:
sudo cp newIso/preseed/ubuntu-server.seed newIso/preseed/ubuntu-myownoption.seed
myownoption
những gì bạn đã sử dụng.Bây giờ để thay đổi cài đặt. Sử dụng debconf-get-selections
từ debconf-utils
bạn có thể điều tra những thông số bạn có thể sử dụng với phần mềm cụ thể.
Ví dụ thiết lập này:
Và thêm máy chủ đèn được cài đặt với taskel:
Nếu bạn muốn thêm các gói "openssh" và "build-Essential", bạn có thể đưa gói này vào tệp hạt giống:
d-i pkgsel/include string openssh-server build-essential
Một ví dụ cho openssh:
debconf-get-selections | grep openssh
openssh-server ssh/vulnerable_host_keys note
openssh-server ssh/use_old_init_script boolean true
openssh-server ssh/encrypted_host_key_but_no_keygen note
openssh-server ssh/disable_cr_auth boolean false
Bạn có thể thêm các tùy chọn này vào custom-iso/preseed/ubuntu-myownoption.seed
.
Ở cuối tệp preseed, bạn có thể thêm các gói (ví dụ ngẫu nhiên) như thế này:
% gói openssh-server mysql-server apache2
Cài đặt ngoại tuyến
Trong trường hợp bạn thêm các gói và những gói KHÔNG có trong ISO, trình cài đặt sẽ tải xuống các gói này từ kho lưu trữ. Nếu bạn không có kết nối internet đang hoạt động thì điều này sẽ có vấn đề, do đó bạn sẽ cần thêm tất cả các gói (và phụ thuộc) đó vào dự án của mình và ghi chúng vào đĩa DVD. May mắn thay, máy chủ ISO bình thường có rất nhiều chỗ nhưng hãy cẩn thận: CD và / hoặc DVD có kích thước hạn chế.
Tải xuống tất cả các gói DEB bạn cần và lưu trữ chúng trong ~/Downloads/
. 2 thư mục này là cần thiết trên ISO mới:
mkdir -p ~/Downloads/newIso/dists/stable/extras/binary-i386
mkdir -p ~/Downloads/newIso/pool/extras/
sudo cp ~/Downloads/*.deb newIso/pool/extras/
Và điều này sẽ cập nhật dự án của chúng tôi với các gói mới:
cd ~/Downloads/newIso
sudo apt-ftparchive packages ./pool/extras/ > dists/stable/extras/binary-i386/Packages
sudo gzip -c ./dists/stable/extras/binary-i386/Packages | tee ./dists/stable/extras/binary-i386/Packages.gz > /dev/null
cd ~/Downloads/
Tạo ISO
cd ~/Downloads/
sudo md5sum `find ! -name “md5sum.txt” ! -path “./isolinux/*” -follow -type f` > md5sum.txt
sudo mkisofs -J -l -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -z -iso-level 4 -c isolinux/isolinux.cat -o ./ubuntu-13.10-myowninstall-amd64.iso -joliet-long newIso/
Kết quả:
Và bây giờ bạn có thể thử nó bằng cách thực sự ghi và cài đặt nó. Tôi khuyên bạn nên sử dụng như một máy ảo vì nó sẽ nhanh hơn để kiểm tra ISO được tạo ban đầu (nếu không bạn tiếp tục khởi động lại).
Và sau khi cài đặt VirtualBox, tôi nhận được menu sau:
Săn bọ
Chạy vào 1 vấn đề trong khi cài đặt: mặc định không được chọn.
Shadin. Từ tập tin hạt giống của bạn trong bình luận
### Package Selection
tasksel tasksel/first multiselect Custom-Ubuntu-Server
d-i pkgsel/include string openssh-server build-essential
%packages openssh-server postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 libpq-dev postgresql-server-dev-9.1 pgadmin3
có lẽ cần phải như thế này:
### Package Selection
tasksel tasksel/first multiselect lamp-server
d-i pkgsel/include string openssh-server build-essential postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 libpq-dev postgresql-server-dev-9.1 pgadmin3
Bỏ dòng nhiệm vụ của bạn không muốn máy chủ LAMP (ví dụ: Apache, Mysql, Php)