¿Cómo personalizar el Ubuntu Live CD?


205

Me gustaría personalizar Ubuntu live CD instalando algunos paquetes adicionales. He seguido esto, pero no parece funcionar. ¿Alguien puede proporcionar instrucciones claras?

Nota : No prefiero Remastersys, se apreciará la forma manual.

Personalización

Paquetes que quiero instalar:

  • Thunderbird
  • Samba
  • SSH

Cambios que necesito:

  • Eliminar el menú Juegos del menú Aplicación
  • Atajo de Firefox en el escritorio
  • Radiance como el tema predeterminado
  • Fondo de pantalla predeterminado de Ubuntu diferente

Cambios en el archivo de configuración

  • Quiero que el panel se coloque en la parte inferior
  • Quiero pegar mi archivo de configuración de Samba en lugar de la configuración predeterminada de Samba
  • Tengo algunos accesos directos y carpetas de Firefox que me gustaría mostrar en Desktop
  • También será bueno que me digas cómo cambiar los conjuntos de iconos

Actualizaciones recientes

  • He personalizado Ubuntu 10.10 con accesos directos de Firefox y algunas carpetas en los escritorios. Todo salió bien. Pero el instalador se bloquea después de elegir la zona horaria. ¿Cómo soluciono este problema?

  • La configuración del fondo de pantalla también afecta la pantalla de inicio de sesión. El fondo de pantalla que configuré también se muestra en la pantalla de inicio de sesión. Solo quiero el predeterminado para la pantalla de inicio de sesión.


¿Quieres actualizaciones para 12.04 con Unity o prefieres Gnome-Shell / Classic?
ish

2
Respuesta agregada, método en general más fácil usando Ubuntu Builder :) Por favor, hágame saber cualquier comentario, etc. en los comentarios.
ish

1
@mniess "¿Cómo remasterizarías 14.04 o más reciente?" la versión manual publicada por izx y yo todavía es válida para configurar el sistema raíz para su edición. La nueva respuesta depende en gran medida de saber a qué te refieres con "cambios recientes dados". Cada cambio tendrá un enfoque específico (editar dconf o editar un archivo conf) y todo eso ya está cubierto en las respuestas actuales. Lo único que no es es "copiar / pegar"; Estos nuevos cambios requieren que alguien piense más allá de lo que está escrito. PERO creo que la respuesta también requiere esto.
Rinzwind

1
2do: askubuntu.com/questions/409607/… es una versión más nueva que utiliza un servidor ISO y un archivo kickstart. Funciona también para ISO de escritorio.
Rinzwind

Nota para las personalizaciones de los programas de temas, etc., lo más probable es que deba hacerse en los respectivos paquetes , no en los archivos instalados. Luego, establecer un número de versión más reciente significará que sus cambios no deberían sobrescribirse con las actualizaciones (aunque es probable que desee / necesite actualizar estos paquetes de vez en cuando para adaptarse a las versiones más nuevas)
Wilf

Respuestas:


116

Nota: El proyecto Ubuntu Builder ha sido descontinuado .

Crear un CD 12.04 personalizado con Gnome-Classic usando Ubuntu-Builder

(por ahora, esto es específico para las necesidades de Karthik; actualizaré la respuesta más tarde con cosas más generales / específicas de Unity)

1. Obtenga Ubuntu Builder y su fuente ISO

Ubuntu Builder automatiza muchos de los pasos preliminares que tuvieron que hacerse a mano (montar ISO, extraer squashfs, crear chroot, etc.) También le proporciona Synaptic y un chroot "gráfico" (Unity UI).

Agregue el PPA para instalar Ubuntu Builder:

sudo add-apt-repository ppa:kamilion/ubuntu-builder
sudo apt-get update
sudo apt-get install ubuntu-builder

Descargue también el ISO de escritorio de Ubuntu con el que planea trabajar.

2. Conceptos básicos de Ubuntu Builder

  • Inicie Ubuntu Builder desde el Iniciador. Le recomiendo que configure los tres campos en "Ubuntu" (como el LiveCD real), ya que la configuración de campos personalizados condujo al bloqueo del Centro de software. Cuando instale, puede elegir su propio nombre de usuario, nombre de máquina, etc., como siempre.

    ingrese la descripción de la imagen aquí

  • Cargue su ISO; Cargué el disco de 64 bits con la opción Disco local , aunque Ubuntu Builder debería poder descargar el ISO si así lo desea.

  • Los botones de la derecha se explican por sí mismos. Consolete da un chroot CLI, mientras Desktopque te da uno gráfico! , es decir, una sesión de LiveCD en sí (esta puede tardar un tiempo en cargarse). Tenga en cuenta que a Select DE/WMveces hace un trabajo incompleto, por lo que es mejor instalarlo mediante apt-get / Synaptic.

3. Actualización, agregando Gnome Classic y otra administración de paquetes

Nota: Todo esto también se puede hacer desde Synaptic si se siente más cómodo con eso.

  • Puede editarlo sources.listcon el botón (o mediante la consola) para agregar sus propios espejos, ppas, etc.

Empecemos con:

  • Eliminar los juegos
    apt-get remove --purge aisleriot gnome-games-data gnomine mahjongg -y
  • Realice una actualización general y actualice a las últimas novedades (opcional, pero recomendado ya que Gnome-classic y otros paquetes que agregue serán las últimas versiones). En 12.04, este paso también instala Thunderbird y los componentes centrales de Samba. También ahorrará tiempo en la instalación real.
    apt-get update && apt-get dist-upgrade
  • Instale Gnome Classic ( gnome-shellpara extraer indicadores, etc.), Samba y SSH:
    apt-get install gnome-shell samba ssh

4. Personalización 1: archivos, configuraciones y eliminación del panel superior

Nota: Todos los comandos deben ejecutarse desde la consola chrooteada de Ubuntu Builder a menos que se indique lo contrario (generalmente al copiar archivos de su propio sistema). El camino absoluto del chroot es/home/ubuntu-builder/FileSystem

  1. Reemplace el archivo de configuración de Samba (desde su propio terminal del sistema, es decir, fuera de chroot)

    sudo cp /path/to/mysmb.conf /home/ubuntu-builder/FileSystem/etc/samba/smb.conf
  2. Pon el acceso directo de Firefox en el escritorio:

    mkdir -p / etc / skel / Desktop && cd / etc / skel / Desktop
    cp /usr/share/applications/firefox.desktop.
    chmod + x firefox.desktop
    
  3. Copie accesos directos y carpetas personalizados al escritorio (desde fuera de chroot)

    sudo cp -r / path / to / mydesktopitems / / home / ubuntu-builder / FileSystem / etc / skel / Desktop /
  4. Establecer gnome-classiccomo el shell predeterminado:

    / usr / lib / lightdm / lightdm-set-defaults -s gnome-classic
  5. Retire el panel superior de Gnome-Classic y mueva los elementos superiores al panel inferior:

    • Abra el diseño del panel predeterminado:
      nano /usr/share/gnome-panel/panel-default-layout.layout
    • Elimine el panel superior, eliminando las líneas 1-4:
      [Panel superior de Toplevel]
      expandir = verdadero
      orientación = arriba
      tamaño = 24
      
    • Mueva el menú Inicio hacia la parte inferior izquierda modificando el valor en negrita para el parámetro en cursiva como se muestra a continuación:
      [Barra de menú de objetos]
      object-iid = PanelInternalFactory :: MenuBar
      toplevel-id = panel inferior
      índice-paquete = 0
      
    • Mueva los indicadores hacia la parte inferior derecha, justo a la izquierda del conmutador de espacio de trabajo, modificando el valor en negrita para los parámetros en cursiva como se muestra a continuación:

      [Indicadores de objeto]
      object-iid = IndicatorAppletCompleteFactory :: IndicatorAppletComplete
      toplevel-id = panel inferior
      tipo de paquete = fin
      índice-paquete = 1
      
    • Retire el botón "Mostrar escritorio" de la parte inferior izquierda; Prefiero que el menú Inicio sea lo primero, puedes dejarlo o moverlo a la parte inferior derecha, etc. Elimina estas líneas:

      [Objeto show-desktop]
      object-iid = WnckletFactory :: ShowDesktopApplet
      toplevel-id = panel inferior
      índice-paquete = 0
      
    • Guardar y Salir.

5. Personalización 2: fondos y temas

Nota: /usr/share/glib-2.0/schemascontiene la mayoría de las configuraciones predeterminadas de fondo / tema; Me resultó más fácil modificar directamente aquellos para un LiveCD en lugar de tener que lidiar con cosas complicadas solo para, por ejemplo, evitar que el fondo de la pantalla de inicio de sesión sea el mismo que el fondo del escritorio.

  1. Inhabilite la pantalla de inicio de sesión (lightdm) para "copiar" el fondo del escritorio y otros cambios:

    • Abierto nano /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
    • Puede cambiar el fondo de inicio de sesión predeterminado aquí si desea:
      <key name = " background " type = "s">
      <default> '/usr/share/backgrounds/warty-final-ubuntu.png' </default>
      
    • Deshabilite "copiar" el fondo del escritorio estableciendo esto en false:
      <key name = " draw-user-background " type = "b">
      <default> false </default>
      
    • Establezca el tema de inicio de sesión en Radiance:
        <key name = " theme-name " type = "s">
      <default> 'Radiance' </default>
      
  2. Cambiar el fondo de pantalla predeterminado; aquí, lo configuraremos al "Tie My Boat" incluido ( /usr/share/backgrounds/Tie_My_Boat_by_Ray_García.jpg):

    • Abra nano /usr/share/glib-2.0/schemas/10_gsettings-desktop-schemas.gschema.overridey cambie la línea siguiente a la ruta de su archivo:
    picture-uri = 'archivo: ///usr/share/backgrounds/warty-final-ubuntu.png'
    
  3. Cambia el tema a Radiance

    • Abra el archivo de anulación del tema de Ubuntu `` nano / usr / share / glib-2.0 / schemas / ubuntu-artwork.gschema.override`, y cambie el Ambiance a continuación a Radiance :
      [org.gnome.desktop.interface]
      gtk-theme = " Ambiente "
      ...
      [org.gnome.desktop.wm.preferences]
      tema = " Ambiente "
      
  4. Importante: compile los esquemas modificados!

    • Ahora que hemos terminado de personalizar, compile los esquemas modificados con:
      glib-compile-schemas /usr/share/glib-2.0/schemas 

6. ¡Construye, prueba e instala!

  • Presione el Buildbotón en Ubuntu Builder para comenzar a construir el ISO de Live-CD personalizado. UB maneja automáticamente la limpieza, etc., que anteriormente tenía que hacerse manualmente.

    ingrese la descripción de la imagen aquí

  • El ISO se puede encontrar en /home/ubuntu-builder; puede probarlo utilizando la QEMU incorporada o en otra máquina virtual.

  • El tamaño de mi CD final fue de 778 MB (después de eliminar el .23núcleo antiguo ), con Unity y Gnome 3D aún disponibles si el usuario lo desea, ¡así que es bastante bueno para una personalización! :)

Lo siguiente debería resultar:

  1. Después del arranque, obtienes la opción "Probar Ubuntu" o "Instalar Ubuntu":

    ingrese la descripción de la imagen aquí

  2. ¡Hacer clic en "Probar" nos proporciona nuestro escritorio personalizado!

    ingrese la descripción de la imagen aquí

  3. Y cerrar sesión (iniciar sesión con ubuntucontraseña en blanco) muestra que el fondo de pantalla de inicio de sesión se mantiene en el valor predeterminado:

    ingrese la descripción de la imagen aquí

  4. El instalador no falla al seleccionar la zona horaria:

    ingrese la descripción de la imagen aquí

  5. Seleccione nombre de usuario, etc. para instalar:

    ingrese la descripción de la imagen aquí

  6. Pantalla de inicio de sesión instalada:

    ingrese la descripción de la imagen aquí

  7. Escritorio instalado:

    ingrese la descripción de la imagen aquí


1
¿Cómo actualizar / instalar un paquete que requiere reiniciar el sistema (por ejemplo, kernel o dbus)? Cuando intento actualizarlo se instala; pero en modo gui, el indicador de sesión se vuelve rojo y dice restart to complete the update.
Khurshid Alam

¿Cómo reemplazo las ilustraciones de Ubuntu con mis propias ilustraciones?
Roshan George

Este no funciona. No se porque. No estoy seguro de si esto me pasa solo. Cuando lo ejecuto dentro de una caja virtual, muestra una ventana emergente que dice "/casper/vmlinuz.efi: archivo no encontrado". ¿Cómo corregir esto? s24.postimg.org/jbez8svx1/Untitled.png
Roshan George

@izx ¿Puede decirme cómo configurar el directorio de trabajo para ubuntu-builder? Está creando un directorio en / home / ubuntu-builder. Lo ejecuto con acceso root.
shantanu

55
Este proyecto está descontinuado. El PPA no funciona y el sitio web no tiene enlaces de descarga. Sugiero agregar esta información al comienzo de su respuesta para ayudar a otros que lleguen aquí sin perder su tiempo.
Sopalajo de Arrierez

115

Creación de su propio Live CD personalizado: la forma manual.

1. Preparaciones

  • Primero descargue el Live CD ISO . Mientras se descarga, instale algún software necesario para la reconstrucción:sudo apt-get install squashfs-tools schroot

    Squashfs Instalar herramientas squashfs es un sistema de archivos comprimido de solo lectura para Linux.

    schroot Instalar schroot permite a los usuarios ejecutar comandos o shells interactivos en diferentes chroots.

  • Monte el CD en vivo:

    mkdir /tmp/livecd
    sudo mount -o loop ~/Downloads/ubuntu-11.04-desktop-i386.iso /tmp/livecd
    

    Si utiliza otro ISO u otra ubicación para su descarga, ajústelo en consecuencia.

  • Cree un área de trabajo y copie el contenido al área de trabajo:

    mkdir -p ~/livecd/cd
    rsync --exclude=/casper/filesystem.squashfs -a /tmp/livecd/ ~/livecd/cd
    mkdir ~/livecd/squashfs  ~/livecd/custom
    sudo modprobe squashfs
    sudo mount -t squashfs -o loop /tmp/livecd/casper/filesystem.squashfs ~/livecd/squashfs/
    sudo cp -a ~/livecd/squashfs/* ~/livecd/custom
    
  • Si obtiene un error como este al hacer modprobe:

    sudo modprobe squashfs 
    WARNING: Deprecated config file /etc/modprobe.conf, 
    all config files belong into /etc/modprobe.d/
    

    mueva el modprobe.conf mv /etc/modprobe.conf /etc/modprobe.conf.OLDe intente nuevamente!

  • Acceso a la red:

    sudo cp /etc/resolv.conf /etc/hosts ~/livecd/custom/etc/
    
  • Crea un pseudo sistema de archivos:

    sudo chroot ~/livecd/custom /bin/bash -l
    mount -t proc none /proc/
    mount -t sysfs none /sys/
    

2. Personalización

  • Puede obtener una lista de todos los paquetes con dpkg-query -W --showformat='${Package}\n' | less

  • Puedes eliminar juegos con apt-get remove --purge gnome-games

  • Actualiza tus fuentes con sudoedit /etc/apt/sources.list. Comente las líneas que no desea y descomente las que sí desea, agregue PPA si lo desea y luego debe actualizar conapt-get update && apt-get dist-upgrade

  • Agregar paquetes como thunderbird, Samba, configuración del sistema Samba y SSH se realiza de la misma manera que normalmente instalaría desde la línea de comandos. Entonces sudo apt-get install thunderbird samba system-config-samba sshagregaré esos.

  • Si ha descargado manualmente el paquete, puede instalarlo con sudo dpkg -i {file_name}.deb

    • Puede consultar los nombres del Centro de software de Ubuntu, Synaptic o el sitio web de paquetes si es necesario instalar más.
    • Puede considerar agregar utilidades de red (inalámbricas).
    • Rápidamente correrá más de 800 Mb; si lo hace, elimina más paquetes para obtener menos de 800 o necesita usar un DVD al grabar. Eliminar la oficina libre te liberará más de 33 Mb si no lo necesitas.
  • Para crear un acceso directo de AskUbuntu en el escritorio:

    mkdir -p /etc/skel/Desktop && printf '[Desktop Entry]\nVersion=1.0\nName=Ask Ubuntu\nComment=Ask Questions About Ubuntu\nGenericName=Question and Answers\nExec=xdg-open http://askubuntu.com\nTerminal=false\nX-MultipleArgs=false\nType=Application\nIcon=firefox\nCategories=Internet;\n' > /etc/skel/Desktop/askubuntu.desktop && chmod a+x /etc/skel/Desktop/askubuntu.desktop
    

    Puede agregar más de estos (omita la parte mkdir) editando la URL a otra cosa. Cortesía de dv3500ea

  • Cambiar la configuración dentro de gconf-editor.

    Puede cambiar cualquier opción de gconf si sabe cuál es la ruta de esa opción y el valor que desea que sea (y el tipo de valor, por supuesto).

    ingrese la descripción de la imagen aquí

    El cambio del fondo de pantalla se realiza con la ruta a la que apunté las flechas: /desktop/gnome/background/es un valor de cadena y se usa picture_filenamecomo una opción. El valor que tiene actualmente en mi escritorio es /discworld2/Downloads/fantasticwall_2.jpg. El fondo en sí debe copiarse /usr/share/backgrounds/. Asegúrese de establecer permisos y propietario.

    Ejemplos:

    • Para cambiar el fondo de pantalla (cambiar el nombre de archivo en el primer comando a su propia imagen) a esta imagen y cambiar el tema a Radiance, puede usar esta información para crear comandos para configurar esto para su CD en vivo:

      gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t string /desktop/gnome/background/picture_filename  /discworld2/Downloads/fantasticwall_2.jpg
      
      gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t string /desktop/gnome/interface/gtk_theme Radiance
      

      Cortesía de dv3500ea

    • Habilitar escritorio remoto:

      gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t bool /desktop/gnome/remote_access/enabled true
      

      La configuración de iconos, paneles, etc., se realiza agregando un comando como este.

    • Alternativamente, puede editar /etc/gconf/gconf.xml.defaults/%gconf-tree.xml(o cuando esté caído, guarde este archivo para uso futuro). Todos los ajustes de configuración realizados a través de gconftool-2 se almacenan en este archivo.

  • Cambiar la zona horaria predeterminada utilizada por el Live CD

    dpkg-reconfigure tzdata
    
  • Cambie la configuración regional a inglés (por supuesto cámbielo a lo que desee)

    locale-gen en
    update-locale LANG=en LANGUAGE=en LC_ALL=en
    
  • Configurar archivos de configuración.

    Si desea tener un archivo de configuración personalizado para un determinado paquete, puede hacerlo de varias maneras.

    La forma difícil (pero más lógica) sería encontrar el paquete, cambiar el archivo de configuración y volver a empaquetarlo o encontrar los archivos de origen, averiguar dónde almacenan su archivo de configuración ficticio y cambiarlo y luego reconstruir el paquete.

    • Por supuesto, esto solo funciona si el archivo de configuración predeterminado está incluido en el paquete fuente. Muchos paquetes generan automáticamente sus archivos de configuración en el script {packagename} .postinst, por lo que sería bastante difícil hacerlo.

      La forma más fácil sería crear un script y copiar su configuración actual para /etc/skelque se agreguen a su escritorio (similar a agregar accesos directos de Firefox como se explicó anteriormente) y después de instalar, haga clic en el enlace del escritorio para configurar el archivo de configuración en el lugar que necesita. ser. La secuencia de comandos podría copiar y eliminar tanto la secuencia de comandos como el archivo de configuración de su escritorio después de que se haya instalado correctamente. Este método se puede usar para actualizar la configuración de Samba (ingrese su configuración actual /etc/skel/. Coloque un script allí que tenga permisos de ejecución y contenga un movimiento de dicha configuración /etc/samba/smbd.confy todo lo que necesita hacer después es ejecutar el script).

    • Básicamente, esto siempre funciona, ya que reemplaza una acción manual posterior a la instalación con un script activado manualmente posterior a la instalación. Pero también significa que no es parte del CD en vivo personalizado.

3. Limpieza

apt-get clean
rm -rf /tmp/*
rm -f /etc/hosts /etc/resolv.conf
umount /proc/
umount /sys/
exit

Esto elimina todos los archivos temporales; No es lo que creamos. ~/livecd/es de solo lectura, por lo que lo normal rmno eliminará estos archivos. Necesita montarlo con acceso de escritura (o como usé el nuevo Live CD para arrancar y montar la casa y rmdesde allí.

4. Configuración de la ISO

  • Archivos de manifiesto.

    chmod +w ~/livecd/cd/casper/filesystem.manifest
    sudo chroot ~/livecd/custom dpkg-query -W --showformat='${Package} ${Version}\n' > ~/livecd/cd/casper/filesystem.manifest
    sudo cp ~/livecd/cd/casper/filesystem.manifest ~/livecd/cd/casper/filesystem.manifest-desktop
    
  • Regenerar archivo squashfs.

    sudo mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs
    
  • Actualiza sumas md5.

    sudo rm ~/livecd/cd/md5sum.txt
    sudo bash -c 'cd ~/livecd/cd && find . -type f -exec md5sum {} +' > md5sum.txt
    

5. Crear la ISO.

cd ~/livecd/cd
sudo mkisofs -r -V "Ubuntu-Live" -b isolinux/isolinux.bin -c isolinux/boot.cat -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/Downloads/ubuntu-11.04-desktop-i386.iso .

6. Desmontar y limpiar

sudo umount ~/livecd/squashfs/
sudo umount /tmp/livecd
sudo rm -fr ~/livecd/

7. Comentarios:

  • Todo fue probado con un Ubuntu 11.04 Live CD. Lo único que salió mal fue el chrooting: agregué dchroot a los archivos que necesitas instalar para hacer esto.

  • Con respecto a "debería crear algunos accesos directos de Firefox en el escritorio", "Debería cambiar el tema predeterminado a resplandor" y "Debería cambiar el fondo de pantalla predeterminado de ubuntu". Los edité después de que dv3500ea lo pusiera en los comentarios; No probé esto mientras creé el 11.04 live cd.


¿ apt-get update && apt-get dist-upgradeTambién actualizará el kernel / initrd utilizado en el Live CD? Me refiero al kernel para el proceso de arranque del medio en vivo, cargado por Syslinux, no el que está instalado.
gertvdijk

apt-get dist-upgradefunciona sin fallas, a excepción de algunos warning: could not determine root device from /etc/fstabmensajes. ¿Se supone que se convierta en un problema?
Sopalajo de Arrierez

No. Pero para estar seguro, eche un vistazo al suyo y vea cómo está montado.
Rinzwind

1
De acuerdo con help.ubuntu.com en 12.04 y 14.04 /etc/resolv.conf, no se puede eliminar como parte de la limpieza
souravc

1
Este método aún funciona: probado con Kubuntu 18.04.2. nota: que solo pude hacer que el .ISO sea de arranque usando unetbootin (etcher no funcionó). No hay problemas de arranque al grabar .ISO en un DVD.
Nmath

23

Crear un CD en vivo desde una instalación existente / nueva

EDITAR: Este método ya no parece funcionar. Le sugiero que pruebe otros métodos sugeridos en este control de calidad.

Una buena manera sería hacer un CD en vivo desde una instalación actual. Esto se puede hacer usando una máquina virtual (simplemente no instale ninguna herramienta VM dentro del SO huésped)

Entonces, primero necesitamos una instalación nueva (si no puede instalarla de verdad, intente usar una máquina virtual) con solo lo que necesita (en su caso, Thunderbird, Samba y SSH). Luego ajustamos el sistema y registramos dónde están los ajustes (por ejemplo, si cambia el fondo de su escritorio, la configuración está en ~ / .gconf o agrega accesos directos de Firefox, están ubicados en ~ / Escritorio). Esto es necesario para el paso 4.

  1. Configure algunas variables:

    export WORK=~/temp
    export CD=~/livecd
    export FORMAT=squashfs
    export FS_DIR=casper
    

    Reemplace ~ / temp con una ruta a un directorio temporal en el que trabajaremos. Reemplace ~ / livecd con una ruta al árbol de CD.

  2. Haz la estructura de la carpeta. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs

  3. Ahora necesitaremos instalar algunos paquetes:

    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Ahora copiaremos la instalación actual, modificaremos los indicadores de exclusión para que se ajusten a sus necesidades:

    sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \
    --exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \
    --exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \
    --exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \
    --exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \
    --exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \
    --exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \
    / ${WORK}/rootfs
    

    Si tiene una partición de arranque separada, ejecute esto: sudo cp -av /boot/* ${WORK}/rootfs/boot
    en su caso, desea copiar la configuración y algunos archivos del directorio de inicio. Primero, defina qué directorios queremos copiar: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' Y ahora copiamos eso:

    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Ahora ingresamos al nuevo sistema y lo modificamos.

    sudo mount  --bind /dev/ ${WORK}/rootfs/dev
    sudo mount -t proc proc ${WORK}/rootfs/proc
    sudo mount -t sysfs sysfs ${WORK}/rootfs/sys
    sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts
    sudo chroot ${WORK}/rootfs /bin/bash
    

    Los siguientes comandos se realizan en chroot:

    LANG=
    apt-get update
    apt-get install casper
    

    Casper contiene scripts en vivo. Si también quieres un instalador, ejecuta esto:

    apt-get install ubiquity ubiquity-frontend-gtk
    

    O si quieres KDE:

    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Actualizar modules.dep e initramfs:

    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Elimine usuarios que no son del sistema: no se preocupe, hemos copiado la configuración y los datos en el "esqueleto" de los usuarios. Eso significa que todos los nuevos usuarios los tendrán.

    for i in `cat /etc/passwd | awk -F":" '{print $1}'`
    do
        uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'`
        [ "$uid" -gt "999" -a  "$uid" -ne "65534"  ] && userdel --force ${i} 2>/dev/null
    done
    
  8. Limpiar:

    apt-get clean
    find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \;
    find /var/log -type f | while read file
    do
        cat /dev/null | tee $file
    done
    rm /etc/resolv.conf /etc/hostname
    
  9. Salir de chroot. exit

  10. Ahora copiamos el núcleo:

    export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'`
    sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz
    sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img
    sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot
    
  11. Si ha instalado el instalador, deberá hacerlo para que el instalador no instale elementos como casper:

    sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest
    sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop}
    REMOVE='ubiquity casper user-setup os-prober libdebian-installer4'
    for i in $REMOVE 
    do
        sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop
    done        
    
  12. Desmonta lo que hemos montado:

    sudo umount ${WORK}/rootfs/proc
    sudo umount ${WORK}/rootfs/sys
    sudo umount ${WORK}/rootfs/dev/pts
    sudo umount ${WORK}/rootfs/dev
    
  13. Convierte a squashfs:

    sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
    
  14. Hacer filesystem.size: echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size

  15. Y md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt

  16. Ahora grub.cfg:

    sudo nano ${CD}/boot/grub/grub.cfg
    

    (reemplace nano con su editor de texto favorito, no importa) Pegue esto y guarde:

    set default="0"
    set timeout=10
    
    menuentry "Ubuntu GUI" {
    linux /boot/vmlinuz boot=casper quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu in safe mode" {
    linux /boot/vmlinuz boot=casper xforcevesa quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu CLI" {
    linux /boot/vmlinuz boot=casper textonly quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI persistent mode" {
    linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI from RAM" {
    linux /boot/vmlinuz boot=casper nopersistent toram quiet splash
    initrd /boot/initrd.img
    }
    
    menuentry "Check Disk for Defects" {
    linux /boot/vmlinuz boot=casper integrity-check quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Memory Test" {
    linux16 /boot/memtest86+.bin
    }
    
    
    menuentry "Boot from the first hard disk" {
    set root=(hd0)
    chainloader +1
    }
    
  17. Si lo desea, puede agregar una entrada de menú adicional, que le permite saltar directamente a Ubiquity.

    menuentry "Install Ubuntu" {
    linux /boot/vmlinuz boot=casper only-ubiquity quiet splash
    initrd /boot/initrd.img
    }
    
  18. ¡Haz el CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD}

  19. ¡Pruébalo con una máquina virtual!

Todo el crédito va a capink, porque la guía es de aquí .


Tengo una pregunta sobre grub.cfg. ¿Se utiliza este archivo grub.cfg durante la instalación o también es persistente para el sistema instalado? ¿Qué pasa si no edito el grub.cfg?
Roshan George

@RoshanGeorge Esto configura GRUB en el CD. No debería persistir después de la instalación.
nickguletskii

¿Podemos tener la instalación como es normalmente para Ubuntu, es decir, mostrar el instalador ubicuo, en lugar de mostrar grub? Significa que, en la instalación de Ubuntu, cuando insertamos y ejecutamos el cd, aparece la ubicuidad en lugar del menú de grub, ¿podemos hacer eso?
Roshan George

@RoshanGeorge Debería ser posible agregando una entrada de menú con linux /boot/vmlinuz boot=casper only-ubiquity quiet splash. Lo probaré y verificaré.
nickguletskii

@RoshanGeorge He agregado con éxito una opción para iniciar Ubiquity desde el menú de inicio. Sin embargo, necesito arreglar la guía, faltan algunos pasos ubicuos. Intentaré arreglarlo mañana.
nickguletskii

15

Puede usar ucko live-magicpara personalizar su Live CD.

uckestá disponible en las fuentes de software oficiales de Ubuntu, en todas las versiones de Ubuntu desde 10.04 LTS Lucid Lynx. Puede instalar uckdesde el Centro de software, apt-geten la línea de comandos, o haciendo clic aquí Instalar uck .


1
parece que UCK ha sido descontinuado :(
amc

Ubuntu Builder fue descontinuado en 2014; El Kit de personalización de Ubuntu se instala pero no funciona y se suspendió en 2015; System Imager fue descontinuado en 2016. Esta respuesta realmente necesita ser actualizada. ¿Existe un método oficialmente compatible en 2019?
allquixotic

@allquixotic uck está en el repositorio del universo 18.04. ¿Esta versión no funciona?
mchid

10

Kit de personalización de Ubuntu

Es una colección de scripts que facilitan la creación de un LiveCD personalizado a partir de una imagen .iso existente. Es muy similar a Remastersys, con la diferencia de que se mantiene activamente. Tiene una GUI para ayudar con la personalización, pero también se puede usar la línea de comandos para hacer lo mismo.

  1. Le pedirá que seleccione qué paquetes de idioma incluir en el CD.
  2. Luego, le pedirá que seleccione el archivo de imagen .iso, que se utilizará como base para el nuevo CD.
  3. Dé un nombre a la nueva imagen .iso que se creará.
  4. Luego, solicitará los paquetes que se agregarán / eliminarán a / del LiveCD. Le dará una opción entre la línea de comandos y la GUI predeterminada (Centro de software de Ubuntu). Nota: debe seleccionar la línea de comandos. Desde la línea de comandos, puede agregar / eliminar paquetes usando apt-get o usando Ubuntu Software Center (escriba software-center desde la línea de comandos). También puede modificar los ajustes de configuración para todo el software / aplicaciones.
  5. Una vez que haya terminado (puede llevar algún tiempo descargar los paquetes necesarios), continúe.
  6. Ahora, solo siéntate y relájate. Después de un tiempo, su LiveCD personalizado estará listo.

2
parece que el proyecto UCK ha sido descontinuado :(
amc

5

Si necesita más control sobre exactamente qué cambios se realizan, es posible realizar la modificación manualmente.

El proceso consiste en desempaquetar el archivo de datos SquashFS que contiene el sistema de archivos raíz del sistema operativo en vivo , hacer un chroot en el sistema de archivos extraído, realizar sus modificaciones, salir del chroot, volver a empacar el archivo SquashFS y luego regenerar la imagen ISO.

Los detalles completos se describen en la página LiveCDCustomization de la wiki de Ubuntu.


5

En el Centro de software de Ubuntu

Editar> Fuentes de software> Otro software> Agregar ..

Pegue la siguiente línea en el cuadro y haga clic en Agregar fuente.

deb http://www.geekconnection.org/remastersys/repository karmic

Vuelva a cargar las fuentes e instale Remastersys desde el Centro de software.

Una vez hecho esto, instale todos los códecs y aplicaciones multimedia que desee en su ubuntu personalizado. Iniciar remastersys desde

Sistema> Administración> Remastersys

Elija el modo dist , haga clic en Aceptar y espere a que finalice el proceso. Una vez hecho esto, encontrarás tu iso personalizado en

/home/remastersys/remastersys/custom.iso


He seguido exactamente los mismos procedimientos que describiste aquí, pero desafortunadamente durante el arranque muestra "no se pudo encontrar la imagen del disco RAM: / ubninit" y se actualizó una y otra vez con un intervalo de 10 segundos. Resultado: no puedo arrancar mi ISO personalizado. ¿Podrías decirme cómo puedo resolver esto? Por favor.
tuxtu

3

Remastersys podría ser la respuesta a sus necesidades. Debe ir a http://www.remastersys.com/ubuntu.html y seguir las instrucciones. Este programa hace una iso de su sistema operativo en ejecución, incluidas todas las configuraciones y aplicaciones. Entonces puedes grabar un CD usando esta iso. Desafortunadamente, hubo un problema en el pasado para que funcionara como un Live CD, mientras que la instalación no fue un problema (no sé si esto sigue siendo un problema).


1
o UCK que usa GUI y es menos difícil
Uri Herrera

Remastersys está muerto. Ahora este sitio es propiedad de un okupador de dominio.
allquixotic

1

No hay una "GUI" que conozca fuera de Lucid, sin embargo, gNewsense , que es una bifurcación de Ubuntu, hace que sus scripts tomen una versión de Ubuntu y hagan que una bifurcación personalizada esté disponible de forma gratuita y bastante bien documentada.

Es básicamente un proceso de:

  1. Colocando su obra de arte personalizada donde los guiones puedan encontrarla
  2. Decidir qué quiere en su núcleo (o qué no quiere)
  3. Decidir qué paquetes quieres (o qué no quieres)
  4. Ejecutar un script que refleje un repositorio apto
  5. Creación de la distribución CD / ISO.

Si bien no es exactamente "amigable para principiantes", sus herramientas son relativamente fáciles de usar.


1

He jugado con un nuevo servicio basado en la web llamado Reconstructor . Según su sitio web,

Reconstructor es un juego de herramientas para crear versiones personalizadas del sistema operativo GNU / Linux, específicamente Debian y Ubuntu.

Según un artículo de Linux Journal sobre Reconstructor , cobran pequeñas tarifas por personalizaciones. Si vale la pena depende de sus necesidades.


¡el enlace está muerto y el dominio redirige a un sitio potencialmente malicioso!
amc

1

Te aconsejo que pruebes Reconstructor

"Reconstructor es un creador de CD de Ubuntu GNU / Linux que le permite modificar una distribución de Ubuntu existente y guardarla como su propia distribución de Linux. Utiliza el disco Desktop (Live), Alternate (Install) o Server como base, y luego permite para la personalización del usuario. Básicamente, puede personalizar todo el entorno, como agregar / quitar software, cambiar el aspecto predeterminado (bienvenida, temas, fuentes, fondo de pantalla, etc.), agregar enlaces de escritorio, etc. "

También para obtener más información, debe leer estos enlaces: http://maketecheasier.com/reconstructor-creating-your-own-ubuntu-distribution/2008/07/05

http://maketecheasier.com/build-your-own-ubuntu-based-distro-with-novo-builder/2010/07/02

http://ubuntuforums.org/showthread.php?t=869659


Pero estas herramientas no me permitirán cambiar el nombre de mi distribución, solo me permitirán crear imágenes y agregar paquetes, o al menos eso es lo que sé.
user51447

El enlace del reconstructor está inactivo y el dominio redirige al sitio potencialmente malicioso
amc

1

También puede usar JLIVECD para personalizar una imagen ISO. Es una herramienta de línea de comandos para personalizar distribuciones basadas en Ubuntu y Ubuntu. Le da un control completo sobre las cosas que necesitan personalización, pero necesita saber qué debe hacerse, es decir, solo prepara el entorno chroot para usted (el resto depende de usted) y crea el ISO final. Puede seguir agregando nuevos cambios a los cambios existentes y seguir verificando los ISO integrados en ellos.


1

Puede usar Cubic : esta utilidad ha sido probada (por mí) y funciona en el host Ubuntu 18.04 con una imagen Ubuntu 18.04, que es más de lo que se puede decir de la mayoría de las otras herramientas que no funcionan o se suspenden.

Aquí hay una guía para usarlo desde el sitio web Linoxide .

Los pasos difíciles implican:

  • Asegúrese de estar utilizando una versión compatible de Ubuntu (probé 18.04; funciona)
  • Instale la clave GPG para el PPA cúbico
  • Agregue el PPA cúbico a sus fuentes
  • Instala la herramienta cúbica
  • Ejecútelo y siga las indicaciones de la GUI

Además, consulte esta respuesta askubuntu.com/a/741770/100356 para obtener instrucciones.
PJ Singh

0

Descargue http://sourceforge.net/projects/uck/files/uck/2.4.6/uck_2.4.6-0ubuntu1_all.deb/download, siga las instrucciones y, cuando solicite ejecutar el administrador de paquetes, una aplicación de consola o continuar empacando, seleccione Aplicación de consola.

Ahora puedes correr

nautilo

unidad-2d-launcher

unidad-2d-panel

y hazlo todo.

Si esto no funciona, primero intente ejecutar el administrador de paquetes, luego intente nuevamente con la consola.

Espero que esto ayude.


el kit de personalización de ubuntu (UCK) ha sido descontinuado
amc

0

Puede modificar el /etc/hostsarchivo predeterminado (así como algunos otros archivos predeterminados) editando/usr/share/ubiquity/plugininstall.py

Pensé que sería útil compartir, ya que necesitaba saber cómo hacer esto.


En realidad, después de una revisión adicional, parece que el /etc/hostsarchivo que se instala no es generado por el plugininstall.pymódulo de ubicuidad . Si desea modificar el /etc/hostsarchivo predeterminado , es probable que tenga que crear un script que se ejecutará una vez después del primer arranque y eliminar o cambiar el nombre. A menos que recompile el módulo netcfg, que no se recomienda.
SW_user2953243
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.