dpkg/apt-get를 자동화하려면 어떻게해야합니까?
문제
새 서버의 패키지를 자동으로 다운로드하는 스크립트를 만들려고합니다. 그러나 'MySQL-Server'와 같은 일부는 자동으로 설치할 수 없으므로 NCURSES 인터페이스에서 먼저 구성해야합니다. 나는 남자 페이지를 살펴 보았고 적절한 것을 찾을 수 없습니다.
나중에 conf 파일을 업로드/편집 해야하는지 상관하지 않습니다. 적절한 패키지 만 설치하면됩니다.
누구든지 타르 볼을 잡고 직접 만들어야 할 일을 아는 사람이 있습니까?
업데이트MySQL-Server와 같은 것들에 대해서는 다음과 같이 할 수 있습니다.
DEBIAN_FRONTEND='noninteractive' apt-get install -yq mysql-server
그러나 예상되는 것은 Sun-Java6-JDK에 필요한 것 같습니다. 아직 평가하지 않았습니다
해결책
DebConf (NCURSES 디스플레이를 올리는 것)를 통해 질문을하는 패키지의 경우 질문을 미리 답할 수 있습니다. Sun-Java의 경우, 지침을 따르면 질문을 미리 답할 수 있습니다. http://www.davidpashley.com/blog/debian/java-license
다른 팁
답변 osramblings.com:
먼저 패키지를 정상적으로 설치하십시오. 그런 다음 DebConf 데이터 파일에서 구성 답변을 추출합니다.
sudo apt-get install debconf-utils
sudo debconf-get-selections | grep mypackage > something.seed
그런 다음 다른 설치의 경우 패키지를 설치하기 전에 적용 할 수 있습니다.
sudo debconf-set-selections ./something.seed
사용하는 데비안 패키지 debconf
구성 값을 얻으려면 무인으로 실행할 수 있습니다. 속임수는 그게됩니다 debconf
먼저 사전 설치된 것을 검색합니다 답변 모든 구성에 의문 주어진 패키지가 가지고 있습니다.
사전 설치 Config 답변
다음 형식으로 파일을 작성하면
# Use one line for each question
package-name question-name question-type answer
package-name question-name question-type really long \
answer here
package-name question-name question-type answer
...
그리고 그것을 같은 시스템에 공급하십시오.
$ debconf-set-selections my-selections-file
이제 준비가되었습니다 apt-get install
, 평소와 같이.
일회성
이 명령은 stdin에서 읽기 때문에 다음을 수행 할 수 있습니다.
$ echo "man-db man-db/auto-update boolean true" | debconf-set-selections
기본 답변 찾기
이 구성 답변을 사용하는 패키지가 어떤 패키지를 어떻게 알 수 있습니까? 글쎄, 이미 문제의 패키지를 대화식으로 설치 한 경우 로컬 시스템을 쿼리하여 현재 구성된 값을 확인할 수 있습니다. debconf-get-selections
현재 시스템에 대한 모든 구성 답변 목록을 인쇄합니다. 예를 들어
$ debconf-get-selections | grep '^man'
내 시스템에서 다음을 반환합니다.
man-db man-db/install-setuid boolean false
man-db man-db/auto-update boolean true
설치해야 할 수도 있습니다 debconf-utils
이 명령을 사용할 수 있도록 패키지.
견본
# Preset values to questions which would otherwise be asked while
# installing packages.
# Use debconf-set-selections to install
openssh-server openssh-server/permit-root-login boolean false
man-db man-db/install-setuid boolean false
man-db man-db/auto-update boolean true
출처
- 앤서니 타운의 대답 & 비트 롯팅 링크
- 남성 debconf-set-seelections (1)
- 중복 답변 ServerFault에서
MySQL-Server가 어떤 구성이 필요한지 정확히 잘 모르겠지만 다음과 같은 것을 시도 할 수 있습니다. 예상하다
나는 조사 할 것이다 크론 apt. 나는 그것을 직접 시도하지 않았지만 패키지 설명은 유망한 것 같습니다.