apt는 패키지가 다시 보관되었다고 말합니다. kept back: certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl 이것은

출력 apt-get upgrade은 다음과 같습니다.

The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl

이것은 무엇을 의미 하는가? 조치를 취해야합니까? 그렇다면 무엇입니까?



답변

빠르고 쉬운 솔루션 :

나는 여러 번 같은 문제를 겪었다. 하지 마십시오sudo apt-get dist-upgrade첫번째. 매우 중요. **** 참고 :이 솔루션은 데비안 기반 시스템입니다하지만 작동하지 않습니다KDE 네온 . KDE Neon을 업데이트하려면 sudo pkcon update. **** 를 사용해야합니다 .

왜?

시스템을 매우 불안정하게 만들 수 있고 프로그램이 중단 될 수 있으며 OS의 많은 기능을 잃을 수 있습니다.

당신은 반드시 개별적으로 각 패키지를 설치 그러나이 , 그 과정에서 다른 종속도 자동으로 설치되며, 문제는 단 몇 분 안에 해결 될 것입니다.

다음 솔루션에 문제가 없었습니다. 상당히 빠르고 쉽습니다.


먼저 다음을 수행하십시오.

apt list --upgradable

  • 업그레이드 할 수있는 패키지 목록이 표시됩니다.

다음으로이 작업을 수행하십시오.

  • 첫 번째 패키지로 목록의 시작 부분에서 시작하여 다음을 입력하십시오.

sudo apt-get install package-name-here

  • 이것은 설치 프로세스와 풀 / 설치 종속성을 통해 실행됩니다.

해당 프로세스가 완료된 후 다음을 수행하십시오.

apt list --upgradable

  • 업그레이드 할 수있는 패키지가 다시 표시됩니다. 패키지 목록이 줄어들고 있습니다. apt list --upgradable각 패키지 설치 후 패키지 목록 및 유형 을 따르십시오 . 완료하는 데 몇 분 정도 걸립니다.

드디어:

sudo apt-get autoclean

sudo apt-get update && sudo apt-get dist-upgrade

이 솔루션이 효과가 있었다면 다른 사람이 올바른 솔루션을 사용할 수 있고 답변 목록의 맨 위에 오도록 공표하는 것을 잊지 마십시오.

어떤 이유로 든이 솔루션이 효과가 없으면 아래의 사용자 GAD3R의 답변을 참조하십시오. 또한 좋은 해결책입니다.

감사.


답변

이것은 무엇을 의미 하는가?

The following packages have been kept back:

대답은 여기

즉, 어떤 이유로 설치되지 않는 새 버전의 패키지가 있음을 의미합니다. 가능한 이유는 종속성 (패키지에 의존하는 패키지에 다운로드 할 수있는 버전이 없음) 또는 새로운 종속성 (패키지가 마지막 버전 이후 새 패키지에 의존하게 됨) 때문입니다.

조치를 취해야합니까?

dist-upgrade새 종속성을 설치하고 패키지를 업그레이드하려면 사용해야 합니다.

sudo apt-get dist-upgrade

dist-upgrade필요하지 않은 경우 실행하여 문제를 해결할 수 있습니다 .

깨진 종속성 수정

sudo apt-get -f install

시스템에 더 이상 설치되지 않은 일부 패키지를 제거하십시오.

sudo apt-get autoclean

원하는 패키지를 보류하십시오.

echo "<package_name> hold" | dpkg --set-selections

명명 된 패키지를 재구성하십시오.

dpkg-reconfigure <package_name>


답변

에서 이 유닉스 SE 답변 :

먼저 위에서 언급 한대로 프로덕션 시스템을 업그레이드하지 마십시오! DIST-업그레이드 패키지를 다시 유지 “해결”되지만 그것은 확실히이 문제에 대한 해결책이 아니다과 의지 꽤 가능성이 시스템에 미치는 영향을 알고없이 실행하면 좋은 당신보다 더 슬픔의 원인.

패키지를 업그레이드하려면 추가 패키지를 설치해야 할 경우 실행시 “유지”됩니다 sudo apt-get upgrade.

위에서 언급 한 것처럼 명시 적으로 실행하여 이러한 “유지 된”패키지를 수동으로 설치할 수 sudo apt-get install [paste kept back packages here]있지만이 패키지는 “수동으로 설치됨”으로 표시됩니다.

“kept back”패키지를 수동으로 설치된 것으로 표시하지 않고 “kept back”패키지를 업그레이드하는 데 필요한 추가 패키지를 자동으로 설치하려면 run을 실행하십시오 sudo apt-get --with-new-pkgs upgrade.


답변

이 답변을 블로그에 포함 시켰습니다. 당신은 당신 이이 링크 에서 갈 수 있음을보고 싶다면 .

위의 오류는 업그레이드하려고 할 때 우분투 터미널에서 매우 일반적입니다 ( apt-get upgrade). 일반적으로 설치 한 패키지 하나의 종속성이 변경 되었기 때문에 발생합니다. 업그레이드하려면 먼저 업그레이드해야합니다. 따라서이를 해결하는 것은 매우 간단합니다. 이 오류 메시지 아래로 유지 된 패키지를 볼 수 있습니다. 예를 들어 목록에서 다음 패키지를 볼 수 있습니다.

gnome-software gnome-software-common linux-generic linux-headers-generic
linux-image-generic snapd ubuntu-core-launcher ubuntu-software

입력하지 마십시오 sudo apt-get dist-upgrade. 보류중인 모든 업데이트를 설치하므로 매우 위험합니다. 작업 환경이 매우 불안정한 상태가 될 수 있습니다.

따라서 제 의견은 유명한 것을 사용하는 것입니다

sudo apt-get install [package]

[package]오류 메시지에있는 패키지로 바꿀 수 있습니다 . 또한 목록으로 그대로 넣을 수 있습니다 (복사하여 붙여 넣기 만하면 됨). 내 경우에는 예를 들어 입력 할 수 있습니다

sudo apt-get install gnome-software gnome-software-common linux-generic linux-headers-generic
linux-image-generic snapd ubuntu-core-launcher ubuntu-software

하고 싶다면

sudo apt-get dist-upgrade

어떤 이유로 시뮬레이션 옵션 -s( sudo apt-get -s dist-upgrade)을 사용하거나 -s옵션 없이 수락하기 전에 실행을 종료 할 수 있는 패키지 목록을 검사하십시오 . (당신은 항상 옵션 no를 선택할 수 있습니다)


답변

최근 데비안 보안 업데이트에는 몇 가지 새로운 종속성이 도입되었습니다. 이 경우 linux-image패키지 linux-firmware는 몇 가지 중에서을 요구하기 시작 했습니다. 그래서 그들은 보류되어 설치되지 않았습니다 unattended-upgrade. 테스트 및 확인 후 보류중인 다른 업데이트를 건드리지 않고 해당 패키지 선택적으로 설치할 수있었습니다 .

apt-get -yy install $(apt-get -s upgrade | sed '1,/kept back/d;/will be upgraded/,$d')


답변

이 기사 는 왜 이런 일이 발생하는지 요약합니다.

설치 한 패키지 중 하나에서 종속성이 변경되어 업그레이드를 수행하기 위해 새 패키지를 설치해야한다면 “kept-back”으로 표시됩니다.

이에 대한 해결책은 다음을 사용하여 명시 적으로 설치하는 것입니다.

sudo apt install [packages]

의존성을 만족시키는 것이 아니라 스스로 신경 쓰지 않는 한 이러한 패키지를 자동으로 설치된 것으로 표시하려고 할 수 있습니다.

sudo apt-mark auto [packages]

처음에 이런 일이 발생하지 않도록하려면 사용하는 것이 좋습니다

sudo apt --with-new-pkgs upgrade

향후 패키지를 업그레이드하여 새로운 패키지를 설치하면 종속성의 변경 사항을 충족시킬 수 있습니다.


답변