Conoces algo sobre la fisica cuantica?, enterate un poco de que o como es, aqui
http://www.ytuquesabes.es/
So, what´s your price? - ¿Y tu cuanto cuestas?
A very nice movie, el hunk tenia razon
El ser humano es una parte de un conjunto, llamada por nosotros el _universo_, una pieza limitada a tiempo y espacio. Él experimenta, sus pensamientos y sensaciones como algo separado del resto… una clase de ilusión óptica de su sentido. Esta ilusión es una clase de prisión para nosotros, restringiéndonos a nuestros deseos personales y al afecto para solo algunas personas lo más cerca posible a nosotros. Nuestra tarea debe ser liberarse de esta prisión ensanchando nuestro círculo de la compasión para abrazar todas las criaturas vivas en conjunto con la naturaleza y su belleza. Albert Einstein
* Ficheros tar.gz
Comprimir: tar -czfv archivo.tar.gz ficheros
Descomprimir: tar -xzvf archivo.tar.gz
Ver contenido: tar -tzf archivo.tar.gz
Instalacion de NetBSD WorkStation 2.0 Antes de continuar he de advertir que instalar una estacin La instalacion de NetBSD es bastante sencilla, los lenguajes El wd1 (wd0 es el DD de 40 GB), pero si solo se tiene un Como ya tenia Debian instalado le indique que editara el Solo deb modificar el numero de megas asignados para que Seleccione la zona horaria, el bootblock, el tipo de encriptacion Segn yo, le indique al instalador que hiciera NetBSD booteable, al /boot/grub/menu.lst (en Debian), funcionara, Post-Instalacin La configuracion posterior de NetBSD incluye definir el hostame en /etc/rc.conf, Para poner la fecha y hora “12 de Febrero del 2005 a la Ahora en /etc/rc.conf ponemos “hostname=Diabolica” adems hay que gregar el soporte para softdep Configurar Existen dos maneras de instalar paquetes en NetBSD pkg_add Algo desconcertante de pkg_add, es que no muestra ninguna Sucede que quize ahorrar tiempo de compilacion descargando El primer paso para usar pkgsrc es descargar el Y descomprimirlo: # tar -zxvf pkgsrc.tar.gz Luego de instalar el arbol de ports, el proceso # make install El primer paquete a instalar es sin duda el Bash, la shell recuerde agregar el PATH y el TERM=xterm a los archivos Dado que en Debian aun no hay paquetes X.org, decid probarlo Para montar una particion ext2 o ext3 de Linux Lo siento, NetBSD no soporta ReiserFS ni XFS ;-(. Para montar mi USB Pen Drive: Si embargo, parece que si se monta y se desmonta el USB Para que el mouse funcione, en el archivo /etc/X11/XF86Config Option “Device” “/dev/psaux” Por: No tuve que configurar nada de la tarjeta de sonido, simplemente Al final logre tener una estacion de trabajo agradable Conclusion No es mi intencion discutir ningun aspecto tecnico entre NetBSD es una excelente estacin de trabajo, con gran estabilidad, No obstante, un serio punto a considerar es que la lista Por otro lado, NetBSD es un sistema mas difcil de configurar Nota de actualizacion: Al parecer el problema /usr/pkg/share/xsessions/xfce4.desktop: Exec=xfce4-session Como en muchos otros proyectos de OpenSource (Python, Ruby, Zope, etc.) sospecho

de trabajo NetBSD es un especie de ejercicio espiritual Zen donde la paciencia
es retada a superar una difcil (y larga) prueba. Comence a instalar NetBSD un
sabado en la tarde y conclui el mircoles en la noche. De modo que mentalcese,
respire profundamente, encienda una varita de incienso y adopte la posicin de
flor de loto antes de colocar el CD de NetBSD en la unidad
. Esta es la lista
de mi hardware:
disponibles en el instalador (sysinst) son, ingles, aleman, frances spañol
y polaco. A continuacin se nos preguntar si deseamos instalar NetBSD en el disco
duro, reinstalar o actualizar nuestro sistema. Al seleccionar “Instalacion”
en el disco duro sysinst nos presentara los discos disponibles. En Linux, las
unidades IDE disponibles comienzan con hda, hdb, hdc etc, en NetBSD comienzan
con wd0, wd1, wd2, etc:
disco duro se debe elegir wd0. Sysinst nos preguntar si queremos una instalacion
completa o una instalacion personalizada, al final resulto lo mismo porque al
elegir la opcion “Custom”, seleccione “Install selected sets” porque no supe
que poner o quitar:
MBR. La unidad de medicin que seleccione fue “megabytes”. Sysinst encontro las
particiones de Linux, le asigne a Debian 80 GB en dos particiones primarias
y tres lgicas de manera que el instalador de NetBSD encontro dos particiones
primarias libres. Asigne a una de ellas los 40 GB restantes seleccionando “NetBSD”
en el “Kind”. Me pregunto si deseaba instalar el “boot select” y le dije “Yes”.
Despues de ello el instalador me sugiri varias particiones donde montar el root,
swap, home:
las particiones ocuparan todos los 40 GB que haba establecido en el paso anterior.
Luego de ello comenze el formateado FFS de las particiones. En el “Choosing
installation media” seleccione “CD” y despues de unos minutos lo paso todo al
disco duro.
de las contraseas y teclee el password de root. Al final sysinst envio un mensaje
de felicitacion y ya tengo NetBSd en mi disco!
sin embargo al reiniciar, GRUB solo me mostro las opciones de Debian. No
problem, una rapida “googleada” me dijo que agregando:
title NetBSD 2.0
root (hd1,1)
chainloader +1
y en efecto, al reiniciar ya pude entrar a NetBSD.
establecer el teclado en espaol en /etc/wscons.conf (”encoding=es”) y configurar
la zona horaria agregando “kern.rtc_offset=-60″ al archivo /etc/sysctl.conf
y creando una liga simbolica:
# ln -s /usr/share/zoneinfo/Mexico/General
/etc/localtime
1:25 PM” tecleamos:
# date 200502121325
y en /etc/hostname “Diabolica”.
al archivo /etc/fstab. Todo ello est en el manual.
el DSL de Infinitum fue un tanto laborioso, pero no dio problemas.
Otro asunto fue la instalacion de los paquetes, Debian me tiene muy mal acostumbrado!
para instalar paquetes binarios, verbigracia
pkg_add ftp://ftp.netbsd.org/pub/NetBSD/packages/2.0/i386/lang/kaffe-1.1.4nb3.tgz
barra de avance, asta que uno no sabe si esta descargando el paquete o no. Por
otra parte, pkgsrc compila e instala paquetes desde
las fuentes, a la manera del emerge de Gentoo (o
emerge lo hace como pkgsrc?, no lo se. Resulta que las versiones de los paquetes
disponibles a traves de pkg-add no corresponden a los disponibles por pkgsrc.
Si alguien me hubiese informado de este hecho me habra ahorrado un gran dolor
de cabeza (y varias horas de pelea con pkg_add).
las versiones binarias de varias libreras (al igual que en Gentoo, compilar
todo el sistema me parece una perdida de tiempo innecesaria) pero al no coincidir
las versiones de pkgsrc me enviaba mensajes de error. Al final tuve que borrar
las versiones con pkg_delete y luego volver a instalar esos mismos paquetes
desde las fuentes. Esta falta de concordancia entre los paquetes me parece un
serio inconveniente para NetBSD y es un aspecto en el cual aun se debe trabajar.
arblo de ports en /usr:
# cd /usr
# ftp ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/pkgsrc.tar.gz
de instalacion de un paquete inicia con su ubicacion dentro del directorio /usr/pkgsrc.
Consulte la pagina
de ports de NetBSD. Los meta-paquetes que se encuentran en /usr/pkgsrc/meta-pkgs
son muy utiles pues nos permiten instalar un escritorio completo (KDE, Gnome,
XFCE4) sin tener que estar instalando los paquetes de manera individual. Un
paquete tpico se instala con los siguientes pasos:
# make
# make clean && make clean-depends
por omision de NetBSD es la insufrible csh. Luego de instalar el Bash
es necesario modificar el shell del usuario root y normal con el comando chsh:
#chsh -s bash -l root
#chsh -s bash -l mmontoya
.bashrc y .bash_profile. Ademas, hay que agregar al usuario normal al grupo
“wheel” en el archivo /etc/group para que pueda hacer “su root”:
wheel:*:0:root,mmontoya
en NetBSD. Me coloqu en /usr/pkgsrc/xorg-server y le di el “make install” para
la compilacin, luego saque al perro, vi “Los Simpson” (el captulo en que Krusty
celebra su Bar mitzva con “Mister T” y Homero tiene un programa de
television), vi con mi novia el show de los cinco gays que ayudan a un heterosexual
en su cita, fui a Superama, cenamos, volvi a sacar al perro… y an no terminaba
de compilar (lo de la paciencia era en serio!).
usamos el comando mount:
#mount -t ext2fs /dev/wd1k /mnt/linux
Para montar una particion vfat de Windows:
#mount -t msdos /dev/wd0b /mnt/windows
#mount -t msdos /dev/sd0e /mnt/llavero
Pen Drive, hay que hacer un pequeo hack de limpieza de buffer para montarlo
otra vez en la misma sesion, (yo lo intente pero no me funciono y me vi obligado
a reiniciar). Los chicos de NetBSD ya estan trabajando en este bug. Por otro
lado, el quemador se instala sin problemas, instale cdrecord con pkgsrc y luego
de un “cdrecord -scanbus” lo ubico en el inusual device “15,1,0″, pero pude
quemar facilmente.
se deben cambiar las lineas:
Option “Protocol” “PS2″
Option “Protocol” “wsmouse”
Option “Device” “/dev/wsmouse”
instale XMMS con pkgsrc y pude escuchar de inmediato las canciones OGG Vorbis
y MP3 de mi particion Linux usando los mdulos OSS (ALSA no viene por default).
y funcional:
los BSD y otros sistemas (i.e. SysV vs BSD) pues no me siento lo suficientemente
capacitado para ello. Tampoco quiero empezar un debate sobre cual licencia (GPL
vs BSD) es la mas libre o ingenua. El punto es, cules son las diferencias entre
Debian y NetBSD al considerarlas como candidatas para una WorkStation?
desempeño y una generosa cantidad de software disponible. Trabajar con
OpenOffice.org, Mozilla o Gimp es una delicia: nada falla, pasan las horas y
nada se cierra abruptamente, todo esta pronto y expedito. Como se ve, estoy
encantado con mi nuevo juguete
.
de hardware soportado por NetBSD es mucho menor a la existente para Linux. Ademas,
a pesar de que instale todo desde la fuentes, no aprecie un aumento significativo
en la velocidad de NetBSD en relacion a Debian SID, instalado en el mismo equipo
y usando los mismos programas. La cuestin del desfase de versiones entre binarios
y fuentes es cosa seria y al parecer no se resolvera en mucho tiempo: cuando
quise editar mi pgina Web con BlueFish (como suelo hacerlo), pkgsrc
se tardo cuarenta y cinco minutos, al acabar yo ya estaba en otra cosa.
que Debian, hasta la fecha el flash player y Java se niegan a funcionar,
a pesar de que ya he seguido las indicaciones para la emulacion de Linux. El
muy necio GDM se niega a dejarme entrar a otra cosa que no sea Gnome (entro
a WM con “startx /usr/pkg/bin/wmaker”). Adems, constantemente recibo mensajes
de error de Samba!! (que yo nunca instale o intente instalar!). Las fuentes
de Mozilla se despliegan de esa manera pequena y desdibujada de Mandrake 6.0
que ya haba olvidado. Todo ello es debido a que Debian esta lleno de archivos
“postinstall” y Wizards que ayudan a configurar el sistema. Se que
muchos fans de Debian se molestarn si digo que Debian esta lleno de Wizards
pero es cierto, la diferencia con Mandrake es que los Wizards de Debian estan
hechos en Ncurses y no en Qt. Como sea, NetBSD solo instala binarios “pelones”,
es decir, sin configurar, de modo que si van a instalar una estacion de trabajo
NetBSD deben leer mas, pero el resultado sin duda vale la pena.
Un tema de Window Maker que hice para mi WorkStation con NetBSD.
de las fuentes feas no era de NetBSD sino de X.org, al desintalarlo por Xfree86
las fuentes ahora se ven igual de nitidas que en Debian. Para tener el Flash
player se debe instalar firefox-gtk2-bin (emulacion linux) y no firefox-gtk2.
Java funciona sin problemas con la versin 1.5 en /usr/pkgsrc/lang/sun-jre15.
Para agregar otro escritorio (en este caso XFCE4) a GDM agregue el archivo
[Desktop Entry]
Encoding=UTF-8
Name=XFCE4
Comment=This session logs you into XFCE4
TryExec=xfce4-session
# no icon yet, only the top three are currently used
Icon=
Type=Application
que NetBSD es un recurso subutilizado por su escasa documentacion, practicamente
solo existe la disponible en su sitio Web. Su canal en irc.freenode.net (#netbsd)
es amigable, pero de los mas lnguidos, y en l, hay pocos usuarios avanzados
que estan dispuestos a explicar a un newbie como solucionar un problema en
NetBSD. No obstante, vale la pena conocer este sabor de Unix, sobre todo si
su hardware es compatible.
Special thanks to aarkerio ![]()
Create IPtables and PF rules in a graphical mode,
with http://www.fwbuilder.org/
Creación de un LiveCD con OpenBSD 4.0
Para este proceso nosotros realizaremos lo siguiente para evitar que nuestro sistema tenga información redundante o se haga un ciclo al momento de copiar todo el sistema trabajaremos sobre 2 máquinas, una que será llamada firewall y otra que será backup para ello llevaremos la siguiente secuencia de pasos.
Nota: Podrás ocupar VMware o algún otro programa de emulación como QEMU
1. Instalar el sistema base en los 2 equipos
2. Configurar el firewall tal y como deseamos que quede en el livecd con las aplicaciones y reglas predefinidas.
3. Copiar todo el sistema a la máquina backup
4. Personalizar y compilar el kernel del livecd
Una vez configurado el sistema en el firewall procederemos a enviar todo el sistema por medio de una tubería a la máquina backup de la siguiente forma.
# tar -pzcf - / | ssh root@backup dd of=/tmp/firewall.tgz
tar: Removing leading / from absolute path names in the archive
Si es la primera vez que nos conectamos a esta máquina se importará su clave del host a lo que responderemos Yes
The authenticity of host ‘backup (192.168.100.4)’ can’t be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
En su defecto simplemente escribiremos el password del usuario con el que deseamos conectarnos.
root@backup’s password:
Tecleamos el password de root o del usuario que hayamos elegido.
Con esto estamos empaquetando todo el sistema y esta siendo enviado via ssh a la máquina backup y será almacenado en el directorio /tmp con el nombre de firewall.tgz
Una vez terminado tendremos algunos errores pero no se preocupen nada grave simplemente son archivos que se encuentran trabajando y por lo tanto no se puede hacer una copia exacta de ellos.
tar: Ustar cannot archive a socket /var/cron/tabs/.sock
tar: Ustar cannot archive a socket /var/empty/dev/log
tar: Ustar cannot archive a socket /dev/log
280052+5 records in
280053+1 records out
143387179 bytes transferred in 141.512 secs (1013248 bytes/sec)
Ahora estando en la máquina backup teclearemos lo siguiente uno para crear la carpeta y para desempaquetar todo el sistema anterior.
Nota: Es importante saber que ahí hay suficiente espacio o en su defecto poner otro directorio con mayor capacidad, para ver que particiones tienen suficiente espacio podriamos teclear df –h:
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/wd0a 503M 38.1M 440M 8% /
/dev/wd0g 3.0G 2.0K 2.8G 0% /home
/dev/wd0f 3.0G 137M 2.7G 5% /tmp
/dev/wd0d 3.0G 504M 2.3G 18% /usr
/dev/wd0e 3.0G 4.4M 2.8G 0% /varAquí podremos observar que en /usr tenemos 2.3 gb libres suficientes para nuestra tarea.
Aunque podría ser cualquier otro directorio
# mkdir /usr/livecd
# tar -pzxf /tmp/firewall.tgz -C /usr/livecd/
# mkdir -p /usr/livecd/backups/dev; chmod 755 /usr/livecd/backups/dev
Borraremos información que podría ser sensitiva como el historial del shell o algun otro documento importante, así como también serán borradas claves de ssh, para que al iniciar el sistema cree una nueva de acuerdo al nuevo equipo en que se esta iniciando el livecd.
# rm -i /usr/livecd/root/{.history,.viminfo}
# rm -i /usr/livecd/home/*/{.history,.viminfo}
# rm -rf /usr/livecd/{src,ports}/*
# rm /usr/livecd/etc/ssh/*key*
# rm -rf /usr/livecd/var/tmp/*
# rm -rf /usr/livecd/tmp/*
También los logs serán eliminados
for log_file in `find /usr/livecd/var/log -type f`
do
echo “” > $log_file
done
Necesitamos respaldar algunos directorios que serán utilizados después
cp -pR /usr/livecd/{var,etc,root,home} /usr/livecd/backups/
cp -pR /usr/livecd/dev/MAKEDEV /usr/livecd/backups/dev/
Instalación de cruchgen , crunchide y libstubs
En la máquina de backup procederemos a instalar algunos programas que serán necesarios para la construcción y compilación del nuevo sistema como son crunchgen y crunchide, así como la librería libstubs.
Primero que nada debemos desempaquetar estos archivos ya que no se encuentran de manera preinstalada dentro de OpenBSD he aquí la secuencia de pasos:
Extracción de las fuentes de OpenBSD que en nuestro caso se encuentran en el CDROM, en caso de no tener el CDROM pueden bajarlo del sitio.
ftp://ftp.openbsd.org/pub/OpenBSD/4.0
Teniendo listo nuestro cdrom de OpenBSD procederemos a montar la unidad y desempaquetar el archivo src.tar.gz y sys.tar.gz:
Procederemos con lo siguiente:
Para montar la unidad de cdrom
# mount /dev/cd0a /mnt/
# cd /usr/src; tar xzf /mnt/4.0/i386/src.tar.gz
# tar zxf /mnt/4.0/i386/sys.tar.gz
Importante: Desmontar la unidad ya que si no posteriormente muestra un error en algun momento de la compilación.
# umount /mnt/
Una vez hecho esto podremos proceder a la compilación de los paquetes anteriores.
Instalación de crunchgen
# cd /usr/src/distrib/crunch/crunchgen/
# make; make install
cc -O2 -pipe -g -Wall -DMF_NAMES=’”Makefile.bsd-wrapper”,”Makefile”‘ -nostdinc -idirafter /usr/include -c crunchgen.c
sh /usr/src/distrib/crunch/crunchgen/mkskel.sh /usr/src/distrib/crunch/crunchgen/crunched_main.c > crunched_skel.c
cc -O2 -pipe -g -Wall -DMF_NAMES=’”Makefile.bsd-wrapper”,”Makefile”‘ -nostdinc -idirafter /usr/include -c crunched_skel.c
cc -o crunchgen crunchgen.o crunched_skel.o
nroff -Tascii -mandoc crunchgen.1 > crunchgen.cat1
install -c -s -o root -g bin -m 555 crunchgen /usr/bin/crunchgen
install -c -o root -g bin -m 444 crunchgen.cat1 /usr/share/man/cat1/crunchgen.0
Instalación de crunchide
# cd /usr/src/distrib/crunch/crunchide/
# make; make install
cc -O2 -pipe -nostdinc -idirafter /usr/include -c crunchide.c
cc -O2 -pipe -nostdinc -idirafter /usr/include -c elf_hide.c
cc -O2 -pipe -nostdinc -idirafter /usr/include -c ecoff_hide.c
cc -o crunchide crunchide.o elf_hide.o ecoff_hide.o
nroff -Tascii -mandoc crunchide.1 > crunchide.cat1
install -c -s -o root -g bin -m 555 crunchide /usr/bin/crunchide
install -c -o root -g bin -m 444 crunchide.cat1 /usr/share/man/cat1/crunchide.0
Instalación de la libreria libstubs
# cd /usr/src/distrib/special/libstubs/
# make; make install
cc -O2 -pipe -g -Os -D__DBINTERFACE_PRIVATE -c setlocale.c -o setlocale.o
cc -O2 -pipe -g -Os -D__DBINTERFACE_PRIVATE -c db.c -o db.o
building standard stubs library
ranlib libstubs.a
install -c -o root -g bin -m 600 libstubs.a /usr/lib/libstubs.a
ranlib -t /usr/lib/libstubs.a
chmod 444 /usr/lib/libstubs.a
Personalización del kernel
Ahora editaremos el siguiente archivo /usr/src/sys/arch/i386/conf/RAMDISK_CD
# cd /usr/src/sys/arch/i386/conf/
Por cualquier error que se puede cometer crearemos un archivo de respaldo de RAMDISK_CD de la siguiente forma
# cp RAMDISK_CD RAMDISK_CD.anterior
# vi RAMDISK_CD
Buscamos, agregamos y comentamos las siguientes líneas
option RAMDISK_HOOKS
option MINIROOTSIZE=3800
option MFS
option UNION
config bsd root on cd0a
#config bsd root on rd0a swap on rd0b and wd0b and sd0b
Podemos iniciar nuestro CD con algunas reglas de firewall
pseudo-device bpfilter 8
pseudo-device pf 1
pseudo-device pflog 1
A continuación modificaremos el siguiente archivo, al igual que el anterior haremos un respaldo de este archivo por algun cambio que pudiera ocurrir
/usr/src/distrib/i386/common/Makefile.inc
#cd /usr/src/distrib/i386/common/
#cp Makefile.inc Makefile.inc.anterior
#vi Makefile.inc
Ahora localizamos las siguientes líneas
#strip ${.OBJDIR}/boot
#strip -R .comment ${.OBJDIR}/boot
Reemplazamos las anteriores por la siguiente línea
strip -s -R .comment -K cngetc ${.OBJDIR}/boot
Ahora las siguientes
#strip bsd.strip
#strip -R .comment bsd.strip
Quitamos o comentamos las anteriores y se reemplazaran por esta.
strip -s -R .comment -K cngetc bsd.strip
Una vez hecho esto guardamos los cambios hechos y salimos.
Compilación del KERNEL RAMDISK
Este proceso puede tomar tiempo dependiendo de la velocidad del sistema además de que realizaremos unas tareas adicionales para verificar que todo este bien
Nota: Si diéramos un ls sobre este directorio veríamos que solo hay algunos paquetes, posteriormente se generan varios de los cuales nosotros solo necesitaremos el kernel generado bsd y el archivo cdrom40.fs
# cd /usr/src/sys/arch/i386/conf
# config RAMDISK_CD
# cd ../compile/RAMDISK_CD/
# make clean; make depend; make
Ahora la imagen de arranque será creada cuando es la primera vez que se hace esto el fólder obj se encuentra vació pero para evitar problemas simplemente borramos su contenido en caso que exista.
Una vez compilado el kernel tendrá que ser copiado a la nueva carpeta de livecd
# cd /usr/src/distrib/i386/ramdisk_cd/
# rm -rf obj/*
# make
# cp bsd /usr/livecd ; chown root:wheel /usr/livecd/bsd ; chmod 644 /usr/livecd/bsd
# cp cdrom40.fs /usr/livecd/
Ahora en el archivo /usr/livecd/etc/rc
# cd /usr/livecd/etc/
# vi rc
# Despues de : rm -f /fastboot # XXX (root now writeable)
echo ‘Montando unidades mfs’
mount_mfs -s 51200 -o async,nosuid,nodev,noatime swap /var
mount_mfs -i 4096 -s 6144 -o async,nosuid,nodev,noatime swap /etc
mount_mfs -i 128 -s 2048 -o async,noatime swap /dev
mount_mfs -s 6144 -o async,nosuid,nodev,noatime swap /tmp
mount_mfs -s 8192 -o async,nosuid,nodev,noatime swap /home
mount_mfs -s 8192 -o async,nosuid,nodev,noatime swap /root
sleep 2
echo -n ‘Copiando archivos: var ‘
cp -pR /backups/var/* /var
echo -n ‘etc ‘
cp -pR /backups/etc/* /etc
echo -n ‘dev ‘
cp -pR /backups/dev/* /dev
echo ‘root’
cp -pR /backups/root/.[a-z]* /root
echo ‘Creando nodos del dipositivo’
cd /dev && sh MAKEDEV all
Una vez finalizado esto eliminaremos las siguientes lineas en el archivo
/usr/livecd/backups/etc/rc
umount -a >/dev/null 2>&1
mount -uw / # root on nfs requires this, others aren’t hurt
rm -f /fastboot # XXX (root now writeable)
mount -s /usr >/dev/null 2>&1
mount -s /var >/dev/null 2>&1
echo clearing /tmp
# prune quickly with one rm, then use find to clean up /tmp/[lq]*
# (not needed with mfs /tmp, but doesn’t hurt there…)
(cd /tmp && rm -rf [a-km-pr-zA-Z]* &&
find . ! -name . ! -name lost+found ! -name quota.user
! -name quota.group -execdir rm -rf — {} ; -type d -prune)
Ahora si deseamos escribir un nuevo password para root al momento de iniciar el equipo en /usr/livecd/backups/etc/rc.local
# Add your local startup actions here.
# We need a root Password
echo ‘Escribe en nuevo password para root’
passwd
Actualizar el /usr/livecd/etc/fstab
# cd /usr/livecd/etc/
# vi fstab
Como nuestro sistema se estará ejecutando desde nuestro cdrom no se necesitan todas esas líneas así que pueden borrarse y reemplazar por solo estas
/dev/cd0a / cd9660 ro,noatime 0 0
/dev/fd0a /mnt/floppy msdos rw,noauto 0 0
También el floppy es marcado por que desde ahí serán leídas las configuraciones que permitirán iniciar las reglas del firewall.
Creamos el archivo boot.conf
# vi boot.conf
Y agregamos las siguientes lineas
set image /bsd
set timeout 5
Creación de la imagen
# cd /usr/livecd/
# mkhybrid -b cdrom40.fs -c boot.catalog -R -v -o /var/tmp/kauil.iso /usr/livecd/
Dudas y comentarios y cualquier otra aportación a peques@openbsd.com.mx
Bibliografía
http://www.openbsd-wiki.org/index.php?title=LiveCD
http://archives.neohapsis.com/archives/openbsd/2005-09/1348.html
http://www.blackant.net/other/docs/howto-bootable-cdrom-openbsd.php
http://www.threatmind.net/secwiki/OpenBSDLiveCD#head-d3925af4dcd407645974d11f07a30b088fc52e15
Most people with a box on public IP, and with a sshd listening on port 22, notices a lot of bruteforce attempts. These attempts are filling up logs, and are a pure annoyance. Here’s how I “solved” it..
In OpenBSD 3.7, pf got a really nice feature called max-src-conn-rate, which specifies how quickly new connections can be made. Connecting hosts exceeding this limit can be put into a table, and all states including that hosts IP address, can also be flushed.
When I have the offending IPs in a table, it can easily be blocked early on in our ruleset. But since I don’t want to block a host forever, or even until the next reboot, I’m gonna use a small utility to clean out this table once in a while.
Let’s start with the magic pf rule:
# special rule for ssh
pass in on $ext_if proto tcp from any to ($ext_if) port ssh \
flags S/SA keep state \
(max-src-conn-rate 3/30, overload
The keyword here is ofcourse “max-src-conn-rate”. The arguments tell pf to put every IP exceeding a connection rate of more than 3 connections in every 30 seconds, in a table called “ssh-bruteforce”. How often do valid users connect to ssh that often? Ofcourse you can set this to 6/60 or something more apropriate for your environment. Last but not least pf kills all states originating from the bad host.
To keep the bad boys out, I add a block rule early on in my ruleset:
# block the ssh bruteforce bastards
block drop in quick on $ext_if from
Great, now the table are getting populated with bad hosts, and they’re getting blocked. But as I said earlier, I don’t want to block them forever. This is were expiretable comes in handy. This utility, written by Henrik Gustafsson, takes a look at a table, and removes (”expires”) entires older then the specified amount of time.
It’s in ports (sysutils/expiretable), but was commited after 3.8 was tagged, so you’ll have to go -current, or compile/install it by hand. Then add this to roots crontab:
*/5 * * * * /usr/local/sbin/expiretable -t 3600 ssh-bruteforce
Every five minutes, I expire entries older than one hour.
This is how I get rid of thousands of login attempts filling my logs.
Introduction
You may have various reasons to create a LiveCD.
Create a custom installer for your application and distribute it to the customers, create a desktop enviroment and boot it off your CD whenever you cannot access your own computer or maybe you have a diskless router and you want to run your O.S off the CD.
Implementation
There are two ways to create a LiveCD running NetBSD.
The “old” way is to create a boot floppy sized image.
The boot image must be exactly the size of either a 1200, 1440, or a 2880 kB floppy, and mkisofs will use this size when creating the output iso9660 filesystem.
The image will have a kernel with root file system inserted into it.
For i386, compile your custom kernel or you can use kernel config from /usr/src/sys/arch/i386/conf/INSTALL.
Then do following:
Create a directory where you will build your image and cd to it.
# cd /my_build/dir
Copy your custom kernel to this directory.
# cp /usr/src/sys/arch/i386/compile/obj/${MYKERNEL}/netbsd .
Create file system of the directory with files for your LiveCD.
# makefs -s ${FS_SIZE} -t ffs md.img ${IMG_DIR}
where ${FS_SIZE} is the size of your md.img and IMG_DIR is where you have your file system.
Now you need to insert the image into your kernel, wich then will get extracted of the kernel and mounted as memory file system:
# mdsetimage -v -s netbsd md.img
Compress your kernel to save space and rename it (optional step):
# gzip -f -9 netbsd ; mv netbsd.gz netbsd
For vnconfig, newfs and disklabel to “understand” the notion of floppy288 you need to edit your /etc/disktab and add there:
floppy288|2.88MB 3.5in Extra High Density Floppy:\
:ty=floppy:se#512:nt#2:rm#300:ns#36:nc#80:\
:pa#5760:oa#0:ba#4096:fa#512:ta=4.2BSD:\
:pb#5760:ob#0:\
:pc#5760:oc#0:
Create virtual disk and file system on it.
# dd if=/dev/zero of=image.fs count=5760
# vnconfig -t floppy288 -v -c /dev/vnd0d image.fs
# disklabel -rw /dev/vnd0d floppy288
# newfs -m 0 -o space -i 204800 /dev/rvnd0a
Bootstrap your virtual disk:
# /usr/sbin/installboot -v -m i386 -o timeout=3,console=pc -t ffs /dev/rvnd0a /usr/mdec/bootxx_ffsv1
Mount the virtual disk you just created and copy over your kernel and second stage boot loader.
# mount /dev/vnd0a /mnt
# cp /boot /mnt/
# cp netbsd /mnt/
# umount /mnt
# vnconfig -u vnd0d
Create a directory for your ISO image and copy your image there.
# cp image.fs cdisodir/
You can put some additional files to the cdisodir, they will be avaliable when you mounted your CD.
Create ISO image.
# mkisofs -l -J -R -o livecd.iso -c boot.catalog -b image.fs cdisodir
The new way is to use cdboot file instead of boot floppy.
This will allow you to use kernel beyond 2880 kB.
To compile cdboot, run:
# cd /usr/src/sys/arch/i386/stand/cdboot ; make
This time we will not create a floppy image. We dont need it since we can use cdboot instead.
Put cdboot to your cdisodir.
# cp /usr/src/sys/arch/i386/stand/cdboot/cdboot cdisodir/
Copy over your kernel with rootfs inserted into it and second stage boot loader to your ISO directory.
# cp netbsd cdisodir/
# cp /boot cdisodir/
Create ISO image
# mkisofs -l -J -R -o livecd.iso -c boot.catalog -b cdboot -no-emul-boot cdisodir
Notice the -no-emul-boot option. It’s becouse the boot image is not an image of a floppy.
To check your ISO image, you can mount it as virtual device:
# vnconfig -v -c /dev/vnd0d livecd.iso
# mount -t cd9660 /dev/vnd0a /mnt
When you’re done:
# umount /mnt
# vnconfig -u vnd0d
Thats all, its done. ![]()
Special thanks to Yazzy




