A los Colaboradores
Junio 3, 2009Hemos recibido muchas solicitudes de lectores que desean colaborar con la Revista Linvix enviando artículos. Para organizar mejor el trabajo hemos habilitado la siguiente dirección linvix@gmail.com para recepcionar todos los artículos, los cuales serán recibidos por los editores de la revista.
Muchas gracias a todas las personas que se han brindado a colaborar.
El equipo de Linvix
Revista Linvix número 2
Mayo 18, 2009
Con este número queremos dar inicio a Linvix, una revista de Código Abierto y Software Libre que como principal objetivo tiene divulgar y promover el uso del Software Libre en Viñales, nuestro municipio.
El equipo de Linvix ha realizado un esfuerzo enorme por tratar de llevar a ustedes este segundo número, que es el primero que publicamos en formato PDF y en Internet, debido a que la idea inicial creció y ahora queremos llevarla más allá de nuestras fronteras. Rogamos nos diculpen si el lector encuentra algún error que dificulte la lectura en este primer número.
Invitamos a todos los interesados a que nos envíen sus comentarios, sugerencias y dejamos las puertas abiertas a los que gusten en colaborar para que nos envíen algún artículo o cualquier aporte que sea de utilidad para próximos números.
El equipo de Linvix
Como autenticar maquinas linux (ubuntu) contra un servidor PDC Samba
Abril 17, 2009Hola, despues de tanto navegar, por fin encontre la receta, aqui les va:
1. Necesitamos instalar los siguientes paquetes:
sudo apt-get install libnss-ldap libpam-ldap nscd
Nos saldrá una ventana de configuración, dende:
* Establecemos el servidor LDAP. aquí ponemos la dirección ip del server que corre el servicio LDAP de la forma:
ldap://192.168.0.1 y presionamos Enter
* Posteriormente entramos el (Distinguished name of the search base), en mi caso dc=vn,dc=pri,dc=jovenclub,dc=cu
* Establecemos la versión de LDAP, (3).
* En la opción (Make local root Database admin) le decimos NO
* En la opción (Does the LDAP database require login?) le decimos NO
2. Ahora necesitamos configurar los pam.d
* Editamos el fichero /etc/pam.d/common-account y nos aseguramos de que tenga la siguiente configuración:
account required pam_unix.so
account sufficient pam_ldap.so
NOTA: En mi experiencia, el orden de las opciones creo es importante. En caso de exitir alguna de las opciones que debemos adicionar, las comentamos y las ordenamos segun aparece en este tutorial.
* Editamos el fichero /etc/pam.d/common-auth y nos aseguramos de que quede de la siguiente forma:
auth sufficient pam_unix.so
auth sufficient pam_ldap.so try_first_pass
auth required pam_unix_auth.so
* Editamos /etc/pam.d/common-password y nos aseguramos que quede de la siguiente forma:
password required pam_unix.so nullok obscure min=4 max=8 md5
password sufficient pam_unix.so use_authtok md5 shadow
password sufficient pam_ldap.so use_authtok
* Editamos /etc/pam.d/common-session y nos aseguramos que quede de la siguiente forma:
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session required pam_unix.so
session optional pam_ldap.so
Ya tenemos todos los ficheros pam.d necesarios para la autenticacion contra el dominio.
3. Ahora Modificar el Nsswitch que se encuentra en /etc/nsswitch.conf y nos aseguramos que quede de la siguiente forma:
passwd: compat ldap
group: compat ldap
shadow: compat ldap
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
En Ubuntu 8.04 solo hay que añador ldap en las tres primeras opciones, lo dema viene por defecto.
4. Por ultimos reiniciamos nscd /etc/init.d/nscd restart y a disfrutar de la autenticación contra el pdc
Configurar CVS para el control y desarrollo de Proyectos
Abril 12, 2009Hola!!!
Siempre me pregntaba como un grupo de programadores juntaban todo el codigo mientras desarrollaban una aplicacion.
Bueno, ayer un colega y yo comenzamos a realizar un proyecto en Django y nos pruntamos como hacerlo, investigamos un poco por la red y rapido encontramos a CVS. Esto nos permitiría implementar un sistema de control de versiones: mantiener el registro de todo el trabajo y los cambios en los ficheros (código fuente principalmente) que forman el proyecto (de programa) y permite que distintos desarrolladores (potencialmente situados a gran distancia) colaboren.
Basicamente se utiliza en el desarrollo de un proyecto informatico para llevar un control de los ficheros del codigo y evitar por ejemplo que el codigo que escribe un usuario sea “machacado” con el codigo de otro usuario. Ademas con un sistema de control de versiones, el programador siempre puede disponer de la ultima version del codigo lo que ayuda a continuar con el desarrollo del proyecto.
Te pondre un ejemplo de para que sirve todo esto.
Imagina dos programadores que estan trabajando en el mismo proyecto, y casualmente ambos estan modificando el mismo fichero de codigo. Cuando uno de ellos actualice ese fichero en el repositorio se queda marcado, de tal manera que cuando el otro intente subir al repositorio de codigo ya ve, que ese fichero ha sufrido una modificacion desde la ultima vez que el se actualizo, lo que le obliga, a traerse de nuevo ese fichero (con los cambios que haya realizado el primer programador), añadir los suyos y volver a subir el fichero. Sin un mecanismo de control de versiones, ese cambio se perderia, el primer desarrollador subiria el fichero y el segundo subiria su version. Esto para un fichero es controlable, pero cuando tienes miles de ficheros y miles de lineas de codigo significa un desastre total. Por eso el control de versiones es necesario.
Para instalar el servidor y el cliente cvs ejecutamos:
sudo apt-get install cvs cvsd
En un momento determinado nos pedira la ruta para el repositorio, pon por ejemplo /cvsrepo. Este es el directorio a partir del cual se ira colgando todos aquellos modulos/proyectos que administremos con el CVS.
Este directorio lo vamos a definir a partir de /var/lib/cvsd, asi que realmente el path completo seria:
/var/lib/cvsd/cvsrepo
Ejecutamos las siguientes secuencias de comandos:
$ sudo cvsd-buildroot /var/lib/cvsd
Si la carpeta cvsrepo no existe, la creamos
$ cd /var/lib/cvsd
$ sudo mkdir cvsrepo
Le damos permisos sobre la carpeta al usuario cvsd
$ sudo chown -R cvsd:cvsd cvsrepo
Inicializamos el repositorio
$ sudo cvs -d /var/lib/cvsd/cvsrepo init
creamos un usuario cvs y le damos una password.
$ sudo cvsd-passwd /var/lib/cvsd/cvsrepo <username>
por ejemplo:
sudo cvsd-passwd /var/lib/cvsd/cvsrepo papo
Ahora editamos el fichero:
sudo vi /var/lib/cvsd/cvsrepo/CVSROOT/config
Cambiamos “#SystemAuto=no” a “#SystemAuto=yes”
Ya tenemos todo funcionando. Para comprobar que accedemos:
cvs -d :pserver:username@localhost:/cvsrepo login
cvs -d :pserver:username@localhost:/cvsrepo checkout .
Por ejemplo:
cvs -d :pserver:papo@localhost:/cvsrepo login
Seria adecuado exportar la variable CVSROOT del siguiente modo:
export CVSROOT=:pserver:papo@localhost:/cvsrepo
o el valor que fuera, de esta manera ya no necesitariamos especificarla cada vez que fueramos a usar un comando “cvs”.
Ahora podriamos logarnos con:
cvs login
y por ejemplo colocarnos en la carpeta (dentro) de un proyecto que quisieramos subir al CVS y ejecutar:
cvs import -m “ficheros iniciales” MiProyecto HEAD MAIN
Con esto importamos el proyecto a CVS
Ahora podemos usar algun cliente CVS para descargar el proyecto desde el repositorio, yo estoy usando Cervisia que se integra muy bien a Quanta.
Espero que esto les sea de ayuda.
Alternativa Buena a Babylon
Abril 9, 2009Llevava mucho tiempo intentando encontrar alguna aplicación que funcionara como Babylon en Linux, hasta que finalemente encontre ktranslator que aunque es para KDE funciona perfectamente en Gnome.
1. Instalar ktranslator apt-get install ktranslator
2. Bajar desde ftp://ftp.ac-grenoble.fr/ge/languages/babylon_dict/ dos archivos: english.dic.gz y EngtoSpa.dic.gz (son los archivos de babylon)
3. Descomprimes los dos archivos obteniendo base y Spanish.dic; renombras (muy importante) base a english.dic y Spanish.dic a EngtoSpa.dic
4. Arrancas ktranslator y en Preferences, Dictionaries le das a Add (añadir) y seleccionas EngtoSpa.dic (en la ruta donde lo hayas descomprimido y renombrado) especificando en el desplegable plug-in to use: Babylon
Listo con esto ya podemos hacer nuestras traducciones usando la tecla Ctrol + Doble Clic
Espero lo disfruten
Linvix – Revista de Software Libre
Enero 18, 2009Cuendo comenzamos en el mundo del Software Libre, teníamos escasos conocimeintos de Linux, recuerdo que en aquellos tiempo nos dirigíamos a los foro para resolver dudas, un amigo me dijo que una de las cosas más bonitas que tenia linux era … que generaba una gran comunidad de ayuda entre usuarios de todo el mundo…, hoy somos parte de esa comunidad mundial, de una forma u otra colaboramos con el desarrollo del Software Libre, por eso un grupo de amantes del Software Libre nos hemos unido para transmitir a todos los apacionados del Sistema Operativo del Pinguino nuestros conocimientos, así nace LINVIX, una revista que como principal propósito tiene Dibulgar y Promover el uso del Software Libre en nuestro municipio, Viñales, Pinar del Rio, Cuba.
LA revista aún está en face de desarrollo, queremos compartir la Portada del éste primer número y conocer sus opiniones.

Equipo de Linvix
Perfil Mandatorio en Linux (mejorado)
Enero 16, 2009Hola
El pasado dia 7 de enero publique como hacer una especie de Perfil Mandatorio en Linux, para garantizar un perfil adecuado en cada inicio de sesión, pero al final me di cuenta que impidiendo el acceso de escritura en el direcctorio personal del usuario, algunas aplicaciones no funcionarian correctamente, así que buesqué otra solución.
Esta segunda opción es un poco mas sencilla.
1. Debemos crear un usuario a traves de Gnome (en mi caso), iniciamos sesión con dicho usuario, ajustamos la configuración de su perfil(Tapiz, configuración de Navegadores, Temas, etc…)
2. Hacemos una copia compactada del perfil.
$ tar -cvzf perfil_usuario.tar.gz /home/usuario
3. Copiamos el fichero compactado para /root
cp perfil_usuario.tar.gz /root
4. Creamos un scrip que se encargará de descompactar en cada inicio de sesión el perfil compactado para el directorio /tmp y crear un enlace simbolico hacia el /home
#!/bin/bash
# script sencillo para generar carpetas temporales
cd /tmp
#descompactamos el perfil
tar -xvzf /root/perfil_usuario.tar.gz
#Crea enlace simbolico en /home/usuario
ln -s /tmp/home/usuario /home/usuario
exit 0
Lo guardamos como usuario.sh en el directorio /root
5. Ahora debemos asegurarnos que al iniciar la maquina se ejecute el script, para ello vamos al fichero /etc/rc.local y añadimos al final lo siguiente:
/root/usuario.sh
Weno, hasta aqui todo lo que necesitamos hacer, cada ves que la maquina se reinicia el directorio /tmp se limpia y se pierde el perfil del usuario, cuando la maquina inicia, se ejecuta el script, se descompacta el perfil para /tmp y se crea un enlace simbolico hacia el /home con todos los permisos y configuraciones del usuario.
Hasta la próxima
Mañana comienza el sprit de Traducción de la Documentación de Django
Enero 8, 2009Ya sólo quedan 1 día para que comience el sprint de traducción on-line de la documentación de Django al español. Para que no haya confusiones sobre cómo participar aqui les dejo este link, donde se esplica como participar.
http://django.es/blog/traducir-la-documentacion-de-django-al-espanol/
Los esperamos
Perfil mandatorio en linux.
Enero 7, 2009Hola.
En este artículo explicaré como crear un perfil mandatorio en una maquina linux, en este caso el perfil no se descarga del servidor ni tampoc funciona como en los Window$, pero por lo menos se logra mantener un escritorio limpio y organizado en un laboratorio donde acceden numerosas personas cada dia.
Utilizaremos los archivos temporales del sistema operativo, asi nos aseguramos que cuando se reinicie la maquina se borren todos loa archivos que el usuario a dejado.
Primero debemos un script que cree una carpeta llamada usuario en el directorio /tmp del sistema
#!/bin/bash
# script sencillo para generar carpetas temporales
# Crea carpeta temporal llamada usuario
mkdir /tmp/usuario
# Crea sub carpetas dentro de usuario
mkdir /tmp/usuario/documentos
mkdir /tmp/usuario/videos
mkdir /tmp/usuario/canciones
#Crea enlace simbolico en /home/usuario
ln -s /tmp/usuario /home/estudiante/Escritorio/usuario
La última línea crea un enlace simbolico al Escritorio del estudiante, que sera donde unico tendrá permisos de escritura.
El script que lo podemos guardar con el nombre perfil, y lo podemos guardar en /usr/bin
Ahora para que este script se inicie cada vez que arranque la sesion del usuario estudiante usando gnome debemos de ir a :
Sistema –> Preferencias —>Sesiones
en la pestaña Programas de Inicio hacemos clix en el boton Añadir, luego donde dice Orden pongo la ruta completa donde guarde mi script en este caso:
/usr/bin/perfil
Luego abro terminal le doy permisos de ejecucion al script
$chmod +x /usr/bin/perfil
Ahora como root le doy permisos de solo lectura a /home/estudiante (para evitar que el usuario pueda escribir, guardar y/o modificar archivos en /home/estudiante)
Como se han dado cuenta estoy forzando a que se guarden los documentos en /tmp/usuario
Es cuestion de poner un aviso y decir que pueden guardar sus documentos en la carpeta usuario.
Listo cada vez que se reinicia el sistema se borran todos los archivos que estan dentro de /tmp/usuario y la carpeta usuario se vuelve a crear cada vez que se reinicia el sistema.
Es solo un pequeno ejemplo de lo que se puede hacer. Espero que sea de utilidad.
Linvix

Escrito por linvix
Escrito por linvix
Escrito por linvix