pacmanでArchのパッケージを強制的に削除するにはどうすればよいですか?


64

pacman他のパッケージが依然依存している間にArchでパッケージを強制的に削除するにはどうすればよいですか。

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

基本的に、LWP 6はパッケージの束全体を分割し、再インストールできるように削除する必要があります。


apt-getの--reinstallフラグに相当するものはありませんか?
ファヒムミタ

@faheemは、archがlibwww 6をまだリリースしていないことを考慮しています...たとえこのシナリオで正しく機能しなかったとしても
-xenoterracide

@xenoterracide:申し訳ありませんが、私はあなたの応答にはまったく従いませんでした(libwwwはインストールしようとしているパッケージと関係があると思います)が、私に代わって説明する必要はないと感じてください。:-)
ファヒムミタ

@faheemそれはLWPです。しかし、通常はパッケージの再インストールを要求するだけでパッケージを再インストールすることができます...この場合、それはarchリポジトリにないため、これをアンインストールして、archリポジトリを使用せずにパッケージをアップグレードする必要があるためです分割、ファイルの競合がありました。
xenoterracide

@faheemは、Archはdebianではないことにも注意してください。debianがどのように機能するのかわかりませんapt-get --reinstall
xenoterracide

回答:


97

次の簡単な方法でパッケージを再インストールできるはずです。

# pacman -S perl-libwww

これにより、perl-libwwwのみが削除されます。

# pacman -Rdd perl-libwww

コマンド内の二重の-dに注意してください。--nodepsを使用する場合は、それも2回指定するか、-dのように組み合わせる必要があります。

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

これにより、perl-libwwwに依存するすべてのパッケージが削除されます。

# pacman -Rc perl-libwww

pacmanのmanページから:

   -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.

2
-Rcにも+1の感謝、Arch Wikiの
-vladkras
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.