APOC: el Active Directory de Linux, ¡por fin Open Source!

apoc_.png El proyecto APOC (A Point of Control) está basado en el producto Sun Desktop Manager, desarrollado originalmente por el equipo Sun Ray de Sun Microsystems, en un esfuerzo para ofrecer la capacidad de gestión centralizada el sistema Sun Java Desktop. En 2007, SUN decidió donar y promover APOC como un proyecto opensource al proyecto FreeDesktop.org, con el objetivo de construir una comunidad alrededor de este software y extender el uso de APOC al mayor número de aplicaciones y sistemas operativos posible. Finalmente, tras 8 meses de duro trabajo liderado por Alberto Ruiz, Sun publicó el código fuente de APOC usando una licencia dual CDDL/GPLv2.

APOC ofrece funcionalidades para gestionar de forma centralizada escritorios y aplicaciones de escritorio en grandes despliegues informáticos. Permite a los administradores de sistemas distribuir de forma segura entornos de escritorio open source correctamente configurados, y optimizados en función de las necesidades y privilegios de los usuarios, basándose en roles, grupos y hosts dentro de la organización.

Con APOC, cualquier administrador de sistemas puede crear y agrupar configuraciones en forma de perfiles para las aplicaciones open source más populares y desplegar esos perfiles en sus servidores LDAP, usando la jerarquía que ya tengan definida.

El código fuente, wiki, bugzilla y lista de distribución del proyecto ya están online en apoc.freedesktop.org

Cómo recuperar un archivo borrado con lsof

¿Has borrado por equivocación un archivo? Ese mismo archivo ¿lo tienes abierto en alguna otra aplicación? (por ejemplo, estabas escuchando un ogg o un mp3 y mientras lo escuchas, sin querer, lo has borrado en lugar de moverlo a otro directorio, por ejemplo). Bien, pon en «Pause» el reproductor y no lo cierres por nada del mundo 🙂 . Ahora, usa el sistema virtual de ficheros /proc para recuperarlo:

$ cp /proc/4158/fd/4 elfichero.recuperado

(4158 es el identificador de la aplicación que todavía tiene abierto el fichero que acabas de borrar.En nuestro ejemplo, sería el identificador del player mp3. 4 es el descriptor del fichero que nos interesa (en nuestro ejemplo, el player puede tener abierto más de un fichero, 4 es el identificador que nos interesa). ¿Cómo he obtenido esos números? Con lsof:

$ lsof | grep elfichero.borrado

¿Quieres saber más al respecto? Léete este artículo de Linux.com de donde yo he sacado la información. Te hará falta en el futuro…

Conky: EL monitor de sistema

conky-basatu1.png Nuevo artículo de Basaburu, esta vez explicando el funcionamiento de Conky, un monitor de sistema con poco consumo de recursos:

«He decidido meterle mano al tema de la gestión y el ahorro de energia (en ello ando). Para lo cual me he metido con los kerenls en desarrollo, para vigilar un poco como andan las cosas necesitaba un monitor de sistema que fuera configurable. La elección lógica es Conky una pequeña maravilla, estoy encantado. Así que pretendo en este How To compartir la experiencia.

El site del proyecto: http://conky.sourceforge.net

Para empezar (ya sabéis que soy Debianero convencido)….


# apt-get install conky

Sigue leyendo Conky: EL monitor de sistema

¿Es más fácil instalar Windows que Linux?

A menudo he oído esta frase: «la instalación de Linux es un engorro», o sus distintas variantes como «instalar Linux es super-complicado», «¿vas a instalar Linux?, buf, que no te pase nada…», «déjate de Linux y usa Windows, es mucho más fácil de instalar». En mi opinión, el que alguna vez haya dicho alguna de esas frases se debe a que NUNCA ha instalado Windows en un ordenador. Y menos en un portátil. Y menos aún en un Acer Aspire 4310.

Ese portátil estaba a 300 Euros en MediaMarkt hace unas semanas. Mi hermana se lo compró. No es una mala compra: por 300 Euros tienes un procesador Celeron M 520, 512 MB de RAM y 80 GB de disco, grabadora de DVD y tarjeta Wireless con un peso de unos 2Kg. Lo realmente malo es que viene con Windows Vista preinstalado. Sí, has leído bien, 512 MB de RAM para ejecutar un sistema operativo que consume más que ningún otro sistema del planeta. Así que mi hermana me pidió que le borrara Vista y le instalara XP.

Aquí empezó mi calvario: el portátil viene con disco SATA. Y el CD de instalación de WinXP no soporta discos SATA. Por lo que para instalar el hermanito pequeño del Vista, hay que copiar primero en un floppy USB el driver SATA Hard-drive tal y como se cuenta en estos foros. No, no me he confundido: NO vale instalar el driver en un stick USB, hay que instalarlo en un disquete que el sistema leerá a través de una disquetera externa USB.

Cuando metes el CD de WinXP hay que pulsar F6 repetidamente . Sin ningún mensaje de confirmación, al pasar unos 2 minutos, si al señorito XP le apetece, nos mostrará una pantalla en la que, pulsando S, accederemos al driver que tenemos en el floppy.

Para el soporte AHCI, audio, lector de tarjetas, módem y tarjeta VGA es necesario descargar e instalar otros drivers.

Para el driver wireless, otro distinto. UPDATE 29/10/07: busca en Yahoo el driver wireless gratuito que DriverGuide publica aquí por 2 Euros.

Y aún quedan algunos más, tal y como nos cuentan en los comentarios de este foro.

Mi hermana quiere tener Windows XP . No hay manera de convencerle de que use otro sistema operativo. Por probar, he instalado Fedora Core 7 en el mismo ordenador. Todo ha sido coser y cantar (siguiente/siguiente/siguiente/fin). Ni un driver que descargar ni configurar, todo OK a la primera. Una bendición. Al próximo que me diga que instalar Linux es difícil le dejaré un Acer4310 con el disco con Windows Vista preinstalado tal y como viene de fábrica y le diré: «Ale majete, instala WinXP aquí, ya que es tan fácil…» A menos que sea alguien muy versado, no lo conseguirá.

Nota: es posible usar nLite, una aplicación que permite personalizar el CD de instalación de WinXP (permite copiar previamente los drivers necesarios en una ISO hecha a partir de la ISO base de WinXP). O usar Windows XP Colossus Edition 2…

Configurar cliente VPN y Kernel >=2.6.18

tablon.png Un problema de conectividad con Linux más resuelto. Por fin. Me explico: como muchos ya sabréis trabajo en la Facultad de Informática de la UPV/EHU. Para los usuarios que quieran conectarse a la red interna de la UPV han preparado una VPN. Hasta aquí sin problemas. El problema viene cuando vemos que las instrucciones oficiales para configurar un cliente Linux para esa VPN, aparte de que a un usuario normal le hacen pasarse a Windows rápidamente (no es broma, conozco a un usuario Linux que se pasó a Windows al ver ese desastre), lo dicho, aparte de asustar al usuario medio, NO FUNCIONAN. ¿Por qué? Porque ‘simplemente’ se han quedado anticuadas. Desde el Kernel 2.6.18 el cliente VPN de Cisco para Linux oficial no compila. Ahora es cuando un tercio de los aguerridos usuarios Linux que quedaban se pasan a Windows.

Bien, ¿qué podemos hacer si nuestra máquina tiene un Kernel 2.6.18 o superior? ¡Por cierto!, para saber ésto basta con ejecutar el siguiente comando:

[juanan@alancox]$ uname -a
Linux alancox 2.6.18-1.2798.fc6 #1 SMP Mon Oct 16 14:54:20 EDT 2006 i686 athlon i386 GNU/Linux

Mi versión del kernel en la máquina donde ejecuté el comando es la 2.6.18-1.2798.

Bueno, en ese caso, tras descargar la última versión del cliente VPN para Linux (requiere registro), hay que seguir las instrucciones que AitorC nos ha dejado en la web de EHUX (la distro Linux de la UPV), para parchear el código de vpnclient.

Tras cumplimentar esos pasos (parchear el cliente VPN oficial), seguimos paso a paso las instrucciones obsoletas que he mencionado antes y…. SEGUIRÁ SIN FUNCIONAR :-O


[root@alancox vpnclient]# vpnclient connect ehu
Cisco Systems VPN Client Version 4.8.00 (0490)
Copyright (C) 1998-2005 Cisco Systems, Inc. All Rights Reserved.
Client Type(s): Linux
Running on: Linux 2.6.18-1.2798.fc6 #1 SMP Mon Oct 16 14:54:20 EDT 2006 i686
Config file directory: /etc/opt/cisco-vpnclient
Enter a group password:
Initializing the VPN connection.
Contacting the gateway at 158.227.0.11
The VPN sub-system is busy or has failed.

Vaya por Dios… ¿dónde está ahora el problema? Bien, en que en esas instrucciones, por defecto, se establece un perfil (en /etc/opt/cisco-vpnclient/Profiles/ehu.pcf) que usa conexiones UDP. Hasta ahora, todos los «encuestados» Linuxeros me han comentado que NO les ha funcionado esa configuración. Para hacerla funcionar, hay que tunelizar por TCP. Traducido al castellano, en el fichero ehu.pcf, buscar la línea que pone:

TunnelingMode=0

y cambiarla por

TunnelingMode=1

Para ser justos, en los comentarios de usuarios de la página oficial de instrucciones sí que citan esta posibilidad (para RedHat 9…)

Tras indicar que queréis tunelizar, probad a conectar de nuevo:

[root@alancox bin]# ./vpnclient connect ehu
Cisco Systems VPN Client Version 4.8.00 (0490)
Copyright (C) 1998-2005 Cisco Systems, Inc. All Rights Reserved.
Client Type(s): Linux
Running on: Linux 2.6.18-1.2798.fc6 #1 SMP Mon Oct 16 14:54:20 EDT 2006 i686
Config file directory: /etc/opt/cisco-vpnclient
Enter a group password: <--------- EL PASSWORD de grupo es "VPNs" (sin las comillas) Initializing the VPN connection. Initiating TCP to 158.227.0.11, port 10000 Contacting the gateway at 158.227.0.11 User Authentication for ehu... Enter Username and Password. Username [scpXXXXXX]: <---- tu cuenta LDAP Password []: <--- tu password LDAP Authenticating user. Negotiating security policies. Securing communication channel. Your VPN connection is secure. VPN tunnel information. Client address: 158.227.184.27 Server address: 158.227.0.11 Encryption: 168-bit 3-DES Authentication: HMAC-MD5 IP Compression: None NAT passthrough is active on port TCP 10000 Local LAN Access is disabled

Yeah! Bring it on! ¿Ya está? Sí. ¿Cómo sabemos que "yatá"? Conéctate al tablón de anuncios de la UPV/EHU. Si lo ves, estás VPNizado. Si no lo ves, "sigue rascando" 😉

Recuerda que a partir de ahora, tu IP será una del tipo 158.227.x.y . Puedes ver cuál es en concreto conectándote aquí:
http://www.whatismyip.com/

Nota1: la versión que yo he instalado es: vpnclient-linux-x86_64-4.8.00.0490-k9.tar.gz
Nota2: en ITSAS recomiendan vpnc, el cliente libre para VPNs , por si el oficial de Cisco no nos funciona.
Nota 3: mi sugerencia para los responsables de documentar el proceso de conexión para Linux sería el realizar un pequeño script que automatizara el proceso descrito en este mensaje. Ya puestos a hacerlo bien, sugeriría que se usara Zenity, para conseguir con el menor esfuerzo posible un script que funcione en modo gráfico (eso que a los usuarios tanto nos gusta: 'Siguiente'->'Siguiente'->'Fin'->'Todo ha ido como la seda, ya puedes tomarte un café, ¡campeón!')

PD: sólo me queda configurar la maldita tarjeta Intel 1390 con Eduroam en Ubuntu Gutsy para ganar todas las apuestas 😉