Unduh
Unduh ISO server Ubuntu dari lokasi ini . Anda memiliki opsi untuk menggunakan 32-bit atau 64-bit. Nama file untuk edisi server akan terlihat mirip dengan ini:
ubuntu-13.10-server-i386.iso
ubuntu-13.10-server-amd64.iso
Saya akan menganggap versi 13.10 64-bit dalam instruksi berikut, jadi sesuaikan perintah dengan unduhan yang Anda lakukan. Simpan salinan unduhan Anda sehingga Anda dapat membuat beberapa versi baru dari unduhan asli jika Anda perlu meningkatkan proyek Anda. Saya juga akan menganggap kita gunakan ~/Downloads/
untuk melakukan semua pekerjaan kita.
Pengaturan awal
Ini akan membuat 2 direktori "iso" dan "isoNew" di dalam direktori Unduhan Anda, pasang ISO dan salin konten dari "iso" ke "isoNew" untuk memulai proyek baru.
Masukkan ini ke file teks, simpan, buat itu bisa dieksekusi, dan jalankan:
# 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/
- Ini akan melempar 1 pesan kesalahan:
mount: block device /discworld/Downloads/ubuntu-13.10-server-amd64.iso is write-protected, mounting read-only
Contoh gambar tentang bagaimana ini akan terlihat seperti:
Mengeksekusi:
Hasil:
Menambahkan Opsi Menu Booting
Opsi menu untuk penginstal disimpan di isolinux/txt.cfg
dan Anda dapat membuat opsi baru di antara default install
dan label install
.
Ini akan membuat opsi baru yang disebut "Instal Custom Ubuntu server" dan itu akan menambahkan file kickstart (file kickstart digunakan untuk mengubah opsi; dijelaskan di bawah):
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
hanyalah label yang dapat Anda gunakan untuk mengidentifikasi opsi Anda.
- "Instal Custom Ubuntu Server" adalah teks yang akan muncul di menu boot.
- Jika Anda ingin menjadikan opsi menu Anda pilihan default, Anda hanya perlu mengubah
default install
to default myownoption
.
Contoh:
dan mengedit file (saya menggunakan nano tetapi jika tersedia gunakan gedit, vim atau editor lain). Ini adalah tambahan saya untuk file ini di mana saya menggunakan "lampserver" sebagai label dan seed saya akan dinamai "lampserver" juga.
Kickstart (mengatur file konfigurasi secara grafis)
Metode instalasi Red Hat Kickstart digunakan terutama (tetapi tidak secara eksklusif) oleh sistem operasi Red Hat Enterprise Linux untuk secara otomatis melakukan instalasi dan konfigurasi sistem operasi yang tidak dijaga.
Dokumentasi tentang preseeding / kickstart untuk Ubuntu . Ubuntu memiliki dukungan terbatas untuk kickstart (dan preseeding); salah satu hal yang hilang adalah antarmuka grafis untuk pra-pembudidayaan. Kickstart memang memiliki opsi untuk ini (lihat gambar) tetapi ini sepertinya tidak berfungsi di Ubuntu. Anda dapat melakukan ini secara manual (lihat Preseeding di bawah).
Instalasi dan mulai kickstart:
sudo apt-get install system-config-kickstart
ksconfig
** PERINGATAN **
kickstart disadap di Ubuntu 13.10 dan ketika memulai, kesalahan keluar. Ini adalah perbaikan . Masukkan tambalan di komentar ke dalam file teks, simpan (saya menamakannya "tambalan") dan lakukan:
Setelah itu ksconfig
berhasil dan itu akan memulai editor konfigurasi yang memungkinkan Anda untuk memanipulasi banyak opsi.
Lihat Red Hat Linux 7.2: Panduan Kustomisasi Red Hat Linux Resmi untuk deskripsi untuk semua opsi yang dapat Anda atur.
Setelah Anda selesai, simpan perubahan ke ks.cfg
file dan salin ke ISO yang sedang kami ubah:
sudo cp ks.cfg ~/Downloads/newIso/preseed/ks-custom.cfg
- Jika Anda mengubah apa pun di sini, penginstal akan BERLAKU meminta informasi itu jika dianggap sah. Jika Anda tidak mengubah opsi, penginstal masih akan meminta Anda untuk menjawab.
- Anda juga dapat mengunduh file kickstart dan menyimpannya seperti
ks-custom.cfg
di ~/Downloads/newIso/preseed/
.
Contoh tempat saya memasukkan kredensial saya. Saya memulainya dengan sudo ksconfig
dari commandline.
Dan menyimpannya ke proyek:
Preseeding (secara manual mengatur file konfigurasi)
Preseeding menyediakan cara untuk mengatur jawaban atas pertanyaan yang diajukan selama proses instalasi, tanpa harus memasukkan jawaban secara manual saat instalasi sedang berjalan. Ini memungkinkan untuk mengotomatisasi sebagian besar jenis instalasi dan bahkan menawarkan beberapa fitur yang tidak tersedia selama instalasi normal.
Salin preseed untuk pemasangan normal ke label Anda sendiri:
sudo cp newIso/preseed/ubuntu-server.seed newIso/preseed/ubuntu-myownoption.seed
- ubah
myownoption
ke apa yang Anda gunakan.
Sekarang untuk mengubah pengaturan. Menggunakan debconf-get-selections
dari debconf-utils
Anda dapat menyelidiki parameter apa yang dapat Anda gunakan dengan perangkat lunak tertentu.
Contoh pengaturan ini:
Dan menambahkan lamp-server untuk diinstal dengan tasksel:
Jika Anda ingin menambahkan paket "openssh" dan "build-essential" Anda dapat memasukkan ini dalam file seed:
d-i pkgsel/include string openssh-server build-essential
Contoh untuk 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
Anda dapat menambahkan opsi ini ke custom-iso/preseed/ubuntu-myownoption.seed
.
- Penjelasan / contoh menggunakan pengaturan debconf .
- Contoh file preseed
- Contoh tentang: Lokalisasi, Konfigurasi jaringan, Konsol jaringan, Jam dan waktu, partisi
Di akhir file preseed Anda dapat menambahkan paket (contoh acak) seperti ini:
% paket openssh-server mysql-server apache2
Instalasi offline
Jika Anda menambahkan paket-paket dan BUKAN dalam ISO, pemasang akan mengunduh ini dari repositori. Jika Anda tidak memiliki koneksi internet aktif ini akan bermasalah sehingga Anda perlu menambahkan semua paket (dan dependensi) ke proyek Anda dan membakarnya ke DVD. Untungnya, server normal ISO memiliki banyak ruang tetapi waspadalah: CD dan / atau DVD memiliki ukuran terbatas.
Unduh semua paket DEB yang Anda butuhkan dan simpan ~/Downloads/
. 2 direktori ini diperlukan pada ISO baru:
mkdir -p ~/Downloads/newIso/dists/stable/extras/binary-i386
mkdir -p ~/Downloads/newIso/pool/extras/
sudo cp ~/Downloads/*.deb newIso/pool/extras/
Dan ini akan memperbarui proyek kami dengan paket-paket baru:
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/
Buat 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/
- baris ke-2 menciptakan checksum baru dan hanya diperlukan saat menambahkan paket.
- yang ke-3 membuat ISO dari proyek Anda yang dapat Anda bakar ke DVD.
Hasil:
Dan sekarang Anda dapat mencobanya dengan benar-benar membakar dan menginstalnya. Saya akan menyarankan untuk digunakan sebagai mesin virtual karena akan lebih cepat untuk menguji ISO yang dibuat awal (jika tidak Anda tetap reboot).
Dan setelah menginstal VirtualBox saya mendapatkan menu berikut:
Perburuan serangga
Terjadi 1 masalah saat menginstal: default tidak dipilih.
Shadin. Dari file seed Anda di komentar
### 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
mungkin perlu seperti ini:
### 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
Parit baris tasksel Anda tidak ingin server LAMP (mis. Apache, Mysql, Php)