A la mayoría de los linuxeros nos gusta probar todo tipo de programas, juegos o incluso entornos de escritorio, si encima eres de los que usa Arch o alguna de sus derivadas como Manjaro, Archbang o Antergos, la disponibilidad de software es espectacular y tienes la ventaja de estar siempre actualizado a la última versión, mediante repositorios como los de AUR, que yo mismo estoy disfrutando en un equipo con ManjaroBox, desde hace meses.
Al final tanto ir y venir, tanta instalación y desinstalación de programas, acaba generando un montón de dependencias innecesarias que ocupan espacio en nuestro sistema, en el blog amigo de La Vache Libre, nos explican un método para eliminarlas utilizando una sola linea de comandos, que me gustaría compartir con vosotros, se trata de ejecutar como root lo siguiente:
pacman -Qdt -q | xargs pacman --noconfirm -R
Donde:
- -Qdt proporciona la lista de paquetes o dependencias que no son requeridas por otros paquetes.
- -q muestra el nombre del paquete obviando el nº de versión
- xargs es el comando que recibe el resultado y lo redirige hacia
- pacman -R , que es el que se encarga de suprimir los paquetes
A pesar de que el comando parece bastante seguro, siempre hay que revisar con detenimiento los paquetes a eliminar , de hecho cuando ejecute el comando, la salida del mismo me marcaba algunos paquetes como dependencias «opcionales«, que finalmente opté por mantener.
Actualización 1/03:
Varios lectores me han hecho ver (y lo acabo de comprobar por mi mismo), que el comando no funciona sin el parámetro «no-confirm«, que automáticamente inicia la eliminación de archivos, por ello recomiendo usar en su lugar este otro, que amablemente nos dejó winniepei, autor del blog Rock n’ Linux, en los comentarios del post:
pacman -Rsdn $(pacman -Qqdt)
Vía | La Vache Libre
Fuente | commandlinefu.com
Gracias majo, me acabas de dar una idea muy buena para hacer un script. Luego te mando una cosita para que la pruebes… y me cuentas.
Bueno estaré atento entonces 😉
También vale:
pacman -Rsdn $(pacman -Qqdt)
😉
Gracias por el apunte! me gusta más que el «mío», así que te lo voy a robar para el post.
Tu si eres un amigo tannhausser y no lo que uno ha tenido por ahí.
Gracias a ti por el aporte y a la gran vaca de enormes ubres que ríe, je, je.
Amigo D’Artagnan
Veo que te fuiste de mi blog por esta broma (decisión que respeto muy libre eres) HOWTO: Que hacer después de instalar Windows 8.1 Pro http://yoyo308.com/2014/02/10/howto-que-hacer-despues-de-instalar-windows-8-1-pro/
Pero a donde yo quería llegar ¿te fuiste sin saber que era una broma por no haber pinchado en el link al tutto? 😛
No fuiste el único.. la gente se espanta antes de leer completos los artículos 😉
Encima reincidente:
http://yoyo308.com/2014/03/01/5-razones-para-no-usar-linux/
Y es que vas provocando xD
De casi los 2 años que llevo navegando entre los glaciales me he dado cuenta que este es el blog mas respetuoso con el medio ambiente, por lo mismo del tiempo que llevo leyendo al replicante se ve que no le gusta las polémicas aunque le esten tirando flores.
No se que cosa habra pasado por ahí, solo quería decir porque respeto tanto este blog.
Saludos.
Ante cualquier duda, este comentario no tiene nada que ver con Yoyo o cualquier otro blog :), mi idea no es desprestigiar a nadie indirectamente.
Muchas gracias por las alabanzas! En cuanto a lo de Yoyo no te preocupes, conociéndole seguro que lo entiende así.
Saludos
Eso de que hay que revisar los paquetes que te sugiere borrarbes importante. Hace unos días, ejecuté deborphan en Debían y me quería borrar nada más ni nada menos que GRUB 😛
Recordad, siendo root nunca se ha de tener prisa 😉
Una pequeña cuetión técnica, no sólo sobre este post, sino venideros. No es un comando para derivadas de Arch. Es un comando para distribuciones que usen pacman como administrador de paquetes. No necesariamente tienen que ser derivadas de Arch (caso KaOS, por ejemplo). Así como no sería correcto inferir que una distro es derivada de Debian porque use apt-get, como es el caso de PCLinuxOS que usa paquetería rpm pero usa apt-get.
Saludos.
hola que tal? estoy con un problema con el comando…mira http://bit.ly/1eydjAj. Holmes
Tengo el mismo problema. Yo utilicé el comando que dejó winniepei: pacman -Rsdn $(pacman -Qqdt)
Un saludo.
@holmeslinux @Rubén Tenéis razón para que funcione correctamente hay que introducir el parámetro –noconfirm (que inicia la desinstalación automáticamente).
Voy a corregir ese dato en el post, aunque así el comando no me hace tanta gracia…
Ah y muchas gracias a los dos por el aviso 🙂
Gracias Dago! Tomo nota
Saludos!
Yo llevo tiempo que lo hago a mano como indican en la wiki de arch, pacman -Qtd o pacman -Qtdq ( hacen lo mismo pero uno muestra la version del paquete y otro no) y los elimino a mano. No me mola nada eso de eliminar el «bloque»
Igual yo….
No auto-elimino huérfanos en bloque, ni en individual, si no molestan los dejo.
Una vez un # apt-get autoremove se llevó media Debian sid mia palante y me dije «una y no más santo tomás» 😛
Es que debian, almenos en mi experiencia, la estable y la testing, indestructible, la sid ejemmmm, deporte de alto riesgo. Para estar mas o menos a la par en versiones a Arch stable y seguramente por detras de KaOS es bastante complicada de sobrellevar Sid, yo no había día que no tuviera altercados y trifulcas con esa rama de Debian.
Es sábado por la noche, que mejor momento para romper el sistema, salir a tomar algo y a la vuelta intentar arreglarlo.
Kernel panic asegurado xD
Me alegro mucho de haber sido de ayuda.
Un saludo a todos!
Me parece que en OpenSuse Zypper carece de algo similar, sin embargo para eliminar un paquete y todas las dependencias que otro programa no necesite basta con tipear;:
zypper rm -u «nombredelprograma»
Saludos a tod@s desde Chile.
pd: Se ve muy bien el nuevo look del blog!
Hola moscosov, como tu bien dices creo que en zypper no es posible hacerlo de forma global.
Para eso sería más sencillo utilizar Yast y filtrar en grupo de paquetes, por paquetes huerfanos.
Un saludo y me alegra que te guste el theme del blog!
un apoyo : pacman -Rsdn $(pacman -Qqdt) o pacman -Rsdn $(pacman -Qtdq) , yaourt -Syyu –devel –aur –noconfirm o sudo pacman -Syyu –noconfirm
necesito saber diferencia y la explicación del comando soy nuevo en archlinux (apricity os)
Los dos primeros hacer referencia a lo que comentamos en el artículo.
En cuanto a:
Ese comando sirven para actualizar todos los paquetes de AUR y los paquetes en desarrollo (por ej. los programas de git o svn). Lo de –noconfirm se utiliza para impedir continúas confirmaciones en cada paso (algo molesto si son muchos paquetes).
Convengamos que yaourt a pesar de ser el helper para AUR más usado en Arch y derivadas, no es el mejor de su clase. Tiene la ventaja sin embargo de que se integra muy bien en los gestores de software gráficos como los que utiliza Apricity o Antergos.
Pacaur por ej., es más cómodo de usar a nivel de consola porque te pide las confirmaciones todas al principio y no una a una. También más seguro (te permite revisar el script antes de ejecutarlo). Una manera de hacer eso en yaourt es ir a la página de AUR y hacerlo allí in situ.
En todo caso yaourt pese a ser el más denostado sigue siendo por costumbre el más utilizado en Arch Linux (yo mismo lo uso) y ese comando no hace más que actualizar el sistema.
Y el último comando con pacman, más de lo mismo. Sirve para refrescar la lista de paquetes y actualizar el sistema evitando pasos de confirmación.
conoci a «argon» (pacaur ->gui) hoy pero no entiendo aun Top-level packages ,si estoy en lo correcto es la base de mi sistema o que sera? :
alsa-utils
apricityassets
apricity-freezedry
apricity-icons
apricity-keyring
apricity-themes-cinnamon
apricity-wallpapers
argon
b43-fwcutter
baobab
bind-tools
bluez-firmware
bluez-utils
boost
broadcom-wl-dkms
cinnamon
cronie
efitools
eog
exfat-utils
file-roller
filezilla
gdm
gedit
gimp
gksu
gnome-calculator
gnome-calendar
gnome-disk-utility
gnome-font-viewer
gnome-photos
gnome-screenshot
gnome-system-log
gnome-system-monitor
gnome-terminal
gnome-tweak-tool
gnome-user-docs
google-chrome
google-talkplugin
grub
gst-plugin-libde265
gstreamer0.10-bad-plugins
gstreamer0.10-base-plugins
gstreamer0.10-ffmpeg
gstreamer0.10-good-plugins
gstreamer0.10-ugly-plugins
gtk-engine-murrine
gucharmap
gufw
haveged
hplip
ice-ssb
inkscape
intel-ucode
ipw2100-fw
ipw2200-fw
libmatroska
libreoffice-still
mc
memtest86+
mkinitcpio-openswap
nbd
networkmanager-openvpn
networkmanager-pptp
ntp
orca
pamac-aur
pkgfile
playonlinux
pulseaudio-bluetooth
python2-powerline-git
python-mako
python-mock
refind-efi
rhythmbox
sbackup
splix
steam
sushi
syncthing-gtk
syslinux
tlp
totem
transmission-gtk
ttf-arphic-uming
ttf-baekmuk
virtualbox-guest-utils
whois
wireless_tools
x264
xdg-user-dirs-gtk
xf86-video-ati
xf86-video-dummy
xf86-video-fbdev
xf86-video-intel
xf86-video-nouveau
xf86-video-openchrome
xf86-video-sisusb
xf86-video-vesa
xf86-video-vmware
xf86-video-voodoo
xorg-server-utils
xorg-xinit
xorg-xkill
zd1211-firmware
post desfasado
ya no funciona