-
Notifications
You must be signed in to change notification settings - Fork 0
/
melmac.sh
80 lines (66 loc) · 3.26 KB
/
melmac.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/bash
echo "
.,::.
..'. .'',ldl .''
.;,...''...;lc..;o.
..'..;',,.::';',
.,, '.;:.''.;.
.,;'..,;;'.,:.
.,,,,,;:;:::,.
.,.,:':l:cc:;.
..;,.'',,;;;,,:cl.
..,:l'...'',,,,,:cooc.
.';;.'.......',,;;',:c;'
.,:,........'''''...':c'
.,;'...',;:::::cc'..'::. .............
.,'....;:::::::co:..'::. .;;;;;;'...,;;. .;;;;;;,. .,;;'
.'....,;;;;;;;;;'...'. '::::::. '::.. ..::::::.
............'. '::::::. '::..;;;;'.::::::. .';;;. ...';;;;.
..,;,......',. '::::::. '::..;:::'.::::::' .::::. '::::.
..,oc'...'',,. '::::::,''';::..;:::'.::::::,'... .::::...',.'::::.
.'.,::'..,,'','. ':::::::,,,:::..;:::'.:::::::;;,. .::::...',.'::::.
.;.:;,...';,':,. ...... .,..,,,,..,,,,,,. ......... .,,,,.
"
echo "Iniciando la limpieza y mantenimiento de Melmac..."
# Actualizar la lista de paquetes disponibles
echo "Actualizando lista de paquetes..."
sudo apt update
# Actualizar los paquetes instalados
echo "Actualizando paquetes..."
sudo apt upgrade -y
# Eliminar paquetes innecesarios
echo "Eliminando paquetes innecesarios..."
sudo apt autoremove -y
# Limpiar la caché de paquetes
echo "Limpiando la caché de paquetes..."
sudo apt clean
# Limpiar la caché de thumbnails (miniaturas)
echo "Limpiando caché de thumbnails..."
rm -rf ~/.cache/thumbnails/*
# Limpiar la papelera de reciclaje
echo "Vaciando la papelera de reciclaje..."
if ! rm -rf ~/.local/share/Trash/*; then
echo "Problemas al vaciar la papelera. Usando sudo para forzar el borrado."
sudo rm -rf ~/.local/share/Trash/*
fi
# Limpiar la caché DNS
echo "Limpiando la caché DNS..."
sudo systemd-resolve --flush-caches
# Opción para full-upgrade
read -p "¿Quieres realizar una actualización completa del sistema? (puede tener cambios significativos) [s/N] " respuesta
if [[ $respuesta == "s" || $respuesta == "S" ]]; then
sudo apt full-upgrade -y
fi
# Identificar y desinstalar aplicaciones no deseadas
echo "Buscando aplicaciones instaladas..."
paquetes=$(dpkg --get-selections | grep -v deinstall | awk '{print $1}')
seleccion=$(whiptail --title "Aplicaciones instaladas" --checklist \
"Selecciona las aplicaciones que deseas desinstalar" 25 80 16 \
$(for paquete in $paquetes; do echo "$paquete OFF"; done) 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
for paquete in $seleccion; do
sudo apt purge "$paquete" -y
done
fi
echo "¡Mantenimiento y limpieza completados!"