Mostrando entradas con la etiqueta linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta linux. Mostrar todas las entradas

DOSBox

En el primer ordenador que llegó a mi casa se encontraba instalado MS-Dos v6.2. No existían ventanas, ni APP, y los teléfonos no eran inteligentes. Las redes sociales eran quedar con los amigos en el parque a jugar a bate, o a las chapas.
Las opciones eran muy limitadas, mi primer trabajo mecanografiado e imprimido, para el instituto, fue utilizando el comando Edit. Los gráficos de los juegos dependian mucho de nuestra imaginación para que la definición de las imágenes fueran en alta definición.
Si aún conservas programas y juegos de aquella época, te resultará complicado hacer funcionar esas pequeñas joyas con los sistemas operativos actuales.
DOSBox es un emulador multiplataforma en cual corre el sistema operativo MS-Dos v5.0 .

DOSBox


Con ayuda de esta pequeña herramienta podremos lanzar nuestras aplicaciones y juegos del siglo pasado. Si eres un nostálgico, pero no guardas copia de estas aplicaciones, hay páginas que han recopilado estos clasicos:


En esta última página podremos jugar en el navegador utilizando un emulador de DOSBox.

Desde la página de descarga, podremos bajarnos la versión adecuada a nuestro sistema operativo y la traducción del mismo al español.

Pagina descarga DOSBox

Una vez que instalemos DOSBox, localizamos en que directorio se encuentra el archivo

dosbox-0.74.conf
y descomprimimos el archivo de traducción en el directorio donde se encuentre la configuración de nuestro emulador, sustituyendo. En mi caso, que utilizo Linux Mint se encuentra en un directorio oculto en la capeta del usuario:

/home/mi_usuario/.dosbox

Podremos ejecutar los comandos básicos que recordamos de DOS. Pero se echa mucho de menos el comando Edit. Y más concretamente cuando queremos automatizar la tarea de montar la carpeta donde guardo mis retro juegos. DOSBox se encuentra encapsulado en una unidad llamada Z: y no tiene acceso a los directorios de nuestro sistema operativo. Para mostrarle estás ubicaciones es necesario montar un directorio con el que tengamos que trabajar. Montar unidades no es más común para aquellos usuarios que utilicen Linux.

mount c ~/dosgames

En Windows:

mount c c:\dosgames

Una observación, el teclado, y el mapa de caracteres cargado en un sistema no compatible con los teclados castellanos.

Los dos puntos : se encuentra en eñe mayúscula Ñ.

Distribución teclado DOSBox

Para cambiar al teclado español:

keyb la
Accedemos a la unidad que hemos creado, en este caso c.

c:

UFO Enemigo desconocido

UFO Enemigo desconocido


Para montar automáticamente la carpeta donde guardamos nuestras aplicaciones que utilizaremos con DOSBox, colaremos nuestro comando en el famosos archivo de procesamiento por lotes autoexec.bat. Como hemos dicho, no disponemos del editor de texto Edit dentro de nuestro emulador. Desde nuestro sistema operativo, editaremos el archivo dosbox-0.74.conf . En la parte final del mismo:

[autoexec]
# Las líneas en esta sección serán ejecutadas al inicio.
# Puede poner sus líneas MOUNT acá.
keyb la
mount c ~/dosgames

c:

Como es un archivo de procesamiento por lotes, aquellos comando que incluimos en este apartado se cargaran al arranque de nuestro DOS emulado.

  • Cambiamos la disposición del teclado al español
  • Montamos la carpeta que queremos utilizar 
  • Nos posicionarnos en la unidad que hemos montado.

Evitar bloqueos y aumentar nuestra privacidad con Opera

Una de las herramientas a tener en cuenta para aumentar nuestra privacidad, o evitar los bloqueos a ciertos dominios es a través de una VPN.
Utilizaremos un intermediario para nuestras navegaciones. Nuestras comunicaciones desde nuestro navegador hasta la Red Privada Virtual, se realizará de forma encriptada, y es esta red la que realizará la petición al servidor web.
Hay varios servicios VPN gratuitos y de pago. Aquellos que son gratuitos nos pueden limitar la cantidad de datos descargar a través de sus servicios y necesitamos registrarnos.
El navegador Opera nos permite navegar utilizando su servicio VPN de forma gratuita y sin necesidad de registrarnos:

Opera navegando en https://www.enfaseterminal.com/


Navegar utilizando un servicio VPN nos permite:

VPN https://www.enfaseterminal.com/


  • Que nuestros datos se envíen y reciban de forma encriptada, evitando que nos espíen, por ejemplo si utilizamos WIFI's públicas.
  • Enmascaran nuestra dirección ip. Puede resultar útil si no queremos que la página que visitamos conozca nuestra ubicación o evitar que nos reconozca si hemos realizado una visita anterior.
Opera es multiplataforma, se encuentra disponible para Windows , Mac y Linux . También podemos utilizar este navegador en nuestros dispositivos móviles

La opción no se encuentra activada de forma predeterminada. Si queremos navegar a través de una VPN deberemos acceder al menú de Configuración>Avanzado>VPN

Configuración Opera
Activar VPN en Opera

Actualizar nuestro sistema Linux

Mantener nuestro sistema actualizado nos brinda más funcionalidad, corrección de posibles errores en versiones previas y sobre todo mayor seguridad.
En este caso vamos a actualizar una Raspberry, la cual no tiene conectado ningún periférico y tenemos administrarlo de forma remota.
Accedemos mediante ssh
ssh <dirección ip raspberry> -l <nombre usuario>
Los siguientes pasos son similares, para nuestra administración en local o en remoto
Actualizamos los repositorios que se encuentran listados en el archivo /etc/apt/sources.list. Realizamos la comprobación si nuestros paquetes tienen una versión mejorada.
sudo apt-get update
Aun no hemos actualizado nuestro sistema. Esta tarea la realizaremos con el comando:
sudo apt-get dist-upgrade
Actualizando paquetes instalados en Raspberry
Actualizando paquetes instalados en Raspberry

Otra forma seria
sudo apt-get upgrade 
Entre las dos opciones que tenemos,  dist-upgrade nos facilitará la actualización resolviendo posibles conflictos con las dependencias.
upgrade
upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages
not already installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without
changing the install status of another package will be left at
their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.


dist-upgrade
dist-upgrade in addition to performing the function of upgrade,
also intelligently handles changing dependencies with new versions
of packages; apt-get has a "smart" conflict resolution system, and
it will attempt to upgrade the most important packages at the
expense of less important ones if necessary. The dist-upgrade
command may therefore remove some packages. The
/etc/apt/sources.list file contains a list of locations from which
to retrieve desired package files. See also apt_preferences(5) for
a mechanism for overriding the general settings for individual
packages.

Navegar seguro usando la red Tor

Es evidente que en mundo conectado cualquier paso que des es registrado, almacenado y analizado. En casa alguien busca comida hindú, y a ti en la red social que utilizas habitualmente te muestra un anuncio de un restaurante cerca de ti con ese tipo de comida.
Dentro de las herramientas que podemos utilizar para no ser rastreados en nuestras deambulación por la red de redes se encuentra el navegador Tor.
Podemos descargar el navegador para distintos sistemas operativos, es multiplataforma.
Microsoft WindowsApple MacOSGNU/Linux
En el caso de GNU/Linux, descargaremos la última versión del acorde con la arquitectura de nuestro equipo, ya sea de 32 o 64 bits:
wegt https://www.torproject.org/dist/torbrowser/8.0.6/tor-browser-linux32-8.0.6_es-ES.tar.xz
wegt https://www.torproject.org/dist/torbrowser/8.0.6/tor-browser-linux64-8.0.6_es-ES.tar.xz
Descomprimimos el archivo que hemos descargado con la instrucción  tar -xvJf
tar -xvJf tor-browser-linux32-8.0.6_es-ES.tar.xz
o para 64

tar -xvJf tor-browser-linux64-8.0.6_es-ES.tar.xz
 Accedemos a la carpeta que acabamos de descomprimir
cd tor-browser_es-ES
Y lanzamos el navegador con el comando
./start-tor-browser.desktop




Aquí se nos muestra el poder de la red TOR. Nuestra navegación es descentralizada, se realiza a través de: "...en una red distribuida de relés administrados por voluntarios de todo el mundo: evita que alguien que observa su conexión a Internet aprenda qué sitios visita, impide que los sitios que visita aprendan su ubicación física, y te permite acceder a sitios que están bloqueados."

Realizando la navegación por capas, como si fuera una cebolla, para dificultar e impedir que la pagina que estamos visitando pueda obtener información sobre nuestra ubicación.



Saber el tiempo que hace en terminal

Buscando en la red me encontré con esta publicación Las mejores apps para consultar el tiempo en Linux
Entre ellas destaca Wttr.in. Con un formato simple nos muestra el tiempo, bien desde nuestra ubicación, aunque no es muy precisa, o bien indicando una dirección.
Podemos consultar que tiempo va ha hacer mañana desde nuestro navegador:
http://wttr.in/valladolid

 Podemos realizar peticiones de forma más minimalista si solo queremos saber que temperatura hay:

http://wttr.in/mountainview?format=3



O bien realizar consultas desde nuestro terminal y utilizando el comando curl.
Accederemos a la dirección de esta curiosa estación meteorológica, obteniendo información detallada del tiempo en la ubicación que hemos solicitado, en este caso de Valladolid
curl wttr.in/valladolid



Webmin, salvavidas para los que no somos puritanos de la linea de comandos

No me considero puritano de la línea de comandos, incluso es desesperante 😣😱.
Si que es cierto que para la gestión de nuestro equipo, servidor local o remoto es una herramienta imprescindible; y nos permite un consumo mínimo de recursos.
Pero la carne es debil. Webmin es una herramienta para la gestión sistemas Unix, como GNU/Linux y OpenSolaris basado en web; si podremos utilizar el ratón 😈. Está escrito en Perl, se encuentra en español y como he dicho es vía web, con lo cual es multiplataforma.

Wiki Webmin


En la siguiente página se encuentra los distintos formatos de empaquetado para poder instalarlo en nuestro equipo
http://www.webmin.com/download.html
wegt  https://prdownloads.sourceforge.net/webadmin/webmin_1.900_all.deb
sudo dpkg -i webmin_1.900_all.deb
En mi caso la instalación en una Raspberry con el sistema operativo Raspbian no hubo ningún problema. Pero en Linux Mint 19.1 Cinnamon no resulto tan fácil y tuve que resolver dependencias con un paquete que faltaba.

Una vez instalado, accederemos desde nuestro navegador a la dirección ip que queremos administrar a través de protocolo seguro https y el puerto 10.000:

https://localhost:10000/

Puede ser que tu navegador te recuerde que la conexión no es privada, continuamos de todos modos.


Y solo nos quedará iniciar sesión como root o como el usuario que tengamos como administrador

Resolver dependencias al instalar un paquete

La instalación de paquetes en linux, en algunos casos, suele ser frustrante; sobre todo si el programa que queremos instalar tiene la necesidad de tener instalados previamente en nuestro equipo otros paquetes para que funcione.
Instalaciones incompletas nos bloquea el instalador para nuevos paquetes.
En mi caso instalado el paquete
sudo dpkg -i webmin_1.900_all.deb
Quedo incompleta su instalación, ya que dependía de la instalación de paquetes que no se encontraban en el sistema:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias     
Leyendo la información de estado... Hecho
Tal vez quiera ejecutar «apt --fix-broken install» para corregirlo.
Los siguientes paquetes tienen dependencias incumplidas:
 webmin : Depende: libauthen-pam-perl pero no está instalado
          Depende: apt-show-versions pero no está instalado
E: Dependencias incumplidas. Intente «apt --fix-broken install» sin paquetes (o especifique una solución).
Ejecutando el comando apt-get
sudo apt-get --fix-broken install
 Leyendo lista de paquetes... Hecho
Creando árbol de dependencias     
Leyendo la información de estado... Hecho
Corrigiendo dependencias... Listo
Se instalarán los siguientes paquetes adicionales:
  apt-show-versions libauthen-pam-perl
Se instalarán los siguientes paquetes NUEVOS:
  apt-show-versions libauthen-pam-perl
0 actualizados, 2 nuevos se instalarán, 0 para eliminar y 0 no actualizados.
1 no instalados del todo o eliminados.
Se necesita descargar 0 B/52,8 kB de archivos.
Se utilizarán 172 kB de espacio de disco adicional después de esta operación.
¿Desea continuar? [S/n] s
Seleccionando el paquete libauthen-pam-perl previamente no seleccionado.
(Leyendo la base de datos ... 367984 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar .../libauthen-pam-perl_0.16-3build5_amd64.deb ...
Desempaquetando libauthen-pam-perl (0.16-3build5) ...
Seleccionando el paquete apt-show-versions previamente no seleccionado.
Preparando para desempaquetar .../apt-show-versions_0.22.7ubuntu1_all.deb ...
Desempaquetando apt-show-versions (0.22.7ubuntu1) ...
Configurando libauthen-pam-perl (0.16-3build5) ...
Configurando apt-show-versions (0.22.7ubuntu1) ...
** initializing cache. This may take a while **
Configurando webmin (1.900) ...
Webmin install complete. You can now login to https://localhost:10000/
as root with your root password, or as any user who can use sudo
to run commands as root.
Fueron satisfechas las dependencias y terminando correctamente la instalación, en este caso, de Wemin

Inicializar nuestro script al inicio del sistema

Resulta interesante arrancar nuestro script cada vez que se inicie nuestro sistema operativo basado en Linux.
Daremos privilegios de ejecución
sudo chmod +x script.sh
Copiaremos nuestro  script, con el comando cp,  a la carpeta /etc/init.d/
sudo cp script.sh /etc/init.d/
Con el comando update-rc.d añadiremos el archivo en el arranque de Linux.
sudo update-rc.d script.sh defaults

Crear un dominio con una ip dinámica con Google Domains en Linux

Si tienes alojado un dominio en Google Domains te permite enlazar dicho dominio o subdomino a una dirección ip dinámica.

Por ejemplo puedes alojar un servidor web oficina en tu casa. El gran inconveniente es que los proveedores de servicios de internet suelen crearte direcciones de acceso a internet que cambian con el tiempo, a no ser que quieras pagar por la opción de obtener una ip estática.

Entre las opciones que te permiten enlazar con una ip dinámica, o DNS dinamico, y con la que conseguí un resultado exitoso es utilizando su API.

La API requiere HTTPS. A continuación, encontrará un ejemplo de solicitud:
https://username:password@domains.google.com/nic/update?hostname=subdomain.yourdomain.com&myip=1.2.3.4
En mi caso escribí un script que cargue en la Raspberry Pi, para enlazar un servidor web.
nano ddns.sh
Le enviaremos a nuestro servidor DDNS a través de la dirección que nos proporcionan utilizando el comando curl. Los datos de acceso son aquellos que nos proporciona Google Domains. Y la dirección ip dinámica publica nos la obtendrá el comando  curl -s ifconfig.me
#! /bin/bash
ip="https://username:password@domains.google.com/nic/update?hostname=subdomain.yourdomain.com&myip=$(curl -s ifconfig.me)"
curl "$ip"
Le daremos a nuestro archivo la capacidad de ser ejecutado
chmod +x ddns.sh  
Lanzaremos nuestro script
./ddns.sh 
Comprobando su correcto funcionamiento


 Si todo es correcto cargaremos nuestro script al inicio de nuestro equipo y nuestro domino enlazará con nuestro hosting web casero

Cancelar todos los trabajos de la cola de impresión

Lance por error un trabajo a una de las impresoras que tengo. Cada vez que encendía el ordenador me notificaba que el trabajo no había sido realizado pero no encontraba la aplicación gráfica para acceder a la cola de impresión para cancelar el trabajo en Linux Mint.
Buscando, descubrí el comando
cancel
NAME
       cancel - cancel jobs

SYNOPSIS
       cancel  [ -E ] [ -U username ] [ -a ] [ -h hostname[:port] ] [ -u user‐
       name ] [ -x ] [ id ] [ destination ] [ destination-id ]

DESCRIPTION
       The cancel command cancels print jobs.  If  no  destination  or  id  is
       specified,  the  currently  printing  job on the default destination is
       canceled.

OPTIONS
       The following options are recognized by cancel:

       -a   Cancel all jobs on the named destination, or all jobs on all  des‐
            tinations if none is provided.
Y con la opción -a cancelo todos los trabajos pendientes
cancel -a 

Instalar Packet Tracer de Cisco

Packet Tracer es un simulador de redes con el que crear, practicar, interactuar y programar.
Es una herramienta de Cisco para su Networking Academy.
La aplicación es multi-plataforma y en este caso explicaré como instalarlo bajo plataforma Linux resulta siempre 😔 más complicado.

La inscripción en gratuita, pero obligatoria para descargar la aplicación y su posterior utilización.


Descomprimimos descargado:
tar -xzvf Packet Tracer 7.2 for Linux 64 bit.tar.gz -C /cisco
Accedemos a la carpeta cisco y  ejecutamos el instalador:
./install
Welcome to Cisco Packet Tracer 7.2 Installation
Read the following End User License Agreement "EULA" carefully. You must accept the terms of this EULA to install and use Cisco Packet Tracer.
Press the Enter key to read the EULA.

                                                Cisco Packet Tracer
                                             Software License Agreement
IMPORTANT: PLEASE READ THIS CISCO PACKET TRACER SOFTWARE LICENSE AGREEMENT (THE
"AGREEMENT") CAREFULLY.  DOWNLOADING, INSTALLING OR USING THE CISCO PACKET TRACE
R SOFTWARE CONSTITUTES ACCEPTANCE OF THIS AGREEMENT.  IF YOU DO NOT AGREE TO ALL
 OF THE TERMS OF THIS AGREEMENT, THEN CISCO SYSTEMS, INC. ("CISCO") IS UNWILLING
 TO LICENSE THE SOFTWARE TO YOU AND YOU ARE NOT AUTHORIZED TO DOWNLOAD, INSTALL
OR USE THE SOFTWARE.
I. DISTRIBUTION RIGHTS.  The terms in this Section I (Distribution Rights) 
Deberemos aceptar los terminos de uso de la aplicación ⇪

Por defecto colocará nuestra instalación en el directorio...
Nos solicitará privilegios de administración si confiamos en realizar la instalación en la ubicación predeterminada.
You have accepted the terms to the EULA. Congratulations. Packet Tracer will now be installed.
Enter location to install Cisco Packet Tracer or press enter for default [/opt/pt]:
[sudo] contraseña para <usuario>:         
Installing into /opt/pt
Not able to create and copy files to /opt/pt
Should we try to gain root access with sudo? [Yn] y
Installing into /opt/pt
Copied all files successfully to /opt/pt
Creará un enlace  simbólico para facilitar el arranque de la aplicación
Should we create a symbolic link "packettracer" in /usr/local/bin for easy Cisco Packet Tracer startup? [Yn] y
Paso final:
Type "packettracer" in a terminal to start Cisco Packet Tracer
Writing PT7HOME environment variable to /etc/profile
Writing QT_DEVICE_PIXEL_RATIO environment variable to /etc/profile
Cisco Packet Tracer 7.2 installed successfully
Please restart you computer for the Packet Tracer settings to take effect

Para poder utilizar la aplicación Packet Tracer tenemos que satisfacer sus pendencias instalando la librería libpng 12
wget http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.50-1ubuntu2.14.04.3_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.50-1ubuntu2.14.04.3_i386.deb 

Realizamos la instalación de acuerdo con la arquitectura de nuestro dispositivo 32 ó 64 bits
dpkg -i libpng12-0_1.2.50-1ubuntu2.14.04.3_amd64.deb
Una vez reiniciemos nuestro equipo lanzaremos la aplicación:
packettracer

Como cambiar servidor DNS en linux

Si tenemos la necesidad de cambiar o actualizar la información de los servidor de DNS  de nuestro equipo, modificaremos el fichero  /etc/resolv.conf
Podremos utilizar el editor nano.

sudo /etc/init.d/networking restart

La lectura del archivo sería:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 9.9.9.9
nameserver 8.8.8.8

En cada línea seguido de namesever indicaremos la dirección ip de nuestro servidor DNS.

Guardaremos nuestra edición Control+O y saldremos del editor con Ctrl+X
Reiniciamos el servicio de red de nuestro equipo:

sudo /etc/init.d/networking restart

Acceder a otra maquina utilizando protocolo ssh

Podemos acceder al terminal de otra maquina utilizando el protocolo ssh

sudo ssh <ip maquina a la que queremos conectarnos> -l <nombre del usuario con el cual nos queremos conectar>

Utilizando sudo nos permitirá aceptar la certificación de la maquina a la que queremos conectarnos aunque esta sea desconocida.
Al agregar la opción -l indicamos con que usuario nos queremos conectar. Si omitimos esta opción se nos preguntará con que usuario nos queremos hacer login

Matar una ventana que no responde

No solo en Windows se quedan colgadas las ventanas. También nos puede ocurrir en nuestra distribución Linux cuando trabajamos en modo gráfico.

Un comando util en estas ocasiones es xkill.

Ejecutada la orden en nuestro terminal nos aparecerá un icono con una calavera, o una X. La ventana sobre la que pulsemos será detenida y eliminada.

xkill

Montar carpeta remota FTP carpeta local en linux

En Linux hay varios programas para acceder de forma remota a nuestro servidor FTP.
Pero en esta ocasión me resultaba interesante montar una carpeta en local con acceso directo al disco duro compartido colocado en el router de la ISP y compartido mediante el protocolo FTP.
Buscando la manera más fácil y eficaz me encontré con este tutorial Montar carpeta remota FTP en Linux que utiliza el comando curlftpfs

curlftpfs(1) CurlFtpFS Manual curlftpfs(1)
NAME
curlftpfs - mount a ftp host as a local directory
SYNOPSIS
curlftpfs [options] host path
DESCRIPTION
The program curlftpfs is a tool to mount remote ftp hosts as local
directories. It connects to the host FTP server and maps its directory
structure to the path directory.
curlftpfs is powered by libcurl for all transfer-related features. See
libcurl(3) for details. The filesystem part is implemented on top of
FUSE. See http://fuse.sourceforge.net/ for details.
De forma predeterminada no estará nuestro sistema. Realizamos la instalación con el script:
sudo apt-get install curlftpfs
Crearemos la carpeta donde montaremos nuestra localización remota:

mkdir /home/usuario/ftp

Ejecutaremos el siguiente script que montara nuestra carpeta remota en local

sudo curlftpfs -o allow_other usuarioftp:contraseña@servidor.com /home/usuario/ftp -v

Con -v nos mostrará en pantalla la respuesta del servidor. Nos servirá para corregir posibles errores
Cuando comprobemos que funciona correctamente cargaremos nuestro script en el inicio de nuestro equipo