Como forçar a remoção de um pacote no Arch com o pacman?

58

Como faço para forçar a remoção de um pacote no Arch com pacman enquanto outros pacotes ainda dependem dele.

pacman -R perl-libwww                                                               
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: perl-app-cpanminus: requires perl-libwww>=5.828
:: perl-app-pmuninstall: requires perl-libwww
:: perl-app-sd: requires perl-libwww
:: perl-catalyst-action-rest: requires perl-libwww>=2.033 
:: perl-catalyst-runtime: requires perl-libwww>=1.64
:: perl-cpan: requires perl-libwww
:: perl-cpan-mini: requires perl-libwww
:: perl-cpan-uploader: requires perl-libwww
:: perl-feed-find: requires perl-libwww
:: perl-http-body: requires perl-libwww
:: perl-http-request-ascgi: requires perl-libwww
:: perl-module-cpants-analyse: requires perl-libwww
:: perl-module-install: requires perl-libwww>=5.812
:: perl-net-trac: requires perl-libwww
:: perl-net-whois-raw: requires perl-libwww
:: perl-prophet: requires perl-libwww
:: perl-rt-client-rest: requires perl-libwww
:: perl-uri-fetch: requires perl-libwww
:: perl-www-mechanize: requires perl-libwww
:: perl-xml-atom: requires perl-libwww
:: perl-xml-feed: requires perl-libwww

Basicamente, o LWP 6 divide um monte de pacotes e eu preciso removê-lo para que eu possa reinstalá-lo.

    
por xenoterracide 27.03.2011 / 17:13

1 resposta

85

Você deve conseguir reinstalar o pacote com um simples:

# pacman -S perl-libwww

Isso só removerá perl-libwww:

# pacman -Rdd perl-libwww

Por favor note o duplo -d no comando, se você usar - nodeps você tem que especificar isso duas vezes também ou combiná-lo com um -d como:

# pacman -R --nodeps --nodeps perl-libwww
# pacman -Rd --nodeps perl-libwww

Isso remove todos os pacotes que dependem do perl-libwww:

# pacman -Rc perl-libwww

Da página de man do pacman:

   -d, --nodeps
       Skips dependency version checks. Package names are still
       checked. Normally, pacman will always check a package’s
       dependency fields to ensure that all dependencies are
       installed and there are no package conflicts in the
       system. Specify this option twice to skip all dependency
       checks.
   -c, --cascade
       Remove all target packages, as well as all packages that
       depend on one or more target packages. This operation is
       recursive, and must be used with care since it can remove
       many potentially needed packages.
    
por 27.03.2011 / 17:32