miércoles, 26 de marzo de 2008

* LANZADOR DE APLICACIONES EN GNOME

En el artículo anterior instalamos la Beta 4 de Firefox 3 la cual muestra una mejora sustancial en el rendimiento de este navegador lo que se traduce en más comodidad y rapidez trabajar en la red de redes.
En el presente mini artículo mostraremos una forma muy fácil de crear un lanzador de aplicaciones y para ellos tomaremos como ejemplo la 'Creación de un lanzador para nuestro Firefox 3 Beta 4' recién instalado.
Una imagen vale más que mil palabras y un video creo que más que un millón, asi es que ¿ Qué mejor que un video de demostración ? Ahí va ...
VIDEO
CREANDO UN LANZADOR DE APLICACIONES EN GNOME
(haga clic en esta imagen para ver video)

Se puede ver el video en distintas resoluciones ( volver a cualquier punto del video haciendo clic sobre la barra de desplazamiento)
Espero que les sirva ...

* FIREFOX 3 A DIETA

Me instalé la beta 4 del Firefox 3 y veo que está haciendo su buena dieta, come mucho menos memoria, por tanto se siente que trabaja bastante más rápido.

Algunas de las más relevantes y nuevas mejoras son:

- Mejora sustancial en el uso de la memoria, se libera la memoria de una forma mucho más eficiente cuando no se la necesita.

- Mejoras en motor de Javascript, lo que hace que páginas Google Mail y otros sitios trabajen mucho más rápido.

- Nuevo gestor de descargas con la posibilidad de hacer busquedas de archivos bajados.

- El nuevo Zoom desde el menú ver y a través de atajos de teclado, permite no sólo aumentar y disminuir el tamaño del texto, también se tiene la posibildad de cambiar el tamaño del diseño completo de la página como si fuera el zoom de una imagen completa. Está característica es muy novedosa, la encuentro muy buena.

- Barra de direcciones mejorada con autocompletado más eficiente el cual nos va mostrando alternativas más ordenadas, a medida que escribimos una dirección, incluyendo primero aquellas que están en 'Marcadores' , 'Las que han sido más visitadas', etc ...

Bueno, yo llevo sólo solo un par de días probándolo en mi Debian y hasta el momento todo va de maravillas, se ve estable y más rápido, pero que mejor que probarlo tú mismo aquí adjunto los pasos de instalación:

1) Bajar desde http://www.mozilla.com/en-US/firefox/all-beta.html ( ya que aún no tenemos paquetes oficiales para debian)

2) Desde un terminal descomprimimos con: tar -xjvf firefox-3.0b4.tar.bz2

3) Si aún no estamos como root, hacemos: su

4) Moviendo a /opt : mv firefox /opt (pero antes, si tiene una versión anterior de firefox en esa carpeta, renómbrela o bórrela si lo desea)

5) El adminitrador debe ser el dueño de esta carpeta: chown -Rf root:root /opt/firefox

6) Creando enlace simbólico, para que sea más simple ejecutarlo: ln -s /opt/firefox/firefox /usr/bin/firefox ( pero antes, si tiene un enlace existente en /usr/bin/firefox que apunta hacia otra direccón debe borrarlo o moverlo, rm -f /usr/bin/firefox, o bien, mv /usr/bin/firefox /usr/bin/firefox-bak )

7) Ya esta listo, ahora vaya a una terminal y como usuario normal (el que siempre usa) ejecute : firefox y vuele feliz por la web, je je ...

Para ejecutarlo más comodamente podemos crear un lanzador en un panel de gnome con lo cual sólo tendremos que hacer un clic en el ícono correspondiente para ejecutar nuestro nuevo Firefox.

En el próximo artículo que publicaré en este blog explicaré la forma más fácil que he encontrado para crear un lanzador de aplicaciones en el panel de gnome usando cómo ejemplo el lanzador para el Firefox que hemos instalado aquí ...

PANTALLAZO

viernes, 7 de marzo de 2008

* CLONANDO DEBIAN GNU/LINUX A MI MANERA

En mi trabajo de Administrador de Servidores, en varias ocasiones me he visto en la necesidad de instalar un Servidor ( de Correo, Web, Dns, etc ...) sin disponer de mucho tiempo para ello.

En los servidores tengo bastantes paquetes de software instalados, y con un gran número de configuraciones que he tenido que ir ajustando para obtener las funcionalidades necesarias, una buena estabilidad, disponibildad, seguridad, y un rendimiento adecuado. Por mencionar algunos de los software a instalar y configurar en ellos tenemos: postfix+tls+sasl+mysql+pcre,maildropfilter, amavis-new, spamassassin+pyzor+razor+dcc+spf, clamav+clam-daemon+freshclam, courier+pop+pop-ssl+imap+imap-ssl+authdaemon+authmysql, mysql-server, heartbeat, iptables, etc ...

Estas máquinas están dentro de una estructura de cluster, es decir, son nodos activos que se respaldan entre ellos de manera que si uno sufre una falla y deja de funcionar otro toma su lugar automáticamente en cuestión de segundos. Este tipo de estructura me permite tener un a buena disponibildad de servicio y me deja un buen tiempo para reparar o reemplazar la máquina que presentó fallas, sin embargo mientras más rápido la reinstale menos sobrecarga de trabajo tendré sobre el servidor que asimiló la carga propia más la del nodo caído.

En fin para levantar un nuevo servidor rápidamente, en caso de emergencia, sin perder mucho tiempo en realizar instalaciones de paquetes y evitarse un sin número de configuraciones requeridas para dejarlo funcionando igual que el resto de los nodos, yo he optado varias veces por hacer una clonación del S.O. completo.

El procedimiento que describo a continuación yo lo he probado para clonar máquinas de distinto hardware con Debian Sarge y Etch tanto en servidores como PCs de escritorio con entorno gráfico icewm, gnome, kde, xfce4, etc ...

Las herraminetas necesarias para poder realizar la clonación son:

- CD de instalación de debian (preferible de tipo net-install)
- Live CD ( yo use knoppix 5.1.1)

Aquí va el procedimiento que he usado para clonar debian:

1) Bajar Debian, para este cometido yo he usado cd's instaladores de tipo net-install de los cuales he bajado su imagen iso desde la página oficial de debian aquí ( hay que bajar el que termina en netinst.iso ) . Es conveniente que el sistema debian a instalar en la máquina destino (host2) sea de la misma rama (sarge, etch, lenny, ...) que el que está instalado en la máquina a clonar (host1), aunque esto no es obligatorio pero por simplicidad se asumirán de la misma rama .

2) Quemar la iso de debian usando k3b u otro software de grabación de cd.

3) Hacer que el host2 inicie desde el cd de instalación ( aquí usé un cd de Etch Net Install )

4) Dar enter e iniciar la instalación.

5) En los pasos de instalación sgtes. seteará el Idioma (Spanish), País (Chile), mapa de teclado
(Latinoamericano) según donde Ud. viva.

6) Configurar la red via dhcp si es que existe un servidor de este tipo dentro de su red, en caso contrario configure manualmente la dirección ip estática y el resto de datos requeridos (network, máscara, broadcast, gateway, servidores dns, dominio y nombre del host ). Es importante que la red quede bien configurada de manera que cuando se tenga que instalar un kernel más actualizado pueda bajarlo sin problemas.

7) Hacer el particionado manual si es que desea dejar las particiones similares a como están definidas en el host1. Fijarse que el tamaño de las particiones del host2 sean de un tamaño mayor que el espacio ocupado en el host1 en su directorio análogo o se puede quedar sin espacio al hacer la clonación. No es obligatorio hacer el particionado manual también podría ser automático si es que no le importa que las particiones queden similares en ambos hosts. Es importante que tenga cuidado si tiene una partición con datos u otro S.O. instalado, ya que de proceder en forma incorrecta podría ocurrir que ésta se formateara accidentalmente y perder toda la información contenida.

8) Fijar Zona Horaria (Santiago de Chile) según corresponda.

9) Ingresar la clave de superusuario que Ud. desee.

10) No es necesario crear una cuenta de usuario normal.

11) Configurar uno o más repositorios según Ud. estime conveniente para asegurar que más adelante pueda bajar el paquete de kernel que se requiera.

12) En la etapa de instalación en que corresponde indicar el software a instalar, no hay que indicar nada y si ya viene algo seleccionado, quítelo de manera que no pierda tiempo instalando paquetes que no va a ocupar nunca, ya que cuando el proceso de clonación haya terminado el host2 quedará con los mismos paquetes que el host1.

13) Cuando le pregunte si desea instalar grub en el registro principal de arranque (Master Boot Record ) diga que si. Si tiene otro S.O. operativo instalado en este equipo el instalador le informará si lo a detectado y lo agregará a la lista en el gestor de booteo (grub), de manera que Ud. pueda seleccionar con cual de los sistemas desea iniciar su PC. Si Ud. tiene otro S.O. instalado y el instalador no se lo informa, es probable que sólo pueda bootear con el debian que acaba de instalar, pero esto se puede arreglar fácilmente editando el archivo menu.lst del paquete grub.

14) Aquí se termina la instalación mínima y se reinicia el host2.

15) Luego de reiniciarse el host2 ingrese root y la password fijada en la instalación.

16) Si deseamos hacer una clonación via red, nos podemos instalar el paquete ssh (openssh-server, openssh-client) el cual trae consigo el comando scp que permite transportar archivos de forma muy simple entre dos host remotos: apt-get install ssh

17) Ingrese (via ssh o localmente) al host1 desde una terminal, como superusuario.

18) Ejecute: df -h y luego du -sh /* y con la información entregada por estos dos comandos vea el espacio ocupado en cada partición y en cada una de los carpetas de la raiz del sistema. Si puede eliminar algunas cosas que tenga demás en su host1 hágalo, y piense si hay subdirectorios ( de respaldos de archivos u otra información) o archivos que de desee excluir de la clonación y anótelos.

19) Ejecute apt-get clean si lo desea, esto borrará paquetes instaladores que quedaron almacenados en /var/cache/apt/archives cuando se instalaron todos los software que están en su debian en el host1. Esto disminuirá la cantidad de información a clonar y por tanto hará un tanto más rápido este proceso, además ocupará menos espacio en le host2.

20) En este paso construirá una imagen comprimida del host1. Dentro de ésta debe incluir los directorios que están en la raíz (puede listarlos haciendo ls / ), pero excluirá aquellos que no nos sirven de nada y solo ocuparían espacio en la imagen. Los directorios que yo excluyo siempre son: /dev /proc /lost+found /sys /srv /tmp y el directorio donde estoy creando la imagen. Además de estos directorios puede excluir otros más que no desee incluir en la imagen, por ejemplo, alguna carpeta en la que Ud. guarde respaldos de archivos muy grandes, u otra carpeta ( ej: /mnt/hdc5, /mnt/respaldos-mp3s,/home/../respaldos-peliculas ) en la que tenga montada una partición que no le interesa llevarse al host2, o alguna carpeta o archivo que contenga información privada o confidencial . Se debe tener mucho cuidado en excluir algún subdirectorio donde se encuentren guardados archivos binarios, librerias, o configuraciones importantes para el buen funcionamiento de su sistema.

Si Ud. piensa compartir esta imagen con otras personas no debe olvidar que dentro de ella puede haber datos privados como la password del root y del resto de usuarios de su equipo, las claves públicas y privadas del ssh, las password de algunos software instalados en su máquina. Si es el caso, asegúrese de cambiar la clave del root y de los usuarios del sistema por otras provisorias. Ej:
Para cambiar la clave del root ejecute : #passwd
Para cambiar la clave de un usuario juanito: #passwd juanito

También, asegúrese de excluir los directorios /etc/ssh /root/.ssh /home/juanito/.ssh, /home/pedrito/.ssh (igual para todos los usuarios que están en el /home). Si está clonando un PC de escritorio con entorno gráfico asegúrese de cambiar las claves de su software de correo electrónico ( si es que las guarda) por otras provisorias. Lo mismo para otros tipos de software de entorno gráfico que guarden claves. Si tiene algún servidor ftp, web, de base de datos o de otro tipo que almacene claves en algún archivo o tabla, debe cambiarlas o excluir el archivo o directorio en donde se encuentran. Insisto, en caso de compartir la imagen que creará de su host1 debe saber muy bien lo que está haciendo con el tema de las claves e información privada.

Entonces, para crear la imagen ejecute algo como esto:
(suponemos que la imagen se guardará en el dir. '/var/clon-debian' (Ud. puede usar otro dir.), asegúrese de que este dir. esté en una partición que tenga el espacio libre suficiente para albergar el archivo de imagen)

#mkdir /var/clon-debian
#tar -cvzf /var/clon-debian/clon-debian$(cat /etc/debian_version)-$(uname -s)$(uname -r).tar.gz / --exclude='/dev' --exclude='/lost+found' --exclude='/proc' --exclude='/srv' --exclude='/sys' --exclude=='/tmp' --exclude='/etc/ssh' --exclude='/root/.ssh' --exclude='/home/juanito/.ssh' --exclude='/mnt/respaldos-peliculas' --exclude='/var/clon-debian' > /var/clon-debian/clon-debian.log &


Al ejecutar este comando arrojará en pantalla mensajes como:

tar: Removing leading `/' from member names
tar: Removing leading `/' from hard link targets

O algunos similares a este: tar: /var/log/syslog: el fichero cambio mientras se estaba leyendo
Ignore este tipo de mensajes.
Una vez que ya ha creado la imagen y en el caso de que haya puesto algunas password provisorias, puede modificarlas nuevamente y dejar las originales para que le host1 quede tal como estaba.

21) Ahora, debe llevar el archivo de imagen al host2, puede hacerlo de distintas formas:

a) via el comando scp. ej: #scp clon-debian-4.0-Linux2.6.18-5-686.tar.gz root@host2:/root

b) via cd/dvd, si dispone de un copiador de dvd/cd en el host1 y lector en el host2. Si la imagén es más grande que un cd (700MB) puedes usar split para dividirla en trozos de 700MB(=734003200 bytes) cada uno. ej: split -b 734003200 clon-debian-4.0-Linux2.6.18-5-686.tar.gz clon-debian-4.0-Linux2.6.18-5-686-

Hay muchos tutoriales en internet que explican como crear una .iso de datos en el disco duro y luego pasarla a un cd/dvd via consola. Si tiene entorno gráfico instalado en el host1 puede usar k3b u otro software quemador de cd/dvd.

Y luego, una vez en el host2, se puede unir los trozos usando cat. ej:
cat clon-debian-4.0-Linux2.6.18-5-686-aa clon-debian-4.0-Linux2.6.18-5-686-ab clon-debian-4.0-Linux2.6.18-5-686-ac > clon-debian-4.0-Linux2.6.18-5-686.tar.gz

c) Via pendrive, si Ud. dispone de este tipo de dispositivo de una capacidad de almacenamiento lo suficientemente grande para contener el archivo de imagen creado.

d) Etc ...

22) El archivo de imagen ya está en el host2, ahora vaya a la raíz del sistema (siempre en el host2), cree una carpeta 'raiz-nueva' , mueva el archivo de imagen dentro de ella y proceda a descomprimirlo. Ej:
#cd /
#mkdir raiz-nueva
#mv /root/clon-debian-4.0-Linux2.6.18-5-686.tar.gz /raiz-nueva/clon-debian-4.0-Linux2.6.18-5-686.tar.gz

#cd /raiz-nueva
#tar -xzvf clon-debian-4.0-Linux2.6.18-5-686.tar.gz > untar.log

23) Crear directorios que faltan

#mkdir proc sys srv tmp lost+found
#chmod -Rf ugo+rwx tmp
#chmod -Rf o+t tmp
#chmod go-rwx lost+found
#cp -a /dev /raiz-nueva/dev


24) Instalar la version del kernel más nueva que hay en la rama de debian que está usando (etch) y que vaya de acuerdo con la nueva arquitectura del host2:

Ej:

#apt-get update
#apt-get install linux-image | more ( le mostrará un listado de los kernel que puede instalar)
#apt-get install linux-image-2.6.18-5-k7 ( supuse que el host2 era un amd k7, Ud. use el que le correponda a su procesador )
(nota: en sarge y anteriores los paquetes de kernel linux se llaman kernel-image....)
Reiniciamos para verificar que el nuevo kernel-quedo bien instalado.
25) Hacer lo mismo pero dentro del sistema que tiene en /raiz-nueva:

#chroot /raiz-nueva
#apt-get update
#apt-get install linux-image-2.6.18-5-k7 ( como es de la misma rama y usará el mismo hardware se instala el mismo kernel)
#exit


26) Como ya se sabe desde el paso 24 que el booteo del debian mínimo instalado con el nuevo kernel funciona correctamente y el sistema inicia sin problemas, se puede ir a la segura reemplazando la carpeta /raiz-nueva/boot por la /boot :
Ej:


#cd /raiz-nueva
#mv boot boot-bak
#cp -a /boot /raiz-nueva/boot


27) Inserte un live cd en el host2 (knoppix) y luego reinicie (shutdown -r now)

28) Cuando el equipo inicie con knoppix y aparezca boot: escriba knoppix 2 (y luego dele enter)

29) Cuando termine de iniciar ingrese a la consola como root y haga lo sgte.:


#su
#cd /mnt
#mount hda5 (suponiendo que esta será la partición raíz de su sistema)
#cd hda5
#mkdir raiz-old
#mv * raiz-old ( arrojará un mensaje de que no puede mover raiz-old a raiz-old, no lo tome en cuenta )
#mv /mnt/hda5/raiz-old/raiz-nueva/* /mnt/hda5


30) Actualizar el archivo /mnt/hda5/etc/fstab acuerdo a su nueva estructura de particiones:

#cd /mnt/hda5/etc
#mv ftsab fstab-bak
#cp -a /mnt/hda5/raiz-old/etc/fstab /mnt/hda5/fstab

Si en fstab aparece una o más particiones de disco duro (además de la raíz) montada en un directorio que no es la raíz / , por ejemplo algo como esto:
"/dev/hdc6 /home ext3 .... "
"/dev/hdc7 /var ext3 .... "
En este caso Ud. debe montar las particiones y mover todos los datos de los directorios que aparecen en la línea correspondiente de fstab a estas particiones. Ej:
(según ej. anterior)
#cd /mnt
#mount hdc6
#mv /mnt/hdc5/home/* /mnt/hdc6
#mount hdc7
#mv /mnt/hdc5/var/* /mnt/hdc7


31) Setear la nueva configuración de red del sistema si es necesario. Este paso no será necesario en el caso de que Ud. este clonado para reemplazar la maquina host1 por hots2, es decir, si va a usar la misma dirección ip que tení­a el host original en la red en que se encuentra. Obviamente, este paso tampoco será necesario si la nueva máquina host2 no está dentro de ninguna red. Para configurar la red debe editar o crear si es que no existe el archivo /mnt/hda5/etc/network/interfaces

auto lo iface lo inet loopback
# This entry was created during the Debian installation
# (network, broadcast and gateway are optional)
auto eth0
iface eth0 inet static
address 10.0.0.5
netmask 255.255.255.0
network 10.0.0.0
broadcast 10.0.0.255
gateway 10.0.0.1

Debe cambiar estos datos por los de su red. Si la red usa dhcp se cambia la palabra static por dhcp y se borra el resto de las lineas (address,netmask,network,broadcast y gateway se borran). También debemos agregar los servidores DNS si fuese necesario, en el archivo /mnt/hda5/etc/resolv.conf. Debería quedar como sigue:

search midominio.com
nameserver 10.0.0.2 (aqui ponga el dns primario que corresponda a su red)
nameserver 10.0.0.3 (aqui ponga el dns secundario que corresponda a su red)

Puede que Ud. desee cambiar el nombre de host en el archivo /mnt/hda5/etc/hostname
También deberá cambiar los datos de su nuevo (nombre e ip) host en el archivo /mnt/hda5/etc/hosts


32) Apague su equipo desde knoppix y retire el cd cuando este mueva la bandeja del cdrom hacia fuera, y finalmente encienda el PC para que inicie con el nuevo sistema clonado, prácticamente idéntico al original.

33) En debian Etch o superior, es probable que, la red no quede funcionando bien, pero esto se puede arreglar editando el archivo /etc/udev/rules.d/z25_persistent-net-rules. Fíjese, en el archivo, lo que hizo udev fue mantener el nombre eth0 asociado a la mac de la tarjeta antigua y a la nueva le puso eth1, esto es en el caso de que el equipo origen(host1) tenía una sola tarjeta. Lo que Ud. debe hacer es borrar las líneas en donde aparezcan las mac de las tarjetas de red del host original y dejar solamente las lineas correspondientes a la o las mac de las tarjetas actuales, y en esas lineas modificar el valor de NAME de acuerdo al nombre (eth0, eth1, eth2, etc) que desee para cada tarjeta. ¿ Cómo averiguar cuales son las mac de sus tarjetas actuales? Ejecute algo parecido a esto, ej:
#echo -e "eth0\neth1\neth2\neth3\neth4" | sed "s/^/ifconfig /" | sh 2>/dev/null | grep "^eth"
En el comando anterior las eth0 van de 0 hasta 4 donde cuatro corresponde a la suma del número de tarjetas del host original más las del nuevo menos 1. Aquí se supuso que el host original tenía tres tarjetas de red y el nuevo 2 tarjetas ( 4=3+2-1).
En resumen, si su nuevo host tuviese dos tarjetas de red el archivo debería quedar parecido a esto:

# This file was automatically generated by the /lib/udev/write_net_rules
# program, probably run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
# MAC addresses must be written in lowercase.

# PCI device 0x1106:0x3106 (via-rhine)
#SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:1b:11:0b:8a:5f", NAME="eth0"

# PCI device 0x10ec:0x8139 (8139too)
#SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:50:ba:8c:11:00", NAME="eth1"

Finalmente debe reiniciar, y su nuevo Debian, clon del original, debería quedar funcionando sin problemas.

34) Detalles: si Ud. tenía ssh instalado en el host original y al crear la imagen excluyó el directorio /etc/ssh, haga lo sgte para que el cliente y servidor de ssh queden funcionado bien:

#apt-get install --reinstall openssh-client openssh-server ssh (no cambie el orden de los tres paquetes)

No olvide que puede borrar los directorios que quedaron demás en la raíz junto con el archivo de imagen si es que lo desea.

#rm -Rf /boot-bak
#rm -Rf /raiz-old
#rm -f /clon-debian-4.0-Linux2.6.18-5-686.tar.gz (o el que corresponda a su version de debian y a su kernel)


35) En el caso de que Ud. haya clonado un PC de escritorio es probable que no pueda iniciar la sesión gráfica debido a que el servidor X no reconoce la tarjeta de video de la nueva máquina, en este caso debe iniciar su equipo en modo recovery, ingresar la password del root y ejecutar:
#dpkg-reconfigure xserver-xorg
Con este comando podrá reconfigurar el servidor gráfico.

Espero que este procedimiento les funciones, lo que es a mi me ha dado muy buenos resultados, me he ahorrado bastante tiempo y trabajo.
En caso de cualquier consulta, comentario, o corrección escribir a cmunox@gmail.com .

Suerte ...

martes, 4 de marzo de 2008

* APT-IMAGEN

¿ Quieres instalar algún paquete Debian en un PC sin conexión a internet ?
¿ Quieres actualizar tu Debian y tu conexión es muy lenta ?

En Chile, aún hay mucha gente que no tiene una conexión a internet lo cual hace que la instalación de paquetes o la actualización de su distribución sea mucho más complicada.

Podríamos pensar en bajar el paquete desde otro PC con una buena conexión a internet usando opciones de apt tales como 'apt-get --download-only --reinstall install paquete' lo cual bajará el paquete y las dependencias de éste que aún no estén instaladas en el sistema. Sin embargo, al llevar los paquetes al equipo sin red ( copiándolos desde '/var/cache/apt/archives' a un pendrive, cdrom, etc) podemos encontrarnos con que el estado de los paquetes de nuestro PC no es el mismo que el del equipo remoto, las versiones de los paquetes instalados puede que no sean las mismas. Podría suceder, además que no se hayan bajado todas las dependencias necesarias, ya que en el equipo remoto puede que ya hayan sido instaladas con anterioridad pero en el PC sin red no.
En resumen, podemos encontrarnos con problemas de versiones y dependencias que no nos resultarán muy agradables. Además, podría suceder que el S.O. del PC sin red fuese un Debian GNU/Linux rama ETCH y el remoto fuese de la rama LENNY o SID.

En fin, la instalación offline se hace un tanto complicada, por lo cual desarrollé mi propio script para salir del paso, y facilitar un poco esta tarea.

El script se puede bajar desde aquí .

Requerimientos :
- S. O. Debian/GNU Linux u otro derivado de éste que posea el mismo sistema de paquetes APT.
- Bash 2.0 o superior.

¿ Cómo se usa apt-imagen ?

Supongamos que deseamos instalar los paquetes postfix, lshw y heartbeat en el PC de casa, pero no tenemos internet.
Recuerde que para usar apt-imagen debe hacerlo como superusuario:

Paso 1) Primero creamos el directorio imagen que contendrá toda la información del estado del sistema de paquetes de nuestro debian de casa sin conexión a internet (host1). Esta imagen se creaerá usando la acción 'imagen' de apt-imagen:
(Supongamos que tenemos nuestro script en la carpeta /root )
#cd /root
#sh apt-imagen imagen "/root/apt.img-host-cristian"
Esto creará un directorio imagen '/root/apt.img-host-cristian' conteniendo toda la información de estado del sistema de paquetes de host local.

Paso 2) Debemos copiar el script 'apt-imagen' y el directorio imagen a un pendrive, un cdrom, u otro medio ...

Paso 3) Llevamos esta información a otro equipo (host2) con debian y la copiamos a alguna carpeta, por ejemplo, la carpeta '/root' del equipo remoto.

Paso 4) A continuación, en el host2, actualizamos la lista de paquetes desde los repositorios al directorio imagen del host1:
#cd /root
#sh apt-imagen update "/root/apt.img-host-cristian"

Paso 5) Luego, bajamos desde el host2 los paquetes que luego podremos instalar en el host1, los cuales quedarán guardados en el directorio imagen:
#sh apt-imagen bajar "/root/apt.img-host-cristian" postfix lshw heartbeat

Paso 6) Nos llevamos el nuevo directorio imagen al host1 usando nuestro pendrive u otro medio.

Paso 7) Instalamos los paquetes en nuestro host1 local:

#cd /root
#sh apt-imagen install "/root/apt.img-host-cristian-new" postfix lshw heartbeat

Donde "/root/apt.img-host-cristian-new" es la nueva carpeta imagen con los paquetes incluido que en el Paso 6) transportamos desde el host2 al host1.

Y con esto los paquetes quedarían instalados correctamente.
En el Paso 7) también podríamos haber ejecutado apt-imagen sin indicar ningún paquete, y en este caso el script asumiría que se desea instalar todos los paquetes que estań en el directorio imagen.

Si quisieramos actualizar todos los paquetes del host1 local tendríamos que hacer lo mismo, pero en el Paso 5) no deberíamos indicar ningún paquete, en este caso, el script 'apt-image' asumirá que se quiere actualizar todos los paquetes del sistema ( analogo apt-get upgrade ) de manera que procederá a bajar las versiones actualizadas de todos los paquetes del host1 en el directorio imagen: #sh apt-imagen bajar "/root/apt.img-host-cristian". Bueno, y en el paso siete no deberíamos indicar ningún paquete para actualizarlos todos y así realizar un correcto upgrade del sistema en el host1.

Finalmente, recomiendo, después de haber realizado todos los pasos anteriores borrar o mover los directorios imagen inicial y final y crear uno nuevo como en el Paso 1), y copiarlo a un pendrive para poder llevarlo a todas partes. De esta forma, si estas en un PC con conexión internet y te encuentras con algún paquete interesante y lo quieres instalar en casa, te lo llevas usando 'apt-imagen' sin preocuparte por el tema de las versiones y las dependencias de éste.

Espero que a más de alguno le pueda servir este script, y si tienen algún comentario o reporte de falla favor de escribirme a : cmunox@gmail.com

Saludos, y no olviden debianizarse y mineralizarse ...

lunes, 3 de marzo de 2008

* BIENVENIDOX

Mi Nombre: Cristian Muñoz Martínez.
Nacionalidad : Chileno
Actividad: Administrador de Servidores ( Correo, Web, Dns, Radius ) en Linux of course ...
Distribución Linux Favorita: Debian GNU/Linux
Email: cmunox@gmail.com




Este blog tiene como finalidad devolver la mano al mundo del software libre el cual ha sido de gran ayuda para mí, tanto en la parte laboral como personal.
La idea es poder compartir información, experiencias y conocimientos a través de noticias, artículos, tutoriales, scripts, recetas, datos, etc ...
Bueno, como a mi me gusta ir rápidamente al grano no los aburriré con extensas introducciones.
Entonces, se da por inaugurado este blog, espero que les guste y que les sirva ...

Saludos

cmunox