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.

Ejecutar aplicaciones modo gráfico a través de una conexión ssh

Es posible que en la administración de otro equipo tengamos que iniciar una aplicación en modo gráfico.
Cuando nos conectemos de forma remota a otro equipo utilizando ssh, añadiremos la opción -X
ssh <dirección ip host> -X -l <nombre usuario al que nos vamos a conectar>
 En este caso podríamos iniciar Firefox y se mostraria en nuestra pantalla pero toda la ejecución se realizaría en el equipo esclavo.
Si no incluimos la opción -X y queremos iniciar una aplicación en modo gráfico nos notificarian un error.
firefox
Error: no DISPLAY environment variable specified

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.



Desregistrar iMessage

Un día cae en tus manos  un iPhone, el iPad o el iPod touch; y pruebas todas las propiedades como un niño con un juguete nuevo. Poco a poco vas descartando utilidades y servicios, entre ellos iMessage y FaceTime, simplemente por que nadie de tus conocidos los utiliza.
Puede ser que continúes, o no con un dispositivo de la marca de la manzana mordida y en la factura del mes de tu proveedor de telefonía (Vodafone, Orange, Movistar, Yoigo ...) te llama la atención un cargo de 0,60€ 😱 de un sms internacional, un número que no conoces 004 475 37410220 .
Compruebas que ese mensaje no ha sido enviado ni recibido en tu celular y reclamas a tu compañia que ese cargo se te ha asignado de forma errónea. La amable señorita 😴 (en mi caso la atención al cliente de Vodafone) te informa que esos 0,60€ se los ha embolsado Apple 😠 por un servicio que no has utilizado y no tienes intención de utilizar.
Buscando y buceando encontré una dirección web donde darse de baja de este servicio y te explica como desactivar el uso de iMessage, Desregistrar iMessage.

https://selfsolve.apple.com/deregister-imessage/


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

Como asignar un puerto a una VLAN

Una vez que hemos creado nuestras VLAN, distribuiremos los puertos de nuestro switch o router, las distintas redes virtuales.
Utilizaremos los siguientes comandos en el shell del equipo:
Switch>enable
Switch#configure terminal
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#switchport access vlan 1
Utilizando simulador Packet Tracer de Cisco

Como crear redes virtuales VLAN

Com crear redes virtuales o VLAN en switch, conmutadores o routers Cisco a través de la linea de comandos utilizando el protocolo SSH.
Switch>enable
Switch#configure terminal
Switch(config)#vlan 1
Switch(config-vlan)#
Utilizando simulador Packet Tracer de Cisco 

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