pacman으로 Arch에서 패키지를 어떻게 강제로 제거합니까?


64

pacman다른 패키지가 여전히 의존하는 동안 아치에서 패키지를 강제로 제거하는 방법 .

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 Mitha

@faheem은 아치가 아직 libwww 6을 발표하지 않았다고 생각합니다.이 시나리오에서 제대로 작동하지 않더라도
xenoterracide

@ xenoterracide : 죄송합니다, 귀하의 답변을 전혀 따르지 않았습니다 (libwww가 귀하가 설치하려는 패키지와 관련이 있다고 생각합니다). 그러나 귀하를 대신하여 설명 할 필요가 없다고 생각하십시오. :-)
Faheem Mitha

@faheem 그것은 LWP 입니다. 그러나 우리는 일반적으로 다시 설치를 요청하여 패키지를 다시 설치할 수 있습니다 ... 아키 리포지토리가 아니기 때문에이 경우에는 도움이되지 않으며 아치 리포지를 사용하지 않고 이것을 제거하고 업그레이드해야합니다. 스플릿, 파일 충돌이 발생했습니다.
xenoterracide

@faheem은 또한 아치는 데비안이 아니며 데비안의 apt-get --reinstall작동 방식을 모릅니다 .
xenoterracide

답변:


97

간단한 방법으로 패키지를 다시 설치할 수 있어야합니다.

# pacman -S perl-libwww

이것은 perl-libwww 만 제거합니다 :

# pacman -Rdd perl-libwww

--nodeps 를 사용하는 경우 명령에서 double -d 를 두 번 지정하거나 -d 와 결합해야합니다 .

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

이것은 perl-libwww에 의존하는 모든 패키지를 제거합니다 :

# pacman -Rc perl-libwww

팩맨 매뉴얼 페이지에서 :

   -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 감사에 대한 추가 정보를 원하시면 아치 위키
vladkras
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.