데비안 스퀴즈에서 커널 헤더를 다운로드하고 대체하는 스크립트가 있습니다.
function fixHeaders(){
#Replace the kernel headers from OVH with standard kernel headers...
aptitude -y install linux-image-2.6.32-5-amd64
sed s/'GRUB_DEFAULT=0'/'GRUB_DEFAULT=1'/g
update-grub
echo "Rebooting the machine. Run this script again after reboot and choose option 2."
sleep 1
reboot
}
내가 겪고있는 문제는 적성이 패키지를 다운로드 한 후 스크립트를 텍스트 GUI에 던지고 사용자에게 많은 질문을한다는 것입니다. 모든 답변에 대해 “확인”을 선택하기 위해 이것을 건너 뛰거나 적절한 시간에 탭 / 엔터를 보내는 방법이 있습니까?
답변
Daniel t의 의견을 바탕으로 나는 이것을 할 수있었습니다. DEBIAN_FRONTEND=noninteractive
DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get install -y -q --force-yes linux-image-2.6.32-5-amd64
답변
내가 인용 한이 답변 은 모든 대화를 제거 하지는 않지만 여전히 APT / DPKG가 중요 하다고 생각하는 것을 표시합니다 . 아마도 두 번째 옵션 + readline
프론트 엔드를 사용하여 debconf
응답 파일을 준비하고 실험하는 것이 가장 좋습니다 .
자매 사이트 에서 인용 :
이것은 당신이 요구 한 것을해야합니다. 나중에 설정 질문하기 :
$ DEBIAN_PRIORITY=critical
$ export DEBIAN_PRIORITY
$ apt-get upgrade
# Wait a long time. Should be almost entirely noninteractive.
$ dpkg-reconfigure --default-priority=medium --unseen-only
또는 전에 모든 구성 질문을 시도 할 수 있습니다.
$ apt-get clean
$ cat >> /etc/apt/apt.conf <<EOF
// Pre-configure all packages before
// they are installed.
DPkg::Pre-Install-Pkgs {
"dpkg-preconfigure --apt --priority=low";
};
EOF
$ apt-get upgrade
답변
expect
“적절한 시간”(입력이 변경되지 않기 때문에)을 식별 할 수 있다면 도구로 원하는 것을 보낼 수 있습니다 .