Gentoo en un PowerBook 12″
Ya me llegó la semana pasada pero el otro día me puse a instalar Gentoo poco a poco, intentando evitar calentamientos.
Usé una stage3 y la verdad he avanzado muy poco, pues me he trabado en el kernel, el cual no arranca si no tiene un dispositivo framebuffer. Tengo que rebuscar más por internet a ver.
Según vaya avanzando iré documentándolo para intentar echar un cable a los que vengan detrás con estos mismo problemas.
Bueno, hasta… pronto.
Escrito por Gura
30.Apr.06
GNU/Linux, Gentoo, Hardware, lost+found
Leer más
Comentarios (3)
Arreglando un pequeño contratiempo en Debian Sarge
Hoy mi script de actualizaciones me ha notificado que había actualizaciones de:
Se actualizarán los siguientes paquetes:
libc6 libc6-dev locales perl perl-base perl-modules tar
7 actualizados, 0 se instalarán, 0 para eliminar y 0 no actualizados.
Necesito descargar 18,1MB de archivos.
Claro, cuando lo vi lo primero que hice fue visitar la web de seguridad de paquetes de Debian y ver que no tenía ninguna vulnerabilidad. Me extrañé, pero de todos modos actualizé obteniendo un error.
Desea continuar? [S/n] S
(Leyendo la base de datos …
15292 ficheros y directorios instalados actualmente.)
Preparando para reemplazar libc6 2.3.2.ds1-22 (usando …/libc6_2.3.2.ds1-22sarge3_i386.deb) …
Desempaquetando el reemplazo de libc6 …
dpkg: error al procesar /var/cache/apt/archives/libc6_2.3.2.ds1-22sarge3_i386.deb (–unpack):
no se puede crear un enlace de seguridad de `./usr/share/zoneinfo/Europe/Madrid”” antes de instalar
la nueva versión: Operación no permitida
dpkg-deb: el subproceso paste fue terminado por la señal (Tubería rota)
Se encontraron errores al procesar:
/var/cache/apt/archives/libc6_2.3.2.ds1-22sarge3_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Lo primero que pensé cuando leí Operación no permitida fue en los atributos extendidos de Linux (véase lsattr y chattr) pues los usaba.
# lsattr /usr/share/zoneinfo/Europe/Madrid
—-i———— /usr/share/zoneinfo/Europe/Madrid
UH!?
# chattr -i /usr/share/zoneinfo/Europe/Madrid
# lsattr /usr/share/zoneinfo/Europe/Madrid
—————– /usr/share/zoneinfo/Europe/Madrid
Bien, probemos.
# apt-get -f dist-upgrade
Correcto!!
# chattr +i /usr/share/zoneinfo/Europe/Madrid
# lsattr /usr/share/zoneinfo/Europe/Madrid
—-i———— /usr/share/zoneinfo/Europe/Madrid
Los atributos extendidos (de ahora en adelante ea) son unos atributos del sistema de ficheros que se maneja con las utilidades lsattr y chattr.
El comando lsattr sirve para listar los ea de un fichero o directorio.
El comando chattr sirve para asignarlos. Podéis leer el man chattr para verlos todos, pero resumiendo mucho, los más útiles en mi opinión con el a y el i.
El atributo a proviene de append y significa añadir. Esto hace que a un fichero solos e le puedna añadir datos, peor no eliminarlos ni modificarlos, y mucho menos eliminar el fichero en cuestión. Es muy útil para los logs, pues solo añadimos y así no se pueden eliminar, aunque si se obtiene acceso a root un $ chattr -a fichero bastaría.
El atributo i hace que el fichero sea inmutable, y cuando digo inmutable me refiero a que ni root puede hacer nada. Ejemplo:
# touch prueba
# chattr +i prueba
# lsattr prueba
—-i———— prueba
rm prueba
rm: ¿borrar el fichero regular vacío «prueba» protegido contra escritura? (s/n) s
rm: no se puede borrar «prueba»: Operación no permitida
Es muy útil para cuando tenemos una jaula chroot y no queremos machacar por un despiste esa jaula que tenemos. Aplicamos pues atributos extendidos y no será posible machacarlos sin querer.
Hay otro flag interesante que es el s si no recuerdo mal, que sirve para No hacer backup del inodo del fichero que estamos eliminando. Resumiendo: Una eliminación segura, similar a un wipe aunque no puedo probarlo o quizá sea diferente, pero eso entendí.
De todos modos podéis leeros el manual de chattr y tambien miraros las ACL del sistema que se trabajan con getfacl y setfacl. Ya no son tan sencillas pero sí muy útiles cuando en sistema UGO (User Group Other, configurables con chown y chmod) se nos queda pequeño.
Espero que el post os haya servido de algo. Agur.
Escrito por Gura
19.Apr.06
Debian, GNU/Linux
Leer más
Comentarios (0)
Haciendome scripts para las actualizaciones
Por no mirar todos los días a ver si hay actualizaciones, ¿Qué mejor que recibirlo al correo?
Me he hecho un script chapucero con una condicional. Aquí tenéis xD
#!/bin/bash
if [ `whoami` != “root” ];
then
echo “Debes ser root”
else
emerge sync && emerge -uDNpv world | mail -e -s “Actualizaciones del `date|awk ”{printf $1}”` día `date|awk ”{printf $3}”` de `date|awk ”{printf $2}”`” -a “From: Actualizaciones < updates@example.com >” mail@example.com
fi
Tabulado queda más bonito. Para quien no haya leído el man de mail, la opción -a permite configurar las cabeceras y la -e no envía correos si el cuerpo está vacio, muy útil con el check de los GLSA. Ahora añadiré en el else:
glsa-check -l -n |grep ” [N] “
Aunque no se como probarlo, pues no hay GLSA actuales ![]()
Escrito por Gura
08.Apr.06
GNU/Linux, Gentoo
Leer más
Comentarios (1)
Una PocketPC como Servidor Web
Al más puro estilo de jsmanrique, y como maniobra defensiva al “Un P75 no sirve para nada” de nyman, Sharek ha instalado GNU/Linux en su Compaq iPaq 3970 PocketPC para usarla como servidor web.
Después de flashearla mediante el puerto de serie y meterle Familiar bootstrap v. 8.2 testing. Otras veces no supo enrrutar la eth0 con la conexión USB de su PC, pero ésta vez fue peor, pues no encontró los módulos de USBnet para esa distro, así que como explica en su web, hizo una conexión punto a punto mediante el puerto de serie.
Una vez la PC veía internet, publicamos un puerto, el tanto en su PC personal como en el router. Ahora tenemos sobre 60 MB de almacenamiento, en un servidor thttpd con el modulo python. Solo haría falta MySQL para contenido dinámico, que no necesita correr en esa máquina :).
No gasta una mierda, no calienta, es suficiente para una página personal. Quizá éste artículo necesite leerlo Daniel Clemente.
Aquí os dejo el mini How-To, esperemos que os sirva de algop
Escrito por Gura
29.Mar.06
GNU/Linux, Sistemas
Leer más
Comentarios (0)
Gentoo se dispone a desmascarar las X modulares
Ahora mismo me dió por abrir aKregator que ultimamente no tuve tiempo ni gana de echarle un ojo.
Leyendo el Gentoo Linux Newsletter me encuentro ésta reconfortante noticia:
As reported in the GWN of 30 January, the X team is preparing to unmask 289 modular X packages. They will enter ~arch (testing) this week for most architectures, be sure to read the migration guide before upgrading to modular X!
Para quien la use, pues aquí el link de las instrucciones para migrar a las X modulares.
De todos modos, no creo que las ponga pues requiere actualizar algo en mi opinión, crítico, el portage. Pero vamos, que para algo existen los entornos chroot… me monto mi “máquina virtual” en un plis.
Agur
Escrito por Gura
21.Mar.06
GNU/Linux, Gentoo
Leer más
Comentarios (0)
Un AP bajo FreeBSD con una wifi de chip Atheros y un PC viejo
Hoy me dió por mirar los blogs del topic de #lucux y llegué a uno interesante, donde trataban como montarse un AP con FreeBSD y una tarjeta de chip Atheros que Celso me recomendó y me aseguró que funcionaba en modo maestro bajo el kernel Linux.
Éste es el post y habría que comprobar si sirve para OpenBSD, una pena que no tenga necesidad de ello.
Como ya comenté la otra posibilidad es el modo ad-hoc, aunque no me convence mucho.
Hay quien sostiene la idea que mejor comprar un equipo (Un cortafuegos Nokia por ejemplo) que te lo haga, pero nose, para una empresa veo más económico y escalable una máquina con un SO robusto como puede ser GNU/Linux o *BSD. Es algo en lo que Rastreador y yo coincidimos, peor claro, necesitas a alguien con conocimientos para tenerlo al día.
Volviendo al tema del Access Point…
¿Alguien sabría decirme? ¿Experiencias positivas o negativas?
Ahora sí, buenas noches.
Escrito por Gura
17.Mar.06
*BSD, FreeBSD, GNU/Linux, OpenBSD, Redes
Leer más
Comentarios (3)
Pequeño resumen de las jornadas más interesantes bajo mi criterio
Intentaré resumir y dejar constancia de las charlas que más interesantes técnicamente me parecieron de estas últimas jornadas.
Por un lado comentar que Raúl Rivero, director técnico de elmundo.es (Mantienen los servidores principalmente) usan GNU/Linux en los servidores web y FreeBSD en sus cortafuegos. Tienen 3 lineas de tres proveedores de 100 mbps cada una, las cuales de aquí a un mes serán de fibra a 1 gbps cada una, alcanzando un caudal de 3 gbps. Al resolver el dominio se ve claramente un round robin que balancea la carga, y que luego dentro de su red nos dijo que no tenían un cluster, sino que tienen máquinas normales (Genéricas) con un balanceador de carga, y que acceden a un servidor de datos mediante NFS que está replicado a otro. Tengo ganas de que se publiquen las diapositivas. Si tenéis la posibilidad de ir a verle, no os lo perdáis. Es un tío que da charlas amenas, explica las cosas bien y sabe responder a las preguntas.
Dije en el post anterior que me extendería… la wikipedia, que vamos, la conocemos mucha gente. Nada que destacar en especial, nos explicó como funciona y demás, pero cabe destacar una pregunta de un oyente. Éste preguntaba que, si los servidores estaban en difernetes países, las leyes eran diferentes… que como hacían para determinar que contenidos podían ponerse y cuales no (Refiriendonos por ejemplo a una carátula de CD). Omar Álvarez respondió que el contenido dudoso de tener o no copyright se quitaba para evitar esos problemas legales, así que ya sabéis, pensadlo antes de mandar o comprobad bien las fuentes del contenido.
Que más… volvamos tres día atrás, la charla de Jose Tormo, que venía de Valencia a hablarnos de VOIP y Asterisk. Me gusto MUCHO esta porque habló desde nivel de software enseñando algo los ficheros de configuración hasta el hardware necesario. Él recomendaba que para manejar 2000 y pico conexiones simultáneas (llamadas, evidentemente) lo ideal sería un XEON dual con 1 GB de RAM al menos… etc. Fue aquí donde mi compañero de LUG, chipi le dijo que manejaba hardware muy caro, que si no bastaba algo más pequeño. Fue cuando el ponente conecto remotamente a una máquina remota mediante SSH y nos enseñó un P3 a 700 MHz creo recordar con 192 MB de RAM que llevaba más de 500 días encendido. El uptime marcaba 173 días y fue entonces cuando dijo que el contador de uptime se reiniciaba a X días (creo que 500) como ocurre con los 4 gb de tráfico en las tarjetas de red. Nose, alguna vez habéis alcanzado ese uptime? ese tío habrá parcheado alguna vez el kernel? quizá lo haga con un par de huevos y compile solo los módulos que necesita. Tener módulos tiene un problema, los rootkits. Según muchos estudios, son mas fáciles de troyanizar por el mero hecho de que se pueden cargar/descargar.
Y ya hablando de chipi, quiero decir que también dió una charla sobre Nagios con José Beites para hablar de porque lo eligieron. Yo lo probaré en casa. Ya dijo _linuxAS_ que no es tan infumable y además Celso nos comentó otro que olvidé apuntar en el móvil. LO de _linuxAS_ creo habérselo leído en el canal por al mañana aunque quizá hasta lo soñé… :s como cuando me levanté por la mañana y le dije a mi madre:
Maaaá, ¿Qué me preguntáste de MySQL?
Me preocupo a mi mismo xDDDDD.
Me queda una, la de Miriam Ruiz y Amaya Rodrigo que trataba sobre Debian. Se convirtió en una charla muy amena por la forma en la que la dieron. Nos contaron cosas como qué ramas hay, quien se ocupa de X y Y cosa, etc. Interesante desde en momento.
Recuerdo que ese día (El primero) a la hora de comer (Restaurante “El Xugu”, cojonudo) le preguntaba a Celso y a Jose Tormo qué era Exchange y las diferencias con un MTA como Postfix o QMail. No me respondieron, me mandaron preguntarle a Amaya. Cuando iba a responderme recuerdo que se paró, me taladró con una sonrisa picaresca y me dijo:
AHH, que a tí aun no te espabilaron (Sin malas interpretaciones)
De modo que me contestó en plata:
La diferencia es que un MTA cumple los RFC y Exchange se los folla. Es una especie de IMAP pero sin ser IMAP y una especie de POP3 sin ser POP3, una guarrada.
Por aquí continuó la conversación…
Y nada más, este es un pequeño resumen de las charlas más técnicas que hubo (Vale, la de J2EE, pero no me gustó nada). Hasta ahora.
Escrito por Gura
17.Mar.06
GNU/Linux
Leer más
Comentarios (1)
Se terminaron las Jornadas
Pues bueno, las Jornadas ya se terminaron. Ayer fue el último día. He de destacar las charlas “Clientes ligeros”, “VOIP y Asterisk”, “Sistemas de ficheros”, “Nagios: Un sistema de monitorización en red”, “Experiencias bajo free software en los medios de comunicación” y “Wikipedia: La enciclopedia libre”. No voy a hablar de ellas una a una pues tarde o temprano las grabaciones de audio se digitalizarán y convertirán a OGG, al igual que ocurrirá con las dispositivas.
Ayer, ya último día chipi, rastal y yo desmontamos la wifi. Mientras chipi y y rastal desmontaban la antena, yo recogía cable desde el otro lado del tejado. Fuimos luego a cenar a “Tierra Astur” donde estubimos Swapper, Hiroshige, Alea, Cova, Rastreador, Darod, Lordram y su novia, Celso (PerroVerd), rastal, _linuxAS_, Wikier, chipi, rastal, berrueta, Hellcomes, el director de la EUITIO. Si se me olvida alguno, lo siento mucho ;).
Por cierto, un aplauso a la organización, que han estado allí dandolo todo.
Hablando ya de comidas, es interesante “El Xugu” donde se come barato y abundante y “La cuadra” donde aunque es otro tipo de ambiente, no está mal.
Tengo sueño y no se me ocurren que más cosas contar. Bueno, una idea nueva que tengo, “Hacer un AP sin AP”. La idea es una tarjeta wifi que soporte modo maestro, al igual que su driver, por lo que he de mirar el soporte de OpenBSD. Agradezco ideas, aunque Celso ya me ha recomendado el chip Atheros, que funciona bajo Linux (Aunque no sabe si bajo BSD).
Agur
Escrito por Gura
16.Mar.06
GNU/Linux
Leer más
Comentarios (5)
Photorec: Recuperando ficheros en GNU/Linux
Hoy Mitsurugi nos ha pasado un enlace realmente interesante cuando necesitamos recuperar datos de memorias flash, CDROM y discos duros como mencionan en su web. Soporta como dice esa noticia, sistemas de ficheros FAT, NTFS y EXT2/3 y se puede ejecutar en varios sistemas operativos. Su licencia es GPL y es gratis. Podéis donar si os es útil y queréis que mejore.
Vamos, que está muy bien pero antes de ayer del socket de chakal^-^ la siguiente explicación:
grep -a -B 40 -A 80 patron /dev/sda1
Bueno si hay usas >> recuperado
Si por ejemplo borrastes un fichero que sabes que contenia una palabra pos la buscas y >>
Si es un vídeo/programa es buscar alguna palabra clave dentro de la maraña de datos. Por ejemplo un zip siempre empiezan por las letras “PK”
Si usas debugfs usar ls -d y según la fecha sabrás el fichero, luego:
dump_inode “inodo” >> archivo
Si es un desastre de particion tirar de parted
# parted -rescue /dev/hdX
El problema es que no hay un puntero al fichero borrado, por que los ficheros siguen hay, solo es buscarlos y saber el contenido o un dato de la “maraña de datos”. Es redireccionar y limpiar.
# grep -a -B numero_lineas_antes -A numero_lineas_despues TEXTO > fichero_de_dispositivo
El parámetro «-a» indica a grep que trate cualquier información que se le pase como si fuera texto
El parámetro «-B numero_lineas_antes» nos permite, una vez que grep encuentra TEXTO añadir al resultado un número determinado de líneas anteriores a él.
El parámetro «-A numero_lineas_despues» nos permite, una vez que grep encuentra TEXTO añadir al resultado un número determinado de líneas posteriores a él.
Para determinar la cabecera podemos usar:
# head -n2 winiso.zip
# PK (Ésta es la salida del comando anterior)
No he probado ninguno de los 2 métodos, pero espero que os sea útil y me alegro de que aparezcan utilidades así. Pero pregunto yo… ¿Funcionará bien en EXT3 y su journaling? ¿Usará el método tosco a base de grep?
PD: Me he dado cuenta que son los mismo creadores que TestDisk, un recuperador de particiones que soportas muchos más sistemas de ficheros, así como disklabels de BSD y Solaris.
Escrito por Gura
12.Mar.06
GNU/Linux
Leer más
Comentarios (0)
Actualizando OpenBSD
Si no os acordáis, llevo unos meses queriendo terminar algo que empecé, el cortafuegos con OpenBSD. Para quien venga de Linux como yo, que he usado solamente 2 distribuciones las cuales son SuSE y Gentoo. SuSE tiene YaST, exactamente YOU (YaST Online Update) por el cual te podías bajar actualizaciones de seguridad y algunos fixes. Si querías nuevas versiones, o instalabas una SuSE más nueva, la cual traía software más reciente, o como hace Rastreador, que ha ido metiendo versiones nuevas sobre, si no recuerdo mal, SuSE 9.1.
Hace unos meses, cuando vi el proyecto OpenSuSE, decidí probar Gentoo. Aquí tienes 2 ramas, la estable y la inestable. Yo uso la estable y tengo paquetes de la inestable, como por ejemplo en KDE, interfaces gráficas, etc… También cabe destacar los GLSA (Gentoo Linux Security Advisories), que simplemente, si hay una versión vulnerable la actualiza a una superior. Es lo único que no me gusta del todo si la usase como servidor, ya que estoy acostumbrado a Debian Sarge y su política de actualizaciones.
Y a lo que iba, OpenBSD. OpenBSD no distribuye ISO de sus CD”’’s, así que tendremos que hacerla nosotros mismos. Una vez instalada tenemos una OpenBSD 3.8-RELEASE, que es la que tiene los CD”’’s. Pero eso no es una rama, no se actualiza, se liberó y punto. Éste es el momento en el que tenemos que elegir que rama escoger, si la -STABLE o la -CURRENT. Si queremos un sistema en producción, claramente actualizaremos a -STABLE.
Los fallos de seguridad del sistema base los tenéis aquí y los de paquetes de la rama STABLE aquí.
Como veis hay 3 fallos de seguridad. Hoy he encontrado la forma más cómoda (en mi opinión) de actualizar el sistema base.
Actualizamos las fuentes del sistema al patch brach OPENBSD_3_8:
*default host=rt.fm
*default base=/var
*default prefix=/usr
*default release=cvs
*default delete compressOpenBSD-src tag=OPENBSD_3_8
Eso lo guardamos en, por ejemplo, ~/supfile.
Ahora montamos el CD y extraemos el paquete src.tar.gz a /usr/src y sys.tar.gz a /usr/src/sys. Una vez descomprimido ejecutaremos:
cvsup -g -L 2 ~/supfile
Nota: La ooción “-L 2″ es el nivel de debug del proceso.
Cuando termine tendremos un /usr/src actualizado.
Aún no hemos actualizado a STABLE, así que con todo ya preparado seguimos la guía. Compilamos nuevo kernel, lo cambiamos, reiniciamos con el nuevo y luego recompilamos binarios.
Nota: A la hora de compilar es imprescindible tener instalado el paquete misc.tgz que viene en el CD. Si no es así, lo descomprimís en el raíz.
Ahora tenemos la OpenBSD 3.8-STABLE. Revisamos que los paquetes estén en su última versión disponible y lo ponemos a funcionar de lo que nos dé la gana, supongamos que de cortafuegos.
Pero claro, no existe nada perfecto, y como hace unos días, un bug en la función scp de SSH. Ahora nos planteamos como actualizar…
- Ejecutar de nuevo cvsup -g -L 2 ~/supfile y recompilar todos los binarios del sistema y si es el kernel, el kernel
- O la otra opción, que como no hay muchos fallos, no será caótico. La alternativa es bajarse los .patch y aplicarlos
Yo he optado por la segunda opción:
wget patch
less 005_ssh.patch(salida)
Apply by doing:
cd /usr/src
patch -p0 > 005_ssh.patchAnd then rebuild and install ssh:
cd usr.bin/ssh
make obj
make
make install
Pues esas son las instrucciones, bien claras.
La primera opción hubiese sido una muñonada, recompilar todo el sistema a lo tonto, para que por ejemplo luego casque algo. De este modo lo único que tenemos que hacer es estar pendientes de los fallos de seguridad que aparecen, parchear el código fuente y fijarnos a qué afecta la vulnerabilidad, si a algún binario del sistema base o solo al kernel, y compilar.
Una vez recompilado en nuestro ejemplo SSH, mataremos sshd y volveremos a ejecutarlo. Si estamos en remoto lo más probable es que perdamos la conexión con el host. Se me ocurre una idea, que es programar un trabajo que se ejecute en 2 minutos, por ejemplo.
Otra cosa que me he pasado por alto es que Apache y Bien9, por ejemplo, forman parte del sistema base, es decir, si sale una vulnerabilidad tendremos que recompilarlo como hicimos ahora con ssh. Las versiones que trae OpenBSD son viejas, pero eso no es malo si cumple con tus necesidades, ya que al ser más viejas están más auditadas (Recordad que el sistema base es auditado, pero los paquetes es cosa del desarrollador no del equipo de OpenBSD). ¿Qué quiero decir con esto? Que mejor usar en lo posible lo que el sistema base nos brinda, si no es posible, los paquetes, y sino, los ports. También podemos recurrir al código fuente oficial del software en cuestión, pero bueno.
Si usáis ports, al igual que lo demás, tendréis que actualizarlos, para ello basta con añadir la linea:
OpenBSD-ports tag=OPENBSD_3_8
Entonces creamos el directorio /usr/ports (Porque no estoy seguro de si lo crea) y actualizamos.
Todo este código fuente y post ocupa espacio, así que una buena idea sería volcarlo mediante NFS en otra máquina con más capacidad de almacenamiento.
Con esto doy por concluido, cuando tenga un rato lo pondré en mi web.
Agur
Escrito por Gura
28.Feb.06
*BSD, Gentoo, OpenBSD, Sistemas, SuSE
Leer más
Comentarios (2)