나는 데비안 태그가 지정된 프로필 중 하나가 포함된 패키지인 우리 저장소의 패키지를 자동 설치하기 위한 스크립트를 작성 중입니다. 새 프로필을 허용하도록 apt-get
/ 에 전달할 수 있는 옵션이 있습니까 ?aptitude
기본적으로 다음과 동등한 apt
/ 가 필요합니다 .aptitude
dpkg --force-confnew
apt-get
Y를 사용하여 설치할 때 묻는 다음 질문에 대한 답변이 필요합니다.
구성 파일 "/opt/application/conf/XXX.conf"
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : background this process to examine the
The default action is to keep your current version.
추가 정보:
sudo
또한 명령을 실행하기 위해 파이프에 비밀번호를 전달하고 있습니다.
echo "mysudopass"|sudo -S apt-get mypackage
설치가 구성 대화형 단계에 있을 때 설치 오류를 표시합니다.
나는 Ubuntu 10.04
apt 버전을 사용하고 있습니다: apt 0.7.25.3
사용할 수 없는 이유 dpkg
: 이 데비안은 저장소에서 설치되었으며 내 컴퓨터에 로컬 데비안이 없습니다.
답변1
다음과 같은 dpkg
매개변수를 전달할 수 있습니다.apt-get
apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew install pkgname1 pkgname2 ...
이전 구성 파일이 여전히 존재하는 경우 --force-confdef
덮어쓰지 않습니다. 그래서 아마 당신은 그것을 사용하지 않을 것입니다. 나는 단지 다른 사람들을 위해 그것을 문서화하고 있습니다.
sudo
사용자에 대한 인증 옵션을 거부하거나 NOPASSWD
특정 항목에 레이블을 추가하면 비밀번호를 묻지 않습니다. 예를 들어
someuser ALL = NOPASSWD: /usr/bin/apt-get
답변2
다음을 시도해 볼 수 있습니다.
export DEBIAN_FRONTEND=noninteractive
apt-get -q -y install whatever-2
그러나 이는 빈 기본 비밀번호와 같은 의미를 갖는다는 점에 유의하십시오(아마도 꼭두각시, 요리사, 패브릭...과 같은 일부 배포/구성 도구가 필요할 수 있음).
바라보다스도(5)sudo
비밀번호 없는 통화를 허용하는 방법에 대해
답변3
다른 답변 외에도 환경을 설정해야 할 수도 있습니다.UCF_FORCE_CONFFNEW=1.
예를 들어, debianstretch의 openssh는 debconf 대신 ucf를 사용하여 openssh-server/openssh-7.4p1/debian/openssh-server.postinst
구성 파일을 요청합니다. ( 이것은 against를 openssh-server.postinst
사용하여 볼 수 있습니다.dget
http://security.debian.org/debian-security/pool/updates/main/o/openssh/openssh_7.4p1-10+deb9u4.dsc)
무료 사용자가 되는 것 외에도 이 페이지의 모든 팁을 사용해야 합니다.debconf 사전 설정.
export DEBIAN_FRONTEND=noninteractive
그러나 우리는 뭔가(중요할 수 있음)를 놓치고 있지는 않은지 궁금해서 중단했습니다 . 우리의 사용 사례는 운영자가 작업을 시작하는 것입니다. 업그레이드는 비대화형으로 진행되지만 문제가 발생하고 대화 상자가 나타나면 운영자가 참석하게 됩니다. 귀하의 상황은 다를 수 있습니다.
그러나 이것은 export DEBIAN_FRONTEND=noninteractive
당신의 속담 큰 망치입니다.
참고: 설정 -o Dpkg::Options::=--force-confnew
및/또는 UCF_FORCE_CONFFNEW=1
수단모두설치된 패키지의 구성 파일은 업스트림 구성 파일로 되돌아갑니다. 예를 들어 의 경우 openssh-server
설정이 /etc/ssh/sshd_config
공장 설정으로 재설정됩니다. 예를 들어 PermitRootLogin=yes
삭제됩니다. 하지만 당연히 안쓰시니까 괜찮을거에요! ;-)
답변4
또는 뭔가필수검사권장 사항 이러한 어려운 프로그램 옵션을 계속 추가할 필요가 없도록 이를 APT 설정에 추가하는 것이 좋습니다. 또한 이러한 설정이 있으면 무인 업그레이드에 도움이 됩니다.
/etc/apt/apt.conf.d/71debconf
다음 콘텐츠를 포함하는 파일을 만듭니다 .
Dpkg::Options {
"--force-confnew";
};
참고(Geoff의): 이 변경 사항은 전 세계적인 변경 사항입니다. 무인 업그레이드를 수행하려고 하지만 수동으로 구성한 다른 패키지가 시스템에 있는 경우 이는 적합한 솔루션이 아닙니다.