Miércoles 14 de septiembre de 2016

Cómo cargar el driver de VirtualBox

Si por algún motivo (Por ejemplo que Genymotion te dice que no consigue VirtualBox) y necesitas reiniciar el driver de Virtualbox, ten en cuenta que en versiones recientes de Debian y Ubuntu el script que realizaba esto cambió de ruta, por lo que si antes hacías esto:

/etc/init.d/vboxdrv.sh setup

Ahora debes cargar el módulo de la siguiente manera:

/usr/lib/virtualbox/vboxdrv.sh setup

Lunes 29 de agosto de 2016

David Moreno

David Moreno
dm's blog

Webhook Setup with Facebook::Messenger::Bot

The documentation for the Facebook Messenger API points out how to setup your initial bot webhook. I just committed a quick patch that would make it very easy to setup a quick script to get it done using the unreleased and still in progress Perl’s Facebook::Messenger::Bot:

use Facebook::Messenger::Bot;

use constant VERIFY_TOKEN => 'imsosecret';

my $bot = Facebook::Messenger::Bot->new(); # no config specified!
$bot->expect_verify_token( VERIFY_TOKEN );
$bot->spin();

This should get you sorted. What endpoint would that be, though? Well that depends on how you’re giving Facebook access to your Plack’s .psgi application.

Jesus Palencia

¿Que es el efecto secundario en informática?

En ciencias de la computación se dice que una función o expresión tiene efecto colateral, efecto de lado o efecto secundario si esta, además de retornar un valor, modifica el estado de su entorno. Por ejemplo, una función puede modificar … Sigue leyendo

Jueves 25 de agosto de 2016

Liquify de Darktable, deformación directa a tu RAW

Si hay algo cierto es que cuando editas fotografías, tratas de capturar a la persona tal y como es, pero en un mundo tan saturado de “perfección” los clientes siempre piden un poco de retoque; a veces no es por inseguridad de la persona, sino por mera estética. Lo cierto es que la herramienta de IWarp de Gimp se había convertido en mi mejor amiga a la hora de mover cosas, pero como siempre, darktable sigue agregando cosas increíbles para que mi flujo de trabajo tanto de revelado como de post-producción sea hecho completamente dentro de la app.

Liquify (o Licuar) es uno de los nuevos módulos que se encuentra en Darktable y ofrece una forma versátil de mover pixeles aplicando estilos libres de distorsión a distintas partes de la imagen. Hay tres herramientas para lograrlo, puntos, líneas y curvas; todos basados en nodos. Por ahora, hay un límite de 100 nodos por instancia, pero en serio… ¿Quién usa mas de 100 nodos por instancia? Antes de probarlo, toma en consideración que el módulo consume una cantidad considerable de recursos.

Para crear el nodo solo da click en la zona que quieres afectar. Una vez hecho el click, aparecerá un circulo que podrás controlar de 3 formas: Arrastrando el punto central para re-ubicación, arrastrando el punto al borde externo de la circunferencia para agrandar/disminuir el tamaño de la zona afectada, y arrastrando la flecha interna para determinar la dirección y tamaño de la deformación. Puedes utilizar nodos simples (un solo nodo) o nodos compuestos, que crearán una deformación siguiendo el patron de puntos afectados.


This post has a nicer formatting that can be seen at it's original source at tatica.org , so feel free to hit the link and read better version!

Domingo 21 de agosto de 2016

César Sevilla

César Sevilla
Linux

Problemas con Revolution Slider (Abort Class-pclzip.php : Missing Zlib)

Si eres una persona que te gusta utilizar WordPress y te llega a salir este pequeño detalle (Abort Class-pclzip.php : Missing Zlib) cuando estás importante un Slider de Revolution Slider, no te preocupes, la solución es la siguiente:

  1. Debes editar el archivo que se encuentra dentro de la carpeta wp-admin/includes/: sudo nano /carpetadondeseencuentresusitio/wp-admin/includes/class-pclzip.php
  2. Encontrar la linea if (!function_exists(‘gzopen’)) y reemplazar gzopen por gzopen64.

Con ese pequeño cambio podrás seguir utilizando sin ningún problema el plugin.

Ahora, ¿Porqué da ese error?, en las últimas versiones de Ubuntu gzopen (función de PHP que nos permite abrir un archivo comprimido en .gz), solo está incluido para arquitectura de 64bits, es por esta razón que es necesario reemplazar gzopen por gzopen64 para que podamos importar todos esos archivos que se encuentran comprimido a través de este tipo de formato.

Happy Hacking!


David Moreno

David Moreno
dm's blog

WIP: Perl bindings for Facebook Messenger

A couple of weeks ago I started looking into wrapping the Facebook Messenger API into Perl. Since all the calls are extremely simple using a REST API, I thought it could be easier and simpler even, to provide a small framework to hook bots using PSGI/Plack.

So I started putting some things together and with a very simple interface you could do a lot:

use strict;
use warnings;
use Facebook::Messenger::Bot;

my $bot = Facebook::Messenger::Bot->new({
    access_token   => '...',
    app_secret     => '...',
    verify_token   => '...'
});

$bot->register_hook_for('message', sub {
    my $bot = shift;
    my $message = shift;

    my $res = $bot->deliver({
        recipient => $message->sender,
        message => { text => "You said: " . $message->text() }
    });
    ...
});

$bot->spin();

You can hook a script like that as a .psgi file and plug it in to whatever you want.

Once you have some more decent user flow and whatnot, you can build something like:



…using a simple script like this one.

The work is not finished and not yet CPAN-ready but I’m posting this in case someone wants to join me in this mini-project or have suggestions, the work in progress is here.

Thanks!

David Moreno

David Moreno
dm's blog

Cosmetic changes to my posts archive

I’ve been doing a lot of cosmetic/layout changes to the nearly 750 posts in my blog’s archive. I apologize if this has broken some feed readers or aggregators. It appears like Hexo still needs better syndication support.

Lunes 15 de agosto de 2016

César Sevilla

César Sevilla
Linux

Scratch, un Software interesante

Hola a todos, después de tanto tiempo me he permitido escribir este artículo como propósito de compartir una experiencia vivida hace poco a través de un programa de formación presentado por www.zuliatec.com llamado Procodi www.procodi.com, programa de formación para niños donde les brinda desde muy temprana edad herramientas que les permiten a ellos desarrollar habilidades y destreza en las áreas de desarrollo, diseño gráfico, Electrónica Digital, Robótica, Medios digitales y música digital.

Scratch (Cómo lo dice su misma página web), está diseñado especialmente para edades entre los 8 y 16 años, pero es usado por personas de todas las edades. Millones de personas están creando proyectos en Scratch en una amplia variedad de entornos, incluyendo hogares, escuelas, museos, bibliotecas y centros comunitarios.

También cita: La capacidad de codificar programas de computador es una parte importante de la alfabetización en la sociedad actual. Cuando las personas aprenden a programar en Scratch, aprenden estrategias importantes para la solución de problemas, diseño de proyectos, y la comunicación de ideas.

Dado a que es muy provechoso esta herramienta tanto para niños como para los adultos me dedico a explicarle de una manera sencilla como hacer funcionar el programa desde GNU/Linux de manera OffLine.

Si usas Gnome o derivado es necesario tener instalado una librería que tiene como nombre Gnome-Keyring y si usas KDE debes tener instalado Kde-Wallet.

Para este ejemplo explico como hacer funcionado Scratch para Linux Mint y que puede servir para S.O derivados para Debian.

  1. Descarga primero desde la web oficial de Scratch https://scratch.mit.edu/scratch2download/ los archivos para instalar Adobe Air y Scratch para Linux, también está disponible para Windows y para Mac.
  2. Luego instalar gnome-keyring: sudo aptitude install gnome-keyring
  3. Agregar dos enlaces simbólicos a la carpeta /usr/lib/ de la siguiente manera: sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0 && sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0
  4. Luego te posiciones desde la consola donde se encuentre el instalador de Adobe Air, y desde allí ejecutar lo siguiente: chmod +x AdobeAIRInstaller.bin && ./AdobeAIRInstaller.bin
  5. Sigue todos los pasos que te indique el instalador y ten un poco de paciencia.
  6. Ya instalado el Adobe Air, buscamos gráficamente el archivo Scratch-448.air y lo abrimos con Adobe AIR application Instaler. También hay que tener un poco de paciencia, pero al terminar te generará un enlace en tu escritorio donde podrás acceder al sistema las veces que desees.

Con lo ante expuesto ya podemos utilizar Scratch OffLine, pero recuerda que si entraste en la web oficial del proyecto pudiste haber notado que también lo podemos utilizar en linea.

Happy Hacking.


Martes 09 de agosto de 2016

Aprendizaje del FlocktoFedora para Diversidad

photo_2016-08-09_08-41-47

No puedo expresar la alegría de tener un equipo de personas tan maravillosas, quienes a pesar de las 12h de diferencia, han logrado mantenerme informada sobre todo lo que sucede al rededor de nuestro trabajo de Diversidad en Fedora durante el Flock. Interminables logs de IRC y Telegram han hecho esto posible. Así que acá está mi lista de pensamientos, tareas e ideas sobre las coas logradas en el Flock de Polonia.

Primeros Pasos

Buzón de Diversidad

Estoy bastante impactada con la gran cantidad de casos que mi equipo de Diversidad ha obtenido durante el Flock. Tenemos personas que, a pesar de ser fantásticas para el proyecto, necesitan un poco de guía sobre como tratar a sus compañeros con mas respeto. Es hora de educar a las personas sobre como mantener un ambiente mas amigable y acogedor, sin tantas criticas a las personas nuevas, o a aquellas personas que simplemente no tienen tanto tiempo para colaborar.

Luego de realizar una encuesta personal, más del 80% de las personas que tienen dificultades encontrando un ambiente armónico en Fedora no quieren hablar en voz alta, ni quieren decir sus nombres, y casi 2/3 de ellos ni siquiera quieren reportar el caso ya que piensan que no son relevantes. SI SON RELEVANTES.

A principios de año se comentó la idea de que necesitamos un Buzón de Diversidad lo cual me reforzó Amita luego de conversar con los amigos en el Flock, para que las personas se sientan con la confianza suficiente de conversar con nosotros sin tener que poner sus nombres públicamente. Tenemos casos en otras comunidades donde por el simple hecho de hablar en voz alta han sufrido mucho mas, y transformar un problema pequeño en grande no es nuestra meta.

Este buzón debería ser capaz de registrar información personal o permitir entradas anónimas, así como adjuntar registros o pruebas del problema, para que podamos estudiarlo y buscar la mejor solución. Puedes ayudarnos? por favor, contácteme ASAP para que podamos sacar este buzón!

Programas de Inclusión

Tuvimos un excelente programa inicial con el FWD organizado el mes pasado, y a pesar de que comenzamos pequeño, lo hicimos con mucha energía. Fui parte de una jornada de Diseño online en Perú y me uní a los esfuerzos locales de las reuniones de WordPress en mi ciudad, Amita organizó un excelente FWD en India, Jona hizo un fantástico trabajo con su grupo de chicas en Albania y Christos se nos unió con un excelente panel en el FWD de Grecia. La asistencia fue fantástica, mejor de lo esperado!

Mientras mas comencemos a aprender sobre los colaboradores, podremos crear mejores programas para ayudar a cada grupo de minoría. FWD demostró ser una excelente iniciativa pero queremos mas, y para eso necesitamos el elemento mas importante, colaboradores. A pesar de que hagamos nuestro mejor esfuerzo en conocer cada minoría, aquellos que las experimentan de primera mano son quienes nos ayudarán a aprender a comprender mejor a cada colaborador de forma particular en nuestro proyecto. Nuestra idea es no solo tener reuniones anuales, pero también tener tantas reuniones en línea como sea posible para que nuestras barreras desaparezcan. Te interesa organizar alguna de estas reuniones?

Nuestra meta es organizar al menos una reunion mensual donde no solo podamos construir una mejor comunidad Fedora, pero también expandir los conocimientos que tenemos sobre cada miembro de nuestra comunidad.

Próximos Pasos

Encuesta de Diversidad

Una de las primeras ideas que tuvimos para el team de Diversidad fue la (no tan famosa) encuesta, que nos ayudaría a comprender mejor como esta construida nuestra comunidad. A pesar de que tenemos infinidad de nombres en nuestra FAS, conocemos muy poco sobre nuestros colaboradores. Es imperativo seguir presionando para que esta idea se convierta en realidad.

Puedes ver el estado actual de nuestra encuesta revisando al final de los registros de nuestras reuniones de Diversidad en Polonia en este pad.

Reportes Anuales

Cada año tenemos estadísticas sobre cuantos tickets fueron resueltos, cuantos nuevos embajadores tenemos y cuantas badges fueron otorgadas, pero necesitamos estadísticas sobre nuestros esfuerzos de diversidad e inclusión.

Con reportes anuales que nos ayuden a comparar y aprender, podremos ver si nuestros esfuerzos están generando una comunidad mas acogedora, y nos está ayudando a combatir el bullying y el acoso, permitiéndonos mejorar.

Qué sigue?

Queremos escuchar tus ideas! No seas penos@!

[contact-form]

This post has a nicer formatting that can be seen at it's original source at tatica.org , so feel free to hit the link and read better version!

Viernes 05 de agosto de 2016

Jorge Ortega

Jorge Ortega
Joenco

Activar la accesibilidad en el escritorio Mate en Debian

¡Saludos amigos!, feliz comienzo de vacaciones deseando que las disfruten lo mejor posible, yo seguiré trabajando ya que mis vacaciones ya las disfrute, pero dejemos de dar tantas vueltas y revisemos cómo podemos activar la accesibilidad en el escritorio Mate cuando lo instalamos en Debian Jessie teniendo otro entorno cómo Gnome que es mi caso, ya que al parecer esta no se activa. La información aquí detallada la puedes conseguir en inglés en el articulo “Mate Desktop Installation and Accessibility”, por si desean revisar, además que hacen algunas recomendaciones para dejar mucho más accesible este escritorio.
 
Comencemos por instalar el escritorio, abriendo un terminal como superusuario(root) y escribiendo:
aptitude install mate-desktop-environment-extras
con el comando anterior instalaremos todo el entorno Mate y algunos extras.
 
Cuando termine de instalar y antes de reiniciar, desde la misma terminal/consola, vamos a crear un archivo en /etc/profile.d/ con extensión .sh, el cual yo llame accesibilidadmate.sh, aquí los pasos:
 
1. Escribimos en terminal:
nano /etc/profile.d/accesibilidadmate.sh
eso nos abrirá un archivo vacío, en el cual agregamos las siguientes líneas:
 
#!/bin/bash
export GTK_MODULES=gail:atk-bridge
 
2. guardamos presionando “control+O”, presionamos enter para que lo guarde con el nombre que habíamos colocado y cerramos con “control+X”, este archivo exporta el modulo GTK requerido para que el escritorio Mate, así cómo otros sean accesibles
 
3. Ahora le damos permisos de ejecución, por lo que escribimos en el terminal:
chmod 755 /etc/profile.d/accesibilidadmate.sh
 
4. Nos toca reiniciar, así que desde la misma terminal/consola escribimos:
reboot
 
5. Antes de iniciar sesión, cuando nos pida colocar la contraseña presionamos 2 veces la tecla tabular, luego pulsamos la barra espaciadora y elegimos el escritorio Mate, al elegir el escritorio ya podremos iniciar sesión.
 
6. Ya dentro del escritorio abrimos un terminal, pulsando alternar + F2 y escribiendo “mate-terminal”, cuando se abra el terminal/consola nos logueamos cómo superusuario(root) y activamos las tecnologías de asistencia colocando:
 
gsettings set org.mate.interface accessibility true
gsettings set org.gnome.desktop.a11y.applications screen-reader-enabled true
 
Si aún no tenemos accesibilidad, sólo nos toca reiniciar y listo, ya podremos usar el escritorio sin problemas!
 
Todas estas configuraciones las tuve que hacer ya que cómo tenia instalado el entorno Gnome previamente, al parecer al instalar Mate este último no tenia accesibilidad, es decir, el lector de pantalla orca se activa pero no verbaliza nada del escritorio, ni los menús, ni las aplicaciones, ni nada.
 
Y ya sabes, si te ha gustado la entrada o te parece interesante puedes compartirla para que otros se enteren cómo activar la accesibilidad en el escritorio Mate. Además si tienes alguna duda o sugerencia puedes dejarla en los comentarios, con gusto te respondo!.


Miércoles 03 de agosto de 2016

Diversidad en el Flock Krakow (Polonia)

Hay algo que todos amamos, una buena charla con amigos, y eso fue el Panel de Diversidad en el Flock Krakow. En un Panel realmente interesante lleno de no solo personas increíbles, pero experimentadas, discutimos como podemos mejorar nuestros esfuerzos para lograr que todos se sientan cómodos y animarlos a hacer lo que les gusta sin que tengan que preocuparse por lo que la gente piense.

Tengo que darle un agradecimiento especial a mi equipo de Diversidad, Justin, Amita, Jona, Bee y Silvia; quienes hicieron posible que asistiera a pensar de las dificultades; no puedo expresar lo agradecida que estoy por el esfuerzo de todos! Ahora, entremos en tema: (mis disculpas si no coloco los nombres al lado de las ideas expuestas, el video no era lo suficientemente bueno para identificarlos a todos)

photo_2016-08-03_08-40-56

Escuchar

Es fácil llenarse la cabeza con los últimos paquetes que necesitan ser armados, sobre los últimos .po que deben ser traducidos, o sobre ese bendito px que sigue interfiriendo en el diseño; debemos tomarnos un momento para levantar la cabeza y ver las personas que trabajan con nosotros. Nuestra comunidad está llena de toneladas de personas con cualidades que hacen que el proyecto crezca cada día, sin embargo, a veces consideramos que esto es un trabajo de tiempo completo en vez de un trabajo colaborativo. El momento en que dejamos de escuchar a nuestros colaboradores que necesitan guía, nuestros números bajaran ya que no seremos capaces de  generar una nueva generación de relevo.

Difundir

Siéntete orgulloso de trabajar con otros en vez de solo buscar tus propias recompensas. La comunidad ES tu familia, y deberías tratarla como tal. no seremos capaces de incluir mas personas a nuestras líneas a menos de que hablemos de ello, siente orgullo sobre tu comunidad y deja de darle importancia al que dirán. Es fácil olvidad que todos comenzamos como novatos preguntando cosas tontas, es fácil olvidar que NOSOTROS somos quienes tenemos la responsabilidad de mostrar que hay una tarea para todos en la comunidad. Es momento de que difundamos que nos sentimos orgullosos por nuestros compañeros en el proyecto. Una gran idea es tener una persona del equipo de Diversidad como representante en cada Team, para así poder hacer que todos se sientan incluidos. No es un secreto que conocemos mas a las personas que están dentro de nuestro mismo equipo, y no conocemos mucho a el resto de personas que están en el proyecto… es un gran proyecto. Al tener un miembro de Diversidad en cada Equipo podremos reducir la brecha entre nosotros y las personas que necesiten de nuestra ayuda.

Incentivar

Yo creo que nuestros procesos son inclusivos, si no, muchos de nosotros no estaríamos aquí en primer lugar, sin embargo, si creo que tenemos algunos miembros activos que son una debilidad. Una de nuestras debilidades es que no sacamos la cabeza de lo que estamos haciendo, y no tomamos un momento para ver lo que nos rodea. Hay un MONTÓN de personas dispuestas a colaborar, sin embargo, TODOS tenemos que trabajar como mentores (sin importar si eso te agrega un +1 de karma). Con tantos badges, estadísticas y similares, de cierta forma estamos olvidando el porque somos una comunidad, no es solo para hacer cosas fantásticas con software, pero también para divertirnos. Una vez comprendamos que el número de colaboradores felices es tan importante (o mas) que el número de badges que tenemos o nuestras estadísticas en el track, seremos capaces de tener una comunidad mas saludable y acogedora.

Apoyar

No es un secreto que hay personas que se sienten incómodas y otras personas que disfrutan de esto, siempre hay un troll y un peleón. Necesitamos crear una red de soporte con la que podamos ayudar a las personas a sentirse protegidas y seguras, y también un lugar donde podamos enseñarles a lidiar con estas situaciones. No debemos construir una pared al rededor de nuestros colaboradores, debemos enseñarlos a forjar herramientas que los preparen para defenderse ante cualquier ataque. Creo que podemos ser un instrumento para enseñarle a las personas como vivir felices en este mundo.

Me gustaría agradecer a Matthew, Christoph, Marina, Laura, Kohane, Kushal y todos aquellos a quienes no les reconocí las voces mientras colaboraban en el panel; esto demuestra que hay un interés real en construir una mejor comunidad para nuestros usuarios, y no solo construir buen software.


This post has a nicer formatting that can be seen at it's original source at tatica.org , so feel free to hit the link and read better version!

Viernes 08 de julio de 2016

Jesus Palencia

Colorear texto en bash

Muchas veces necesitamos hacer algún script en bash donde queremos que tenga ciertas características, y muchas veces queremos que las salidas por pantalla de ese script se vean distintas para llamar la atención. Pues bien, se puede usar colores para … Sigue leyendo

Miércoles 06 de julio de 2016

Jesus Palencia

Pseudo servidor web con bash y netcat

A veces no podemos utilizar nuestro servidor principal, ya que estamos cambiándolo, actualizándolo, peleándonos con dependencias o trabajando en configuración o plug-ins. Por lo que necesitamos algo para reemplazarlo momentáneamente. Tampoco se quiere algo demasiado grande porque es para un … Sigue leyendo

Domingo 26 de junio de 2016

Instalar Odoo 9 en Windows 8

Este articulo explica como instalar un servidor local Odoo 9 en Windows 8 en modo de pruebas local en su PC.

Introducción

Logotipo de Odoo 9

Logotipo de Odoo 9

Odoo (conocido anteriormente como OpenERP y anteriormente como TinyERP) es mas que un sistema de ERP integrado de código abierto actualmente producido por la empresa belga Odoo S.A. El fabricante declara su producto como una alternativa de código abierto a SAP ERP y Microsoft Dynamics.

Instalando

Luego de descargar el archivo de instalación aquí haga doble clic sobre el archivo para lanzar el asistente de instalación:

Seleccionar idioma del instalador

Seleccionar idioma del instalador

 

Bienvenida al instalador de Odoo 9

Bienvenida al instalador de Odoo 9

 

Aceptar los términos de licencia de Odoo 9

Aceptar los términos de licencia de Odoo 9

 

Seleccionar que componentes del Odoo 9 debe instalar

Seleccionar componentes de Odoo 9 a instalar

 

Definir las credenciales de usuario y base de datos de la aplicación Odoo 9

Definir las credenciales de usuario y base de datos de la aplicación Odoo 9

 

Definir ruta de instalación de Odoo 9

Definir ruta de instalación de Odoo 9

 

Ejecutando la instalación de Odoo 9

Ejecutando la instalación de Odoo 9

 

Instalando motor de base de datos de Odoo 9

Instalando motor de base de datos de Odoo 9

 

Instalación de Odoo 9 completa

Instalación de Odoo 9 completa

 

Iniciando el servicio de Odoo 9

Iniciando el servicio de Odoo 9

Luego continue en una ventana del navegador en la dirección http://127.0.0.1:8069

Recrear la Base de datos de Odoo

Por primera vez, verá gestor de bases de datos para crear su primera base de datos. Esto se realiza por que Odoo le permite tener varias aplicaciones en un mismo servidor.

Creando BD de aplicación Odoo

Creando BD de aplicación Odoo

Esta pantalla aparecerá la primera vez que instale Odoo o luego que decida crear una nueva base de datos para una nueva aplicación Odoo. Para posterior acceso al este modulo consulte la URL: http://127.0.0.1:8069/web/database/manager

Habilitando módulos disponibles de Odoo

Luego que defina su bases de datos para la aplicación Odoo, debe habilitar los módulos disponibles para mi aplicación Odoo

Habilitando módulos disponibles para mi aplicación Odoo

Habilitando módulos disponibles para mi aplicación Odoo

De esta forma ya tiene instalado y configurado inicialmente el servidor Odoo con una aplicación web de Odoo, solo quedara realizar configuraciones básicas de la aplicación, creación la empresa, sus empleados, sus usuarios y demás procedimientos propios de cada modulo habilitado en esta aplicación para poder empezar a usar Odoo.

Detener servidor Odoo

Para detener el servidor Odoo use el Panel de control de Servicios de Windows para Reiniciar/Iniciar/Detener del servicio Odoo.

Diríjase al Menú Inicio –> ingrese Servicios –> busque Odoo Server –> Seleccione linea y haga clic en los botones Reiniciar / Iniciar / Detener de arriba.

Referencias

¡Contribuye conmigo!

Espero sea de utilidad esta entrada en mi blog.

Ayúdame a seguir escribiendo en mi blog y dona 1 dolar aquí.


Sábado 25 de junio de 2016

Instalar Odoo 9 en Debian 8 “Jessie”

Este articulo explica como instalar un servidor local Odoo 9 en Debian 8 “Jessie” en modo desarrollo.

Introducción

Logotipo de Odoo 9

Logotipo de Odoo 9

Odoo (conocido anteriormente como OpenERP y anteriormente como TinyERP) es mas que un sistema de ERP integrado de código abierto actualmente producido por la empresa belga Odoo S.A. El fabricante declara su producto como una alternativa de código abierto a SAP ERP y Microsoft Dynamics.

Debian GNU/Linux

Debian GNU/Linux

Debian GNU/Linux, es un sistema operativo, liberado bajo la licencia GPL y desarrollado por “Proyecto Debian” una comunidad de desarrolladores y usuarios.

Instalando y configurando Postgresql

Para instalar el servidor de base de datos Postgresql, ejecute los siguientes comando:

$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install postgresql postgresql-client libpq-dev

Inicie sesión en el usuario administrativo de Postgresql, ejecutando el siguiente comando:

$ sudo su - postgres

Debe crear el usuario de conexión de Odoo con Postgresql, ejecutando el siguiente comando:

$ createuser --createdb --username postgres --no-createrole \ 
             --no-superuser --pwprompt USUARIO-LINUX

No se olvide de reemplazar USUARIO-LINUX con su nombre de usuario Linux que ejecutara Odoo. Se le pedirá ingresar la contraseña, introduzca la contraseña y confirmarla, como se muestra en el mensaje a continuación:

Enter password for new role:
Enter it again:

Este usuario debe ser el mismo nombre del usuario el cual lo ejecutará, en este caso el usuario Linux, en y le asigna una contraseña, estas credenciales de usuario debemos tenerlo presente porque la usara mas adelante para la configuración de Odoo con Postgresql.

Cierre la sesión usuario administrativo de Postgresql, ejecute le siguiente comando:

$ exit

 

Instalando librerías

Instalando librerías y utilidades necesarias para la instalación de Odoo, ejecutando el siguiente comando:

$ sudo apt-get install git gcc libevent-dev libxml2-dev \
       libxslt1-dev libsasl2-dev libldap2-dev libssl-dev \
       libjpeg-dev

Instalando paquetes Python vía Debian, ejecutando el siguiente comando:

$ sudo apt-get install python-dev python-pip python-virtualenv

Librería LESS CSS

Odoo 9 depende de node-less, este paquete es el modulo de Less CSS para nodejs, entonces debe instalar “nodejs” y “npm”, ejecutando los siguientes comando:

$ sudo apt-get install npm
$ sudo ln -s /usr/bin/nodejs /usr/bin/node
$ sudo npm install -g less

Librería Wkhtmltopdf

Esta librería es necesaria para imprimir reportes PDF, usted debe instalar usted mismo wkhtmltopdf: La versión de wkhtmltopdf disponible en los repositorios Debian no soporta encabezado y pie de pagina y por eso no puede ser instalada automáticamente. La versión recomendada para Debian Jessie es 0.12.1 esta disponible de forma no oficial en el repositorio extra http://nightly.odoo.com/extra/.

Entonces primero debe descargar el instalador de Debian de la dependencia wkhtmltopdf para arquitectura i386 o para arquitectura amd64. En mi caso es un amd64 el que usare para la demostración de la instalación.

Luego debe instalar y configurar wkhtmltopdf, ejecutando los siguientes comando:

$ sudo dpkg -i wkhtmltox-0.12.1.2_linux-jessie-amd64.deb
$ sudo ln -s /usr/local/bin/wkhtmltopdf /usr/bin/wkhtmltopdf 
$ sudo ln -s /usr/local/bin/wkhtmltoimage /usr/bin/wkhtmltoimage

Instalando Odoo Server

Para un ambiente de desarrollo se recomienda instalar Odoo desde el repositorio de Github, ejecutando los siguientes comando:

$ mkdir $HOME/proyectos ; cd $HOME/proyectos/
$ git clone https://github.com/odoo/odoo --depth 1 \
      --branch 9.0 --single-branch

Esto puede tardar un poco en función de la velocidad de su conexión a Internet.

–depth 1

Le indica al comando, sólo recupera la última versión sin toda la historia. La descarga es ahora un poco más rápido.

Entorno virtual Python

Creando un entorno virtual Python, esto se realiza para instalar todas las dependencias Python sin afectar su sistema, ejecutando los siguientes comando:

$ mkdir $HOME/virtualenv ; cd $HOME/virtualenv
$ virtualenv odoo9
$ source $HOME/virtualenv/odoo9/bin/activate

Ejecutando estos comando previos esta activado el entorno virtual ya que la consola de comando tiene el prefijo (odoo9) esto indica que esta dentro del entorno virtual.

La utilidad del entorno virtual es para instalar todas las dependencias Python, ejecutando el siguiente comando:

(odoo9)$ pip install -r $HOME/proyectos/odoo/requirements.txt

Esto proceso de instalación, puede tardar un poco en función de la velocidad de su conexión a Internet. Para mas información sobre los entornos virtuales consulte el siguiente articulo https://lcaballero.wordpress.com/2012/10/22/creacion-de-entornos-virtuales-python/

Módulos adicionales

Creando un directorio para almacenar los módulos adicionales propios, ejecutando los siguientes comando:

(odoo9)$ mkdir -p $HOME/proyectos/odoo/extra_addons
(odoo9)$ chown $USER: $HOME/proyectos/odoo/extra_addons

Este directorio se utilizara para sus propios módulos / addons de terceros.

Archivo de logs de Odoo

La configuración puedo ser encontrada en el archivo odoo-server.log

Crear y configurar apropiadamente un directorio para almacenar el archivo de logs de Odoo server, ejecutando los siguientes comando:

(odoo9)$ mkdir $HOME/proyectos/odoo/log/
(odoo9)$ touch $HOME/proyectos/odoo/log/odoo-server.log
(odoo9)$ chmod 755 $HOME/proyectos/odoo/log/odoo-server.log
(odoo9)$ chown -R $USER: $HOME/proyectos/odoo/log/

Este archivo es de mucha utilidad para supervisar los procesos de arranque, instalación, reporte detallado de acciones o eventos de errores ocurridos del servidor Odoo.

Configurando Odoo Server

La configuración puedo ser encontrada en el archivo odoo-server.conf

Este archivo puede ser editado para conectar una BD local o remota Postgresql. Copie y otorgue los permisos necesarios para su ejecución, ejecutando los siguientes comando:

(odoo9)$ cp ~/proyectos/odoo/debian/openerp-server.conf \
         ~/proyectos/odoo/odoo-server.conf
(odoo9)$ chown $USER: $HOME/proyectos/odoo/odoo-server.conf
(odoo9)$ chmod 640 $HOME/proyectos/odoo/odoo-server.conf

Luego edite el archivo odoo-server.conf, ejecutando el siguiente comando:

(odoo9)$ nano $HOME/proyectos/odoo/odoo-server.conf

Agregue en el archivo odoo-server.conf lo siguiente:

db_user = USUARIO-POSTGRES-CREADO
db_password = CLAVE-DEL-USUARIO-POSTGRES-CREADA
addons_path = /RUTA-ABSOLUTA/addons,/RUTA-ABSOLUTA/extra_addons
logfile = /RUTA-ABSOLUTA/log/odoo-server.log

Modifique donde RUTA-ABSOLUTA, es la ruta absoluta del directorio donde se clone el repositorio de Odoo, para este ejemplo /home/USUARIO/proyectos/odoo/.

Donde USUARIO, es el nombre del usuario Linux que ejecutara Odoo.

Presione para guardar Ctrl + O y luego presione Enter. Luego para salir presione Ctrl + X.

Monitorear los procesos de Odoo

Usted ahora debe ser capaz de ver el archivo de registro del servicio Odoo, para hacer esto abra una terminal de consola de comando distinta a la que actualmente usa para el proceso de instalación y ejecute el siguiente comando:

(odoo9)$ tail -f $HOME/proyectos/odoo/log/odoo-server.log

Esta terminal de consola de comando solo se ejecutara si quiere monitorear los procesos.

Iniciar servidor de Odoo

Ahora abra una nueva consola e inicié el servicio de Odoo, ejecutando los siguientes comando:

(odoo9)$ ~/proyectos/odoo/odoo.py -c ~/proyectos/odoo/odoo-server.conf

Entonces usted puede ver el archivo odoo-server.log mostrando el siguiente mensaje:

INFO ? openerp.service.server: HTTP service (werkzeug) running on 0.0.0.0:8069

Si el archivo de registro indica HTTP service (werkzeug) running on 0.0.0.0:8069 entonces el servidor Web de Odoo se esta ejecutando bien, ahora en su navegador web en la dirección IP local 127.0.0.1 de su servicio Odoo el cual por defecto usa el puerto 8069. Trate a continuación en su navegador con la dirección: http://127.0.0.1:8069.

Recrear la Base de datos de Odoo

Por primera vez, verá gestor de bases de datos para crear su primera base de datos. Esto se realiza por que Odoo le permite tener varias aplicaciones en un mismo servidor.

Creando BD de aplicación Odoo

Creando BD de aplicación Odoo

Si marca la casilla “Load demonstration data” este cargara data de prueba para visualizar el funcionamiento de Odoo y de los próximos módulos que habilite.

Esta pantalla aparecerá la primera vez que instale Odoo o luego que decida crear una nueva base de datos para una nueva aplicación Odoo. Para posterior acceso al este modulo consulte la URL: http://127.0.0.1:8069/web/database/manager.

Habilitando módulos disponibles de Odoo

Luego que defina su bases de datos para la aplicación Odoo, debe habilitar los módulos disponibles para mi aplicación Odoo

Habilitando módulos disponibles para mi aplicación Odoo

Habilitando módulos disponibles para mi aplicación Odoo

De esta forma ya tiene instalado y configurado mínimamente el servidor Odoo y una aplicación web de Odoo, solo quedara realizar configuraciones básicas de la aplicación, creación la empresa, sus empleados, sus usuarios y demás procedimientos propios de cada modulo habilitado en esta aplicación para poder empezar a usar Odoo.

Detener servidor Odoo

Para detener el servidor Odoo, por favor, presione la combinación de teclas Ctrl + C para enviar una segunda señal para forzar el cierre del proceso del servicio del servidor.

Referencias

¡Contribuye conmigo!

Espero sea de utilidad esta entrada en mi blog.

Ayúdame a seguir escribiendo en mi blog y dona 1 dolar aquí.


Jueves 23 de junio de 2016

Instalación de phpPgAdmin en Debian Jessie

Introducción

Hace un tiempo publique como instalar un servidor de base de datos PostgreSQL en Debian Wheezy, en esa oportunidad explicaba como instalar y configurar el servicio del servidor PostgreSQL desde la linea de comando, ahora le ofrezco como administrar gráficamente este servicio de base de datos para usando una herramienta gráfica y Web llamada phpPgAdmin.

phpPgAdmin

Instalación

Para este caso se instalara phpPgAdmin en Debian GNU/Linux Jessie con el servidor y un cliente de lineas de comando PostgreSQL de la versión 9.1, ejecutando el siguiente comando:

$ sudo apt-get install phppgadmin php5-pgsql

Configuración

Una vez realizado esto, ya el programa esta instalado y tienen un muy practico y además elegante frontend para administrar su servidor de Postgresql, recuerden que por defecto no podrán iniciar sesión en el servidor desde phpPgAdmin como root, postgres u otro usuario de este tipo, si lo desean deben realizar un cambio en el archivo:

$ sudo nano /etc/phppgadmin/config.inc.php

El archivo config.inc.php este archivo lo pueden encontrar en /etc/phppgadmin/ deben cambiar la siguiente línea:

$conf['extra_login_security'] = true;

por esta linea:

$conf['extra_login_security'] = false;

Una vez hecho ese cambio puede ejecutar su instalación.

Ejecución

Acceda a la siguiente dirección URL http://127.0.0.1/phppgadmin/

Bienvenido a phpPgAdmin

Bienvenido a phpPgAdmin

Para acceder a administrar sus base de datos usted allí debe colocar el nombre de usuario y contraseña de PostgreSQL, entonces le mostrar una pantalla principal de gestión de base de datos Web de phpPgAdmin.

Configuraciones generales de phpPgAdmin

Configuraciones generales y Bases de datos desde phpPgAdmin

De esta forma puede administrar sus bases de datos de forma gráfica y a través de la Web usando el navegador de su preferencia.

Ver también

Le recomiendo consultar el siguiente enlace para complementar el conocimiento adquirido en esta entrada en mi blog.

Referencia

¡Contribuye conmigo!

Espero sea de utilidad esta entrada en mi blog.

Ayúdame a seguir escribiendo en mi blog y dona 1 dolar aquí.


Miércoles 08 de junio de 2016

Jorge Ortega

Jorge Ortega
Joenco

Actualizar el lector de pantalla orca a la versión 3.18 en Debian Jessie

Hola amigos, gracias a Luis González usuario de la Lista de correo de los usuarios del lector de pantalla Orca, les explico como podemos actualizar a la versión 3.18, la cual trae buenas mejoras en el escritorio de Gnome3.18 y que pueden leer desde “Accesibilidad en la nueva versión de GNOME 3.18” publicada en la página Tiflo Linux
 
Estos son los pasos a seguir:

  1. Descargamos las dependencias para poder compilarlo (esto lo hacemos como superusuario).
  2. #> apt-get -y build-dep gnome-orca
    #> apt-get -y install gnome-common yelp-tools git-core

  3. Descargamos el código fuente.
  4. $> git clone git://git.gnome.org/orca

  5. Ahora compilamos e instalamos.
  6. $> cd orca
    $> ./autogen.sh
    $> make
    #> make install (esta instrucción la hacemos como superusuario)

  7. Perfecto! ya tenemos Orca actualizado!

 
Con el tiempo podemos seguir actualizando el orca y lo hacemos de la siguiente forma:

  1. Abrimos un terminal/consola y entramos en la carpeta de orca:
  2. cd orca

  3. Descargamos las actualizaciones escribiendo:
  4. git pull
    esperamos un momento ha que se descarguen.

  5. Luego hacemos:
  6. ./configure
    make
    make install (esta instrucción es cómo superusuario)

  7. Listo, tendremos la última versión del orca!

 
Nota: es de acotar que todos estos pasos deben hacerse desde un terminal/consola.
 
También se puede instalar en versiones anteriores de Gnome, siempre y cuando sea gnome3. Sin embargo, dependiendo de la distribución, puede que se necesite compilar otros paquetes como at-spi2 y otros relacionados para actualizarlos.
 
Nota: la versión 3.18 todavía no tiene su propia rama, Cuando la tenga, la rama debería llamarse “gnome-3-18”, por lo que si desean instalar la versión estable cuando salga, deberán sustituir la instrucción del paso #2 por esta:
– git clone git://git.gnome.org/orca -b gnome-3-18
(es decir, añadirle la opción “-b gnome-3-18)
 
Un saludo y espero disfruten de esta nueva versión del lector de pantalla orca!!


Sábado 04 de junio de 2016

Alsamixer

Está Escrito:
Porque si la trompeta da un sonido incierto, ¿quién se preparará para la batalla?(1Corintios 14:8)


Tomado de:Wikipedia
alsamixer 
es un programa de mezclado de audio para la arquitectura de sonido de Linux ALSA. Se utiliza para configurar el sonido y ajustar los volúmenes. Tiene una interfaz para usuarios basada en ncurses (modo texto) y no necesita del sistema X Window System. Soporta gran variedad de placas de sonidos con dispositivos múltiples.

Antes de probar el audio, vamos a asegurarnos que todo está bien en el controlador alsamixer. Lo volvemos a lanzar desde terminal con:

alsamixer
El manejo es con el teclado:
[TAB] para cambiar Playback, Capture, All. Para reproducción, lo dejamos en Playback.
Flechas izquierda/derecha para movernos por los parámetros (Items)
Flechas arriba/abajo para cambiar valor.
Tecla [M] para silenciar/activar. (MM indica silenciado, OO activado)
Para oír audio, el Master debe de estar activado y arriba (no tiene por qué estar a tope) y el PCM arriba.
Además, dependiendo de la configuración de altavoces que tengas (sonido estéreo o envolvente) necesitarás
activar y subir el nivel de algunos canales de la mezcla. Para estéreo, la reproducción funcionará para
estéreo (2.0) con el Item “Front” a un nivel alto. Esto implica que tienes que tener el par de altavoces
conectado a la salida frontal, de color verde.
También tenemos mezcladores de ALSA gráficos que podemos instalar desde synaptic, como alsamixergui,

Con todo esto, no está garantizado que el problema se vaya a solucionar para cualquier tarjeta solo una buena calidad de sonido.

Martes 31 de mayo de 2016

Jorge Ortega

Jorge Ortega
Joenco

Actualizar el Libreoffice en Debian 8 (jessie)

Hola! Espero hayan tenido un feliz Mayo, se acuerdan el artículo donde actualizamos la versión del lector de pantalla orca en jessie? la entrada era: Actualizar el lector de pantalla orca a la versión 3.18 en Debian Jessie, lo que mejora la accesibilidad, pero al realizar esta actualización el libreoffice pierde algo de accesibilidad ya que orca no verbaliza el contenido que tiene el documento.
 
Para resolver este problema solo debemos actualizar el libreoffice y es justo lo que haremos a continuación:

  1. Abrimos un terminal/consola y entramos cómo superusuario (root).
  2. Abrimos el archivo sources.list escribiendo en el terminal/consola:
  3. gedit /etc/apt/sources.list

  4. Revisamos el archivo para saber si tenemos los Backports, en caso contrario los añadimos al archivo copiando y pegando al final del mismo la siguientes 3 líneas:
  5. # Backports
    deb http://ftp.fr.debian.org/debian jessie-backports main contrib non-free
    deb-src http://ftp.fr.debian.org/debian jessie-backports main contrib non-free

  6. Guardamos los cambios con “Control+S” y cerramos con “Control+Q”.
  7. Actualizamos escribiendo en el terminal/consola lo siguiente:
  8. aptitude update

  9. Instalamos la última versión de libreoffice escribiendo:
  10. apt-get -t jessie-backports install libreoffice

  11. Finalizamos escribiendo en nuestra terminal:
  12. aptitude upgrade

 
Y eso es todo lo que debemos hacer para tener el libreoffice actualizado y completamente accesible!!
 
La información de cómo actualizar la conseguí en: Como instalar la última versión de Libre Office en Debian Jessie por si desean más información.
 
Saludos y nos encontramos en una próxima entrada!


Viernes 20 de mayo de 2016

Entrevista en Popular Top

Como comenté en mi entrada sobre el FLISOL 2016, antes del evento estuvimos presentes en varias estaciones de radio, entre esas en LA MEGA gracias a F.J. Betancourt (locutor de Popular Top) quien inicialmente nos invitó a su programa y nos enlazó a otros locutores.

Pues el pasado 21 de abril, tuve la oportunidad de ser invitado junto con Maria “Tatica” Leandro para hablar sobre el FLISOL en Popular Top (muy conocido en la región) abarca temas de tecnología, noticias actuales, habla sobre eventos locales, entrevista a personas que suelen realizar alguna actividad en la región y siempre realiza un ranking de cosas interesantes. Además, suelo colaborar con la administración del servidor, página y cuentas de correo del programa :).

En popular top por la MEGA

Autorretrato realizado por Maria Leandro en plena cabina de grabación

En fin, les recomiendo escuchar el programa que está bueno (me equivoqué en muchas partes) y recuerden que pueden suscribirse en su canal para que sigan escuchando el programa cada día:

La entrada Entrevista en Popular Top aparece primero en El blog de Skatox.

Jueves 19 de mayo de 2016

Permisos de archivos y carpetas

Está Escrito:
Por lo cual mi corazón se alegró, y se gozó mi lengua, Y aun mi carne descansará en esperanza;  (Hechos 2:26)
Tomado de: Ite.Educacion.es
Usuario propietario y grupo propietario de un archivo  
 
Anteriormente se ha comentado que en Unix todos los archivos pertenecen obligatoriamente a un usuario y a un grupo. Cuando un usuario crea un nuevo archivo, el propietario del archivo será el usuario que lo ha creado y el grupo del archivo será el grupo principal de dicho usuario.

Ejemplo, si un usuario llamado 'pepe' cuyo grupo principal es el grupo 'profesores' crea un nuevo archivo, el propietario del archivo será 'pepe' y el grupo propietario del archivo será 'profesores', o lo que es lo mismo, el archivo pertenecerá al usuario pepe y al grupo profesores. Obligatoriamente, todos los archivos del sistema pertenecen a algún usuario y a algún grupo.

Con el comando ls añadiendo la opción -l (formato largo) podemos visualizar el usuario propietario y el grupo propietario del archivo, ejemplo:
Mostrar el propietario con el comando ls -l
Comprobamos que el usuario propietario es pepe y el grupo propietario es profesores. La misma información podemos verla desde el administrador de archivos si vamos a la carpeta /home/pepe y mostramos las columnas correspondientes:
Navegador de archivos

Tipos de permisos

En los Sistemas Unix, la gestión de los permisos que los usuarios y los grupos de usuarios tienen sobre los archivos y las carpetas, se realiza mediante un sencillo esquema de tres tipos de permisos que son:
  • Permiso de lectura
  • Permiso de escritura
  • Permiso de ejecución
El significado de estos permisos difiere si se tienen sobre archivos o sobre carpetas. A continuación veremos el significado para cada uno de los casos:

Permiso de lectura

Cuando un usuario tiene permiso de lectura de un archivo significa que puede leerlo o visualizarlo, bien sea con una aplicación o mediante comandos. Ejemplo, si tenemos permiso de lectura sobre el archivo examen.txt, significa que podemos ver el contenido del archivo. Si el usuario no tiene permiso de lectura, no podrá ver el contenido del archivo.
Cuando un usuario tiene permiso de lectura de una carpeta, significa que puede visualizar el contenido de la carpeta, es decir, puede ver los archivos y carpetas que contiene, bien sea con el comando 'ls' o con un explorador de archivos como Konqueror. Si el usuario no tiene permiso de lectura sobre la carpeta, no podrá ver lo que contiene.

El permiso de lectura se simboliza con la letra 'r' del inglés 'read'.
Permiso de lectura

Permiso de escritura

Cuando un usuario tiene permiso de escritura sobre un archivo significa que puede modificar su contenido, e incluso borrarlo. También le da derecho a cambiar los permisos del archivo mediante el comando chmod así como cambiar su propietario y el grupo propietario mediante el comando chown. Si el usuario no tiene permiso de escritura, no podrá modificar el contenido del archivo.
Cuando un usuario tiene permiso de escritura sobre una carpeta, significa que puede modificar el contenido de la carpeta, es decir, puede crear y eliminar archivos y otras carpetas dentro de ella. Si el usuario no tiene permiso de escritura sobre la carpeta, no podrá crear ni eliminar archivos ni carpetas dentro de ella.

El permiso de escritura se simboliza con la letra 'w' del inglés 'write'.

Permiso de escritura

Permiso de ejecución

Cuando un usuario tiene permiso de ejecución de un archivo significa que puede ejecutarlo. Si el usuario no dispone de permiso de ejecución, no podrá ejecutarlo aunque sea una aplicación.
Los únicos archivos ejecutables son las aplicaciones y los archivos de comandos (scripts). Si tratamos de ejecutar un archivo no ejecutable, dará errores.

Cuando un usuario tiene permiso de ejecución sobre una carpeta, significa que puede entrar en ella, bien sea con el comando 'cd' o con un explorador de archivos como Konqueror. Si no dispone del permiso de ejecución significa que no puede ir a dicha carpeta.

El permiso de ejecución se simboliza con la letra 'x' del inglés 'eXecute'.
Permiso de ejecución

 

¿A quién se puede otorgar permisos?

Los permisos solamente pueden ser otorgados a tres tipos o grupos de usuarios:
  • Al usuario propietario del archivo
  • Al grupo propietario del archivo
  • Al resto de usuarios del sistema (todos menos el propietario)
Se pueden dar permisos de lectura, escritura, ejecución ó combinación de ambos al usuario propietario del archivo, al grupo propietario del archivo o al resto de usuarios del sistema. En Unix no existe la posibilidad de asignar permisos a usuarios concretos ni a grupos concretos, tan solo se puede asignar permisos al usuario propietario, al grupo propietario o al resto de usuarios.
Ejemplo, si disponemos de un archivo llamado 'examen.txt' cuyo propietario es 'pepe' y cuyo grupo propietario es 'profesores', se pueden dar permisos de lectura, escritura, ejecución ó combinación de ambos al usuario 'pepe', al grupo 'profesores' y al resto de usuarios, pero no podremos dar permisos a otros usuarios distintos de pepe (juan, luis, pedro,...) ni a otros grupos (alumnos, directivos, personal,...) ya que el esquema Unix no lo permite.

Supongamos que la siguiente figura representa los permisos de examen.txt:
Permisos de archivo
El usuario propietario (pepe) podrá leer y escribir en el documento. Los pertenecientes al grupo profesores podrán leerlo y el resto no podrá hacer nada.

Si deseo que otros usuarios tengan algún permiso sobre el archivo 'examen.txt', no me quedará más remedio que incluirlos en el grupo profesores u otorgar el permiso al resto de usuarios pero si hago esto último, absolutamente todos los usuarios del sistema gozarán del permiso, por eso no se recomienda salvo que eso sea nuestra intención.

Para poder cambiar permisos sobre un archivo, es necesario poseer el permiso de escritura sobre el mismo. El usuario root puede modificar los permisos de cualquier archivo ya que tiene acceso total sin restricciones a la administración del sistema.

Visualizar los permisos de un archivo o carpeta

Con el comando ls -l podemos visualizar los permisos de los archivos o carpetas. Al ejecutar el comando aparecen todos los archivos, uno por línea. El bloque de 10 caracteres del principio simboliza el tipo de archivo y los permisos.
Permisos de archivo 
El primer carácter indica de qué tipo de archivo se trata. Si es un guión '-' significa que se trata de un archivo normal, la letra 'd' significa que se trata de una carpeta (directory), la letra 'l' significa que se trata de un enlace (link). Otros valores son s, p, b que se refieren a sockets, tuberías (pipe) y dispositivos de bloque respectivamente.

Los 9 caracteres siguientes simbolizan los permisos del usuario propietario (3 caracteres), los permisos del grupo propietario (3 caracteres) y los permisos del resto de usuarios (3 caracteres). Vienen codificados con las letras r, w y x que se refieren a los permisos de lectura, escritura y ejecución. Si en lugar de aparecer dichas letras aparecen guiones significa que se carece de dicho permiso. Ejemplo, si los diez primeros caracteres son -rw-r----- significa que es un archivo normal, que el usuario propietario dispone de permisos de lectura y escritura pero no de ejecución, que el grupo propietario dispone tan solo de permiso de lectura y el resto de usuarios no dispone de ningún permiso. Veámoslo en la siguiente imagen:

 
Permisos de lectura y escritura para el propietario y lectura para el grupo
En el siguiente ejemplo vemos que pepe tiene permiso de lectura y escritura y que el resto solo tiene permiso de lectura tanto sobre el archivo 'apuntes.doc' como sobre el archivo 'examen.txt'.
// Visualización de permisos
ls -l
total 8
-rw-r--r--  1 pepe profesores 359 2011-09-28 18:02 apuntes.doc
-rw-r--r--  1 pepe profesores  11 2011-09-27 19:26 examen.txt

Cambio de permisos

Para cambiar los permisos de un archivo o una carpeta es necesario disponer del permiso de escritura (w) sobre dicho archivo o carpeta. Para hacerlo, se utiliza el comando chmod. La sintaxis del comando chmod es la siguiente:
chmod [opciones] permiso nombre_archivo_o_carpeta
Los permisos se pueden representar de dos formas. La primera es mediante las iniciales de a quién va dirigido el permiso (usuario=u, grupo=g, resto=o (other)), seguido de un signo + si se quiere añadir permiso o un signo - si se quiere quitar y seguido del tipo de permiso (lectura=r, escritura=w y ejecución=x). Ejemplos:
// Dar permiso de escritura al usuario propietario sobre el archivo 'examen.txt'
# chmod u+w examen.txt

// Quitar permiso de escritura al resto de usuarios sobre el archivo 'examen.txt'
# chmod o-w examen.txt

// Dar permiso de ejecución al grupo propietario sobre el archivo '/usr/bin/games/tetris'
# chmod g+x /usr/bin/games/tetris

// Dar permiso de lectura al grupo propietario sobre el archivo 'examen.txt'
# chmod g+r examen.txt

// Se pueden poner varios permisos juntos separados por comas
# chmod u+w,g-r,o-r examen.txt

// Se pueden poner varios usuarios juntos
# chmod ug+w examen.txt
La segunda forma de representar los permisos es mediante un código numérico cuya transformación al binario representaría la activación o desactivación de los permisos. El código numérico está compuesto por tres cifras entre 0 y 7. La primera de ellas representaría los permisos del usuario propietario, la segunda los del grupo propietario y la tercera los del resto de usuarios.

En binario, las combinaciones representan el tipo de permisos. El bit más a la derecha (menos significativo) se refiere al permiso de ejecución (1=activar y 0=desactivar). El bit central se refiere al permiso de escritura y el bit más a la izquierda se refiere al permiso de lectura. La siguiente tabla muestra las 8 combinaciones posibles:

Cód Binario   Permisos efectivos
0       0 0 0       - - -
1       0 0 1       - - x
2       0 1 0       - w -
3       0 1 1       - w x
4       1 0 0       r - -
5       1 0 1       r - x
6       1 1 0       r w -
7       1 1 1       r w x
Si deseamos otorgar sólo permiso de lectura, el código a utilizar es el 4. Si deseamos otorgar sólo permiso de lectura y ejecución, el código es el 5. Si deseamos otorgar sólo permiso de lectura y escritura, el código es el 6. Si deseamos otorgar todos los permisos, el código es el 7. Si deseamos quitar todos los permisos, el código es el 0. Ejemplos:
// Dar todos los permisos al usuario y ninguno ni al grupo ni al resto
chmod 700 examen.txt

// Dar al usuario y al grupo permisos de lectura y ejecución y ninguno al resto
chmod 550 examen.txt

// Dar todos los permisos al usuario y lectura y ejecución al grupo y al resto
chmod 755 /usr/bin/games/tetris

// Dar todos los permisos al usuario y de lectura al resto, sobre todos los archivos
chmod 744 *

// Cambiar permisos a todos los archivos incluyendo subcarpetas
chmod -R 744 *
Existe la posibilidad de cambiar los permisos utilizando el explorador de archivos. Para ello tan solo hay que seleccionar los archivos o carpetas y haciendo clic sobre la selección con el botón derecho del ratón > Propiedades, nos aparecerá la ventana de propiedades. Haciendo clic en la pestaña Permisos podremos establecer los permisos de una forma sencilla y haciendo clic en 'Permisos avanzados' de una forma avanzada.

Estableciendo permisos desde el administrador de archivos

 

Bits SUID y SGID

El bit SUID es una extensión del permiso de ejecución. Se utiliza en escasas ocasiones y sirve para que cuando un usuario ejecute una aplicación, ésta se ejecute con permisos del usuario propietario en lugar de hacerlo con los del usuario que ejecuta la aplicación, es decir, es equivalente a que sea ejecutada por el propietario.
Para activar el bit SUID, se puede ejecutar el comando chmod u+s nombre_archivo o sumar 4000 al número en octal si utilizamos dicho sistema. También se puede hacer lo mismo para el grupo, es el denominado bit SGID sumando 2000 al número en octal. Activar los bits SUID ó SGID puede ocasionar problemas de seguridad sobre todo si el propietario es root.

Si aplicamos el bit SGID a una carpeta, todas las subcarpetas y archivos creados dentro de dicha carpeta tendrán como grupo propietario el grupo propietario de la carpeta en lugar del grupo primario del usuario que ha creado el archivo. Es una ventaja cuando varias personas pertenecientes a un mismo grupo, trabajan juntas con archivos almacenados en una misma carpeta. Si otorgamos permisos de lectura y escritura al grupo, los archivos podrán ser modificados por todos los miembros del grupo y cuando cualquiera de ellos cree un archivo, éste pertenecerá al grupo.

Máscaras

Cuando se crea un archivo, los permisos originales por defecto son 666 y cuando se crea una carpeta, los permisos por defecto son 777. Dichos permisos por defecto pueden modificarse con el comando umask.
Con umask podemos definir la máscara de permisos, cuyo valor original es 000. El permiso por defecto será el resultado de restar del permiso original, el valor de la máscara. Si deseamos que los archivos se creen con permisos 644 (lo más habitual), pondremos máscara 022 ya que 666-022=644. En el caso de las carpetas, el permiso efectivo será 755 ya que 777-022=755. Si analizamos el valor de la máscara en binario, cada bit a '1' desactiva un permiso y cada bit a '0' lo activa, es decir, si tiene un valor 022 (000 010 010) cuando creemos una carpeta, tendrá permisos rwxr-xr-x y cuando creemos un archivo tendrá permisos rw-r--r-- ya que el permiso de ejecución para archivos hay que fijarle con chmod al tener los archivos el permiso original 666.

Cada usuario tiene su máscara. Se puede fijar la máscara por defecto para todos los usuarios en el archivo /etc/profile o para cada usuario en el archivo /home/usuario/.bashrc
// Ejemplo de uso de umask
pepe@ubuntu:/tmp$ umask
0002
pepe@ubuntu:/tmp$ mkdir nueva-carpeta
pepe@ubuntu:/tmp$ ls -l
drwxrwxr-x    2 pepe     profes       1024 Feb 12 19:46 nueva-carpeta
pepe@ubuntu:/tmp$ umask 022
pepe@ubuntu:/tmp$ mkdir otra-carpeta
pepe@ubuntu:/tmp$ ls -l
drwxrwxr-x    2 pepe     profes       1024 Feb 12 19:46 nueva-carpeta
drwxr-xr-x    2 pepe     profes       1024 Feb 12 19:46 otra-carpeta
pepe@ubuntu:/tmp$
La modificación con umask de la mascara por defecto no afecta a los archivos y carpetas existentes sino solo a los nuevos que cree ese usuario a partir de ese momento.

Grupos privados de usuario

Para hacer más flexible el esquema de permisos Unix, se recomienda utilizar grupos privados de usuario. Consiste en crear un nuevo grupo con el mismo nombre del usuario, cada vez que se crea un nuevo usuario y hacer que el grupo principal del nuevo usuario sea el nuevo grupo.
Ejemplo, si creamos un usuario pepe, crearemos también un grupo llamado pepe y haremos que el grupo primario del usuario pepe sea el grupo pepe.

En el siguiente ejemplo observamos que el UID del usuario pepe es 1002 y que su grupo principal es el 1003 que corresponde al GID del grupo pepe. También vemos que si creamos un nuevo archivo, pertenecerá al usuario pepe y al grupo pepe.
// Ejemplo: Usuario pepe y grupo pepe
pepe@ubuntu:/tmp$ more /etc/passwd |grep pepe
pepe:x:1002:1003::/home/pepe:
pepe@ubuntu:/tmp$ more /etc/group |grep pepe
pepe:x:1003:
pepe@ubuntu:/tmp$ ls > archivo.txt
pepe@ubuntu:/tmp$ ls -l
-rw-rw-r--    1 pepe     pepe           12 Feb 12 20:17 archivo.txt
pepe@ubuntu:/tmp$

Aunque parezca inservible, la creación de un grupo personal para cada usuario, permitirá crear otros grupos mediante los cuales, diferentes personas puedan trabajar de forma colaborativa sobre los archivos dentro de una carpeta concreta. Veámoslo mejor con un ejemplo:

Supongamos que creamos una carpeta llamada 'examenes' que pertenezca al grupo profesores. Si establecemos el bit SGID en dicha carpeta con el comando 'chmod g+s examenes', todos los archivos que se creen dentro de dicha carpeta tendrán como grupo propietario el grupo profesores. Si todos los usuarios utilizan máscara 002, los permisos de los archivos serán 664 con lo cual, cualquier integrante del grupo profesores podra visualizar y modificar los archivos.

El problema de usar la máscara 002 es que cualquiera que pertenezca al grupo principal de un usuario, tendría acceso de escritura sobre sus archivos, pero esto no sucederá nunca ya que cada usuario tiene su propio grupo principal y nadie más pertenece a él.

Cambiar usuario propietario y grupo propietario

Para poder cambiar el usuario propietario y el grupo propietario de un archivo o carpeta se utiliza el comando chown (change owner). Para ello hay que disponer de permisos de escritura sobre el archivo o carpeta. La sintaxis del comando es:
# chown nuevo_usuario[.nuevo_grupo] nombre_archivo
En el siguiente ejemplo vemos una secuencia de comandos en la que inicialmente comprobamos que el archivo 'examen.txt' pertenece al usuario pepe y al grupo profesores. Posteriormente hacemos que pertenezca al usuario luis y luego hacemos que pertenezca al usuario pedro y al grupo alumnos:
// Cambiar propietario y grupo propietario
root@ubuntu:/tmp# ls -l
total 4
-rw-rw-r--  1 pepe profesores 11 2005-09-28 20:15 examen.txt
root@ubuntu:/tmp# chown luis examen.txt
root@ubuntu:/tmp# ls -l
total 4
-rw-rw-r--  1 luis profesores 11 2005-09-28 20:15 examen.txt
root@ubuntu:/tmp# chown pedro.alumnos examen.txt
root@ubuntu:/tmp# ls -l
total 4
-rw-rw-r--  1 pedro alumnos 11 2005-09-28 20:15 examen.txt
root@ubuntu:/tmp#

Lunes 09 de mayo de 2016

Resumen del FLISOL 2016

El pasado 23 de abril en la ciudad de San Cristóbal (Venezuela) tuvimos la oportunidad de celebrar el FLISOL en la UNET,  luego de 5 años de ausencia por problemas políticos del país, falta de tiempo de los miembros de TALUG/Linuxtachira y otros. Pero este año decidí organizar el evento y al saber que contaba con la ayuda del Prof. Ronald Escalona y Maria “Tatica” Leandro pues logramos llevarlo adelante.

Organización

Desde finales de enero (¡si!, tres meses antes), estuvimos reuniéndonos públicamente en un centro comercial de la ciudad para cuadrar toda la logística. El Prof. Ronald Escalona logró conseguir el Auditorio de la Universidad Nacional Experimental del Táchira para el evento, video-beams por parte del Departamento de Informática y a través del Departamento de Informática logramos conseguir los certificados digitales de asistencia, Tatica organizó la web y redes sociales del evento, Richzendy consiguió el patrocinio por parte de Fedora y montó el servidor con los repositorios para descargar.

Gira de medios

La semana anterior al FLISOL, tuvimos la oportunidad de visitar varias estaciones de radio local y participar en varios programas reconocidos de la región, estuvimos en la 93.7 FM en El Pendrive de Lourdes, En la Mega 102.1 FM en Popular Top y en el programa de Andreina Matheus y Dario Motora, en Ecos del Torbes y mas. Gracias a todos lo que hicieron posible la participación, pues muchas personas llegaron a través de esos programas de radio. También gracias al área de medios de la UNET pudimos contar con publicidad en la página de la universidad y en sus respectivas redes sociales.

En popular top por la MEGA En el Pendrive de Lourdes Con Dario Motora En ecos del torbes

Instalaciones

Esta parte fue la que impresionó, aunque en el 2011 (la última edición) ya había bajado mucho las solicitudes de instalación y toco ofrecer software libre para Android. En este año solo hubo una instalación, bueno en realidad era una reinstalación porque tenía Ubuntu y deseaba tener una distribución mas ligera. Creo que la baja cantidad de instalaciones se debe a la facilidad de instalar Linux en un equipo y la compatibilidad ha crecido mucho actualmente, por lo que no es necesario contar con ayuda de expertos para tener software libre en tu equipo (a diferencia de hace una década).

Ponencias del FLISOL

Este fue el principal fuerte del evento debido a las pocas instalaciones que hubo. Desde las 9:30am comenzamos con la de Darwin sobre Software Libre y casos de éxito y luego con Luis Villalobos sobre comunidades libres (ambas ponencias fueron excelentes para abrir este evento). Una vez finalizadas, vino la de Leonardo Caballero nuestro invitado de Méridam donde nos habló sobre el poder de python a través de herramientas como Oddoo y Plone que son excelentes y están desarrolladas en Python. Para cerrar la mañana, se hizo mi ponencia sobre la seguridad y privacidad en Internet y como protegerse usando las herramientas de Mozilla, luego se hizo un breve descanso para almorzar el arroz chino (donado por el proyecto Fedora) y disfrutar de refrescos (donado por Feedback Software).

En la tarde contamos con las ponencia de Pablo Lopez acerca de estaciones de radio utilizando Software Libre, posteriormente contamos con la presencia de Jordi Cuevas sobre el proceso de traducción de WordPress. En paralelo, Tatica realizó un taller de Darktable con varios diseñadores y fotógrafos asistentes; en ese momento se montó a la “tarima” Richzendy y Arley para darnos una grandiosa explicación sobre Bitcoin, una moneda criptográfica de Internet (de hecho al final rifaron unos mBTC).

Finalmente, el evento se cerró con una clase magistral de seguridad informática a cargo del profesor Ronald Escalona, la introducción de la misma fue mostrar parte del tráfico de la red inalámbrica (porque estaba libre) donde pudimos ver algunas imágenes de lo que observaba el público, para luego explicar varios aspectos a tomar para la seguridad de un sitio web.

Cabe destacar que entre cada ponencia se rifaron: DVDs, camiseta, chapas, calcomanía (pegatinas), material de publicidad y mas. Algunos de los asistentes pudieron almorzar gratis, tomar refrescos y chucherías que trajeron los patrocinantes.

Ponencia de Darwin de Gnuchox Ponencia de Darwin de Luis Villalobos por parte de DjangoVE Ponencia de Leonardo Caballero Ponencia de Miguel Useche por parte de Mozilla Venezuela Ponencia de Miguel Useche por parte de Mozilla Venezuela Receso para el almuerzo Tatica en el receso de almuerzos Francisco Pagola conversando con otros gurús Tatica dando un taller de diseño gráfico Tatica dando un taller de diseño gráfico Ponencia de Jordi Cuevas sobre traducción de Wordpress Ponencia de Jordi Cuevas sobre traducción de Wordpress Ronald Forero con el pendón de Gnuchox Autorretrato con el público asistente Arley Lozano hablando sobre Bitcoins Richzendy y Arley Lozano hablando sobre Bitcoins Ponencia de Seguridad Informática de Ronald Escalona Parte del equipo organizador

Resultado del evento

Después de 5 años como profesor de la universidad, al fin pude organizar un evento “grande” para la comunidad en mi casa de estudios. Confieso que luego de tantos años sin la presencia de eventos de este tipo en la región, tenía miedo de que hubiese poca asistencia, sin embargo, como pueden ver en la foto de Tatica, la asistencia fue buena.

Asistentes del FLISOL 2016, foto cortesía de Maria Leandro

Asistentes del FLISOL 2016, foto cortesía de María Leandro

Agradezco a todos los asistentes, ponentes, organizadores, patrocinantes y personas que hicieron posible este evento. Me motivó a tratar de hacerlo cada año y a mejorar para el próximo, eso si, ¡necesitamos ayuda! Espero que para el próximo año te unas a participar en la creación de este evento, solo debes suscribirte a linuxtachira.org y estar pendiente de las reuniones o propuestas.

La entrada Resumen del FLISOL 2016 aparece primero en El blog de Skatox.

Richzendy Contreras

Richzendy Contreras
Gnu y Linux – Richzendy.org

Flisol 2016 San Cristóbal

Jueves 05 de mayo de 2016

También puedes ser un hacker de Linux

Linux es el proyecto mas famoso de software libre, también es el mas grande y probablemente el mas complejo que existe. Por su complejidad puede asustar a muchos desarrolladores que quisieran estudiar su código fuente y en muchos casos, realizar aportes para agregar nuevas funcionalidades o mejorar las existentes.

Componentes del núcleo Linux

Los componentes del núcleo Linux

En esta charla de Julia Evans, podrás ver en media hora, mucho de los aspectos importantes sobre el núcleo y cómo funciona, explica los pasos para colaborar e informa sobre la cultura de la comunidad respecto a los aportes, redacción de correos, entre otros. Luego comienza una breve parte práctica donde comparte buenos y graciosos ejemplos sobre como funcionan: módulos, ejecución y carga de procesos, por mencionar algunos.

Si no tienes claro los conceptos de los sistemas operativos te puede costar entender el vídeo, si ya los sabes, mira y disfruta:

Espero que el vídeo les anime a estudiar un poco mas este maravilloso sistema operativo, si quieren leer sobre el tema les recomiendo leer mi reseña sobre el libro Understanding the Linux Kernel donde pueden aprender muchas funcionalidades de Linux y de sistemas operativos en general, así pueden entender mejor como funciona el núcleo e inclusive aportar código al proyecto.

Happy Linux hacking!

La entrada También puedes ser un hacker de Linux aparece primero en El blog de Skatox.

Lunes 02 de mayo de 2016

Cómo actualizar el huso horario en Linux

time zone map

El 1° de mayo, el huso horario cambiará en Venezuela a UTC-4, por lo que debes actualizar el paquete tzdata en Linux para estar preparado para este cambio. Para hacer esto solo debes hacer lo siguiente:

Debian/Ubuntu

aptitude update
aptitude safe-upgrade tzdata

Red Hat

yum check-update
yum update tzdata

Para verificar que se la actualización tiene el cambio del huso horario se puede ejecutar la siguiente orden:

zdump -v /usr/share/zoneinfo/right/America/Caracas  | grep 2016

/usr/share/zoneinfo/right/America/Caracas  Sun May  1 06:59:59 2016 UT = Sun May  1 02:29:59 2016 VET isdst=0 gmtoff=-16200
/usr/share/zoneinfo/right/America/Caracas  Sun May  1 07:00:00 2016 UT = Sun May  1 03:00:00 2016 VET isdst=0 gmtoff=-14400

Referencia: How to check if the Time Zone database

Domingo 01 de mayo de 2016

Alberto Capella

Alberto Capella
alberkman Blog

Cambio de Huso Horario en Venezuela V3

Faltan pocas horas para el cambio de huso horario en Venezuela, y hace poco me preguntaban: ¿Tengo PfSense como firewall, qué hago al respecto?

Por defecto, PfSense viene sin el compilador, así que no es posible generar el archivo de zona en el mismo equipo.

La solución es muy sencilla, teniendo actualizado el paquete tzdata en algún servidor (o en tu estación de trabajo) con GNU/Linux, solo debes copiar el archivo de zona “Caracas” (ubicado en el directorio /usr/share/zoneinfo/America/ de tu sistema Debian) al directorio “/usr/share/zoneinfo/America/” en el servidor PfSense.

Para validar, solo deben ejecutar zdump -v America/Caracas | grep 2016 en una consola dentro del servidor PfSense; o ir al menú “Diagnostics” opción “Command Prompt” del dashboard y colocar el comando anterior.

Saludos.

Viernes 29 de abril de 2016

Alberto Capella

Alberto Capella
alberkman Blog

Cambio de Huso Horario en Venezuela V2

Prácticamente en menos de 48 horas el país cambiará nuevamente de Huso Horario, y como cosa rara, he visto personas tratando el tema de una manera “brillante” (joke).

Para hacer el cambio (de Huso Horario) en sistemas GNU/Linux solo hay una vía; actualizar el paquete tzdata al release 2016d; que ya incluye el cambio automático para Venezuela.

Ahora bien, que debes hacer si tienes Debian como Sistema Operativo ?

  1. Verificar que en el archivo de repositorios (/etc/apt/source.list) tengas el repositorio updates (si no lo tienes, debes agregarlo); tal como:
    deb http://ftp.br.debian.org/debian wheezy-updates main
    o
    deb http://ftp.br.debian.org/debian jessie-updates main
  2. Actualizar la lista de paquetes con el comando: apt-get update
  3. Instalar la actualización de el paquete tzdata con el comando: apt-get install tzdata
  4. Probar la actualización del paquete, con el comando: zdump -v America/Caracas | grep 2016

En Sistemas RHEL/CentOS/Etc, la actualización de este paquete se encuentra en el apartado updates en el archivo <distro>.repo que se encuentra en el directorio /etc/yum.repos.d/

Preguntas y Respuestas:

  • ¿Puedo utilizar el protocolo NTP para actualizar el huso horario? Resp: NO, para esto debes actualizar el paquete tzdata al release 2016d. El protocolo NTP sirve para actualizar la hora, NO el huso horario.
  • ¿No puedo sincronizar la hora usando NTP, puedo “setear” de forma manual la hora al sistema? Resp: , siempre y cuando actualices el paquete tzdata al realease 2016d; si no actualizas el tzdata, tu sistema podrá tener la hora teóricamente correcta, pero el sistema seguirá estando en el huso horario UTC -0430, por lo tanto, legalmente y técnicamente no tendrás la hora correcta.

Saludos.

Sábado 16 de abril de 2016

Alberto Capella

Alberto Capella
alberkman Blog

Cambio de Huso Horario en Venezuela

Hola, debido al cambio de huso horario que entrará en vigencia en el país a partir del 1 de mayo, me tome la libertad de reportar el caso en Debian y crear (disponibles desde  acá) los binarios deb y rpm con el último release de tzdata (Time Zone Data v. 2016d Released 2016-04-17); esta versión ya incluye el cambio en el huso horario Venezolano.

Solo deben descargar el paquete de acuerdo a su distro e instalarlo usando dpkg -i <paquete.deb> o rpm -iUvh <paquete.rpm>.

Para comprobar el cambio solo deben ejecutar lo siguiente:

$ zdump -v America/Caracas | grep 2016

America/Caracas Sun May 1 06:59:59 2016 UT = Sun May 1 02:29:59 2016 VET isdst=0 gmtoff=-16200
America/Caracas Sun May 1 07:00:00 2016 UT = Sun May 1 03:00:00 2016 VET isdst=0 gmtoff=-14400

Si tienen una instalación de PstgreSQL, basta con lanzar este par de querys:

SELECT TIMESTAMP ‘2016-04-30 07:00:00’ AT TIME ZONE ‘UTC’;

SELECT TIMESTAMP ‘2016-05-01 07:00:00’ AT TIME ZONE ‘UTC’;

El resultado será algo parecido al anterior.

 

Saludos.

Jueves 14 de abril de 2016

Richzendy Contreras

Richzendy Contreras
Gnu y Linux – Richzendy.org

Invitación al FLISOL San Cristóbal 2016

Martes 12 de abril de 2016

Valencia Software Libre: Flisol 2016 - Valencia | Carabobo

Domingo 10 de abril de 2016

José Miguel Parrella Romero

José Miguel Parrella Romero
null pointer dereference

Perspective at //build

Recently I had the opportunity to share stage with some brilliant internal and external colleagues advancing open source in the cloud at //build, Microsoft’s developer conference in San Francisco. Beyond having been able to talk to about 400 attendees about how we’re approaching open source in the cloud, how customers are building open source applications in Azure and much more, speaking at //build had a very special meaning for me.

Before joining Microsoft, I didn’t have a lot of exposure to the Microsoft developer ecosystem, the Microsoft subsidiaries themselves or the employees working there. I was focused in a number of open source projects such as Canaima (Venezuela’s national distro) a number of communities and expanding a small open source system integrator in the region.

Most of my interaction with Microsoft was limited to public debates, at industry events or in Congress, or to the ISO/IEC 29500 discussion back in the days (both of which I’ve covered in this blog, in Spanish) However, around 2009 or so, the company I was a CTO for and Microsoft decided to create an Open Source Interoperability Lab in Venezuela. The idea was to document common hybrid technology use cases (such as Samba-based DCs in Windows environments, or PHP and ASP.NET communicating via ESB) and transfer that knowledge to customers.

As a result of that effort, I ended up being invited to and participating in PDC09 in Los Angeles. PDC was the precursor of //build, a yearly conference aimed at Microsoft-centric developers. There are 3 things I remember clearly from PDC09: one, was the “convertible tablet PC” they offered attendees (running Windows 7 bits that rapidly became Debian bits), the second one was the PHP SDK for Azure, and the preview access to that new “cloud” thingy, and the third one was an open source roundtable led by Miguel de Icaza that mainly talked about governance and CodePlex.

While I didn’t know it back then, a lot of the things discussed in that roundtable influenced my decision, about a year later, to join Microsoft and work in open source strategy; a journey that brought me to Azure in less than 5 years. But I digress, and that whole story deserves another post.

Maybe some of the attendees then foresaw that Microsoft would end up acquiring Xamarin, or that attention would be put in non-CodePlex initiatives, like GitHub. What I really didn’t expect was that all of that new reality would converge into a PDC-like event, less than 10 years after. This year at //build it did, and then some.

For me, speaking at //build was a humbling opportunity to reconcile the many worlds increasingly pulled together by the force of open source. From the announcements to the content and all other metasignals at the conference, it was incredibly exciting to see this transformation manifesting itself within Microsoft’s developer community.

It highlights the importance of leaving no one behind when we explore new paradigms and technologies in the cloud, and how every individual in the open source community can exert change in this industry.


Viernes 01 de abril de 2016

ubuntu-ve: Celebrado Día del Documento Libre en Amazonas
Valencia Software Libre: Suspendido en Valencia Document Freddom Day
ubuntu-ve: Comunidad Ubuntu se activará en la UBV Amazonas

Domingo 27 de marzo de 2016

ubuntu-ve: Reunión preparatoria FLISOL Amazonas el 29-03-2016

Domingo 20 de marzo de 2016

Silvio Perez: Creating a simple puppet manifest
Silvio Perez: Script that change all filenames in a directory to upper/lower case

Lunes 14 de marzo de 2016

Valencia Software Libre: Document Fredom Day - DFD - UJAP Valencia

Lunes 07 de marzo de 2016

Discos Duros y Particiones

Discos Duros y Particiones (Crees que sabes todo verdad ??)
Está Escrito:
El corazón entendido busca la sabiduría; Mas la boca de los necios se alimenta de necedades. (Proverbios 15:14)
Tomado de:Taringa

Función de un disco duro 


Un disco duro es un dispositivo que permite el almacenamiento y recuperación de grandes cantidades de información. Los discos duros forman el principal elemento de la memoria secundaria de un ordenador, llamada así en oposición a la memoria principal o memoria RAM (Random Access Memory, memoria de acceso aleatorio). 





Tanto los discos duros como la memoria principal son memorias de trabajo (varían su contenido en una sesión con el ordenador). Sin embargo, presentan importantes diferencias: la memoria principal es volátil (su contenido se borra al apagar el ordenador), muy rápida (ya que se trata de componentes electrónicos) pero de capacidad reducida. La memoria secundaria, en cambio, es no volátil, menos rápida (componentes mecánicos) y de gran capacidad. La memoria principal contiene los datos utilizados en cada momento por el ordenador pero debe recurrir a la memoria secundaria cuando necesite recuperar nuevos datos o almacenar de forma permanente los que hayan variado. 


2. Estructura física de un disco duro 

Elementos de un disco duro 



Un disco duro forma una caja herméticamente cerrada que contiene dos elementos no intercambiables: la unidad de lectura y escritura y el disco como tal. 



* La unidad es un conjunto de componentes electrónicos y mecánicos que hacen posible el almacenamiento y recuperación de los datos en el disco. 
* El disco es, en realidad, una pila de discos, llamados platos, que almacenan información magnéticamente. Cada uno de los platos tiene dos superficies magnéticas: la superior y la inferior. Estas superficies magnéticas están formadas por millones de pequeños elementos capaces de ser magnetizados positiva o negativamente. De esta manera, se representan los dos posibles valores que forman un bit de información (un cero o un uno). Ocho bits contiguos constituyen un byte (un carácter). 



Funcionamiento de una unidad de disco duro 



Veamos cuáles son los mecanismos que permiten a la unidad acceder a la totalidad de los datos almacenados en los platos. 



En primer lugar, cada superficie magnética tiene asignado uno de los cabezales de lectura/escritura de la unidad. Por tanto, habrá tantos cabezales como caras tenga el disco duro y, como cada plato tiene dos caras, este número equivale al doble de platos de la pila. El conjunto de cabezales se puede desplazar linealmente desde el exterior hasta el interior de la pila de platos mediante un brazo mecánico que los transporta. Por último, para que los cabezales tengan acceso a la totalidad de los datos, es necesario que la pila de discos gire. Este giro se realiza a velocidad constante y no cesa mientras esté encendido el ordenador. En cambio, en los discos flexibles sólo se produce el giro mientras se está efectuando alguna operación de lectura o escritura. El resto del tiempo, la disquetera permanece en reposo. Con las unidades de CD-ROM ocurre algo similar, sin embargo en este caso la velocidad de giro no es constante y depende de la distancia al centro del dato que se esté leyendo. 



http://www.saulo.net/pub/ddypart/Disco2.GIF




Cada vez que se realiza una operación de lectura en el disco duro, éste tiene que realizar las siguientes tareas: desplazar los cabezales de lectura/escritura hasta el lugar donde empiezan los datos; esperar a que el primer dato, que gira con los platos, llegue al lugar donde están los cabezales; y, finalmente, leer el dato con el cabezal correspondiente. La operación de escritura es similar a la anterior. 





Estructura física: cabezas, cilindros y sectores 



Ya hemos visto que cada una de las dos superficies magnéticas de cada plato se denomina cara. El número total de caras de un disco duro coincide con su número de cabezas. Cada una de estas caras se divide en anillos concéntricos llamados pistas. En los discos duros se suele utilizar el término cilindro para referirse a la misma pista de todos los discos de la pila. Finalmente, cada pista se divide en sectores. 

Reparacion



Los sectores son las unidades mínimas de información que puede leer o escribir un disco duro. Generalmente, cada sector almacena 512 bytes de información. 



El número total de sectores de un disco duro se puede calcular: nº sectores = nº caras * nº pistas/cara * nº sectores/pista. Por tanto, cada sector queda unívocamente determinado si conocemos los siguientes valores: cabeza, cilindro y sector. Por ejemplo, el disco duro ST33221A de Seagate tiene las siguientes especificaciones: cilindros = 6.253, cabezas = 16 y sectores = 63. El número total de sectores direccionables es, por tanto, 6.253*16*63 = 6.303.024 sectores. Si cada sector almacena 512 bytes de información, la capacidad máxima de este disco duro será de 6.303.024 sectores * 512 bytes/sector = 3.227.148.228 bytes ~ 3 GB. 



Las cabezas y cilindros comienzan a numerarse desde el cero y los sectores desde el uno. En consecuencia, el primer sector de un disco duro será el correspondiente a la cabeza 0, cilindro 0 y sector 1. 

tecnicos




3. Estructura lógica de un disco duro 



La estructura lógica de un disco duro está formada por: 



* El sector de arranque (Master Boot Record) 
* Espacio particionado 
* Espacio sin particionar 



El sector de arranque es el primer sector de todo disco duro (cabeza 0, cilindro 0, sector 1). En él se almacena la tabla de particiones y un pequeño programa master de inicialización, llamado también Master Boot. Este programa es el encargado de leer la tabla de particiones y ceder el control al sector de arranque de la partición activa. Si no existiese partición activa, mostraría un mensaje de error. 



El espacio particionado es el espacio del disco que ha sido asignado a alguna partición. El espacio no particionado, es espacio no accesible del disco ya que todavía no ha sido asignado a ninguna partición. A continuación se muestra un ejemplo de un disco duro con espacio particionado (2 particiones primarias y 2 lógicas) y espacio todavía sin particionar. 

particiones




El caso más sencillo consiste en un sector de arranque que contenga una tabla de particiones con una sola partición, y que esta partición ocupe la totalidad del espacio restante del disco. En este caso, no existiría espacio sin particionar. 

discos duros




4. Las particiones 



Cada disco duro constituye una unidad física distinta. Sin embargo, los sistemas operativos no trabajan con unidades físicas directamente sino con unidades lógicas. Dentro de una misma unidad física de disco duro puede haber varias unidades lógicas. Cada una de estas unidades lógicas constituye una partición del disco duro. Esto quiere decir que podemos dividir un disco duro en, por ejemplo, dos particiones (dos unidades lógicas dentro de una misma unidad física) y trabajar de la misma manera que si tuviésemos dos discos duros (una unidad lógica para cada unidad física). 



Particiones y directorios.— Ambas estructuras permiten organizar datos dentro de un disco duro. Sin embargo, presentan importantes diferencias: 1ª) Las particiones son divisiones de tamaño fijo del disco duro; los directorios son divisiones de tamaño variable de la partición; 2ª) Las particiones ocupan un grupo de cilindros contiguos del disco duro (mayor seguridad); los directorios suelen tener su información desperdigada por toda la partición; 3ª) Cada partición del disco duro puede tener un sistema de archivos (sistema operativo) distinto; todos los directorios de la partición tienen el sistema de archivos de la partición.




Como mínimo, es necesario crear una partición para cada disco duro. Esta partición puede contener la totalidad del espacio del disco duro o sólo una parte. Las razones que nos pueden llevar a crear más de una partición por disco se suelen reducir a tres. 



1. Razones organizativas. Considérese el caso de un ordenador que es compartido por dos usuarios y, con objeto de lograr una mejor organización y seguridad de sus datos deciden utilizar particiones separadas. 
2. Instalación de más de un sistema operativo. Debido a que cada sistema operativo requiere (como norma general) una partición propia para trabajar, si queremos instalar dos sistemas operativos a la vez en el mismo disco duro (por ejemplo, Windows 98 y Linux), será necesario particionar el disco. 
3. Razones de eficiencia. Por ejemplo, suele ser preferible tener varias particiones FAT pequeñas antes que una gran partición FAT. Esto es debido a que cuanto mayor es el tamaño de una partición, mayor es el tamaño del grupo (cluster) y, por consiguiente, se desaprovecha más espacio de la partición. Más adelante, explicaremos esto con mayor detalle. 



Las particiones pueden ser de dos tipos: primarias o lógicas. Las particiones lógicas se definen dentro de una partición primaria especial denominada partición extendida. 



En un disco duro sólo pueden existir 4 particiones primarias (incluida la partición extendida, si existe). Las particiones existentes deben inscribirse en una tabla de particiones de 4 entradas situada en el primer sector de todo disco duro. De estas 4 entradas de la tabla puede que no esté utilizada ninguna (disco duro sin particionar, tal y como viene de fábrica) o que estén utilizadas una, dos, tres o las cuatro entradas. En cualquiera de estos últimos casos (incluso cuando sólo hay una partición), es necesario que en la tabla de particiones figure una de ellas como partición activa. La partición activa es aquella a la que el programa de inicialización (Master Boot) cede el control al arrancar. El sistema operativo de la partición activa será el que se cargue al arrancar desde el disco duro. Más adelante veremos distintas formas de elegir el sistema operativo que queremos arrancar, en caso de tener varios instalados, sin variar la partición activa en cada momento. 



De todo lo anterior se pueden deducir varias conclusiones: Para que un disco duro sea utilizable debe tener al menos una partición primaria. Además para que un disco duro sea arrancable debe tener activada una de las particiones y un sistema operativo instalado en ella. Más adelante, se explicará en detalle la secuencia de arranque de un ordenador. Esto quiere decir que el proceso de instalación de un sistema operativo en un ordenador consta de la creación de su partición correspondiente, instalación del sistema operativo (formateo de la partición y copia de archivos) y activación de la misma. De todas maneras, es usual que este proceso esté guiado por la propia instalación. Un disco duro no arrancará si no se ha definido una partición activa o si, habiéndose definido, la partición no es arrancable (no contiene un sistema operativo). 



Hemos visto antes que no es posible crear más de cuatro particiones primarias. Este límite, ciertamente pequeño, se logra subsanar mediante la creación de una partición extendida (como máximo una). Esta partición ocupa, al igual que el resto de las particiones primarias, una de las cuatro entradas posibles de la tabla de particiones. Dentro de una partición extendida se pueden definir particiones lógicas sin límite. El espacio de la partición extendida puede estar ocupado en su totalidad por particiones lógicas o bien, tener espacio libre sin particionar. 



Veamos el mecanismo que se utiliza para crear la lista de particiones lógicas. En la tabla de particiones del Master Boot Record debe existir una entrada con una partición extendida (la cual no tiene sentido activar). Esta entrada apunta a una nueva tabla de particiones similar a la ya estudiada, de la que sólo se utilizan sus dos primeras entradas. La primera entrada corresponde a la primera partición lógica; la segunda, apuntará a una nueva tabla de particiones. Esta nueva tabla contendrá en su primera entrada la segunda partición lógica y en su segunda, una nueva referencia a otra tabla. De esta manera, se va creando una cadena de tablas de particiones hasta llegar a la última, identificada por tener su segunda entrada en blanco. 





Particiones primarias y particiones lógicas 



Ambos tipos de particiones generan las correspondientes unidades lógicas del ordenador. Sin embargo, hay una diferencia importante: sólo las particiones primarias se pueden activar. Además, algunos sistemas operativos no pueden acceder a particiones primarias distintas a la suya. 



Lo anterior nos da una idea de qué tipo de partición utilizar para cada necesidad. Los sistemas operativos deben instalarse en particiones primarias, ya que de otra manera no podrían arrancar. El resto de particiones que no contengan un sistema operativo, es más conveniente crearlas como particiones lógicas. Por dos razones: primera, no se malgastan entradas de la tabla de particiones del disco duro y, segunda, se evitan problemas para acceder a estos datos desde los sistemas operativos instalados. Las particiones lógicas son los lugares ideales para contener las unidades que deben ser visibles desde todos los sistemas operativos. 



Algunos sistemas operativos presumen de poder ser instalados en particiones lógicas (Windows NT), sin embargo, esto no es del todo cierto: necesitan instalar un pequeño programa en una partición primaria que sea capaz de cederles el control. 





Estructura lógica de las particiones 



Dependiendo del sistema de archivos utilizado en cada partición, su estructura lógica será distinta. En los casos de MS-DOS y Windows 95, está formada por sector de arranque, FAT, copia de la FAT, directorio raíz y área de datos. De todas formas, el sector de arranque es un elemento común a todos los tipos de particiones. 

Discos Duros y Particiones (Crees que sabes todo verdad ??)




Todas las particiones tienen un sector de arranque (el primero de la partición) con información relativa a la partición. Si la partición tiene instalado un sistema operativo, este sector se encargará de arrancarlo. Si no hubiese ningún sistema operativo (como es el caso de una partición para datos) y se intentara arrancar, mostraría un mensaje de error. 




5. Secuencia de arranque de un ordenador 



Todos los ordenadores disponen de un pequeño programa almacenado en memoria ROM (Read Only Memory, memoria de sólo lectura), encargado de tomar el control del ordenador en el momento de encenderlo. Lo primero que hace el programa de arranque es un breve chequeo de los componentes hardware. Si todo está en orden, intenta el arranque desde la primera unidad física indicada en la secuencia de arranque. Si el intento es fallido, repite la operación con la segunda unidad de la lista y así hasta que encuentre una unidad arrancable. Si no existiese ninguna, el programa de arranque mostraría una advertencia. Esta secuencia de arranque se define en el programa de configuración del ordenador (también llamado Setup, CMOS o BIOS). Lo usual es acceder a este programa pulsando la tecla Suprimir mientras se chequea la memoria RAM, sin embargo su forma de empleo depende del modelo del ordenador. Por ejemplo, la secuencia A:, C: indica que primero se intentará arrancar desde la disquetera y si no fuera posible, desde el primer disco duro. 



Nota: Normalmente los programas de configuración utilizan la siguiente nomenclatura: la unidad A: es la primera unidad de disquete; B:, la segunda; C:, el primer disco duro; y D:, el segundo. 



Suponiendo que arrancamos desde el disco duro, el programa de arranque de la ROM cederá el control a su programa de inicialización (Master Boot). Este programa buscará en la tabla de particiones la partición activa y le cederá el control a su sector de arranque. 



El programa contenido en el sector de arranque de la partición activa procederá al arranque del sistema operativo. 



Algunas aclaraciones: Cuando compramos un disco duro nuevo, éste viene sin particionar. Esto significa que el disco duro no es arrancable y hay que configurarlo desde un disquete (o un CD-ROM). Para ello es necesario establecer la secuencia de arranque de manera que esté la disquetera antes que el disco duro (de lo contrario puede no lograrse el arranque). Por el contrario, si la secuencia de arranque es C:, A: y el disco duro es ya arrancable, no será posible arrancar desde un disquete, ya que ni siquiera lo leerá. 



6. Sistemas de archivos 



Un sistema de archivos es una estructura que permite tanto el almacenamiento de información en una partición como su modificación y recuperación. Para que sea posible trabajar en una partición es necesario asignarle previamente un sistema de archivos. Esta operación se denomina dar formato a una partición. 



Generalmente cada sistema de archivos ha sido diseñado para obtener el mejor rendimiento con un sistema operativo concreto (FAT para DOS, FAT32 para Windows 98, NTFS para Windows NT, HPFS para OS/2…). Sin embargo, es usual que el mismo sistema operativo sea capaz de reconocer múltiples sistemas de archivos. A continuación se comentan los sistemas de archivos más comunes. 





FAT (File Allocate Table, tabla de asignación de archivos) 



Este sistema de archivos se basa, como su nombre indica, en una tabla de asignación de archivos o FAT. Esta tabla es el índice del disco. Almacena los grupos utilizados por cada archivo, los grupos libres y los defectuosos. Como consecuencia de la fragmentación de archivos, es corriente que los distintos grupos que contienen un archivo se hallen desperdigados por toda la partición. La FAT es la encargada de seguir el rastro de cada uno de los archivos por la partición. 



Grupo .— Un grupo, cluster o unidad de asignación es la unidad mínima de almacenamiento de un archivo en una partición y está formada por uno o varios sectores contiguos del disco. Esto quiere decir que el espacio real ocupado por un archivo en disco será siempre múltiplo del tamaño del grupo. Además, cada grupo puede almacenar información de un solo archivo. Si no cabe en un solo grupo, se utilizarán varios (no necesariamente contiguos). Para hacernos una idea del nefasto resultado de un tamaño de grupo incorrecto, consideremos dos archivos de 1 byte cada uno. Si el tamaño del grupo es de 32 KB, se utilizarán dos grupos y el espacio real ocupado en disco habrá sido de 64 KB = ¡65.536 bytes! en vez de 2 bytes, como sería de esperar. 

Este sistema posee importantes limitaciones: nombres de archivos cortos; tamaño máximo de particiones de 2 GB; grupos (clusters) demasiados grades, con el consiguiente desaprovechamiento de espacio en disco; elevada fragmentación, que ralentiza el acceso a los archivos. Pero tiene a su favor su sencillez y compatibilidad con la mayoría de sistemas operativos. 



Debido a que la FAT de este sistema de archivos tiene entradas de 16 bits (por eso, a veces se llama FAT16), sólo se pueden utilizar 216 = 65.536 grupos distintos. Esto implica que, con el fin de aprovechar la totalidad del espacio de una partición, los grupos tengan tamaños distintos en función del tamaño de la partición. Por ejemplo, con un grupo de 16 KB se puede almacenar hasta 216 grupos * 16 KB/grupo = 220 KB = 1 GB de información. El límite de la partición (2 GB) se obtiene al considerar un grupo máximo de 32 KB (formado por 64 sectores consecutivos de 512 bytes). 



VFAT (Virtual FAT) 



Este sistema de archivos logra remediar uno de los mayores problemas del sistema FAT: los nombres de archivos y directorios sólo podían contener 8 caracteres de nombre y 3 de extensión. Con VFAT, se logra ampliar este límite a 255 caracteres entre nombre y extensión. 



La mayor ventaja de VFAT es que tiene plena compatibilidad con FAT. Por ejemplo, es factible utilizar la misma partición para dos sistemas operativos que utilicen uno FAT y otro VFAT (MS-DOS y Windows 95). Cuando entremos desde MS-DOS, los nombres largos de archivos se transforman en nombres cortos según unas reglas establecidas, y pueden ser utilizados de la manera habitual. De todas maneras, hay que prestar cierta atención cuando se trabaja desde MS-DOS con archivos que tienen nombres largos: no se deben realizar operaciones de copiado o borrado, ya que se corre el riesgo de perder el nombre largo del archivo y quedarnos sólo con el corto. Desde Windows 95, se trabaja de forma transparente con nombres cortos y largos. 



Tanto las particiones FAT como las VFAT están limitadas a un tamaño máximo de 2 GB. Esta es la razón por la que los discos duros mayores de este tamaño que vayan a trabajar con alguno de los dos sistemas, necesiten ser particionados en varias particiones más pequeñas. El sistema de arhivos FAT32 ha sido diseñado para aumentar este límite a 2 TB (1 terabyte = 1024 GB). 

FAT32 (FAT de 32 bits) 



El sistema FAT32 permite trabajar con particiones mayores de 2 GB. No solamente esto, sino que además el tamaño del grupo (cluster) es mucho menor y no se desperdicia tanto espacio como ocurría en las particiones FAT. La conversión de FAT a FAT32, se puede realizar desde el propio sistema operativo Windows 98, o bien desde utilidades como Partition Magic. Sin embargo, la conversión inversa no es posible desde Windows 98, aunque sí desde Partition Magic. 



Hay que tener en cuenta que ni MS-DOS ni las primeras versiones de Windows 95 pueden acceder a los datos almacenados en una partición FAT32. Esto quiere decir que si tenemos en la misma partición instalados MS-DOS y Windows 98, al realizar la conversión a FAT32 perderemos la posibilidad de arrancar en MS-DOS (opción "Versión anterior de MS-DOS" del menú de arranque de Windows 98). Con una conversión inversa se puede recuperar esta opción. Por estos motivos de incompatibilidades, no es conveniente utilizar este sistema de archivos en particiones que contengan datos que deban ser visibles desde otros sistemas de archivos. En los demás casos, suele ser la opción más recomendable. 



En la siguiente tabla, se comparan los tamaños de grupo utilizados según el tamaño de la partición y el sistema de archivos empleado: 

Reparacion




[b]NTFS (New Technology File System, sistema de archivos de nueva tecnología)[/b] 



Este es el sistema de archivos que permite utilizar todas las características de seguridad y protección de archivos de Windows NT. NTFS sólo es recomendable para particiones superiores a 400 MB, ya que las estructuras del sistema consumen gran cantidad de espacio. NTFS permite definir el tamaño del grupo (cluster), a partir de 512 bytes (tamaño de un sector) de forma independiente al tamaño de la partición. 



Las técnicas utilizadas para evitar la fragmentación y el menor desaprovechamiento del disco, hacen de este sistema de archivos el sistema ideal para las particiones de gran tamaño requeridas en grandes ordenadores y servidores. 





HPFS (High Performance File System, sistema de archivos de alto rendimiento) 



HPFS es el sistema de archivos propio de OS/2. Utiliza una estructura muy eficiente para organizar los datos en las particiones. 



HPFS no utiliza grupos sino directamente sectores del disco (que equivalen a un grupo de 512 bytes). En vez de utilizar una tabla FAT al principio de la partición, emplea unas bandas distribuidas eficazmente por toda la partición. De esta forma se consigue, suprimir el elevado número de movimientos que los cabezales de lectura/escritura tienen que realizar a la tabla de asignación en una partición FAT. El resultado de este sistema es una mayor velocidad de acceso y un menor desaprovechamiento del espacio en disco. 



MS-DOS (y Windows 3.1) reconoce únicamente particiones FAT; Windows 95 admite tanto particiones FAT como VFAT; Windows 98 y Windows 95 OSR2 soportan FAT, VFAT y FAT32; Windows NT 4.0 admite particiones FAT, VFAT y NTFS; el futuro Windows 2000 dará soporte a las particiones FAT, VFAT, FAT32 y NTFS; Linux admite su propio sistema de archivos y, dependiendo de las versiones, la mayoría de los anteriores. 

7. Arranque específico de cada sistema operativo 



MS-DOS, Windows 95 y Windows 98 



Los sistemas operativos MS-DOS y Windows 9x, necesitan arrancar desde una partición primaria ubicada en la primera unidad física de disco duro. Además, la instalación de estos sistemas operativos en particiones que comiencen después de los primeros 528 MB del disco duro, puede impedir que arranquen. Según lo anterior, el lugar para situar la partición se ve reducida a los primeros 528 MB del primer disco duro. Este límite imposibilita entonces la instalación de varios sistemas operativos basados en FAT en particiones mayores de este tamaño. De todas maneras, algunos gestores de arranque (o la propia BIOS del ordenador) son capaces de cambiar la asignación de discos duros de forma que el primero sea el segundo y el segundo, el primero: en este caso particular sí sería posible arrancar una partición FAT desde una segunda unidad física. 



Windows NT 



Windows NT puede arrancar desde cualquier disco duro, ya sea desde una partición primaria o desde una partición lógica. Sin embargo, en el caso de que se instale en una partición lógica o en un disco duro distinto al primero, es necesario que el gestor de arranque de Windows NT se instale en una partición primaria del primer disco duro. Si tenemos ya instalado otro sistema operativo MS-DOS o Windows 9x, Windows NT instalará su gestor de arranque en el sector de arranque de la partición del anterior sistema operativo. Este gestor de arranque permitirá arrancar tanto el anterior sistema operativo como Windows NT (ya esté en una partición lógica o en otro disco duro). 



Linux 



Linux, al igual que Windows NT, puede instalarse en una partición primaria o en una partición lógica, en cualquiera de los discos duros. Si la instalación no se realiza en una partición primaria del primer disco duro, es necesario instalar un gestor de arranque. Linux proporciona un potente (aunque poco intuitivo) gestor de arranque llamado LILO. Las posibilidades de instalación son dos: instalarlo en la partición de Linux o en el sector de arranque del disco duro (Master Boot Record). La primera opción es preferible si Linux se instala en una partición primaria del primer disco duro (debe ser la partición activa) junto a otro sistema operativo. Para el resto de los casos, no queda más remedio que instalarlo en el Master Boot del primer disco duro. Desde aquí es capaz de redirigir el arranque incluso a una partición lógica (que, como sabemos, no se pueden activar) que contenga Linux. Nótese que, en este caso, si borramos la partición de Linux el gestor de arranque 



LILO seguirá apareciendo (ya que está antes de acceder a cualquier partición). La única manera de desinstalarlo si no podemos hacerlo desde el propio Linux, consiste en restaurar el sector de arranque original. Esto se puede lograr desde MS-DOS con la orden indocumentada FDISK /MBR. 



Otra advertencia más: algunas distribuciones de Linux (como Red Hat) no respetan el espacio libre de una partición extendida. Esto significa que hay que tener cuidado de no solapar una partición primaria de Linux con espacio libre de la partición extendida. 



En todos los casos anteriores, cuando se habla de instalar un sistema operativo en una partición primaria se asume que ésta tiene que estar activada a no ser que se utilice un gestor de arranque. En este caso, si el gestor de arranque se instala en una partición, ésta deberá activarse; pero si se instala en el sector de arranque del disco duro, la partición activa será indiferente. 




8. Consejos a la hora de crear particiones 



¿Qué partición elegir? 



La principal decisión que debemos tomar a la hora de crear una partición es elegir entre primaria o lógica. Recordemos que las particiones lógicas deben ser creadas dentro de una partición primaria especial denominada partición extendida. Ya hemos visto que la mejor política que podemos seguir es utilizar, en la medida de lo posible, antes las particiones lógicas que las primarias: podemos crear un número indefinido de particiones lógicas pero sólo cuatro particiones primarias (contando la extendida). 



Las particiones primarias suelen ser el lugar ideal para instalar sistemas operativos, ya que son las únicas que se pueden activar. Los sistemas operativos MS-DOS, Windows 95 y Windows 98 sólo pueden ser instalados en particiones primarias. Y aunque Windows NT, Linux y OS/2 puedan ser instalados en particiones lógicas, puede que ésta no sea siempre la opción más acertada. La razón es que es necesario instalar algún gestor de arranque, ya sea en el sector de arranque del disco duro o en el de alguna partición primaria. Si no deseamos alterar ninguna de las particiones primarias existentes ni el sector de arranque, la única opción es realizar una instalación en una partición primaria del primer disco duro. 



¿Dónde situar la partición? 



Debido a que MS-DOS y Windows 9x presentan problemas al instalarse detrás de los primeros 528 MB del disco duro, es preferible crear sus particiones al principio del disco duro (o lo antes posible, sin superar este límite). Los demás sistemas operativos, en caso de haberlos, se instalarán entonces a continuación. Generalmente suele ser más acertado instalar los sistemas operativos en el primer disco duro. Sin embargo, debido a la flexibilidad de Linux o Windows NT podemos inclinarnos por otras opciones dependiendo de la configuración actual de nuestro equipo. 

¿Cuántas particiones crear? 



Algunos usuarios prefieren separar los sistemas operativos, programas y datos en sus correspondientes particiones. Esto puede aportar una mayor robustez al sistema, ya que la corrupción de los archivos del sistema operativo o los programas no afectan a los datos. Además, si utilizamos particiones separadas para los sistemas operativos y los programas, nos facilita la utilización de los mismos programas desde distintos sistemas operativos. Por ejemplo, una partición lógica FAT para programas permitiría ejecutar los mismos programas desde Windows NT (instalado en una partición NTFS) o desde Windows 98 (instalado en una partición FAT32). Pero esta disposición del disco duro aumenta su complejidad (un mayor número de unidades) y obliga a calcular a priori el tamaño de cada partición. Como ya dijimos anteriormente, las únicas particiones que deben ser primarias son las de los sistemas operativos, el resto serán lógicas. 



Una opción intermedia consiste en separar los archivos del sistema (sistema operativo y programas) de nuestros datos. De esta manera, no se utilizan tantas unidades aunque sí se ofrece una mayor seguridad y organización para nuestros datos. 



¿De qué tamaño? 



Nos quedan por comentar las razones de eficiencia que nos pueden llevar a crear nuevas particiones. Para evitar desperdiciar el menor espacio posible con particiones FAT o VFAT, conviene que tengan un tamaño lo menor posible (recordemos que el tamaño del grupo depende del tamaño de la partición). Sin embargo, el aumento del número de particiones, aunque sea más eficiente, hace más complejo nuestro sistema. Debemos buscar entonces un compromiso entre el número de particiones creadas y el tamaño del grupo (cluster) empleado en cada una de ellas. 



Veamos unos ejemplos (en todos ellos suponemos que deseamos trabajar únicamente en Windows 95 con particiones FAT): si tenemos un disco duro de 2,5 GB y, ya que el máximo de una partición FAT es 2 GB, es más eficiente crear una de 1 GB (grupo de 16 KB) y otra de 1,5 GB (grupo de 32 KB) que dos de 1,25 GB (grupo de 32 KB); si tenemos un disco duro de 3 GB, es igualmente más eficiente una de 1 GB (16 KB) y otra de 2 GB (32 KB) que dos de 1,5 GB (32 KB), aunque en razones de eficiencia sería mucho mejor 3 de 1 GB (16 KB); por último, si tenemos un poco más de 1 GB libre en el disco duro es preferible crear una partición que utilice un grupo de 16 KB, aunque quede espacio sin particionar, que una de 32 KB que ocupe la totalidad del espacio, ya que a la larga el desaprovechamiento sería mayor. 



Problemas con las letras de unidades: orden de las particiones 

Cuando se realizan cambios en las particiones, hay que considerar los posibles efectos que esto puede desencadenar en la asignación de letras de unidades. Los sistemas operativos MS-DOS y Windows 9x utilizan la letra C para la unidad del sistema operativo. Al resto de unidades visibles se les asigna letra en el siguiente orden: particiones primarias detrás de la actual, particiones primarias de los siguientes discos duros, particiones lógicas de la unidad actual, particiones lógicas de los siguientes discos duros, particiones primarias anteriores a la actual y, por último, el resto de unidades físicas (como la unidad lectora de CD-ROM). 



Unidades visibles.— Son las unidades que se pueden ver desde un sistema operativo, es decir, aquellas que utilizan un sistema de archivos reconocido por el sistema operativo. Las particiones con un sistema de archivos incompatible con el sistema operativo no son accesibles (es como si no existiesen). 



La única letra que se puede cambiar manualmente es la del CD-ROM, el resto de letras son asignadas automáticamente sin posibilidad de cambio. En ocasiones es preferible asignar una letra alta (por ejemplo la R) a la unidad de CD-ROM ya que así no se ve afectada por los posibles cambios de configuración en las particiones. 



Para cambiar la letra del CD-ROM en MS-DOS es necesario modificar la línea del AUTOXEC.BAT que contenga la orden MSCDEX y añadir al final el modificador /L:unidad, donde unidad es la letra que deseamos asignar. Si no hay suficientes letras de unidades disponibles (por defecto sólo están permitidas hasta la D), es necesario añadir la siguiente línea al CONFIG.SYS: LASTDRIVE=Z. En este caso, se han definido todas las letras posibles de unidades (hasta la Z). 



En Windows 95 o Windows 98, elegimos Sistema del Panel de Control; seleccionamos la segunda ficha (Administrador de dispositivos); hacemos clic en el signo más a la izquierda de CD-ROM; hacemos doble clic sobre nuestra unidad de CD-ROM; y, finalmente, en el campo Letra de la primera unidad de la ficha Configuración, seleccionamos la letra que deseamos asignar a la unidad de CD-ROM. 

tecnicos




Windows NT, permite la asignación dinámica de letras de unidad mediante el Administrador de discos. En Windows NT, la primera letra de unidad es la primera partición primaria del primer disco duro, por lo que puede ocurrir que la propia partición de Windows NT no sea la C. 



Linux carece de estos problemas ya que no trabaja con letras de unidad sino con discos duros físicos (hda, hdb, hdc y hdd) y particiones según el lugar que ocupan en la tabla de particiones (hda1, hda2, hda3…). 



Para evitar que las mismas particiones tengan asignadas distintas letras conviene colocar primero las particiones reconocidas por más sistemas operativos (FAT) y por último las más específicas (como NTFS o la de Linux). 

9. Trabajar con varios sistemas operativos 



Si instalamos varios sistemas operativos en el mismo ordenador, debemos tener una manera eficiente de arrancar con cada uno de ellos. Una posibilidad poco acertada consiste en activar cada vez la partición que queremos arrancar en la próxima sesión con el ordenador. La otra posibilidad es instalar un gestor de arranque que aparezca antes de cargar algún sistema operativo. 



Los gestores de arranque suelen ofrecer un menú con los distintos sistemas operativos instalados para que el usuario elija uno de ellos cada vez que encienda el ordenador. Es frecuente que tengan alguna opción predeterminada y un contador de tiempo. Si en un tiempo establecido no se elige ninguna opción, se carga automáticamente el sistema operativo predeterminado. 



El gestor de arranque suministrado con Windows NT 4.0 se suele instalar en una partición MS-DOS o Windows 9x, y sólo permite elegir entre esta partición y la de Windows NT. 



LILO, el gestor de arranque de Linux, puede instalarse tanto en el sector de arranque del disco duro como en la partición de Linux. Reconoce la mayoría de los sistemas operativos instalados en el ordenador y puede, incluso, arrancar sistemas operativos MS-DOS o Windows 9x desde un segundo disco duro. El mayor inconveniente es su poco amistoso modo de empleo. Al cargarse aparece un mensaje (LILO Boot) pidiéndonos el nombre del sistema operativo. Es necesario escribirlo y pulsar Enter. La tecla Tabulador permite ver las opciones posibles y Enter activa la opción predeterminada. 



Otros gestores de arranque, como el de IBM (suministrado con Partition Magic 3.0), necesitan una partición primaria del primer disco duro exclusivamente para ellos. Lógicamente, ésta debe ser la partición activa. El gestor de arranque de IBM tiene una interfaz de usuario cómoda, aunque también algunas limitaciones: tiene problemas para arrancar sistemas operativos desde una unidad de disco duro diferente a la primera, ocupa una de las cuatro particiones primarias posibles del primer disco duro, y no es capaz de arrancar una partición primaria FAT32 (Windows 98) si existen en el disco duro otras particiones primarias FAT32 o FAT (como MS-DOS). 



Cuando se trabaja con varios sistemas operativos conviene elegir correctamente los sistemas de archivos de cada partición, con el fin de intercambiar y compartir datos entre los sistemas instalados. 



10. Trabajar con dos o más discos duros 



Cuando se trabaja con varios discos duros sólo el primero de ellos es arrancable. De todas maneras, algunas BIOS permiten intercambiar los discos duros primero y segundo (en estos casos, el segundo se comportaría como si fuera el primero y el primero como el segundo). 



El ordenador arrancará desde la partición activa del primer disco duro y no se tendrá en cuenta cuál es la partición activa en el resto de los discos duros. Estos discos duros normalmente se utilizan para almacenar programas, datos e incluso alguno de los sistemas operativos que lo permiten (como Windows NT, Linux u OS/2). No debemos olvidar los problemas que se pueden producir al incorporar un nuevo disco duro a nuestro ordenador con las letras de unidad. Para evitar el menor número posible de cambios, es preferible utilizar particiones lógicas en el resto de discos duros (ya que se colocan al final de la lista de unidades aunque, eso sí, antes de la correspondiente al CD-ROM) 



11. Instalación de un disco duro 



Actualmente los discos duros, según la conexión que incorporen, pueden ser de dos tecnologías: IDE o SCSI (léase escasi). Lo usual es utilizar discos duros IDE, ya que son soportados por todo tipo de ordenadores, aunque tengan unas prestaciones inferiores a la de sus equivalentes SCSI, más propios de servidores y grandes ordenadores. En este apartado nos centraremos únicamente en la instalación de discos duros IDE. 


Notas sobre el estándar IDE: La especificación IDE (Integrated Drive Electronics) original admitía únicamente 2 discos duros de hasta 500 MB y fue adoptado como estándar por el comité ANSI bajo el nombre de ATA (Advanced Technology Attachement). Una posterior revisión permitió utilizar 4 discos duros de hasta 8,4 GB. Surgió entonces lo que actualmente conocemos como EIDE (Enhanced IDE). El comité ANSI lo adoptó como estándar con el nombre de ATA-2 o Fast ATA. Permite unas tasas de transferencia de 16,6 MB/segundo. En este apartado, cuando hablemos de IDE, nos estamos refiriendo a toda la familia de estándares y no sólo al IDE original. 


UDMA.— UDMA (Ultra DMA), también conocido como Ultra ATA, Ultra EIDE o Ultra/33 es una revisión del estándar EIDE que acelera las tasas de transferencia hasta 33 MB/segundo. Para que pueda utilizarse es necesario que, tanto la controladora de discos duros como el propio disco duro, admitan UDMA. Todas las placas base y discos duros modernos admiten este estándar, el cual es compatible con EIDE.




La instalación de un disco duro, como la de cualquier otro dispositivo de un ordenador, consta de dos fases: instalación física e instalación lógica. 



Instalación física 



Las actuales placas base llevan incorporada una controladora para cuatro discos duros. La conexión de los discos duros a la placa base se realiza mediante dos cables planos iguales: IDE0 (primario) e IDE1 (secundario). Cada uno de estos cables tiene una conexión de 40 pines a la placa base y dos conexiones más de 40 pines para sendos discos duros. De esta manera, el máximo número posible de discos duros IDE en un ordenador es de 4: dos en el IDE0 y otros dos en el IDE1. Y esto es considerando que no se conectan otros dispositivos a los mismos cables, ya que las unidades de CD-ROM, grabadoras, unidades de cinta, unidades ZIP y unidades LS-120, por citar algunos ejemplos, se conectan igualmente a los cables IDE. 



Debido a que lo normal en los ordenadores actuales es que vengan únicamente con un disco duro y una unidad de CD-ROM, no se suele utilizar el IDE1 y, en consecuencia, no se suministra el segundo cable. Por otro lado, algunos ordenadores incorporan cables para un solo dispositivo, que deberemos reemplazar si deseamos conectar dos. Entonces, para conseguir el mayor número posible de dispositivos conectados a la placa base necesitaremos dos cables IDE de dos dispositivos. 



Cuando se conectan dos dispositivos a un mismo cable, uno de ellos se ha de comportar como dueño (master) y el otro como esclavo (slave). El dispositivo dueño se sitúa en el extremo del cable y el esclavo, en la parte central (el cable parte de la placa base). Cuando solamente hay un dispositivo en un cable, éste debe situarse en la parte final, quedando la conexión central libre. 



El dispositivo principal debe situarse en el IDE0 master. Un segundo dispositivo podrá ir, bien en el IDE0 slave o bien, en el IDE1 master. Un tercero igualmente podrá ir en el IDE0 slave o en IDE1 slave, si el IDE1 master ya estaba utilizado. La norma es no utilizar la conexión esclavo antes que la conexión dueño. 



Nota importante: Las conexiones de 40 pines del cable sólo se pueden conectar de una manera. La manera correcta es hacer coincidir el pin 1 de la conexión (serigrafiado en el dispositivo) con el pin 1 del cable (situado en el extremo del cable marcado con una banda roja): Línea roja al pin 1. Esta norma hay que tenerla en cuenta tanto en la conexión a la placa base como en cada una de las conexiones con los dispositivos (en general, es válida para cualquier conexión de un cable plano). Si no se tiene en cuenta, puede que el ordenador ni siquiera arranque. Por otro lado, se puede conectar cualquiera de los dos extremos del cable a la placa base, es decir, no hay uno prefijado; sin embargo, es usual conectar a la placa base el que esté más alejado del central. 



Antes de realizar la conexión física del disco duro al conector adecuado, es necesario configurarlo como dueño o esclavo. Con este fin, y muy próximo al conector macho de 40 pines, se encuentran unos puentes de configuración (jumpers). Debemos seguir las indicaciones del fabricante para colocar los puentes de manera correcta; teniendo en cuenta que si sólo hay un disco duro o si va al extremo del cable, hay que configurarlo como dueño (master) y si va a la parte central del cable, como esclavo (slave). La configuración por defecto (de fábrica) para los discos duros es de dueño y para las unidades de CD-ROM, de esclavo. 



Nota: Normalmente estos son todos los puentes que lleva un dispositivo IDE; sin embargo, hemos comprobado que algunas unidades de CD-ROM incorporan otro puente para activar el UDMA. Estando este puente cerrado (recomendado para Windows 98) acelera la velocidad de transferencia de la unidad, pero puede ocasionar problemas con algunos sistemas operativos. La opción por defecto es el puente abierto (UDMA desactivado).




Además, es necesario que el disco duro reciba corriente de la fuente de alimentación. Para ello la fuente de alimentación del ordenador debe disponer de algún cable libre que se conectará al disco duro. 



Una vez que hemos configurado los puentes de los discos duros y hemos realizado correctamente las conexiones de los cables IDE y de alimentación, sólo nos resta atornillar la unidad a la caja (chasis) del ordenador. Ni que decir tiene que debemos utilizar los tornillos adecuados para no perforar la unidad y dañarla. La mayoría de discos duros necesitan una bahía libre de 3 pulgadas y media. Si no quedasen bahías libres de este tipo pero sí de 5 pulgadas y cuarto, será necesario utilizar un adaptador. Con este paso, finalizamos la instalación física. De todas maneras, la experiencia recomienda no cerrar todavía el ordenador hasta que hayamos comprobado que realmente funciona. 



Instalación lógica 



Llegados a este punto, ya podemos encender el ordenador. Si no arrancase (pantalla negra), deberemos revisar las conexiones y puentes del apartado anterior. 



Aunque algunas BIOS presentan detección automática de discos duros al arrancar, vamos a proceder a la instalación de los discos duros mediante el programa de configuración (Setup) del ordenador. Este paso es necesario para que la BIOS del ordenador reconozca los discos duros que tiene instalados. Entramos en el Setup de la manera indicada en el manual del ordenador (normalmente pulsando la tecla Suprimir al chequear la memoria, después de encender el ordenador). En el menú del Setup, buscamos una opción para autodetectar discos duros. Si no existiese, deberemos inscribir los discos duros en la BIOS de forma manual, según los datos proporcionados por el fabricante: cilindros, cabezas y sectores. Para cada disco duro tenemos que elegir el modo en el cual va a trabajar (normal, LBA, large...). La opción recomendada para discos duros menores de 528 MB es normal y para el resto, LBA. Sin embargo, discutiremos sobre este punto más adelante. Una vez comprobados los valores, salimos del Setup guardando los cambios. Si se presentase algún error o no se reconociese algún disco duro, deberemos repasar tanto las conexiones y puentes del apartado anterior como la configuración de la BIOS. 



La instalación lógica como tal del disco duro en el ordenador ha terminado. El siguiente paso consiste en particionar el disco duro y configurar cada una de las particiones para un sistema de archivos concreto. 



Particionar el disco duro 



Los programas habituales para particionar un disco duro son FDISK (proporcionado con MS-DOS y los sistemas operativos Windows) y Partition Magic (programa comercial válido para MS-DOS, Windows y OS/2). 



Las distintas versiones de FDISK se pueden clasificar básicamente en dos: las que trabajan únicamente con FAT (FDISK de MS-DOS y Windows 95) y las que también soportan FAT32 (FDISK de Windows 95 OSR2 y Windows 98). En este último caso, FDISK preguntará al arrancar si se desea habilitar el soporte para unidades de gran capacidad. Si respondemos que sí a esta pregunta, las particiones que se creen serán FAT32; en caso contrario, serán FAT. Es decir, una partición es FAT32 o FAT no según la herramienta que se utilice para formatear la unidad, sino según el método utilizado al particionar. 



FDISK presenta importantes limitaciones: no se puede crear una partición extendida sino existe ya una partición primaria FAT o FAT32 en la unidad; no se pueden variar las particiones creadas sino es borrándolas y creándolas de nuevo; y sólo permite trabajar con particiones FAT o FAT32. 



Advertencia: El borrado de una partición implica la pérdida de todos sus datos.




Partition Magic presenta muchas más ventajas y opciones avanzadas que FDISK. Permite algo totalmente impensable hasta hace poco tiempo: variar el tamaño de una partición y su localización sin perder su contenido. Además es compatible con un buen número de sistemas de archivos, incluidos NTFS, HPFS y el de Linux. Entre las opciones avanzadas destaca la variación del tamaño del grupo (cluster) de una partición sin afectar a su contenido. Por estas razones, Partition Magic es la herramienta ideal para la gestión de particiones. 

particiones




Ambas herramientas permiten la activación de la partición primaria que se desee arrancar. 



Para que sea posible acceder a estas utilidades debemos disponer de un disco duro arrancable o un disquete con sistema. Si el primer disco duro no tiene sistema, no queda más remedio que arrancar desde un disquete (o un CD-ROM, si fuera posible). En este caso, es necesario que la secuencia de arranque del ordenador sea A:, C:. 



Consejo: Cuando realice cambios a las particiones de su disco duro es más que recomendable disponer de un disquete con sistema, ya que será la única forma de acceder al ordenador si su disco duro perdiese el arranque. Desde MS-DOS se puede crear con las órdenes SYS A: o FORMAT A: /S. 



Formatear cada partición 



Una vez creadas las particiones, es necesario dar formato a cada una de ellas. Si se trata de una partición que va a contener un sistema operativo, el propio programa de instalación nos guiará por este proceso (Partition Magic es capaz de formatear las particiones a la vez que las crea). Pero si la partición va a ser para programas o datos de un sistema operativo, esta operación será necesario realizarla desde las herramientas proporcionadas por el sistema operativo instalado. En el caso de MS-DOS es FORMAT unidad:, donde unidad es la letra de la unidad que se desea formatear. 



Advertencia: El formateo de una partición lleva consigo la destrucción de todos sus datos.






Activar la partición de arranque 



Después de crear y formatear todas las particiones, es necesario activar (si no lo estaba ya) aquella partición del primer disco duro que queremos que arranque al encender el ordenador. 



12. Limitaciones de capacidad. Modos normal (CHS) y LBA 



Cuando se diseñó el primer disco duro de 10 MB, nadie que no fuera tomado por loco podía predecir las enormes capacidades de los discos duros actuales. Debido a este vertiginoso aumento de capacidades, se han ido llegando a ciertos límites de capacidades impuestos por el diseño de la BIOS del ordenador o de los propios sistemas operativos. Esto trae como consecuencia que nuestro ordenador no reconozca un disco duro moderno de gran capacidad o que sólo reconozca una parte. Los casos siguientes dependiendo del elemento que origina el problema, se solucionan bien actualizando la BIOS del ordenador o bien, actualizando el sistema operativo utilizado. 



Límite de 528 MB 



Las BIOS antiguas (anteriores a 1994 aproximadamente) no soportan discos duros superiores a esta capacidad. Estos discos duros se caracterizan por tener más de 1024 cilindros. La solución consiste en actualizar la BIOS o en utilizar un programa residente en el sector de arranque del disco duro (como el Disk Manager de Seagate o el Ontrack Disk Manager de Quantum) que filtre los accesos a los discos. Estos métodos realizan una conversión de los valores reales de cilindros, cabezas y sectores del disco duro (CHS) a unos valores virtuales que no superen el límite de los 1024 cilindros (LBA). 



Por ejemplo, el disco duro de Seagate con valores reales de 6253 cilindros, 16 cabezas y 63 sectores se convierte a unos valores virtuales de 781 cilindros, 128 cabezas y 63 sectores. Como podemos observar, el valor de 128 cabezas (64 platos) no es una cifra real, pero permite la disminución del número de cilindros de forma que no supere el límite de 1024 y sigan siendo direccionables los mismos sectores (igual capacidad). Mediante esta conversión, los sistemas operativos DOS y Windows pueden acceder al espacio por encima de los 528 MB. Estos parámetros virtuales, proporcionados por el fabricante, son conocidos por el nombre de LBA (Logical Block Addressing, direccionamiento lógico de bloques). Para discos duros que superen este límite, es la opción recomendada. 



Advertencia: Una vez que existen datos en el disco duro, no se debe cambiar el modo del disco duro ya que los sectores se direccionan de otra manera y esto puede desencadenar pérdida de datos.




Límite de 2 GB 



Las BIOS de algunos ordenadores no soportan discos duros de más de 4092 cilindros (aproximadamente 2 GB). En estos casos, es necesario actualizar la BIOS a una que reconozca discos de más capacidad. 



Este límite coincide también con el tamaño máximo de las particiones FAT (no del disco). Viene impuesto por la utilización de una FAT de 16 bits, que sólo es capaz de direccionar 216 grupos = 65.536. Como el tamaño máximo del grupo es de 32 KB, la capacidad resultante es 65.536 grupos * 32 KB/grupo = 2.097.152 KB = 2 GB. 



Límite de 8,4 GB 



Igualmente al caso anterior, este límite lo tienen algunas BIOS y algunos sistemas operativos como DOS y Windows 95. Para superar este límite es necesario una BIOS actualizada y un sistema operativo que lo permita (como Windows 95 OSR2 ó Windows 98, que están basados en FAT32). También es posible utilizar un controlador de discos duros residente en memoria, como alternativa a BIOS no actualizadas. 



Límite de 2 TB 



Este es el límite de las particiones FAT32, todavía lejos de las capacidades de los discos duros actuales. 


Martes 09 de febrero de 2016

Silvio Perez: Centos/RHEL – Install/export X11 server

Sábado 06 de febrero de 2016

Luis A. Martínez F.

Luis A. Martínez F.
Hunting Bears

Rescatando la memoria técnica del proyecto Canaima GNU/Linux

6ta Cayapa Canaima. Imagen de David Hernández (by-nc-sa).

Una actividad creativa tiene muchos matices y particularidades. Podemos estar de acuerdo en que nada está realmente hecho desde cero, puesto que siempre existe un antecedente del cual hemos tomado prestado inspiración. Específicamente en el desarrollo de Software Libre, esta es una actividad recurrente e incluso alentada como buena práctica. Y es que, todo el movimiento del conocimiento libre tiene como premisa la mejora progresiva de la forma en que la sociedad satisface sus necesidades, tomando como referencia los avances que otros han hecho y publicado.

El Proyecto Canaima, por su parte, cumple 9 años desde la publicación de la versión 1.0. Desde ese entonces, año tras año, incontables personas han ayudado con su trabajo de diversa índole a la mejora progresiva de los procesos técnicos y no técnicos de la distribución.

Realmente son incontables. A pesar de no poseer la mano de obra de otras distribuciones, Canaima es utilizada en un número significativo de instituciones de la administración pública, sirve como sistema operativo para las más de 4 millones de canaimitas distribuídas a nivel nacional y ha entrado varias veces dentro de las 100 distribuciones más populares, según distrowatch.

Como trabajador del CNTI, fuí testigo directo de la evolución de la distribución, y de como con cada Cayapa (reuniones técnicas o bug squash parties), la calidad del código, conceptos y estructura de la distribución maduraban.

Borrón y cuenta nueva

En la última minicayapa celebrada en la Escuela Venezolana de Planificación en la ciudad de Caracas, los actores presentes tomaron la decisión de rehacer la distribución desde cero, bajo la justificación de que lo existente era tan desastroso que no servía.

Con un quórum cuestionable y una premura impresa por la institucionalidad, nacieron nuevos paquetes y nuevos procesos. Pero con ellos también volvieron los errores superados, las malas estructuras de diseño corregidas, los errores conceptuales que ya habían quedado atrás, sin mencionar los acuerdos alcanzados que fueron fácilmente rotos sin mayor explicación.

No es justificable de ninguna forma este accionar. Incluso, no estaría de acuerdo si se hubiese hecho borrón y cuenta nueva para sustituirlo por algo mejor. La memoria técnica de un proyecto no debe perderse.

Rescatando lo perdido

Es así como he decidido continuar con la línea de investigación que el Proyecto Canaima (directa o indirectamente) echó a un lado. La nueva distribución tomará el nombre de Tribus GNU/Linux, el mismo nombre de su plataforma (Tribus). Preliminarmente estaré haciendo una imagen ISO con los mismos paquetes originales de Canaima (con los nombres cambiados), basada en Debian Sid y comenzando su versionamiento en 0.1, pero luego me dedicaré enteramente a terminar la plataforma de Tribus para poder establecer los criterios de participación comunitaria, modelos de gobernanza y automatización de procesos.

Por ahora, mientras la plataforma de Tribus se completa, las plataformas asistentes serán las siguientes:

Si alguno desea sumarse a esta iniciativa, es bienvenido en las listas de correo. Esta nueva distribución está dirigida al usuario común y tiene como propósito fundamental mejorar la experiencia en el área de escritorio.

Miércoles 03 de febrero de 2016

Héctor Colina

Nuevo portal de Canaima

Hoy el proyecto Canaima institucional amaneció con nuevo portal Web, acá algunos detalles que observé de pasada

¿Qué me gustó?

* Es ligero (en mi paupérrima conexión cargó rápido)
* Interfaz moderna, no lo probé en otros dispositivos aunque por el
código debería ser responsive
* Combinación agradable de colores
*Declara los contenidos con Creative Commons Reconocimiento – No
Comercial – Compartir Igual 3.0 Venezuela

¿Qué no me gustó?
* Le quitan el crédito a la comunidad de joomla ya que estando basado en ese CMS no se ve por ningún lado que diga que lo usan, sólo revisando el código podemos verificarlo.
* TIene errores ortográficos, incluso en el código (<meta name=”keywords” content=”CNTI,cnti,Cnti,Canaima,CANAIMA,canaima,
Canaima 5.0, canaima 5.0, CANAIMA 5.0, Canaima Linux, canaima linux,
CANAIMA LINUX, Canaima GNU/Linux, canaima gnu/linux, CANAIMA
GNU/LINUX, Canaima Educativo, canaima educativo, CANIAMA EDUCATIVO…)
* Hay errores conceptuales: por ejemplo, confunden la definición de sabor de canaima educativo con el proyecto de hardware homónimo [1], o confundir el concepto de cayapa [2] con el funcionamiento de la comunidad canaima [3] lo cual si alguien que no conoce canaima lee
dirá que la comunidad canaima es una cayapa (:-)
* Mejor aprovechamiento de enlaces : Por ejemplo en
http://canaima.softwarelibre.gob.ve/canaima/soporte envían a
http://trac.canaima.softwarelibre.gob.ve/ cuando debería ser
http://trac.canaima.softwarelibre.gob.ve/canaima
* Alcances del proyecto no correctos: en [4] confunden nacional al
decir que “dado que nuestros dos principales productos están dirigidos
a usuarios en todo el país, el sector educativo y el sector APN”
dejando por fuera otros importantes sectores que también conforman lo
nacional.
* En beneficios se dejan de lado componentes estratégicos tales como
que canaima es una “excusa” par construir una soberania, un país
potencia, independencia tecnológica, apalancamiento de sectores
socio-productivos, etc.

Quizás existan otras observaciones que se me escapan en este momento,
pero creo que lo importante es el punto de que, quizás, la estrategia
de sacarlo al público para su validación es interesante siempre y
cuando se tenga claro el transfondo conceptual ya que esa es la primer
imagen que nos llevamos, lo demás es adorno…

Y así deben haber muchos detalles más.

MI humilde recomendación es que revisen bien este tipo de iniciativas
antes de salir a producción, pero que sean revisadas por un equipo
multidisciplinario para que la construcción pueda ser integral y no desde una única  perspectiva.
[1] http://canaima.softwarelibre.gob.ve/canaima/sabores-canaima
[2] http://cayapa.canaima.net.ve/wiki/doku.php
[3] http://canaima.softwarelibre.gob.ve/comunidad/como-funciona-la-comunidad-canaima
[4] http://canaima.softwarelibre.gob.ve/canaima/alcance

Martes 19 de enero de 2016

Carlos Colmenarez

Carlos Colmenarez
LINUX – El Blog de Zero

BlackBerry abandonará definitivamente su sistema operativo en favor de Android

BlackBerry 10 ha muerto. Así lo ha anunciado John Chen, el director ejecutivo de la compañía canadiense que apostará por Android en 2016 con uno o dos terminales nuevos este año. El anuncio llega mientras explicaba como el BlackBerry Priv llegaría a más operadores estadounidenses, pero sin añadir fechas para Europa todavía, pero que llegará a 31 países más a lo largo de los próximos trimestres.

BlackBerry es una compañía peculiar, y al depender mucho de las ventas corporativas no necesita tener una amplia gama o tener nuevos dispositivos cada trimestre en el mercado. Pero sí necesita una buena ejecución en cada uno. John Chen piensa que es así. En los resultados financieros presentados a finales de diciembre así lo afirmaba.

Blackberry tiene una base sólida financieramente, y estamos ejecutando bien sobre ella. Para sostener nuestra dirección actual estamos aumentando las inversiones para añadir crecimiento continuado en software

Esta estrategia de apostar por el software y los servicios, manteniendo productos con un sistema operativo que las empresas estén dispuestas a implementar, así como usuarios avanzados. El salto a Android despeja las dudas que los inversores pueden tener, y permite liberar a ingenieros de software atados en BB10 para el desarrollo y personalización de Android, así como los servicios.

blackberry resultados

El hardware de BlackBerry ya solo constituye el 40% de sus mermados ingresos. En plena cima, cuando los ingresos de BlackBerry se contaban en las decena de miles de millones y no en las centenas de millones, el hardware suponía más del 80% de sus ingresos. No es secreto que el futuro de BlackBerry pasa por los servicios y el software que puedan ofrecer a las empresas. Pero no está claro cómo de potente sea la diferenciación que puedan ofrecer para seguir siendo relevantes.


Domingo 17 de enero de 2016

Héctor Colina

Lighttpd y mod_rewrite

WordPress implementa una interesante función que se llama enlaces permanentes. Sin embargo, esta funcionalidad se apoya directamente en el mod_rewrite de apache2.

Ahora bien, algunos de nosotros tratamos en lo posible no usar apache por razones de uso de recursos (en especial en hosting donde la memoria va casi justa) y en su lugar nos decantamos por lighttpd, por ejemplo, lo cual hace que tengamos que trabajar un poco más a la hora de implementar o desplegar funcionalidades como la anteriormente descrita.

Así, al momento de migrar los blogs que estaban funcionando sobre apache y wordpress hacia lighttpd y wordpress, aparecía el detalle de que el panel de administración de wordpress no mostraba en las opciones de enlaces permanentes que  las direcciones fuesen del tipo URL+titulo_entrada sino que eran URL+index.php/+titulo_entrada

Para solventar este detalle se realizaron los siguientes pasos:

a) Se habilito el módulo de mod_rewrite

b) Se creó un nuevo bloque de configuración con una sintaxis como esta:

$HTTP["host"] =~ "(www.)?misitio.com" {
         url.rewrite = (
                         "^/(.*)\.(.+)$" => "$0",
                         "^/(.+)/?$" => "/index.php/$1"
                        )
}

Luego de reiniciar el servicio, entonces, se nos muestra una nueva opción en el panel de enlaces permanentes que se llama “enlaces personalizados”

Espero les sea útil la entrada.

 

Sábado 09 de enero de 2016

Héctor Colina

¡Hola mundo!

Bienvenido a WordPress. Esta es tu primera entrada. Edítala o bórrala, ¡y comienza a escribir!

Sábado 26 de diciembre de 2015

Ernesto Crespo

Ernesto Crespo
Blog de Seraph1

Instalar Docker en Debian Jessie


Hace un tiempo me toco dictar un curso de empaquetado para Debian y un compañero preparo una máquina virtual de Virtualbox con vagrant (un tutorial lo pueden revisar en el siguiente enlace).

Hubo un momento que dañamos algunos paquetes y recuperamos la imagen de forma rápida para continuar con el curso.

En mi caso como mi máquina personal no tengo como manejar varias máquinas virtuales con virtualbox preferí irme hacía la tecnología de contenedores con Docker. Pueden revisar wikipedia para saber más de docker.

La guía de instalación para Debian Jessie en inglés lo pueden encontrar en el siguiente enlace; y la guía de usuario en el siguiente enlace. El repositorio donde se alojan imágenes lo pueden revisar en este enlace.

0. Instalar soporte de https para los repositorios:
#apt-get install apt-transport-https

1. Borrar paquetes viejos o de lxc:
#apt-get purge lxc-docker 
#apt-get purge docker.io

2. Agregar la llave gpg de docker.io:
#apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys  58118E89F3A912897C070ADBF76221572C52609D 

3. Agregar el repositorio al sources.list.d:
vim /etc/apt/sources.list.d/docker.list

deb https://apt.dockerproject.org/repo debian-jessie main


4. Actualizar la lista de repositorios: 
#apt-get update

5. Verificar que se baja el paquete del repositorio correcto: 
#apt-cache policy docker-engine

6. Instalar docker:
#apt-get install docker-engine

7. Iniciar el demonio docker:
#service docker start

8. Verificar que se instaló correctamente:
# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b901d36b6f2f: Pull complete 
0a6ba66e537a: Pull complete 
Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
Status: Downloaded newer image for hello-world:latest

Hello from Docker.
This message shows that your installation appears to be working correctly.

9. Dar acceso de docker a usuarios no root:

9.1 Agregar el grupo docker si no existe:
$sudo groupadd docker

9.2 Agregar al usuario al grupo docker:
$ sudo gpasswd -a ${USER} docker

9.3 Reiniciar el demonio docker:
$sudo service docker restart

En siguientes artículos se mostrará el uso de docker, como crear imágenes y por último se creará un entorno para empaquetar para Debian.
Dejaré por acá las referencias para usarlas en un futuro:
Referencias:
10. Algunos artículos del blog de Javier Garzas: 


Viernes 25 de diciembre de 2015

Ernesto Crespo

Ernesto Crespo
Blog de Seraph1

Volviendo a lo básico, POO en Python (parte 2)

Continuando con la serie de artículos sobre programación orientada objetos con python, les dejo el enlace del primer artículo.


El siguiente artículo se basa en un artículo de un blog publicado en www.toptal.com.

En el artículo anterior se muestra las variables id_ciudad y cont_ciudad como atributos de la clase. Se mostrará con el siguiente ejemplo que no siempre es bueno usar atributos de una clase, que se rompe la norma de encapsulación de la POO. 



#!/usr/bin/env python3


# -- coding: utf-8 --








class Servicio(object):


dato = []





def init(self,otro_dato):


self.otro_dato = otro_dato





if name == "main":


s1 = Servicio(["a","b"])


s2 = Servicio(["c","d"])


s1.dato.append(1)


print "dato de S1: ",s1.dato


print "dato de S2: ",s2.dato


s2.dato.append(2)


print "dato de s1: ",s1.dato


print "dato de s2: ",s2.dato


print "otro dato de s1: ", s1.otro_dato


print "otro dato de s2: ", s2.otro_dato




Al ejecutar el código se tiene:


dato de S1:  [1]


dato de S2:  [1]


dato de s1:  [1, 2]


dato de s2:  [1, 2]


otro dato de s1:  ['a', 'b']


otro dato de s2:  ['c', 'd']



El las 4 primeras líneas de la ejecución muestrán que la instancia s1 y la instancia s2 practicamente tienen el mismo valor a pesar de que se agrega el dato en s1 y se refleja en s2, luego se agrega el dato en s2 y se refleja en s1.

En el artículo en inglés mencionan que la solución sería no tener una lista vacía como instancia de la clase si no colocar None. 

A continuación el código:


#!/usr/bin/env python3


# -- coding: utf-8 --








class Servicio(object):


dato = None





def init(self,otro_dato):


self.otro_dato = otro_dato





if name == "main":


s1 = Servicio(["a","b"])


s2 = Servicio(["c","d"])


s1.dato = 1


print "dato de S1: ",s1.dato


print "dato de S2: ",s2.dato


s2.dato = 2


print "dato de s1: ",s1.dato


print "dato de s2: ",s2.dato




El resultado de la ejecución es el siguiente: 


dato de S1:  1


dato de S2:  None


dato de s1:  1


dato de s2:  2



Como se ve ya no muestra valores iguales entre las dos instancias de la clase.

Ahora muestro el código sin la instancia de la clase, creando dato como una variable privada y unos métodos que acceden a dato:



#!/usr/bin/env python3


# -- coding: utf-8 --








class Servicio(object):








def init(self,otro_dato):


self.dato = []


self.otro_dato = otro_dato





def mostrar_dato(self):


return self.__dato





def agregar_dato(self,dato):


self.__dato.append(dato)





def inicializar_dato(self,):


self.__dato = []





if __name == "main":


s1 = Servicio(["a","b"])


s2 = Servicio(["c","d"])


try:


s1.dato.append(1)


except AttributeError:


print "No se pudo agregar a dato de s1"


finally:


print s1.mostrar_dato()


print s2.mostrar_dato()


s1.agregar_dato(1)


s1.agregar_dato(3)


s2.agregar_dato(2)


s2.agregar_dato(4)


print s1.mostrar_dato()


print s2.mostrar_dato()






Al ejecutar el script se tiene lo siguiente:


No se pudo agregar a dato de s1


[]


[]


[1, 3]


[2, 4]




No es un error crear atributos de una instancia lo que se tiene que saber es exactamente que lo que se necesita en la clase para evitar estos errores, y lo mejor es seguir el paradigma de programación orientada a objetos.

Viernes 18 de diciembre de 2015

Ernesto Crespo

Ernesto Crespo
Blog de Seraph1

Volviendo a lo básico, POO en Python (parte 1)

Luego de un tiempo escribiendo artículos de temas muy diversos sobre python, ahora iniciaré una serie sobre programación orientada a objetos desde lo básico hasta las nuevas características incorporadas en el lenguaje.

Esto me ayudará también a mí a corregir unas práctias en cuanto a la programación orientada a objetos y aprender nuevas prácticas.

Actualmente estoy usando una herramienta de una página web que permite evaluar la calidad de un código, este sitio se llama www.quantifiedcode.com.

Me he encontrado con errores en un desarrollo que por eso inicio esta serie de artículos.

En la siguiente figura verán como muestra los errores la herramienta:


Lo bueno es que al hacer un commit a github automáticamente quantifiedcode envía un correo con las incidencias.


Bueno, ahora toca ir al artículo en sí.

Se tiene una clase ciudad con varios métodos.

A continuación se muestra el código:

#!/usr/bin/env python3



from math import *



#Se crea la clase ciudad que hereda de object.

#Esto se declara asi actualmente por convencion.

class Ciudad(object):

#Datos

cont_ciudad = 0 

id_ciudad = 0





def init(self,nombre='',x=0,y=0):

"""Constructor que recibe el nombre de la ciudad,x y y"""

self.nombre = nombre 

self.x = x 

self.y = y

Ciudad.cont_ciudad += 1

self.id_ciudad = Ciudad.cont_ciudad



def str(self):

"""Metodo que retorna un string con la info de la ciudad"""

return 'Ciudad: ' + self.nombre + ',id= ' + str(self.id_ciudad) + ',x= %s,y=%s' %(self.x,self.y)

    

def set( self, nombre):

"""Metodo que asigna un valor"""

self.nombre= nombre



def get( self):

"""Metodo que obtiene un valor"""

return  self.nombre



def mover_a(self,x=0,y=0):

"""Metodo que cambia de valor a x y y"""

self.x += x

self.y += y



def distancia(self, otra_ciudad):

"""Metodo que calcula la distancia con respecto a otra ciudad"""

xi = pow(otra_ciudad.x-self.x,2)

yi = pow(otra_ciudad.y-self.y,2)

return sqrt(xi+ yi)



def del(self):

"""Elimina la clase"""

#obtener el nombre de una clase

class_name = self.class.name

print('class ', class_name, 'destroyed')





#Inicializando un metodo estatico

#Es el caso que no se referencia al objeto en si mismo con

#self

@staticmethod

def info():

"""Metodo que devuelve el nombre del desarrollador"""

return  "Desarrollado por Seraph"







if name == "main":

a = Ciudad('Valencia',5,5)

b = Ciudad('Maracay',5,15)

print(a)

print(b)

print(Ciudad.cont_ciudad)

a.mover_a(4,3)

b.mover_a(7,12)

print(a.info())

print(a)

print(b)




El método info maneja un decorador llamado staticmethod que lo define como un método estático, ya que no se le pasa self para trabajar con métodos o variables del mismo objeto.

El resultado de ejecutar el script es el siguiente:

Ciudad: Valencia,id= 1,x= 5,y=5
Ciudad: Maracay,id= 2,x= 5,y=15
2
Desarrollado por Seraph
Ciudad: Valencia,id= 1,x= 9,y=8
Ciudad: Maracay,id= 2,x= 12,y=27
('class\t', 'Ciudad', 'destroyed')
('class\t', 'Ciudad', 'destroyed')



Miércoles 09 de diciembre de 2015

Extensiones útiles en Chrome

Esta vez quiero darte pequeños tips de algunas extensiones, para que tu navegador google chrome pueda lucir aun mas amigable Read Later Fast: Te permite almacenar paginas en esta aplicación que podrás consultar/leer luego. URL shortener:  Puedes cortar la URL del sitio que estás viendo, lo genial es que puedes configurar los atajos del teclado, […]

Lunes 02 de noviembre de 2015

Como instalar xanadu

Video de como Instalar Xanadu GNU/Linux 0.8.0 utilizando el instalador automatizado…

XANADU Linux

Y ya que hablamos de xanadu les comento que ya esta distro esta en su versión 0.8

Después de varios meses de desarrollo la versión 0.8.0 de Xanadu GNU/Linux ya esta entre nosotros.

Asi se ve actualmente Xanadu

xanadu linux desktop

Pasen por su blog y bajen esta distro que esta muy buena!!

https://xanadulinux.wordpress.com

Martes 13 de octubre de 2015

¿Que es QRDA? #QRDA @QRDAve

QRDA nace bajo la idea de proveer soluciones tecnológicas a distintas organizaciones sin fines de lucro, a través del apoyo de twitter.com/delbosquetech y con el respaldo de la Comunidad del Software Libre en Venezuela.

Esta idea la propone Luis Ortiz, gran amigo y compañero de trabajo. Se desarrolla en una reunión social (agua, cerveza, jugos, refresco, pizza) por lo que es considerado un evento entre panas que buscamos un mismo fin: dar apoyo con nuestro conocimiento tecnológico para desarrollar proyectos determinados.

Luis en la Charla de Inicio de QRDA

Luego de establecer las bases que sustentarían este proyecto, se fueron creando diferentes tickets en github que permitieran establecer un orden a las actividades que se van desarrollando, para luego crear las diferentes listas de correo y comenzar a trabajar.

Al final de la actividad pudimos compartir con personas que se acercaron de diferentes parte de Venezuela y que integran la Comunidad del Software Libre, gente con la cual me identifico y que se ha ganado mi respeto.

La lista de agradecimiento es extensa, son muchos los involucrados en este maravilloso proyecto que, aún y cuando está comenzando, podría asegurar que ayudará a muchas personas y tendrá un crecimiento positivo. Muchas gracias a todos.

Les dejo las redes sociales de QRDA para que también puedan seguir este proyecto y, si lo desean, puedan unirse a nosotros:

https://twitter.com/QRDAve/
https://instagram.com/qrda.ve
https://www.facebook.com/QRDA.com.ve
http://qrda.com.ve

Nuevamente Gracias por venir.

Viernes 25 de septiembre de 2015

Listado de directorios en github pages

Recientemente decidí migrar mi sitio web a github pages. El proceso es muy sencillo y perfectamente descrito en https://pages.github.com/. Los dos únicos bemoles de este servicio son:

Lunes 14 de septiembre de 2015

La accesibilidad web para personas con discapacidad visual

“La Accesibilidad” hoy en día es una de las palabras más utilizadas cuando nos referimos a las persona con alguna discapacidad, más específicamente la discapacidad visual. Ésta no solamente abarca los aspectos de software y hardware, sino que además se centra en la vida misma de estas personas, cómo puede hacerse más fácil la tarea de convivir con personas que no tienen este tipo de desventaja; debido a esto, las instituciones del Estado se han interesado y comprometido a realizar medios más accesibles para ellos, así por ejemplo tenemos los pasos peatonales, incluso hoy en día hablamos de la creación de páginas web o sistemas de información accesibles. Es importante resaltar que se debe hacer un buen uso de la tecnología para poder romper las barreras que se presentan.
La construcción de estos sistemas o páginas web son de gran ayuda para las personas que viven con esta discapacidad debido a que han sido de alguna forma discriminados, sin dejar a un lado que este grupo está ya formado por más de 30 mil personas en nuestro país, esto de acuerdo a las cifras arrojadas en el censo realizado por CONAPDIS (Consejo Nacional para las Personas con Discapacidad). Es por ello que en estos momentos se debe luchar por incluir a todas estas personas en las actividades cotidianas del hombre, más específicamente en el mundo de las tecnologías, permitiéndoles conocer, por medio de páginas web por ejemplo, todo el contenido que puede ser de su interés y así pueda salir adelante de una mejor manera. El objetivo principal es que estos sistemas estén disponibles para todas estas personas y que sean incluidas en el aparato productivo de nuestro país, además de que la misión es producir, transformar e implantar bienes y servicios lo suficientemente accesibles para ellos.
La tiflotecnología ha logrado grandes avances; a nivel mundial existen organizaciones dentro de las cuales podemos mencionar a La Once (Organización Nacional de Ciegos Españoles), la cual ha sido pionera en el uso de herramientas o dispositivos que ayudan a las personas con esta discapacidad, a ser independientes. También existen escuelas destinadas a la enseñanza completa de estas personas, como son la Lighthouse International en Estados Unidos, encargada de enseñar de manera completa con la finalidad de lograr el desenvolmiento de estos; les proporcionan ayuda en cuanto a la orientación, el uso del computador, el uso del bastón, además de otras actividades, todo con la finalidad de que cada uno de ellos no pase a ser una carga para sus familias, sino que sean personas independientes y capaces de desenvolverse tanto tecnológicamente como en las relaciones de su vida diaria.
La metodología aplicada en esta investigación es documental, ya que trata de ver lo que existe hoy en día, cómo se puede mejorar y cómo se pueden crear herramientas que verdaderamente sean útiles para el trabajo diario, ya que no tendría ningún sentido desarrollar aplicaciones sin tomar en cuenta a los usuarios interesados acerca de cómo se les puede ayudar.
Palabras Claves: Hardware, Software, Software Libre, Tiflotecnología, Discapacidad, Discapacidad Visual.

Este es uno de los tantos articulo arbitrado realizado en el proceso de postgrado, luego explicare las fases y las herramientas a usar.

Domingo 13 de septiembre de 2015

Richzendy Contreras

Richzendy Contreras
Gnu y Linux – Richzendy.org

Taller de empaquetamiento RPM en Fudcon Cordoba 2015

Sábado 12 de septiembre de 2015

Instalar Samba en Debian

Primero que nada hacemos la instalación del paquete
root@orthanc:/home/julioh# aptitude install samba

En nuestro home creamos el nombre de una carpeta que vamos a usar para compartir
mkdir share
chmod 777 share

Luego modificamos el archivo de configuración de samba

root@orthanc:/home/julioh# nano /etc/samba/smb.conf


# Samba config file created using SWAT
# from UNKNOWN (192.168.42.219)
# Date: 2014/05/15 14:19:36
[global]
server string = %h server
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
hosts allow = 127.0.0.1, 192.168.41.0/24, 192.168.40.0/24
#hosts deny = 0.0.0.0/0
#Comentamos el HostDeny para que me acepte los rangos de ip #de nuestra red interna
#[homes]
# comment = Home Directories
# valid users = %S
# create mask = 0700
# directory mask = 0700
# browseable = No

#[printers]
# comment = All Printers
# path = /var/spool/samba
# create mask = 0777
# printable = Yes
# print ok = Yes
# browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
[SALA]
comment = Archivos Compartidos
path = /home/julioh/share
#admin users = root, SalaP, sala01, sala02
#username = root
#hosts allow = 192.168.41.0
#read list = @users
#public = yes
#only guest = yes
#Le descomentamos para que puedan escribir
writable = yes
read only = yes
valid users = SalaP, root, sala01, sala02
write list = SalaP, root, sala01, sala02
# Lineas agregadas
# crear archivos con permisos rxw
create mask = 0700
# crear directorios con permisos rxw
directory mask = 0700

Luego Detenemos el demonio y lo volvemos a levantar
root@orthanc:/home/julioh# /etc/init.d/samba restart
[ ok ] Stopping NetBIOS name server: nmbd.
[ ok ] Starting NetBIOS name server: nmbd.
[ ok ] Stopping SMB/CIFS daemon: smbd.
[ ok ] Starting SMB/CIFS daemon: smbd.
[ ok ] Stopping Samba AD DC daemon: samba

Luego de esos podremos compartir archivos en un directorio seguro para una red interna.

Martes 08 de septiembre de 2015

Alvaro Jésus Hernández Arteaga

Alvaro Jésus Hernández Arteaga
Cacho y Capote

Volver a-Marte o migrar cuando todo se jo..

Cuando migrar a cualquier otro país no resuelve nada, Marte puede ser una buena alternativa.

Lunes 24 de agosto de 2015

Blog migrado a jekyll

Finalmente he decidido migrar mi blog de Wordpress a jekyll. Siendo este el primer post que escribo usando markdown. El proceso de migración no fue para nada complicado, y de hecho procedo a describir brevemente. Antes de hacerlo, algunas de la razones que me hicieron decantar a usar jekyll para el blog son las siguientes:

Domingo 23 de agosto de 2015

Luis A. Martínez F.

Luis A. Martínez F.
Hunting Bears

Usando WhatsApp desde la comodidad de tu escritorio con Pidgin

Últimamente estoy muy paranóico. La última de las paranoias que adquirí es tratar de utilizar una sóla aplicación de mensajería instantánea para todos los servicios que utilizo regularmente. Facebook, Google Hangouts, WhatsApp, IRC, Y ahora Telegram, son algunas de las redes sociales con las que me comunico. Me resulta realmente molesto tener que iniciar y revisar una aplicación por cada una, y además tener que ocupar memoria RAM adicional.

Es por ello que decidí centralizar las aplicaciones a través de Pidgin. Si bien Pidgin ofrece soporte nativo a una gran cantidad de redes, aún le falta compatibilidad con Whatsapp. Sin embargo, a través de plugins, otras personas han podido adaptar los protocolos de comunicación para hacerlos funcionar con Pidgin.

WhatsApp, Yowsup y Pidgin

WhatsApp es una aplicación de mensajería desarrollada exclusivamente para teléfonos inteligentes. Permite el envío de mensajes de texto, imágenes, video a través de sus usuarios. La identificación de cada usuario es su número de teléfono móvil. Basta con saber el número de alguien para tenerlo en la lista de contactos.

El procedimiento que voy a describir acá requiere que poseas una cuenta en WhatsApp. Oficialmente la única forma de abrir una cuenta en WhatsApp es a través de la aplicación en tu teléfono inteligente; sin embargo, existen alternativas que permiten hacerlo desde tu computadora, utilizando una conexión a internet.

Lo primero que debes hacer es seguir la guía para obtener tus credenciales de whatsapp, que son tu número de teléfono con código de país y la cadena de autenticación (password). Dicha guía utiliza Yowsup, una aplicación hecha en python diseñada para comunicarse directamente con los servidores de WhatsApp.

Una vez obtenidas las credenciales, debemos compilar e instalar el plugin para pidgin llamado whatsapp-purple. Para ello vamos a instalar las dependencias de compilación. En una distribución derivada de debian podemos hacer así (con permisos de root):

sudo apt-get install git make g++ sudo pidgin python-dateutil python-argparse libglib2.0-0 libglib2.0-dev libpurple-dev libfreeimage-dev libprotobuf-dev

Luego debemos clonar el repositorio del plugin con el siguiente comando (sin permisos de root):

git clone https://github.com/davidgfnet/whatsapp-purple

Seguidamente, entramos en la carpeta recién clonada y compilamos el plugin (sin permisos de root):

make

Y luego (con permisos de root), instalamos el plugin:

sudo make install

El plugin está instalado, ahora debemos configurarlo. Abrimos pidgin y vamos al menú Cuentas > Gestionar cuentas; pulsamos sobre el botón “Añadir”. Allí rellenaremos los siguientes datos:

  • Protocolo: WhatsApp.
  • Nombre de Usuario: Número de teléfono con código de país.
  • Contraseña: Contraseña obtenida con Yowsup.

Listo, ya tenemos nuestro plugin configurado. Ahora podemos agregar contactos introduciendo sus números de teléfono en el cuadro de diálogo Buddies > Añadir un amigo ....

Tus grupos existentes se sincronizarán con tu lista de contactos, más no lo harán tus contactos individuales, debes agregarlos manualmente. Puedes enviar fotos y archivos a través del menú Conversación > Enviar archivo ... de la ventana de conversación.

Si deseas visualizar los emojis nativos de WhatsApp, debes instalar un tema de íconos con emojis unicode como Twitter for pidgin.

Algunas personas reportan problemas para recibir mensajes, por lo que recomiendo realizar el siguiente paso adicional:

Se debe cambiar la configuración para que el campo “Resource” diga como aparezca en la imagen. Debes ir a Cuentas > Gestionar Cuentas > (Seleccionar la cuenta de WhatsApp) > Modificar, y en la pestaña “Avanzadas”, poner S 40-2.12.11 en el campo “Resource”. Cierra y vuelve a abrir Pidgin.

Luis A. Martínez F.

Luis A. Martínez F.
Hunting Bears

Utilizando Yowsup para obtener las credenciales de tu usuario en WhatsApp

Para algunas actividades particulares, a veces es necesario husmear un poco en la base de datos de WhatsApp para obtener los datos de acceso de nuestro usuario en la plataforma. Normalmente esto es un proceso transparente para el usuario común porque la aplicación oficial de tu teléfono inteligente se encarga de manejar la autenticación sin necesidad de que tu introduzcas un usuario o contraseña. Sin embargo, existen otras formas de conectarse a los servidores de WhatsApp sin necesidad de utilizar la aplicación oficial, y para esto necesitamos los datos de acceso de nuestro usuario.

Para obtener estos datos, utilizaremos una pequeña aplicación en Python llamada Yowsup.

Yowsup

El protocolo de WhatsApp es una versión modificada del protocolo XMPP que es de código abierto. Aunque los autores de WhatsApp han hecho su versión de codigo cerrado, el autor de Yowsup ha sido lo suficiente hábil como para hacer ingeniería inversa al protocolo y escribir esta fantástica librería.

Yowsup funciona como un cliente de la API pública de whatsapp, permitiendo que registremos nuestro número de teléfono en la base de datos de WhatsApp, y así recibir la cadena de autenticación.

La librería es totalmente de código abierto y la tenemos disponible en Github. Yowsup se puede instalar en cualquier distribución GNU/Linux (Ubuntu, Linux Mint, Elementary, Canaima, etc) a través del sistema de versionamiento git.

Primero, abriremos una terminal de usuario y clonaremos el repositorio con git de la siguiente forma:

git clone https://github.com/tgalal/yowsup

Para el siguiente comando, necesitaremos tener nuestro teléfono a mano, ya que recibiremos un mensaje de texto con el código de validación. Nos meteremos dentro de la carpeta y ejecutaremos:

./yowsup-cli registration --phone [PHONE] --cc [CC] --requestcode sms

[PHONE] debe sustituirse por el número de teléfono incluyendo el código de país y [CC] es el código de país. Seguidamente recibiremos un mensaje de texto en nuestro teléfono conteniendo el código de verificación para el registro, guardamos ese número. Luego ejecutaremos el siguiente comando:

./yowsup-cli registration --phone [PHONE] --cc [CC] --register [CODE]

[CODE] es el código que recibimos por mensaje de texto. Al ejecutar el comando, recibiremos un bloque de información como el que sigue:

status: ok
kind: free
pw: [PASSWORD]
price: US$0.99
price_expiration: 1443389834
currency: USD
cost: 0.99
expiration: 1472221910
login: [PHONE]
type: existing

El campo pw contiene la cadena de nuetra contraseña encriptada. Si quieres averiguar que aplicaciones pueden autenticarse usando estas credenciales, lee el artículo que habla sobre usar WhatsApp en Pidgin.

Miércoles 19 de agosto de 2015

¿Sabias Que? como montar particiones de imagenes de disco

¿Qué son imágenes de disco?

Las imágenes de disco son copias exactas de un disco realizadas con el comando disk dump (dd), con esto podemos tener copias exactas de discos duros, máquinas virtuales, etc.

Hacerlas es bastante sencillo, simplemente indicas:

dd if=/dev/sda of=/media/respaldo/sda.img bs=1M conv=noerror

dónde:

  • if= apunta al dispositivo que vamos a copiar (mi disco sda)
  • of= a un disco de respaldo dónde se copiará el disco en un archivo (sda.img)
  • bs= hacer las lecturas en bloques de 1megabyte (1M)

Pero, ¿qué pasa si simplemente necesitamos un archivo de esa imagen de disco?.

Allí es cuando utilizas losetup.

Usando losetup

losetup es un comando para montar casi cualquier cosa como un dispositivo loopback (loop), losetup tiene un atributo especial dedicado para dispositivos de imagen con múltiples particiones.

Ejecutan:

losetup -P /dev/loop0 /media/jesuslara/sda.img

Y losetup calculará los offsets (inicio y fin) de cada partición y creará un dispositivo loop para cada partición dentro de sda.img, así:

loop0    loop0p1  loop0p2  loop0p3

Y ya simplemente para montar cada partición, ejecutan el “mount” contra la partición especifica:

mount -t ext4 /dev/loop0p1 /media/disk

Sin tener que calcular manualmente offsets ni nada por el estilo, ¿sencillo, no?

 

The post ¿Sabias Que? como montar particiones de imagenes de disco appeared first on Phenobarbital con Soda.