Yanıtlar:
TL; DR ; özel isoyu yeniden paketledikten sonra isohybrid'i kullanın
Bu usb'i yapmak için, Ubuntu 14.04 kurulu olan sanal bir makine kullandım. Buradaki amaç, klavye düzeni, dil vb. Şeylerin seçilmesini gerektirmeyen önyüklenebilir bir usb yapmaktır. Bir otomatik olarak bir Ubuntu sunucusunun kurulmasını istiyoruz.
Kurulumumuz için özelleştireceğimiz ubuntu imajını almamız gerekiyor.
wget http://releases.ubuntu.com/14.04/ubuntu-14.04.2-server-amd64.iso
Ambalajsız iso dosyasını monte etmek için bir yere ihtiyacımız olacak.
sudo mkdir -p /mnt/iso
Bunun için bir bağlama noktası oluşturduktan sonra, şimdi onu bağlamak zorundayız. Bu, iso içinde tutulan dosyaları gösterecektir. Ne yazık ki, dosyalar salt okunur olacak
. sudo mount -o döngü ubuntu-14.04.2-sunucu-amd64.iso / mnt / iso
Dosyaları değiştirmek için, onları değiştirebileceğimiz bir dizine kopyalamamız gerekir, bu yüzden dizini oluşturacağız ve sonra dosyaları kopyalayacağız.
sudo mkdir -p /opt/ubuntuiso sudo cp -rT /mnt/iso /opt/ubuntuiso
Yeni çalışma dizinimiz / opt / ubuntuiso olacak
cd /opt/ubuntuiso
Kurulum sürecinde dil seçiminden istenmemesi için, hangi dili kullanacağımızı söylememiz gerekir. Bu durumda, İngilizce kullanılıyor çünkü en kullanılıyor.
echo en | sudo tee isolinux/lang
Şimdi aslında kickstart dosyasını system-config-kickstart adlı bir programla oluşturacağız. Bu yüzden kurulduğundan emin olduktan sonra çalıştırıyoruz.
sudo apt-get install system-config-kickstart system-config-kickstart
Sonra dosyayı GUI'den kaydedin
/opt/ubuntuiso/
. Bu ks.cfg adlı bir dosyayı kaydetmelidir. Benim ks.cfg aşağıdaki gibi görünüyor#Generated by Kickstart Configurator #platform=AMD64 or Intel EM64T #System language lang en_US #Language modules to install langsupport en_US #System keyboard keyboard us #System mouse mouse #System timezone timezone America/Denver #Root password rootpw --disabled #Initial user user ubuntu --fullname "ubuntu" --iscrypted --password $1$MQ0zGB4W$pwjX8nolgr2RJch2Omamt. #Reboot after installation reboot #Use text mode install text #Install OS instead of upgrade install #Use CDROM installation media cdrom #System bootloader configuration bootloader --location=mbr #Clear the Master Boot Record zerombr yes #Partition clearing information clearpart --all --initlabel #Disk partitioning information part /boot --fstype ext2 --size 100 --asprimary part swap --recommended part / --fstype ext4 --size 1 --grow #System authorization infomation auth --useshadow --enablemd5 #Network information network --bootproto=dhcp --device=eth0 #Firewall configuration firewall --disabled #Do not configure the X Window System skipx %post #!/bin/bash exec < /dev/tty6 > /dev/tty6 chvt 6 echo 'Acquire::http { Proxy "http://10.2.4.27"; };' > /etc/apt/apt.conf.d/02proxy apt-get update apt-get -y upgrade apt-get -y dist-upgrade apt-get install -y git ansible openssh-server vim chvt 1
Not defterinde yapılan bir miktar kaçırılma var (daha sonra her şey
%post
). Exec ile başlayan satır ve aşağıdaki satır (chvt 6
) yükleyiciyi zorluyor, bundan sonra çalıştırılan komutların çıktısını gösterir. Bunun nedeni, yükleme çubuğunun yükleme sırasında hareket etmemesidir ve yükleyici takılmış gibi görünebilir. Proxy'yi yapan aşağıdaki satır yerel ağımızdaki apt-cache içindir. Son satır (chvt 1
) çıktıyı ana yükleyiciye geri döndürür.Şimdi diğer dosyaları engellememiz için önceden hazırlanmış dosyayı eklememiz gerekiyor.
echo 'd-i partman/confirm_write_new_label boolean true d-i partman/choose_partition \ select Finish partitioning and write changes to disk d-i partman/confirm boolean true' | sudo tee ks.preseed
Şimdi yükleyiciye az önce kaydettiğimiz dosyaları anlatmamız gerekiyor, bu yüzden isolinux / txt.cfg dosyasını değiştirmeliyiz. İlk önce dosyayı yazılabilir yapmamız gerekiyor.
sudo chmod +w isolinux/txt.cfg
Ardından, aşağıdaki bölümün ekleme satırını değiştirmemiz gerekiyor
label install menu label ^Install Ubuntu Server kernel /install/vmlinuz append file=/cdrom/preseed/ubuntu-server.seed vga=788 initrd=/install/initrd.gz quiet --
Ekleme satırını ile değiştirin
append file=/cdrom/preseed/ubuntu-server.seed initrd=/install/initrd.gz ks=cdrom:/ks.cfg preseed/file=/cdrom/ks.preseed --
Dosyayı kaydedin ve çıkın. Ayrıca dosyayı orijinal durumuna getirdiğimizden emin olmalıyız, bu nedenle yazma izinlerini kaldırın.
sudo chmod -w isolinux/txt.cfg
Şimdi önyüklenebilir usb oluşturmak için kullanacağımız yeni iso dosyasını oluşturun.
sudo mkisofs -D -r -V "ATTENDLESS_UBUNTU" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /opt/autoinstall.iso /opt/ubuntuiso
Bir usb için önyüklenebilir iso'yu sonlandırmak için, onu melezlememiz gerekiyor.
sudo isohybrid /opt/autoinstall.iso
Hibritlendikten sonra, usb sürücüye itebiliriz. Sanal makinemdeki usb sürücü ortaya çıkıyor
/dev/sdb
, ancak doğru etiketi kullanmanız gerekiyor, bu nedenle X yerine uygun şekilde değiştirin, USB sürücünün çıkarıldığından emin olun.sudo umount /dev/sdX
Ve sonunda isoyu USB sürücüye itin. (Lütfen unutmayın **, bu hedef cihazdaki verileri yok eder - ne yaptığınızı bildiğinizden emin olun)
sudo dd if=/opt/autoinstall.iso of=/dev/sdX
Şimdi USB sürücünüz kuruluma hazır olmalı!
Tam çözüm:
Bir CD'yi Remaster, yani grafiksel olmayan bir Ubuntu kurulum ISO (sunucu veya alternatif kurulum CD'si) indirin ve takın. Bu durumda, Ubuntu 14 ISO'nuz.
sudo mkdir -p /mnt/iso
sudo mount -o loop ubuntu.iso /mnt/iso
İlgili dosyaları farklı bir dizine kopyalayın
sudo mkdir -p /opt/ubuntuiso
sudo cp -rT /mnt/iso /opt/ubuntuiso
Dil seçim menüsünün görünmesini önleme
cd /opt/ubuntuiso
echo en | sudo tee isolinux/lang
Adında bir kickstart dosyası eklemek için GUI programını kullanın ks.cfg
sudo apt-get install system-config-kickstart
system-config-kickstart # save file to ks.cfg
Kurulum için paketler eklemek %package
için ks.cfg
kickstart dosyasına bir bölüm ekleyin, ks.cfg
dosyanın sonuna bunun gibi bir şey ekleyin .
%packages
@ ubuntu-server
openssh-server
ftp
build-essential
Bu ubuntu-server "paket" kuracak ve katacak openssh-server
, ftp
ve build-essential
paketler.
Diğer soruları bastırmak için önceden hazırlanmış bir dosya ekleyin
echo 'd-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition \
select Finish partitioning and write changes to disk
d-i partman/confirm boolean true' | sudo tee ks.preseed
Kickstart ve preseed dosyalarını kullanmak için boot komut satırını ayarlayın.
sudo nano isolinux/txt.cfg
Aramak
label install
menu label ^Install Ubuntu Server
kernel /install/vmlinuz
append file=/cdrom/preseed/ubuntu-server.seed vga=788 initrd=/install/initrd.gz quiet --
ekle ks=cdrom:/ks.cfg
ve ekle preseed/file=/cdrom/ks.preseed
satırına. quiet
Ve vga=788
kelimeleri kaldırabilirsiniz . Gibi görünmeli
append file=/cdrom/preseed/ubuntu-server.seed initrd=/install/initrd.gz ks=cdrom:/ks.cfg preseed/file=/cdrom/ks.preseed --
Şimdi yeni bir iso oluştur
sudo mkisofs -D -r -V "ATTENDLESS_UBUNTU" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /opt/autoinstall.iso /opt/ubuntuiso
Bu kadar. Herhangi bir giriş yapmanıza gerek kalmadan, önyüklendikten sonra bir Ubuntu sistemi kuracak bir CD'niz olacak.
Ks.cfg ve önceden ayarlanmış dosyaları gerektiği gibi ayarlayın.