Suscríbete al feed RSS de los Artículos

NanoNote admin el 18 Feb 2010

Primeras impresiones del Ben NanoNote

Ya tengo en mis manos uno de las primeras unidades comercializadas del Ben NanoNote. Un dispositivo difícil de clasificar, ya que es mucho más pequeño que un Netbook, llamémosle mini-portátil si queremos. Lo realmente remarcable no es tanto su tamaño sinó el hecho de ser libre. Todas las especificaciones del hardware (a nivel de placa base) tienen una licencia Creative Commons BY-SA, o sea una licencia copyleft de toda la vida :) .

Es un proyecto de qi-Hardware, a partir del cual pretenden que la gente (la comunidad) aporte ideas, bugs, etc y mejorar así el siguiente dispositivo que saquen. Por otro lado recomiendan que si creas software para el NanoNote lo compartas con el mayor número de gente posible, también animan a que crees otro hardware basado en este.

En cuanto al software, de momento se distribuye con OpenWRT como sistema operativo (la arquitectura del procesador es MIPS), y de aplicaciones poca cosa hay por ahora. Se espera que la gente se ponga las pilas a portar aplicaciones, juegos, etc. Yo de momento me he podido mover por la línea de comandos con total libertad, he estado trasteando los archivos de configuración, me he hechado una partidita al Quake, he probado el menú gmenu2x (de la consola GP2X) y poco más.

Aparte lo he conectado en red a mi PC y le he dado salida a internet haciendo NAT, ha sido fácil porque en el manual del NanoNote explican como hacerlo. A partir de aquí le he podido instalar algunas cosas usando el sistema de paquetes, como lo haríamos en cualquier otra distribución.

Os dejo con unas fotos:

Citas admin el 15 Sep 2009

Hipócritas

We believe the commonly accepted practice of reporting vulnerabilities directly to a vendor serves everyone’s best interests. This practice helps to ensure that customers receive comprehensive, high-quality updates for security vulnerabilities without exposure to malicious attackers while the update is being developed.

Reciente Security Advisory de Microsoft
acerca de la nueva vulnerabilidad en SMB que afecta a Windows Vista y Server 2008

GNU/Linux admin el 30 Jun 2009

Montando /usr como read-only

El Filesystem Hierarchy Standard es una especificación que define una pautas y requerimentos para la construcción del árbol de directorios que constituye un sistema operativo tipo-UNIX. Algunas distribuciones GNU/Linux se adhieren a este estándar y otras no, los BSD tampoco. Algunos de los puntos pueden ser bastante discutibles, pero tiene aspectos interesantes.

Al principio me sorprendió que uno de los consejos fuera que el directorio /usr tendría que estar en una partición separada y montada como sólo lectura. Pero el objetivo es que /usr pueda ser compartido entre distintos servidores por red. A mi personalmente me parece más interesante pensando en aspectos de seguridad:  ¿quién es el guapo que mete un rootkit en los ejecutables de un sistema de sólo lectura?

Así que decidí montar en mi sistema el directorio /usr como read-only. Esta es la entrada correspondiente en el fichero /etc/fstab, en mi caso la partición correspondiente a /usr es /dev/sda6.

/dev/sda6    /usr    ext4    ro    0    1

Pero esto supone un problema, ¿cómo actualizo el sistema sin permiso de escritura en /usr? Fácil, el sistema puede remontarse (no hace falta desmontar y volver a montar, con el riesgo que esto supondría para la estabilidad), podemos usar mount con el parámetro remount para aplicar cambios en un sistema de ficheros montado. Ejemplos:

# mount /dev/sda6 /usr -o remount,ro
# mount /dev/sda6 /usr -o remount,rw

Lo que yo hice para facilitar las cosas fué añadir estas dos entradas de alias en /root/.bashrc

alias usrro='mount /dev/sda6 /usr -o remount,ro && mount | grep sda6'
alias usrrw='mount /dev/sda6 /usr -o remount,rw && mount | grep sda6'

Ahora puedo usar los comandos usrrw y usrro antes y después de actualizar el sistema. En estos comandos de alias, la parte que hay a partir de && es puramente informativa, así podemos asegurarnos que los cambios se han aplicado correctamente.

Si se diera el caso de que somos unos paranoicos de la seguridad, no estaría nada mal aplicar el mismo cuento a los directorios /bin y /sbin, aunque hacer particiones expresamente para directorios que ocupan tan poco puede parecer un poco ridículo. Quizás la solución sería que estos dos directorios, donde encontramos los comandos básicos del sistema, no estuviesen montados en una partición sinó en un fichero con la opción loop, aunque hay que tener claro que esto es peligroso, si se corrompiera dicho fichero nos quedaríamos con un sistema inusable.

Se aceptan ideas.

GNU/Linux admin el 16 Jun 2009

Habilitar el reinicio de X.org con ctrl+alt+backspace

xorg_logoUna de las coas que más me ha gustado siempre de X.org (implementación de X Window System) es su capacidad para reiniciarse con una combinación de teclas.

Es un problema típico tener una aplicación colgada que está molestando al resto del sistema, hasta el punto de no poder hacer nada, pero si esta aplicación corre sobre el entorno gráfico y se nos permite usar el teclado podremos reiniciar todo este entorno sin tener que reiniciar todo el sistema operativo, cosa que es de muy agradecer.

Hasta ahora esto era tan simple como hacer Ctrl + Alt + Backspace, pero alguien ha decidido que esto es peligroso y confuso para el usuario. Y a partir de la versión 1.6.0 del servidor X.org esta función ha sido deshabilitada por defecto, con lo que más de uno ha roto el teclado intentando la maldita combinación.

Para volver a la configuración anterior, hay un montón de formas; al igual que hay un montón de formas de arrancar este software (con .xinitrc o con .xsession, con la configuración en /etc/X11/xorg.conf o al vuelo con HAL, etc). Veremos los casos más típicos:

Generalmente, aunque ahora X.org ya soporta el arranque sin archivo de configuración gracias a HAL, la mayoria de los mortales seguimos usando /etc/X11/xorg.conf para definir cómo queremos que se comporte, por lo tanto este es el caso que explicaré. Si queremos recuperar esa funcionalidad (conocidacomo zap o zapping) podemos añadir a xorg.conf las siguientes líneas:

Section "ServerFlags"
    Option  "DontZap" "false"
EndSection

Entonces buscamos la sección InputDevice y añadimos:

Option  "XkbOptions" "terminate:ctrl_alt_bksp"

Ahora, cuando hagamos iniciado Xorg de nuevo, podemos reiniciarlo con la famosa combinación de teclas.

Utilidades admin el 16 Jun 2009

Buscar archivos duplicados en nuestro sistema

Recientemente me he encontrado con el problema de tener un desorden brutal en mis archivos, y la necesidad de encontrar cuáles tengo duplicados y en qué sitios. El problema se complica, y mucho, cuando estamos hablando de un servidor que comparte discos en red y en el que acceden más de 100 usuarios todos los dias. El espacio usado en disco ha crecido rápidamente y tenemos sospechas de que hay cosas repetidas por todas partes… ¿cómo localizar las consecuencias del desorden colectivo?

Solución para BSD, GNU/Linux y otros UNIX

Descargamos la aplicación fdupes, que se autodefine como un programa para identificar o eliminar archivos duplicados que residen en los directorios especificados. Podemos compilarlo nosotros mismos o, como siempre, descargarlo de los repositorios de software de nuestro sistema operativo. El uso es así de simple:

$ fdupes <directorio>

Este comando compara el tamaño de cada archivo, su MD5 y finalmente hace una comparación byte a byte. Podemos añadir el parámetro -d para que nos vaya peguntando si queremos eliminar los repetidos. También tenemos opciones para seguir los directorios symlink e incluso para tratar archivos con hardlink.

Solución para MS Windows

Descargamos la aplicación findrepe, la descomprimimos en el directorio Archivos de Programa y luego, desde línea de comandos ejecutamos:

C:\Archivos de Programa> java -jar findrepe-0.5.1/FindRepe.jar --install

Ahora tenemos instalado el ejecutable findrepe.bat en el directorio de nuestro sistema, esto es sólo un script que llama a la aplicación Java pasándole los parámetros que nosotros deseemos, por esto es importante no eliminar los archivos descomprimidos al finalizar el paso anterior.

Ahora ya podemos usar el programa del siguiente modo:

C:\> findrepe c:\<directorio>

…y nos devolverá una lista de todos los archivos repetidos en dicho directorio. Además podemos pasarle más de un directorio o unidad como parámetros.

Citas admin el 05 Jun 2009

Warning: GRUB2

Warning: The next generation of the GRand Unified Bootloader (GRUB2) is still under development and therefore all usual points apply. GRUB2 may fry your computer, burn your house, make you breakfast or eat your cat. You’ve been warned! For most people, except those with more exotic configurations, GRUB2 should just work.

Visto en ArchWiki

Arch Linux admin el 27 May 2009

Xerrada/taller sobre Arch Linux el dissabte 6 de juny a Barcelona

El hacklab Kernel Panic de Barcelona  m’ha convidat a donar una xerrada sobre Arch Linux a l’espai autogestionat La Quimera. Això serà el dissabte 6 de juny a la tarda i hi haurà ciberteteria, o sigui que podrem prendre tè i galetes, tot un luxe. La meva intenció és que sigui una xerrada/taller bastant pràctica i amena, farem una instal·lació guiada i explicaré les eines i característiques pròpies d’Arch Linux: el gestor de paquets pacman, l’arbre de ports abs, el creador de paquets makepkg, els scripts PKGBUILDs, el repositori online AUR, els repositoris oficials i no oficials, el concepte de rolling release, l’init BSD, l’origen de la distribució, les eines i el funcionament de la seva comunitat, els projectes que prenen Arch Linux com a base, i tot el que se’m passi pel cap o em preguntin.

M’agradaria puntualitzar que no sóc un membre gaire actiu de la comunitat (no contribueixo gaire als foros, llistes de correu ni penjo els meus PKGBUILDS a l’AUR ni res de res), cal dir que tampoc sóc un gran expert en el tema. Sóc un simple usuari que fa poc més de tres anys va descubrir aquesta magnífica distribució i em sembla interessant fer-ne difusió. Perquè jo i molta més gent creiem que duarant massa temps ha sigut una d’aquelles joies oblidades de la comunitat del software lliure, i tot just ara comença a treure el cap amb ganes i força. No sabem on pot arribar, però sabem que va pel bon camí.

La Quimera és al carrer Verdi nº28 (baix dret) de Gràcia. S’hi pot arribar des del metro Fontana o Joanic.

Utilidades admin el 26 Mar 2009

Papelera de reciclaje en Samba

Este ha sido uno de mis últimos descubrimientos, Samba (implementación libre de SMB/CIFS para UNIX) puede proporcionar papelera de reciclaje para poder recuperar los archivos después de eliminarlos.

El hecho está en que Samba 3 proporciona un sistema de módulos llamado VFS (Virtual File System) para su servidor de ficheros que amplia sus posibilidades. Uno de esos módulos es recycle, aunque hay otros como audit, default_quota, extd_audit, fake_perms, netatalk y shadow_copy que en general se autoexplican por sus nombres. Además de estos, que vienen incorporadas en el código de Samba, hay módulos de terceros como databasefs, vscan o vscan-clamav. En este artículo sólo voy a comentar como configurar un recurso de red con papelera de reciclaje gracias al módulo recycle.

Vemos un ejemplo simple, en el que los usuarios pueden acceder al recurso compartido DATOS que está situado en /mnt/datos y que contiene una papelera de reciclaje en /mnt/datos/.papelera que se muestra como un directorio oculto tanto desde Windows como desde el servidor Samba.

[DATOS]
  comment = Recurso de Datos
  path = /mnt/datos
  writeable = yes
  vfs object = recycle
    recycle:repository = .papelera

Como vemos, el directorio que va a hacer la función de papelera se define como una ruta relativa al recurso que estamos compartiendo en la red. ¿Pinta bien, eh? Pues se puede mejorar, y mucho.

Por ejemplo si queremos que los archivos eliminados se guarden en su propia estructura de directorios dentro de la papelera, tenemos que añadir:

recycle:keeptree = yes

Si queremos que ciertos tipos de archivo se eliminen directamente sin pasar por la papelera, por ejemplo archivos temporales y de backup que crean las aplicaciones y que en el momento de restaurar no nos van a servir de nada, añadimos:

recycle:exclude = *.tmp,*.bak

En estos momentos los usuarios que entren en la papelera no podrán acceder a los archivos de otros usuarios ya que por defecto todo allí se crea con permisos 700. Si queremos acceso total a la papelera podemos modificar los permisos a nuestro gusto. En el siguiente ejemplo damos acceso total:

recycle:directory_mode = 0777

Si en nuestro sistema acceden muchos usuarios, podemos diferenciar lo que ha eliminado cada uno creando subpapeleras específicas dentro de la papelera principal, esto es muy fácil, sólo tenemos que modificar la linea recycle:repository que hemos visto antes para que ponga:

recycle:repository = .papelera/%U

Esto creará directorios con el nombre de cada usuario dentro de la papelera de reciclaje y así cada uno podrá recuperar sus archivos sabiendo cuáles son los que ha eliminado el. Además hay más opciones todavía, como recycle:versions para que se guarden múltiples versiones de un fichero eliminado varias veces, recycle:maxsize para limitar el tamaño máximo de los archivos que gardamos en la papelera o recycle:exclude_dir para definir en qué directorios no se aplicará ninguna regla de estas.

¿Y si la papelera de reciclaje crece tanto de tamaño que esto termina afectando al espacio libre en el disco del servidor? Pues podemos aplicar una solución bastante simple. Con el uso de cron y find eliminaremos los archivos que lleven en la papelera más de 7 dias. Pero la fecha de los archivos puede que sea anterior al momento en que se movieron a la papelera, por lo que tenemos que añadir una opción final al módulo recycle de Samba:

recycle:touch = yes

Ahora los archivos llevan la fecha y hora del momento en que fueron eliminados, por lo que ya estamos en disposición de eliminar los que llevan más de una semana gracias al comando:

find /mnt/datos/.papelera -mtime +7 -exec rm -f {} \;

Si queremos automatizar este proceso, abrimos el crontab para editar:

# crontab -e

Y añadimos la línea:

00 00 * * * find /mnt/datos/.papelera -mtime +7 -exec rm -f {} \;

Salimos guardando con <ESC>, <:>, <wq>, <ENTER> y a partir de este momento, todos los dias a las doce de la noche se eliminarán los archivos antiguos que se encuentren dentro de la papelera de reciclaje.

Utilidades admin el 04 Mar 2009

Comandos útiles en Command-line-Fu

Para todos los amantes de la línea de comandos, esta semana he descubierto una página web que me ha hecho recordar el más que recomendable libro En el principio… fué la línea de comandos de Neal Stephenson. Command-line-Fu es una página web colaborativa donde los usuarios pueden colgar sus comandos (o combinaciones de ellos) mas útiles. Se pueden encontrar desde las opciones más desconocidas que proporciona BASH hasta los típicos comandos que se envian información entre ellos por tuberías. La verdad es que es un disfrute, se encuentran cosas muy interesantes y se aprende mucho.

Los usuarios cuelgan sus comandos a modo de mini-notícias, y gracias al sistema de puntuación de estas podemos disfrutar de secciones tan buenas como Popular, donde vemos las que tienen más votos y, mejor todavía: Commands for the wicked, donde vemos todas las que se han descartado por maliciosas (bombas fork, rm -Rf /, etc), típicas pero divertidas, alguna de ellas bastante rebuscada.

Utilidades admin el 06 Feb 2009

Usar cat como editor de texto

Esto lo aprendí la primera vez que instalé LFS y me parece bastante gracioso. cat es un comando clásico de UNIX que sirve para imprimir en pantalla el contenido de un archivo, y podemos usarlo también para concatenar archivos mediante los símbolos > y >>.

¡Pero puede usarse incluso como editor de texto! Creamos un archivo desde cero:

$ cat > /ruta/archivo.txt << "EOF"
Escribimos el texto <enter>
de tantas líneas como <enter>
queramos, y finalmente... <enter>
EOF

Ahora podemos comprobar si ha funcionado:

$ cat /ruta/archivo.txt
Escribimos el texto
de tantas líneas como
queramos, y finalmente...

Vemos que ha funcionado, hemos creado un archivo sin usar un editor de texto. Como aclaración, la palabra EOF significa End Of File, y podríamos usar cualquier otro indicador de fin de archivo, por ejemplo FIN o un punto.

Next Page »