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 

martes, 7 de marzo de 2017

¿Cómo puedo instalar clones de juegos clásicos en Ubuntu?


El 6 de marzo de 1953 frente al logro social de inaugurar el Ciclo Lectivo en un nuevo Hogar Escuela Eva Perón, Juan Perón aprovecha para educar sobre cómo instalar programas en Ubuntu, y en particular clones libres de juegos clásicos.

Compañeros, es bajo la advocación y recuerdo de Eva Perón que quiero dejar inaugurado este hogar escuela pensando que ella los tutelará a todos desde el más allá, donde estoy persuadido que seguirá pensando y luchando por todos nosotros.
La educación es un bien social imprescindible para el crecimiento de los pueblos. Es ello el motivo de que nuestro Movimiento encarne sin trepidación los derechos de los educandos, y también los de aquellos que - como didactas - han dedicado a este apostolado su vida.

Sabemos que un hombre puede transmitir su conocimiento, no obstante la mejor de las enseñanzas es la que obra por el ejemplo. Toda acción constituye entonces una enseñanza que - cuando es así elevada - no requiere instruirse, sino hacerse. Así el niño comprenderá como si estuviese jugando, la cual es, en mi opinión, la manera más sana en la que se puede aprender.


Nuestro sistema operativo GNU con Linux, en su variante Ubuntera, cuenta con enormes facilidades para la enseñanza, y en ocasiones me han preguntado porqué no hago más por transmitirlas. He dicho que mis palabras son las de un Conductor, y que en ellas intento obrar por el ejemplo, para quienes así lo necesiten. Sin embargo, en esta gran ocasión, detallaré más lo que estoy haciendo para beneficio de todos. Recuerden: sensibilidad e imaginación son base para ver, ver es base para apreciar, apreciar es base para resolver, y resolver base para actuar.

La instalación de juegos es una acción propicia para saber más de estos cometidos prácticos.

En Ubuntu podremos instalar desde juegos muy someros para la terminal hasta los más tecnológicos y avanzados desarrollos lúdicos, con grafismos alucinantes. Los juegos de terminal de texto eran populares entonces, pero hoy a muchos podrían a muchos parecerles superados.



Naturalmente que este no es el caso, pero hoy profundizaremos sobre juegos para las terminales gráficas, aquella llamada "X", conformando opciones que interesen y sirvan a todos para jugar. Ya he indicado cómo instalar y jugar a Micropolis y Pingus, clones de los clásicos Simcity de Maxis (1989) y Lemmings de Psygnosis (1991). En el primero  replicaremos un barón del conurbano en el conocido juego sinfín de construcción de ciudades (al que se le incorporaron funcionalidades que recién aparecerían en las siguientes versiones).
...en tanto que en el segundo debemos conducir una tonta horda de pingüinos a salvo mediante órdenes de conducción que no los lleven a la muerte.

Esos ya los he explicado. Nuestro poderoso Movimiento también ha desarrollado otros juegos clásicos simples que podremos instalar en nuestro sistema y usarlos también para aprender.  El procedimiento de instalar juegos es similar al de instalar cualquier otro tipo de paquete de software libre, y nos permite entender mejor nuestro sistema operativo, lograr un mejor manejo del mouse y los dispositivos de entrada para aquellos que son absolutos principiantes, y porqué no, nos otorgan un merecido y sano divertimento.

Podremos instalar otros dos juegos arcade de una sola vez, haciendo uso de la terminal y el programa apt, el cual es un gestor de paquetes bien dotado. Para ello primero abrimos la terminal con Ctrl+Alt+t, y a continuación ingresaremos un comando encadenado, tipeando lo siguiente:


sudo apt install moon-lander funnyboat alienblaster

Vean señores, se dice comando encadenado pues el mismo consta de varias órdenes en una. Las desglosaremos individualmente para su comprensión, a saber:  

  sudo es un comando que significa "realizar como súper usuario" (en inglés, super-user do, abreviado sudo. Toda vez que ingresemos esta orden en particular como prefijo de otras, el sistema nos solicitará nuestra contraseña de superusuario para continuar, y se la empleará como orden "llave" cuando se desee realizar cualquier tipo modificación al sistema (por ejemplo, instalar o desinstalar un programa).

  apt es el programa de instalación o desinstalación de paquetes y en este caso es la orden principal de todo este comando en particular. A continuación le indicamos qué queremos hacer con apt, por lo que le indicamos el sufijo install ("instalar"). Y finalmente se indican los nombres de paquetes a instalar, en este caso los paquetes de los juegos moon-lander y funnyboat.

En resúmen, sudo apt install moon-lander funnyboat le está ordenando al intérprete de comandos que como superusuarios, deseamos establecer una acción de modificación del sistema, en la cual ordenamos que apt descargue de internet e instale los paquetes moon-lander y funnyboat. Al presionar Enter, el sistema nos solicitará nuestra contraseña "a ciegas", y una vez ingresada la misma, procederá a la descarga e instalación.

Una vez que lo haya terminado, para ejecutar el primer juego debemos ir a Aplicaciones / Juegos / Moon Lander.

Se trata de una versión del clásico Lunar Lander, en el cual habremos de depositar suavemente nuestra cohete espacial en una de las zonas designadas en un cuerpo planetario (considerando acción gravitatoria, potencia y consumo de combustible de nuestros retrocohetes). Usaremos las Flechas del cursor para activar los mismos, activándolos intermitentemente cual Neil Armstrong.

El segundo es una arcade 2D que podremos encontrar en Aplicaciones / Juegos / Funnyboat. Nos haremos a la mar en un simpático vaporcito saltarín. Lo manejamos con las flechas del cursor y disparamos su cañoncito con la barra espaciadora.
El tercero es un clónico de los clásicos fichines con scroll vertical, para reventar naves espaciales y recoger Powerups. Lo encontraremos en Aplicaciones / Juegos / Alienblaster.
Además de los arcades, otras de los softwares lúdicos favoritos son los solitarios, ya que todo entorno operativo gráfico que se precie incluye alguno capaz de distraernos. En su momento, tenían la secreta intención de adiestrar al usuario en el uso del entonces novedoso ratón. Nuestro sistema operativo posee varios paquetes de solitarios, que podremos instalar desde la terminal si ingresamos el comando:

sudo apt install ace-of-penguins

...se instalará en Aplicaciones / Juegos un combo de juegos de solitarios para nuestro entorno gráfico. Entre ellos los consabidos solitarios de baraja inglesa, el FreeCell, Golf, Spider, Thornq y aquél que es "el de Window$". También tendremos un buscaminas, el juego de fichas Taipei, el damas chinas ("pegged") etc.

Si somos muy fanáticos de los solitarios de cartas, podremos instalar el gestor de solitarios PySolFC con:

sudo apt install pysolfc pysolfc-cardsets

Lo ejecutamos desde Aplicaciones / Juegos / PySol Fan Club Edition.



Se trata de un enorme conjunto de solitarios de baraja, totalmente configurables. Podremos elegir entre los distintos juegos soliarios de baraja desde el menú Select. Allí tendremos los más comunes (submenú "Popular games"), junto con una variedad muy grande de distinto tipo de solitarios, todos ellos categorizados.

Mediante la Ctrl+E podremos elegir entre distintas barajas para jugar. Atento al tamaño de los monitores actuales, recomiendo las barajas de tamaño extra-grande listadas bajo la categoría Size / XLarge cardsets.
Desde el menú Options / mouse podremos configurar cómo queremos usar el ratón (arrastrar y soltar o como yo prefiero, "apuntar y cliquear"). Mediante la tecla H nos sugerirá una jugada, mientras que Ctrl+D activa/desactiva la modalidad "demostración".

Podremos activar la opción de autoresolución (Autodrop), la cual ejecuta automáticamente los apilamientos y hace mas ameno el juego computado.
Otra linda suite es el aisleriot, que además de venir en castellano, tiene una interfaz muy simple (menos intrincada que la de PySolFC). Es ideal para los novatos. lo instalamos con:

sudo apt install aisleriot


En tanto, podremos instalar un completo juego de Póker, tanto para jugar contra jugadores controlados por la CPU, como para loguearnos a servidores públicos de póker online. Lo haremos con:

sudo apt install pokerth


También podemos desear clásicos de tiros, que involucran muerte y destrucción. Por ejemplo ingresando:

sudo apt install freedoom

....instalaremos un clon liberado bajo GPLv2 del mítico superclásico de acción Doom, de John Romero para Id Software. Se trata de un shooter tridimensional en primera persona, en el cual habremos de ingresar a una base infestada de horripilantes alienígenos gorilas a los cuales debemos eliminar con un pesado arsenal.
Otros juegos tienen reminiscencias clásicas pero con ideas totalmente novedosas. Un ejemplo es Rocks n Diamods ("rocas y diamantes"), que podremos instalar con:

sudo apt install rocksndiamonds

La instalación incluye solamente lo que podemos llamar un frontend del juego, pero los niveles y los contenidos debemos descargarlos específicamente. Afortunadamente ello es simple pues existe un módulo que se activará automáticamente durante la instalación. Simplemente seleccionaremos qué módulos deseamos instalar.

Yo he seleccionado todos. Debemos usar la tecla Tab y presionar el botón aceptar para comenzar la descarga, la cual llevará unos escasos segundos o minutos.

Una vez concluida la descarga tendremos un juego puzzle, que podremos ejecutarlo con el comando:

rocksndiamonds

...o podremos crear un lanzador para el mismo en Aplicaciones / Juegos.

El juego en sí tiene contiene elementos del clásico Boulder dash, así como Sokoban, bomberman y varios otros. Debemos mover al personaje cavando túneles y recoger los diamantes necesarios y luego alcanzar la salida, mientras que debemos evitar ser aplastados o encerrados por las rocas que pueden caer por gravedad. En un inicio los niveles serán sencillos, pero con el correr de los mismos se irán tornando en puzzles cada vez más complicados.

Naturalmente que también tendremos un clon de Sokoban (aquel juego donde había que empujar inteligentemente cajas), instalando el Xye. Lo haremos con:

sudo apt install xye

...y lo ejecutaremos desde Aplicaciones / Juegos / Xye.

En el controlaremos a nuestro personaje, una canica verde, y habremos de empujar las cajas amarillas, mientras "comemos" o nos desplazamos a lo largo del campo de juego.
Finalmente, podríamos querer instalar los clones del clásico de clásicos: la obra maestra del compañero Alexei Pajitnov: el Tetris. Se trata de un puzzle en base a los tetraminos soviéticos. Y en su honor contaremos no con uno, sino con dos clones:

sudo apt install ltris quadrapassel

Ltris es una variante moderna que cuenta con la opción de jugar de a dos o contra hsta 3 jugadores controlados por la CPU, incluso en pantalla completa.
Mientras tanto, Quadrapassel es una variante simple y directa, que cuenta con una opción de pausa.

sudo apt install blockout2 

Este tercer clon mas bien es una iteración libre del Blockout II de Jean-Luc Pons, de 1989. En ella empleamos tetraminos, pero en un entorno tridimensional.