Hablando de tuberÃas, mujeres y traiciones
2008-01-21 13:47:31-06
BSD
Problema
Vamos a suponer que tienes un directorio que te está ocupando mucho espacio y no tienes lo suficiente para poder crear el archivo tar, comprimirlo con el gzip, crear la imágen y quemarlo.
Solución
Con este “sencillo” comando te libras del asunto:
[$] tar cf - path/to/files | \
gzip --best --to-stdout - | \
mkisofs -J -joliet-long -r -root / -stream-media-size 333000 -udf -V "Nombre del disco" - | \
cdrecord -v -eject speed=0 dev=/dev/cdburner tsize=333000s -
gzip --best --to-stdout - | \
mkisofs -J -joliet-long -r -root / -stream-media-size 333000 -udf -V "Nombre del disco" - | \
cdrecord -v -eject speed=0 dev=/dev/cdburner tsize=333000s -
Explicación
Los caracteres “\” forman parte del shell y permite separar el comando por líneas para su mejor comprensión.
tar
Este programa se encargará de agrupar todos los archivos del directorio.| Opción |
Descripción |
| c |
Crea un nuevo archivo. |
| f - |
Se envía a la sálida estándar, stdout. |
| path/to/files |
La ruta de acceso de los archivos. |
| | |
La tubería. El enlace hacia el otro programa. |
gzip
Vamos a comprimir cada uno de los archivos con el máximo nivel de compresión, sino estás interesado en este nivel, puedes ocupar otros niveles variando desde --fast (nivel -0) hasta el nivel máximo --best (nivel -9).| Opción |
Descripción |
| --best |
Máximo nivel de compresión. |
| --to-stdout |
Escribimos el resultado a la salida estándar. |
| - |
Leemos desde la entrada estándar, stdin. |
| | |
Redigirimos todo hacia el otro programa. |
mkisofs
Vamos a generar la imágen del disco.
No es necesario especificar el archivo de salida (stdout) ya que cuando se omite la opción “-o filename”, se manda la información automáticante hacia éste.
| Opción |
Descripción |
| -J |
Permite usar el disco en Windows. |
| -joliet-long |
Permite los nombres largos en Windows. |
| -r |
Permite los nombres largos en Unix (*BSD, GNU/Linux, etc.) |
| -root / |
Reubica los archivos en el directorio raiz (/) del CD. |
| -stream-media-size 333000 |
Esta opción permite el encadenamiento, sin éste no se podría generar la imágen del CD. |
| -udf |
Usa esta opción si vas a quemar un DVD de datos. |
| -V "Nombre del disco" |
El nombre que aparece cuando se monta el disco |
| - |
Escribimos todo a la salida estándar, stdout. |
| | |
Mandamos todo hacia el siguiente comando. |
cdrecord
Finalmente llegamos al último comando.
Para que sepas en dónde está mappeado el quemador en tu sistema, sólo basta con que ejecutes:
[$] cdrecord -scanbus
En algunos sistemas, sobre todo en los *BSD's, es posible que este comando no funcione. En ese caso te aconsejo que cheques las notas de la instalación vía pkg_info. Por ejemplo en NetBSD y en FreeBSD podrías utilizar el siguiente comando:
[$] pkg_info | grep cdrtools | sed 's/ .*//' | xargs pkg_info -D
en OpenBSD sólo cambia la opción “-D” por la opción “-M” del último comando.
En GNU/Linux puedes checar el manual de cdrecord, mkisofs, genisoimage (el equivalente de mkisofs) o de wodim (el equivalente de cdrecord).
| Opción |
Descripción |
| -v |
Indicamos que nos diga qué todo esta pasando (verbose mode). |
| -eject |
Que “escupa” el disco cuando acabe. |
| speed=0 |
Escogemos la velocida más lenta posible para evitar las insuficiencias de bufer. |
| dev=/dev/cdburner |
El resultado del comando “cdrecord -scanbus”. |
| tsize=333000s |
El “encadenamiento” de cdrecord con mkisofs. |
| - |
Leemos los datos desde la entrada estándar, stdin. |
Y listo. Después de un rato ya tenemos un nuevo CD/DVD con ese directorio que tanto queremos respaldar (cof cof pr0n cof cof).
Observaciones generales
Como habrás notado, en toda la serie de comandos nunca dimos un nombre de archivo, te preguntarás “¿y cómo diablos se guarda el directorio en la imágen del disco?”.
La respuesta nos la da el manual de mkisofs/genisoimage:
“-stream-media-size #
If this option has been specified, mkisofs reads from stdin and creates a file with the name STREAM.IMG.”
En otras palabras, cuando montes el CD/DVD lo único que verás en él es un archivo llamado “STREAM.IMG” el cual es un archivo como si fuera “STREAM.tar.gz” y lo puedes descomprimir de la siguiente manera:
[$] tar vxzf /mnt/cdrom/STREAM.IMG
en el directorio donde quieres que se descomprima.
Es importante que tengas el cuidado de no crear un proceso que pueda afectar al proceso entero del agrupamiento/genzippado/generado la imágen/quemado de la imágen, ya que si el quemador se llegara a quedar sin datos en el búfer ¡adiós Nicanor con tu disco!
Es por eso que elegimos la velocidad más lenta para quemar el disco.
Todo este procedimiento puede ser reemplazado por el K3B, pero incluso a veces éste falla y ¡mocos! adiós disco.
Suerte y ¡¡¡shut up and hack!!!
Permalink: http://www.mononeurona.org/users/entry/asarch/1072
Tu decides...
2008-01-18 09:51:57-06
Comentarios personales
...máquina para PADROTEAR o máquina para APRENDER.
Una máquina para padrotear sería una que tenga GNU/Linux.
Una máquina para aprender sería una que tenga cualquier BSD.
En el prólogo de su libro “El Lenguaje de Programación C++” Bjarne Stroustrup dice que:
“Solo entendiendo bien las ideas que hay detrás de las capacidades de un lenguaje es posible dominar a éste”.
a esto me gustaría comentar al respecto:
“Para que puedas dominar a un sistema operativo tienes que entender cómo funciona su proceso de configuración”.
Cualquier usuario que lleve 10 años con su sistema operativo sino sabe, por ejemplo, cómo activar y cómo definir el servidor para el protocolo NTP (Network Time Protocol) a mano, está perdido.
Las distribuciones de Linux son bonitas, lo tienen todo: el flash funciona perfectamente, te reconocen la mayoría del hardware, sus instaladadores gráficos con solo dos clics te ponen a punto el sistema, es muy raro encontrar una máquina en donde de plano ninguna distro jale.
Pero en esta “abstracción de configuración” se pierde mucho el aprendizaje de un sistema.
Este proceso es bonito si por ejemplo tienes que reparar la máquina de la secretaria de tu jefe, o la máquina de algún familiar que solamente te permite estar cuatro horas a lo mucho con su preciado tesoro.
Por otro lado, por ejemplo en NetBSD en donde tienes que definir todo a mano, desde el nombre la máquina hasta qué sesiones estarán disponibles en el GDM (GNOME Display Manager). Es una oportunidad única que no la podrás encontrar donde quiera y que pocos realmente disfrutan.
Como dice el dicho “la varidedad dá sabor a la vida”, pienso que todos debemos tener por lo menos una partición de cada una.
Una máquina para padrotear sería una que tenga GNU/Linux.
Una máquina para aprender sería una que tenga cualquier BSD.
En el prólogo de su libro “El Lenguaje de Programación C++” Bjarne Stroustrup dice que:
“Solo entendiendo bien las ideas que hay detrás de las capacidades de un lenguaje es posible dominar a éste”.
a esto me gustaría comentar al respecto:
“Para que puedas dominar a un sistema operativo tienes que entender cómo funciona su proceso de configuración”.
Cualquier usuario que lleve 10 años con su sistema operativo sino sabe, por ejemplo, cómo activar y cómo definir el servidor para el protocolo NTP (Network Time Protocol) a mano, está perdido.
Las distribuciones de Linux son bonitas, lo tienen todo: el flash funciona perfectamente, te reconocen la mayoría del hardware, sus instaladadores gráficos con solo dos clics te ponen a punto el sistema, es muy raro encontrar una máquina en donde de plano ninguna distro jale.
Pero en esta “abstracción de configuración” se pierde mucho el aprendizaje de un sistema.
Este proceso es bonito si por ejemplo tienes que reparar la máquina de la secretaria de tu jefe, o la máquina de algún familiar que solamente te permite estar cuatro horas a lo mucho con su preciado tesoro.
Por otro lado, por ejemplo en NetBSD en donde tienes que definir todo a mano, desde el nombre la máquina hasta qué sesiones estarán disponibles en el GDM (GNOME Display Manager). Es una oportunidad única que no la podrás encontrar donde quiera y que pocos realmente disfrutan.
Como dice el dicho “la varidedad dá sabor a la vida”, pienso que todos debemos tener por lo menos una partición de cada una.
Permalink: http://www.mononeurona.org/users/entry/asarch/1065
Cómo insertar un video en la MonoNeurona
2008-01-17 10:35:52-06
Hacks
Necesitas lo siguiente:
- Usar el Firefox.
- El código del video:
<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/gJ9bk8us3yo&rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/gJ9bk8us3yo&rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object>
- Activar el código fuente de HTML en la entrada:
- Ahora inserta el código del video, agrega el post y listo.
Permalink: http://www.mononeurona.org/users/entry/asarch/1060
XDM en NetBSD usando el X11 del pkgsrc
2008-01-13 13:18:55-06
BSD
Sólo sigue estos pasos:
- Primero eliminamos el directorio de configuración por default (no te preocupes, está vacío):
[#] rmdir /etc/X11/xdm
- Ahora creamos el enlace del directorio de configuración del XDM del pkgsrc:
[#] ln -s /usr/pkg/lib/X11/xdm /etc/X11
- Cambiamos el nombre del viejo script de inicio del XDM:
[#] mv /etc/rc.d/xdm /etx/rc.d/xdm.old
- Ahora creamos el enlace del script de inicio del XDM del pkgsrc:
[#] ln -s /usr/pkg/share/examples/rc.d/xdm /etc/rc.d
- Habilitamos el XDM en cada booteo:
[#] vi /etc/rc.conf
# Let's use XDM
xdm=YES
xdm_flags=""
# Let's use XDM
xdm=YES
xdm_flags=""
- Habilitamos una consola virtual para el XDM:
[#] vi /etc/X11/xdm/Xservers
:0 local /usr/pkg/bin/X :0 vt04
:0 local /usr/pkg/bin/X :0 vt04
- Y descativamos la terminal que le corresponde para que no entre en conflicto con el XDM:
[#] vi /etc/ttys
ttyE3 "/usr/libexec/getty Pc" vt220 off secure
ttyE3 "/usr/libexec/getty Pc" vt220 off secure
- Reiniciamos y listo.
Permalink: http://www.mononeurona.org/users/entry/asarch/1051
KDM en NetBSD usando el X11 del pkgsrc
2008-01-10 23:46:44-06
BSD
Ahora le toca el turno al KDE:
Reiniciamos y listo.
Por cierto, si no quieres usar el GMD o el KDE solamente desactívalos para cada caso:
Suerte y ¡shut up and hack!
- Primero creamos el enlace del script de inicio:
[#] ln -s /usr/pkg/share/examples/rc.d/kdm /etc/rc.d
- Despues creamos el enlace del directorio de configuración del KDM:
[#] ln -s /usr/pkg/etc/kdm /etc
- Ahora activamos el script en cada booteo:
[#] vi /etc/rc.conf
# Let's use KDE
kdm=YES
kdm_flags=""
# Let's use KDE
kdm=YES
kdm_flags=""
Reiniciamos y listo.
Por cierto, si no quieres usar el GMD o el KDE solamente desactívalos para cada caso:
[#] vi /etc/rc.conf
- Para el KDM:
kdm=NO
- Para el GDM:
gdm=NO
Suerte y ¡shut up and hack!
Permalink: http://www.mononeurona.org/users/entry/asarch/1046
GDM en NetBSD usando el X11 del pkgsrc
2008-01-10 17:34:30-06
BSD
Primero creamos el enlace del script del inicio:
Ahora creamos el enlace del directorio de configuracion del GDM:
Configuramos el GDM para que use el X11 del pkgsrc:
Ahora iniciamos el GDM en el booteo:
Reiniciamos y listo.
Muchas gracias a esta persona por haber posteado este hack en su blog:
http://abekatsu.air-nifty.com/diary/2007/07/run_modular_xor.html
Thank you, thank you very much for posting this hack in your blog.
[#] ln -s /usr/pkg/share/examples/rc.d/gdm /etc/rc.d/gdm
Ahora creamos el enlace del directorio de configuracion del GDM:
[#] ln -s /usr/pkg/etc/gdm /etc/gdm
Configuramos el GDM para que use el X11 del pkgsrc:
[#] vi /etc/gdm/custom.conf
[servers]
0=Xorg
[server-Xorg]
name=Xorg
command=/usr/pkg/bin/X :0
[servers]
0=Xorg
[server-Xorg]
name=Xorg
command=/usr/pkg/bin/X :0
Ahora iniciamos el GDM en el booteo:
[#] vi /etc/rc.conf
# Let's use GDM
gdm=YES
gdm_flags=""
# Let's use GDM
gdm=YES
gdm_flags=""
Reiniciamos y listo.
Muchas gracias a esta persona por haber posteado este hack en su blog:
http://abekatsu.air-nifty.com/diary/2007/07/run_modular_xor.html
Thank you, thank you very much for posting this hack in your blog.
Permalink: http://www.mononeurona.org/users/entry/asarch/1043
Cómo usar el X11 del pkgsrc en NetBSD
2008-01-10 13:09:22-06
BSD
Preámbulo
Una noche platicando con un familiar acerca del mundo del BSD se me ocurrió plantearle que usara el recién salido del horno el NetBSD 4.0.
Como sabrán el NetBSD es la única versión de los tres principales BSD que sigue usando el viejo XFree86 y como tal, el soporte a las tarjetas gráficas es muy limitado.
Entonces se me ocurrió una idea el cual a continuación explayo.
Preparando el sistema
En la instalación del NetBSD en la siguiente opción selecciona “Custom installation”:
y seleccionas todo excepto el paquete del modo gráfico:
y continúas con la instalación normal.
Preparando el pkgsrc para el NetBSD
Como el pkgsrc no necesita del procedimiento del bootstrapping en NetBSD, solamente hacemos lo siguiente:
- Primero a preparas el CVS:
[#] vi ~/.cvsrc
# recommended CVS configuration file from the pkgsrc guide
checkout -P
update -dP
release -d
diff -upN
cvs -q -z3
rdiff -u
# recommended CVS configuration file from the pkgsrc guide
checkout -P
update -dP
release -d
diff -upN
cvs -q -z3
rdiff -u
- Luego las variables de entorno:
[#] vi ~/.profile
# Let's add CVS vars
#
CVSROOT="anoncvs@anoncvs.NetBSD.org:/cvsroot"
CVS_RSH="ssh"
export CVSROOT CVS_RSH
# Let's add pkgsrc's path
#
PATH="$PATH:/usr/pkg/sbin:/usr/pkg/bin"
MANPATH="$MANPATH:/usr/pkg/man"
export PATH MANPATH
# Let's add CVS vars
#
CVSROOT="anoncvs@anoncvs.NetBSD.org:/cvsroot"
CVS_RSH="ssh"
export CVSROOT CVS_RSH
# Let's add pkgsrc's path
#
PATH="$PATH:/usr/pkg/sbin:/usr/pkg/bin"
MANPATH="$MANPATH:/usr/pkg/man"
export PATH MANPATH
- Ahora descargamos el árbol estable del pkgsrc:
[#] cd /usr
[#] cvs -q checkout -rpkgsrc-2007Q4 -P pkgsrc
[#] cvs -q checkout -rpkgsrc-2007Q4 -P pkgsrc
- Preparamos la audición de los paquetes:
[#] cd /usr/pkgsrc/security/audit-packages
[#] make fetch-list | sh && make && make install && make package && make distclean clean-depends
[#] make fetch-list | sh && make && make install && make package && make distclean clean-depends
- Auditamos los paquetes:
[#] cd /usr/pkg/sbin
[#] ./download-vulnerability-list
[#] ./audit-packages
[#] ./download-vulnerability-list
[#] ./audit-packages
Y listo, el pkgsrc ya esta muy cómodo en su entorno natural.
Instalando el XOrg del pkgsrc
- Primero modificamos el comportamiento del pkgsrc:
[#] vi /etc/mk.conf
# Let's use a modular X11
X11_TYPE=modular
# Let's use a modular X11
X11_TYPE=modular
- Ahora viene lo bueno, instalar el X11. Solamente necesitamos instalar los siguientes paquetes coloreados de azul:
[#] ls /usr/pkgsrc/meta-pkgs
CVS modular-xorg-libs
Makefile netbsd-doc
boost netbsd-doc-print
courier netbsd-www
fxtv-capture php4-extensions
gnome php5-extensions
gnome-base pkg_developer
gnome-devel pkgsrc-guide-tools
gnuradio ruby-gnome2
gnustep suse100
gtk2-extras suse9
kde3 web-server
matchbox windowmaker-desktop
modular-xorg-apps xfce4
modular-xorg-drivers xfce4-extras
modular-xorg-fonts
CVS modular-xorg-libs
Makefile netbsd-doc
boost netbsd-doc-print
courier netbsd-www
fxtv-capture php4-extensions
gnome php5-extensions
gnome-base pkg_developer
gnome-devel pkgsrc-guide-tools
gnuradio ruby-gnome2
gnustep suse100
gtk2-extras suse9
kde3 web-server
matchbox windowmaker-desktop
modular-xorg-apps xfce4
modular-xorg-drivers xfce4-extras
modular-xorg-fonts
para ello podríamos instalar paquete por paquete e ir uno por uno o hacer uso de este sencillo “script” del C Shell:
[#] cd /usr/pkgsrc/meta-pkgs
[#] exec csh
[#] foreach dir ( modular-xorg* )
? cd $dir
? echo Instalando el paquete $dir...
? make fetch-list | sh && make && make install && make package && make distclean clean-depends
? cd ..
? end
[#] exec csh
[#] foreach dir ( modular-xorg* )
? cd $dir
? echo Instalando el paquete $dir...
? make fetch-list | sh && make && make install && make package && make distclean clean-depends
? cd ..
? end
recuerda que el “?” forma parte del sub-shell y que no lo tienes que teclear.
Usando el nuevo X11
Depues de unas 20 horas ya tienes el X11 vía pkgsrc. Ahora ya lo puedes configurar como normalmente lo haces en tu distribución favorita:
[#] xorgconfig
e incluso instalar el resto de las aplicaciones:
- El GNOME:
[#] cd /usr/pkgsrc/meta-pkgs/gnome
[#] make fetch-list | sh && make && make install && make package && make distclean clean-depends
[#] make fetch-list | sh && make && make install && make package && make distclean clean-depends
- El KDE:
[#] cd /usr/pkgsrc/meta-pkgs/kde3
[#] make fetch-list | sh && make && make install && make package && make distclean clean-depends
[#] make fetch-list | sh && make && make install && make package && make distclean clean-depends
- El XFCE4:
[#] cd /usr/pkgsrc/meta-pkgs/xfce4
[#] make fetch-list | sh && make && make install && make package && make distclean clean-depends
[#] make fetch-list | sh && make && make install && make package && make distclean clean-depends
Con este procedimiento ya puedes despreocuparte si el NetBSD le dá o no soporte a tu tarjeta gráfica:
Suerte y are there any wussies that still install software via apt-get? Or any l337 hax0rs that use aptitude? Chk, chk, chk... ;-P
Permalink: http://www.mononeurona.org/users/entry/asarch/1042
Futbol Cracks
2008-01-01 11:28:46-06
General
Permalink: http://www.mononeurona.org/users/entry/asarch/1030
Duende o gnomo jugando futbol
2008-01-01 09:16:45-06
Mitos
Permalink: http://www.mononeurona.org/users/entry/asarch/1029
Ten cuidado con lo que haces...
2007-12-27 14:42:40-06
Hacks
Permalink: http://www.mononeurona.org/users/entry/asarch/1027















