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

Sistema de archivos con mayor compatibilidad entre Windows, Linux y Mac

Cuando en el hogar, o en la oficina, utilizas distintos sistemas operativos Windows, Linux o Mac. Es muy importante dar un formateado con un sistema de archivos, compatible para nuestros discos duros y/o memorias externas.

Recientemente he recuperado un disco duro de 80Gb y quería utilizarlo de soporte para copias de seguridad. Conectándolo a un sistema Linux, este caso Linux Mint, el montaje de la unidad y su lectura eran correctos, pero a la hora de conectarlo a un sistema Windows 11, este no lo reconocía.

El sistemas mas compatible entre los distintos sistemas operativos es FAT32. Pero tiene la limitación que solo se pueden formatear con este sistema unidades de no mas de 4 GB.

NTFS (Nueva Tecnología de sistema de archivos)es un sistema nativo de Windows, no es compatible en sistemas MAC y algunas distribuciones Linux.

ext2, ext3 y ext4 son formatos que suelen utilizar de forma local las distribuciones Linux, y nos puede acarrear algún problema de lectura en sistemas Windows.

exFAT:

  • Ventajas: Permite archivos grandes y es compatible con Windows, macOS y Linux.
  • Limitaciones: No es tan ampliamente compatible como FAT32.
  • Uso común: Buen formato para unidades externas compartidas entre diferentes sistemas operativos.


Para poder realizar este formateo de una unidad externa USB al formato exFAT es necesario tener instalado la utilidad exFAT-utils
sudo apt-get install exfat-utils

Para saber donde se encuentra tu unidad USB alojada, puedes averiguarlo con el comando  

df -h

 df  Informa  de  la  utilización del espacio de disco en sistemas de ficheros.

 -h Opción que muestra la capacidad de las carpetas solicitadas

Una vez que nos hemos asegurado que la unidad se encuentra montada en nuestro sistema, procederemos a realizar el formateado de la misma

sudo mkfs.exfat <ruta disco usb>

Escanear todos los sistemas dentro de nuestro rango con Nmap

Nmap es un programa de código abierto y multiplataforma que sirve para efectuar rastreo de puertos.

En este caso vamos a realizar un escaneo de todos los dispositivos conectados a nuestro rango de IP. Para que nos muestre en un archivo que puertos se encuentran abiertos, y por lo tanto una puerta de entrada a posibles ciberataques. 

Captura de pantalla ejecución nmap a través de Virtualbox corriendo el sistema operativo Kali

Te dejo un ejemplo, para utilizar en terminal Linux, para realizar un escaneo a todos los equipos que se encuentren en nuestra LAN.

Si solo quieres realizar un escaneo a un equipo, cambiaremos <comienzo de nuestro rango ip>/24 por el numero de IP del equipo que queremos analizar, por ejemplo 192.168.5.12

sudo nmap -p- --open -T5 -v -n -A -sV -Pn -sS <comienzo de nuestro rango ip>/24 -oX Descargas/escaneo.xml

  • sudo: permite ejecutar comandos con privilegios de «super usuario».
  • nmap: es la herramienta que vas a utilizar para realizar el escaneo de puertos.
  • -p- : hace referencia a los puertos.
  • --open: sirve para seleccionar únicamente los puertos que están abiertos.
  • -T5: hace referencia al temporizador del escaneo. Puede ir de 0 a 5, donde 0 es menos agresivo y lento y 5 es más agresivo y rápido.
  • -v: aplica verbose, para ver los resultados según va escaneando.
  • -n: no aplica resolución DNS, lo que genera más ruido y ralentiza el escaneo.
  • -A: detecta el sistema operativo y los servicios. 
  • -sV: descubre las versiones de los servicios.
  • -Pn: evita el descubrimiento de host, que puede ralentizar el análisis.
  • -sS: realiza la comunicación a través del protocolo TCP más rápida.
  • <comienzo de nuestro rango ip>/24 Buscaremos en toda nuestra red. Si nuestro equipo se encuentra en la dirección IP 192.168.5.12 y la mascara de subred fuera 255.255.255.0, nuestro rango IP seria 192.168.5.0/24
  • -oX se utiliza para exportar a un archivo y el resto del comando hace referencia a la ubicación en la que se va a descargar un archivo denominado «escaneo.xml», donde se guardarán todos los puertos abiertos que ha encontrado el escaneo.
🔔 Es posible que le lleve tiempo rastrear todos los servicios y todos los equipos de la red. Con esta configuración obtendremos mucha información de todos los dispositivos que se encuentran en nuestra LAN

Para facilitar su visualización utilizaremos el comando xsltproc

xsltproc Descargas/escaneo.xml -o escaneo.html


Resultado en html del un escaneo de puertos realizado con nmap
 

Cómo ejecutar archivos con extensión .run

Un archivo .run es normalmente un programa personalizado que debe ejecutarse para instalar y/o actualizar un software. No  es mejor método para la instalación de un nuevo programa, ya que no se rastrean dónde van los archivos y normalmente no proporcionan un método de desinstalación. no hay forma de estar seguro de lo que el script le hará a su sistema, por lo que se consideran inseguros. Con lo cual solo que habrá que ejecutar archivos de instalación de aplicaciones y descargarlo de páginas web confiables. Por ejemplo VirtualBox, utiliza este tipo de archivos para realizar la instalación y la actualización de este virtualizador.

Lo primero que tendremos que hacer darle permiso de ejecución al archivo que hemos descargado, como es el caso para actualizar la aplicación a la última versión

sudo chmod +x nombre_del_archivo.run

sudo chmod +x VirtualBox-6.1.40-154048-Linux_amd64.run

Seguidamente ejecutaremos el archivo con la extensión run añadiendo los caracteres ./ antes del ejecutable 

sudo ./nombre_del_archivo.run

sudo ./VirtualBox-6.1.40-154048-Linux_amd64.run

Desde el terminal de Linux, gestión y creación de usuarios

La utilización del terminal es una herramienta muy potente, y con muy bajo coste computacional. Seguidamente enumeramos algunos ejemplos de creación de usuarios ➕, en Linux, sus comandos y opciones:

  • Crear un usuario del sistema, incluyendo su directorio personal.
    • sudo useradd -m nombre_usuario
  • Crear un usuario del sistema, sin incluir su directorio personal.
    • sudo useradd nombre_usuario
  • Crear un usuario del sistema, incluyendo su directorio personal.
    • sudo adduser nombre_usuario
  • Crear un usuario del sistema con un directorio personalizado, dentro de la carpeta home
    • sudo useradd -d /home/nombre_carpeta nombre_usuario
  • Crear un usuario con un directorio personal en una ruta específica.
    • sudo useradd -m -d /carpeta/nombre_carpeta nombre_usuario

Borrar usuarios del sistema📤:

  •  Borrar un usuario del sistema, incluyendo su directorio personal .
    • sudo userdel -r  nombre_usuario
  • Borrar un usuario del sistema, sin incluir su directorio personal.
    • sudo userdel nombre_usuario
  • Borrar un usuario del sistema, sin incluir su directorio personal.
    • sudo deluser nombre_usuario
  • Borrar un usuario del sistema de un grupo.
    • sudo deluser nombre_usuario nombre_grupo

Establecer una contraseña a un usuario del sistema
  • sudo passwd nombre_usuario
Dar permisos de superusuario, sudo, a un usuario 🔐
  • sudo usermod -a -G sudo nombre_usuario
Cambiar el nombre de un usuario
  • sudo usermod --login nuevo_nombre nombre_usuario
Listar usuarios en Linux

Mensaje de error sudo: unable to resolve host ubuntu: Name or service not known

 En mi caso me ocurrió en una Raspberry en la que había instalado Ubuntu Server. Pero puede que les ocurra al invocar el comando sudo. No es problematico, por que el comando era ejecutado con privilegios de administrador, pero es molesto que cada vez realices una tarea, salga un mensaje de error



sudo: unable to resolve host ubuntu: Name or service not known

Para resolverlo basta con cerciorarse el nombre que le hemos dado a la máquina

 hostname

Y añadir una línea que falta en el archivo  /etc/hosts

sudo nano /etc/hosts

 


Justo debajo de  127.0.0.1 localhost añadiremos una nueva línea similar a la anterior pero con el nombre de nuestro hosts

127.0.0.1 nombre_del_hosts


 

 

 


Cómo cambiar el idioma del teclado en terminal Linux

 

Teclado en ingles

Al realizar una instalación en Linux es posible configurar el tipo de teclado utilizado y la configuración regional, para que podamos las características del idioma castellano. Pero si no ha sido posible, podremos configurarlo a posteriori. Este artículo y el anterior están muy relacionados, o sugiero echar un vistado para una correcta configuración Cambio de idioma y caracteres a español terminal Linux

El comando que utilizaremos será

setxkbmap

Pero para ello deberemos tener instalado la libreria x11-xkb-utils

sudo apt-get install x11-xkb-utils

Y ahora si cambiaremos la configuración de distribución del teclado español

sudo setxkbmap es

o

sudo setxkbmap -layout 'es,es' -model pc105

 

Para que esta nueva configuración tenga efecto deberemos reiniciar el sistema

Cambio de idioma y caracteres a español terminal Linux

Es curioso que siendo el segundo idioma más hablado en el mundo, por defecto las instalaciones basada en Linux utilicen el juego de caracteres anglosajón.

Para comprobar que juego de caracteres que se encuentra instalada por defecto en nuestra instalación Linux y la configuración regional de cada categoría como:

  • nombre
  • moneda
  • dirección
  • configuración numérica
  • teléfono
  • fecha y hora

Utilizaremos desde el terminal el comando:

locale

locale

 Para cambiar la configuración regional a es_ES.UTF-8 lo hacemos de la siguiente manera:

export LANG=es_ES.UTF-8

export LANG=es_ES.UTF-8

Como podemos ver, ya lo tenemos cambiado, pero esto solo nos valdrá para esta sesión. Al cerrar la sesión, o reiniciar el sistema, volveremos a la configuración anterior.

Para guardar los cambios de manera definitiva, debemos de editar el fichero  /etc/default/locale y sustituir la siguiente línea LANG=en_US.UTF-8 por LANG=es_ES.UTF-8.

sudo nano  /etc/default/locale

sudo nano  /etc/default/locale

Estos cambios de configuración serian en general. Si por el contrario quisiéramos cambiar la configuración para un usuario en concreto. Accederemos al archivo de configuraciones del usuario al que queremos que afecte dicho cambio

sudo /home/usuario/.bash_profile


Juego de caracteres habilitados en una configuración en castellano:

locale -a

 

 C

C.UTF-8

en_AG

en_AG.utf8

en_AU.utf8

en_BW.utf8

en_CA.utf8

en_DK.utf8

en_GB.utf8

en_HK.utf8

en_IE.utf8

en_IL

en_IL.utf8

en_IN

en_IN.utf8

en_NG

en_NG.utf8

en_NZ.utf8

en_PH.utf8

en_SG.utf8

en_US.utf8

en_ZA.utf8

en_ZM

en_ZM.utf8

en_ZW.utf8

es_AR.utf8

es_BO.utf8

es_CL.utf8

es_CO.utf8

es_CR.utf8

es_CU

es_CU.utf8

es_DO.utf8

es_EC.utf8

es_ES.utf8

es_GT.utf8

es_HN.utf8

es_MX.utf8

es_NI.utf8

es_PA.utf8

es_PE.utf8

es_PR.utf8

es_PY.utf8

es_SV.utf8

es_US.utf8

es_UY.utf8

es_VE.utf8

eu_ES

eu_ES.iso88591

POSIX

Es posible que la distribución del teclado no sea la correcta, leer el artículo  Cómo cambiar el idioma del teclado en terminal Linux

Como resolver dependencias rotas

Como resolver dependencias rotas de una instalación basada en Debian.

En una entrada anterior intentaba solucionar la instalación fallida de un paquete:

Resolver dependencias al instalar un paquete

Pero al desinstalar o purgar una aplicación, puede que por error se borró alguna librería de la que dependa otro programa o servicio. Una de las formas que nos recomienda el propio sistema es la ejecución del script:


sudo apt --fix-broken install


Dependencias rotas

 


Si no ha habido éxito, como fue mi caso ejecutaremos los siguientes comandos

Lo primero que haremos es intentar configurar paquetes que han sido desempaquetados, pero no configurados. Para ello ejecutaremos el siguiente comando en la terminal:


sudo dpkg --configure -a


Seguidamente limpiaremos la cache local de paquetes .deb 


sudo apt-get clean && sudo apt-get autoclean


Regeneramos la caché de los repositorios con el parámetro –fix-missing. De este modo intentaremos detectar y reparar problemas de dependencias en nuestro sistema operativo.


sudo apt-get update --fix-missing


Corregiremos las dependencias rotas. Para ello ejecutaremos el siguiente comando en la terminal: 


sudo apt-get install -f

 

En este punto mi problema se solucionó, restaurando el sistema y pudiendo ejecutar


sudo apt-get dist-upgrade


Para poder actualizar el sistema. 

Los siguientes paquetes se han retenido

Realizando tareas de mantenimiento del sistema, este me respondió con el mensaje:


sudo apt-get full-upgrade 

Leyendo lista de paquetes... Hecho

Creando árbol de dependencias       

Leyendo la información de estado... Hecho

Calculando la actualización... Hecho

Los siguientes paquetes se han retenido:

  rawtherapee

 

A partir de aquí ya no me permite actualizar el sistema

Una de las soluciones que encontré fue, curiosamente, actualizar el paquete que se encontraba retenido, utilizando el comando:

sudo apt-get upgrade <nombre paquete retenido>


sudo apt-get upgrade rawtherapee

Leyendo lista de paquetes... Hecho

Creando árbol de dependencias       

Leyendo la información de estado... Hecho

Calculando la actualización... Hecho

Los siguientes paquetes se ELIMINARÁN:

  rawtherapee-data

Los siguientes paquetes se han retenido:

  gparted

Se actualizarán los siguientes paquetes:

  rawtherapee

1 actualizados, 0 nuevos se instalarán, 1 para eliminar y 1 no actualizados.

Se necesita descargar 17,3 MB de archivos.

Se utilizarán 28,9 MB de espacio de disco adicional después de esta operación.

¿Desea continuar? [S/n] s

Des:1 http://ppa.launchpad.net/dhor/myway/ubuntu bionic/main amd64 rawtherapee amd64 5.8-1dhor~bionic [17,3 MB]

Descargados 17,3 MB en 1s (21,4 MB/s)  

dpkg: rawtherapee-data: problemas de dependencias, pero se desinstalará de todas formas

 tal y como se solicitó:

 rawtherapee depende de rawtherapee-data (= 5.3-1).

(Leyendo la base de datos ... 551670 ficheros o directorios instalados actualmente.)

Desinstalando rawtherapee-data (5.3-1) ...

(Leyendo la base de datos ... 550717 ficheros o directorios instalados actualmente.)

Preparando para desempaquetar .../rawtherapee_5.8-1dhor~bionic_amd64.deb ...

Desempaquetando rawtherapee (5.8-1dhor~bionic) sobre (5.3-1) ...

Configurando rawtherapee (5.8-1dhor~bionic) ...

Procesando disparadores para gnome-menus (3.13.3-11ubuntu1.1) ...

Procesando disparadores para hicolor-icon-theme (0.17-2) ...

Procesando disparadores para mime-support (3.60ubuntu1) ...

Procesando disparadores para desktop-file-utils (0.23+linuxmint8) ...

Procesando disparadores para man-db (2.8.3-2ubuntu0.1) ...


 

E: Sub-process /usr/bin/dpkg returned an error code (1)

A la hora de hacer uso de apt-get bien para instalar, borrar, o actualizar el sistema. Al principio parece que toda va bien pero al final del proceso me indica que ha habido un error y me muestra:

E: Sub-process /usr/bin/dpkg returned an error code (1)

Al parecer al realizar las tareas cotidianas de actualización del sistema, algún paquete a quedado retenido y no permite continuar.

Uno de las formas que encontrado para poder liberar el proceso, que ha quedado atrapado. Es accediendo a la carpeta:

/var/lib/dpkg/info

En esta carpeta se recoge información sobre los paquetes instalados, o en proceso de instalación.

La solución es descubrir que paquete ha quedado retenido y borrar la información sobre el. Por ejemplo utilizando el comando

sudo apt-get update

Nos saldrá el paquete que está creando esta situación, seguido de E: Sub-process /usr/bin/dpkg returned an error code (1)

Accedemos al directorio:

cd /var/lib/dpkg/info

Y borramos los archivos relacionados con el paquete que ha quedado retenido. En mi caso eran varios y último era man-db

sudo rm man-db.*

Volvemos a actualizar las lista de paquetes:

sudo apt-get update

Y ya podemos actualizar nuestro sistema e instalar nuevos paquetes. 

Como instalar paquetes desde terminal

Para poder instalar el paquete alojado en nuestro disco duro utilizaremos el comando

dpkg Gestor de paquetes .deb para instalar aplicaciones Debian manualmente.

La sintaxis es muy sencilla:

sudo dpkg -i nombre_archivo.deb

  • sudo Ejecutara nuestro comando con privilegios de administrador
  • dpkg  Es una herramienta para instalar, compilar, eliminar y manipular los paquetes de Debian.
  • -i (install) Parámetro que indica que ha de realizar la acción de instalar
  • nombre_archivo.deb Nombre del paquete que hemos descargado previamente.

Como borrar y eliminar todos los archivos de una aplicación

 Si necesitas más espacio, o la aplicación que instalaste no ha cumplido tus expectativas. Tienes que desinstalar la aplicación, pero si lo utilizas con las herramientas gráficas puede ser que los archivos de configuración y de perfil del programa permanezcan en el disco duro.

En terminal vamos a desinstalar y purgar la aplicación, vamos a borrar con una sola línea todos los archivos y carpetas relacionados con el programa.

sudo apt-get --purge remove <Nombre del paquete a desistalar>

  • sudo: Nos permitirá ejecutar el comando con privilegios de administrador
  • apt-get: Comando que puede agregar o eliminar paquetes del sistema.
  • --purge: Le indicamos al comando que borre los archivos de configuración relacionados con la aplicación que queremos desinstalar.
  • remove: Borrar el paquete nombrado.


Instalar servidor base de datos MariaDB

Uno de los primeros gestores de bases de datos con licencia GNU GPL que utilice, en un proyecto anterior, fue MySQL. En aquel entonces cree una pagina web dinámica, programada en PHP que obtenía los datos, utilizando SQL. Aquella idea quedó aparcada por falta de tiempo, pero ahora quería retomar parte de aquel antiguo proyecto.
Años después me he encontrado que los creadores de MySQL abandonaron la compañía para crear una nueva, MariaDB. Un nuevo gestor que evolucionó y han mejoró con respecto al su predecesor.


MySql vs MariaDB
Para instalar el servidor MariaDB podemos descargarla de la página oficial. Pero también se encuentra en los repositorios oficiales:

sudo apt install mariadb-server mariadb-client
 
Con este script instalaremos el servidor y el cliente del gestor. Seguidamente arrancaremos el servicio

sudo systemctl start mariadb.service

Y lo habilitamos para que cuando lo haga el sistema.

sudo systemctl enable mariadb.service

 Una vez instalada el servidor y el cliente en nuestra distribución. Aseguramos la instalación lanzando el comando:

sudo mysql_secure_installation 

 Enter current password for root (enter for none): Pulsa enter Introduzca la contraseña actual para root (ingrese para none): Pulse Enter
 Set root password? [Y/n]: Y ¿Establecer contraseña del root? [Y/n]: Y
 New password: Enter password Nueva contraseña: Introduzca contraseña
 Re-enter new password: Repeat password Reescribir nueva contraseña: Repetir contraseña
 Remove anonymous users? [Y/n]: Y¿ Borrar usuarios anónimos? [Y/n]: Y
 Disallow root login remotely? [Y/n]: Y¿No permitir el acceso al root desde remoto? [Y/n]: Y
 Remove test database and access to it? [Y/n]:  Y ¿Borrar Bases de datos Test y su acceso? [Y/n]: Y
 Reload privilege tables now? [Y/n]:  Y ¿Recargar privilegios a las tablas ahora? [Y/n]: Y



En este caso solo le vamos a permitir el acceso al administrador solo en local. De forma predeterminada no esta permitida el acceso en remoto a ningún usuario. Si tenemos la necesidad de hacerlo en este post te explico como.


Comprobaremos que funciona accediendo con el mismo cliente que hemos instalado:

sudo mariadb
 

Accediendo al gestor MariaDB

 



Usuario desconocido redis en el archivo statoverride

Uno de los problemas que arrastra Linux en la desinstalación de aplicaciones es que no se purgan completamente. Todos los archivos de configuración y librerías de las que dependia pernmanecen instaladas en el sistema. Eso, como ha sido en mi caso, puede causar un problema de secuestro de procesos. En este caso no podía instalar ni actualizar mi distribución Linux.

Mensaje de error al actualizar Linux


dpkg: erro fatal irrecuperable, abortando::
usuario desconocido 'redis' en el archivo statoverrride
E: Sub-process /usr/bin/dpkg returned an error code (2)
Un paquete no se puedo esntalar. Tratando de recuperrarlo:

Buscando al usuario 'redis' no aparece en el sistema lo único que encuentro es una referencia en el arranque del sistema Boot system : Systemd.

redis-server

Redis, que significa Remote Dictionary Server (servidor de diccionarios remoto), es un rápido almacén de datos clave-valor en memoria de código abierto que se puede utilizar como base de datos, caché, agente de mensajes y cola. El proyecto se inició cuando Salvatore Sanfilippo, el desarrollador original de Redis, trataba de mejorar la escalabilidad de su startup italiana. Redis ofrece ahora tiempos de respuesta inferiores al milisegundo, lo que permite que se realicen millones de solicitudes por segundo para aplicaciones en tiempo real de videojuegos, tecnología publicitaria, servicios financieros, sanidad e IoT. Redis es una opción muy habitual en aplicaciones de almacenamiento en caché, administración de sesiones, videojuegos, tablas de clasificación, análisis en tiempo real, datos geoespaciales, servicios de vehículos compartidos, chat/mensajería, streaming de contenido multimedia y publicación/suscripción.

Deshabilitamos el arranque automático. Redis no es un programa que se encuentre actualmente en mi sistema y al no haber purgado correctamente me esta impidiendo actualizarme.
La siguiente acción es acceder al archivo statoverride y borrar la linea creada por "usuario" "redis"

sudo nano /var/lib/dpkg/statoverride

Fichero statoverride
 

Buscando veo que el servidor se instaló al probar Steam. Asi que continuo con la desinstación y purga de redis-server
 
sudo apt-get purge redis-server
sudo apt-get purge redis-server
 

Una vez borrado la carpeta /home/usuario,/steam Ya podremos operar con normalidad y nos permite actualizar el sistema.

Eliminar publicidad mientras navegas en linux

Aunque hay extensiones para bloquear la publicidad mientras navegas por internet, buscaba algo màs simple que no fuera dependiente del navegador que esté utilizando en ese momento.
Encontré un método muy simple, editando el archivo:

/etc/hosts

En este archivo podemos guardar la relación de nombres de dominio y sus direcciones ip's. Cuando naveguemos por internet, nuestro ordenador accede primero a este archivo para localizar el dominio al que queremos acceder. Si no lo encuentra continuará la búsqueda en los servidores DNS que le indiquemos.

Si no disponemos de un servidor DNS en nuestra nuestra red local, nos será útil a la hora de acceder a nuestros servidores a través de nombres y no de direcciones ip.

Pero si añadimos dominios conocidos que son servidores de publicidad y/o rastreadores y le indicamos una dirección falsa, nuestro navegador no nos mostrará ninguna publicidad y no enviará datos de nuestra navegación.

El funcionamiento es similar a Pi-Hole . Pero sin necesidad de instalar un servidor DNS en nuestra red.

El método es muy sencillo. Editamos el archivo /etc/hosts

sudo nano /etc/hosts

Nos saldrá algo parecido a:

127.0.0.1 localhost
127.0.1.1 enfaseterminal
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Añadiremos en al final del archivo:

https://mega.nz/#!maRhEapC!-J7HXuVD0FiJXLpLMm5CtZKdnJUuHoiqSlCdj1kuzGU
 Esta lista negra a sido confecciona a partir del archivo:
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts

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 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