jueves, 19 de junio de 2014

Mantenimiento y optimización de Manjaro, operaciones manuales








Éste es el tercer post dedicado a mantenimiento y optimización de Manjaro. Puedes leer los artículos anteriores aquí: http://felinfo.blogspot.com.es/2014/06/mantenimiento-y-optimizacion-de-manjaro.html y http://felinfo.blogspot.com.es/2014/06/mantenimiento-y-optimizacion-de-manjaro_19.html . En este caso vamos a ver cómo realizar algunas tareas que no se pueden automatizar y que nos servirán para listar algunos paquetes innecesarios y que pueden borrarse. Finalmente se verá cómo listar algunos archivos de configuración, a los que deberíamos hacerle copia de seguridad.




Identificar archivos que no pertenecen a ningún paquete

Se trata de identificar los archivos que están fuera de la base de datos de pacman. Son los archivos de aplicaciones de terceros que suelen instalarse mediante ./configure && make && make install . Dichos archivos se pueden listar con el siguiente script:
 #!/bin/sh

tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$
db=$tmp/db
fs=$tmp/fs

mkdir "$tmp"
trap 'rm -rf "$tmp"' EXIT

pacman -Qlq | sort -u > "$db"

find /etc /opt /usr ! -name lost+found \( -type d -printf '%p/\n' -o -print \) | sort > "$fs"

comm -23 "$fs" "$db"



Y podemos generar la lista así:

sh pacman-disowned > non-db.txt


NOTA IMPORTANTE: No se deben de borrar todos los archivos listados en non-db-txt, ya que ahí pueden aparecer archivos de configuración, logs, etc. Así que usa la lista con responsabilidad y en caso de duda en algún archivo, no lo elimines.



Listar los paquetes instalados que no pertenecen al sistema base

Se quieren mostrarán los paquetes que no pertenecen al sistema. Para ello habría que instalar expac:

sudo pacman -S expac 

Y posteriormente listar los paquetes con el siguiente comando:

expac -HM "%011m\t%-20n\t%10d" $( comm -23 <(pacman -Qqen|sort) <(pacman -Qqg base base-devel|sort) ) | sort -n




Listar los archivos de configuración modificados

Si quieres hacer una copia de seguridad de los archivos de configuración simplemente tienes que copiar el directorio /etc . Pero si sólo quieres copiar los archivos modificados, puedes conocer dichos archivos con el siguiente comando:

pacman -Qii | awk '/^MODIFIED/ {print $2}'



Como siempre, podéis utilizar los comentarios para formular cualquier pregunta.


Fuentes: 

https://wiki.archlinux.org/index.php/System_maintenance




Mantenimiento y optimización de Manjaro, el script








Después de haber visto los comandos (http://felinfo.blogspot.com.es/2014/06/mantenimiento-y-optimizacion-de-manjaro.html), vamos a utilizarlos para crear un script y automatizar las tareas de mantenimiento y optimización de Manjaro. He de decir que aunque me he basado en el artículo https://wiki.archlinux.org/index.php/System_maintenance , este script es personal y adaptado a mis propias necesidades. Lo pongo aquí por si a alguien le sirve de guía, no debe ser una norma a seguir. Por tanto, os recomiendo que cada uno lo analice y lo modifique para que haga exactamente lo que quiere. Debéis utilizarlo bajo vuestra propia responsabilidad. Si tienes alguna duda, puedes preguntarme.

#!/bin/bash

echo "--------------- Actualizando el sistema (1/5) ---------------"
read -r -p "Quieres actualizar tu sistema (incluyendo incluyendo Aur)? [S/n] " response
if ! [[ $response =~ ^([nN][oO]|[nN])$ ]]
then
# sudo pacman -Syu
yaourt -Syua
fi
echo "--------------- Actualizado el sistema (1/5) ---------------"

echo "--------------- Eliminando los paquetes huerfanos (2/5) ---------------"
  if [[ ! -n $(pacman -Qdt) ]]; then
    echo "No orphans to remove."
  else
    sudo pacman -Rns $(pacman -Qdtq)
  fi
echo "--------------- Eliminados los paquetes huerfanos (2/5) ---------------"

echo "--------------- Optimizando la base de datos (3/5) ---------------"
read -r -p "Se va a optimizar la base de datos. Si además quiere borrar la caché de las aplicaciones instaladas pulse i. Para borrar toda la caché pulse t. Para no borrar nada pulse N (recomendado). Pulse [i/t/N].
" response
if [[ $response =~ ^([iI])$ ]]
then
sudo pacman -Sc && sudo pacman-optimize 
elif [[ $response =~ ^([tT])$ ]]
then
sudo pacman -Scc && sudo pacman-optimize
else 
sudo pacman-optimize && sync
fi
echo "--------------- Optimizada la base de datos(3/5) ---------------"

echo "--------------- Actualizando los repositorios (4/5) ---------------"
# ¿Desea actualizar sus repositorios?
read -r -p "Quieres actualizar tus repositorios? [s/N] " response
if [[ $response =~ ^([sS][iI]|[sS])$ ]]
then
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
sudo pacman-mirrors -g
pacman -Syy
fi
echo "--------------- Actualizados los repositorios (4/5) ---------------"

echo "--------------- Vaciando las papeleras (5/5) ---------------"
read -r -p "¿Quieres vaciar las papeleras de reciclaje de todos los usuarios (incluido root)? [S/n] " response
if ! [[ $response =~ ^([nN][oO]|[nN])$ ]]
then
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
sudo rm -rf /root/.local/share/Trash/*/** &> /dev/null
fi

read -r -p "¿Quieres vaciar la carpeta Descargas [S/n] " response
if ! [[ $response =~ ^([nN][oO]|[nN])$ ]]
then
sudo rm -rf ~/Descargas/* &> /dev/null
fi
echo "--------------- Vaciadas las papeleras (5/5) ---------------"



Si tenéis alguna sugerencia, duda ó corrección, podéis utilizar los comentarios.
 

Fuentes:

https://wiki.archlinux.org/index.php/System_maintenance




Mantenimiento y optimización de Manjaro, los comandos








Después de llevar algunos meses utilizando Manjaro, me he decidido a hacer un post donde se explique cómo realizar el mantenimiento y optimización de esta excelente distribución. Me he basado en el artículo "System maintenance" de la Wiki de Arch Linux (https://wiki.archlinux.org/index.php/System_maintenance). Sin más, pasamos a enumerar y explicar los comandos.



Actualizar el sistema

Podemos actualizar los paquetes del repositorio oficial:
sudo pacman -Syu

O bien actualizar los paquetes del repositorio oficial y de AUR (Arch User Repository):
yaourt -Syua



Eliminar los paquetes huérfanos

Se van a eliminar los paquetes que no dependen de ninguna aplicación. Para listar dichos paquetes usamos:
pacman -Qdt

Si hay paquetes huérfanos los eliminamos así:
sudo pacman -Rns $(pacman -Qdtq)



Borrar la caché de los paquetes

Ésto solo lo haremos en caso de que estemos seguros de que los paquetes instalados son estables. Borrará las versiones anteriores de la carpeta de caché y por tanto no podremos hacer downgrade:
sudo pacman -Sc

El comando siguiente es aun más agresivo, ya que borra completamente la carpeta de caché. No debemos usarlo a no ser que desesperadamente queramos obtener espacio en disco:
sudo pacman -Scc



Optimizar el acceso a la base de datos

Con el siguiente comando se mejora la velocidad de acceso a la base de datos y por tanto también el tiempo necesario para las operaciones sobre ésta:
sudo pacman-optimize && sync 

 

 

Actualizar los repositorios

Se va a rehacer el archivo mirrorlist, de foma que ordene los servidores disponibles dependiendo de su tiempo de acceso (previamente deberemos hacer una copia de seguridad del archivo mirrorlist, como se muestra a continuación):

cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup

sudo pacman-mirrors -g

pacman -Syy

 

 

Vaciar las papeleras de reciclaje y otras carpetas

Este paso es opcional y no aparece en el artículo "System maintenance" que mencioné al principio. Cada uno debe pensar si es conveniente llevarlo a cabo o no. Se vaciarán las papeleras de reciclaje de todos los usuarios del sistema, incluida la de root:

rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
sudo rm -rf /root/.local/share/Trash/*/** &> /dev/null

Personalmente también borro la carpeta de Descargas, ya que ahí siempre quedan archivos que no voy a volver a necesitar:
sudo rm -rf ~/Descargas/* &> /dev/null



Si te ha parecido interesante, puedes pasar al post Mantenimiento y optimización de Manjaro, el script, donde se explica como automatizar todas estas tareas usando un script.

Fuentes:

https://wiki.archlinux.org/index.php/System_maintenance




Felinfo: Java, Linux, Virtualización. Open Source.  ©Template Blogger Green by Dicas Blogger .

TOPO