Partiendo de la necesidad de crear mi propio LiveCD el cual pueda actualizar periódicamente y personalizar a mi gusto, y conociendo los avances de las tecnologías informáticas en la rama de GNU/Linux, me percate de la escasa necesidad de instalar programas gráficos extras.
Gracias a los portables no necesitaré instalar programas de uso cotidiano para mi como el Gimp, Inskape, Blender, incluso el Libreoffice para algunas ocasiones. Sin estos programas instalados en mi sistema me ahorro varios mega-bits en software y librerías.
Los portables para Linux lo pueden descargar del siguiente sitio:
http://sourceforge.net/projects/portable/files
Incluso podrán realizar sus propios portables con los siguientes programas del mismo sitio:
– AppDirAssistant: Utilidad para portabilizar los programas, es necesario ejecutar AppDirAssistant antes de instalar el software a portabilizar; dicho software no puede estar instalado antes de ejecutar AppDirAssistant.
– AppImageAssistant: Utilidad para comprimir la estructura en un solo fichero auto ejecutable las carpetas creadas por
Para crear portables de algún software ya instalado podrán usar el siguiente programa:
Para 32 bits
https://github.com/downloads/pgbovine/CDE/cde_2011-08-15_32bit
Para 64 bits
https://github.com/downloads/pgbovine/CDE/cde_2011-08-15_64bit
Crear portables con este método no buscará dependencias instaladas en tu sistema operativo, ni guardará la configuración en tu carpeta de usuario a menos que se cree un enlace simbólico dentro de cde-root o se le indique al fichero cde.options con una línea parecida a esta:
ignore_prefix=/home
Viendo esto nos percataremos de que podremos descargar o crear los portables que deseemos, eliminando la necesidad de instalar aplicaciones extras ajenas a nuestro sistema base, y así reducir su espacio a la hora de crear nuestro propio LiveCD.
Desarrollo
Como bien dice el titulo veremos como crear nuestro propio LiveCD desde cero lo que nos permitirá instalar las aplicaciones que deseemos empezando por instalar nuestro sistema base, existen varias formas de conseguir esto una mediante una instalación modo texto sin llegar a instalar el sistema gráfico y otra usando debootstrap, este último caso es el que abordaremos en este manual porque nos permite crear nuestro sistema desde cero sin ningún programa extra al sistema base.
Teniendo un sistema de GNU/Linux, ya instalado crearemos una partición con el tamaño deseado para instalar el sistema base en dicha partición, veamos paso a paso como crear nuestro sistema base con debootstrap:
Paso #1
Instalar debootstrap
# apt-get install debootstrap
Paso #2
Montar la nueva partición en /mnt
# mount /dev/sdax /mnt
Paso #3
Instalar el sistema base en dicha partición:
Para 32 bits
# debootstrap --arch i386 distribución /mnt
Para 64 bits
# debootstrap --arch amd64 distribución /mnt
La distribución ha de cambiarse por el nombre de la versión de GNU/Linux que deseemos instalar, dichos ficheros se encuentran en /usr/share/debootstrap/scripts, si no existe el fichero con el nombre de la distribución que vayan a usar simplemente copian el de la ultima versión con el nombre de la nueva versión y lo abren con un editor de texto y donde se indique la dirección web la cambian por la nueva, ejemplo:
Se me da el caso de que los repositorio los descargo desde otra dirección y no de la pagina oficial, voy a /usr/share/debootstrap/scripts copio la ultima versión que este, en este caso uso un repositorio de Ubuntu (Oneiric) que esta esta carpeta pero la dirección de descarga es otra ya que esta se encuentra en el disco duro de mi pc, abrimos el fichero y cambiamos
default_mirror http://archive.ubuntu.com/ubuntu
por
default_mirror file:///camino/a/repo/ubuntu
Si se encuentran más de una linea con esta forma han de cambiarla también.
Paso #4
Cambiamos la raíz de trabajo desde la terminal con chroot y procedemos a instalar el software esencial de acuerdo a nuestras necesidades.
– Cambiando la Jaula
# mount -t proc none /mnt/proc # mount -o bind /dev /mnt/dev
– Montar el disco externo que contenga el repositorio
# mkdir /mnt/media/Nombre-Disco # mount /dev/sdax /mnt/media/Nombre-Disco # chroot /mnt
– Dentro de la misma jaula indicar cuales son los repositorios a usar en /etc/apt/source.list
nano /etc/apt/source.list
en mi caso desde el disco de mi pc
deb file:///media/Nombre-Disco/Oniric-Ocelot/mirror/ubuntu/ oneiric main multiverse restricted universe deb file:///media/Nombre-Disco/Oniric-Ocelot/mirror/ubuntu/ oneiric-backports main multiverse restricted universe deb file:///media/Nombre-Disco/Oniric-Ocelot/mirror/ubuntu/ oneiric-proposed main multiverse restricted universe deb file:///media/Nombre-Disco/Oniric-Ocelot/mirror/ubuntu/ oneiric-security main multiverse restricted universe deb file:///media/Nombre-Disco/Oniric-Ocelot/mirror/ubuntu/ oneiric-updates main multiverse restricted universe deb file:///media/Nombre-Disco/Oniric-Ocelot/mirror/medibuntu/ oneiric free non-free deb file:///media/Nombre-Disco/Oniric-Ocelot/mirror/canonical/ oneiric partner
Si usamos el método tradicional desde una pagina web y usamos una dirección proxy necesitaremos indicarle que use este proxy desde la misma jaula con el siguiente comando:
# export http_proxy=”http://usuario:clave@proxy.nombre.org:3128“ # export ftp_proxy=”http://usuario:clave@proxy.nombre.org:3128“
Paso #5
# apt-get update # apt-get upgrade # apt-get upgrade # apt-get dist-upgrade
Paso #6
Instalar los locales (idiomas)
# aptitude install locales # dpkg-reconfigure locales # aptitude install localepurge # localepurge
Paso #7
Instalar la versión del kernel que vallamos a usar, ejemplo:
# apt-get install GNU/Linux-image-3.0.0-14-generic depmod 3.0.0-14-generic user-setup
Paso #8
Proceder a instalar software esencial para el correcto arranque del sistema y posterior creación del LiveCD.
# apt-get install aptitude grub2 sysGNU/Linux squashfs-tools casper archdetect-deb mkisofs genisoimage xorriso console-tools console-keymaps mc blkid parted
Paso #9
Crear algunos ficheros de configuración esenciales
# mcedit /etc/network/interfaces
y agregar esto:
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
Editar el fichero:
# mcedit /etc/hostname
y agregar esto:
Nombre-del-Host
# mcedit /etc/hosts
y agregar esto:
127.0.0.1 localhost Nombre-del-Host
Paso #10
Crear el fichero mtab y fstab.
# grep -v rootfs /proc/mounts > /etc/mtab # grep /etc/mtab -e " / " > /etc/fstab
Nota: Para evitar conflictos se recomienda dar la dirección al disco raíz por el uuid, con el comando blkid podrán obtener el uuid y remplazar /dev/sdax en /etc/fstab dentro de esta jaula por el uuid, ejemplo si es
/dev/sda1 remplazar por UUID=uuid quedando así: UUID=476efe22-73ec-4276-915d-c4gga65f668b / ext3 errors=remount-ro 0 0
Paso # 11
Instalar el entorno gráfico -Opcional si no necesitan instalar un entorno gráfico.
# apt-get install xserver-xorg-video-all xorg xserver-xorg
Paso #12
Instalar el grub, si no tenemos instalado ningún grub en el sector de arranque podremos realizarlo de la siguiente forma:
En caso de no tener ningún sistema de GNU/Linux ya instalado procederemos de la siguiente forma:
Salimos de la jaula:
# exit # sudo grub-install --root-directory=/mnt /dev/sda
Volvemos a la jaula:
# chroot /mnt # update-grub
– En caso de tener el fichero del grub ya instalado simplemente editamos el fichero
Salimos de la jaula:
# exit # update-grub
Paso #13
Instalamos nuestro entorno de escritorio preferido así como nuestro gestor de sesiones que deseemos. En mi caso instale el entorno de escritorio e17 (enlightenment) junto con el explorador de ficheros spacefm y así crear mi propio LiveCD para realizar copias de seguridad, así como le incluí el programa debootstrap para así instalar mis nuevos sistemas operativos directamente de los repositorios sin necesidad de usar otros LiveCD o instalaciones en modo texto.
# apt-get install e17 e17-data gparted mtools testdisk secure-delete partimage gzip zip unzip tar pkill xterm
Ustedes pueden escoger el entorno de escritorio de su preferencia, así como el conjunto de aplicaciones a usar.
El gestor de sesión.
– En este caso no necesito un gestor de sesiones que me pida nombre de usuario y contraseña puesto su objetivo es que inicie directamente la sesión, para ello creamos un fichero de texto en /etc/startX
# touch /etc/init.d/startX # chmod +x /etc/init.d/startX
Copiar lo siguiente dentro de este fichero
#!/bin/sh . /lib/lsb/init-functions PATH=/sbin:/bin:/usr/sbin:/usr/bin case $1 in start) echo "Iniciando sistema gráfico" echo "Puedes consultar el LOG en /var/log/arranque_x.log" X :0 1>>/var/log/arranque_x.log 2>>/var/log/arranque_x.log & DISPLAY=:0 su root -c enlightenment_start 1>/dev/null 2>/dev/null & ;; stop) echo "Parando todos los procesos X" pkill X ;; *) echo "Opción invalida" ;; esac exit 0
Para indicarle al sistema que inicie este fichero con el sistema ejecutamos lo siguiente desde la consola.
# update-rc.d startX defaults 99
Esto es para no tener que usar ningún gestor de ventanas como lxdm, gdm entre otros.
Reiniciamos la PC con la nueva instalación.
Como yo había indicado instale spacefm para ello descargo el código fuente de esta página.
http://spacefm.sourceforge.net/ (el fichero .tar.gz o .tar.xz) al disco de la maquina.
Instalo las dependencias de este software:
# apt-get install autotools-dev bash desktop-file-utils build-essential libc6 libcairo2 libglib2.0-0 libgtk2.0-0 libgtk2.0-bin libpango1.0-0 libx11-6 shared-mime-info intltool pkg-config libgtk2.0-dev libglib2.0-dev fakeroot libudev0 libudev-dev
Descompactamos dicho fichero
tar -xf /camino/fichero/spacefm.tar.xz cd /camino/fichero/spacefm ./configure # make -s # make install # update-mime-database /usr/local/share/mime > /dev/null # update-desktop-database -q # gtk-update-icon-cache -q -t -f /usr/local/share/icons/hicolor # gtk-update-icon-cache -q -t -f /usr/local/share/icons/Faenza
Con esto, si no hubo ningún problema tendremos a spacefm instalado.
Paso #14
Instalar remastersys.
Remastersys lo podrán buscar en su pagina web oficial http://remastersys.sourceforge.net/, pero les recomiendo usar el que les adjunto para mantener la compatibilidad, ya que este no instala ni desinstala ninguna aplicación durante el proceso de creación del LiveCD, así como dejo unos script para instalar el LiveCD en una memoria usb.
Descargar remastersys e instalar.
# dpkg -i /camino/a/remastersys.deb
Paso #15
Creación del LiveCD con remastersys.
Remastersys tiene 2 modos de creación de LiveCD, uno guardando la configuración de todos los usuarios y otra quitando toda configuración y registro de otro usuario que es la estamos acostumbrados a ver en los LiveCD tradicionales de ubuntu.
Para crear LiveCD guardando tu configuración.
# remastersys backup
– Para crear LiveCD sin usuarios ni configuraciones (Recomendado).
# remastersys dist cdfs # remastersys dist iso custom.iso
Paso #16
Instalación de cualquier LiveCD de Debian o derivados hechos con remastersys.
Primero verifiquen que su partición esta marcada como boteable con el gparted o parted de la siguiente manera:
# parted /dev/sdb set 1 boot on - Para activarla # parted /dev/sdb set 1 boot off - Para desactivarla
– Instalamos el iso en un cd dvd, o si lo desean en un dispositivo usb de la siguiente forma (Todo esto como root):
mkdir -p /mnt/cdrom mkdir -p /mnt/usb mount -o loop /camino/fichero.iso /mnt/cdrom mount /dev/sdbx /mnt/usb cp -r /mnt/cdrom/* /mnt/usb cp -r /mnt/cdrom/isoGNU/Linux/* /mnt/usb mv /mnt/usb/isoGNU/Linux.cfg /mnt/usb/sysGNU/Linux.cfg umount /mnt/usb umount /mnt/cdrom
# OJO fíjense en la partición de su dispositivo usb si la partición que montaron es /dev/sdb1 el sector de arranque habrá de instalarse en /dev/sdb
# cat /usr/lib/sysGNU/Linux/mbr.bin > /dev/sdb # sysGNU/Linux --install /dev/sdb1
Paso #16.1.
Primero iniciamos desde el LiveCD o usb si lo tenemos en la memoria.
Si no están creadas las particiones requeridas como la swap (área de intercambio) así como una partición de más de 1 GB o más en dependencia del tamaño del livecd.
Paso #16.2.
Montar la partición creada en /mnt
# fsck -a /dev/sdax # mount /dev/sdax /mnt
Paso 16.3.
Copiar todos los ficheros dentro de la carpeta /rofs a /mnt
# cp -r /rofs/* /mnt
Ojo: todo esto como usuario root.
Paso #16.4.
Instalar el grub
# grub-install --root-directory=/mnt /dev/sda
Paso #16.5.
Preparar el sistema para arranque el grub correctamente.
mount -t proc none /mnt/proc mount -o bind /dev /mnt/dev chroot /mnt update-grub
Paso #16.6.
Sin salir de la jaula chroot preparamos los ficheros esenciales /etc/fstab y /etc/mtab
grep -v rootfs /proc/mounts > /etc/mtab grep /etc/mtab -e " / " > /etc/fstab
useradd -m -c "Usuario Administrativo" -G adm,admin,sudo,dialout,cdrom,plugdev,lpadmin,sambashare -d /home/usuario -s /bin/bash usuario
Conclusiones
Con esto queda terminada esta amplia pero sencilla guía, la cual podrán poner en practica si lo desean y compartir con vuestros amigos su propio livecd, la calidad de todo livecd/dvd recae en los conocimientos del propio usuario, la puesta en práctica de nuevas tecnologías que ahorren espacio en el disco duro.
Como vieron no es necesario usar unetbootin para convertir un LiveCD en live usb, si usan spacefm tendrán todo lo necesario en lo que respecta a aplicación gráfica ya sea para convertir vídeos, ficheros de audio entre otros, solo necesitaran el programa que realiza esto desde la linea de comandos y crear o descargar un plugin para realizar dichas tareas.
12 comentarios, deja el tuyo
todo ese follon para crear un cd?’? creo que paso del cd
no habia una web que te hacia un live cd de debian? o.O
Qué frustrante es este procedimiento para los flojos que fácilmente se van a live.debian.org y lo portan a USB.
Demasiado complicado, en mi otra pc utilizo Remastersys en Xubuntu 13.04 y genero mi iso live cd perfectamente y en 13 min, desde el sitema ya isntalado y personalizado con los programas que son de mi interes. Hoy en dia, que unicamente exista remasterys pra lograr esto es totalmente reprochable, existen otros y otras formas, pero siguen siendo tediosas como la que se describe en este post.
O al menos, hubieran hecho un pequeño script en .sh y asunto solucionado (hasta asistido pudo ser).
Pues a mi me parece un manual muy bueno que cuando tenga tiempo voy a probar.
Tal vez haya formas más rápidas para hacer lo mismo, pero lo que se aprende en el camino (probablemente no salga a la primera) no tiene precio.
Se me paso poner que a los que no instalen ubiquity se les aconseja instalar las siguientes dependencias.
accountsservice apt-clone btrfs-tools console-setup cryptsetup dmidecode dmraid dpkg-repack ecryptfs-utils gconf2 gconf2-common gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-gstreamer-0.10 gir1.2-gtk-3.0 gir1.2-pango-1.0 gir1.2-soup-2.4 gir1.2-timezonemap-1.0 gir1.2-vte-2.90 gir1.2-webkit-3.0 indicator-application kbd keyutils language-selector-common laptop-detect libaccountsservice0 libappindicator1 libappindicator3-1 libbsd0 libcap-ng0 libcap2-bin libdbusmenu-glib4 libdbusmenu-gtk3-4 libdbusmenu-gtk4 libdebconfclient0 libdmraid1.0.0.rc16 libecryptfs0 libgail-3-0 libgck-1-0 libgconf2-4 libgcr-3-1 libgtk-3-0 libgtk-3-bin libgtk-3-common libgtop2-7 libgtop2-common libicu44 libindicator3-6 libindicator6 libiw30 libnss3-1d libp11-kit0 libpam-gnome-keyring libstartup-notification0 libtimezonemap1 libvte-2.90-9 libvte-common libwebkitgtk-3.0-0 libwebkitgtk-3.0-common libxklavier16 lsof psmisc python-appindicator python-argparse python-libxml2 python-pyicu python-xklavier rdate reiserfsprogs rsync
Se que esta guia puede ser tediosa, pero si puedo conseguir m i propio live cd con no mas de 215 MB prefiero releer esta guia nuevamente.
Excelente,muchas gracias
Interesante el procedimiento pero son ganas de complicarse la vida.
# apt-get install live-magic
$ live-magic
Y con unos pocos clics tienes tu live CD o USB.
Gracias por la info, esto sirve para cualquier distro linux? los portables se pueden meter en esa live personalizada?, gracias.
Excelente información, ya he utilizado remastersys anteriormente, de igual forma encuentro muy bueno y explicado el artículo.
NOTA: el link de descaga de remastersys que tienes publicado esta mal enlazado, deberia decir https://blog.desdelinux.net/wp-content/uploads/2013/05/remastersys.zip
Gracias por el dato.. Enseguida corregimos el enlace.