Ubuntu Yükleyiciyi özelleştirme ile ilgili ayrıntılar için kılavuz


9

Ön tohumlama ve özelleştirme için kılavuzları okumayı denedim , ancak hangi seçenekleri nasıl ve nerede değiştireceğimizi anlamadım. Sadece bu soruyu sorduğum pratik örnekler üzerinden rahatça öğrenebilirim.

Sadece birkaç özel görev yapmak için ön tohumlama ve özelleştirme çözümünü arıyorum:

  • En az yükleme ve --no-install-recommendsbayrağına benzer şekilde varsayılan olarak yüklenen paketleri tamamen yeniden yazın apt-get.
  • Varsayılan yükleme listesine birkaç tescilli uygulama ekleyin
  • Yükleme ve canlı oturumda özel sürücüleri otomatik olarak yükleme ve bağlama
  • Varsayılan olarak yüklenen uygulamalar için varsayılan yapılandırma dosyalarını düzenleme
  • Bölümleri izinle birlikte belirtme
  • Kurulum havuzundaki (CD / DVD / USB) paket havuzunu, tercihen apt-getve benzeri komut satırı araçlarını kullanarak değiştirin aptitude.

Herkes bana sadece yukarıdakileri yapmak için preseed seçeneğini nasıl yapılandıracağını söyleyebilir mi?

Not: Havuzda paketleri ekledikten / kaldırdıktan sonra GPG bölümünü anlamıyorum.

PS Üçüncü nokta özellikle önemlidir.


Açıkçası, "Ubuntu Installer" grafik (benzersiz) veya alternatif (debian-installer) yükleyiciyi ifade ediyor mu?
komputes

@komputes ya da yapacak.
Oxwivi

Yanıtlar:


6

Bir referans ön referans için, aşağıdaki örnek ön referansı içeren kurulum-i386 kılavuzuna başvurmak isteyebilirsiniz:

  /usr/share/doc/installation-guide-i386/example-preseed.txt.gz
  • En az yükleme gibi, varsayılan olarak yüklenen paketleri tamamen yeniden yazın
  • Varsayılan yükleme listesine birkaç tescilli uygulama ekleyin

Yüklemek istediğiniz paketlerin listesini sağlamak için aşağıdaki satırı aramak isteyebilirsiniz:

  tasksel tasksel/first   multiselect ubuntu-desktop

Burada "ubuntu-desktop" isteğe bağlı sayıda paket veya meta paket için değiştirilebilir.

  • Yükleme ve canlı oturumda özel sürücüleri otomatik olarak yükleme ve bağlama

Diğer (gerekli özel sürücüler için) paketleri belirterek, bunun nasıl başarılacağından emin değilim. Yan not olarak, bir bölümü "bağlarsınız", bir çekirdek modülünü / sürücüsünü "yüklersiniz".

  • Varsayılan olarak yüklenen uygulamalar için varsayılan yapılandırma dosyalarını düzenleme

Bu tür komut dosyası değişiklikleri yapmak için muhtemelen şunlara bakmak istersiniz:

  d-i preseed/late_command string ...

Burada "..." yerine sed -i gibi rastgele komutlar kullanılabilir.

  • Bölümleri izinle birlikte belirtme

Yukarıda belirtilen örnekte bir bölüm bölümü vardır.

Preseed ile Ubiquity

Casper ön tohumlamayı destekler ve her yerde birden fazla değer elde edilebilir. Yaygınlıkla ilişkili olarak öne çıkarılabilen değişkenlerden bazıları şunlardır:

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 ...

"...", yukarıda belirtilen geç_komut ile aynı olduğunda, başarı_komutu her yerde ve geç_komut tarafından di ile okunur.


Konfigürasyon dosyalarını önceden değiştirmenin bir yolu yok mu? Önerilen paketlerin kurulumunu nasıl önleyebilirim? Çevrimdışı kurulum için özel paketleri nasıl eklerim?
Oxwivi

Burada açıklandığı gibi özel bir görüntü oluşturmak istediğiniz gibi geliyor: help.ubuntu.com/community/LiveCDÖzelleştirme Görüntü, daha önce açıklandığı gibi yapılandırma dosyalarını değiştirebileceğiniz bir önayar dosyası da içerebilir. Başka bir yaklaşım, bazı özelleştirmeler için kendi paketlerinizi de oluşturabilmenizdir.
komputes

Tamam, yapılandırmayı değiştirmeyi unutun, varsayılan olarak diskte bulunmayan paketleri dahil etmek için özel CD talimatlarını kullanmam gerekir mi?
Oxwivi

Bir görüntü bağladım, içeriği bir dizine kopyaladım, Ubiquity parametrelerini değiştirdim. Nasıl sonuçlandırabilirim?
Oxwivi

Sonuçlandırmak için / burada "CD görüntüsünü üretmek" başlıklı gevezeliği izleyin ISO imaj yaratmak: help.ubuntu.com/community/LiveCDCustomization
komputes

3

Aşağıdakiler değiştirilmiş bir önyükleme görüntüsü oluşturur. CD'ye yazın veya test etmek için ISO'yu bir VM'ye yerleştirin. İhtiyacınız olacak cpiove genisoimage(bu paketlerin ve yürütülebilir dosyaların adları).

Aşağıdakiler Makefile biçimindedir, ancak etkileşimli olarak girilebilir. ${IN_ISO}Orijinal ISO görüntüsünü ifade eder ( -alternativesürümü kullandım ve aynı şeyi yapmanızı öneririm), ${OUT_ISO}istenen ISO adına.

# 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

Bazı ek dosyalara ihtiyacınız var:

isolinux.cfgönyükleyiciyi yapılandırır. Sadece önyükleme yapmasını ve yükleme işleminden otomatik olarak geçmesini istiyorsunuz. Şöyle görünmelidir:

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

Kurulumu gerçekten yapılandırmadan önce ihtiyacımız olan tüm hazırlıklar budur. Önsöz örneğini indirin ve preseed.cfg olarak adlandırın. Bunu gözden geçirin ve istediğinizi düzenleyin. Önemli seçenekler:

# 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.

Ancak yukarıdaki örneği örnek olarak kullanmamanızı öneririm, ancak Ubuntu'nun örneğini indirin ve ihtiyaçlarınıza göre late_commandyapılandırın, özel yazılımınızı yükleyen ve yapılandıran bir komut dosyasını indirmek ve yürütmek de dahil olmak üzere kabuktan herhangi bir şey yapabilirsiniz. Örneğin, bunu şu şekilde kullanın late_command:

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

Alternatif olarak, install.shyukarıdaki initrd içine yerleştirip doğrudan yürütebilirsiniz. İçeriği şöyle görünebilir:

#!/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

Gerçekten tescilli sürücü kurulum rutininizin nasıl çalıştığına bağlıdır.


Soruda söylediğim gibi, listelediğim görevlerin tam olarak nasıl olduğu konusunda rehberlik istiyorum; Kurulacak paketleri nasıl yeniden yazarım? Tescilli sürücülerin otomatik kurulumu hakkında ne dersiniz?
Aralık'ta Oxwivi

@Oxwivi İstediğiniz her şeyi yükleyen bir komut dosyası yazın ve indirip çalıştırın late_command. Package selectionkendi paketlerinizi yüklemek için kullanabileceğiniz bölümdür, ancak bunu komut dosyasında da yapabilirsiniz.
phihag

1
@Oxwivi Jokey kurabilir ve daha sonra aptitude purge jockeykomut dosyasında kaldırabilirsiniz . "Her türlü tescilli sürücüyü kurmak için genel bir yol" ile ne demek istediğinden emin değilim. Bu, kısıtlı sürücüleri yüklemek için genel bir yoldur , sadece yüklediğiniz sürücünün paketini görevlere veya aptitude install -ykomut dosyasına koyduğunuzda işe yarayacaktır. Resminizin birden fazla makinede çalışmasını istiyorsanız, muhtemelen tüm ilgili tescilli sürücüler için jokey istemenin bir yolunu bulmanız gerekecektir. ...
phihag

1
@Ocwivi ... Bununla birlikte, mevcut tüm tescilli sürücülerin yüklenmesi genellikle kötü bir fikirdir: Tescilli sürücüler genellikle eski, desteklenmez ve standart dışı ek yapılandırma gerektirir. Ayrıca, yasal olarak ücretsiz olmayan sürücüleri dağıtmanıza izin verildiğinden emin olmalısınız .
phihag

1
@Oxwivi Herkesin özgür olmayan depolara her şeyi koyabileceği göz önüne alındığında, bu güven temelsizdir. Ancak, bu tartışma bu sorunun kapsamı dışındadır (ön tohumlama hakkında). Mevcut sistem için geçerli tescilli sürücülerin bir listesini nasıl aldığını sormalısınız.
phihag
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.