How do I force remove a package in Arch with pacman?
How do I force remove a package in Arch with
pacmanwhile other packages still depend upon it.
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
basically LWP 6 split a whole bunch of packages, and I need to remove it so I can reinstall it.
@faheem considering that arch hasn't released libwww 6 yet... even if there was it wouldn't work right in this scenario
@xenoterracide: Sorry, I didn't follow your response at all (I assume libwww is something to do with the package you are trying to install) but please don't feel you need to explain on my behalf. :-)
@faheem it's LWP. but we can normally just reinstall a package by requesting it's install again... that doesn't help in this case though because it's non in arch repo's and I need to uninstall this and upgrade it without using arch repo's, and since the package was split, I had file conflicts.
@faheem also please note that Arch is not debian, and have no idea how debian's `apt-get --reinstall` works.
@xenoterracide: You want a more recent version of this perl-www package than is in arch? So you are trying to uninstall the installed arch version to do a local install of the more recent version, or something like that? Why not just make a package? It is probably not difficult.
@xenoterracide: `apt-get install --reinstall` reinstalls the package without attempting to remove its dependencies. This can be useful in certain circumstances.
@fatheem ... sigh... that is exactly what I'm doing... but because it has been split into many packages... the new packages conflict with the old and it must be removed before they can be installed. Otherwise there are conflicting files. I don't know how debian handles package file ownership conflicts, but arch and gentoo will both yell at you if another package owns the files and you try to install it. It can be overridden but because of how I made the package... a general overriding would be less easy than removing it and then installing the new.
You should be able to reinstall the package with a simple:
# pacman -S perl-libwww
This will only remove perl-libwww:
# pacman -Rdd perl-libwww
Please notice the double -d in the command, if you use --nodeps you have to specify that twice too or combine it with a -d like:
# pacman -R --nodeps --nodeps perl-libwww # pacman -Rd --nodeps perl-libwww
This removes all the packages which depend on perl-libwww:
# pacman -Rc perl-libwww
From pacman's man page:
-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.