o problema -r de xargs pode simplesmente ser evitado usando os backquotes:
fink purge 'fink list | perl -lne '/^\s*i\s+(\S+)/ and print $1''
Eu mudei para o HomeBrew do Fink e quero desinstalar o Fink e todos os pacotes que eu instalei nele para evitar problemas no futuro.
Eu encontrei este snippet perl que deve remover todos os pacages, mas não:
fink list | perl -lne '/^s*is+(S+)/ and print $1' | xargs fink purge
Como posso remover todos os pacotes?
o problema -r de xargs pode simplesmente ser evitado usando os backquotes:
fink purge 'fink list | perl -lne '/^\s*i\s+(\S+)/ and print $1''
Eu não estou familiarizado com o fink, mas estou assumindo que fink list
coloca uma linha para cada pacote e, para aqueles instalados, eles têm o formato: i packagename
. O problema é que você está usando s
e S
(os caracteres literais) em vez de \s
e \S
: espaço em branco e não espaço em branco, respectivamente.
A linha correta é provavelmente:
fink list | perl -lne '/^\s*i\s+(\S+)/ and print $1' | xargs -r fink purge
Também adicionei -r
a xargs para que fink purge
não seja executado se não houver linhas correspondentes (pacotes instalados).
Na FAQ do fink :
Q5.6: How can I uninstall all of Fink?
A: Almost all files installed by Fink are in /sw (or wherever
you chose to install it), except for a few exceptions.
Thus, in order to get rid of Fink, enter this command:
fink remove --recursive daemonic xinitrc
sudo rm -rf /sw
If you aren't planning to reinstall Fink you also will
want to remove the "source /sw/bin/init.csh" line you
added to your .cshrc file or the "source /sw/bin/init.sh"
line you added to your .bashrc file, whichever is appropriate
to your setup, using a text editor. If you had the xinitrc
package installed, then you will want to restore the original
/usr/X11/lib/X11/xinit/xinitrc, which has been backed up as
/usr/X11/lib/X11/xinit/xinitrc.YYYYMMDDhhmm, i.e. the
extension has a year, month, date, hour, and minute). If you
have more than one of these, the original one normally does
not mention sys-xinitrc-fink. Once you've found the right one,
you can use
sudo mv /usr/X11/lib/X11/xinit/xinitrc.YYYYMMDDhhmm \
/usr/X11/lib/X11/xinit/xinitrc
replacing YYMMDDhhmm with the actual extension on your system.