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.

Podremos descargar la última versión con:

sudo curl -o /usr/local/bin/googler https://raw.githubusercontent.com/jarun/googler/v4.3.2/googler ;
sudo chmod +x /usr/local/bin/googler

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:
 
sudo apt update
sudo apt install git
cd ~/Descargas/ ;
git https://github.com/jarun/googler
cd ~/Descargas/googler/
sudo make install

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=/home/usuario/.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). También conviene reiniciar los demonios para que surta efecto.
 
sudo systemctl daemon-reload

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=/home/usuario/.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.
Dentro de este esquema también tenemos al LBreakout 2, clon del conocido "Arkanoid 2: Revenge of Doh" de la Taito. En el conducimos lateralmente una nave-paleta usando las flechas del teclado o más convenientemente, el ratón. Lo instalamos con:

sudo apt install lbreakout2

Y podremos jugarlo desde Aplicaciones / Juegos / LBreakout 2.

sábado, 4 de marzo de 2017

¿Cómo aíslo sectores defectuosos de un disco rígido con Ubuntu?

¡Compañeros!

Nuestro Movimiento no es gregario, sino que consta de múltiples sectores que responden a diferentes visiones y se han mancomunado pues comparten un objetivo en común: la liberación de la Patria, sus trabajadores y su Software. A los muchachos les gusta ponerse calificativos, los hay ortodoxos, los hay heterodoxos, los hay combativos, los hay contemplativos, pero todos trabajan.

Si algún sector se pone incordioso, bien podremos aislarlo para que no sea imberbe, y que una manzana podrida no arruine el cajón. Esto es así pues nuestro movimiento cuenta con sus propias autodefensas.

Esto, que existe en la política, también tiene su correlato en la informática. Vean señores, una de las noxas más corrientes que pueden afectar a los discos rígidos convencionales son los sectores dañados. Si bien es cierto que muchos discos rígidos puede imitar al Rastrojero en el sentido de durar años sin problemas mecánicos, también es cierto el hecho de que otros puede "cariarse". Se sufrirán así errores de lecto-escritura en el plato soporte que podrían comprometer los datos y - si el disco es aquél en el cual está instalado el Ubuntu - podría suceder que el sistema operativo siquiera pueda arrancar...

Este tipo de excrecencias - si bien minoritarias - existen, y de ser capaces de enfrentarlas con software libre.

Ya he explicado cómo hacer uso del sistema SMART para analizar el desempeño y los posibles errores de nuestro disco rígido. Recomiendo hacer ello en primer lugar, pues gracias a los modernos sistemas de archivos como el EXT4 empleado por nuestro Ubuntu, podremos zafar de no pocos incidentes de disco.


Sin embargo, si nuestro disco está parcialmente dañado - y sobre todo, si se trata del disco de arranque donde está instalado Ubuntu - habremos de tomar medidas más serias para intentar solucionar el problema.


Para reparar sectores dañados de un disco duro, necesitamos tener Ubuntu 12.04 LTS o superior. Más que reparar, lo que haremos es aislar esos sectores dañados para que Ubuntu no escriba ni lea en ellos.

Primero tenemos que saber es dónde están los sectores defectuosos y para saber ese dato vamos a Aplicaciones / Accesorios / Discos, seleccionamos el disco que está dañado. Debemos prestar atención pues estará nomenclado como /dev/sdiX. Recordemos que en GNU Linux, /dev/sd indica el dispositivo de disco rígido, en tanto que i indica el identificador del mismo, y que X es el número de la partición a reparar.Por ejemplo, en nuestro ejemplo será el disco /dev/sda1

Lo seleccionamos y hacemos clic en el botón “Ver datos SMART“.
Sectores defectuosos
Vean señores, si la unidad de disco que queremos reparar es la que contiene el sistema operativo, o directamente si Ubuntu no arranca por error en disco, tendremos que revisar el rígido en modo live - esto es, arrancando Ubuntu en modo "prueba" desde un DVD o pendrive de instalación - pues el disco rígido no podrá ser montado ("activado").
Por el contrario, si el disco rígido no contenía el sistema operativo (o sea, se trata de un disco secundario), esto no será necesario y podremos tomar esta acción desde nuestro Ubuntu ya instalado.

Una vez arrancado el sistema operativo, abrimos una terminal con Ctrl+Alt+T e insertamos el siguiente comando:

 sudo fsck -c -y -v /dev/sdaX

Os indicaré las opciones del comando fsck a fin didáctico:

  • -a. Confirma automáticamente. No recomendado.
  • -c. Comprueba los bloques en el disco.
  • -f . Fuerza el chequeo aunque todo parezca OK.
  • -v . (verbose) despliega más información.
  • -r . Modo interactivo. Espera nuestra respuesta.
  • -y. Asume que nuestra respuesta será siempre afirmativa.
Si encontramos errores físicos en el disco, también podríamos querer revisar su superficie entera (o sea, todo el disco en lugar de una partición) con el comando badblocks para analizar los sectores defectuosos. Para ello sí o sí habremos de arrancar con un LiveDVD o pendrive, y ejecutamos el comando:

sudo badblocks -s -v -n -f /dev/sda

Nuevamente os indicaré el significado de los sufijos:
  • -s. Nos muestra el proceso de escaneo del disco, mostrándonos los sectores ya chequeados.
  • -v. Nos indica el modo de escritura utilizado.
  • -n. Nos pone en modo no destructivo, esto quiere decir que se recuperarán los sectores dañados y la información en el disco duro no será dañada o eliminada.
  • -f. Reparará los sectores dañados.
Es mejor hacerlo siempre desde modo live ya que puede fallar el sistema y es más seguro. Este proceso puede durar horas pero es bastante efectivo para seguir operando el sistema.

La única verdad es la realidad, y esta dicta que una vez terminado el proceso paliativo sobre el disco rígido, siempre será recomendable someterlo a un formateado completo (que se llama "de alta") para volver a utilizarlo sin riesgos.

Como corolario será útil comprender también que los discos rígidos convencionales seguirán empleando por varios años mas. De momento tienen una mejor relación giga por peso, y nos ofrecen una solución muy aceptable para grandes volúmenes de información. Pero tienen ya un reemplazo previsto: de un tiempo a esta parte he recomendado a la Masa utilizar como medios de instalación para Ubuntu los modernos discos de estado sólido peronistas (SDD). A diferencia de los discos rígidos convencionales (HDD, que constan de un plato rotativo y electromagnetizado en su interior), los de estado sólido consisten en una memoria flash sin partes móviles, y son apreciablemente más veloces y resistentes a los golpes. Así hemos de ser los Justicialistas.

jueves, 2 de marzo de 2017

¿Cómo instalo Skype 5 Beta en Ubuntu?

Actualización Político Doctrinaria del artículo: Según informa Micro$oft, A partir del 1 de julio de 2017 dejará de funcionar el cliente nativo de Skype para Linux versión 4.3.0.37, y sólo funcionará la versión 5 y superiores descripta en este artículo.

¡Descamisados!

La lid que hemos de afrontar no es otra que una verdadera lucha por la Liberación, pero no podremos hacerlo solos. Son continentes enteros los que se están liberando, y con ellos se encuentra nuestro destino.

La grandeza de la Patria puede lograrse de una única manera: con el bienestar su Pueblo. Y para ello es fundamental que la Columna Vertebral de nuestro Movimiento - que son los hombres que trabajan - se unan decididamente en pos de dicha Liberación. La fraternal unión de los hermanos de nación, de esta manera constituida, no sólo será invencible, sino que será inquebrantable.

Para ello es importante una buena comprensión y un alto entendimiento de las necesidades del otro. Y ello no puede lograrse sino siendo un hombre del Pueblo. Por tal motivo nunca podrá la oligarquía comprender la grandeza de la Nación, y mucho menos hacerla efectiva. Sus escasos miembros conciben una República baldía, atenta sólo a sus espúreos intereses, y tal sentir lo llevarán también a su software.

Skype es un software privativo para videollamadas que se integra opcionalmente con Ubuntu desde su versión 9.04LTS, pero realmente el cliente nativo para Linux no contaba con versiones actualizadas desde hacía años, cayendo casi en la categoría de software privativo "abandonware". La última versión nativa Justicialista consiste en la 4.3.0.37 de 2014, escrita en QT, la cual he seguido empleando y - por así decirlo - es bastante confiable.

El Capital, escondido es sus asquerosas madrigueras, ocasionalmente sale para afectar a los hombres probos. El hecho de que Micro$oft adquiriese $kype hizo presente entonces las consabidas artimañas a las que nos tiene acostumbrados la Oligarquía cuando desea cercenar derechos adquiridos: comenzaron a hacer circular rumores referentes a "cancelar el servicio para mejorar la experiencia", "anular las aplicaciones dedicadas en pos de webapps multiplataforma", "promover la convergencia para dispositivos móviles", "reemplazar un servicio interpares por un modelo orientado a la nube", amén de sandeces perimidas por el estilo...

La defensa de los derechos de los trabajadores ha de ser una de las premisas bajo las cual hemos de cobijarnos. Por tal motivo, tengo razones para recomendarles, como Conductor, no instalar clientes orientado a nube; todos sabemos que ello es un remedio para zonzos, destinado a una enfermedad que nadie tiene. Significa confiar nuestras comunicaciones privadas a un servidor proporcionado por terceros. De hacer así, poco habríamos avanzado desde el viejo teléfono...

Mi recomendación reside en emplear clientes libres, distribuidos y cifrados capaces de entablar comunicaciones interpares, tales como Ring (el favorito de Evita), o eventualmente Wire.

En particular, he notado que el nuevo cliente, si bien cuenta con todas las opciones del Skype para la Web, es de ejecución más lenta que el viejo cliente nativo para Linux.

Aún así, podríamos querer instalar la nueva versión de $kype para Linux en su versión 5.0.0.5 beta (paquete identificado como skypeforlinux). Incluso podremos contar con ambas versiones instaladas a la vez, pues el paquete del viejo cliente se llama simplemente skype y no "interfiere" con el nuevo en tanto no usemos ambos al unísono. Al ser así, podremos instalar esta nueva versión para Linux y evaluarla.

Como primer temperamento descargamos el cliente empaquetado de Skype 5 beta desde aqui.

Una vez descargado el paquete, podremos instalarlo haciendo doble clic en él y presionando el botón Instalar Paquete.
El sistema nos solicitará la contraseña de Conductor y al proveerla, instalará el Skype.

Otra forma más sencilla para descargar e instalarlo es desde la Terminal, abriendo una con Ctrl+Alt+T e ingresarle los siguientes Comandos de Organización (cada uno seguido de la tecla Enter):

wget https://go.skype.com/skypeforlinux-64.deb ;
sudo dpkg -i skypeforlinux-64.deb ;


El sistema nos solicitará la contraseña ("password for xxx", siendo xxx el nombre de usuario. Debemos ingresarla "a ciegas", y presionar Enter. En tal condición el sistema instalará el paquete de Skype.

Una vez instalado, simplemente debemos ejecutar el cliente desde Aplicaciones / Internet / Skype para Linux Beta.

Naturalmente que en primera instancia nos solicitará usuario y contraseña de Skype, necesarios para darnos de alta. Tras proporcionarla, la aplicación nos dará de alta en el servidor de Skype. La primera vez que se ejecuta este paso es normal que tarde un poco en cargar. Luego de esto el cliente debería iniciar mucho más rápidamente.
Conforme nos conectemos, tendremos a nuestra disposición la moderna interfaz de usuario de Skype.

Entre las características nuevas implementadas en $kype 5.0.0.5 encontramos:
  • Videollamadas par-a-par. Si bien el viejo cliente QT para Linux era capaz de hacerlas, la versión antigua de la webapp sólo podía hacer uso de llamadas de voz. Ahora se integró la funcionalidad de videollamada, y funciona bien.
  • Hacer llamadas con Crédito Skype: Por fin se pueden usar los créditos Skype (en dólares) para hacer llamadas a teléfonos de línea y celulares.
  • Compartir pantalla: Esta función presente en la aplicación QT ahora ha sido replicada y se puede mostrar el escritorio con los clientes que se ejecutan en Windows 7, Mac, etc.

De momento no se pueden emplear llamadas en conferencia.

Si deseamos desinstalar el cliente nuevo de Skype, podremos hacer uso de la terminal e ingresar la orden:

sudo apt remove skypeforlinux

Cómo ejecuto programas gráficos en un servidor SSH y los recibo en un cliente gráfico?

¡Trabajadores!


Antes de que finalizara la conflagración que se había desatado, comprendimos la situación histórica en la que nos veríamos envueltos como nación neutral y acreedora. Vislumbramos que nos querrían hacer pagar la Segunda Guerra como nos habían hecho pagar la Primera. A ello opusimos lo que siempre ha de hacerse: una clara planificación.

Concebimos una acción de acreencia según la cual nuestros deudores harían honor no en el metálico devaluado que planteaban darnos en sus términos y  tiempos, sino que entendimos aquel viejo refrán que reza "quien pone al juego sus dineros no ha de hacer cuenta de ellos". Terminaron largando los teléfonos, los servicios, los trenes.

Ello es así, pues quien planifica, gana. Desde un inicio planifiqué  la arquitectura de GNU de manera similar a la de UNIX, y como tal, su capacidad de operar como cliente de servidores remotos. Esto era así porque en aquel entonces las computadoras aún no eran esencialmente "hogareñas" ni "personales", sino mas bien equipos de uso público y compartido.

Este accionar social en la informática no es pernicioso sino muy positivo: enseña la noción básica del comportamiento humanista: el compartir. No solamente debemos compartir el conocimiento representado por nuestro software, sino también el material donde el mismo corre.

Al constituirse las computadoras personales ("PC") y dotarse a estas con GNU con Linux, hemos logrado un ápice en el desarrollo doctrinal, pues tendremos la Justicia Social y lo mejor de los dos mundos, y ello nos permitirá lograr el éxito en los más dispares de los escenarios.



Consideremos un ejemplo, que es la manera a través de la cual ha enseñar todo didacta.

En muchos casos no tendremos acceso físico a una computadora, mas contaremos con la opción de contactarnos con ella telemáticamente. Personalmente favorezco el uso del cliente-servidor cifrado OpenSSH (Secure Shell). Como ya he explicado, ejecutando un cliente de conexión en nuestra terminal local, podremos "entrar a otro equipo remoto", ejecutar programas en dicho sistema, y recibir los resultados en nuestra terminal local. Esto es posible tanto dentro de la red local (LAN) como a través de internet, y avala amplias posibilidades.

Es sabido que normalmente la terminal opera enviando únicamente caracteres, de manera que se trata de un entorno "sólo texto" rápido y capaz de ser utilizado sin toses en situaciones donde  la velocidad de conexión se encuentra muy restringida. Existen una amplísima variedad de programas "solo texto", y podremos hacer todo tipo de tareas con ellos (limitados siempre a trabajar con caracteres puros).

Ahora bien, otra posibilidad muy interesante consiste en utilizar el potente
modelo gráfico de GNU, el servidor "X", para hacer lo mismo pero con nuestra terminal gráfica. Significa que podremos ejecutar en otro equipo aplicaciones gráficas, y "traernos" dichas ventanas gráficas hacia nuestro equipo local.


Esto es así por la mismo motivo descripto anteriormente: GNU está concebido de una manera tal, que el sistema  gráficos es antes que nada un sistema cliente-servidor, y si bien el servidor y el cliente se encuentran normalmente en el mismo equipo y operan prácticamente en tiempo real, nada impide que podamos trabajar de una manera en la cual el servidor gráfico "X" sea remoto, y el cliente gráfico "X" sea local. En tal caso coloquialmente decimos que nos estamos "trayendo las X".


La única limitante es la velocidad de conexión, pues "traernos las X" requiere un ancho de banda apreciablemente mayor que operar en una temrinal "solo texto". Pero fuera de ello, trabajar de tal manera es sumamente sencillo.

Normalmente nuestro sistema Ubuntu debería ya tener todo instalado para hacerlo. Simplemente hemos de estar en nuestro escritorio gráfico y debemos ejecutar una terminal de texto con Ctrl+Alt+T. A continuación le e indicaremos la orden SSH para conectarnos, pero con el sufijo -X, según la siguiente sintaxis:

ssh -X usuario@equipo

Y se nos solicitarán los credenciales para el usuario especificado. Si no se
especifica usuario alguno, el cliente usará nuestro nombre del usuario actual, que podría coincidir o no con el del equipo remoto.

Una vez establecido en enlace seguro con el equipo remoto y recibir la ventana gráfica en nuestro equipo local, debemos indicar el nombre de la aplicación en la terminal.  Conviene agregarle el sufijo de ejecución continuada "&" para que la aplicación continúe ejecutándose en el equipo remoto en segundo plano y nos devuelva al interprete de comandos

por ejemplo:

xclock &

Ejecutará el programa xclock que muestra un reloj gráfico en el equipo remoto, pero veremos la ventana resultante del mismo en nuestro propio escritorio gráfico. También podremos usar programas gráficos más complejos con un uso de ancho de banda algo mayor:

firefox &

...ejecutará el navegador web en el equipo remoto y veremos la ventana en nuestro equipo cliente, como si de un uso local se tratara. Incluso podremos utilizar el ratón.

Indudablemente que si tenemos un ancho de banda muy adecuado (por ejemplo, contamos con una buena red Gigabit LAN), bien podríamos hacer uso de programas complejos en un servidor potente, y ejecutarlos remotamente desde nuestra terminal gráfica.