¿Cómo puedo forzar la eliminación de un paquete en Arch con pacman?

¿Cómo puedo forzar la eliminación de un paquete en Arch con pacman mientras otros paquetes siguen dependiendo de él?

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

básicamente LWP 6 dividió un montón de paquetes, y necesito eliminarlo para poder reinstalarlo.

Solución

Usted debe ser capaz de volver a instalar el paquete con un simple:

# pacman -S perl-libwww

Esto sólo eliminará perl-libwww:

# pacman -Rdd perl-libwww

Tenga en cuenta la doble -d en el comando, si utiliza --nodeps tiene que especificarlo dos veces también o combinarlo con una -d como:

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

Esto elimina todos los paquetes que dependen de perl-libwww:

# pacman -Rc perl-libwww

De la página man de pacman's:

-d, --nodeps Omite la comprobación de versiones de dependencias. Los nombres de los paquetes comprobados. Normalmente, pacman siempre comprueba los campos de dependencia para asegurarse de que todas las dependencias están dependencias están instaladas y que no hay en el sistema. Especifique esta opción dos veces para omitir todas las comprobaciones de dependencias. dependencias. -c, --cascade Elimina todos los paquetes de destino, así como todos los paquetes que dependen de uno o más paquetes de destino. Esta operación es recursiva, y debe usarse con cuidado ya que puede eliminar muchos paquetes potencialmente necesarios.

Comentarios (1)