일부 데비안 컴퓨터를 업데이트하고 업그레이드하기 위해 작은 스크립트를 실행하고 있지만 터미널에 표시되는 일부 "뉴스"로 인해 몇 주 동안 계속 중지됩니다. 수동으로 업그레이드할 때 일부 소프트웨어가 "전체 화면"을 표시하는 것을 볼 수 있습니다(아래 스크린샷 참조). "q"를 강제로 누르세요. 소프트웨어를 변경하고 싶지 않기 때문에 업그레이드할 때 각 대화형 화면을 건너뛸 수 있는 솔루션을 찾고 싶습니다.
일반적으로 나는 괜찮습니다:
sudo apt-get update -y
sudo apt-get upgrade -y
또한 업그레이드 프로세스가 시간 초과 없이 중단된 것을 확인한 후 이 솔루션을 사용해 보았습니다.우편 엽서:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y upgrade
하지만 안타깝게도 결과는 마찬가지다. 중단 없이 시스템을 업그레이드할 수 있는 솔루션이 있습니까?
고쳐 쓰다:
먼저 방금 실행했습니다.
DEBIAN_FRONTEND=noninteractive
두 번째로 /etc/dpkg/dpkg.cfg 파일을 다음과 같이 편집합니다.
# dpkg configuration file
#
# This file can contain default options for dpkg. All command-line
# options are allowed. Values can be specified by putting them after
# the option, separated by whitespace and/or an `=' sign.
#
# Do not enable debsig-verify by default; since the distribution is not using
# embedded signatures, debsig-verify would reject all packages.
no-debsig
# Log status changes and actions to a file.
log /var/log/dpkg.log
force-confold
force-confdef
마지막으로 나는 다음을 실행했습니다.
sudo apt-get upgrade -yq
이것으로 "종료하려면 q를 누르세요"에 대한 팁을 마칩니다.엄청난!
나는 또한 실행된 명령을 결합하려고 시도하고 있다고 생각합니다.
DEBIAN_FRONTEND=noninteractive
sudo apt-get -o Dpkg::Options::="--force-confnew --force-confdef" --force-yes -yq upgrade
불행히도 또 다른 유사한 문제가 발생했습니다.
편집도 해보고/etc/apt/listchanges.conf불행히도 성공하지 못했습니다.
[apt]
frontend=none
email_address=root
confirm=0
save_seen=/var/lib/apt/listchanges.db
which=news
해결책:
나는 스크립트를 통해 명령을 실행할 때 bash가 콘솔에 직접 명령을 입력할 때와 다르게 동작한다는 점을 발견했습니다(미안합니다. 이는 고급 Linux 사용자에게는 분명합니다).
전체적으로 내 스크립팅 솔루션은 다음을 추가하기에 충분했습니다.-yp매개변수 및 설정DEBIAN_FRONTEND. 안전한 편이 되려면 편집하겠습니다./etc/dpkg/dpkg.cfg파일도요.
#!/bin/bash
DEBIAN_FRONTEND=noninteractive
export DEBIAN_FRONTEND
apt-get -yq update
apt-get -yq upgrade
답변1
이를 설정해야 DEBIAN_FRONTEND=noninteractive
debconf 프롬프트가 표시되지 않습니다.
그런 다음 파일 에 force-confold
및를 추가하십시오 . 그런 다음 옵션 을 사용하십시오force-confdef
/etc/dpkg/dpkg.cfg
-y
sudo apt-get -y update && sudo apt-get -y upgrade
또는 이 명령을 사용하세요
apt-get -o Dpkg::Options::="--force-confnew --force-confdef" --force-yes -y upgrade
작동하지 않으면 시도해 보세요.
apt-get -o Dpkg::Options::="--force-confnew" --force-yes -y upgrade
답변2
업데이트된 정보는 에서 제공됩니다 apt-listchanges
. 이러한 세부 정보를 보고 싶지 않은 경우 패키지를 완전히 제거할 수 있습니다. 그렇지 않은 /etc/apt/listchanges.conf
경우에는 다음을 사용하여 구성 할 수 있습니다 .
frontend=mail
또는
frontend=none
이렇게 하면 설치 중단을 방지할 수 있습니다.
( apt-listchanges
이 경우 올바른 작업을 수행해야 하므로 대화형 모드에서 업데이트 세부 정보가 계속 표시되도록 다른 방법으로 수정하는 것이 가능해야 합니다. 특히 해당 -q
옵션을 추가해 볼 수 있습니다 apt-get
.)
단순히 실행 중입니다.
DEBIAN_FRONTEND=noninteractive
아무것도 변경되지 않습니다. 프로세스 환경에서 종료되는지 확인해야 합니다 apt-get
.
export DEBIAN_FRONTEND