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

viernes, 26 de abril de 2019

Habilitar confirmación ante borrado de ficheros

En un sistema Linux, es una práctica recomendable tener activada la confirmación ante el borrado de ficheros. De esta forma, evitaremos eliminar por error información útil pues en el terminal no hay “papelera de reciclaje”.
Los pasos para activar la confirmación para el comando rm en todos los usuarios es la siguiente para Ubuntu:

sábado, 20 de abril de 2019

Consultar ciclo de vida en Ubuntu

A la hora de mantener actualizado un sistema operativo, en nuestro caso Ubuntu, es importante conocer hasta qué fecha se sigue dando soporte de actualizaciones para la versión que tengamos instalada.
Si nos quedamos sin soporte, será imposible actualizar un paquete del que se haya detectado una vulnerabilidad, corregir bugs, etc.
Ubuntu informa de su ciclo de vida en esta web. Se recomienda acceder a ella para conocer en todo momento el tiempo de soporte de las distintas versiones. El ciclo de vida de las últimas distribuciones es el siguiente:

lunes, 15 de abril de 2019

Conocer a qué velocidad funciona la tarjeta de red

En Ubuntu es posible conocer a qué velocidad funciona nuestra tarjeta de red. Hay que indicar que una cosa es la velocidad a la que puede funcionar una tarjeta y otra a qué velocidad trabaja en un momento determinado. Esto vendrá impuesto por el tipo de cableado de red que se use, por la velocidad negociada con el otro extremo, etc.
Por ejemplo, podemos tener una tarjeta Gigabit Ethernet (es decir, capaz de trabajar a 1 Gbps) pero conectarla a un switch que trabaje a 100 Mbps. En este caso, se negociará una velocidad de 100 Mbps.
Vamos a ver cómo comprobar la velocidad máxima a la que puede trabajar nuestra tarjeta de red y la velocidad a la que está trabajando con la conexión actual.

jueves, 11 de abril de 2019

Averiguar los nombres de las interfaces de red en Ubuntu

En esta entrada se va a ver cómo averiguar el nombre de las tarjetas de red instaladas en un equipo con Ubuntu 18.04 (aunque también es aplicable a versiones anteriores).
Veamos un caso práctico: se tiene una máquina virtual con Ubuntu Server 18.04. Esta máquina tiene una tarjeta de red asociada. Se puede ver de la siguiente forma:
$ sudo ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.139  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a00:27ff:fe3b:740  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:3b:07:40  txqueuelen 1000  (Ethernet)
        RX packets 151358  bytes 228391106 (228.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 12188  bytes 1009977 (1.0 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 228  bytes 17347 (17.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 228  bytes 17347 (17.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
O de esta otra:

lunes, 8 de abril de 2019

Significado de primera línea de ls -l

El comando ls suele ejecutarse habitualmente seguido de la opción -l (entre otras). A parte de ver por pantalla la información que esperamos, siempre aparece una primera línea con el siguiente aspecto:
$ ls -l
total 12
-rw-r--r-- 1 root root 12287 abr  8 20:45 a
Aunque se suele pasar por alto esta primera línea, conviene saber qué significa toda información que nos muestre el sistema, y más en un comando tan usado como es ls -l.
La explicación que se encuentra en la documentación oficial del comando es la siguiente:

jueves, 28 de marzo de 2019

Descargar actualizaciones con APT sin instalarlas

El gestor de paquetes de Ubuntu es apt. Se trata de un estupendo sistema de gestión que permite de forma cómoda y rápida buscar, instalar o eliminar paquetes.
Habitualmente, a la hora de actualizar paquetes se ejecutarán los siguientes comandos:
$ sudo apt update
$ sudo apt dist-upgrade
La primera línea, apt update, analizará los repositorios para saber, entre otras cosas, qué paquetes instalados en nuestro equipo tienen una nueva versión pendiente de instalar.
La segunda, apt dist-upgrade, instalará estas actualizaciones.
Hasta aquí ninguna novedad.
No obstante, en ocasiones puede ocurrir que la descarga de los nuevos paquetes a actualizar (realizada por el comando apt dist-upgrade) va muy lenta y el proceso de actualización se dilata demasiado, entre la descarga y posterior instalación. Puede ocurrir que tengamos una ventana de tiempo reducida para realizar la actualización de paquetería.
Para estos casos, se recomienda realizar una descarga previa de estos nuevos paquetes. De esta forma, cuando emprendamos el proceso de actualización de paquetería solamente se instalarán, no perdiendo tiempo en descargarlos. Para ello, ejecutar los siguientes comandos:
$ sudo apt update
$ sudo apt dist-upgrade -d
[...]
Des:102 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 cloud-init all 18.5-45-g3554ffe8-0ubuntu1~18.04.1 [390 kB]
Descargados 159 MB en 15s (10,5 MB/s)
Descarga completa y en modo de solo descarga
Los paquetes se descargan en el directorio /var/cache/apt/archives. Como ya se vio en una entrada anterior, se puede eliminar esta caché de paquetes para liberar espacio en disco.

La instalación de estos paquetes previamente descargados se realizará con el comando habitual:

$ sudo apt dist-upgrade

jueves, 21 de marzo de 2019

Significado de segunda columna de comando ls

Un comando ampliamente utilizado en un sistema Linux es ls con el parámetro -l, que ofrece información adicional por cada fichero. Veamos un ejemplo:
$ ls -l
total 12
-rwxr-xr-x 1 root root 4017 mar 20 09:49 specs.sh
drwx------ 3 root root 4096 mar 18 10:29 systemd-private-ac
drwx------ 2 root root 4096 ago  7  2018 vmware-root
Sin embargo, no es habitual conocer el significado de la segunda columna, ese valor numérico que tiene cada fichero o directorio listado.
Este valor indica el número de enlaces duros que tiene el fichero o directorio. Recordar que un fichero cualquiera mantiene sus datos almacenados en el disco duro, y dispone de una estructura de inodos para indicar qué bloques son los que tienen sus datos. Un enlace duro es un fichero que usa el mismo inodo que el fichero original. Veamos un ejemplo:

lunes, 18 de marzo de 2019

Liberar espacio de disco eliminando caché de paquetes

Cuando nos encontramos ante un equipo con poco espacio libre en disco, hace falta ejecutar una serie de acciones para liberar espacio.
Una de ellas es liberar espacio reservado para root. Con esta acción conseguiremos ganar bastante si la partición es grande.
Otra acción encaminada a ganar espacio libre consiste en liberar espacio en disco eliminando paquetes innecesarios. Se puede llegar a liberar 1 GB o incluso más.
En esta ocasión se va a exponer un tercer método para liberar espacio en disco: eliminar la caché de paquetes .deb, que se almacena en el equipo tras la instalación de paquetes por si en el futuro hay que volver a [re]instalarlos. Esto, por supuesto, solo es aplicable para sistemas basados en paquetería mediante APT. Como Debian o Ubuntu.
Para ello, ejecutaremos:
$ sudo apt clean
O si nuestra versión de sistema operativo es más antigua:
$ sudo apt-get clean
Este comando no ofrece ninguna salida por pantalla pero elimina la caché de paquetes ubicada en el directorio /var/cache/apt. De hecho, podemos ejecutar una simulación del comando que indicará los pasos que realiza:
$ sudo apt-get -s clean
Del /var/cache/apt/archives/* /var/cache/apt/archives/partial/*
Del /var/lib/apt/lists/partial/*
Del /var/cache/apt/pkgcache.bin /var/cache/apt/srcpkgcache.bin

lunes, 4 de marzo de 2019

Cambiar servidor de hora en Ubuntu 18.04

En una entrada anterior se explicó cómo establecer el timezone en Ubuntu 18.04. Una personalización relacionada con el timezone es la de cambiar el servidor NTP a partir del cual nos sincronizamos.
En Ubuntu 18.04, el encargado de gestionar la sincronización horaria es el demonio systemd-timesyncd. Por defecto, este demonio sincroniza la hora del sistema mediante los servidores de hora de Ubuntu (golem.ubuntu.com). Si lanzamos un tcpdump y esperamos un poco, veremos tráfico de red por el puerto 123 UDP, que es el relacionado con el protocolo NTP:
$ sudo tcpdump port 123
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
21:32:36.048941 IP us18.home.44687 > golem.canonical.com.ntp: NTPv4, Client, length 48
21:32:36.093463 IP golem.canonical.com.ntp > us18.home.44687: NTPv4, Server, length 48

jueves, 14 de febrero de 2019

Fichero pg_hba.conf de Postgresql

Como continuación del post sobre primeros pasos con Postgresql, hoy vamos a ver un poco más en profundidad el fichero pg_hba.conf que se suele ubicar en el directorio /etc/postgresql/XX/main/ (siendo XX el número de versión, por ejemplo 10 ó 9.3).
El fichero pg_hba.conf sirve para especificar los accesos a las bases de datos que permitiremos, es decir, sirve de ACL.
Si se edita el fichero, se comprobará que cada linea (no comentada) consta de una serie de campos separados por un espacio o un tabulador. El significado de los distintos campos es el siguiente:
Columna 1: TYPE
Puede tener el valor local o host.
Si utilizamos local, indicaremos que el acceso que estamos definiendo tendrá como origen el propio equipo donde está instalado el servicio Postgresql y accederemos al localhost.
Si usamos host, indicaremos que el acceso provendrá de un equipo en red, es decir, el que inicie el acceso no será la máquina donde se tenga instalado el servicio Postgresql y por tanto accederá por IP o hostname al servidor.

lunes, 11 de febrero de 2019

Evitar borrado automático en /tmp en Ubuntu 18.04


Por defecto, el contenido del directorio /tmp es eliminado tras el arranque del sistema operativo en Ubuntu. En Ubuntu 18.04, el demonio systemd-tmpfiles es el encargado de esta acción.
Si se desea deshabilitar la eliminación automática del contenido de /tmp en el arranque, bastará con editar el fichero /usr/lib/tmpfiles.d/tmp.conf y comentar la siguiente linea:

jueves, 31 de enero de 2019

Establecer timezone en Ubuntu 18.04


Tras instalar Ubuntu 18.04 server, una de las cosas a revisar es la fecha y hora de nuestro sistema.
Mediante el comando date podemos comprobar estos valores:
$ date
mié ene 30 21:54:35 UTC 2019
No obstante, no está ajustando correctamente el huso horario real, que en mi caso es España. Hay un retraso de una hora.

jueves, 20 de diciembre de 2018

lunes, 17 de diciembre de 2018

Liberar espacio en disco eliminando paquetes innecesarios

Hoy vamos a ver una forma de liberar espacio en disco en Linux que mucha gente desconoce.
Con el tiempo, los paquetes del sistema operativo se van actualizando y, entre ellos, el kernel de Linux recibe actualizaciones. Por precaución, los kernels antiguos no se eliminan dado que en un momento determinado el equipo nos puede ir mal con el kernel recién instalado y puede ser necesario usar los anteriores, que todavía siguen disponibles en el sistema.
Con el tiempo, los kernels antiguos tienden a acumularse y es una buena práctica, a nivel de mantenimiento, eliminarlos. Esto también ayudará a reducir el espacio en uso de disco.

jueves, 13 de diciembre de 2018

Primeros pasos con Postgresql

En la entrada de hoy vamos a ver cómo montar un servidor de Postgresql paso a paso para disponer de lo básico para empezar a trabajar.
Indicar que en este ejemplo se usará la distribución Ubuntu 18.04 en su edición server, aunque el proceso no variará demasiado para otras distribuciones.
Vamos a dividir en dos secciones los pasos a realizar: por un lado estará el proceso de instalación y por otro el de realización de configuraciones básicas para poder usar la base de datos.

sábado, 29 de octubre de 2016

Programar un sleep con tiempo aleatorio

Comparto una función que aunque simple, considero interesante incluirla en la librería personal de funciones bash.
Básicamente hace esperar un tiempo aleatorio a un script, útil para programar reintentos. Variando el valor de la variable RandomSleep se puede ajustar el tiempo máximo de espera.

miércoles, 26 de octubre de 2016

Comprobar si el equipo está conectado a la corriente

En muchas ocasiones resulta de utilidad revisar scripts que vienen de serie con la distribución Linux que tenemos para descubrir nuevos comandos, funciones de utilidad, etc.
Hoy os comento el comando on_ac_power, que viene por defecto en Ubuntu. Sirve para conocer si un equipo está conectado a la corriente eléctrica o no. El resultado lo devuelve mediante la variable de entorno $?, que indica el código de salida de la última aplicación o comando ejecutado.

viernes, 16 de octubre de 2015

Recuperación de ficheros eliminados en partición ext3

En este post voy a explicar la forma de recuperar ficheros eliminados de una partición ext3 usando la aplicación ext3grep, que se puede obtener desde los repositorios oficiales de Ubuntu (y supongo que de otras muchas distribuciones).
Lo primero de todo, y muy importante, es desmontar la partición que contenía los ficheros eliminados accidentalmente. De lo contrario, cuanto más tiempo pase la partición montada y en uso, menores serán las probabilidades de recuperar la información que nos interesa.

viernes, 21 de febrero de 2014

grep y cat sobre un fichero comprimido con gzip

En relación a la entrada anterior, registro de logados mediante ssh, es posible que necesitemos hacer un grep sobre un fichero de texto plano comprimido con gzip. Hay muchos logs que van rotando y los ficheros antiguos son comprimidos automáticamente con este formato.

Por tanto, si queremos realizar un grep sobre el fichero /var/log/auth.log.2.gz ejecutaremos:

# zgrep Accepted /var/log/auth.log.2.gz

Por defecto, el comando grep colorea las palabras que encajan con el patrón buscado, pero zgrep no. Para que las coloree:

# zgrep --color Accepted /var/log/auth.log.2.gz

De la misma forma, zcat realiza un cat sobre un fichero de texto plano comprimido con gzip.

miércoles, 19 de febrero de 2014

Registro de logados mediante SSH

Es un buen hábito revisar de vez en cuando el registro de logados mediante SSH, para detectar así posibles accesos no autorizados.

La forma de obtener el registro de accesos es mediante el siguiente comando:

# grep Accepted /var/log/auth.log
Feb 18 08:20:21 myserver sshd[27373]: Accepted publickey for nagios from 192.168.44.8 port 56032 ssh2
Feb 19 10:22:52 myserver sshd[17224]: Accepted password for root from 192.168.44.2 port 55073 ssh2

Indicar que dicho fichero de registro, auth.log , va rotando por lo que es posible que haga falta revisar el fichero auth.log.1, auth.log.2.gz, ...