CentOS'ta özel bir ISO görüntüsü nasıl oluşturulur


20

Uygulamamın bazı yazılı RPM'leri ile birlikte gerekli minimum RPMS'yi yükleyecek özel bir ISO görüntüsü oluşturmaya çalışıyorum. Ayrıca Uygulamamı ve VPN yapılandırmamı yapılandırma gibi bazı yükleme sonrası adımları gerçekleştirmek istiyor.

Google'daki bazı bağlantıları gördüm, ancak monte edilmiş disk veya ISO görüntüsünden repo ve ISO oluşturmayı işaret ediyorlar.

Teşekkürler Ramesh


ayrıca bu iş için redhat kickstart'ı daha kolay ve daha esnek bir seçim de kullanabilirsiniz Daha fazla bilgi burada access.redhat.com/documentation/tr-TR/Red_Hat_Enterprise_Linux/…
fyarci

Yanıtlar:


46
  1. Kaynağınızı monte etmek için bir dizin oluşturun.

    mkdir /tmp/bootiso
    
  2. Değiştirdiğiniz kaynak ISO'yu döngüsel olarak monte edin. (Red Hat / CentOS'tan indirin.)

    mount -o loop /path/to/some.iso /tmp/bootiso
    
  3. Özelleştirilmiş medyanız için bir çalışma dizini oluşturun.

    mkdir /tmp/bootisoks
    
  4. Kaynak medyayı çalışma dizinine kopyalayın.

    cp -r /tmp/bootiso/* /tmp/bootisoks/
    
  5. Kaynak ISO'yu çıkarın ve dizini kaldırın.

    umount /tmp/bootiso && rmdir /tmp/bootiso
    
  6. Çalışma dizinindeki izinleri değiştirin.

    chmod -R u+w /tmp/bootisoks
    
  7. Paketler için değiştirilmiş Kickstart betiğinizi %postve çalışma dizinine kopyalayın .

    cp /path/to/someks.cfg /tmp/bootisoks/isolinux/ks.cfg
    
  8. Ek RPM'leri dizin yapısına kopyalayın ve meta verileri güncelleyin.

    cp /path/to/*.rpm /tmp/bootisoks/Packages/.
    cd /tmp/bootisoks/Packages && createrepo -dpo .. .
    
  9. Önyükleme seçeneklerine kickstart ekleyin.

    sed -i 's/append\ initrd\=initrd.img/append initrd=initrd.img\ ks\=cdrom:\/ks.cfg/' /tmp/bootisoks/isolinux/isolinux.cfg
    
  10. Yeni ISO dosyasını oluşturun.

    cd /tmp/bootisoks && \ 
    mkisofs -o /tmp/boot.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "CentOS 7 x86_64" -R -J -v -T isolinux/. .
    
  11. (İsteğe bağlı) ISO dosyasını önyüklenebilir bir USB anahtarına isohybridistiyorsanız kullanın dd.

    isohybrid /tmp/boot.iso
    
  12. MD5 kontrol toplamı ekleyin (ortamın test edilmesine izin vermek için).

    implantisomd5 /tmp/boot.iso
    

Kickstart betiğini oluşturmak için daha fazla yardıma ihtiyacınız varsa , resmi Red Hat belgelerinden başlamanız önerilir.


1
Öyleyse 4. adımı kaçırmanız veya indirmeniz mümkün mü?
Aaron Copley

3
@AaronCopley evet, muhtemelen haklısın. Bunu da buldum: bana yardımcı olan github.com/joyent/mi-centos-7 .
sivann

1
9. adımda son parametreyi vermeniz gerektiğine inanıyorum. (nokta) ile mevcut dizini belirtin. Garip varsayılan davranış, ancak bu olmadan, mkisofs yalnızca üst dizindeki dosyaları ve alt dizinleri ve ötesini içermeyen bir iso dosyası oluşturur.
hshib

2
Ayrıca adım 4 ile ilgili bir sorun vardı. "Cp" komutunun kullanımı ile gizli dosyaları .discinfo ve .treeinfo kopyalamaz. Bunlar olmadan, oluşturulan iso yükleme sırasında "CD / ROM bulunamadı" şikayetçi başarısız.
hshib

1
Sen tek komutla herşeyi kopyalayabilir - "cp -r / tmp / önyükleme ISO'sunu / / tmp / bootisoks /." (Bu biraz zor - tek nota sonra / tmp / önyükleme ISO'sunu /.)
hshib
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.