Limpiar un poco el sistema

Este foro es para todo lo relacionado con la documentación, artículos de ayuda, Wikis, tips & hints y las traducciones de Arch (tanto en progreso como las finalizadas).
Avatar de Usuario
galux
Archer Extremo
Archer Extremo
Mensajes: 318
Registrado: 22 May 2010, 17:50
Ubicación: Madrid, Es
Contactar:

Limpiar un poco el sistema

Mensajepor galux » 24 Feb 2011, 06:34

No sé si está bien este tema aquí, pero no he encontrado donde ponerlo.
Bueno, pues un pequeño script en bash, para automatizar las tareas de limpieza; es simple.

Código: Seleccionar todo

#!/bin/bash

if [ $USER != root ]; then
  echo ">> Error: debes ser root"
  echo ">> Saliendo ..."
  exit 0
fi

echo
echo ">> Borrando la cache de pacman ..."
echo
pacman -Scc
echo
echo ">> Borrando archivos de configuración obsoletos ..."
echo
sudo pacman -Qdt
echo
sudo pacman -Rsn $(pacman -Qdtq)
echo
echo ">> Vaciando todas las papeleras ..."
echo
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
rm -rf /root/.local/share/Trash/*/** &> /dev/null
echo
echo ">> Eliminando la caché de las imágenes [thumbnails] ..."
echo
rm -rf /home/*/.thumbnails/*/** &> /dev/null
rm -rf /root/.thumbnails/*/** &> /dev/null
echo
sleep 2
echo ">> Se han realizado todas las tareas correctamente. Hasta pronto!"
echo
sleep 2
echo


Llamarle como querais, limpieza.sh o aborrarbasura.sh; le dais permisos de ejecución (chmod +x) y listo..

[Tito Seguín ]

Avatar de Usuario
josejuan
Archer Extremo
Archer Extremo
Mensajes: 320
Registrado: 02 Dic 2010, 09:12
Contactar:

Re: Limpiar un poco el sistema

Mensajepor josejuan » 24 Feb 2011, 06:49

No funcionará para quienes usamos sudo (la variable $USER mantiene al usuario).
¿No es mejor lanzar directamente el comando y si no tiene permisos ya dará error pacman?

Avatar de Usuario
teh
Archer Extremo
Archer Extremo
Mensajes: 518
Registrado: 04 Ago 2009, 22:31
Ubicación: Tijuana, Méjico
Contactar:

Re: Limpiar un poco el sistema

Mensajepor teh » 24 Feb 2011, 06:54

Se me ocurre:

- Automatizarlo con crond cada cierto tiempo.
- Eliminar temporales (.tmp) (A criterio de cada quien).
- Eliminar directorios en el $HOME de paquetes que ya no esten instalados más en el sistema (Nada que para bash o perl sea obstáculo).
- Eliminar archivos similares (Tardaría bastante tiempo si se le da como parámetro un directorio tipo /home... y se ocuparía tal vez verificación y aprobación del usuario... Lo que elimina el asunto de automatizarlo con crond...)
- GUI para los 90teros, zenity para no complicarse la vida (lo que tambien elimina lo de la automatización).

Gracias por la iniciativa galux xD! Me divertiré un poco.
Última edición por teh el 24 Feb 2011, 06:57, editado 1 vez en total.
gentoo::scrotwm::vim::zsh::urxvtd|blog::dotfiles::last.fm

Avatar de Usuario
teh
Archer Extremo
Archer Extremo
Mensajes: 518
Registrado: 04 Ago 2009, 22:31
Ubicación: Tijuana, Méjico
Contactar:

Re: Limpiar un poco el sistema

Mensajepor teh » 24 Feb 2011, 06:56

josejuan escribió:No funcionará para quienes usamos sudo (la variable $USER mantiene al usuario).
¿No es mejor lanzar directamente el comando y si no tiene permisos ya dará error pacman?


Código: Seleccionar todo

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


Con sudo no se puede acceder a ese directorio... y creeme que puede almacenar mucha basura.
Hace unos meses tenía en ese directorio nada más ni nada menos que 9 GB... estuve a punto de reinstalar hasta que noté que allí estaban esos 9 GB (de 10)... ¿Cómo llegaron allí?, NPI.
gentoo::scrotwm::vim::zsh::urxvtd|blog::dotfiles::last.fm

Avatar de Usuario
galux
Archer Extremo
Archer Extremo
Mensajes: 318
Registrado: 22 May 2010, 17:50
Ubicación: Madrid, Es
Contactar:

Re: Limpiar un poco el sistema

Mensajepor galux » 24 Feb 2011, 07:15

Claro! se puede aumentar todo lo que se desee, limpiar temporales, temporales de yaourt, logs... uf, da para mucho; pero para empezar, no está mal...
Lo de zenity; si, puede ser una idea para los que no usan demasiado el terminal, pero como no es mi caso, ni lo pensé; pero está bien pensado :D

[Tito Seguín ]

Avatar de Usuario
FedeTheGreat
Equipo Hispano
Equipo Hispano
Mensajes: 3574
Registrado: 01 Abr 2007, 13:03
Ubicación: Victoria - Buenos Aires - Argentina
Contactar:

Re: Limpiar un poco el sistema

Mensajepor FedeTheGreat » 24 Feb 2011, 08:27

teh escribió:Se me ocurre:

- Automatizarlo con crond cada cierto tiempo.
- Eliminar temporales (.tmp) (A criterio de cada quien).
- Eliminar directorios en el $HOME de paquetes que ya no esten instalados más en el sistema (Nada que para bash o perl sea obstáculo).
- Eliminar archivos similares (Tardaría bastante tiempo si se le da como parámetro un directorio tipo /home... y se ocuparía tal vez verificación y aprobación del usuario... Lo que elimina el asunto de automatizarlo con crond...)
- GUI para los 90teros, zenity para no complicarse la vida (lo que tambien elimina lo de la automatización).

Gracias por la iniciativa galux xD! Me divertiré un poco.

y como escibirias el codigo para que haga eso? :mrgreen:
Me gustan las cosas simples por eso uso Arch!
Linux User# 404818
Nos vemos en irc.freenode.net #archlinux-es
Canal de discusión en Español

Avatar de Usuario
galux
Archer Extremo
Archer Extremo
Mensajes: 318
Registrado: 22 May 2010, 17:50
Ubicación: Madrid, Es
Contactar:

Re: Limpiar un poco el sistema

Mensajepor galux » 24 Feb 2011, 08:44

FedeTheGreat escribió:
teh escribió:Se me ocurre:

- Automatizarlo con crond cada cierto tiempo.
- Eliminar temporales (.tmp) (A criterio de cada quien).
- Eliminar directorios en el $HOME de paquetes que ya no esten instalados más en el sistema (Nada que para bash o perl sea obstáculo).
- Eliminar archivos similares (Tardaría bastante tiempo si se le da como parámetro un directorio tipo /home... y se ocuparía tal vez verificación y aprobación del usuario... Lo que elimina el asunto de automatizarlo con crond...)
- GUI para los 90teros, zenity para no complicarse la vida (lo que tambien elimina lo de la automatización).

Gracias por la iniciativa galux xD! Me divertiré un poco.

y como escibirias el codigo para que haga eso? :mrgreen:

Los temporales es fácil:

Código: Seleccionar todo

rm -rf /tmp/* &> /dev/null

Pero lo de borrar directorios específicos del directorio /home/*, ni idea :cry:

[Tito Seguín ]

Avatar de Usuario
josejuan
Archer Extremo
Archer Extremo
Mensajes: 320
Registrado: 02 Dic 2010, 09:12
Contactar:

Re: Limpiar un poco el sistema

Mensajepor josejuan » 24 Feb 2011, 09:37

Con sudo no se puede acceder a ese directorio...


¿Uhm? soy nuevo en esto, pero no veo porqué no vas a poder, sudo ejecuta todos los comandos como root, el problema de $USER proviene de que las variables de entorno se mantienen cuando ejecutas directamente el comando.

No obstante, me equivoqué y el script de galux sí funciona, las diferencias son

Código: Seleccionar todo

$ sudo echo $USER
josejuan


mientras que en un script (llamemos test)

Código: Seleccionar todo

#!/bin/bash
echo $USER


el resultado es

Código: Seleccionar todo

$ sudo ./test
root


en cualquier caso, con sudo sí puedo hacer cualquier cosa que pueda root (al menos, si lanzas un shell con sudo te conviertes en root...).

Digo...

Avatar de Usuario
galux
Archer Extremo
Archer Extremo
Mensajes: 318
Registrado: 22 May 2010, 17:50
Ubicación: Madrid, Es
Contactar:

Re: Limpiar un poco el sistema

Mensajepor galux » 24 Feb 2011, 09:48

josejuan escribió:...Digo...

Y bien dicho está; también podeís agregar esta línea al archivo "sudoers"

Código: Seleccionar todo

TU_USUARIO ALL=(ALL) NOPASSWD: /usr/bin/pacman


Y sán se acabó.
Recordar que los permisos para el archivo "sudoers" son 0440; de otro modo, os dará error.

[Tito Seguín ]

Avatar de Usuario
madek
Equipo Hispano
Equipo Hispano
Mensajes: 2148
Registrado: 03 Sep 2009, 13:50
Ubicación: Puente Alto, Chile

Re: Limpiar un poco el sistema

Mensajepor madek » 24 Feb 2011, 11:47

galux escribió:No sé si está bien este tema aquí, pero no he encontrado donde ponerlo.
Bueno, pues un pequeño script en bash, para automatizar las tareas de limpieza; es simple.

Código: Seleccionar todo

#!/bin/bash

if [ $USER != root ]; then
  echo ">> Error: debes ser root"
  echo ">> Saliendo ..."
  exit 0
fi

echo
echo ">> Borrando la cache de pacman ..."
echo
pacman -Scc
echo
echo ">> Borrando archivos de configuración obsoletos ..."
echo
sudo pacman -Qdt
echo
sudo pacman -Rsn $(pacman -Qdtq)
echo
echo ">> Vaciando todas las papeleras ..."
echo
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
rm -rf /root/.local/share/Trash/*/** &> /dev/null
echo
echo ">> Eliminando la caché de las imágenes [thumbnails] ..."
echo
rm -rf /home/*/.thumbnails/*/** &> /dev/null
rm -rf /root/.thumbnails/*/** &> /dev/null
echo
sleep 2
echo ">> Se han realizado todas las tareas correctamente. Hasta pronto!"
echo
sleep 2
echo


Llamarle como querais, limpieza.sh o aborrarbasura.sh; le dais permisos de ejecución (chmod +x) y listo..



una pregunta, para que pide ser root si luego usa sudo para lanzar pacman

ojo: advierto encarecidamente que el uso de pacman -Rsn $(pacman -Qdtq) no es una forma segura de eliminar paquetes huerfanos, puede llevarse medio Arch entre medio
Asi hacemos las cosas => The Arch Way
Judd Vinet "Arch Linux es lo que tú haces de él"
Imagen

Avatar de Usuario
FedeTheGreat
Equipo Hispano
Equipo Hispano
Mensajes: 3574
Registrado: 01 Abr 2007, 13:03
Ubicación: Victoria - Buenos Aires - Argentina
Contactar:

Re: Limpiar un poco el sistema

Mensajepor FedeTheGreat » 24 Feb 2011, 12:54

madek escribió:
ojo: advierto encarecidamente que el uso de pacman -Rsn $(pacman -Qdtq) no es una forma segura de eliminar paquetes huerfanos, puede llevarse medio Arch entre medio

convengamos que se recomienda siempre mirar que archivos va a borrar y/o borra como para volver a ponerlo si fuera el caso
Me gustan las cosas simples por eso uso Arch!
Linux User# 404818
Nos vemos en irc.freenode.net #archlinux-es
Canal de discusión en Español

Avatar de Usuario
helq
Archer Extremo
Archer Extremo
Mensajes: 507
Registrado: 27 Nov 2010, 22:34

Re: Limpiar un poco el sistema

Mensajepor helq » 24 Feb 2011, 16:37

FedeTheGreat escribió:
madek escribió:
ojo: advierto encarecidamente que el uso de pacman -Rsn $(pacman -Qdtq) no es una forma segura de eliminar paquetes huerfanos, puede llevarse medio Arch entre medio

convengamos que se recomienda siempre mirar que archivos va a borrar y/o borra como para volver a ponerlo si fuera el caso


Cierto, pero llegado al caso en que por equivocación la embarren se recurre a mirar los logs de pacman [/var/log/pacman.log] y recuperar lo perdido.
Tal vez esté viejo y cansado, pero siempre he pensado que las posibilidades de descubrir lo que realmente pasa son tan absurdamente remotas, que lo único que puede hacerse es decir: olvídalo y manténte ocupado. Guía del autoestopista galáctico

Avatar de Usuario
Yonohesido
Archer Confiable
Archer Confiable
Mensajes: 446
Registrado: 14 May 2010, 10:17
Contactar:

Re: Limpiar un poco el sistema

Mensajepor Yonohesido » 24 Feb 2011, 17:19

pacman -Rsn $(pacman -Qdtq) no debería ser un comando que se ejecute sin revisión. Está claro que en caso de algún fallo, la cosa es reversible de forma más o menos sencilla, pero no tiene gracia andar reinstalando paquetes cada dos por tres, o iniciar el sistema y encontrarse con fallos desagradables.

La cosa está en si queremos que el script trabaje en segundo plano o bajo nuestra atenta mirada.

Avatar de Usuario
galux
Archer Extremo
Archer Extremo
Mensajes: 318
Registrado: 22 May 2010, 17:50
Ubicación: Madrid, Es
Contactar:

Re: Limpiar un poco el sistema

Mensajepor galux » 24 Feb 2011, 22:36

Yonohesido escribió:pacman -Rsn $(pacman -Qdtq) no debería ser un comando que se ejecute sin revisión. Está claro que en caso de algún fallo, la cosa es reversible de forma más o menos sencilla, pero no tiene gracia andar reinstalando paquetes cada dos por tres, o iniciar el sistema y encontrarse con fallos desagradables.

La cosa está en si queremos que el script trabaje en segundo plano o bajo nuestra atenta mirada.


Por mi parte, lo hago una vez al mes o algo más quizás y no demora tanto en terminar, a lo sumo un minuto...así que me quedo a mirar lo que hace...

:mrgreen:

[Tito Seguín ]

frodorik
Archer Intermedio
Archer Intermedio
Mensajes: 69
Registrado: 04 Ene 2011, 12:36

Re: Limpiar un poco el sistema

Mensajepor frodorik » 09 Mar 2011, 07:03

Muchas gracias


Volver a “Documentación”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado