Vamos con un tip rápido sobre sistemas operativos. Si en Windows queremos desmontar una unidad de red desde un script utilizaremos el comando net use con el parámetro /delete. El problema es que este nos pedirá confirmación, por lo que si es una tarea automatizada se quedará esperando la respuesta ¿Cómo podemos forzar que se desconecte la unidad? Pues con el parámetro /y después del /delete.
La cosa sería más o menos la siguiente:
#Así para desmontar todas
net use * /delete /y
#Cambiando * por el nombre de la unidad
#desconectamos solo esa
net use x: /delete /y
La opción /y hará que se interprete «yes» como respuesta por defecto a todas las peticiones de confirmación.
El comando expr del terminal de Linux nos permite evaluar una expresión y pintar su resultado. De esta forma podemos usarlo para ejecutar operaciones aritméticas o de comparación.
En el ejemplo de arriba puedes ver los ejemplos para suma, operación de módulo, multiplicación (ese caso requiere usar el carácter \ para escapar el asterisco que usamos como símbolo de multiplicación), resta y división.
¿Limitaciones? Pues que solo nos permite operar con números enteros: únicamente acepta enteros como parámetros y tan solo devuelve enteros como resultado
Otra cosa que nos permite expr es ejecutar operaciones de comparación:
Devolverá 1 en caso de que la comparación sea verdadera y 0 en el caso contrario. De nuevo el carácter \ será necesario para escapar los caracteres de mayor y menor en las comparaciones.
No solo podemos usarlo desde el terminal para operar, exprtambién puede resultar de utilidad invocado dentro de alguno de nuestros scripts.
Se llama Famiclone o Famiclón a las consolas que eran imitaciones de la popular NES (Famicon en Asia) de Nintendo. Históricamente han tenido dos momentos álgidos de popularidad: la primera mitad de los 90 y estos últimos años, tras el lanzamiento de la NES mini por parte de Nintendo y de la ola nostálgica de sus antiguos usuarios
Los primeros clones provenían tradicionalmente de China, Taiwán y Corea del Sur, en muchos casos de las mismas fábricas que creaban las placas para Nintendo. A finales de los 80 se hicieron populares en América Latina por su precio, sensiblemente más bajo que el de las originales de Nintendo, y en los antiguos países europeos del bloque comunista, puesto que la NES no había tenido distribución en sus mercados. Como curiosidad, los modelos más populares en la antigua Yugoslavia tenían una carcasa que imitaba el diseño de la Mega Drive de Sega.
En España fue muy popular en aquellos primeros 90 la NASA, un clon que era compatible con los cartuchos de NES tanto europeos como importados y que podía encontrarse con facilidad en pequeñas tiendas de electrónica. De serie incluía dos mandos y una réplica de la popular pistola Zapper de Nintendo, incluso hubo alguna tirada con el teclado para usar Family BASIC. Su versión original montaba el mismo hardware que la Dendy, el clon más popular en los países de la antiguaUnión Soviética. Hubo versiones posteriores con la tecnología NOAC, de la que hablaremos a continuación, y juegos preinstalados
A mediados de los 90, apareció la tecnología llamada “NES-on-a-Chip”, una serie de pequeños circuitos integrados que imitan el funcionamiento de la consola. Esto implicaría la producción de modelos más pequeños y todo un auge de nuevos clones destinados a mercados en economías en vías de desarrollo. Seguramente te suene, por haber sido un popular meme, la PolyStation. Se trataba de una consola cuyo hardware se basaba en estos chips, mientras que su carcasa y sus controles imitaban los de una PS-One. Eran consolas baratas que podían encontrarse en bazares, tiendas de Todo a Cien o hasta como regalo en tómbolas de mercadillo. Los chips eran de fabricación barata, lo que provocó que aparecieran múltiples pequeños fabricantes en Malasia, Tailandia o Filipinas.
Nintendo siempre intentó luchar legalmente contra estas imitaciones. La fabricación y distribución de la NES clásica se mantuvo hasta 2003 en Japón y además hubo algún clon que disponía de licencia oficial de Nintendo (Sharp o Hyundai obtuvieron licencias), aunque la mayoría de los clones fueron ilegales. En 2005 Nintendo recibiría un mazazo legal: perdía un juicio contra GameTech, a quienes habían demandado por su consola Power Player Superjoy III. Las patentes de Nintendo habían expirado y las imitaciones del hardware ya no implicarían una violación de sus derechos de autor. Ojo, esto no quiere decir que todos los clones sean legales, los derechos de autor sobre los juegos duran más años al ser tratados como una obra artística, esto provoca que muchos clones que llevan juegos integrados en su memoria sigan fuera de lo legal.
Los populares chips de mediados de los 90 que permitieron la segunda hornada de clones se fueron volviendo más pequeños con el paso del tiempo. Esto permitió la aparición de nuevos formatos de clon: consolas con varias entradas de cartucho y varios chips para reproducirlos (como las RetroFreak, Retro5 o Retron, que permiten cartuchos de NES y de SuperNES), clones portátiles con apariencia de GameBoy o GameGear (yo mismo me he regalado uno estas navidades, una RetroFC de Anbernic), réplicas que imitan una recreativa en miniatura o clones que directamente son solo un mando que conectar a la tele imitando a los que ha comercializado Atari en los últimos años (en Brasil ha sido muy popular el GunBoy, que imita el mando de una N64).
El lanzamiento de la NES mini en 2016 de forma muy limitada, y con un catálogo reducido a 30 juegos, ha llevado a un nuevo pico de popularidad de estos clones. Algunos siguen montando circuitos integrados de uso específico, otros directamente montan una Raspberry Pi con Retropie y un montón de Roms dentro de una carcasa similar a la de la MiniNES.
La NES Classic Edition ha sido la causa del nuevo auge de estos clones.
¿Estamos ante un nuevo ataque de los clones? Basta con buscar “consola retro” en Amazon para constatar el auge de estos dispositivos, sobre todo en formato portátil y en formato mando. No se si los viejos rockeros nunca mueren, pero desde luego que las viejas consolas se resisten.
Imos pechar este 2018 cunha entrada técnica en galego. Dende hai anos a instalación dunha distribución do Linux en galego era una tarefa sinxela, canda menos en distribucións baseadas no Ubuntu pois o galego era un dos idiomas dispoñibles na instalación. Mais o Windows era cousa ben distinta, precisaba da instalación dunha serie de complementos que non sempre funcionaban ben. A boa nova é que con Windows 10 este proceso é moito máis sinxelo.
Basta con procurar no menú e a Configuración->Todas las Configuraciones->Hora e Idioma. Alí no menú da columna esquerda eleximos Región e Idioma. Na lapela dereita abrirá unha serie de opcións e temos un botón de Agregar un Idioma no que pulsar.
Ao pulsar ese botón poderemos ver unha listaxe con tódolos idiomas dispoñibles e un cadro no que facer a procura do que queremos de forma directa. Una vez atopamos o galego calcamos sobre el, na pantalla de confirmación escollemos estas opcións e calcamos no botón de Instalar.
Cando vexamos a confirmación de que o proceso de instalación rematou teremos que facer arrincar de novo o equipo para que o SO apareza en galego, tendo non só o sistema operativo mais tambén tódalas aplicacións que sexan compatibles coa nosa lingua.
Ya en su día hablamos aquí sobre cómo activar el bash de Ubuntu en Windows10. Vamos a actualizar y ampliar un poco esto viendo cómo activar el Windows Subsystem for Linux en Windows y cómo instalar después una distribución de Linux:
El primer paso es activar en nuestro Windows 10 la característica del subsistema para Linux. Para eso tenemos que abrir el PowerShell y ejecutar el siguiente comando:
Tras esto toca reiniciar para completar la activacion. Una vez realizado tenemos dos opciones para instalar nuestra distribución. La primera y más cómoda, para las versiones más actualizadas de Windows 10, es hacerlo directamente desde el Windows Store, la tienda de aplicaciones de Microsoft. Están disponibles Ubuntu, OpenSuse, KaliLinux, Debian y la versión Enterprise de Suse para servidores.
La otra opción es descargar e instalar manualmente. Podéis buscar el paquete appx y descargarlo desde el navegador o podéis serviros de cURL para hacerlo desde el PowerShell con el siguiente comando:
En el ejemplo descargaríamos la versión 18.04 de Ubuntu. Tendrías que cambiar la version por la que corresponda.
Una vez descargado tendríamos que desempaquetar e instalar. Desde PowerShell sería así, poniendo las rutas y el nombre de fichero que corresponda:
Expand-Archive ~/Ubuntu.appx ~/Ubuntu
Una vez abierto buscamos el archivo .exe de nuestra distribución, en este caso sería Ubuntu.exe y lo ejecutamos.
Por comodidad se recomienda añadir ese fichero ejecutable al path de Windows, de esta forma podrás invocarlo desde cualquier parte sin tener que escribir toda la ruta.
Un último apunte importante: la distribución de Linux debe estar almacenada en el mismo disco duro donde está instalado el sistema operativo. En caso contrario mostrará un error en la ejecución.
Si eres de los que ve muy práctico el disponer de un programador de tareas pero no te acabas de sentir cómodo o no acabas de entender cómo se escribe un comando para que cron programe una tarea tienes la suerte de tener un buen montón de herramientas on-line para generar tareas programas en Linux.
Crontab Generator es una de ella, una web donde de forma muy simple elegimos la periodicidad de una tarea, insertamos la ruta del script que la ejecuta y él nos genera el comando. Por ejemplo, supongamos que queremos ejecutar un script que se llama backup.sh,situado en la carpeta home, todos los días de lunes a viernes a las 3 de la madrugada. El comando sería el siguiente:
* 3 * * 1-5 /home/backup.sh
Pero con Crontab Generator tienes un panel donde puedes seleccionar gráficamente estos parámetros:
No hace mucho tiempo se popularizaron unos mensajes humorísticos en cadena en las redes sociales sobre padres que ponían tareas a sus hijos para adivinar la contraseña del wifi. Comenté que si tuviera un hijo adolescente al que no le da la cabeza para buscar cómo resetear un router ya ni me esforzaría en que intente estudiar. Esta chanza me hizo descubrir que hay mucha gente (supuestamente «nativa digital«) que no sabe la diferencia entre reiniciar un router y resetearlo, e incluso que ni conoce la posibilidad de resetear.
El Technicolor TG582n es uno de los modelos más populares de la actualidad, un modelo de gama económica que muchos proveedores de internet instalan a sus clientes.
¿En qué consiste el reseteo?
Cuando ejecutamos un reseteo devolvemos determinados ajustes del router a los parámetros de fábrica por defecto. Esto no implica, por ejemplo, eliminar actualizaciones del firmwaresino reinicializar algunos parámetros, entre ellos:
Usuario y contraseña del router
Nombre y contraseña de la wifi
Servidor DNS predeterminado
Excepciones y configuración del firewall
Redirección de puertos
¿Cómo ejecutamos el resteo?
Es muy simple. Si te fijas en la foto de abajo verás que señalamos un agujero que está al lado del botón de encendido, bajo el cual está grabada la palabra reset:
Fig 1: Botón de reset
Para ejecutar el reseteo basta con coger un clip, aguja, alambre… un objeto que pueda entrar por el agujero y empujar hasta que notemos que el botón que hay dentro cede y llega a su tope. Una vez llegue aguantamos unos 15-20 segundos y soltamos. El router se reiniciará solo tras esto. Una vez veamos que la luz de WLAN deja de parpadear el router estará reinciado.
¿Cuales son los parámetros de fábrica?
Esta cuestión es compleja, porque cada distribuidor puede haber alterado los suyos. Generalmente la IP por defecto suele ser la 192.168.0.1 o la 192.168.1.1, aunque he visto alguna compañía que lo traía en otro rango. El usuario por defecto suele ser admin o administrator y la contraseña admin. En cuanto al usuario y contraseña de la wifi por defecto, generalmente están impresas en una pegatina en la parte inferior del router. Seguramente en el manual de instrucciones que acompaña al router vengan todos estos datos.
Hoy vamos a ver cómo podemos exportar una máquina virtual desde Virtual Box.
Virtual Box incorpora un mecanismo para exportar máquinas virtuales a otros equipos, siendo incluso compatible con otros softwares de virtualización pues se basa en Open Virtualization Format (OVF), un formato abierto para la exportación de máquinas virtuales.
Si queremos iniciar una exportación pulsamos desde el administrador de Virtual Box el menú Archivo -> Exportar servicio virtualizado. Esto nos sacará una lista de las máquinas disponibles para exportar, donde seleccionaremos la que corresponda.
Tras eso nos preguntará el nombre del fichero que almacenará la exportación. Aquí podremos elegir dos extensiones: .ova u .ovf. Usando la primera todo se guardará en un único fichero comprimido. Con la segunda la exportación se distribuirá en varios ficheros.
Finalmente tendremos una ventana donde añadir algunos detalles para la exportación. Tras eso basta pulsar el botón Exportar.
Me pasó ayer que no me arrancaba una aplicación web en un servidor Windows que no gestiona en su totalidad mi empresa. Intentabas arrancar pero había algo ocupando el puerto 80. ¿Cómo podía encontrar qué programa estaba ocupando ese puerto? Pues sirviéndome de netstat.
El comando a ejecutar sería el siguiente
netstat -ano -p tcp
De esta forma podemos ver todos los puertos, incluyendo los que están en escucha (parámetro -a), se muestran los puertos de forma numérica (parámetro -n) y el número de proceso (parámetro -o), filtrando por protocolo (parámetro -p) para mostrar solo los de TCP. Pero claro, esto nos saldría una salida enorme porque mostraría todos los puertos TCP y nosotros solo queremos el puerto 80. Podemos filtrar más:
netstat -ano -p tcp | find ":80"
Añadiendo una tubería para el filtrado podemos usar el comando find para que muestre solo los que tengan una referencia al puerto 80, quitándonos mucha información de encima.
Finalmente, si hemos localizado el proceso y queremos matarlo podemos abrir el Administrador de Tareas o simplemente usar el comando taskkill para eliminarlo usando el PID, por ejemplo si el PID fuera el 881 sería así:
Esto para y arranca todo el servidor web. ¿Y si queremos arrancar o parar un sitio web concreto? Tenemos dos comandos que lo hacen por el nombre de sitio, que varían según la versión de nuestro sistema operativo:
Arrancar (Windows 8 o Windows server 2012): Start-WebSite -Name «Nombre de Nuestra Web» Arrancar (Windows 10 o Windows server 2016): Start-IISSite -Name «Nombre de Nuestra Web»
Parar (Windows 8 o Windows server 2012): Stop-WebSite -Name «Nombre de Nuestra Web» Parar (Windows 10 o Windows server 2016): Stop-IISSite -Name «Nombre de Nuestra Web»
Esta es la sintaxis básica, pero tanto Start-WebSite como Stop-WebSite tienen una serie de parámetros extra que puedes revisar en la web de Microsoft en los enlaces anteriores.