패키지를 어떻게 보류 해제 할 수 있습니까?


49

시냅틱을 사용하여 버전을 잠급니다. pidgin-data상태를 hold다시 정상으로 변경하여 제대로 업그레이드되도록하려면 어떻게해야합니까?

PinningHowto는 을 수행하는 것을 말한다 apt-get install packagename를 제거해야 hold하지만, 실행 dpkg -l | grep ^h여전히 것은 예정으로 그것을 보여줍니다 :

hi  pidgin-data                                                 1:2.10.6-0ubuntu1+pidgin1.12.04                            multi-protocol instant messaging client - data files

hold상태를 올바르게 취소하려면 어떻게 해야합니까?

답변:


59

사용할 수 있습니다 sudo apt-mark unhold package_name. 패키지는 보류 상태가 아니며 확인을 반환합니다 Canceled hold on package_name...


1
귀하의 sudo방금 쓴 때문에 문제는 아마입니다 sudo echo "package_name install"|dpkg --set-selections. 이것은 echo다음 파이프가 아닌 sudoes 이므로 액세스 오류가 발생합니다. 대신 이것을 시도하십시오 : sudo -E -- sh -c 'echo "package_name install"|dpkg --set-selections'. 이것은 명령 줄이 인 서브 쉘을 sudo합니다 echo "package_name install"|dpkg --set-selections.
Urhixidur

1
내 대답은 이전에 내가 참조 한 명령을 정확히 포함 한 아래 의 편집되지 않은 버전의 대답 과 다소 관련이 있습니다. 그러나 질문은 구체적 apt-get으로 예를 사용하기 apt-mark때문에 apt 패키지에 포함되어 있는를 사용하여 대답했습니다 . 그러나 dpkg 명령이 작동하지 않는 이유를 정확히 아는 것이 매우 도움이됩니다.
DrA7

@ DrA7 package_name이 (가) 아직 보유되지 않았습니다. 지금 어떻게해야합니까?
Dr.jacky

13

보류를 제거하는 올바른 방법은 다음과 같습니다.

echo "package_name install"|sudo dpkg --set-selections

2

$ package_name이라는 단일 패키지를 보류 해제하십시오.

echo $package_name install | dpkg --set-selections

현재 보유하고있는 모든 패키지를 보류 해제하십시오.

dpkg --get-selections | grep hold | awk '{ print $1, "install" }' | dpkg --set-selections

1

실행 echo pidgin-data install | dpkg --set-selections( pidgin-data보류 된 패키지 이름으로 교체 )-패키지 상태가 install아닌로 변경됩니다 hold.


1

다음을 사용하여 모든 APT 패키지를 보류 해제 할 수 있습니다.

apt-mark showhold | awk '{ print $1, "install" }' | dpkg --set-selections
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.