Software Libre y GNU linux
Bienvenidos al Blog de zkorpio. sitio para tratar temas acerca de Software libre.

Muchas veces podemos cometer el error de otorgar a nuestros usuarios demasiados permisos los cuales sin exagerar pueden llegar a ser fatales si no tenemos los cuidados suficientes, acá un link donde se habla de como con un par de comandos podemos dejar a nuestro sistema operativo inútil (algo así como un format c: en Windows), así que MUCHO OJO CON LA CUESTION DE PERMISOS....

Muchas veces podemos cometer el error de otorgar a nuestros usuarios demasiados permisos los cuales sin exagerar pueden llegar a ser fatales si no tenemos los cuidados suficientes, acá un link donde se habla de como con un par de comandos podemos dejar a nuestro sistema operativo inútil (algo así como un format c: en Windows), así que MUCHO OJO CON LA CUESTION DE PERMISOS.... El enlace al artículo Si no deseas visitar la página anterior acá un extracto del mismo:
  1. cat /dev/[urandom | random | zero ] > /dev/[hda - sda - ..] el dispositivo urandom y random son dispositivos especiales en un GNU/Linux, estos dispositivos generan bits aleatorios, este comando entonces llenaría el dispositivo completo de ‘basura’ causando una perdida de datos y una destrucción completa del OS
  2. rm -rf / este es el clásico, por error lo he hecho y puedo decir que produce fallos antes de causar una destrucción masiva como generalmente se piensa, aunque si existe una perdida considerable de datos.
  3. chmod -R 777 / se puede llegar a dejar un sistema operativo totalmente arruinado después de esto, a pesar que los datos no se pierden, muchas cosas quedaran inoperable, ya que alguna que otra aplicación necesita permisos específicos para funcionar.
  4. chmod -R 000 / es una variación al anterior, a pesar de que muchos datos son totalmente recuperables, creo que después de cualquiera de estos dos comandos tendría que ser necesario reinstalar todo.
  5. apt-get remove –purge libc6 este es especifico para debian, y sus hijos pródigos :D, difícilmente ejecutable por error, pues el sistema de paquetería pide la confirmación ya que esto es casi insólito, debido a eso, apt-get le pide al usuario escribir: “Si, haga lo que digo!”(ojo, que la expresión tiene que ir tildada y con sus signos de admiración como la ley manda).
  6. :> /etc/password && :> /etc/shadow && :> /etc/inittab && :> /etc/fstab ….. a pesar de todo, esto podría generar fácilmente un verdadero dolor de cabeza para ser restaurado nuevamente, especialmente si el equipo en cuestión tiene muchos usuarios o muchas particiones
  7. rm /usr/lib/libstdc++.so.6 esta librería es importante para muchas aplicaciones básicas, por lo que vendría a ser un poco lastimoso ejecutar ese comando
  8. Instalar windows pues, fuera de todas las anteriores, esta opción es la mas destructiva de todas .
Espero podamos todos tomar conciencia de un tema tan delicado pero aunque no se crea muchas veces olvidado como son los permisos para nuestros usuarios.
Continua...

 

Para muchos, el cambio de un sistema operativo a otro puede llegar a ser frustrante pues uno se acostumbra a usarlo (windows) y saber de memoria donde esta cada cosa; Cuando queremos aprender un nuevo sistema operativo (gnu- linux) nos podemos perder pues la forma en que gnu- linux se maneja, es algo diferente a lo que estamos acostumbrados.

Para muchos, el cambio de un sistema operativo a otro puede llegar a ser frustrante pues uno se acostumbra a usarlo (windows) y saber de memoria donde esta cada cosa; Cuando queremos aprender un nuevo sistema operativo (gnu- linux) nos podemos perder pues la forma en que gnu- linux se maneja, es algo diferente a lo que estamos acostumbrados. Pero si tenemos la convicción de que queremos aprender a usar un sistema operativo Libre, Seguro, Amigable y que nos nos presenta limitaciones como la parte propietaria en primer lugar considero deberíamos tomar en consideración lo siguiente: 1) Necesariamente la práctica nos llevara a dominar el uso del sistema operativo. (todavía recuerdo la primera vez que me senté frente a un entorno Windows y tooodas las malas noches que tuve que pasar para aprender a manejarme por el entorno y aparte lidiar con toooodos los problemas a los que microsoft nos expone a diario), asi que A PRACTICAR. 2) No debemos esperar que las cosas que hacíamos en Windows esten en el mismo lugar en Gnu- linux, pues éste último no pretende ser una copia, desea llegar a ser un SO amigable y usable pero NO SERA IGUAL A WINDOWS, si bien es cierto proyectos como Openoffice han optado por parecerse a Microsoft Office para tener una facilidad en su migración pero es importante que si deseamos usar de ahora en adelante un paquete ofimático libre (openoffice) nos demos un tiempo para leer como usarlo pues hay cosillas que no son iguales y pueden desanimar a los futuros usuarios. Esto lo digo porque una de mis labores es ayudar a migrar a las empresas a un entorno libre y muchas veces me encuentro con frases como "AAH PERO EN MICROSOFT OFFICE ESTO LO TENIA DE ESTE COLOR Y EN ESTE LUGAR", hagamos el esfuerzo por aprender, se nos esta entregando un entorno libre, lo menos que podemos hacer para reconocer este esfuerzo es poner de nuestra parte y aprender. 3) No existe un manual perfecto, cada uno tendrá sus pros y contras destacando que hay muchos que se centran en facilitar el paso de un entorno privativo (windows) a uno libre (gnu- linux), busquemos un poquito mas en google y 100 por ciento seguro encontraremos un manual que se adapte a las necesidades segun el nivel de usuario que seamos (novato, intermedio, avanzado), con todo al final de este artículo les adjunto unas guías que me sirvieron mucho en mis inicios. 4)Gnu- Linux no es el sistema operativo perfecto, tambien tiene sus problemillas en el uso diario, aunque tengo que reconocer que la mayoría de problemas que he tenido han sido por mi culpa pues al no haber entendido bien como instalarlo, como configurarlo obviamente obtuve problemas; pero por otro lado claro que tiene problemillas: a veces el entorno gráfico se me ha caido (en 5 segundos vuelvo a iniciarlo y no pierdo tiempo, no es necesario reiniciar la maquina), algunos programas que me hubiese gustado usar algunas veces me ha sido imposible correrlos por a o b incompatibilidad con mis librerías etc, pero no me ha sido impedimento de seguir trabajando ya que existen muchas alternativas; una vuelta por google y solucionado ;) . Lo interesante de estos problemillas es que tu puedes aportar activamente con la comunidad de software libre porque cuando tienes alguna incompatibilidad casi siempre tienes una pantallita al frente tuyo que te dice "se detecto un problema, desea reportar este bug a la comunidad?", le damos aceptar y al poco tiempo ya he tenido solucionado el inconveniente (que alguien me diga si en un entorno privativo esto es posible jeje ). 5) Ninguna distribución gnu-linux es mejor que otra, CON TODAS LAS DISTRIBUCIONES es posible hacer lo que otras hacen, la única diferencia es que algunas distros ya vienen con paquetes instalados o configurados y listos para usar, no es que Redhat es mejor o Ubuntu es peor o lo que sea, en todas las distros con las que me he topado (mandriva, debian, ubuntu, redhat, centos, mint, knoppix, gnoppix, kubuntu etc. ) siempre me ha sido posible instalar los paquetes que necesitaba, claro en algunas distros muchas veces ya vienen paquetes mas actualizados y en otras no, la diferencia que he notado ha sido porque algunas distros prueban por mas tiempo las aplicaciones y cuando las consideran bien estables las sacan a la comunidad, mientras que otras tienen políticas diferentes, ejemplo: ubuntu y debian y si es alguna aplicación no muy popular a veces me ha tocado compilar desde fuentes que tampoco es cosa de otro mundo, solo un poquitin de paciencia y listo; Otra de las diferencias que pueden tener es el tiempo que se demora cada distro para sacar una nueva version por ejemplo Centos demora como 2 años (mas o menos) en sacar una nueva versión lo que la hace mas práctica para entornos de servidores y por ejemplo mandriva que saca sus versiones cada 6 meses (mas o menos) que la hace mas factible para entornos de workstation; ahora mismo estoy trabajando con Ubuntu pues esta ultimamente ha alargado un poco mas su tiempo de vida entre versiones y sus paquetes los he encontrado mas actualizados asi que me ha servido tanto para servers como para workstation, en resumen como dijo un colega: LA MEJOR DISTRO ES LA QUE SE ACOMODA A TUS NECESIDADES Y CON LA QUE TE SIENTAS E IDENTIFIQUES MEJOR, pero la única forma de descubrirlo es ir probando, aunque los foros tambien nos pueden dar una idea de como va todo esto. Bueno no me alargo mas, espero estos tips le sirvan a aquellos usuarios que desean sentir la libertad de usar sus compus sin limitaciones, les puedo decir que es una verdadera satisfacción y tranquilidad trabajar con un entorno sin tener que preocuparme por antivirus, pantallazos azules etc, a la vez que éticamente siento que ayudo a mi país pues ayudo a que la piratería no progrese y dañe mas nuestra sociedad. Links para comenzar (los he buscado actualizados, pero en escencia son los mismo que usé en mis inicios): de linux a windows linux para novatos manual de linux entorno gráfico en linux http://moranar.com.ar/lin/ldesktops1.html>linux para principiantes http://nellyvi.blogspot.com/2007/01/unac.html>manual de linux http://www.wikilearning.com/manual_online_de_linux-wkccp-509-5.htm>manual online de linux Si deseas algo mas interactivo inscríbete sin costo a este curso virtual: http://www.wikiaula.org/aula/>curso de linux gratis
Continua...

 

Hoy compré un nuevo disco duro para usarlo como backups de mi lan en casa y me dió por configurar Samba para poder compartir archivos entre gnu-linux y windows y encontré una guía rápida y efectiva para mis necesidades: Hoy compré un nuevo disco duro para usarlo como backups de mi lan en casa y me dió por configurar Samba para poder compartir archivos entre gnu-linux y windows y encontré una guía rápida y efectiva para mis necesidades: http://www.vensign.com/2007/03/18/instalando-samba-en-ubuntu-debian-para-compartir-archivos-e-impresoras-en-redes-windows/ En todo caso, por si el link esta caído acá posteo (copy and paste) este excelente artículo:

Samba es un programa Open Source que nos permite compartir archivos e impresoras desde una computadora Linux a PC con MS Windows como si fuera una mas de ella, lo cual es muy util ya que podemos tener un servidor de archivos y de impresión basado en Linux colocado en una red donde se conectan PC con Windows.

La página oficial de Samba la puedes encontrar aquí

En este tutorial veremos como instalar Samba en un PC con Ubuntu o Debian instalado.

Lo primero es instalar Samba (como siempre les recuerdo que para instalar cualquier cosa en Linux necesitan tener privilegios de administrador o ser root, en el caso de utilizar Ubuntu colocando sudo antes de los comandos permite adquirir privilegios de root), ejecutamos el siguiente comando:

apt-get install samba smbfs

El archivo de configuración de Samba puede ser encontrado en /etc/samba/smb.conf vamos a editar este archivo, primero realizamos una copia de respaldo:

cp -p /etc/samba/smb.conf /etc/samba/smb_18032007_copia.conf

Siempre es bueno realizar una copia de los archivos de configuración que modifiquemos en caso de que cometamos algun error podamos volver a la configuración inicial, además a mi me gusta agregarle la fecha en que realice la copia para tener un registro.

Luego procedemos a modificar el archivo:

En Debian:

nano /etc/samba/smb.conf

En Ubuntu:

sudo gedit /etc/samba/smb.conf

Nota: Si estas en KDE en cambio de GNOME cambia gedit por kate

En el archivo de configuración cambia donde dice workgroup = MSHOME (puede ser distinto en tu caso) a:

workgroup = MIGRUPO

Donde MIGRUPO es el nombre del grupo de trabajo de MS Windows o el nombre de dominio, de donde será parte el servidor Samba. Tienes que configurar el mismo grupo de trabajo en tus computadoras Windows, esto lo puedes hacer en Panel de control>Sistema>Nombre de Equipo>Cambiar Nombre.

Si quieres tambien puedes cambiar la linea donde dice server string esto es simplemente la descripción que verá tu grupo del servidor puedes colocar algo como:

server string = %h Servidor de archivos

%h lo que hace es imprimir el nombre de host de tu servidor.

Guarda los cambios y sigamos.

Como crear, editar o eliminar usuarios en Samba

Los usuarios que queremos que tengan acceso al servidor Samba deben estar creados como usuarios en nuestro servidor linux, podemos crear un grupo samba y agregar a ese grupo todos los usuarios que tendrán acceso al servidor samba:

Para agregar un usuario a linux podemos utilizar el comando:

adduser nombre_usuario

Nos pedira la clave que queremos utilizar para ese usuario y algunos datos que son opcionales, luego podemos cambiar sus privilegios.

Supongamos que tenemos un usuarios ya creado llamado jose y que lo queremos agregar a los usuarios de Samba, para esto ejecutamos el siguiente comando:

sudo smbpasswd -a jose

Nos aparecerá algo como:

smbpasswd -a jose New SMB password: Retype new SMB password: Added user jose.

Colocamos la clave que queremos que tenga ese usuario para ingresar al servidor Samba, la clave puede ser distinta a la clave que tiene el usuario para ingresar a Linux.

Vamos a crear un nuevo archivo donde estarán todos los usuarios autorizados para conectarse al Servidor de Samba, para esto ejecutamos:

En Debian:

nano /etc/samba/smbusers

En Ubuntu:

sudo gedit /etc/samba/smbusers

En el nuevo archivo copiamos la siguiente línea:

nombre_enlinux = “Nombre en Windows”

Donde nombre_enlinux es el nombre del usuario que tenemos en linux en este caso jose y Nombre en Windows es el nombre del usuario de red en Windows. Tenemos que agregar una nueva línea por cada usuario que creemos para Samba.

Para editar un usuario ejecutamos:

smbpasswd -a nombre_usuario

Para borrar un usuario ejecutamos:

smbpasswd -x nombre_usuario

Ahora que ya tenemos a los usuarios creados procedamos a ver como se compaten archivos y directorios.

Compartiendo Archivos con Samba

Vamos a modificar el archivo de configuración de Samba:

En Debian:

nano /etc/samba/smb.conf

En Ubuntu:

sudo gedit /etc/samba/smb.conf

Busca la línea que dice:

; security = user

Y la modificamos por:

security = user username map = /etc/samba/smbpasswd

Con esto lo que estamos haciendo es diciendole a Samba que vamos a autentificar por usuario y donde está la lista de los usuarios permitidos que fue la que creamos anteriormente.

Para darle acceso a los usuario a sus respectivos directorios home o personales, hacemos lo siguiente:

Buscamos las línea donde dice

;[homes] ; comment = Home Directories; ;browseable = no ;valid users = %S ;writable = no

Y le quitamos el ; para descomentarlos, y en writable le cambiamos no por yes para que el usuario pueda escribir en el directorio.

Siempre que cambiemos la configuración del archivo smb.conf debemos ejecutar el siguiente comando:

testparm

lo que hace este parámetro es verificar que los parámetros del archivo smb.conf estén correctos, luego que nos diga que todo esta bien ejecutamos:

/etc/init.d/samba restart

para aplicar los cambios.

Ahora si quieremos compartir un directorio que llamaremos grupo hacemos lo siguiente, primero creamos la carpeta que queremos compartir si ya no la habíamos creado:

mkdir /home/grupo chmod 777 /home/grupo

La puedes crear donde quieras. Ahora vamos a modificar el archivo de smb.conf, voy a suponer que ya modificaste la parte de security y agregaste /etc/samba/smbusers a este archivo y que ya sabes como abrirlo para editarlo de ahora en adelante. Agregamos la siguientes lineas al final del archivo:

[Grupo] comment = Archivos Compartidos path = /home/grupo public = yes writable = yes create mask = 0700 directory mask = 0700 force user = nobody force group = nogroup

Analicemos esta estructura, comment simplemente es un comentario de lo que es la carpeta puedes colocar lo que quieras, path por supuesto es donde esta la carpeta que queremos compartir, public es si quieres hacer esta carpeta disponible publicamente o no, para cambiarlo simplemente coloca no, writable permite definir si se puede escribir en la carpeta o no, create mask y directory mask es la mascara con la que se crearan los archivos (es decir que privilegios tendrán los archivos y directorios creados) si quieras que puedan hacer cualquier acción en la carpeta coloca 0777 en ambas, force group y force user es para forzar que solo un grupo específico o usuario se pueda conectar a esta carpeta.

Si además queremos que solo un grupo de usuarios pueda accesar a la carpeta agregamos esta línea después de writable:

valid users = nombre_usuario1 nombre_usuario2

Donde puedes agregar los usuarios que quieras que tengan acceso.

Luego de que termines de agregar las carpetas que quieras compartir Guarda el archivo y probamos el archivo smb.conf y reiniciamos el servidor de Samba:

testparm /etc/init.d/samba restart

Compartiendo Impresoras

Voy a suponer que ya tienes una impresora conectada y funcionado en tu PC Linux.

Compartir impresoras en Samba es muy sencillo simplemente busca estas dos líneas en el archivo /etc/samba/smb.conf (Recuerda hacer una copia de respaldo) :

… # printing = cups # printcap name = cups …

Y descomentalas:

… printing = cups printcap name = cups …

Guarda el archivo cimprueba los parámetros de smb.conf y reinicia el servidor de Samba ejecutando:

testparm /etc/init.d/samba restart

Y eso es todo, ya puedes ir a tu PC Windows y buscar en tu grupo de trabajo las carpetas compartidas de Linux en Samba y además agregar la impresora.

Espero que les haya servido este tutorial, más adelante publicaré un tutorial acerca de como configurar un servidor WINS con Samba.

El manual oficial de Samba lo pueden conseguir aquí.

Continua...

 

Bueno por comentar algunos de mis avances, aunque me he tardado un poco ya que he estado a full de trabajo.
Bueno por comentar algunos de mis avances, aunque me he tardado un poco ya que he estado a full de trabajo. En primer lugar como el seminario-taller que recibí se baso en el pic 16f628 entonces me lancé a la busqueda de algun software gpl que llenara mis expectativas y que lo pudiera hacer desde gnu-linux; después de una búsqueda un poco laboriosa y despues de un poco de ensayos (prueba-error) he conseguido un entorno al parecer muy completo (eso lo comprobaré mas adelante) para la programación de pics no solamente para el 16fxxx sino para muchos con software libre bajo gnu-linux. 1)El primero es un IDE muy funcional llamado piklab el mismo que es al parecer el resultado de un fork de pikdev, pero mas completo que se encarga de dar un entorno de desarrollo de aplicaciones para programar pics de la microchip y también dspics, muy parecido al entorno de mplab. Este IDE trae integrado compiladores y ensambladores, de la cual nosotros podemos escoger el que mejor nos parezca o con el que mejor nos acomodemos por ejemplo: like gputils, sdcc, c18 Tambien podemos disponer de un simulador llamado gpsim (me parece que va solo a modo consola). Soporta el común de programadores como seriales, paralelos, ICD2, Pickit2, PicStart+. Sus componentes son: piclab, piclab-prog, piclab-hex Con todo esto y mucho mas ya solo nos queda elegir un buen compilador que se ajuste a nuestras necesidades y podemos lanzarnos a este fascinante mundo de los pics. Para el que desee profundizar en la práctica con este ide acá la web: http://piklab.sourceforge.net/ 2) Como lenguaje-compilador para la programación de los pics finalmente y luego de muchas discusiones técnicas en foros me he definido por uno llamado JAL, cuya licencia obviamente es gpl y que ya va por su segunda versión (aunque como me ha comentado su creador lo ha liberado bajo una licencia FREE-BSD). Jal actualmente soporta pics de las familias 16c84, 16f84, 12c508, 12c509, 16F877) y Ubicom SX (SX18 and SX28). Este lenguaje de alto nivel al parecer es tan bueno que por ejemplo lo están usando para programar el pic con el que hackean las consolas de wii ... JAL está basado en PASCAL, así que se imaginarán lo fácil que va a ser incursionar en este lenguaje :) la web para el que esté interesado: http://jal.sourceforge.net/ Por lo visto voy por buenos pasos en mi aventura de programar pics, aunque por el momento la info es algo escasa y por lo general en inglés y alemán, estoy tan entusiasmado que estoy documentando absolutamente todos mis avances y prácticas, si todo sigue saliendo así publicaré un libro que podría titularse: "PROGRAMACION DE PICS CON SOFTWARE LIBRE BAJO GNU-LINUX " o algo así de esta forma estaré ayudando a fomentar el uso de esta herramienta y de paso me hago algunos pesitos :) Bueno es todo hasta el momento, aca iré posteando mas avances.....
Continua...

 

Actualmente estoy en un seminario sobre programación de pics en lenguaje basic; la verdad es que me ha parecido fantástico pues me ahorra mucho tiempo que lo perdería haciéndolo en ensamblador; obviamente todo (o la mayor parte) lo deseo hacer con software libre así que una de mis tareas diarias es que lo que aprendo con software propietario busco reemplazarlo con software libre; respecto a este tema de programación de pics con lenguajes de alto nivel me he lanzado a la búsqueda de una alternativa libre y acá van mis avances...
Continua...