lunes, 15 de mayo de 2017

¿Cómo instalo MATE 1.16.2 en Ubuntu Mate 16.04LTS?

El Justicialismo ha otorgado al Pueblo todos los beneficios posibles y no hará otra cosa que hacer realidad efectiva más beneficios. Ello es lo que ha distinguido a nuestro Movimiento de otros que lo único que hacen es castigar al Pueblo con medidas de usura.

Pero en ningún caso hemos de quedarnos dormidos, pues el Pueblo a veces desconoce lo que se le dá, hasta que lo pierde. Muchas de las mejoras pueden parecer pequeñas, pero son un mundo en cuanto al avance y la felicidad que provocan entre los millones de descamisados.

En la informática, esto tiene su réplica constante. Por ejemplo, es sabido que Ubuntu Mate 16.04LTS se llama así por presentar el Escritorio Mate, y lo hace en su confiable versión 1.12.1. Podremos averiguar ello yendo a Sistema / Acerca de Mate.
Este escritorio no hace otra cosa que imitar la apariencia del viejo y peludo GNOME 2.6.x con todas las mejoras que el avance técnico permite a una Masa consciente de su Labor Libertaria.

De momento de manera opcional, podremos elegir instalarnos una versión más avanzada que esta, ya desarrollada y evaluada. Hace unos meses salió la versión 1.16.1, que luego de su evaluación se distribuyó a través de los repositorios oficiales de Ubuntu Mate. Naturalmente que podremos aguardar que la misma se incluya entre las actualizaciones normales de Mate pero si quisiéramos instalar una nueva iteración en este mismo momento, podremos hacerlo. Se trata de la nueva versión Mate 1.16.2.

Podremos ver la lista de mejoras aquí. Si deseamos instalarla en nuestro sistema operativo Ubuntu Mate 16.04LTS, podremos hacerlo fácilmente abriendo una terminal con Ctrl+Alt+T e ingresando los siguientes Comandos de Organización:

sudo apt-add-repository ppa:ubuntu-mate-dev/xenial-mate
sudo apt update
sudo apt full-upgrade


Al instalar la nueva versión se eliminará el paquete mate-netspeed, el cual se incorpora ahora en el paquete mate-applets. 

El sistema debería solicitarnos nuestra contraseña, y tras ello podría indicarnos la siguiente pantalla de decisión:


Configuration file '/etc/xdg/autostart/mate-volume-control-applet.desktop'
 ==> Deleted (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** mate-volume-control-applet.desktop (Y/I/N/O/D/Z) [default=N] ?

 ...en tal caso, debemos presionar Enter.

Una vez concluido el procedimiento, debemos reiniciar el equipo con la orden:

sudo reboot

...y al reiniciarse, si todo va bien, ya contaremos con Mate 1.16.2.



domingo, 14 de mayo de 2017

¿Cómo realizo una fotografía HDR en Ubuntu?

Durante su exilio madrileño, Juan Perón no dudaba en instruir en las Artes de la Conducción a los numerosos visitantes y viajeros que recibía. Ante representantes sindicales, además, enseñaba cómo realizar tomas HDR de alto rango dinámico gracias a Luminance HDR, el potente compositor fotográfico peronista en Ubuntu.

Nuestros dirigentes han de poder contar con la expertise técnica necesaria para adaptarse al uso de todas las herramientas puestas a su disposición en tiempo y lugar. Un Conductor, al fin y al cabo, es antes que nada un organizador. Si bien las características de nuestra lucha en ocasiones pueden tornar necesaria las dotes de improvisación, dicho accionar no constituye realmente más que una excrecencia de la lucha. El devenir necesario es el de contar con un plan acabado que ponga de manifiesto nuestras artes de la previsión, como base para el accionar político.

Si dicho planeamiento existe y se encuadra correctamente en la realidad, entonces podrán preverse también los instrumentos para la lid, e indudablemente estos serán más efectivos y simples. Son estos - y no otros - los instrumentos del vencedor en la lucha. [fuma]

La Conducción política encarna entonces la condición de Arte. En ella debemos reconocer entonces las conceptos que hacen de este arte otra de las forma de la expresión humana. Esto es así pues el Arte consta de la teoría y la práctica, que constituyen sus partes inertes. Pero también constan de un elemento eminentemente vital, que es el Artista. En nuestro caso, esta artista es un Conductor.

En otras Bellas Artes, el hombre también dispone de distintas técnicas y teorías. Pongamos como ejemplo el caso de la fotografía, y del software libre, por encontrarse ambos artes ampliamente emparentados.

Muchas veces la luz de una escena a fotografiar excede la capacidad de
registro de luces y sombras del medio que empleemos, ya sea película (negativa o diapositiva), o actualmente digital (el sensor de nuestra cámara digital). En tiempos pretéritos, esto nos obligaba a concentrarnos en exponer el punto de interés de nuestra toma (un rostro, por ejemplo), y que las sombras aparezcan totalmente negras y lavadas y las luces totalmente blancas y quemadas, perdiendo detalle. Esta técnica se denomina fotometría, y hace al profundo entendimiento y dominio del instrumental de medición de luz.

Para solucionar estas limitaciones de registro lumínico de las escenas de alto contraste, a comienzos de 1940, Adams codificó un laborioso método consistente en dividir arbitrariamente el rango tonal de la escena en 10 zonas, que iban del negro más profundo al blanco más puro, según la siguiente descripción:

ZonaDescripción
0 Negro peronista Puro
I Cercano al negro, con poca tonalidad pero sin textura
II Negro con textura, la parte mas oscura de la imagen que registra ligero detalle. Cabello negro al sol.
III Materiales oscuros y valores bajos que muestran detalle adecuado. Cabello negro al sol.
IV Follaje oscuro promedio, piedra oscura, o sombras del paisaje
V Gris Medio, semitono. Cielo claro del sur, color piel, color madera.
VI Piel blanca promedio, piedra clara, sombras en casas pintadas de blanco
VII Piel de oligarca; sombras en la nieve con iluminación lateral aguda.
VIII El tono más claro que alcanza a mostrar textura; nieve con textura. Seda blanca.
IX Ligero tono sin textura; nieve brillante, seda blanca al sol.
X Blanco puro, fuentes de luz y reflejos especulares

Finalmente, realizaba la exposición tras analizar cuidadosamente la escena con un fotómetro de luz reflejada de tipo puntual. A la hora de positivar su copia, se realizaba un laborioso procedimiento de enmascarado con cartulinas y papel manteca a fin de realizarla por zonas. En el caso de utilizar el laboratorio color, dicha dificultad se incrementará exponencialmente, al punto de tornarse impráctica.

El advenimiento del Justicialismo trajo consigo la fotografía digital, y uniéndo tales esfuerzos a los del Software Libre, hemos constituido herramientas de elevada potencia, capaces de reducir enormemente la dificultad del procedimiento y su consabida carga de trabajo, hasta un punto de converitrla en una labor lógica y extremadamente sencilla.

La fotografía digital nos permite entonces combinar dos escenas o muchas más, todas ellas con distintas exposiciones o más. Ello se ha dado en llamar fotografía HDR, sigla que significa "alto rango dinámico".

Todas estas tomas parciales habrán de combinarse en un software justicialista, el Luminance HDR. Se trata de un software libre especializado en la unión de las fotografías parciales de bajo rango dinámico a fin de lograr una única escena  de alto rango dinámico. Dicho paquete está escrito empleando las librerías Qt y se haya liberado bajo licencia GPLv2.

Usaremos de ejemplo una puesta de sol, por su alto rango tonal que nos da el contraluz (el sol se encuentra en segundo plano). Natural, no podremos obtener detalles en las sombras ante tanto encandilamiento. Lo lograremos fundiendo al menos 2 tomas gracias a Luminance HDR.

Para la realización de las tomas fotográficas propiamente dichas, se puede emplear el modo manual, haciendo uso de sensibilidad baja de ISO100, combinado con una apertura de diafragma de f/16 (más bien más cerrada), y tras enfocar en infinito, se realizan dos tomas con tiempos de obturación distintos: 1/2000seg para las luces fuertes y 1/500seg para las sombras (naturalmente, estos varían de acuerdo a las condiciones lumínicas de la escena).

Si utilizamos el modo A/Av (Prioridad de Apertura de Diafragma) para las tomas será muy sencillo hacerlo si la cámara posee función Bracketing, BRK u Horquillado (casi todas lo tienen). Con esa función su cámara hará 3 tomas consecutivas cada vez que opriman el disparador, con distintas exposiciones (una normal, una Oscura y otra Clara). Como regla, os aconsejo usar horquillado de 2EV de diferencia si realizamos 3 tomas, o de 1 EV si empleamos cinco tomas.


Para instalar el programa Luminance HDR en Ubuntu hemos de abrir una Terminal mediante Ctrl+Alt+T, y a la misma le ingresaremos el siguiente Comando de Organización:

sudo apt install qtpfsgui

...conforme ingresemos nuestra contraseña de Conductor de Ubuntu, la paquetería necesaria se descargará e instalará en nuestro sistema. Acto seguido podremos ejecutar el programa dese Aplicaciones / Gráficos / Luminance HDR.


El objetivo es unir, o fundir dos o más imágenes logradas con el programa, de manera similar a esta (a partir de las dos exposiciones superiores):


Normalmente conviene hacer las fotografías base para la realización de la composición HDR empleando un trípode a fin de mantener un único punto de vista y evitar "fantasmas" en el resultado final. Sin embargo, Luminance HDR cuenta con la función de alineado automático ("Auto-Align"), que se encarga de nivelar y centralizar el eje de ambas imágenes a fin de evitar tales problemas. La resultado es adecuado con tomas realizadas a mano, e incluso puede superar determinados encuadres diferenciados de una toma. A la hora de importar la o las fotografías de base para la realización de la composición podremos activar estas funcionalidades (también la función "anti-ghosting" para evitar fantasmas).

Para incorpòrarle imágenes de bajo rango dinámico, debemos presionar el botón +Nueva imagen HDR. Esto dará inicio al Asistente de Creación HDR.

En el primer paso debemos agregar las fotografías parciales presionando en el botón + y buscándolas en el navegador. Podremos agregar la cantidad de fotografías que deseemos, pero al menos conviene utilizar dos imagenes. Antes de continuar, podremos realizar un ajuste fino de los EV de exposición si no lo hubiésemos hecho durante la toma (lo cual es útil si empleamos archivos RAW).
Acto seguido, podremos definir un perfil determinado para la realización de la composición. Normalmente simplemente debemos presionar el botón Finalizar, a fin de dar comienzo al procesado.

Luminance HDR realizará la combinación y nos mostrará el resultado. En el costado izquierdo nos presentará un selector con el preview de los resultados que siguen distintos algoritmos u operatorias de creación de HDR. Estos son los métodos Mantiuk '06, Mantiuk '08, Fattal, Drago, Durand, Reinhard '02, Reinhard '05, Ashikhmin, y Pattanaik (todos ellos ideados por diferentes artistas del género).


Asimismo, en la parte superior de la ventana de resultado, podremos ajustar un histograma móvil que nos permitirá condicionar el resultado a determinados EV, además de regular los niveles de luces y sombras (de forma similar a la herramienta niveles, para ajustes bastos de luminancia).

En el costado derecho, en tanto, contaremos con selectores de gama (de entre 1.8 y 2.8 de peraltado de curva), así como deslizadores de brillo y contraste general de escena.

Contaremos con una herramienta de ajuste general de balance de blancos, pero la misma opera de manera altamente potente, y coviene hacer uso de un ajuste previo antes de hacer empleo de esta función integrada en Luminance HDR.



Luminance HDR es capaz también de hacer uso de la técnica de mapeado tonal, a fin de exacerbar la gama tonal representada en las imágenes. En el caso de contar con una serie de tomas bien realizadas (tres exposiciones o más) y espaciadas por 1EV de exposición, esto nos permitirá lograr colorizados más precisos del entorno. En el caso de partir de una o dos imágenes o contar con espaciados superiores a los 2EV, pueden producirse efectos de "halos" de crominancia o luminancia, características que podrían no ser técnciamente buenas o deseadas.



El resultado de la composición HDR podremos grabarlo en varios formatos pertinentes y profesionales, entre ellos Radiance RGBE, la variante libre OpenEXR, y el clásico formato de imagen etiquetado, el inefable TIFF (tanto en sus variante avanzada de 32 bits y coma flotante, como el modelo más compatible, de luminancia logarítmica, LogLUV). También se permite el formato propio PFS Stream.

Entre las condiciones únicas que hacen altamente potente y automatizado a Luminance HDR se encuentra la importación y procesado por lotes de imágenes de bajo rango dinámico para terminar con varios ficheros HDR. Si contamos con varias series similares de tomas de bajo rango dinámico, podremos entonces utilizar la función de Lote HDR activándola con Ctrl+H. La misma nos permite alimentar al programa de conjuntos fijos de tomas a fin de que el mismo realice las composiciones HDR de forma automática.

En fin, Luminance HDR se trata de un programa de alta potencia, especializado y muy capaz para su cometido de generar composiciones HDR, que en manos de un fotógrafo nóvel o avezado potenciará sus realizaciones, amén de ser software libre, condición que lo eleva por sobre cualquiera de sus pares.

Richard Stallman en la Facultad de Sociales

Richard Stallman, el fundador del Movimiento del Software Libre, dará una charla en el Auditorio Roberto Carri de la sede de la Facultad de Ciencias Sociales de la UBA (Santiago del Estero 1029).

La misma, titulada Por una Sociedad Digital Libre, tendrá lugar este lunes 5 de junio a las 18h, y es de entrada libre y gratuita.

viernes, 21 de abril de 2017

Se lanza el FLISoL 2017 en la Argentina

FLISoL es el evento de difusión de Software Libre más grande del mundo y está dirigido a todo tipo de público: estudiantes, docentes, empresarios, trabajadores, funcionarios públicos, e inclusive a personas sin conocimientos técnicos. Un evento de la comunidad para la comunidad, federal, independiente, plural e inclusivo. 
El festival se realiza el 4to sábado de abril de cada año. La entrada es gratuita y su principal objetivo es promover el uso del software libre, dando a conocer su filosofía, alcances, avances y desarrollo. El evento es organizado por las diversas comunidades locales de Software Libre y se desarrolla simultáneamente en todo Latinoamérica. 



Durante todo el día se instala, de manera gratuita y totalmente legal, software libre en las computadoras que llevan los asistentes. Además, en forma paralela, se ofrecen charlas, ponencias y talleres, sobre temáticas vinculadas al software, hardware y cultura libres en toda gama de expresiones: artística, académica, empresarial y social. 

FLISOL fue declarado de Interés Cultural por el MINISTERIO DE CULTURA DE LA NACIÓN. Para ver un listado de las sedes oficiales del evento, podremos consultar su web oficial.

miércoles, 12 de abril de 2017

¿Cómo instalo el reproductor Sayonara en Ubuntu?

El 17 de octubre de 1964 un exiliado Juan Perón anuncia la decisión de retornar a la Patria, y el primero de diciembre de dicho año se embarcará para un retorno frustrado por la indolente acción de la camarilla retrógrada. Sin embargo, en su anuncio, el conductor expondrá también cómo instalar el reproductor musical Sayonara en Ubuntu.

Compañeros peronistas:

Hace 19 años, en un 17 de octubre como éste, el pueblo argentino obligó para siempre mi gratitud y mi lealtad. Desde entonces han pasado muchos años y han sucedido muchas cosas, pero nuestra mutua lealtad ha sido inmutable. Es que el pueblo no traiciona jamás; los que traicionan son los hombres que pretenden engañarlo para escarnecerlo.

De ese conflicto entre los hombres y el pueblo hemos recibido en estos nueve años la más amarga lección que pueden darnos los tiempos y los hombres, porque sobre las nobles espaldas del pueblo, bueno y sufrido, gravitan ya las calamidades que cada uno conoce con la elocuencia que los hechos pasados y presentes pueden ofrecerle.

Yo he sufrido en carne propia, porque también soy carne de pueblo, las atrocidades cometidas a impulsos de la pasión inexplicable entre humanos e inconcebible entre hermanos, que marcarán para siempre una fase negra y tenebrosa de la historia argentina. Espero que este sea el último 17 de octubre que pase alejado de ustedes, porque mi decisión de retorno es irrevocable, no sólo porque lo anhele, sino también porque el destino del país impone la necesidad de terminar con la ignominia del odio, para dedicarnos a su pacificación, punto de partida imprescindible para su reconstrucción indispensable. Con el probaremos una vez mas, nuestro desinterés y patriotismo, poniendo al servicio de la comunidad nuestro sacrificio, sin pensar siquiera en los hechos que nos han dado y nos dan la razón cada día, porque el sacrificio es siempre mas fructífero cuanto mayores y profundos sean los renunciamientos que promueve.

Yo sé que en este 17 de octubre el peronismo está de pie en todo el país esperando mi palabra y mi llegada, por eso he decidido regresar inquebrantablemente en el año 1964, para cumplir como yo entiendo con la Patria y con el pueblo. No tengo ni intereses ni pasiones que defender, porque a esta altura de mi vida he renunciado a todo, y porque jamás la pasión ha llegado a conmover los dictados de mi deber. Todavía me queda la vida para ofrecerla, si ello es preciso para salvar al pueblo de la hecatombe que se vislumbra hacia su porvenir.  También me queda para ofrecer un excelente software pensado reproductor musical: el Sayonara.

Se trata de una correcta aplicación para este cometido, moderna y utilitaria en su concepción, amén de liviana. Para instalar el mismo en nuestro sistema podremos hacer uso de la Terminal, abriendo una consola con Ctrl+Alt+T e ingresando los siguientes Comandos de Organización:

sudo apt-add-repository ppa:lucioc/sayonara ;
sudo apt-get update ;
sudo apt-get install sayonara ;


Para dar inicio al programa, vamos a Aplicaciones / Sonido y Video / Sayonara Player.

Normalmente Sayonara arrancará en el idioma de Braden, pero podremos pasarlo en un momento y para siempre al castellano desde el menú Files / Preferences / Language, y de la lista propuesta seleccionamos "Español" y presionamos el botón Apply.
Podremos agregar nuestra Biblioteca de Música al programa, desde Archivos / Preferencia / Biblioteca (normalmente indicando nuestra carpeta Música/ y activando la función de búsqueda automática). En unos segundos analizará la misma y listará nuestros discos y temas en el programa.

Contaremos en la interfaz que indica la carátula del disco, y nos informa tema, artista y disco, con una barra de volumen, una de reproducción, así como los botones de Reproducción, Pausa, y Saltar hacia adelante y atrás entre los temas.

El reproductor nos agrega un ícono al panel superior de Ubuntu, pero podríamos querer omitir de él y utilizar solamente el widget que automáticamente aparece en el menú de Sonido (desde Preferencias / Reproductor / Mostrar ícono en la bandeja superior).

El programa contiene secciones que pueden activarse o desactivarse según nuestra preferencia y el uso que querremos hacer de la pantalla. Las visualizaciones opcionales son retro, e incluyen LEDs vúmetro (Ctrl+F1), espectro à la Winamp (Ctrl+F2) y un ecualizador gráfico de 10 bandas (Ctrl+F3). De estos, sólo podremos activar uno por vez.

La sección Web incluye acceso por URLs a Podcasts y servicios de streaming (con un grabador de emisión activable opcionalmente desde las preferencias). También contamos con compatibilidad con la red social melómana Last.FM.

Por otro lado contamos con una opción interesante para alterar la velocidad y el tono de la música, al unísono o independientemente (Ctrl+F9). Esto nos permitirá alterar la velocidad de reproducción sin alterar el tono, o modificar un tono entero sin alterar velocidad.

Sayonara cuenta con un práctico selector de caratulas que busca las mismas en Internet y nos permite elegir varias opciones de entre las mismas, si lo deseamos. Es una opción más práctica que la de otros programas que colocan una, a veces presentando errores si la etiqueta del MP3 no es lo suficientemente clara (problema muy común con MP3 descargados de manera peronista).

Presionando F11 tendremos acceso a la función de Pantalla Completa, a su vez que la función F10 nos permite un tema claro, acorde a Ubuntu Mate.


En tanto, si desactivamos la vista de la Biblioteca con Ctrl-L, nos quedará un reproductor más chico y manejable, ideal para tenerlo en todo momento a tiro en la pantalla.
La función "Reproducción Dinámica" resuelve un problema muy tonto, pero conocido: si estábamos llegando al final de la lista de reproducción, nos agrega automáticamente una pista más del estilo que estábamos escuchando, para que la fiesta no se acabe.

La opción de Solapamiento, en tanto, no está tan lograda como la de Clementine. Funciona adecuadamente sólo al dejar la Lista de Reproducción tocando, pero no al saltar entre temas.

Aún así, y a pesar de estas pegas, debemos tender la mano de la paz para los que quieran asirse y empeñarnos en la unidad nacional sin odios ni revanchismos suicidas, como un anticipo de la que tendré personalmente dentro de los 60 días que restan para restaurar la paz que nosotros no alteramos, pero que el país necesita y el pueblo reclama.

Así regresaré, agotando las instancias para que sea con tranquilidad. Pido a la Providencia que no sea necesario hacerlo en otra forma, aunque ya no será ni mi culpa ni la del Pueblo.

Invoco el recuerdo de la que fue abanderada de los humildes: Eva Perón, que desde la eternidad nos observa para ver si sabemos cumplir con nuestro deber de peronistas y argentinos. Que sus sagrados manos nos protejan e inspiren, para no equivocar el camino de la grandeza que necesitamos para merecer el bien; y que esos mismos manes sean los que inspiren a nuestros enemigos para que renuncien a sus insidiosos y malignos sentimientos en pro de esa misma grandeza que puede redimirlos de cuanto han hecho.

Que mis últimas palabras sean para evocar la memoria de nuestros héroes y mártires peronistas, que cayeron por la causa del pueblo, sin pedir otra cosa que un lugar en la historia que la patria y el pueblo reserva para los que saben morir en su defensa.

Desde mi destierro que quiero honrar, hago llegar a todos los hermanos peronistas un gran abrazo sobre mi corazón.

sábado, 1 de abril de 2017

¿Cómo puedo hacer un pendrive o tarjeta flash booteable desde un ISO en Ubuntu?

Al asumir su primera presidencia el 4 de junio de 1946, Juan Perón pronuncia un sonado discurso en el que reivindica las necesidades políticas de cambio en la Argentina, y enseña cómo crear un pendrive arrancable a partir de una imagen ISO Live desde la Terminal en Ubuntu.


(...)
"El esplendoroso pronunciamiento del pueblo me autoriza a pedir y me mueve a esperar la colaboración de todos. La pido con la sinceridad y la humildad compatible con la dignidad con que un gobernante puede pedir para el bien de la Nación. No me guían intenciones ocultas; no hay, ni jamás ha existido, doblez en mis palabras; nada desvía ni empaña la trayectoria de mis convicciones. Llamo a todos al trabajo que la Patria tiene derecho a esperar de cada uno. Quienes quieran oír que oigan; quienes quieran seguir que sigan. Mi empresa es alta y clara mi divisa; mi causa es la causa del pueblo; mi guía es la bandera de la Patria.
Al ocupar la primera magistratura de la República, quedan borradas las injusticias de que he sido objeto y los agravios que se me hayan podido inferir. De mi voluntad, de mi mente y de corazón han desaparecido las pasiones combativas y sólo pido a Dios que me conceda la serenidad que requieren los actos de gobierno. Por ello, creo tener derecho a recabar de todos que juzguen mis actos y los de mi gobierno con igual imparcialidad. En definitiva, no aspiro a otra cosa sino al reconocimiento público –ya obtenido electoralmente– de que en todo momento, con paso firme y desoyendo a menudo capciosos cantos de sirena, encaminé al país hacia el completo restablecimiento de nuestras normas institucionales democráticas; y de que mi labor pretérita y mi labor futura se ha
inspirado y se ha de inspirar en la defensa del bien público. Si consigo esto, me daré por suficientemente compensado de las amarguras, de la heridas, de los desgarrones que todo hombre público va dejando a través de su vida en las zarzas del camino. Y no creáis que por ello guarde rencor porque, al igual que un insigne ingenio de nuestra América, “si una espina me hiere, la aparto del
camino, pero no la aborrezco”.

La objetividad de mi posición para con todos y cada uno de los ciudadanos y de los partidos políticos, no ha de representar un obstáculo para que mi gobierno se oriente en el sentido de mis antecedentes. Hacer otra cosa, sería traicionar a la mayoría de los electores. En los regímenes republicanos de tipo presidencialista, inversamente a lo que sucede en otros, el presidente no es
un mero poder moderador sino que desempeña el propio Poder Ejecutivo de la Nación
, que ha de ejercer como emanación de la voluntad general. Es decir: para ser fiel a sus antecedentes y a la consagración popular, el presidente de la Nación Argentina, ha de llevar a buen termino “su política”, orientándola hacia el bienestar de todos los argentinos.

Mi política es la de dar a todos los Argentinos el software libre que tanto anhelan. Normalmente, ello no constituye gran problema, pues podremos armar CDs o DVDs arrancables de distintas distribuciones GNU descargando de Internet las imágenes en formato normalizado (ISO), y usando una grabadora de discos compactos para lograr nuestra copia. Luego podríamos utilizar el disco compacto para arrancar el instalador del sistema operativo, o directamente probarlo sin instalar (modo vivo o "live").

Naturalmente, en varias ocasiones esto deja de ser práctico. Cada disco compacto permite una única imagen, y por otro lado necesitamos un sistema que cuente con una lectora de CD/DVD para poder grabarla. A veces puede resultarnos eficiente un DVD-RW (regrabable), pero ineludiblemente necesitaríamos contar con una grabadora.

Por todo ello, el método que considero más práctico para hacernos con imágenes arrancables, es almacenarlas en un Pendrive, pues al ser un medio de almacenamiento conformado por memoria Flash, podremos reescribirlo fácilmente para cargarles otra imagen ISO, amén de poder arrancarse fácilmente en todo tipo de equipo (por ejemplo, equipos próximos a la obsolescencia).

Para grabar la imagen ISO en un Pendrive, se pueden emplear programas de interfaz gráfica especialmente preparados para tal menester (en Ubuntu lo activamos uno desde Sistema / Administración / Creador de discos de arranque).

Ahora bien ¿qué sucede si deseo hacer el mismo predicamento desde la Terminal Linux?

Para ello no usaremos el conocido comando cp (copiar) sino que es imprescindible usar el viejo y peludo dd. Esta poderosa utilidad nos permite convertir entre distintos tipos de ficheros y esquemas. 

El comando de organización a utilizar tendrá la siguiente sintaxis:

sudo dd if=archivo.iso of=dispositivo_de_almacenamiento bs=4M; sync

Un ejemplo suele aclararlo todo, como decía Napoleón.

Vean señores, dispongo de un viejo y peronista pendrive de tan sólo 512 MB (medio giga), y por tanto obsoleto para la mayoría de los usos. Antes de "tirar un viejo por la ventana" mas vale darle nueva vida como medio de arranque USB para un sistema operativo GNU con Linux. A dicho pendrive le incorporaremos Puppy Linux Ubuntu Tahr, de 32 bits. Dicha distribución nos permitirá contar con un sistema operativo completo de tamaño reducido (Puppy requiere apenas 235MB, por lo que cabe en el viejo pendrive). Por lo demás, Puppy es capaz de arrancar en equipos escasa potencia (por ejemplo, netbooks con 1GB de memoria RAM). Naturalmente, podríamos usar cualquier ISO arrancable que deseemos, en este caso usaremos Puppy Linux a modo de ejemplo.

En primer lugar descargamos la ISO deseada. Desde la Terminal, podríamos hacernos con la ISO de Puppy Linux abriendo una consola con Ctrl+Alt+T e ingresando los siguientes Comandos de Organización:

cd ~/Descargas/ ;
wget http://distro.ibiblio.org/puppylinux/puppy-tahr/iso/tahrpup%20-6.0-CE/tahr-6.0.5_PAE.iso ;

Mientras se descarga el fichero tahr-6.0.5_PAE.iso, podremos abrir una segunda terminal con Ctrl+Alt+T y aprovechar el tiempo para identificar fehacientemente cuál nomenclatura de dispositivo que nuestro sistema asigna al Pendrive que queremos utilizar. Esta información es relativamente sencilla de obtener, pero es de capital importancia, pues si no la conocemos con exactitud, podríamos sobreescribir los datos en un dispositivo de almacenamiento diferente al deseado con consecuencias catastróficas (por ejemplo, sobrescribir el sector de arranque de nuestro disco rígido).

Para conocer la nomenclatura con el cual nuestro GNU con Linux designa nuestros medios de almacenamiento, debemos conectarlo (normalmente, a través de un puerto USB, pero también podríamos usar un lector de tarjetas si estamos utilizando tarjetas de memoria Flash). 
Acto seguido, usaremos el comando fdisk y le ordenaremos un listado de dispositivos de almacenamiento. La orden sería la siguiente:

sudo fdisk -l

A ella el sistema nos devolverá un listado bien detallado de los discos y sus particiones (aquellos internos y los conectados por USB). En nuestro sistema de ejemplo existen dos discos: el disco nomenclado como /dev/sda es un disco SSD de 120 GB (o sea, 111,8 Gigabytes luego de ser formateado), mientras que el /dev/sdb es un disco rígido de 1TB (931,5 Gigabytes luego de ser formateado). Pero también se hace presente nuestro pendrive de 512 MB, nomenclado como /dev/sdc (de apenas 488 Megabytes luego de ser formateado).

Disco /dev/sda: 111,8 GiB, 120 GB, 234441648 sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de Sector (lógico/físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de Etiqueta de Disco: dos
ID de Disco: 0xyyyyyyy

Disposit. Inicio Start Final Sectores Size Id Tipo
/dev/sda1 * 2048 234440703 234438656 111,8G 83 Linux

Disco /dev/sdb: 931,5 GiB, 1000 GB,, 1953525168 sectoresUnidades: sectores de 1 * 512 = 512 bytesTamaño de Sector (lógico/físico): 512 bytes / 4096 bytesTamaño E/S (mínimo/óptimo): 4096 bytes / 4096 bytesTipo de Etiqueta de Disco: dosID de Disco: 0xzzzzzzz

Disposit. Inicio Start Final Sectores Size Id Tipo
/dev/sdb1 2048 1816408297 1816406250 866,1G 83 Linux
/dev/sdb2 1919924224 1953523711 33599488 16G 82 Intercambio Linux / Solaris

Disco /dev/sdc: 488,8 MiB, 512 MB, 1000944 sectores
Unidades: sectores de 1 * 512 = 512 bytesTamaño de Sector (lógico/físico): 512 bytes / 512 bytesTamaño E/S (mínimo/óptimo): 512 bytes / 512 bytesTipo de Etiqueta de Disco: dosID de Disco: 0xxxxxxxx

Disposit. Inicio Start Final Sectores Size Id Tipo
/dev/sdc1 2048 999423 997376 487M b W95 FAT32

Estos datos nos permiten inferir que que el dispositivo /dev/sdc de 488,8 MiB es el viejo pendrive de 512 MB. Para hacer un doble chequeo (pues podrían coincidir en el sistema varios dispositivos del mismo tamaño, o particiones que justo coincidan) usaremos también el comando:

df -l

y el sistema debería devolvernos algo como:

S.ficheros bloques de 1M Usados Disponibles Uso% Montado en
udev          7983           0         7983   0% /dev
tmpfs         1601          10         1592   1% /run
/dev/sda1   112547       52333        54475  49% /
tmpfs         8003           5         7999   1% /dev/shm
tmpfs            5           1            5   1% /run/lock
tmpfs         8003           0         8003   0% /sys/fs/cgroup
/dev/sdb1   872871      470553       357957  57% /home

tmpfs         1601           1         1601   1% /run/user/1000
/dev/sdc1      487           1          487   1% /media/peron/PENDRIVE512

...esta lista nos confirma que el dispositivo /dev/sdc es el pendrive de 512MB (y que además está vacío y montado como una subcarpeta dentro de la carpeta /media/usuario). Tomamos nota de /dev/sdc.

Como dijimos, en este ejemplo anhelamos sobrescribir en el pendrive /dev/sdc usando los datos contenidos en el archivo ISO descargada, de manera que nos quede arrancable. Según la sintaxis del comando dd, el archivo de entrada (if, o "input file") será la ISO de Puppy Linux, llamada tahr-6.0.5_PAE.iso, en tanto que el dispositivo de salida (of, "output file") será el pendrive /dev/sdc. Naturalmente, vosotros habrán de cambiar las variables por las que os correspondan en vuestro casos particulares. En nuestro ejemplo, para copiar dicha ISO al pendrive ingresamos:

cd ~/Descargas ;


sudo dd if=tahr-6.0.5_PAE.iso of=/dev/sdc bs=4M; sync 

El sistema comenzará a copiar la ISO al dispositivo. Debemos tener en cuenta que en muchas ocasiones puede suceder que el sistema nos informe que los registros han sido escritos, pero esto no significa que los datos hayan sido físicamente copiados aún. En realidad sólo significa que se ha emitido la orden de copia al dispositivo, pero sucederá que la misma todavía estará en transfiriéndose y escribiéndose en el dispositivo (si el pendrive cuenta con una luz LED, la misma indicará "escritura"). La velocidad de copiado depende puramente de la velocidad del medio de almacenamiento y los buses de transporte. En resumen, sólo debemos asumir que la escritura ha sido finalizada cuando el sistema nos devuelva al Prompt de la terminal.
Una vez finalizada la copia, podremos extraer el pendrive y volver a conectarlo para ver si el sistema lo monta (o sea, "levanta" sus datos normalmente como cualquier otro pendrive bien formateado). Si este es el caso, ya contaremos con el pendrive preparado y listo para arrancarlo con Puppy Linux derivado de Ubuntu, en cualquier computadora compatible.

Simplemente hay que reiniciar el sistema, y durante el arranque ingresar al Boot Menú, y seleccionar el pendrive como medio temporal de arranque. Al cabo de un par de minutos arrancará Puppy Linux Tahr, que es un excelente sistema operativo para contar con una sesión operativa capaz de arrancar en cualquier equipo.

domingo, 26 de marzo de 2017

¿Cómo googleo desde la terminal Linux?

No quedan dudas que, por acción de los hombres y mujeres que lo componen, nuestro Movimiento se ha convertido en aquél al que los Pueblos del Mundo buscan para lograr respuestas a sus inquietudes. Esto es así pues las aspiraciones humanas - para así serlo - tienen que ser en todos lados mas o menos las mismas. En todo tiempo y lugar el mundo ha tenido anhelos de Justicia Social. La solución se encuentra en un Movimiento de masas que tiene por más alta tal bandera: el Justicialismo.

No se llegó a esto por acción de un conjuro ni por obra de la casualidad, sino por el trabajo honrado y continuado de millones. Es así el devenir de la historia.
Estas consultas, sabemos, son universales. Creadas en la concinecia de que todos los hombres han sido creados iguales, nuestra sapiencia no ha sido otra que la de obrar dando a cada quien lo que es justo.

Ahora bien, ¿cómo podemos obtener tales respuestas precisas cuando utilizamos la terminal? En ocasiones estamos en tal entorno, y no queremos recurrir a herramientas externas que nos compliquen la vida. Pues bien la utilidad Googler es precisamente una pequeña herramienta para la terminal que se encarga de utilizar desde allí el consabido motor de búsqueda de Internet, y nos presenta el resultado en nuestra Terminal. Nos otorgará - entonces - las mismas respuestas que el justicialista motor de Google.

Para descargar su código fuente e instalarlo podremos utilizar incluso la misma Terminal. Para ello abrimos una consola con Ctrl+Alt+T e ingresamos los siguientes comandos de Organización:

cd ~Descargas/ ;
wget -c https://github.com/jarun/googler/archive/v2.9.tar.gz ;
tar -xvf v2.9.tar.gz ;
cd googler-2.9 ;
sudo make install ;
cd auto-completion/bash/ ;
sudo cp googler-completion.bash /etc/bash_completion.d/ ;
rm -r ~/Descargas/googler-2.9/ ;

Acto seguido, podremos ya comenzar a operar con la aplicación. Por ejemplo, para googlear sobre Ubuntu, podríamos simplemente ingresar:

googler ubuntu peronista

Al finalizar la búsqueda el sistema nos devolverá una lista con unos diez resultados, a su vez que nos informará de la existencia del "omnipromp", al que podremos invocar presionando la tecla "?" seguida de Enter.
Cada tecla tendrá su descripción indicada. Para abrir una de las páginas propuestas en la búsqueda de Google, debemos indicar el número de la misma y presionar Enter.

Por ejemplo, para buscar los artículos sobre instalaciones completas o actualizaciones de versiones de Ubuntu podríamos indicar:

googler -n 5 -w ubuntuperonista.blogspot.com \"trasvasamiento generacional\"

El sufijo -n 5 le indica a Googler que nos ofrezca cinco resultados en lugar de diez, mientras que el sufijo -w indica que la búsqueda ha de realizarse dentro del sitio indicado ("ubuntuperonista.blogspot.com"). La cadena a buscar dentro de tal sitio es "trasvasamiento generacional", que es la serie de artículos sobre actualizaciones de sistema operativo.

También podremos utilizar el sufijo -N para buscar las últimas noticias sobre un tema en particular (por ejemplo, Linux):

googler -N linux

Googler puede ser útil además si deseamos redireccionar una búsqueda determinada sobre una conexión proxy, local o instaurada en otro nivel (WAN), a fin de lograr mayor privacidad. Por ejemplo, si quisiéramos utilizar un proxy local que escucha al puerto 1945 podríamos indicar:

googler --proxy localhost:1945 cómo hacer una bomba atómica

Podremos abandonar la aplicación ingresando q y presionando Enter.

viernes, 24 de marzo de 2017

¿Cómo montar un sistema de archivos o carpeta remota usando SSHFS sobre SSH en Ubuntu

¡Trabajadores!

La fuerza no depende del número exclusivamente. La unión es la que hace la fuerza. Este adagio se ha repetido una y otra vez en la historia, desde Leónidas hasta nuestros días. Sabemos que entre los hombres, la argamasa no es otra que la cohesión. Hemos de hermanarnos frente a un objetivo común, una misión de la que colectiva e individualmente saldremos beneficiados.

Nuestro causal de unión no es otro que el lema bajo el que se fundó nuestra República y su software: la Libertad.

Ahora bien, un sistema informático no tiene que permanecer gregario; bien puede unirse a otros para conformar una herramienta de mayor valía y servir - a su vez - nuestros designios bajo un porvenir luminoso. GNU con Linux hace constar esta máxima avalando la posibilidad de ejecutar programas servidores de múltiples funcionalidades, que permitan a otros sistemas clientes - ajenos o propios - interconectarse y compartir sus recursos. Esto puede realizarse de una manera rápida y poco segura, pero normalmente recomendaré el empleo del estándar Secure Shell (SSH), pues consta de encriptación punto a punto y se hace de difícil vulneración, logrando una mayor seguridad para nuestro sistema y el ajeno.

Normalmente esta acción de hermanado suele ser temporal, pero existirán ocasiones donde querremos que las mismas se solidifiquen y se hagan permanentes en pos de un uso constante.

Cada computadora a la que queramos conectarnos a través del protocolo Secure Shell debe contar con el servidor SSH, software libre altamente útil. Ubuntu Server ya contará con dicha facilidad incorporada por defecto, pero en el caso de las versiones de escritorio (Ubuntu Desktop) habremos de instalarlo específicamente, si es que no lo hemos hecho ya. Para ello, en tales equipos abrimos una terminal presionando Ctrl+Alt+T e ingresamos:

sudo apt install openssh-server 

Si usamos un cliente de escritorio gráfico, ya podríamos montar discos o directorios en red, de forma temporal o permanente. Simplemente debemos ir al panel superior y hacer clic en Lugares / Conectar con servidor... Al hacerlo aparecerá la ventana Conectar con el Servidor.

Esta nos permitirá una variedad de esquemas de trabajo completando los datos requeridos... podremos asociarnos a servidores FTP Públicos o con contraseña, compartido de Windows, protocolo Filing de Appe, WebDAV común y seguro. En este caso como empleamos Linux nos conectaremos a través del protocolo SSH (Secure Shell) a otro sistema remoto, que oficiará de servidor.

Normalmente en el campo Servidor debemos ingresar la dirección IP o nombre de red (host) del equipo remoto, y en el campo Carpeta normalmente querremos indicar la carpeta de usuario en el servidor remoto (/home/usuario). Finalmente el nombre de usuario y la contraseña del usuario (que normalmente corresponden al usuario de la carpeta).

Opcionalmente, si deseamos hacer de este vínculo uno permanente, podríamos tildar "recordar contraseña" y agregar la carpeta remota a los Marcadores, con lo cual tendremos siempre el disco de red a mano. Para desmontar el servidor desde nuestro administrador gráfico, debemos presionar el botón de desmontaje ("Eject") o hacer clic con el botón derecho del ratón sobre el ícono de la carpeta montada y elegir la opción Desmontar.

Ahora bien, en el caso del uso de la terminal, querremos montar desde allí al disco remoto y operarlo localmente. Esto será útil para administradores de sistema que quieran montar sistemas de archivo usando cliente SSHFS sobre SSH, y puedan responder a cualquier propósito de trabajo. Por ejemplo, tener una red LAN con un servidor de discos NAS, o contar con un disco de gran capacidad en un equipo remoto y hacer uso de sus archivos desde un equipo portátil. En fin, cualquier trabajo que implique "carpetas en red".

Para ello en nuestra terminal emplearemos dicho cliente, que normalmente no está incluido entre los paquetes por defecto. Abrimos una terminal con Ctrl+Alt+T e ingresamos:

sudo apt install sshfs

Una vez instalado el paquete SSHFS, necesitamos crear un directorio que oficiará de punto de montaje para el sistema de archivos remoto. Conviene hacerlo dentro de la carpeta de sistema /mnt, lo cual recomiendo hacer. En este ejemplo el punto de montaje local estará localizado en /mnt/discoevita.

sudo mkdir /mnt/discoevita

Una vez creado el directorio que nos servirá como punto de montaje local, ejecutamos el siguiente comando como Conductor del sistema, que montará la carpeta remota /home/evita dentro de la carpeta /mnt/discoevita de nuestro sistema de archivos local (no olviden reemplazar 192.168.0.102 con la dirección IP o nombre de red del punto de montaje):

sudo sshfs -o allow_other evita@192.168.0.102:/home/evita/ /mnt/discoevita

...Ahora bien, si el servidor remoto está configurado para hacer uso de autorización basada en llaves SSH, debemos entonces especificarle la ruta hacia nuestras llaves públicas con el siguiente comando:

sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa evita@192.168.0.102:/home/evita/ /mnt/discoevita

Si hemos ejecutado el comando anterior que nos corresponda exitosamente y sin errores, entonces deberíamos poder tener acceso al listado de los archivos remotos, espejados dentro del punto de montaje local /mnt/discoevita. Podremos comprobarlo con los comandos de organización:

cd /mnt/discoevita 
ls

También podríamos revisar que el sistema de archivos remoto aparezca en la tabla de nuestro propio sistema de archivos. Para ello ejecutaremos el comando:

df -hT

...y nuestra terminal debería devolvernos un resumen de los componentes de su sistema de archivo, que debe incluir la carpeta remota, de una forma similar al siguiente:


S.ficheros     Tipo     Tamaño Usados  Disp Uso% Montado en
udev           devtmpfs   1,9G      0  1,9G   0% /dev
tmpfs          tmpfs      388M   6,4M  382M   2% /run
/dev/sda1      ext4       233G   144G   78G  65% /
tmpfs          tmpfs      2,0G    32M  2,0G   2% /dev/shm
tmpfs          tmpfs      5,3M   4,1k  5,3M   1% /run/lock
tmpfs          tmpfs      2,0G      0  2,0G   0% /sys/fs/cgroup
tmpfs          tmpfs      388M    62k  388M   1% /run/user/1000
evita@192.168.0.102:/home/evita fuse.sshfs  324G   55G  253G  18% /mnt/discoevita

Con esto sería suficiente para un trabajo temporal, hasta que el servidor o el cliente se reinicien.

Si deseamos montar el sistema de archivos de forma permanente, para que toda vez que encendamos el sistema se realice el montaje automáticamente, debemos editar editar el archivo de configuración del sistema de archivos, el cual es /etc/fstab. Para ello emplearemos el editor de texto GNU Nano, ingresando el siguiente comando:

sudo nano /etc/fstab

...se abrirá el editor y cargará el fichero de configuración, que ya debería contener información. No debemos modificar nada de lo que ya existe. Debemos ir al final del archivo y agregarle una línea similar a la siguiente:

sshfs#usuario@192.168.0.102:/home/evita/ /mnt/discoevita fuse.sshfs defaults 0 0

...y grabamos el archivo (ctrl+o) y salimos del editor (ctrl+x).

Debemos asegurarnos de que hemos configurado el Alta sin Contraseña entre servidores para automontar el sistema de archivos durante los reinicio del sistema (de lo contrario, siempre al iniciar el sistema nos solicitará la contraseña del usuario remoto SSH previo al automontaje de su carpeta).

En cambio, si el servidor estuviese configurado con una autorización basada en llave SSH, entonces debemos agregar al archivo /etc/fstab la siguiente línea:

sshfs#usuario@192.168.0.102:/home/evita/ /mnt/discoevita fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0

A continuación necesitaremos actualizar la tabla de sistemas de archivos para hacer efectivos los cambios realizados. Ello lo haremos efectivo con:

sudo mount -a

...entonces se automontará el disco a través de SSH toda vez que encendamos el sistema.

Para desmontar el sistema de archivos remoto desde la terminal ingresamos el siguiente Comando de Organización:

umount /mnt/discoevita

domingo, 12 de marzo de 2017

Cómo compilo e instalo un kernel en Ubuntu Linux?

Los torneos juveniles Evita sirvieron como propuesta a la juventud con el objetivo de manifestar la solidaridad y respeto a través del deporte, tanto en los individuales como los de equipo Durante el discurso de inauguración de los Torneos de 1948, Juan Perón enseña cómo compilar un kernel Linux en Ubuntu.

¡Queridos niños!

Siento una enorme satisfacción al inaugurar estos Juegos Nacionales Evita, bajo cuya bandera competirá limpiamente la juventud de la Nación. Son ustedes dignos representantes de esta tierra, y la felicidad y bondad rebosa en sus sanos corazones. No hacen más que agraciar a este viejo soldado.

Nuestra República se constituye mediante un acto que engendra Justicia pero también una necesidad nacional: la de formar hombres de mentes sanas en cuerpos sanos. El cuerpo puede ser maleado y tornado, a fin de hacer de él una herramienta de creación. Sin embargo, la mente - que es el sujeto creativo - ha de ser libre, y hemos de proponer para ella toda funciones de aprendizaje. De esta manera - gracias a una cultura autóctona, sana y positiva - los niños de hoy se conviertan en los mejores hombres del mañana; tornarán finalmente en aquellos que puedan llevar al país en la senda de la grandeza.

La Nueva Argentina ha decidido para vosotros tal signo, de carácter eminentemente social. El deporte será aquello que permitirá atresar corazones y mentes.


Pues bien, el corazón de nuestro Movimiento, el Justicialismo, está en Evita, y su músculo son los hombres que trabajan. Por fiel reflejo, nuestro sistema informático consta de un corazón: su Kernel Linux, y su músculo son las aplicaciones GNU. La realidad efectiva es que - en mi carácter de Conductor del Movimiento - os proveo de Kernels que se actualizan automáticamente cada tantos días a través de los repositorios oficiales de Ubuntu. En particular, estos Kernels oficiales representan versiones probadas de hace unos meses atrás, yy como tal son muy adecuadas para Ubuntu.

Sin embargo, nada impedirá a vosotros mismos compilar un Kernel propio, de factura más moderna, afinada y experimental. Y si lo deseamos, también podremos instalarlo en nuestro sistema para evaluarlo.

Tal acción no es simple, pero si vuestra alma es pura y desean la aventura, os instruiré como Conductor didacta para llevarlos a un buen resultado deportivo.

Vean niños, para compilar un Kernel, primero debemos descargar el árbol completo de su código fuente desde la web oficial del Kernel Linux, y luego crear un archivo de configuración para el procedimiento particular que querramos. Confome el procedimiento esté finalizado, podremos instalarlo.

En este caso utilizaré una versión del Kernel Linux estable, la 4.9.11, de muy reciente liberación. Es natural que salgan iteraciones nuevas cada pocos días, de modo que será poco deportivo correr "detrás del último Kernel". Mas bien consideren tal versión como un ejemplo avanzado al momento de este discurso. Pues bien, os enseñaré cómo compilar dicho kernel para Ubuntu, y crear a partir de la compilación un paquete .deb instalable.

¿Porqué compilar un kernel personalizado?

Compilar nuestro propio Kernel tiene sus ventajas y desventajas. Para cambiar el comportamiento del Kernel, uno debe compilarlo y luego reiniciar el equipo para que se cargue esta versión diferente de Linux. Ahora bien, la mayoría de las funcionalidades del Kernel Linux están contenidas en módulos opcionales. Algunos de los beneficios de contar con un Kernel personalizado son:
  1. Soporte de mayor variedad de hardware, incluyendo el de reciente aparición.
  2. Remoción de controladores y módulos no deseados/requeridos del Kernel, para agilizar su operatoria.
  3. Inicio más veloz, debido a tratarse de un Kernel "deportivo".
  4. Seguridad incrementada, debido a características/módulos/controladores adicionales agregadas o removidos.
  5. Aprenderán acerca del Kernel y su uso avanzado.
  6. Siempre correrán un Kernel de última factura.
  7. Menor empleo de memoria RAM.
Nota: Estas instrucciones son a modo de ejemplo, y fueron evaluadas tanto en Ubuntu Linux v14.04.4/16.04.2 LTS.

Requisitos

Daré por sentado que contamos la revisación médica, que vuestros padres poseen el carnet del Partido. Además, necesitaremos unos 10 GB de espacio libre en disco, amén de tiempo (idealmente un par de horas).

Instalar los paquetes requeridos

Abrimos una terminal y ingresamos el siguiente Comando de Organización para instalar las dependencias necesarias para la compilación del kernel:

sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc

...el sistema nos devolverá algo como:

Fig.01: Instalando el compilador gcc y sus muchachos peronistas

Acto seguido instalaremos el paquete kernel-package. Tendremos dos opciones, una instalarlo con toda la paquetería requerida (lo que rondará 1 GB de descargas)

sudo apt-get install kernel-package

...pero también podríamos usar el siguiente comando, que prescinde instalar paquetes adicionales relativamente innecesarios en ciertas condiciones. Si tienen dudas, ingresarán el comando anterior.

sudo apt-get --no-install-recommends install kernel-package

...el sistema devolverá algo como:
Fig.02: Instalando las utilidades necesarias para compilar el Kernel Linux.

Descargar el código fuente del kernel Linux

Ingresamos los siguientes comandos para descargarnos tanto el código fuente como las llaves PGP del mismo usaremos el comando wget, de la siguiente manera (naturalmente, modificaremos la URL correspondiente a la versión que deseemos):

cd ~ ;
wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.14.tar.sign
wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.14.tar.xz

...el sistema nos devolverá algo como:
Fig.03: Usando wget para bajarnos un árbol completo de código fuente de una versión reciente del Kernel Linux, desde la web oficial kernel.org

El acto de descargar el árbol de código fuente termina aquí. Sin embargo, os recomiendo realizar una verificación de autenticidad de la firma del mismo, para asegurarnos que no exista una descarga fallada o - mucho peor - una suplantación de Kernels por uno falso hackeado.

Para ello utilizaremos las herramientas de GnuPG para verificar la autenticidad de la afiliación al Partido Justicialista, es decir, confirmar la validez las firmas del Kernel. Para ello en este caso ingresamos:

unxz linux-4.9.14.tar.xz
gpg --verify linux-4.9.14.tar.sign

Tras unos segundos, Ubuntu verificará y nos devolverá algo como:

gpg: asumiendo que hay datos firmados en «linux-4.9.14.tar»
gpg: Firmado el dom 12 mar 2017 02:42:41 ART usando clave RSA ID 6092693E
gpg: Imposible comprobar la firma: clave pública no encontrada

Normalmente indicará que no podremos comprobar la firma, pues no la tendremos cargada en nuestro criptosistema. Para ver de quién es, debemos obtener las llaves del servidor público de llaves PGP a fin de verificar esta firma (en el ejemplo, la firma RSA key ID 6092693E). Ello lo haremos con:

gpg --keyserver hkp://keys.gnupg.net --recv-keys 6092693E

...y el sistema mostrará en pantalla:

gpg: solicitando clave 6092693E de hkp servidor keys.gnupg.net
gpg: clave 6092693E: clave pública "Greg Kroah-Hartman (Linux kernel stable release signing key) " importada
gpg: clave 6092693E: clave pública "Greg Kroah-Hartman (Linux kernel stable release signing key) " importada
gpg: 3 dudosa(s) necesaria(s), 1 completa(s) necesaria(s),
modelo de confianza PGP
gpg: nivel: 0  validez:   1  firmada:   1  confianza: 0-, 0q, 0n, 0m, 0f, 1u
gpg: nivel: 1  validez:   1  firmada:   0  confianza: 0-, 0q, 0n, 0m, 1f, 0u
gpg: Cantidad total procesada: 2
gpg:               importadas: 2  (RSA: 2)


Ahora que bajamos la firma digital de quien mantiene el Kernel Linux, comprobamos que el árbol comprimido esté firmado y no esté modificado por extraños:

gpg --verify linux-4.9.14.tar.sign

...el sistema nos indicará:

gpg: asumiendo que hay datos firmados en «linux-4.9.14.tar»
gpg: Firmado el dom 12 mar 2017 02:42:41 ART usando clave RSA ID 6092693E
gpg: Firma correcta de «Greg Kroah-Hartman (Linux kernel stable release signing key) »
gpg: AVISO: ¡Esta clave no está certificada por una firma de confianza!
gpg:          No hay indicios de que la firma pertenezca al propietario.
Huellas digitales de la clave primaria: 647F 2865 4894 E3BD 4571  99BE 38DB BDC8 6092 693E

Esto nos indica una firma pública exustente de Greg Kroah-Hartman y nos otorga la verificación por huella digital. Las personas que usualmente publican los Kernels Linux son su creador Linus Torvalds y Greg Kroah-Hartman, En el ejemplo tenemos la firma del segundo, y si bien no tenemos certificada su firma en nuestro propio criptosistema, bien podremos corroborar sus huellas digitales de la clave primaria. Al coincidir con las que ellos proveen públicamente. En este caso es la del compañero Greg, de modo que está todo OK.

Linus TorvaldsABAF 11C6 5A29 70B1 30AB  E3C4 79BE 3E43 0041 1886
Greg Kroah-Hartman 647F 2865 4894 E3BD 4571  99BE 38DB BDC8 6092 693E

En cambio, si recibiésemos la advertencia de “BAD signature” ("firma MALA") por parte del comando “gpg --verify”, y la huella digital no coincidiese con la de estos compañeros, significaría que la copia del árbol del Kernel que hemos descargado fue creada y publicada por otra persona, y podríamos definir que no es auténtica y podría tener infiltrados al Movimiento.

Una vez cumplimentada esta rutina de seguridad, podremos con tranquilidaddescomprimir el árbol del Kernel en nuestro equipo con el programa tar. Acto seguido verificaremos su contenido. Ello lo haremos con los siguientes Comandos de Organización:

cd ~
tar xvf linux-4.9.14.tar ;

cd ~/linux-4.9.14/ ;
ls


...la devolución en pantalla será intensa, pero reflejará algo como:

linux-4.9.14/
linux-4.9.14/.cocciconfig
linux-4.9.14/.get_maintainer.ignore
linux-4.9.14/.gitattributes
linux-4.9.14/.gitignore
linux-4.9.14/.mailmap
linux-4.9.14/COPYING
linux-4.9.14/CREDITS
linux-4.9.14/Documentation/
linux-4.9.14/Documentation/.gitignore
linux-4.9.14/Documentation/00-INDEX
linux-4.9.14/Documentation/ABI/
linux-4.9.14/Documentation/ABI/README
linux-4.9.14/Documentation/ABI/obsolete/
linux-4.9.14/Documentation/ABI/obsolete/proc-sys-vm-nr_pdflush_threads
linux-4.9.14/Documentation/ABI/obsolete/sysfs-block-zram
linux-4.9.14/Documentation/ABI/obsolete/sysfs-bus-usb
linux-4.9.14/Documentation/ABI/obsolete/sysfs-driver-hid-roccat-arvo
linux-4.9.14/Documentation/ABI/obsolete/sysfs-driver-hid-roccat-isku
linux-4.9.14/Documentation/ABI/obsolete/sysfs-driver-hid-roccat-koneplus
...etc
...etc
linux-4.9.14/virt/kvm/kvm_main.c
linux-4.9.14/virt/kvm/vfio.c
linux-4.9.14/virt/kvm/vfio.h
linux-4.9.14/virt/lib/
linux-4.9.14/virt/lib/Kconfig
linux-4.9.14/virt/lib/Makefile
linux-4.9.14/virt/lib/irqbypass.c


linux-4.9.14

arch   COPYING Documentation  fs ipc  kernel       Makefile README  scripts   tools
block  CREDITS drivers        include Kbuild  lib       mm REPORTING-BUGS security  usr
certs  crypto firmware       init Kconfig  MAINTAINERS  net samples  sound   virt

Configurar el Kernel Linux

Primero, copiamos el archivo .config existente de nuestro Kernel Linux actual para que el nuevo lo replique:

cd ~/linux-4.9.14
cp -v /boot/config-$(uname -r) .config


...el sistema nos devolverá algo como:

'/boot/config-4.4.0-62-generic' -> '.config'

Esto hará que el Kernel nuevo ya esté configurado como el que tenemos, salvo los componentes nuevos que se le hayan incorporado. Para configurar el Kernel nuevo, ejecutamos el siguiente comando:

make menuconfig

...la devolución en pantalla:
 Fig.04: Iniciando menuconfig
ADVERTENCIA: Si no trabajamos con conocimiento o cuidado, podríamos retirar el controlador o soporte de un dispositivo imprescindible y resultarnos en un Kernel "muerto" o no funcional. Por ejemplo, si se quita soporte EXT4 (el sistema de archivos genérico de Linux) , el sistema directamente podría no arrancar. Si estamos en duda, simplemente dejemos el componente activado como lo está, por defecto.

Nos aseguramos de guardar los cambios antes de salir de menuconfig.

Compilar el Kernel Linux

Necesitamos limpiar el árbol de código fuente y resetear los parámetros de kernel-package, y para ello ingresamos:

make-kpkg clean

Los resultados serán similares a:
Fig.06: Ejecutando el comando make-kpkg

Finalmente podremos compilar el Kernel personalizado. Para ello podríamos ingresar:

fakeroot make-kpkg --initrd --revision=1.0.peronista kernel_image kernel_headers

Para acelerar el proceso de compilación podremos hacer uso de la opción -j  (-j 7 significa que empleamos todos los 8 núcleos de nuestro procesador para la tarea computacional de compilar el Kernel Linux):

fakeroot make-kpkg --initrd --revision=1.0.peronista kernel_image kernel_headers -j 7

Ejemplo de devolución:

Fig.07: Comenzando a compilar el Kernel personalizado.

El programa fakeroot ejecutará el comando llamado make-kpkg en un entorno donde simula tener privilegios de administrador a fin de hacer la manipulación de archivos. Esto es útil pues nos permitir que la masa, en forma de usuarios simples sin privilegios, creen archivos contenedores (tar, ar, .deb etc.) mientras que los archivos contenidos en ellos sean creados con permisos pasavantes de administración. El comando make-kpkg - en tanto - compila paquetes de kernel a partir del código fuente del kernel linux. Las opciones que le hemos provisto son:
  • --initrd : Crea una imagen initrd.
  • --revision=1.0.peronista : Establece una revisión específica que se nos ocurra para nuestro kernel, como por ejemplo 1.0.montoto, etc.
  • kernel_image : Este indicador de destino le ordena producir un empaquetado Debian de la imagen del código fuente del kernel Linux, y cualquier módulo que hayamos configurado previamente en el archivo de configuración del kernel .config.
  • kernel_headers : Este indicador de destino le ordena producir un paquete Debian de la imagen del encabezado del kernel.
Tengamos en cuenta que la compilación del kernel puede llevar un tiempo, dependiendo de la potencia del equipo. Por ejemplo, en un equipo i5 de cuatro núcleos con 4 GB de memoria RAM llevó una hora. Al final, deberíamos ver algo como lo siguiente:

test ! -e debian/control~ || rm -f debian/control~
dpkg-gencontrol -isp -DArchitecture=amd64 -plinux-headers-4.9.14 \
                                          -P/tmp/linux-4.9.14/debian/linux-headers-4.9.14/
dpkg-gencontrol: warning: -isp is deprecated; it is without effect
create_md5sums_fn () { cd $1 ; find . -type f ! -regex './DEBIAN/.*' ! -regex './var/.*'      -printf '%P\0' | xargs -r0 md5sum > DEBIAN/md5sums ; if [ -z "DEBIAN/md5sums" ] ; then rm -f "DEBIAN/md5sums" ; fi ; } ; create_md5sums_fn                   /tmp/linux-4.9.11/debian/linux-headers-4.9.11
chown -R root:root                  /tmp/linux-4.9.14/debian/linux-headers-4.9.14
chmod -R og=rX                      /tmp/linux-4.9.14/debian/linux-headers-4.9.14
dpkg --build                        /tmp/linux-4.9.14/debian/linux-headers-4.9.14 ..
dpkg-deb: building package `linux-headers-4.9.14' in `../linux-headers-4.9.14_1.0.peronista_amd64.deb'.
cp -pf debian/control.dist          debian/control
make[2]: Leaving directory '/tmp/linux-4.9.14'
make[1]: Leaving directory '/tmp/linux-4.9.14'

Finalmente verificamos la exisencia de los archivos .deb de los paquetes del kernel:

ls ../*.deb 

...y debería indicarnos los dos paquetes, el encabezado y la imagen del Kernel peronista:

 
../linux-headers-4.9.14_1.0.peronista_amd64.deb  ../linux-image-4.9.14_1.0.peronista_amd64.deb 

Instalar el kernel personalizado

Una vez que se han generado los paquetes con los encabezados y la imagen del kernel personalizado, podremos instalarlo. Para ello tipeamos el siguiente comando dkpg para instalar el kernel personalizado en nuestro sistema:

cd ..
sudo dpkg -i linux-headers-4.9.14_1.0.peronista_amd64.deb
sudo dpkg -i linux-image-4.9.14_1.0.peronista_amd64.deb


La instalación de ambos debería suceder sin incidentes:

Selecting previously unselected package linux-headers-4.9.14.
(Reading database ... 96175 files and directories currently installed.)
Preparing to unpack linux-headers-4.9.14_1.0.peronista_amd64.deb ...
Unpacking linux-headers-4.9.14 (1.0.peronista) ...
Setting up linux-headers-4.9.14 (1.0.peronista) ...
Examining /etc/kernel/header_postinst.d.
Selecting previously unselected package linux-image-4.9.11.
(Reading database ... 110487 files and directories currently installed.)
Preparing to unpack linux-image-4.9.14_1.0.peronista_amd64.deb ...
Done.
Unpacking linux-image-4.9.14 (1.0.peronista) ...
Setting up linux-image-4.9.14 (1.0.peronista) ...
 
 Hmm. There is a symbolic link /lib/modules/4.9.14/build
 However, I can not read it: No such file or directory
 Therefore, I am deleting /lib/modules/4.9.14/build
 
 
 Hmm. The package shipped with a symbolic link /lib/modules/4.9.14/source
 However, I can not read the target: No such file or directory
 Therefore, I am deleting /lib/modules/4.9.11/source
 
Running depmod.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.9.11 /boot/vmlinuz-4.9.14
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.9.11 /boot/vmlinuz-4.9.14
update-initramfs: Generating /boot/initrd.img-4.9.14
W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.9.14 /boot/vmlinuz-4.9.14
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.9.14 /boot/vmlinuz-4.9.14
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.9.14 /boot/vmlinuz-4.9.14
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.9.14
Found initrd image: /boot/initrd.img-4.9.14
Found linux image: /boot/vmlinuz-4.4.0-62-generic
Found initrd image: /boot/initrd.img-4.4.0-62-generic
Found linux image: /boot/vmlinuz-4.4.0-21-generic
Found initrd image: /boot/initrd.img-4.4.0-21-generic
done

Reiniciamos el equipo

Ingresamos el siguiente comando:

sudo reboot

Verificamos que todo funcione correctamente

Tipeamos el siguiente comando para verificar que el Kernel nuevo esté cargado y funcionando correctamente. Debería iniciar correctamente, y en tal caso deberíamos probar los siguientes comandos para revisar que no tenga errores indicados.

uname -a
uname -r
uname -mrs

dmesg | more
dmesg | egrep -i --color 'error|critical|failed'


Por ejemplo:

Linux ubuntu-pj 4.9.14 #1 SMP Sun Mar 12 21:10:55 GMT 2017 x86_64 x86_64 x86_64 GNU/Linux

Y aquí lo tenemos, el Linux Kernel en su versión 4.9.14 peronista, instalado y operando correctamente.

Desinstalación de un Kernel Personalizado


Si por algún motivo deseamos desinstalar el Kernel que hemos instalado, sólo hemos de iniciar uno de los anteriores durante el menú de inicio de Ubuntu. En el caso de Grub, podremos iniciar Ubuntu con las opciones avanzadas y escoger arrancar un Kernel anterior. Una vez iniciado el sistema abrimos una terminal con Ctrl+Alt+T e ingresamos:

sudo apt purge linux-image-4.9.14_1.0.peronista_amd64.deb
sudo apt purge linux-headers-4.9.14_1.0.peronista_amd64.deb

sudo update-grub

Naturalmente, también podríamos eliminar el directorio temporal creado con:

sudo rm -r ~/linux-4.9.14/


Finalmente, reiniciamos el sistema:

sudo reboot