김프의 개발 버전에 대한 PPA 리포지토리를 추가했지만이 오류가 발생합니다.
$ apt-get update && apt-get upgrade
...
The following packages have been kept back:
gimp gimp-data libgegl-0.0-0 libgimp2.0
현재 가지고있는 버전 대신 최신 버전을 사용할 수 있도록 이유와 방법을 어떻게 해결할 수 있습니까?
debian-administration.org의 기사 에 따르면
설치 한 패키지 중 하나에서 종속성이 변경되어 업그레이드를 수행하기 위해 새 패키지를 설치해야한다면 "kept-back"으로 표시됩니다.
신중한 해결책 1 :
Pablo 's answer 에 따라 Sudo apt-get --with-new-pkgs upgrade
를 실행할 수 있으며 유지 된 패키지가 설치됩니다.
이렇게하면 유지 된 패키지를 "수동 설치"로 표시하지 않아도되므로 사용자 개입이 줄어 듭니다 (주석 참조).
파블로의 해결책이 당신을 위해 효과가 있다면, 그것을 찬성하십시오. 그렇지 않은 경우 무엇이 잘못되었는지 의견을 말하십시오.
주의 솔루션 2 :
신중한 해결책은 Sudo apt-get install <list of packages kept back>
를 실행하는 것입니다. 대부분의 경우 이것은 유지 된 패키지가 성공적으로 업그레이드하는 데 필요한 것을 제공합니다.
공격 솔루션 :
보다 공격적인 솔루션은 Sudo apt-get dist-upgrade
를 실행하는 것입니다.이 새로운 종속성을 강제로 설치합니다.
그러나 dist-upgrade
는 매우 위험 할 수 있습니다 . 업그레이드와 달리 복잡한 종속성 상황을 해결하기 위해 패키지를 제거 할 수 있습니다. 귀하와 달리 APT는 이러한 추가 및 제거가 혼란을 초래할 수 있는지 여부를 알기에 항상 똑똑하지는 않습니다.
"주의 솔루션"이 작동하지 않는 장소에 자신이 있다면 dist-upgrade
may 작동하지만 ... APT 및 사례별로 패키지를 설치하고 제거하여 "수동으로"종속성 문제를 해결합니다.
자동차를 수리하는 것처럼 생각하십시오. 시간이 있고 렌치를 사용하면 편리하게 읽고 수리하십시오. 운이 좋으면 사촌 dist-upgrade
와 함께 차를 내릴 수 있으며 그녀가 물건을 알고 있기를 바랍니다.
apt-get upgrade
명령에서 메시지를받을 때마다
The following packages have been kept back:
그런 다음 배포 업그레이드를 수행하지 않고 하나 또는 모든 유지 패키지를 업그레이드하려면 (정확히 기억하면 dist-upgrade
가하는 것임) 명령을 실행해야합니다.
apt-get install <list of packages kept back>
이렇게하면 유지 된 문제가 해결되고 다른 답변에서 설명한대로 추가 패키지 등을 설치하라는 메시지가 표시됩니다.
apt-get dist-upgrade
는 안정적인 환경에 위험합니다.
유스 케이스 : 커널 업그레이드가 유지되었으므로 커널을 업그레이드하고 전체 배포를 업그레이드하고 싶지 않습니다.
보관 된 패키지를 처리하는 더 좋은 방법 :
Sudo aptitude
패키지를 다시 보관 한 경우 목록 상단에 업그레이드 가능한 패키지가 표시됩니다.
보관 된 패키지가 설치되었습니다.
시도하지 않는 이유 이 Unix SE 답변 :
_Sudo apt-get --with-new-pkgs upgrade
_
새 패키지를 설치할 수 있습니다. 어떤 패키지가 설치 될지 알려주고 실제로 설치하기 전에 프롬프트를 표시합니다.
apt
command ( 친숙한 대안 ~ apt-get
)이 옵션을 공유하십시오.
_apt install <pkg>
_를 대신 사용하면 pkg가 "수동으로 설치됨"으로 표시됩니다 !! 다시 "자동으로 설치됨"으로 표시하려면 apt-mark auto <pkg>
= (하위 명령 showmanual
참조). 자세한 정보 이 답변에 .
이 메시지가 나타나는 데는 일반적으로 두 가지 이유가 있습니다.
Sudo apt-get upgrade
를 통해 프로그램을 업그레이드하면 패키지가 추가되거나 제거 될 경우 프로그램이 보류됩니다. 이 경우 Sudo apt-get dist-upgrade
을 (를) 사용하면 추가 프로그램을 추가하거나 제거 할 수 있습니다.
이것은 일반적이며 문제가되지 않습니다. 때때로 (특히 우분투 알파 동안) dist-upgrade
는 다른 많은 프로그램을 제거하도록 제안 할 것입니다.
프로그램이 사용할 수없는 패키지 또는 버전에 의존하는 경우 프로그램이 보류됩니다. 패키지는 기본적으로 제거 가능하기 때문에 실제로는 아무것도 할 수 없지만이 상황에서는 기다릴 수 없습니다. 이는 패키지가 순서대로 저장소에 추가되거나 패키지 이름이 변경되거나 패키지가 가상 패키지 제공을 중지 할 때 발생할 수 있습니다.
시도해 볼 수도 있습니다 :
Sudo aptitude safe-upgrade
.
"패키지는 사용하지 않는 한 제거되지 않기 때문에"full-upgrade
(원래 dist-upgrade)보다 안전합니다.
man aptitude
에서 :
안전한 업그레이드
설치된 패키지를 최신 버전으로 업그레이드합니다. 설치된 패키지는 사용하지 않는 한 제거되지 않습니다. /.../ 현재 설치되지 않은 패키지는 --no-new-installs 명령 줄 옵션이 제공되지 않으면 종속성을 해결하기 위해 설치 될 수 있습니다.
이러한 패키지는 설치시 종속성 불일치가 발생하기 때문에 보류 될 가능성이 높습니다. 활성 개발중인 아카이브 (ppas)를 사용하거나 사용하는 미러가 완전히 업데이트되지 않았기 때문에 발생할 수 있습니다.
마지막 경우, 종속성이 해결되면 다음에 설치됩니다.
편집 :
또 다른 가능성이 있습니다. 패키지를 보류하거나 고정한 경우 패키지가 보류 될 수 있습니다.
이는 일반적으로 패키지가 종속성을 추가했기 때문에 업그레이드가 허가없이 패키지를 추가하기를 원하지 않기 때문입니다.
당신이 실행하는 경우 :
Sudo apt-get install gimp gimp-data libgegl-0.0-0 libgimp2.0
그런 다음 새 버전을 새 종속성과 함께 설치해야합니다.
이것은 나를 위해 일했다
Sudo aptitude full-upgrade
버전이 약간 다르면 적성이 패키지를 업그레이드 할 때 더 잘 작동한다는 것을 알았습니다. 나는 이런 상황을 겪었다.
[email protected]:/etc/apt$ apt-cache policy gzip
gzip:
Installed: 1.3.5-15
Candidate: 1.3.5-15+etch1
Version table:
1.3.5-15+etch1 0
500 http://archive.debian.org etch/main Packages
*** 1.3.5-15 0
100 /var/lib/dpkg/status
이로 인해 apt-get이 업데이트를 보류했지만 적절하게 업데이트되었습니다. 패키지를 업데이트해야하는지 여부를 결정하는 데 어떤 알고리즘이 사용되는지 잘 모르겠습니다. 나는이 두 가지 버전이 같고 다른 'qualifier'만 있다고 생각합니다. 그러나 어쨌든 apt-get은 업데이트하지 않지만 적성은 업데이트됩니다.
필자의 경우 보류 된 패키지는 linux-headers 및 커널과 관련된 패키지였습니다. 알림 영역에 빨간색 느낌표가 있고 패키지를 업데이트 할 수없는 문제를 해결하려고 노력했습니다.
이 문제를 해결하기 위해 dist-upgrade 나 수동 apt-get install xxx .
내가 한 일과 도움이 된 일은 단순하고 깨끗하다 :
Sudo apt-get update
Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo apt-get upgrade
Grub 업데이트 및 구성을 수동으로 확인해야했습니다.
그런 다음 컴퓨터와 잠시 동안 작업 한 다음 커널 및 관련 "우분투 기본"섹션을 포함하여 표준 업데이트 대화 상자가 다시 나타났습니다. 문제없이 업데이트가 수행되었으며 더 이상 보류 된 패키지가 표시되지 않습니다.
또한 커널 업데이트는 최대 절전 모드에 민감합니다을 포함한 * buntu 업데이트에 유의해야합니다.이 문제가 여러 번 발생했으며 컴퓨터를 다시 시작하고 수행하여 항상 문제를 해결했습니다. 위의 단계.
아마 이것으로 충분할까요?!
(여기에 설명 된 상황은 2015 년 12 월 말 내 Xubuntu 15.10과 관련이 있습니다)
새 커널이 출시 될 때이 문제가 발생했습니다. (아마도 불안정한 업데이트가 활성화되어 있기 때문일 수 있습니다.) 설치를 수행하는 가장 간단한 방법은 Ubuntu의 그래픽 설치 프로그램 (update-manager
)을 사용하는 것입니다.
시냅틱을 사용 하여이 문제가 발생하여 중단 된 것처럼 보였고이 문제를 해결하고 다시 부팅하고 다시 시도했습니다.
그런 다음 패키지의 일부로 설치 후 지침과 함께 유익한 메시지를 발견했습니다.
메시지를 읽은 후 "details"를 누른 다음 'q'를 눌러 종료하고 정상적으로 진행되었습니다.
유지 된 패키지를 다시 설치하는 올바른 방법 인 것 같습니다.
apt-get install --reinstall libjpeg-progs
우분투 14.04에서 16.04로 업그레이드 한 후 libjpeg-progs
가 멈추었을 때 적어도 이것은 나를 위해 일했습니다. 다른 보관 된 앱으로도 동일한 작업을 수행 할 수 있다고 확신합니다. gimp
.
출처 : https://ubuntuforums.org/showthread.php?t=2321702&p=13476183#post1347618
나는 모든 게시물을 읽었으며 많은 흥미로운 설명이 있음을 발견했습니다. 나는 그들 모두를 시험해 보았지만 결과가 완전히 없었습니다. 업그레이드 할 수없는 mysql-utilities 에 문제가 있습니다. 시스템에서 업데이트를 제안했습니다. 그래서 몇 가지 단계를 보여 드리고자합니다. 물론, 나는 앞에서 언급 한 모든 게시물을 잠시 후에 반복 할 것입니다. 여기 내 실수가 있습니다. 그렇습니다. 이미 존재하는 게시물로 찾았지만 다음에 어떻게해야합니까?
다음 단계는
Sudo apt-get --purge remove mysql-utilities
아래 이미지에서 볼 수있는 결과. 패키지를 제거하고 명령으로 이것을 확인하십시오.
Sudo apt-get -f install
결과-좋아! 나중에이 새 버전의 패키지를 올바르게 설치했습니다.
이런 식으로, 다른 패키지를 사용하면 동일한 단계를 수행 할 수 있기 때문에 더 많은 새로운 사람들을 도울 수 있다고 생각합니다.
한 번, 다른 장소에서 다른 게시물을 반복했을 때 죄송합니다.
Unbuntu 18.04는 _apt-get
_ 대신 사용할 수있는 apt
을 통해보다 새롭고 간소화 된 구문을 제공합니다.
_Sudo apt full-upgrade
_
Sudo apt upgrade
는 sources.list (5)를 통해 구성된 소스에서 시스템에 현재 설치된 모든 패키지의 사용 가능한 업그레이드를 설치하는 데 사용됩니다. 종속성을 충족시키기 위해 필요한 경우 새 패키지가 설치되지만 기존 패키지는 제거되지 않습니다. 패키지를 업그레이드 할 때 설치된 패키지를 제거해야하는 경우이 패키지의 업그레이드가 수행되지 않습니다
Sudo apt full-upgrade
업그레이드 기능을 수행하지만 시스템 전체를 업그레이드하는 데 필요한 경우 현재 설치된 패키지를 제거합니다.
실제로 필요한 스위치는 dselect-upgrade
이며 관련된 특정 패키지 세트에 대한 종속성을 설치/제거합니다.