La verdad es que revisando los temas publicados por nuestros colegas de GNULinuxBlog (por ahora quien publica el tema, el sr. Elías Rodríguez Martín y el sr. José Miguel, creador del blog) encontramos uno en particular muy útil y que nosotros habíamos enfocado de una manera un tanto complicada en comparación con la facilidad de lo que allí proponen. Cuando conseguimos que alguien es más listo que nosotros inmediatamente lo reconocemos y aprendemos de dichas personas, no tenemos rubor en admitirlo, por eso os pedimos que nos acompañéis en nuestro artículo de hoy: compartir ficheros de una manera rápida y sencilla con Python.
Ya brevemente hemos descrito cómo instalar Shutter en Ubuntu cuando publicamos nuestro tutorial sobre Tesseract OCR y en esta oportunidad le vamos a dar todo el protagonismo que Shutter merece con su reportaje dedicado y, para variar, lo instalaremos bajo la distribución Fedora 25, ¡acompáñanos!
Actualizado el día martes 11 de diciembre de 2018
¡También explicamos como instalar las herramientas de edición (de imágenes, por supuesto)!
Repetimos que esta página no va de ciencias sociales, sin embargo somos fanáticos de la ortografía y en esta oportunidad os presentamos una herramienta para corregir nuestros escritos, que ya son bastantes, por demás. Ahora es el punto donde nos diréis «ea, tío, ¿de qué vais si eso está integrado en ‘todos’ los programas?» Pues bueno preparaos a sorprenderos con los que os vamos a contar, ¡vamos a aprender a programar para corregir nuestra ortografía!
En nuestra entrega anterior -y con la ayuda del Doctor Jason Brownlee- instalamos Fedora 25 como máquina virtual para tener un entorno de desarrollo específico para Python3: pues bien, el fin último es tener una base para poder desarrollar el «machine learning» a un nivel intermedio, veamos.
¿Qué es el «machine learning»?
Es una ciencia aplicada con ayuda de los ordenadores: de una serie gigantesca de datos obtenidos de nuestro mundo analógico regido por la mecánica cuántica podemos obtener patrones, precisamente lo que hacemos nosotros los seres humanos, como por ejemplo cuando miramos una noche estrellada y percibimos constelaciones que solo están en nuestro cerebro. Muchas universidades en el mundo están abocadas a este estudio y promete ser el futuro en el cual debemos estar preparados para cuando lleguen los ordenadores cuánticos.
Un dato que nos llama la atención es que ya hoy en día tiene una aplicación práctica, para mal, denunciada por Edward Snowden en su cuenta en Twitter:
¿Qué tiene que ver esto con el «machine learning»? Pues que el dispositivo que es utilizado para detectar los patrones de atención de los televidentes durante los comerciales es grabado con un dispositivo originalmente diseñado para juegos denominado Kinetic. En realidad es un dispositivo biométrico que en el año 2011 incluso ganó un premio de 50 mil libras esterlinas por desarrollo innovador al reconocer los movimientos de nuestro cuerpo, interpretarlos y trasladarlo como acciones en los juegos de vídeo. Es así que en solo seis años se le ha conseguido un uso importante en la vida real, acercándonos cada vez más a las historias contadas en las saga de películas «Terminator».
Instalando un entorno basado en Python para el aprendizaje de las máquinas.
Instalando el entorno Python.
Como ya bien sabéis, ya sea por este vuestro humilde portal o por internet -que abunda información- el lenguaje de programación Python viene instalado por defecto en la mayoría de las distribuciones GNU/Linux y Fedora no es la excepción. Para saber cual versión tenemos instalada, ejecutamos nuestra máquina virtual e introducimos nuestras credenciales de usuario. Acto seguido pulsamos ALT+F2 e introducimos la orden «gnome-terminal» para ejecutar una ventana de comandos para lanzar la siguiente línea:
python3 --version
En la figura podemos observar que ya tenemos instalada la versión 3.5.2:
python3 –version
Instalando el conjunto de utilidades para Python3.
Los paquetes que necesitaremos son seis en total:
SciPy, conjunto de herramientas que integra los siguientes paquetes:
NumPy: herramienta para álgebra lineal, transformadas de Fourier y generación de números aleatorios.
Todas ellas las podemos bien instalar en una sola línea, bien una por una, depende de nuestra paciencia. Por rapidez escogeremos la primera y en la misma ventana terminal que tenemos abierta colocamos:
El comando DNF es la abreviatura para Dandified Yum, que tal como explicamos, es el equivalente al comando apt-get utilizado en las distribuciones GNU/Linux basadas en Debian. Así que autorizamos la descarga, que son más o menos 92 megabytes:
Una vez se han descargado a nuestro ordenador virtual, se hace la verificación de contenido y se procede a descomprimir e instalar; allí van 200 megabytes adicionales:
Instalando entorno Python3 para «machine learning» 3Instalando entorno Python3 para «machine learning» 4
Confirmación del entorno instalado.
Una vez finalizado procedemos a «crear» un guión en bash para averiguar rápidamente las versiones instaladas. Aquí viene la utilidad de haber instalado las utilerías de «VirtualBox Guest Additions» en nuestra entrada anterior: podremos «copiar y pegar» texto entre nuestro ordenador anfitrión y el ordenador virtual.
Habilitar el portapapeles entre VirtualBox y las máquinas virtuales.
Antes de poder «copia y pegar» texto debemos primero habilitar su paso por medio de VirtualBox: seleccionamos la máquina virtual Fedora y presionamos CONTROL+S para entrar a la configuración y vamos a la sección «Interfaz de usuario» -> «Dispositivos»:
VirtualBox portapapeles entre ordenador anfitrión y ordenador virtual
Descolgamos la lista y seleccionamos «Anfitrión a invitado» y damos «Aceptar».
VirtualBox portapapeles ordenador anfitrión a invitado
Archivo de comando «versions.py».
Ahora que podemos pasar el portapapeles a la máquina virtual (tedioso procedimiento para poder habilitarlo), seleccionamos, copiamos y pegamos lo siguiente:
En las siguientes imágenes utilizamos el editor de textos gedit, pero sentiros libres de utilizar vuestro preferido (de hecho nosotros más adelante instalamos nano):
Guión para detectar los componentes instalados de Python3 unoGuión para detectar los componentes instalados de Python3 dosGuión para detectar los componentes instalados de Python3 tresGuión para detectar los componentes instalados de Python3 cuatroGuión para detectar los componentes instalados de Python3 cinco
Leyendo el artículo del Doctor Jason Brownlee (Australia) -y aprovechando el receso de Carnaval 2017- nos decidimos a probar la distribución GNU/Linux, legendaria por demás, Fedora.
How to Create a Linux Virtual Machine For Machine Learning Development With Python 3 https://t.co/aGvlYnuwPk
First of all we want to thank Doctor Jason for his excellent article on learning about Python3 on a virtual machine and its many advantages for programming. His approach is very similar to ours, he in English, we in castilian language, so we publish this article to ADD the installation of «VirtualBox Guest Additions» in the virtual machine.
Primero que nada queremos agradecer al Doctor Jason por su excelente artículo sobre aprendizaje de Python3 sobre una máquina virtual y sus múltiples ventajas para la programación. Su enfoque es muy parecido al nuestro, él en inglés, nosotros en idioma castellano, por ello publicamos este artículo para AGREGAR la instalación de «VirtualBox Guest Additions» en la máquina virtual.
Es por ello que retomamos el camino que ya anduvimos en enero 2016 con nuestro artículo sobre la actualización de VirtualBox (recomendamos su lectura primero) y donde tratamos el tema de las «VBoxGuestAdditions». Esencialmente no hay mayor cambio:
Instalamos VirtualBox en nuestro ordenador anfitrión (máquina real).
Instalamos el Paquete de Extensiones en la máquina real.
Instalamos «VBoxGuestAdditions» en cada máquina virtual.
Por último, si lo necesitamos, compartimos ficheros con la(s) máquina(s) virtual(es).
Eso sí, haremos notar la tendencia del mundo GNU/Linux hacia la computación sobre procesadores de 64 bits, a medida que los ordenadores más viejos de 32 bits van desapareciendo por su edad y natural uso. Ya sabéis entonces: ahora Fedora solo para máquinas de 64 bits (manejo de memoria RAM de 4 gigabytes con discos duros de terabytes ¡y aún más!) y que lo único constante es el cambio.
Obteniendo Fedora a nuestro disco duro.
Nosotros acostumbramos descargar por medio de Torrent para así luego compartir desde nuestros propios ordenadores al mundo entero. Sin embargo, en una rápida búsqueda no conseguimos ningún archivo .torrent aunque en la página web de Fedora levemente lo mencionan.No queremos decir con esto que no exista, sino que simplemente, por ahora, no los conseguimos.
También sospechamos que influye el hecho de la seguridad que se ofrece en la página de descarga: DE PRIMERA MANO. En el enlace anterior podremos descargar la imagen ISO (Fedora tiene una página web segura https) y luego procedemos a descargar la llave GPG (GnuPG) y la importamos a nuestro sistema. Entonces descargamos el archivo de texto plano que contienen el CHECKSUM y a eso le aplicamos sha256sum el cual compara el resultado con el archivo previo y da su aprobación (desconocemos la causa del error en la línea 19 pero están comprobadas las dos imágenes iso -también, más adelante, probaremos la versión netinstall-). Mirad la imagen adjunta para que veáis de qué van las cosas:
sha256sum Fedora Workstation 25
Configurando la máquina virtual en VirtualBox.
Tal como recomienda el Dr. Jason Brownlee le asignamos 2 gigabytes de memoria RAM (1 solo CPU, tenemos 4 en nuestra máquina anfitrión –máquina real-) y 10 gigabytes de espacio en disco duro virtual. Acá las tomas de pantalla del proceso:
Detalle con el dispositivo apuntador en VirtualBox.
Un indicio de la modernidad -lo único constante es el cambio- es el dispositivo apuntador que por defecto trae VirtualBox: Tableta USB. Esto tal vez traiga problemas con sistemas operativos antiguos, nosotros siempre lo cambiamos a Raton/Teclado PS2 que es prácticamente universal hoy en día. Recordemos que VirtualBox le hace creer al sistema operativo que estemos instalando ciertas configuraciones de hardware, incluyendo varios discos duros, tarjetas de red, video, etcétera que en este punto no tiene mayor relevancia si el sistema operativo es moderno -¡y vaya si Fedora 25 lo es!- sino que cuando toquemos el tema del «Virtual Box Guest Additions» lo estudiaremos con sumo cuidado.
VirtualBox dispositivo apuntador por defecto
Instalando Fedora 25 ¡por fin!
Este es el paso más largo, y que trata en mayor detalle el Dr. Jason Brownlee en su tema, nosotros lo grabamos en un vídeo de 48 megabytes y lo subimos a Youtube, ¡espero os guste tanto como a nosotros cuando lo hicimos! ?
Instalando VirtualBox Guest Additions a Fedora.
Prefacio.
Ya hemos tenido ciertas «desavencias» con VirtualBox con esto de compilar los «kernel modules» y en un artículo anterior describimos con detalle nuestra experiencia al respecto. Recomendamos que por lo menos le echéis un «ojirijillo» rápidamente y volved acá con nosotros al finalizar, por favor.
Si, ya os pillamos, no leístes nada, pero bueno, acá lo resumimos: VirtualBox necesita estar a la medida de nuestro hardware, nuestra máquina real -anfitrión- y para ellos necesita estos archivos hechos a la medida para su excelente utilización:vboxdrv, vboxnetflt y vboxnetadp. Sin estos archivos simplemente no corre VirtualBox…
¿PERO QUE DECÍS, TÍO, SI VIRTUALBOX CORRE SIN PEGA ALGUNA?
Eso es correcto, es lo que estáis pensando: en los sistemas operativos populares (Debian, Ubuntu, Windows incluso) esto es cierto sin más pero hay distribuciones GNU/Linux muy específicas y es necesario recompilar dichos módulos para obtener su excelente desempeño (bueno en Windows no hay esta opción, ojo -que sepamos-).
Incluso esto que os cuento es válido para motores de bases de datos como PostgreSQL, podemos así compilar nuestros propios kernels PARA NUESTRO ORDENADOR ESPECÍFICO: esa es la ventaja que ofrece el software libre, ¡alucinante!
Detalle con nuestra tarjeta madre, máquina real.
Recordad ANTES de compilar los «kernel modules» en la máquina real el reiniciarla primero y ajustar los valores en el BIOS para soportar máquinas virtuales (hoy en día esto, generalmente, viene activo por defecto).
Cambiar los valores del SETUP de nuestra tarjeta madre puede desconfigurar seriamente nuestro sistema operativo instalado, asi que TENED MUCHO CUIDADO CON LO QUE TOCAS. Solamente os sugerimos activar UNICAMENTE la opción que permite compartir de manera eficiente los recursos reales (canales I/O, memoria, tarjeta de red) con las máquinas virtuales.
En la plataforma INTEL se necesita que tarjeta madre y procesador, ambos, soporten dicha tecnología llamada «Intel VT» o la aún mejor «Intel VT-D».
En la plataforma AMD se denomina «AMD Virtualization (AMD-V™)» y está específicamente orientada a servidores (de máquinas virtuales), todo un negocio en el alojamiento de páginas web hoy en día.
En vez de compartir un servidor web Apache, por ejemplo, os alquilan vuestra propia máquina con dirección IP exclusiva con una carta de diversos sistemas operativos, todo a vuestro gusto, INCLUSO esto permite «migrar» tus «recursos» rápidamente: mayor memoria, más procesadores, etcétera, con un solo click, luego de haber recibido vuestro pago, por supuesto.
Lo anterior es lo que denominados VENTAJAS de las máquinas virtuales, así como el artículo que inspira esta entrada, se usa una máquina virtual para contener un entorno de programación que podemos respaldar ¡y replicar en cualquier hardware moderno sin mayor dilación!
Configurando a Fedora 25 para «VirtualBox Guest Additions».
Allanando el terreno.
Antes de poder instalar «VirtualBox Guest Additions» debemos actualizar a Fedora, ¿cómo es esto posible si lo acamos de instalar?
El obstáculo del asunto es que necesitamos los encabezados «headers» de GNU/Linux para poder compilar los «kerner modules». Esto varía de distribución a distribución, y el cómo se instala depende del instalador por defecto. Así en Debian y sus derivados podemos usar apt pero en Fedora debemos utilizar yum. Para resumir, es simplemente una utilidad que se conecta a repositorios de software bien conocidos (o nuestros preferidos, incluso los desarrollados por nosotros mismos) e instala dicha software.
En cuanto a los derechos de usuario si que tenemos elementos comunes: debemos utilizar el comando sudo. Para ello presionamos ALT+F2 y tecleamos «gnome-terminal» para abrir una ventana de comandos. Luego introducimos la siguiente línea acompañada de nuestra contraseña de usuario para poder tener derechos de administrador o usuario «root»:
Desde internet descargaremos 50 megabytes -los «headers» en sí- y luego 19 megabytes de actualizaciones, aceptamos la descarga y procedemos a instalarla.
yum install kernel-devel-4.8.9-300.fc25.x86_64 updatesyum install kernel-devel-4.8.9-300.fc25.x86_64 and updates installed
Configurando el «Extension Pack» en la máquina real.
Al momento de emitir este tutorial, nosotros tenemos instalado el VirtualBox versión 5.0.32 y debemos descargar el correspondiente «Extension Pack» y luego «VirtualBox Guest Additions». En este enlace encontraréis TODAS las versiones almacenadas, solo buscad con CONTOL+F en vuestro navegador introduciendo vuestra versión.
En nuestro caso son los siguientes archivos:
«Oracle_VM_VirtualBox_Extension_Pack-5.0.32.vbox-extpack» (19 megabytes aproximadamente, para instalarlo en nuestro ordenador real -sistema operativo anfitrión-).
«virtualbox-5.0_5.0.32-112930~Ubuntu~xenial_amd64.deb» (4 megabytes aproximadamente, para instalarlo en nuestro ordenador real -sistema operativo anfitrión- el «Guest Additions» del lado de la máquina real -anfitrión-).
«VBoxGuestAdditions_5.0.32.iso» (56 megabytes aproximadamente, las «Guest Additions» en sí que le vamos a instalar a Fedora).
SHA256SUMS (5 kilobytes aproximadamente, muy importante comprobar la integridad de los archivos descargados, a pesar que no es una página web segura https).
Insertando la imagen iso con «Guest Additions».
Luego seleccionamos en VirtualBox la máquina virtual con Fedora 25 y después abrimos «Configuración» y nos dirijimos a la sección de «Almacenamiento» y abrimos la carpeta donde hayamos alojado la descarga, seleccionamos y damos al botón «Aceptar»:
Así iniciamos a Fedora 25 y una vez iniciada nuestra sesión podemos ir al navegador de archivos y abrir la unidad óptica virtual que contiene las «Guest Additions», este sistema operativo incluso trae un botón de ejecutar aplicación o bien podremos abrir una ventana terminal como describimos anteriormente y lanzar el guión script llamado «runasroot.sh«. Es de hacer notar que la vía al cd virtual es «/run/media/su-nombre-de-usuario» para navegar por la ventana terminal.
En este punto ya eliminamos la fastidiosa tarea de presionar siempre la dichosa tecla anfitrión que «captura» el cursor y el puntero entre la máquina real y la máquina virtual.
Para los usuarios que por primera vez utilizan VirtualBox tal vez esta «tontería» sea lo más frustrante: como interactuar entre «ambos mundos», lo cual confunde mucho. Tanto es así que nosotros NO utilizamos la tecla por defecto CONTROL-DERECHO sino que la cambiamos por la tecla F9 que es la que menos conflicto causa con las aplicaciones y los entornos de programación que utilizamos. Sientanse a gusto de cambiarla por la que más le convenga, pero de hecho os decimos que al término de instalar «VirtualBox Guest Additions» su ratón fluirá libremente entre ambas «pantallas» sin problema alguno.
La manera de configurar vuestra tecla anfitrión es por medio del menú «Archivo->Preferencias» o simplemente presionando CONTROL+G y luego seleccionando «Entrada». Una vez allí hacemos click en «tecla anfitrión», sección «acceso»y pulsamos la tecla que más nos guste y después damos «Aceptar» cuando estemos conformes con el cambio.
Dicho esto ahora si que procedemos a compartir las carpetas deseadas, de nuevo seleccionamos la máquina virtual Fedora 25, pulsamos configuración y nos vamos a la sección de «Carpetas compartidas» y «clickamos» en adicionar, navegamos por el disco duro de nuestro ordenador, le damos derechos de lectura y escritura y automontar automáticamente, para finalizar «Aceptar».
Siendo pragmáticos, nuestra preferencia es solo compartir una sola carpeta -un un nombre exprofeso para ello «PARA_MAQUINAS_VISTUALES», mirad la figura arriba- para todas nuestros ordenadores virtuales, pero eso ni siquiera a consejo llega; simplemente nos gusta tener todas las cosas de las máquinas virtuales en un solo sitio, nos ayuda a ubicarnos mentalmente y para mayor rapidez.
La próxima vez que ingresemos a Fedora 25 virtual, veremos algo parecido a esto en nuestro navegador de archivos:
Las ventajas de las máquinas virtuales son muchas, muchísimas, y acá apenas hemos tocado unas cuantas. El objetivo real en este caso es crear un entorno virtual para instalar Python 3 y desarrollar un ambiente de programación independiente del ordenador que estamos trabajando con solo guardar los archivos necesarios en una unidad de almacenamiento externo y siempre de la mano de VirtualBox.
¡Muchas gracias por vuestra atención, y hasta uan próxima oportunidad, nos vemos!.
En una entrada anterior enseñamos como configurar mod_rewrite en nuestro .htaccess para poner a «punto de caramelo» nuestro Apache2 pero ahora es necesario preveniros de «haber abierto la caja de Pandora»: nuestro servidor web está expuesto a tácticas de intromisión y hasta toma de control por atacantes con malas intenciones. Sirva pues la presente para complementar y ayudaros a proteger vuestros equipos.
Para los que «montamos» páginas web siempre es útil ocultar las extensiones de nuestros archivos a ser servidos y así despistar a posibles atacantes pero es mejor aún para que nuestros usuarios les sea más fácil recordar nuestras secciones e incluso promociones publicitarias, ¿ya tenemos vuestra atención?
El vicepresidente ejecutivo, Aristóbulo Istúriz, estimó que con la incorporación
de la nueva herramienta se apunta hacia la independencia tecnológica del país.
Texto: Romer Viera.
Fotos: Héctor Rattia.
Caracas.
Canaima software libre.
Ministras, ministros y representantes de empresas públicas y privadas que integran el Consejo Nacional de Economía Productiva se reunieron ayer en la sesión número 47 de esta instancia en la que, entre otras cosas, se formalizó el lanzamiento del sistema operativo Canaima GNU/Linux, en su versión 5.0, una creación cien por ciento venezolana, que a decir del vicepresidente ejecutivo, Aristóbulo Istúriz, apunta hacia la independencia tecnológica del país.
El sistema operativo se adapta a las necesidades de los estudiantes y activistas comunitarios.
La reunión se realizó en el salón Ezequiel Zamora del Palacio Blanco de Miraflores, donde Istúriz hizo énfasis en los “distintos mecanismos de dominación utilizados por el imperialismo, entre ellos, los diseñados para crear dependencia tecnológica. En este sentido, recordó el trabajo emprendido por el comandante Hugo Chávez, y continuado por el presidente Nicolás Maduro, para “romper los lazos de dominación” que atan al país a las potencias extranjeras.
Como parte de su disertación, Istúriz precisó el papel que las potencias imperiales del mundo asignan a los países en proceso de desarrollo, a los cuales reconocen solo como generadores de materia prima sin la posibilidad de aumentar sus capacidades industriales y tecnológicas.
Istúriz sostuvo su apreciación sobre lo extraordinario del proyecto Canaima. Sin embargo, manifestó que si hay algo que perfeccionarle es el aspecto relacionado con la divulgación de sus características y bondades.
El lanzamiento se efectuó en el contexto de un encuentro en el que fueron divulgados los avances de 2016 de las carteras ministeriales que integran el consejo. Logros que, de acuerdo con el Vicepresidente, representan “lo que debe ser el salto hacia un nuevo modelo económico y socialista”.
De acuerdo con Kenny Ossa, presidente del Centro Nacional de Tecnologías de Información (CNTI), el sistema operativo Canaima GNU/Linux 5.0 está basado en las plataformas libres más estables y modernas del mundo, como Debian y Linux Mint. Aseveró que es una herramienta que incorpora elementos de orden tecnológico, comunitario y estratégico, con lo que se busca garantizar la seguridad nacional y avanzar en el modelo económico productivo establecido en la Agenda Económica Bolivariana.
El sistema operativo fue diseñado para satisfacer las necesidades de usuarias y usuarios del Programa Canaima Educativo, activistas comunitarios del software libre, servidoras y servidores del sistema público nacional, estudiantes, unidades socioproductivas y personas con discapacidad visual o auditiva, entre otros.
6.517 millones para la reinversión.
Según Ossa, su utilización en todas las instancias del sector de público permitiría un ahorro de hasta 6.517 millones de dólares, capital que a su parecer podría reorientarse hacia el desarrollo tecnológico de la nación. El experto dijo conocer ejemplos sobre cómo, mediante el uso de sistemas operativo no libres, no soberanos, grandes trasnacionales de la computación “han servido a los intereses de los gobiernos extranjeros que apuestan por el fracaso de la Revolución Bolivariana. Al respecto, aseguró que hay pruebas de cómo durante el golpe de Estado petrolero de 2002 se extrajo información de los sistemas de Pdvsa debido a la imposibilidad de auditar los softwares no libres.
Pueblo y gobierno.
Ossa aseguró que Canaima GNU/Linux 5.0 es referencia en el mundo por ser el único proyecto sociotecnológico en el que un Gobierno y comunidades organizadas trabajaron para desarrollarlo y garantizar la independencia tecnológica de una nación. Indicó que las versiones anteriores del sistema son de uso común en escuelas y liceos públicos, en los Centros Bolivarianos de Informática y Telemática (CBIT) e Infocentros de todo el país. También subrayó su utilización en los equipos portátiles.
Entre las características más relevantes de Canaima GNU/Linux 5.0 destacan su interfaz gráfica amigable, estable, segura y totalmente en castellano. Además de su capacidad de utilizar el navegador Firefox, el uso de la suite ofimática Libreoffice y de otros programas como el editor de video Pitivi, el editor de mapas mentales Freemin, el editor de audio Audacity y la herramienta de maquetación Scribus. Por ser una software libre no se requiere pagar por su licencia y no presenta problemas con virus informáticos.
Según información suministrada por el CNTI, actualmente Canaima GNU/Linux 5.0 está operativo en más de 70 mil 870 estaciones de trabajo, de las 125 instituciones que participaron en el censo 2012 de adopción de las tecnologías de información libres.
No, no estamos de osos e hibernación sino de la metáfora entre el comportamiento animal y las computadoras: se trata de «dormir» a la computadora escribiendo todo lo que está en memoria RAM a un área especial en nuestro disco duro, tras lo cual podemos hasta desenchufar nuestro equipo y cuando de nuevo lo necesitemos quedaremos exactamente con los mismos programas y documentos abiertos justo donde los dejamos.
Antecedentes.
En los lejanos tiempos cuando no teníamos interfaz gráfica (podéis saber -o recordar- más en nuestros anteriores artículos sobre bash y sobre ingeniería social) pues tenía poco sentido el hablar de este proceso de hibernación. Pero es que hay más: los equipos XT tenían un simple interruptor que cortaba la energía, apagando de golpe a la computadora y perdiendo datos (ni hablaremos que los discos duros tipo IDE tenían que «parquear» el cabezal para no dañar los platos). Pero con el advenimiento de los equipos AT se incorporó más bien un botón lógico que cuando uno lo presiona el BIOS de la tarjeta madre se comunica con el sistema operativo -moderno- para entonces así poder apagar, cerrando y guardando debidamente los documentos y programas abiertos. Adicionalmente -y esto aplica a los monitores también- se les colocó una función de «dormir» lo cual hace que la máquina trabaje a una velocidad mínima a la espera de un evento determinado -pulso de tecla, movimiento de ratón, mensaje por tarjeta de red, etc.- logrando ahorrar energía. Dicha función se activa automáticamente cada cierto tiempo predeterminado y así se ahorra, a nivel mundial, de muchísima energía eléctrica.
Pero fueron las computadoras portátiles las que más se beneficiaron pues permite alargar el tiempo que trabajan con una sola carga de batería e incluso hay planes más detallados y específicos que poner a «dormir» al equipo: disminuye el brillo en pantalla, deshabilita uno o más núcleos en el CPU (ahora casi todos los equipos son doble núcleo de 64 bits), apagar la red inalámbrica, apagar el disco duro, etc.
En el caso de la hibernación es el ahorro máximo de energía: apagar el equipo para luego encenderlo muy rápidamente y justo donde estabamos trabajando, de paso ahorrando tiempo y como dijimos, se trata de escribir todo lo que está en memoria al disco duro.
¿Por qué Ubuntu no trae la opción de hibernación activada?
Pues ya saben la historia, a las computadoras se les agregó las opciones de «dormir» e «hibernar» para cumplir normas medioambientales (y ahorro en nuestros bolsillos en nuestra factura por consumo de electricidad) pero resulta ser que cada fabricante impuso sus propios «chips» integrados en las tarjetas madres para cumplir dichas funciones. Ellos, para proteger sus «secretos industriales y de manufactura», no explican a ciencia cierta cómo funcionan y son pocos los fabricantes que se dedican a trabajar de la mano con los desarrolladores de sistemas operativos. En el caso de Ubuntu fue a partir de la versión 12.04 que tomaron la salomónica decisión de deshabilitarlo (en Debian viene por defecto activado): son pocos los hardwares que son certificados para trabajar con Ubuntu y la base de datos para llevar cuenta de ellos es gigantesca y engorrosa, un trabajo a todas luces de evitar.
¿Y qué es un hardware certificado para trabajar con Ubuntu?
Pues son ordenadores que garantizan que al hibernar no perderemos absolutamente ninguno de nuestros datos, recordemos que todos los GNU/Linux son sistemas operativos estables y confiables y no se arriesgan a perder su reputación simplemente porque la mayoría de los fabricantes de niegan a vender hardware libre (aunque esto también desaliente a las empresas que trabajen por cerificar su hardware con Ubuntu).
¿Y quienes se benefician del proceso de hibernación?
Pues obviamente los equipos de escritorio y portátiles porque las versiones Ubuntu Server para nada ahorran energía: son equipos que trabajan las 24 horas del día. No obstante el software libre nos permite sin ningún problema el convertir nuestros ordenadores de uso diario como servidores de bases de datos, servidores web, etcétera y si éste es vuestro caso pues olvidad la opción de hibernar.
Requisitos para la hibernación.
Pues antes de entrar más en detalles debemos asegurarnos no sólo que tenemos espacio libre en disco duro del mismo tamaño de nuestra memoria RAM, sino que incluso contemos con una partición de intercambio especialmente hecha para ello, y en inglés recibe el nombre «swap» (no confundir con la partición para archivos temporales). Generalmente si escogimos que nuestra distribución Linux ocupe todo nuestro disco entonces habrá particionado nuestro disco duro con los valores adecuado a nuestro hardware.
Pero si fuimos nosotros quienes decidimos los valores de partición debemos revisar, en todo caso nunca está demás consultar dichos valores así que nos arremangamos las mangas de la camisa y abrimos una venta terminal y escribimos lo siguiente:
cat /proc/swaps
Como ya sabemos el comando cat sirve para visualizar el contenido de un archivo y en GNU/Linux todo es un archivo (sin caer en el tema de systemd) y la partición de intercambio tiene su archivo que lo representa. El que consultemos un archivo, ya sea por pantalla, impresora, terminal remota, etc. no representa ningún problema para nuestro ordenador, es decir no desconfiguramos nada (lo peor que nos puede pasar es que no tengamos derecho de lectura del archivo en cuestión).
Pero si queremos ir más allá podemos usar el comando swapon el cual está disponible desde 1995 (apareció en 4.0BSD) y forma parte de las utilerías de Linux. Dicho comando ofrece opciones de reporte y la primera que usaremos es:
swapon -s
o en su versión «larga» -que nos permite memorizarla mejor-:
swapon --summary
Esta opción hace exactamente el mismo trabajo de cat que indicamos al principio y así explícitamente lo indica la ayuda de swap (tecleamos «man swap» -y podemos usar el comando man para obetener ayuda de cualquier otro comando de Linux-). Con el comando swapon también podemos activar o descativar el área de intercambio pero exige conocimientos exactos de nuestro hardware para poderlo ejecutar correctamente, recomendamos mucha precaución si se deciden a ir más allá.
Hay muchos otras muchas herramientas (mirad los enlaces consutlados para hacer esta entrada) pero con 3 creemos es más que suficiente en nuestra labor didáctica, dicho tercer comando es free que nos permite ver tanto en Gigabytes, Kilobytes o Megabytes (las letras iniciales son los parámetros del comando) de nuestra memoria física y el área de intercambio -en realidad sirve para la memoria RAM pero como están intimamente relacionadas con el área de intercambio pues se incluye en los resultados-:
free -g
free -k
free -m
Acá mostramos una captura de nuestra ventana terminal:
«cat», «swapon» y «free».
Otra alternativa es utilizar la interfaz gráfica pulsando la tecla ALT+F2 y escribimos (en Ubuntu) «disco» y automáticamente nos listará las aplicaciones debajo de la linea de comandos -si usan Debian escriban palimpsest – y hacemos click en la utilidad de discos, verán algo parecido a esto:
Ubuntu partición de intercambio.
Como vemos también nos informa del estado del disco duro, temperatura etc.
Probando si nuestro equipo es compatible con hibernación.
La manera pragmática de determinar si nuestro equipo soporta el proceso de hibernación es tener unas cuantas aplicaciones abiertas con datos sin importancia (navegador web, gedit editando una nota, algún reproductor de música) tras lo cual ejecutamos en nuestra línea de comandos lo siguiente:
sudo pm-hibernate
Al presionar la tecla intro nuestro ordenador, según la cantidad de aplicaciones abiertas, la cantidad de memoria RAM y tipo de disco duro, tomará de unos cuantos segundos hasta un minuto. Luego de que se hayan apagado todas las luces y ventiladores esperamos unos 10 segundos y procedemos a encender por su correpondiente botón.
Una vez haya arrancado de nuevo verificamos si nuestras aplicaciones de prueba están en pantalla, si suena la música, el estado de conexión de red; puede ser que parpadee la pantalla una o varias veces, movemos el ratón y observamos cuánto tarda en responder.
Si hemos llegado hasta aquí sin problemas…
Pues ¡enhorabuena! Nuestro ordenador es compatible con la hibernación ahora procederemos a habilitarlo y describiremos el proceso general pero cambiaremos los valores de acuerdo a la versión de Ubuntu que tengamos instalado:
Vamos a crear un archivo llamado «com.ubuntu.enable-hibernate.pkla«.
Dicho archivo lo guardaremos en la siguiente ubicación: » /etc/polkit-1/localauthority/50-local.d«
Debemos hacerlo con derechos de usuario raíz o «root» con «sudo su«.
Reinciamos el equipo y verificamos que nos aparezca la opción correspondiente, veremos algo como esto:
Ubuntu botón para hibernar.
Si usamos Ubuntu 13 o anterior:
Procedemos a abrir una ventana terminal y ejecutamos lo siguiente:
y luego rellenamos con esto (sientanse libres de copiar y pegar):
[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
Si usamos Ubuntu 14:
Deberemos rellenar el archivo con esto:
[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes
Si tenemos Ubuntu 16:
[Re-enable hibernate by default for login1]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate
ResultActive=yes
[Re-enable hibernate for multiple users by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes
Observaciones importantes del archivo de marras:
Ahora que conocemos el archivo que permite la hibernación hemos de considerar lo siguiente: las lineas que comienzan por «Identity», «Action» y «ResultActive» como bien pueden observar son las mismas para las versiones de Ubuntu lo que si que es diferente son las etiquetas que las encabezan. Es de notar también que el identado es importante para dichas líneas pues son en jerarquía «hijas» de las etiquetas. Además los nombres de las etiquetas son muy específicas para cada versión de Ubuntu, bueno cada cabeza es un mundo e imaginamos que son muchos y diferentes programadores que han trabajado sobre Ubuntu y que siempre debemos tener siempre en mente que en el campo del software libre nada está escrito sobre piedra, es decir: ¿nos molesta que cada versión de Ubuntu tenga sus diferencias particulares de una a otra según las liberan? El software libre nos permite descargar el código fuente, modificarlo y compilarlo para nuestra propia metadistribución, es decir, es el mismo Ubuntu con pequeñas variaciones (pero si dichas variaciones afectan de algún modo o manera a las aplicaciones que se ejecutan debemos compilar también dichas aplicaciones adaptadas y publicar nuestro propio repositorio para nuesta metadistribución ¿A ver quién se anima a trabajar en ello? Hay gente que conozco que lo hacen, ¡tienen mucho esfuerzo y tenacidad en sus convicciones!).
Si tenemos un ordenador portátil.
En las computadoras portátiles al cerrar su tapa, el comportamiento predeterminado es «dormir» o suspender pero podemos cambiar ese comportamiento siempre y cuando hayamos probado varias veces que la hibernación funciona correctamente:
Abrimos una venta terminal e introducimos lo siguiente:
sudo nano /etc/systemd/logind.conf
Buscamos la línea que contiene «#HandleLidSwitch=suspend» y la sustituimos por «HandleLidSwitch=hibernate» (nótese que eliminamos el caracter almohadilla y cambiamos «suspend» por «hibernate».
Guardamos el archivo y reiniciamos.
¿Qué problemas podemos enfrentar?
Actualizado el jueves 10 de noviembre de 2016.
Pues pusimos a hibernar nuestro ordenador y al regresar de nuestro trabajo en la calle encendimos y nos mostraba este mensaje:
Ocurrio un error al montar /boot/efi.
Pulse S para no montar o M para una reparación manual.
Al escoger la opción «no montar» pues acepta contraseña pero al no tener acceso al disco duro pues regresa a la pantalla de inicio de sesión. Al escoger la opción de reparación manual «cae» con credenciales de «root» y al introducir:
sudo apt-get update
no se ejecuta correctamente y sugiere el comando dpkg.
Aplicamos:
sudo dpkg --configure -a
y luego el comando «reboot» tras lo cual arranca correctamente. Suponemos que como tenemos configurada las actualizaciones del sistema operativo como «descargar e instalar automáticamente» pues estaba precisamente en ese proceso cuando la pusimos a hibernar.
Agradecemos a los amables colaboradores de Ubuntu-es.org por proporcionarmos la solución, podéis leer el caso en este enlace web.