Saltar a contenido

Blog

Introduccion

A veces Ubuntu nos muestra un error de que no hay suficiente espacio en el sistema de archivos raiz.

Por defecto Ubuntu y muchos programas hacen caché y generalmente nos ocupan un espacio innecesario y bastante grande en nuestro disco duro.

Como arreglarlo

Vamos a ver algunos metodos de como liberar espacio

Liberar espacio de paquetes apt no usados

sudo du -sh /var/cache/apt 
sudo apt-get autoremove
sudo apt-get autoclean

Limpiar los registros de logs del sistema (journalctl)

En este caso, dejamos solo los ultimos 3 dias

sudo journalctl --vacuum-time=3d  # este el que mas

Limpiar cache de imagenes

rm -rf ~/.cache/thumbnails/*

Limpiar paquetes snap

Un script con este codigo nos liberara todo lo residual de repositorios snap en nuestra maquina

#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
snap list --all | awk '/desactivado/{print $1, $3}' |
    while read snapname revision; do
        snap remove "$snapname" --revision="$revision"
    done

Limpiar Basura de Visual Studio

Si usas Visual Studio te habras dado cuenta de que es un cumulo de basura. Si consultas el directorio de trabajo /.config/Code/User/workspaceStorage vas a flipar con lo que hay ahi dentro.

Para limpiarlo basta con

find /home/dpena/.config/Code/User/workspaceStorage -mindepth 1 -maxdepth 1 | xargs rm -rf

Recopilando en un fichero

Lo mas “inteligente” es crear un cron que realice estas tareas por nosotros. Asi que creamos un fichero con toda esta info (recuerda cambiar el nombre de usuario por el tuyo):

sudo nano ~/.cleanDiskUsage.sh

Con este contenido:

#!/bin/bash

# Remove all apt caches
sudo du -sh /var/cache/apt 
sudo apt-get autoremove
sudo apt-get autoclean

#  Remove journalctl logs
sudo journalctl --vacuum-time=3d 

# Remove images cache

rm -rf /home/{username}/.cache/thumbnails/*

# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
snap list --all | awk '/desactivado/{print $1, $3}' |
    while read snapname revision; do
        snap remove "$snapname" --revision="$revision"
    done

## Remove Visual Studio code temp files
find /home/{username}/.config/Code/User/workspaceStorage -mindepth 1 -maxdepth 1 | xargs rm -rf

Lo añadimos a crontab de super usuario para que se ejecute todos los viernes a las 14:45 (mas o menos la hora de salir de trabajar)

$ sudo crontab -e
no crontab for root - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /usr/bin/ng
  2. /bin/nano        <---- easiest
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [2]: 2   #es la primera vez asi que le digo que quiero usar nano
Introducimos para que se ejecute ese archivo los viernes a las 14:45. Indicamos que la salida del comando la descarte /dev/null porque no queremos revisar el reporte

# For more information see the manual pages of crontab(5) and cron(8)
# 
# m h  dom mon dow   command
45 14 * * 5 /home/dpena/.cleanDiskUsage.sh >/dev/null 2>&1

Conclusion

Con este crontab estaremos controlando el espacio usado en nuestro pc cada semana.

Introduccion

Muchas veces nos pasa que se nos queda un disco duro interno corrupto, muchas veces propiciado porque lo hemos desconectado antes de que haya dado el visto bueno el sistema operativo.

Despues de desconectarlo intentamos volver a conectarlo y nos da error Unkonwn error mounting /dev/sda1”

NFTSFIX

Como su propio nombre indica este revisa los sectores del disco duro y resuelve los errores que encuentre.

Para ejecutarlo basta ejecutar sudo nftsfix /dev/{nombreDispositivoCorrupto}

Ejemplo (el error esta en el disco que montamos sobre /dev/sda1):

$ sudo ntfsfix /dev/sda1
[sudo] contraseña para dpena: 
Mounting volume... $MFTMirr does not match $MFT (record 3).
FAILED
Attempting to correct errors... 
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr... OK
Comparing $MFTMirr to $MFT... FAILED
Correcting differences in $MFTMirr record 3...OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sda1 was processed successfully.

Volvemos a acceder al disco duro (sin necesidad de desconectarlo o desconectandolo) y voilá ahi esta funcionando como el primer dia.

Docker, ¿Que es, para que sirve?

Docker es una herramienta de gestion de contenedores. Un contenedor se entiende como un entorno de ejecucion portable, aislado e independiente, puedes imaginarlo como si fuera una maquina virtual.

En este entorno tendremos empaquetado nuestro sistema operativo y nuestros ejecutable para poder ser arrancado en cualquier host (independiente de su propio sistema operativo). Docker es un ejecutable que nos permite arrancar, parar y trabajar con estos contendores.

Docker Commands

Aqui va una lista de comandos basicos con ejemplos:

Comandos basicos Docker

  1. Listar Imagenes Locales
  2. Descargar una imagen
  3. Listar procesos Docker
  4. Listar los contenedores
  5. Inspeccionar toda la configuracion de un contenedor
  6. Renombrar contenedor
  7. Arrancando y parando contenedores
  8. Consultar puertos de un contenedor
  9. Ver logs de un contenedor
  10. Entrar en un contenedor a traves de shell
  11. Copiar o meter archivos dentro de un contenedor
  12. Borrando contenedores y volumenes
  13. Crear una network

Maven Exec Plugin

Maven Exec Plugin ¿Que es, para que sirve?

A veces en el proceso del ciclo de vida de nuestro proyecto, necesitamos hacer tareas externas, que por ejemplo tengamos definidas en un shell script y que esten incluidas en alguna determinada fase de maven.

Maven nos da la flexibilidad de poder integrar esas ejecuciones externas, pero dentro del ciclo de vida de nuestro proyecto con maven.