Panduan untuk rincian dalam menyesuaikan Penginstal Ubuntu

9

Saya sudah mencoba membaca panduan untuk preseeding dan penyesuaian , tetapi saya tidak mengerti bagaimana dan di mana harus memodifikasi opsi mana. Saya hanya dapat dengan nyaman belajar melalui contoh-contoh praktis, yang saya ajukan pertanyaan ini.

Saya melihat ke dalam solusi preseeding dan menyesuaikan untuk hanya melakukan beberapa tugas tertentu:

  • Benar-benar menulis ulang paket yang diinstal secara default, seperti instalasi minimal dan dengan --no-install-recommendsbendera apt-get.
  • Tambahkan beberapa aplikasi eksklusif ke daftar instal default
  • Secara otomatis menginstal dan me-mount driver berpemilik pada sesi install dan live
  • Edit file konfigurasi default untuk aplikasi yang diinstal secara default
  • Tentukan partisi bersama dengan izin
  • Ubah kumpulan paket dalam media pemasang (CD / DVD / USB), lebih disukai menggunakan alat baris perintah yang mirip dengan apt-getdan aptitude.

Adakah yang bisa tolong beri tahu saya cara mengkonfigurasi opsi preseed untuk hanya melakukan di atas?

NB Saya tidak mengerti bagian GPG setelah menambahkan / menghapus paket di pool.

PS Poin ketiga sangat penting.

Oxwivi
sumber
Hanya untuk memperjelas apakah "Penginstal Ubuntu" merujuk ke penginstal grafis (unik) atau alternatif (penginstal-debian)?
komputes
@komputes, keduanya akan melakukannya.
Oxwivi

Jawaban:

6

Untuk referensi yang dipreparasi, Anda mungkin ingin merujuk ke panduan-instalasi-i386 yang berisi sampel yang dipreparasi berikut:

  /usr/share/doc/installation-guide-i386/example-preseed.txt.gz
  • Tulis ulang paket-paket yang diinstal secara default, seperti instalasi minimal
  • Tambahkan beberapa aplikasi eksklusif ke daftar instal default

Untuk memberikan daftar paket yang ingin Anda instal, Anda mungkin ingin mencari baris berikut:

  tasksel tasksel/first   multiselect ubuntu-desktop

Di mana "ubuntu-desktop" dapat diubah untuk sejumlah paket atau paket meta yang berubah-ubah.

  • Secara otomatis menginstal dan me-mount driver berpemilik pada sesi install dan live

Lain yang menentukan paket yang dibutuhkan (untuk driver berpemilik), saya tidak yakin bagaimana ini akan tercapai. Sebagai catatan tambahan, Anda "me-mount" sebuah partisi, Anda "memuat" modul / driver kernel.

  • Edit file konfigurasi default untuk aplikasi yang diinstal secara default

Untuk membuat perubahan skrip semacam itu, Anda mungkin ingin melihat:

  d-i preseed/late_command string ...

Di mana "..." dapat diganti dengan perintah sewenang-wenang seperti sed -i misalnya.

  • Tentukan partisi bersama dengan izin

Ada bagian partisi dalam contoh yang disebutkan di atas.

Ubiquity dengan preseed

Casper mendukung preseed dan ubiquity dapat memiliki banyak nilai preseeded. Berikut adalah beberapa variabel yang dapat dipreparasi relevan dengan mana-mana:

ubiquity countrychooser/shortlist select US
ubiquity languagechooser/language-name select English
ubiquity localechooser/supported-locales multiselect en_US.UTF-8
ubiquity ubiquity/summary note
ubiquity ubiquity/reboot boolean true
ubiquity ubiquity/poweroff boolean true
ubiquity ubiquity/success_command string ...

Di mana "..." akan berisi sama dengan perintah late_command disebutkan di atas, success_command dibaca oleh ubiquity dan late_command oleh di.

komputes
sumber
Apakah tidak ada cara untuk mengubah file konfigurasi sebelumnya? Bagaimana saya mencegah instalasi paket yang direkomendasikan? Bagaimana cara menambahkan paket eksklusif untuk instalasi offline?
Oxwivi
Kedengarannya Anda ingin membuat gambar khusus, seperti dijelaskan di sini: help.ubuntu.com/community/LiveCDCustomization Gambar juga dapat berisi file preseed di mana Anda dapat mengubah file konfigurasi seperti yang dijelaskan sebelumnya. Pendekatan lain adalah Anda juga dapat membuat paket sendiri untuk beberapa penyesuaian.
komputes
Oke, lupakan mengubah konfigurasi, apakah saya perlu mengubah instruksi CD untuk memasukkan paket yang tidak ada dalam disk secara default?
Oxwivi
Saya memasang gambar, menyalin konten ke direktori, memodifikasi parameter Ubiquity. Bagaimana cara menyelesaikannya?
Oxwivi
Untuk menyelesaikan / membuat citra ISO, ikuti obrolan berjudul "Memproduksi gambar CD" di sini: help.ubuntu.com/community/LiveCDCustomization
komputes
3

Berikut ini membuat image boot yang dimodifikasi. Bakar ke CD, atau masukkan ISO ke dalam VM untuk mengujinya. Kamu akan membutuhkancpio dan genisoimage(itulah nama paket dan executable).

Berikut ini dalam bentuk Makefile, tetapi dapat dimasukkan secara interaktif. ${IN_ISO}mengacu pada gambar ISO asli (saya menggunakan -alternativeversi, dan saya sarankan Anda melakukan hal yang sama),${OUT_ISO} ke nama ISO yang diinginkan.

# Extract the ISO image to mount/ and copy it to cdroot/
cdroot:
    mkdir -p mount
    sudo mount -o loop ${IN_ISO} mount
    mkdir cdroot
    cd cdroot && tar cf - ../mount --transform 's,^mount/,,' | tar xf -
    sudo umount mount && rm -r mount
    chmod -R a+rw cdroot

# Copy new files to the disk. Content of those files is posted below
prepare: cdroot
    cp isolinux.cfg cdroot/isolinux/isolinux.cfg
    test -e ./initrd.orig.gz || cp cdroot/install/initrd.gz ./initrd.orig.gz
    mkdir -p initrd
    cd initrd && gunzip <../initrd.orig.gz | sudo cpio -i && cd ..
    cp preseed.cfg initrd/preseed.cfg
    cd initrd && find . | cpio -o --format=newc | gzip -9 > ../cdroot/install/initrd.gz && cd ..
    sudo rm -rf initrd

# Create the ISO image. Make sure to use extensions for lower-case filenames    
iso: cdroot prepare
    genisoimage -o ${OUT_ISO} \
        -force-rr -J \
        -b isolinux/isolinux.bin -c isolinux/boot.cat \
        -no-emul-boot -boot-load-size 4 -boot-info-table \
        cdroot

Anda memerlukan beberapa file tambahan:

isolinux.cfgmengkonfigurasi boot loader. Anda ingin hanya boot, dan secara otomatis melalui proses instalasi. Seharusnya terlihat seperti ini:

default install
label install
  menu label ^Install my custom Ubuntu
  kernel /install/vmlinuz
  append auto initrd=/install/initrd.gz --
# Leave 2 seconds to abort or debug
prompt 1
timeout 20

Itu semua persiapan yang kita butuhkan sebelum benar-benar mengkonfigurasi instalasi. Unduh contoh preseed dan beri nama preseed.cfg. Telusuri dan edit apa pun yang Anda inginkan. Opsi penting adalah:

# Locale
d-i debian-installer/locale string en_US
d-i time/zone string US/Eastern

# Partitioning. The following settings WILL OVERWRITE ANYTHING
# Don't insert the CD into your boss' computer ...
d-i partman-auto/method string regular
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

# To create a normal user account.
d-i passwd/user-fullname string Ubuntu User
d-i passwd/username string ubuntu
d-i passwd/user-password password insecure
d-i passwd/user-password-again password insecure
d-i user-setup/allow-password-weak boolean true

# Package selection. Don't include ubuntu-desktop to significantly reduce the content
tasksel tasksel/first multiselect standard

#d-i preseed/early_command string driver installation commands (stuff needed to boot)
#d-i preseed/late_command string driver installation commands, custom software, etc.

Tetapi saya sarankan Anda tidak menggunakan contoh di atas, tetapi unduh contoh Ubuntu dan konfigurasikan dengan kebutuhan late_commandAnda, Anda dapat melakukan apa saja dari shell, termasuk mengunduh dan menjalankan skrip yang menginstal dan mengkonfigurasi perangkat lunak khusus Anda. Misalnya, gunakan ini sebagai late_command:

d-i preseed/late_command string in-target sh -c 'wget https://example.com/my/install.sh && sh install.sh'

Atau, Anda dapat menempatkan install.shinitrd di atas dan menjalankannya secara langsung. Kontennya bisa seperti ini:

#!/bin/sh
aptitude install -y x11-apps any-package-you-want-installed
wget http://proprietary.com/drivers/for/ubuntu.tar.gz -O- | tar xf - && sh drivers/instal.sh

Ini benar-benar tergantung pada cara kerja rutin instalasi driver milik Anda.

phihag
sumber
Seperti yang saya katakan dalam pertanyaan, saya ingin panduan tentang bagaimana tepatnya tugas yang saya daftarkan; bagaimana cara menulis ulang paket yang akan diinstal? Bagaimana dengan pemasangan otomatis driver berpemilik?
Oxwivi
@Oxwivi Tulis skrip yang memasang semua yang Anda inginkan, dan unduh serta jalankan bersama late_command. Package selectionadalah bagian yang dapat Anda gunakan untuk menginstal paket Anda sendiri, tetapi Anda juga dapat melakukannya dalam skrip.
phihag
1
@Oxwivi Anda dapat menginstal joki dan kemudian menghapusnya dengan aptitude purge jockeyskrip. Saya tidak yakin apa yang Anda maksud dengan "cara umum untuk menginstal segala jenis driver berpemilik". Ini adalah cara umum untuk menginstal driver terbatas, cukup masukkan paket driver yang Anda instal ke tasksel atau setelah aptitude install -ydalam skrip, dan itu akan berfungsi. Jika Anda ingin gambar Anda berfungsi pada banyak mesin, Anda mungkin harus menemukan cara untuk meminta joki semua driver berpemilik yang berlaku. ...
phihag
1
@ Ocwivi ... Namun, menginstal semua driver berpemilik yang tersedia pada umumnya adalah ide yang buruk: driver berpemilik biasanya sudah tua, tidak didukung dan memerlukan konfigurasi non-standar tambahan. Selain itu, Anda harus memastikan bahwa Anda diizinkan secara hukum untuk mendistribusikan driver yang tidak gratis.
phihag
1
@Oxwivi Kepercayaan itu tidak berdasar, mengingat bahwa siapa pun dapat meletakkan apa pun di repositori yang tidak bebas. Namun, diskusi ini jauh dari ruang lingkup untuk pertanyaan ini (tentang preseeding). Anda harus bertanya bagaimana cara mendapatkan daftar driver berpemilik yang berlaku untuk sistem saat ini.
phihag