Cara membuat gambar ISO khusus di CentOS

20

Saya mencoba membuat gambar ISO khusus yang akan menginstal RPMS minimal yang diperlukan bersama dengan beberapa RPM tertulis khusus dari aplikasi saya. dan Juga ingin melakukan beberapa langkah pemasangan pos seperti mengonfigurasi konfigurasi Aplikasi dan VPN saya dll.

Saya melihat beberapa tautan di google tetapi mereka menunjuk membuat repo dan ISO dari disk yang dipasang atau gambar ISO.

Terima kasih, Ramesh

Ramesh Kumar
sumber
Anda juga dapat menggunakan kickstart redhat untuk pekerjaan ini pilihan Informasi lebih lanjut lebih mudah dan lebih fleksibel di sini access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/...
fyarci

Jawaban:

46
  1. Buat direktori untuk memasang sumber Anda.

    mkdir /tmp/bootiso
    
  2. Loop mount sumber ISO yang Anda modifikasi. (Unduh dari Red Hat / CentOS.)

    mount -o loop /path/to/some.iso /tmp/bootiso
    
  3. Buat direktori yang berfungsi untuk media khusus Anda.

    mkdir /tmp/bootisoks
    
  4. Salin media sumber ke direktori kerja.

    cp -r /tmp/bootiso/* /tmp/bootisoks/
    
  5. Lepas pemasangan ISO sumber dan hapus direktori.

    umount /tmp/bootiso && rmdir /tmp/bootiso
    
  6. Ubah izin pada direktori kerja.

    chmod -R u+w /tmp/bootisoks
    
  7. Salin skrip Kickstart Anda yang telah dimodifikasi untuk paket dan %postke direktori kerja.

    cp /path/to/someks.cfg /tmp/bootisoks/isolinux/ks.cfg
    
  8. Salin semua RPM tambahan ke struktur direktori dan perbarui metadata.

    cp /path/to/*.rpm /tmp/bootisoks/Packages/.
    cd /tmp/bootisoks/Packages && createrepo -dpo .. .
    
  9. Tambahkan kickstart ke opsi boot.

    sed -i 's/append\ initrd\=initrd.img/append initrd=initrd.img\ ks\=cdrom:\/ks.cfg/' /tmp/bootisoks/isolinux/isolinux.cfg
    
  10. Buat file ISO baru.

    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. (Opsional) Gunakan isohybridjika Anda ingin ddfile ISO menjadi kunci USB yang dapat di-boot.

    isohybrid /tmp/boot.iso
    
  12. Tambahkan MD5 checksum (untuk memungkinkan pengujian media).

    implantisomd5 /tmp/boot.iso
    

Jika Anda memerlukan bantuan lebih lanjut untuk membuat skrip Kickstart , saya sarankan mulai dengan dokumentasi Red Hat resmi.

Aaron Copley
sumber
1
Mungkinkah Anda melewatkan atau merusak langkah 4?
Aaron Copley
3
@AaronCopley ya, Anda mungkin benar. Saya juga menemukan ini: github.com/joyent/mi-centos-7 yang membantu saya.
sivann
1
Pada langkah 9, saya yakin Anda harus memberikan parameter terakhir. (titik) untuk menunjukkan direktori saat ini. Perilaku default yang aneh tetapi tanpa itu, mkisofs membuat file iso yang hanya berisi file dari direktori teratas dan tidak ada subdirektori dan seterusnya.
hshib
2
Saya juga punya masalah dengan langkah 4. Dengan penggunaan perintah "cp" itu tidak menyalin file tersembunyi .discinfo dan .treeinfo. Tanpa itu, iso yang dibuat gagal selama instalasi dengan mengeluh bahwa "CD / ROM tidak ditemukan".
hshib
1
Anda dapat menyalin semuanya dengan perintah tunggal dengan - "cp -r / tmp / bootiso /. / Tmp / bootisoks /" (ini sedikit rumit - catatan tunggal. Setelah / tmp / bootiso /)
hshib