Algo de Linux: febrero 2018

miércoles, 28 de febrero de 2018

LeEco Le S3 X626: Un smartphone de diseño con 4GB de RAM, 10 núcleos y una cámara excepcional

Hoy queremos recomendaros el LeEco Le S3 X626, un smartphone con una excelente relación calidad/precio, un acabado impresionante y un hardware realmente potente (87.000 (Antutu v6) Rendimiento mejor que el 90% de los dispositivos).


Diseño y pantalla

Tiene un diseño es realmente atractivo con una carcasa metálica de aluminio y una pantalla de 5.5 pulgadas con resolución Full HD (1080 x 1920 px) y muy alta densidad (401 pixeles por pulgada).

Algunas características de la pantalla:
  • Pantalla de cristal redondeado 2.5D
  • Corning Gorilla Glass 3
  • LED de Notificaciones
  • Multi-touch
  • Resistente a rayones
Se encuentra disponible en dos colores: oro y oro rosa. Nosotros lo compramos en oro rosa. La combinación de color con la increíble definición que tiene la pantalla lo hacen realmente atractivo.

El LeEco Le S3 es dual SIM y cuenta con una ranura para 2 tarjetas nano SIM:

Como ya empieza a ser habitual de un tiempo a esta parte, ya no tiene ranura para micro SD.

Por supuesto, dispone de lector de huellas en la parte trasera algo que resulta muy útil para no tener que estar tecleando códigos pin ni dibujando patrones.

A continuación podéis ver el contenido del paquete:


  • Teléfono Móvil.
  • Adaptador de Auriculares para conectar auriculares al puerto USB.
  • Alimentador de Corriente con con conector USA.
  • Adaptador de corriente EUR.
  • USB Cable Type C.
  • Aguja para extraer SIM. 
  • Manual en Inglés.
Como muchos smartphones chinos, viene con un alimentador de corriente con conector USA y te mandan un adaptador, algo que no me convence. Deberían proporcionar el alimentador con conector europeo directamente.

Me gusta que el conector de carga sea USB Tipo C. Es realmente cómodo no tener que estar mirando el conector a la hora de enchufarlo.


Rendimiento y potencia

El Le S3 x626 monta un procesador Helio X20 Deca Core a 2.3GHz de 64 bits, 4GB de memoria RAM y una GPU Arm Mali-T880 780MHz. En cuanto al almacenamiento interno, tiene dos opciones: 32GB  o 64GB.

Tiene una increíble fluidez que proporciona una experiencia de uso realmente agradable.

Como sistema operativo, utiliza EUI 5.8, un sistema basado en Android 6.0.


Cámaras

Este dispositivo dispone de dos cámaras:
  • Una cámara principal de 16 Mpx con sensor Omnivision OV16880 apertura f/2.0 y flash dual led.
  • Una cámara delantera para selfies de 8 Mpx.
Una de las cosas que más nos ha sorprendido de este dispositivo es la increíble calidad de su cámara principal tanto a la hora de hacer fotos como de grabar vídeos.

A continuación podéis ver un par de fotos hechas con la cámara para que os hagáis una idea acerca de su calidad:



Y un vídeo grabado también con ella:



Os sorprenderá gratamente porque graba vídeo a 4K.

Tiene autoenfoque, lo que os facilitará enormemente la realización de fotografías o vídeos.

Dispone de función de disparo Continuo o Ráfaga, algo super-interesante porque nos va a permitir realizar varias tomas seguidas para luego escoger la mejor.

Por otro lado, también cuenta con la posibilidad de realizar Zoom Digital, utilizar el modo HDR, realizar ajustes ISO o incluso utilizar enfoque manual y, por supuesto, realizar fotos panorámicas.

Pero además, dispone de una función que nos ha encantado: Vídeo Slow Motion, con el que podremos grabar vídeos a cámara lenta, capturando 120 fps.


Sonido

En la parte inferior tenemos el conector USB Tipo-C, un sistema de doble altavoz con los que logra el efecto estéreo con buena calidad de sonido y el micrófono:



Utiliza una tecnología llamada CDLA (Continual Digital Lossless Audio). Si queremos, podemos conectar unos auriculares con conector jack gracias al adaptador que viene en la caja. No obstante, también podemos comprar unos auriculares con conector USB Tipo C que nos proporcionarán mayor calidad de sonido.

Además soporta tecnología Dolby Atmos.


Conectividad

Es importante destacar que es un dispositivo con conectividad 4G, algo fundamental hoy en día para navegar a una buena velocidad. Naturalmente dispone también de conectividad 3G y 2G.

Wifi:
Podéis conectarlo a cualquier tipo de red wifi disponible en la actualidad porque soporta los siguientes estándares: 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac 

Además dispone de las siguientes funciones:
  • Wi-Fi Direct: Esta función nos permite compartir archivos entre los dispositivos mediante una red wifi creada entre ambos. 
  • Wi-Fi Display: Permite mostrar contenidos multimedia en otros dispositivos.
  • Punto acceso Wi-Fi: Permite compartir la conexión a internet con otros dispositivos.
Bluetooth: 
Dispone de Bluetooth 4.1 LE (Bajo consumo de energía)

Perfiles bluetooth soportados:
  • A2DP (Distibucion de audio avanzada) 
  • EDR (Enhanced Data Rate) 
  • LE (Low Energy)
GPS:
Soporta A-GPS, Beidou, GLONASS, GPS


Autonomía

En lo que a autonomía se refiere, el LeEco Le S3 dispone de una batería no extraíble de 3000mAh con USB tipo C y sistema de carga rápida. Una característica que debería venir de serie ya con todos los smartphones.


En resumen.
Un dispositivo realmente económico con prestaciones de gama media-alta, muy potente, con una conectividad excelente y una increíble cámara con la que hacer excelentes fotos y grabar vídeos a 4k. 

Comprar en GearBest

Si buscáis un smartphone bueno y bonito a un precio razonable, os recomendamos el LeEco Le S3 X626. Nosotros, desde que lo compramos, estamos encantados con él.
Publicado por primera vez en http://enavas.blogspot.com.es

Modificado el script reinstall_nwfermi_module para añadir el módulo a todos los kernels instalados

Aprovechando que había escrito el código del script reinstall_nvidia_module para añadir el módulo de NVIDIA a todos los kernels instalados, y es perfectamente válido para instalar cualquier otro módulo, he modificado reinstall_nwfermi_module para que también añada el módulo a todos los kernels instalados.
#!/bin/bash

PKGNAME='nwfermi'
PKGVER=`dpkg-query -W -f='${Version}' $PKGNAME | awk -F "-" '{print $1}'`
PKGVER=${PKGVER#*:}

echo "Removing all DKMS Modules"
dkms remove -m $PKGNAME -v $PKGVER --all -q > /dev/null
echo "Done."
echo "Adding Module to DKMS build system"
echo "driver version= $PKGVER"
dkms add -m $PKGNAME -v $PKGVER > /dev/null
echo "Doing initial module build"
dkms build -m $PKGNAME -v $PKGVER > /dev/null

echo "Installing initial module"
dkms install -m $PKGNAME -v $PKGVER > /dev/null
echo "Done."

CANDIDATES=`ls -tr /boot/vmlinuz-* | cut -d- -f2- | awk '{print $0}' | sed 's/.efi.signed.*//g' | sort -u`

for KERNEL in $CANDIDATES; do
   echo "Installing module $PKGNAME on kernel $KERNEL"
   dkms install -m $PKGNAME -v $PKGVER -k $KERNEL > /dev/null
   echo "Done."
done

Publicado por primera vez en http://enavas.blogspot.com.es

martes, 27 de febrero de 2018

Cable magnético USB 3 en 1 con conector de 8 pines, micro usb, usb tipo C

Éste es uno de los cables que no puede faltar en nuestra mochila, en nuestro bolso o en el coche:


El kit contiene lo que véis en la imagen:
  • Un cable USB de 1 metro de longitud con conexión magnética.
  • Un adaptador de 8 Pines para iPhone.
  • Un adaptador USB Type-C.
  • Un adaptador Micro USB.
Tiene una carcasa de aluminio que lo hace resistente y duradero. Pero, además, tiene una luz LED indicadora que nos mostrará el estado de carga del dispositivo. Y es válido tanto para cargar el dispositivo como para usarlo como cable de transferencia de datos.

La principal ventaja que tienen este tipo de cables es que podemos dejar el adaptador insertado en nuestro teléfono, con lo que lograremos dos cosas:
  • Evitaremos que entre polvo en el conector de carga de nuestro smartphone.
  • Evitaremos que el conector se estropee por estar conectando y desconectando el cargador, algo que sucede con mucha frecuencia y es uno de los principales motivos de avería de muchos smartphones.

Además es muy baratito. Os lo recomendamos.

Comprar en GearBest

Publicado por primera vez en http://enavas.blogspot.com.es

Instalar LibreOffice 6 en el IES

Acorralado por el problema sufrido el viernes pasado con la actualización de Libreoffice desde el ppa:libreoffice/libreoffice-5-4, decidí iniciar una huída hacia adelante e instalar LibreOffice 6; descargando los paquetes desde la web de LibreOffice y distribuyéndolo a los equipos mediante puppet y pkgsync desde mi repositorio interno. 

El problema fue que los mantenedores de este repositorio actualizaron la versión del paquete de la 5.4.4 a la 5.4.5 y cascó libreoffice en todos los Ubuntu Trusty. Al abrir cualquier archivo, daba error... Y no había vuelta atrás porque:
  • Al añadir una versión, reemplazan directamente la anterior, algo que no me parece buena idea.
  • La versión 5.3 tampoco funcionaba y encima está marcada como EOL.
El inconveniente es que instalar la versión 6 requiere desinstalar la versión previamente instalada. Así que tuve descargar la versión 6  desde la web de LibreOffice, añadirla a mi repositorio interno y escribir un módulo puppet que:
  • Desinstale la versión anterior de LibreOffice.
  • Instale posteriormente la versión 6 de LibreOffice.
  • Coloque un fichero musthave con la lista de paquetes de la versión 6 para garantizar que se mantenga instalada.
  • Coloque un fichero maynothave con la lista de paquetes de la versión anterior para garantizar que no se encuentren instalados.
Siento no compartir el módulo, pero requiere dos cosas: Un repositorio interno de paquetes y la modificación del paquete linex-xubuntu-core que he tenido que retocar para quitar las siguientes dependencias:
  • libreoffice
  • libreoffice-help-es
  • libreoffice-l10n-es
Publicado por primera vez en http://enavas.blogspot.com.es

Cuidado al usar PPA en Ubuntu

Un PPA (Personal Package Archive) es un repositorio de paquetes personal. Éste tipo de repositorios es muy útil para disponer de software más actualizado que el que se encuentra en los repositorios de nuestra distribución o simplemente, para poder instalar un paquete que no se encuentra en los mismos.

A mí, personalmente, me gusta utilizar PPA para mantener más actualizado el software de los equipos de mi centro. Ahora bien, hay que tener mucho cuidado porque en un momento determinado, podemos tener problemas.

Por ejemplo, sin ir más lejos, el viernes pasado tuve dos problemas derivados del uso de PPA:
  • Por alguna razón, se actualizó el kernel 4 que tengo instalado en los clientes Ubuntu Trusty,  pero no se generaron los módulos propietarios de NVIDIA, con lo que la resolución de los equipos bajó al no cargarse dichos módulos.
  • Por otra parte, mantenía libreoffice en la versión 5.4 mediante ppa:libreoffice/libreoffice-5-4. Los mantenedores de este repositorio actualizaron la versión del paquete de la 5.4.4 a la 5.4.5 y cascó libreoffice en todos los Ubuntu Trusty por un error de permisos... Y no había vuelta atrás porque al añadir una versión, quitan directamente del repositorio la anterior.
Así que lo dicho. Tened cuidado y guardaos un cartucho en la recámara... Por ejemplo, mantened siempre una versión anterior en vuestros propios repositorios.
Publicado por primera vez en http://enavas.blogspot.com.es

Lámpara portátil con reloj y despertador ideal para regalar

Buscando una lámpara para la mesita de noche, encontramos esta interesante propuesta. Se trata de una lámpara con batería de 3600 mAh recargable mediante puerto USB que podremos usar como luz nocturna y mover cómodamente a cualquier lugar, ya que no necesita estar permanentemente conectada.

Gearbest Utorch Wake Up Light Touch Sensor Clock LED Bedside Lamp
Comprar en GearBest

Tiene un tamaño de 9.40 cm de largo x 9.40 cm de ancho y 15.00 cm de altura:

Comprar en GearBest

El panel táctil de la parte superior nos permite seleccionar el brillo con un sólo toque.

En la parte delantera se encuentra el display que muestra la hora, un indicador del estado de la batería y la alarma.

Los controles para establecer la hora y la alarma se encuentran en la parte inferior.

En la parte trasera encontraréis el altavoz y la conexión USB de carga.


Con 3 modos de luz blanca: cálida, media y brillante y 256 tonos de color RGB. Con el sensor táctil podremos configurar el nivel de luz que queremos y ajustar el color para crear un ambiente. 

Esta lámpara dispone de 6 sonidos naturales, en lugar del molesto pitido, que nos permitirán despertarnos suavemente. Éstos incluyen sonidos de pájaros, olas o sonido de tormentas. Además, una vez seleccionado el sonido, cuando llegue la hora de despertarnos, comenzará a sonar subiendo el volúmen gradualmente de menos a más.



De igual modo, al usar la función despertador, la luz de la lámpara se encenderá y su brillo comenzará a incrementarse para simular la salida del sol.

Su precio es bastante interesante, pero además, hasta el día 2 de marzo se encuentra en oferta con un 10% de descuento a un precio de 15.67 euros.

Comprar en GearBest

Publicado por primera vez en http://enavas.blogspot.com.es

lunes, 26 de febrero de 2018

reinstall_nvidia_module: Script para instalar módulos de nvidia en equipos de Infolab y Siatic

En un post de octubre de 2017, vimos cómo mantener actualizados los drivers NVIDIA de equipos Infolab y Siatic utilizando los repositorios ppa:
https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa

El caso es que, la semana pasada, al instalarse un nuevo kernel, he observado que, por alguna razón, no se han regenerado los drivers de NVIDIA para los kernels que tenía instalados.

Por si en algún momento vuelve a suceder, he escrito un script que me permite regenerar los módulos de NVIDIA cuando quiera y lo he distribuido mediante puppet a los equipos HP de SIATIC e Infolab:

/usr/local/sbin/reinstall_nvidia_module
#!/bin/bash

TIPO=`facter tipo`

case $TIPO in
   'siatic')
      PKGNAME='nvidia-340';;
   'infolab')
      PKGNAME='nvidia-384';;
   *)
      exit 0;;
 esac

PKGVER=`dpkg-query -W -f='${Version}' $PKGNAME | awk -F "-" '{print $1}'`
PKGVER=${PKGVER#*:}

echo "Removing all DKMS Modules"
dkms remove -m $PKGNAME -v $PKGVER --all -q > /dev/null
echo "Done."
echo "Adding Module to DKMS build system"
echo "driver version= $PKGVER"
dkms add -m $PKGNAME -v $PKGVER > /dev/null
echo "Doing initial module build"
dkms build -m $PKGNAME -v $PKGVER > /dev/null

CANDIDATES=`ls -tr /boot/vmlinuz-* | cut -d- -f2- | awk '{print $0}' | sed 's/.efi.signed.*//g' | sort -u`

for KERNEL in $CANDIDATES; do
   echo "Installing module $PKGNAME on kernel $KERNEL"
   dkms install -m $PKGNAME -v $PKGVER -k $KERNEL > /dev/null
   echo "Done."
done
Publicado por primera vez en http://enavas.blogspot.com.es

Aprovecha el cupón de GearBest para comprar un Xiaomi Amazfit BIP Lite o un Alfawise S2 Smart Watch

Quedan muy pocos días para que expire el cupón NYGBCE de GearBest (válido hasta el 28 de febrero de 2018).

Aprovechad ahora para comprar un Alfawise S2 Smart Watch a un precio de 22.59 euros utilizando este cupón en la cesta de compra:

Gearbest Alfawise S2 Smartwatch
Comprar en GearBest

O un Xiaomi Amazfit BIP a un precio de 42,70 euros utilizando el mismo cupón:

Comprar en GearBest

Publicado por primera vez en http://enavas.blogspot.com.es

sábado, 24 de febrero de 2018

Mochila multifuncional con múltiples compartimentos y puerto USB

Buscando una mochila multifuncional (un poco para todo), que tuviera múltiples compartimentos y me permitiera llevar diferentes dispositivos (tablet, smartphone, power bank...) y un portátil de hasta 17 pulgadas; que pudiera utilizar en un momento determinado para llevar ropa y tuviera algún bolsillo exterior que siempre viene bien para tener ciertas cosas a mano, como por ejemplo, una botella de agua, encontré éste modelo por muy poco dinero en GearBest: 


Me gustó porque tenía todas las características que buscaba, porque el precio era realmente económico, y, además porque dispone de un puerto usb desmontable. Este puerto puede sernos de gran utilidad para guardar nuestro power bank dentro y llevar el móvil conectado fuera de la mochila para seguir usándolo mientras se carga.

Comprar en GearBest

Su tamaño es justo lo que buscaba: 

Comprar en GearBest

Tiene un diseño ergonómico:

Comprar en GearBest

Y se encuentra disponible en 4 colores diferentes:

Comprar en GearBest

Publicado por primera vez en http://enavas.blogspot.com.es

El shell de linux: Comprobar si un paquete se encuentra instalado

A veces nos interesa comprobar, dado el nombre de un paquete, si éste se encuentra instalado. Una forma de hacerlo es utilizando el comando dpkg-query:
# dpkg-query -W --showformat='${binary:Package}\n' nombre-de-paquete 2>/dev/null
Con ésto, obtendremos un string con el nombre del paquete introducido, o una cadena vacía, si no se encuentra instalado.
Publicado por primera vez en http://enavas.blogspot.com.es

jueves, 22 de febrero de 2018

Alfawise S2 Smart Watch: Un smartwatch bonito y económico a la vez que funcional

El Alfawise S2 Smart Watch, como ya decíamos en el título del post, es un smartwatch con un diseño bonito con cuerpo de metal, pantalla Gorila Glass con protección IP67 y correa de cuero. Pero eso no es todo. También tiene un precio tan económico que ya no te plantearás comprar un reloj normal.

¿Por qué digo ésto? Porque tiene funciones que monitorizan el sueño, el ritmo cardíaco y la presión arterial junto con el oxígeno en sangre.


Consume muy poca energía y la batería puede llegar a durar hasta 30 días en espera.


También es muy funcional en el aspecto deportivo. Tiene podómetro, con lo que contará tus pasos, la distancia total recorrida, los datos de frecuencia cardíaca, las calorías diarias quemadas para proporcionar información precisa sobre tu actividad deportiva. Y tiene aviso de sedentarismo.

Tan sólo es necesario levantar o girar las manos para iluminar la pantalla.

Para sincronizar los datos con vuestro smartphone, tan sólo tenéis que instalar la APP JYou, disponible en Play Store. La sincronización se realiza mediante Bluetooth 4.0


Además soporta actualización del firmware y podéis usarlo como despertador porque tiene función de alarma.

Otro de los aspectos importantes a destacar es que soporta varios idiomas, entre ellos el español: Simplified Chinese, Traditional Chinese, English, Japanese, Korean, Spanish, German, French, Russian, Polish. Y es compatible con iOS 8.0 o superior y Android 4.4 o superior.

Por supuesto, recibirás las notificaciones de tu móvil en tu Smartwatch:


En cuanto al contenido del paquete tiene:
  • 1 Smart Watch
  • 1 Cable de carga USB
  • 1 Manual de usuario en Inglés -Chino
Y todo ésto, por menos de 30 euros.

Comprar en GearBest

Además, ahora puedes aprovechar la oportunidad y comprarlo más barato aún, con un descuento del 14%, al utilizar el siguiente cupón:

Cupón: NYGBCE (válido hasta el 28/02/2018)


Publicado por primera vez en http://enavas.blogspot.com.es

Xiaomi Mi Band 2: La pulsera de actividad ahora disponible en GearBest con envío desde España

Compré mi Xiaomi Mi Band 2 ya hace mucho tiempo, cuando se vendía en pre-venta y estoy tan acostumbrado a llevarla siempre en la muñeca, que el otro día, cuando la perdí, no hacía más que darle vueltas pensando en cómo y cuándo había podido perderla. 

Como nos marchamos al pueblo, pasé todo el fin de semana sin ella, intentando recordar si la había dejado en algún sitio o si se me había podido caer fuera de casa. 

Al volver el domingo a casa, cogí mi móvil y, activé el bluetooth, para ver si se sincronizaba. Y se sincronizó. Y pensé: Genial!! Está en casa!! Ya sólo tengo que abrir la aplicación y usar la opción "Buscar pulsera" de la App Mi Fit para que vibre y encontrarla.  Y al fin la encontré!!!

La verdad es que me encanta porque la batería dura en torno a los 20 días, dependiendo del uso; monitoriza el sueño durante la noche, me despierta con una vibración, cuenta los pasos y kilómetros que hago a lo largo del día, me muestra notificaciones cuando recibo llamadas, mensajes, etc... me avisa cuando llevo demasiado tiempo inactivo; si llevo el móvil, me permite controlar actividades como carrera, cinta de correr, ciclismo o paseo y registrar el recorrido usando el gps del móvil, etc...

La única pega que le pondría es que la pantalla no se ve muy bien en exteriores, y creo que eso es algo que debería mejorar Xiaomi permitiendo aumentar y disminuir el nivel de brillo.

Cuando la compré en pre-venta, costaba algo más de 40 euros, pero ahora mismo es posible comprarla por menos de 25 euros en GearBest con envío desde España.

Gearbest Mi Band 2
Comprar en GearBest
Éstas son sus principales características:
  • Pantalla OLED con un sólo botón táctil que nos permitirá mostrar la hora/fecha, pasos, distancia recorrida, calorías, ritmo cardíaco y batería.
  • Sincronización con el móvil mediante Bluetooth 4.0
  • Monitor de frecuencia cardíaca para controlar nuestras pulsaciones en cualquier momento.
  • Monitor del sueño que registra la calidad del sueño, informándonos del tiempo que hemos dormido en sueño profundo, ligero, así como el tiempo que hemos permanecido despierto.
  • Función reloj. Se sincroniza con la hora del teléfono.
  • Función de alarma. Nos permitirá programar diferentes alarmas en diferentes días de la semana.
  • Monitor de sedentarismo que nos avisará cuando llevemos mucho tiempo inactivos.
  • Seguimiento de deportes grabando datos de pasos, caloría, distancia, etc...
  • Notificaciones de llamadas entrantes y aplicaciones de mensajería.
    Protección IP67 frente al polvo y el agua.
  • Soporte Android 4.4 o superior y iOS 7.0 o superior con Bluetooth 4.0.
La aplicación para gestionar y configurar nuestra Mi Band 2 se llama "Mi Fit". Podéis encontrarla en "App Store" o "Google Play". No obstante, para Android, encontraréis las versiones más recientes en APKMirror.


No tendréis que preocuparos de las actualizaciones puesto que el sistema se actualiza automáticamente vía bluetooth cuando hay alguna nueva versión:


En las siguientes imágenes os muestro cómo podéis controlar algunas actividades deportivas utilizando vuestro smartphone y la Xiaomi Mi Band 2:



Si queréis, podéis echar un vistado a la video-review de GearBest:



Si os animáis a comprarla, os recomiendo hacerlo en el sitio de GearBest España:

Comprar en GearBest

En el enlace del sitio de España, es posible elegir entre dos almacenes:


Si escogéis el segundo (EG-W-16), la recibiréis enseguida. En cualquier caso, en ambos tendréis garantía de dos años. 

El manual de usuario es muy sencillo:


El contenido del paquete es el siguiente:
  • Xiaomi Mi Band 2
  • Pulsera
  • Cargador
La pulsera que viene en la caja es de color negro. Si queréis, podéis comprar correas de diferentes colores y materiales:

Comprar en GearBest

Si por alguna razón, perdéis el cargador, también podéis comprarlo en GearBest:


Comprar en GearBest

También se vende un collar para llevar el dispositivo colgado del cuello:

Comprar en GearBest

Publicado por primera vez en http://enavas.blogspot.com.es

miércoles, 21 de febrero de 2018

Paquete pkgsync 1.46: Añadido KEEP_LAST_KERNELS para elegir el número de kernels a mantener

He actualizado el paquete pkgsync a la versión 1.46 con una versión modificada del script /usr/local/sbin/pkgsync y del fichero de configuración /etc/default/pkgsync.

Las modificaciones introducen una nueva variable ( KEEP_LAST_KERNELS) en el fichero de configuración /etc/default/pkgsync que nos permite indicar el número de kernels que deseamos mantener al purgar kernels antiguos. Si no se especifica ningún valor, o el valor de la variable es nulo,  por defecto, se mantendrán los dos últimos kernels.
Aquí podéis ver el código completo de pkgsync:


A continuación podéis ver el fichero de configuración con todas las variables que se pueden modificar en la actualidad:
# Defaults for pkgsync
#
# See /usr/share/doc/pkgsync/README.Debian for information about options
# of managing pkgsync.

# Ignorar ficheros de configuración musthave, mayhave o maynothave
IGNORE_MUSTHAVE="no"
IGNORE_MAYHAVE="no"
IGNORE_MAYNOTHAVE="no"

# Activar o desactivar pkgsync:
#  ENABLE="yes": activa pkgsync (opción por defecto)
#  ENABLE="no" : desactiva pkgsync
#  Si no existe la variable ENABLE o no tiene valor, es equivalente al valor 'yes'.
ENABLE="yes"

# Eliminar kernels antiguos (por defecto deja los dos últimos)
# PURGE_OLD_KERNELS="no": no elimina kernels antiguos (opción por defecto)
# PURGE_OLD_KERNELS="yes": elimina kernels antiguos
PURGE_OLD_KERNELS="no"

# Número de kernels que se desea conservar (por defecto deja los dos últimos)
# Si no existe la variable KEEP_LAST_KERNELS o no tiene valor, es equivalente al valor '2'.
# KEEP_LAST_KERNELS="2"

# Eliminar dependencias de paquetes desinstalados, purgar paquetes desinstalados y limpiar la cache
# CLEAN="no": no hacer limpieza (opción por defecto)
# CLEAN="yes": hacer limpieza
CLEAN="no"

# Eliminar librerías huérfanas
# REMOVE_ORPHAN_LIBS="no": no eliminar librerías huérfanas (opción por defecto)
# REMOVE_ORPHAN_LIBS="yes": eliminar librerías huérfanas
REMOVE_ORPHAN_LIBS="no"

# Iniciar sinc_puppet antes de lanzar pkgsync para garantizar que los ficheros de pkgsync 
# se encuentren actualizados
# LAUNCH_SINC_PUPPET="no": no iniciar sinc_puppet antes de hacer pkgsync
# LAUNCH_SINC_PUPPET="yes": iniciar sinc_puppet antes de hacer pkgsync (opción por defecto)
LAUNCH_SINC_PUPPET="yes"

# Apagar automáticamente el equipo después de ejecutar pkgsync en el intervalo especificado
# AUTOMATIC_SHUTDOWN_BETWEEN="22:00-06:00"
AUTOMATIC_SHUTDOWN_BETWEEN=""

# Reiniciar automáticamente el equipo después de ejecutar pkgsync en el intervalo especificado
# AUTOMATIC_REBOOT_BETWEEN="06:01-08:00"
AUTOMATIC_REBOOT_BETWEEN=""

# Obtener claves de repositorios mediante launchpad-getkeys si launchpad-getkeys se encuentra
# instalado
# LAUNCHPAD_GETKEYS="no": no tratar de obtener claves mediante launchpad-getkeys
# LAUNCHPAD_GETKEYS="yes": tratar de obtener claves mediante launchpad-getkeys (opción por defecto)
LAUNCHPAD_GETKEYS="yes"

# Definimos un tiempo máximo de espera a que dpkg o apt hayan terminado antes de realizar pkgsync
# Este parámetro sirve para evitar evitar que pkgsync quede bloqueado por un fallo anterior de dpkg o apt
# Este ajuste puede definirse en segundos (30 o 30s), minutos (10m), horas (6h) o días (2d).
# TIMEOUT_FOR_DPKG_OR_APT="3m": Esperar un tiempo máximo de 3 minutos (valor por defecto)
TIMEOUT_FOR_DPKG_OR_APT="3m"
Y si queréis descargar el paquete que instala esta versión, aquí lo tenéis:
https://drive.google.com/open?id=1ZVaj_CYln71tj7b55bBGkbG2zPOJsnX2
Publicado por primera vez en http://enavas.blogspot.com.es

Obtener el hash md5 de todos los ficheros en un árbol de directorios

Para obtener el hash md5 de todos los ficheros en un árbol de directorios no tenemos más que usar la siguiente combinación de comandos:
# find directorio -type f -print0  | xargs -0 md5sum > md5sums
Ésto es particularmente útil cuando estamos modificando un paquete debian a mano.
Publicado por primera vez en http://enavas.blogspot.com.es

Servicio Upstart para realizar un pkgsync completo y reiniciar en Ubuntu Trusty

Como ya sabéis en los centros educativos de Extremadura, usamos pkgsync para mantener un software uniforme en el conjunto de máquinas que administramos.

El siguiente es un servicio Upstart que tengo añadido a las máquinas Ubuntu Trusty de mi centro:

/etc/init/autopkgsync.conf
# autopkgsync
#
description "Do a full autopkgsync on runlevel 3 and reboot"
author "Esteban M. Navas Martín"

start on (runlevel [3] and local-filesystems and net-device-up IFACE!=lo)
stop on runlevel [!2345]

respawn
exec /usr/local/sbin/pkgsync -pcrR </dev/tty1 >/dev/tty1 2>&1

Como ya os podréis imaginar, ésta es una de esas cosas en las que, como todo administrador, trabajo para trabajar menos...

Básicamente, lo que me permite el servicio es realizar un pkgsync completo que:
  • Actualiza los paquetes de la máquina.
  • Hace un purge de kernels antiguos.
  • Elimina dependencias de paquetes desinstalados, hace un purge de paquetes desinstalados y limpia la caché.
  • Elimina librerías huérfanas.
  • Y reinicia el equipo.
Si echáis un vistazo a la configuración del servicio, veréis que sólo se inicia en el nivel 3, cuando los sistemas de ficheros locales están montados y las interfaces de red levantadas. Como Ubuntu inicia por defecto en el nivel 2, podéis comprobar que el servicio está parado:
# status autopkgsync 
autopkgsync stop/waiting
Y si quiero realizar el pkgsync completo, no tengo más que iniciar el servicio:
# start autopkgsync 
autopkgsync start/running, process 4411
Como estamos derivando la salida al terminal 1, si la máquina se encuentra en el entorno gráfico, no tenemos más que pulsar Ctrl+Alt+F1 para ver el estado de ejecución de pkgsync.

También podría iniciar el servicio, simplemente cambiando al runlevel 3:
# telinit 3 
El servicio me resulta muy útil cuando necesito iniciar la actualización de un equipo y marcharme sin esperar porque sé que, cuando termine, se va a reiniciar; y quiero que el usuario vea en el terminal que la máquina está trabajando.
Publicado por primera vez en http://enavas.blogspot.com.es

martes, 20 de febrero de 2018

El shell de linux: Comando column

El comando column es uno de esos comandos a los que no le ves la utilidad hasta que lo necesitas, y la verdad es que es bastante útil.

Por ejemplo, supongamos que tenemos un fichero csv (comma-separated values). Para los que no lo sepan, un fichero csv es un fichero en el que existen campos de datos separados mediante un símbolo (coma, punto, dos puntos, etc...) y que utilizamos mucho a la hora de importar/exportar datos.

$ cat /usr/share/distro-info/ubuntu.csv
version,codename,series,created,release,eol,eol-server
4.10,Warty Warthog,warty,2004-03-05,2004-10-20,2006-04-30
5.04,Hoary Hedgehog,hoary,2004-10-20,2005-04-08,2006-10-31
5.10,Breezy Badger,breezy,2005-04-08,2005-10-12,2007-04-13
6.06 LTS,Dapper Drake,dapper,2005-10-12,2006-06-01,2009-07-14,2011-06-01
6.10,Edgy Eft,edgy,2006-06-01,2006-10-26,2008-04-25
7.04,Feisty Fawn,feisty,2006-10-26,2007-04-19,2008-10-19
7.10,Gutsy Gibbon,gutsy,2007-04-19,2007-10-18,2009-04-18
8.04 LTS,Hardy Heron,hardy,2007-10-18,2008-04-24,2011-05-12,2013-05-09
8.10,Intrepid Ibex,intrepid,2008-04-24,2008-10-30,2010-04-30
9.04,Jaunty Jackalope,jaunty,2008-10-30,2009-04-23,2010-10-23
9.10,Karmic Koala,karmic,2009-04-23,2009-10-29,2011-04-29
10.04 LTS,Lucid Lynx,lucid,2009-10-29,2010-04-29,2013-05-09,2015-04-29
10.10,Maverick Meerkat,maverick,2010-04-29,2010-10-10,2012-04-10
11.04,Natty Narwhal,natty,2010-10-10,2011-04-28,2012-10-28
11.10,Oneiric Ocelot,oneiric,2011-04-28,2011-10-13,2013-05-09
12.04 LTS,Precise Pangolin,precise,2011-10-13,2012-04-26,2017-04-26
12.10,Quantal Quetzal,quantal,2012-04-26,2012-10-18,2014-05-16
13.04,Raring Ringtail,raring,2012-10-18,2013-04-25,2014-01-27
13.10,Saucy Salamander,saucy,2013-04-25,2013-10-17,2014-07-17
14.04 LTS,Trusty Tahr,trusty,2013-10-17,2014-04-17,2019-04-17
14.10,Utopic Unicorn,utopic,2014-04-17,2014-10-23,2015-07-23
15.04,Vivid Vervet,vivid,2014-10-23,2015-04-23,2016-01-23
15.10,Wily Werewolf,wily,2015-04-23,2015-10-22,2016-07-22
16.04 LTS,Xenial Xerus,xenial,2015-10-22,2016-04-21,2021-04-21
16.10,Yakkety Yak,yakkety,2016-04-21,2016-10-13,2017-07-20
17.04,Zesty Zapus,zesty,2016-10-13,2017-04-13,2018-01-25
17.10,Artful Aardvark,artful,2017-04-13,2017-10-19,2018-07-19
Y queremos mostrarlo en forma de columnas. Pues bien, si hacemos uso del comando column, ésto es algo realmente sencillo:
$ column -t -s, /usr/share/distro-info/ubuntu.csv
version    codename          series    created     release     eol         eol-server
4.10       Warty Warthog     warty     2004-03-05  2004-10-20  2006-04-30
5.04       Hoary Hedgehog    hoary     2004-10-20  2005-04-08  2006-10-31
5.10       Breezy Badger     breezy    2005-04-08  2005-10-12  2007-04-13
6.06 LTS   Dapper Drake      dapper    2005-10-12  2006-06-01  2009-07-14  2011-06-01
6.10       Edgy Eft          edgy      2006-06-01  2006-10-26  2008-04-25
7.04       Feisty Fawn       feisty    2006-10-26  2007-04-19  2008-10-19
7.10       Gutsy Gibbon      gutsy     2007-04-19  2007-10-18  2009-04-18
8.04 LTS   Hardy Heron       hardy     2007-10-18  2008-04-24  2011-05-12  2013-05-09
8.10       Intrepid Ibex     intrepid  2008-04-24  2008-10-30  2010-04-30
9.04       Jaunty Jackalope  jaunty    2008-10-30  2009-04-23  2010-10-23
9.10       Karmic Koala      karmic    2009-04-23  2009-10-29  2011-04-29
10.04 LTS  Lucid Lynx        lucid     2009-10-29  2010-04-29  2013-05-09  2015-04-29
10.10      Maverick Meerkat  maverick  2010-04-29  2010-10-10  2012-04-10
11.04      Natty Narwhal     natty     2010-10-10  2011-04-28  2012-10-28
11.10      Oneiric Ocelot    oneiric   2011-04-28  2011-10-13  2013-05-09
12.04 LTS  Precise Pangolin  precise   2011-10-13  2012-04-26  2017-04-26
12.10      Quantal Quetzal   quantal   2012-04-26  2012-10-18  2014-05-16
13.04      Raring Ringtail   raring    2012-10-18  2013-04-25  2014-01-27
13.10      Saucy Salamander  saucy     2013-04-25  2013-10-17  2014-07-17
14.04 LTS  Trusty Tahr       trusty    2013-10-17  2014-04-17  2019-04-17
14.10      Utopic Unicorn    utopic    2014-04-17  2014-10-23  2015-07-23
15.04      Vivid Vervet      vivid     2014-10-23  2015-04-23  2016-01-23
15.10      Wily Werewolf     wily      2015-04-23  2015-10-22  2016-07-22
16.04 LTS  Xenial Xerus      xenial    2015-10-22  2016-04-21  2021-04-21
16.10      Yakkety Yak       yakkety   2016-04-21  2016-10-13  2017-07-20
17.04      Zesty Zapus       zesty     2016-10-13  2017-04-13  2018-01-25
17.10      Artful Aardvark   artful    2017-04-13  2017-10-19  2018-07-19
Si habéis leído el post anterior, habréis visto que tiene una lista de juegos ordenada en columnas. Pues bien, como podéis imaginar, también podemos utilizar el comando column para transformar un fichero que tiene un dato por cada línea (en este caso el nombre de un juego) en un fichero que tiene datos en columnas. Veamos un ejemplo:
$ head -20 listajuegos
CONTRA 1 
CONTRA FORC 
CONTRA 7 
KAGE
SOPER MARIO 
MARIO 3 
MARIO 6 
DR MARIO 
MARIO BROS 
TURTLES 1 
TURTLES 4 
DOUBLE DRAGON 
DOUBLE DRAGON 2 
MEGA MAN 3 
BLOOD WRESTLE 
BLOOD SOCCER2 
ADVEN ISLAND 
ADVEN ISLAND 2 
CHIP DALE 1 
CHIP DALE 3 
Si queremos mostrar los 20 primeros juegos de una lista en columnas, haremos lo siguiente:
$ head -20 listajuegos | sort -u | column 
ADVEN ISLAND CONTRA 7 MARIO 6
ADVEN ISLAND 2 CONTRA FORC MARIO BROS
BLOOD SOCCER2 DOUBLE DRAGON MEGA MAN 3
BLOOD WRESTLE DOUBLE DRAGON 2 SOPER MARIO
CHIP DALE 1 DR MARIO TURTLES 1
CHIP DALE 3 KAGE TURTLES 4
CONTRA 1 MARIO 3
Si os dáis cuenta, para crear el listado en columnas, primero se rellenan las columnas y luego las filas.

Si queréis que primero se rellenen las filas y luego las columnas, no tenéis más que usar el parámetro -x en el comando column:
$ head -20 listajuegos | sort -u | column -x
ADVEN ISLAND ADVEN ISLAND 2 BLOOD SOCCER2
BLOOD WRESTLE CHIP DALE 1 CHIP DALE 3
CONTRA 1 CONTRA 7 CONTRA FORC
DOUBLE DRAGON DOUBLE DRAGON 2 DR MARIO
KAGE MARIO 3 MARIO 6
MARIO BROS MEGA MAN 3 SOPER MARIO
TURTLES 1 TURTLES 4

Publicado por primera vez en http://enavas.blogspot.com.es

lunes, 19 de febrero de 2018

Catálogo de juegos Mini Consola Retro Classic de GearBest

En un post de la semana pasada, os mostramos una Miniconsola Retro ideal para disfrutar de aquellos juegos a los que tanto jugamos en nuestra infancia, disponible en GearBest por menos de 20 euros.

Comprar en GearBest

El listado de juegos que muestra el producto es el siguiente:

CONTRA 1 FRONT LINE VOLGUARD 2
CONTRA FORC GALAGA VOLLEY BALL
CONTRA 7 GAIAXIAN WARS
KAGE GOLF XEVIOUS
SOPER MARIO ON BUNGEUNG CHINESE CHESS
MARIO 3 HYPER OLYMPIC CHALLENGER
MARIO 6 HYPER SPORTS MACH RIDER
DR MARIO ICE CLIMBER TWIN BEE
MARIO BROS JOUST ABSCONDEE
TURTLES 1 KARATEKA AETHER CRUISER
TURTLES 4 LODE RUNNER AIM CRUISE
DOUBLE DRAGON LUNAR BALL ANIMAL CONTEST
DOUBLE DRAGON 2 MACROSS BLOCKS WARLD
MEGA MAN 3 MAGIC JEWELRY BUG CATCHER
BLOOD WRESTLE MAHJONG 4P BUSY BAR
BLOOD SOCCER2 MAHJONG 2P CANDY WORKSHOP
ADVEN ISLAND MAPPY CONTEST
ADVEN ISLAND 2 MILK N NUTS COOKIES LABYRIN
CHIP DALE 1 MILUPEDE CRYSTAL BLAST
CHIP DALE 3 MUSCLE DEFORMABLE
BUBBLE BOBBLE 2 NAITOU DETECTILE
SNOW BROS NIBBLES EGG CONTEST
MITSUME NINJA 1 ESCAPEWAY
NINJA GAIDEN 2 NINJA 3 FAIRS TREASURE
SILK WORM ROAD FIGHTER FALLING BLOCK
ANGRY BIRD OTHELLO FATED PIRATE
SECRET CASTLE PAC MAN FINAL BLOOD
ALADDIN 3 PIN BALL FISH STORY
ARKISTAS RING POOYAN FLING BALL
TENAGEHUTANT POPEYE FOREST ADVEN
ALPHA MISSION SKY DESTROYER FRUIT GIFT
BOWUNG SPACE ET GHOST CASTLE
FLIPULL STAR FORC GOLDEN BIRD
GHOST BUSTERS STAR GATE GREEDS
GRADIUS TENNIS HAMMER N NAIL
HOKUTONOKEN URBAN CHAMPION HAPPY MATCH
KING KNIGHT WARPMAN ICE OCEAN
MICKEY MOUSE YIE AR KUNG FU IQ CHAMPION
NEW MAN ZIPPY RACE ISLAND
PAPERBOY WAREHOUSE BOY JUMP JUMP
POWER SOCCER 10 YARD FIGHT JUMPING KID
QUARTH ANTARCTIC LIGHTNING
SOLOMON AQUARIUM LITTLE WITCH
SPY HUNTER ARENA MAGIC EGG
TIGER HEU AIR ALERT MAN IN RED
TRANSFORMERS AWFUL RUSHING MECCANO
WISDOM BOY AIMLESS MIRROR DEVIL
MOAI KUN BURBLE MOUSE SNARE
CASTLE EXCELLENT BURROW EXPLORER MOUSEHERO
BUMP N JUMP BUGS WAR MOWING
TRACK FIELD BOMB KING NUT CRACKY
SUPER CHINESE BASEBALL NEW CRYSTAL BALL
KAGE LEGEND BUBBLE POLICE DOG LASY
STAR SOLDIER CANNONADE POLICE VS THIEF
ARGUS CLOSE QUARTERS PONG PONG
GOONIES COAST GUARD POWER ROBOT
1942 CUB ADVENTURE PULVERATION
ARKANOID DEPTH BOMB RABBIT VILLAGE
SASA DEVILDOM DOOM RIVER JUMP
BWINGS DIAMOND SEAPORT GUARL
BADMINTON DUNE WAR SEAWOLF
BALTRON FIREBASE SPACE BASE
BOKOSUKA WARS FIRST DEFENDER SPIDERMAN 2
BOMB JACK FIVE DAYS SPIDERMAN 1
PORTER FRANTIC MOUS SPRING WORLD
CHUBBY CHERUB FRUIT DISH STAR
DESTROY GALLAGANT SUBMARINE
DIG DUG 2 GARDEN WAR THROUGHMAN
DOUGH BOY GATE TOY FACTORY
DRAGON HALUHOO UTMOST WARFARE
DRUAGA HEXAPOD NEW VIGILANT
DUCK HEXAPOD WAR WARZONE
ELEVATOR ACTION LABYRIAN WATER PIPE
EXED EXES LUNARIAN WILDWORM
FLAPPY MAD XMAS WONDER BALL
FRUIT PIG MOTO BOAT CLIMBING
GAIG PANZER ATTACK SEAMAID
GEIMO PENTA BASE FISHWAR
GYRODINE POBBLE 90 TANK
HEXA POLAR BAT ARABIAN
LOT LOT RURALGOBLIN BALLOON FIGHT
MAGMAX ROBOT BASE BALL
PIKACHU SEASON GARDEN BINARY LAND
NINJA 2 SHREW MOUSE BIRD WEEK
QBAKE SNOWBALL BOMBER MAN
ONYANKO TOWN STAR FIGHTER BOMB SWEEPER
PAC LAND STRAFE BRUSH ROLLER
PACHI COM SMALL DINOSAUR BURGER TIME
PRO WRESTLING SILENT HUNTER CHACK N POP
PYRAMID THE ARCHER FIVE CHESS
ROUTE 16 TWIN CARD CIRCUS CHARLIE
SEICROSS UNDERSEA ARENA CLU LCU LAND
SLALOM WARRIOR COMBAT
SOCCER LUNATION DEFENDER
SONSON APPLE CHESS DEVIL WORLD
SPARTSAN X PUZZLE DIG DUG
SPELUNKER TROOPER DONKEY KONG 1
SPY VS SPY WLD DONKEY KONG 2
SQQON ATOMIC BLAST DONKEY KONG 3
STAR LUSTER GOBLET TOWER DONGKEY KONG JP
TETRIS 2 ICE HOCKEY DOOR DOOR
THEXDER SMALL MARIO EXCITE BIKE
VOLGUARD 2 ORCHARD EXERION
VOLLEY BALL CUT FISH FI RACE
WARS TWIN FISH FORMATION Z
XEVIOUS CONTRA 1 FRONT LINE
CHINESE CHESS CONTRA FORC GALAGA
CHALLENGER CONTRA 7 GAIAXIAN
MACH RIDER KAGE GOLF
TWIN BEE SOPER MARIO ON BUNGEUNG
ABSCONDEE MARIO 3 HYPER OLYMPIC
AETHER CRUISER MARIO 6 HYPER SPORTS
AIM CRUISE DR MARIO ICE CLIMBER
ANIMAL CONTEST MARIO BROS JOUST
BLOCKS WARLD TURTLES 1 KARATEKA
BUG CATCHER TURTLES 4 LODE RUNNER
BUSY BAR DOUBLE DRAGON LUNAR BALL
CANDY WORKSHOP DOUBLE DRAGON 2 MACROSS
CONTEST MEGA MAN 3 MAGIC JEWELRY
COOKIES LABYRIN BLOOD WRESTLE MAHJONG 4P
CRYSTAL BLAST BLOOD SOCCER2 MAHJONG 2P
DEFORMABLE ADVEN ISLAND MAPPY
DETECTILE ADVEN ISLAND 2 MILK N NUTS
EGG CONTEST CHIP DALE 1 MILUPEDE
ESCAPEWAY CHIP DALE 3 MUSCLE
FAIRS TREASURE BUBBLE BOBBLE 2 NAITOU
FALLING BLOCK SNOW BROS NIBBLES
FATED PIRATE MITSUME NINJA 1
FINAL BLOOD NINJA GAIDEN 2 NINJA 3
FISH STORY SILK WORM ROAD FIGHTER
FLING BALL ANGRY BIRD OTHELLO
FOREST ADVEN SECRET CASTLE PAC MAN
FRUIT GIFT ALADDIN 3 PIN BALL
GHOST CASTLE ARKISTAS RING POOYAN
GOLDEN BIRD TENAGEHUTANT POPEYE
GREEDS ALPHA MISSION SKY DESTROYER
HAMMER N NAIL BOWUNG SPACE ET
HAPPY MATCH FLIPULL STAR FORC
ICE OCEAN GHOST BUSTERS STAR GATE
IQ CHAMPION GRADIUS TENNIS
ISLAND HOKUTONOKEN URBAN CHAMPION
JUMP JUMP KING KNIGHT WARPMAN
JUMPING KID MICKEY MOUSE YIE AR KUNG FU
LIGHTNING NEW MAN ZIPPY RACE
LITTLE WITCH PAPERBOY WAREHOUSE BOY
MAGIC EGG POWER SOCCER 10 YARD FIGHT
MAN IN RED QUARTH ANTARCTIC
MECCANO SOLOMON AQUARIUM
MIRROR DEVIL SPY HUNTER ARENA
MOUSE SNARE TIGER HEU AIR ALERT
MOUSEHERO TRANSFORMERS AWFUL RUSHING
MOWING WISDOM BOY AIMLESS
NUT CRACKY MOAI KUN BURBLE
CRYSTAL BALL CASTLE EXCELLENT BURROW EXPLORER
POLICE DOG LASY BUMP N JUMP BUGS WAR
POLICE VS THIEF TRACK FIELD BOMB KING
PONG PONG SUPER CHINESE BASEBALL NEW
POWER ROBOT KAGE LEGEND BUBBLE
PULVERATION STAR SOLDIER CANNONADE
RABBIT VILLAGE ARGUS CLOSE QUARTERS
RIVER JUMP GOONIES COAST GUARD
SEAPORT GUARL 1942 CUB ADVENTURE
SEAWOLF ARKANOID DEPTH BOMB
SPACE BASE SASA DEVILDOM DOOM
SPIDERMAN 2 BWINGS DIAMOND
SPIDERMAN 1 BADMINTON DUNE WAR
SPRING WORLD BALTRON FIREBASE
STAR BOKOSUKA WARS FIRST DEFENDER
SUBMARINE BOMB JACK FIVE DAYS
THROUGHMAN PORTER FRANTIC MOUS
TOY FACTORY CHUBBY CHERUB FRUIT DISH
UTMOST WARFARE DESTROY GALLAGANT
VIGILANT DIG DUG 2 GARDEN WAR
WARZONE DOUGH BOY GATE
WATER PIPE DRAGON HALUHOO
WILDWORM DRUAGA HEXAPOD NEW
WONDER BALL DUCK HEXAPOD WAR
CLIMBING ELEVATOR ACTION LABYRIAN
SEAMAID EXED EXES LUNARIAN
FISHWAR FLAPPY MAD XMAS
90 TANK FRUIT PIG MOTO BOAT
ARABIAN GAIG PANZER ATTACK
BALLOON FIGHT GEIMO PENTA BASE
BASE BALL GYRODINE POBBLE
BINARY LAND HEXA POLAR BAT
BIRD WEEK LOT LOT RURALGOBLIN
BOMBER MAN MAGMAX ROBOT
BOMB SWEEPER PIKACHU SEASON GARDEN
BRUSH ROLLER NINJA 2 SHREW MOUSE
BURGER TIME QBAKE SNOWBALL
CHACK N POP ONYANKO TOWN STAR FIGHTER
FIVE CHESS PAC LAND STRAFE
CIRCUS CHARLIE PACHI COM SMALL DINOSAUR
CLU LCU LAND PRO WRESTLING SILENT HUNTER
COMBAT PYRAMID THE ARCHER
DEFENDER ROUTE 16 TWIN CARD
DEVIL WORLD SEICROSS UNDERSEA ARENA
DIG DUG SLALOM WARRIOR
DONKEY KONG 1 SOCCER LUNATION
DONKEY KONG 2 SONSON APPLE CHESS
DONKEY KONG 3 SPARTSAN X PUZZLE
DONGKEY KONG JP SPELUNKER TROOPER
DOOR DOOR SPY VS SPY WLD
EXCITE BIKE SQQON ATOMIC BLAST
EXERION STAR LUSTER GOBLET TOWER
FI RACE TETRIS 2 ICE HOCKEY
FORMATION Z THEXDER

Si cojo el listado, lo meto en un archivo de texto plano y le hago un wc -l, obtengo que hay 620 líneas.
# wc -l listajuegos
Y, como cada nombre de juego se encuentra en una línea, en teoría hay 620 juegos.

Si ahora ordeno el listado eliminando repeticiones y cuento las líneas que hay en el fichero:
# sort -u listajuegos | wc -l
Obtengo que el fichero tiene 321 líneas. Luego, esta miniconsola tiene 321 juegos diferentes. El resto hasta 620, o son pequeñas variaciones (cosa que dudo) o son repeticiones del mismo juego.

Una vez limpiado el fichero de repeticiones, nos quedaría que los juegos diferentes que trae esta consola son los siguientes:

10 YARD FIGHT FAIRS TREASURE FAIRS COM
1942 FALLING BLOCK PAC LAND
90 TANK FATED PIRATE PAC MAN
ABSCONDEE FINAL BLOOD PANZER ATTACK
ADVEN ISLAND FI RACE PAPERBOY
ADVEN ISLAND 2 FIREBASE PENTA BASE
AETHER CRUISER FIRST DEFENDER PIKACHU
AIM CRUISE FISH STORY PIN BALL
AIMLESS FISHWAR POBBLE
AIR ALERT FIVE CHESS POLAR BAT
ALADDIN 3 FIVE DAYS POLICE DOG LASY
ALPHA MISSION FLAPPY POLICE VS THIEF
ANGRY BIRD FLING BALL PONG PONG
ANIMAL CONTEST FLIPULL POOYAN
ANTARCTIC FOREST ADVEN POPEYE
APPLE CHESS FORMATION Z PORTER
AQUARIUM FRANTIC MOUS POWER ROBOT
ARABIAN FRONT LINE POWER SOCCER
ARENA FRUIT DISH PRO WRESTLING
ARGUS FRUIT GIFT PULVERATION
ARKANOID FRUIT PIG PUZZLE
ARKISTAS RING GAIAXIAN PYRAMID
ATOMIC BLAST GAIG QBAKE
AWFUL RUSHING GALAGA QUARTH
BADMINTON GALLAGANT RABBIT VILLAGE
BALLOON FIGHT GARDEN WAR RIVER JUMP
BALTRON GATE ROAD FIGHTER
BASE BALL GEIMO ROBOT
BASEBALL NEW GHOST BUSTERS ROUTE 16
BINARY LAND GHOST CASTLE RURALGOBLIN
BIRD WEEK GOBLET TOWER SASA
BLOCKS WARLD GOLDEN BIRD SEAMAID
BLOOD SOCCER2 GOLF SEAPORT GUARL
BLOOD WRESTLE GOONIES SEASON GARDEN
BOKOSUKA WARS GRADIUS SEAWOLF
BOMBER MAN GREEDS SECRET CASTLE
BOMB JACK GYRODINE SEICROSS
BOMB KING HALUHOO SHREW MOUSE
BOMB SWEEPER HAMMER N NAIL SILENT HUNTER
BOWUNG HAPPY MATCH SILK WORM
BRUSH ROLLER HEXA SKY DESTROYER
BUBBLE HEXAPOD NEW SLALOM
BUBBLE BOBBLE 2 HEXAPOD WAR SMALL DINOSAUR
BUG CATCHER HOKUTONOKEN SMALL MARIO
BUGS WAR HYPER OLYMPIC SNOWBALL
BUMP N JUMP HYPER SPORTS SNOW BROS
BURBLE ICE CLIMBER SOCCER
BURGER TIME ICE HOCKEY SOLOMON
BURROW EXPLORER ICE OCEAN SONSON
BUSY BAR IQ CHAMPION SOPER MARIO
BWINGS ISLAND SPACE BASE
CANDY WORKSHOP JOUST SPACE ET
CANNONADE JUMPING KID SPARTSAN X
CASTLE EXCELLENT JUMP JUMP SPELUNKER
CHACK N POP KAGE SPIDERMAN 1
CHALLENGER KAGE LEGEND SPIDERMAN 2
CHINESE CHESS KARATEKA SPRING WORLD
CHIP DALE 1 KING KNIGHT SPY HUNTER
CHIP DALE 3 LABYRIAN SPY VS SPY
CHUBBY CHERUB LIGHTNING SQQON
CIRCUS CHARLIE LITTLE WITCH STAR
CLIMBING LODE RUNNER STAR FIGHTER
CLOSE QUARTERS LOT LOT STAR FORC
CLU LCU LAND LUNAR BALL STAR GATE
COAST GUARD LUNARIAN STAR LUSTER
COMBAT LUNATION STAR SOLDIER
CONTEST MACH RIDER STRAFE
CONTRA 1 MACROSS SUBMARINE
CONTRA 7 MAD XMAS SUPER CHINESE
CONTRA FORC MAGIC EGG TENAGEHUTANT
COOKIES LABYRIN MAGIC JEWELRY TENNIS
CRYSTAL BALL MAGMAX TETRIS 2
CRYSTAL BLAST MAHJONG 2P THE ARCHER
CUB ADVENTURE MAHJONG 4P THEXDER
CUT FISH MAN IN RED THROUGHMAN
DEFENDER MAPPY TIGER HEU
DEFORMABLE MARIO 3 TOY FACTORY
DEPTH BOMB MARIO 6 TRACK FIELD
DESTROY MARIO BROS TRANSFORMERS
DETECTILE MECCANO TROOPER
DEVILDOM DOOM MEGA MAN 3 TURTLES 1
DEVIL WORLD MICKEY MOUSE TURTLES 4
DIAMOND MILK N NUTS TWIN BEE
DIG DUG MILUPEDE TWIN CARD
DIG DUG 2 MIRROR DEVIL TWIN FISH
DONGKEY KONG JP MITSUME UNDERSEA ARENA
DONKEY KONG 1 MOAI KUN URBAN CHAMPION
DONKEY KONG 2 MOTO BOAT UTMOST WARFARE
DONKEY KONG 3 MOUSEHERO VIGILANT
DOOR DOOR MOUSE SNARE VOLGUARD 2
DOUBLE DRAGON MOWING VOLLEY BALL
DOUBLE DRAGON 2 MUSCLE WAREHOUSE BOY
DOUGH BOY NAITOU WARPMAN
DRAGON NEW MAN WARRIOR
DR MARIO NIBBLES WARS
DRUAGA NINJA 1 WARZONE
DUCK NINJA 2 WATER PIPE
DUNE WAR NINJA 3 WILDWORM
EGG CONTEST NINJA GAIDEN 2 WISDOM BOY
ELEVATOR ACTION NUT CRACKY WLD
ESCAPEWAY ON BUNGEUNG WONDER BALL
EXCITE BIKE ONYANKO TOWN XEVIOUS
EXED EXES ORCHARD YIE AR KUNG FU
EXERION OTHELLO ZIPPY RACE

Aún así. Os sigo recomendando este juguete... Recuerdo haber jugado a algunos de estos juegos en máquinas recreativas...

Comprar en GearBest

Publicado por primera vez en http://enavas.blogspot.com.es