apt-get 패키지 설치 질문에 대한 기본 답변을 전달 하시겠습니까?


27

새 서버에 대한 구성 스크립트를 작성하려고하는데 첫 번째 단계 중 하나는 MySQL, phpMyAdmin 등과 같은 일련의 필수 패키지를 설치하는 것입니다. apt-get install그러나 dpkg가 구성하려고 할 때 MySQL 루트 비밀번호, phpMyAdmin 비밀번호, 사용할 서버 등의 몇 가지 옵션

이 스크립트를 프롬프트를 읽을 가능성이없는 동료에게 전달할 것이므로 간단히 시작하고 떠나고 싶은 욕망 때문에 일련의 "기본"답변을 전달하는 방법을 알고 싶습니다. 사용할 값입니다. 여기에는 명령 줄에 전달 된 사용자 이름 / 암호 / 기타 동적 값이 포함될 수 있습니다.

-

스크립트에 암호를 사용하는 것이 보안 문제라는 것을 알고 있지만, 특히 이에 대한 대답이 암시하는 패키지 설치의 더 일반적인 의미에서 무시하고 싶습니다.

답변:


44

debconf의 구성 미리 설정을 사용하십시오.

테스트 설치를 수행하여 원하는 값을 얻으십시오.

root@test1:~# apt-get install mysql-server

설치 중에 프롬프트가 표시되면 루트 비밀번호를 설정하십시오.

그런 다음 방금 설치 한 것에 대한 debconf 설정의 모양을 확인할 수 있습니다 (설치해야 할 수도 있음 debconf-utils).

root@test1:~# debconf-get-selections | grep mysql-server
mysql-server-5.5        mysql-server/root_password_again        password
mysql-server-5.5        mysql-server/root_password      password
mysql-server-5.5        mysql-server/error_setting_password     error
mysql-server-5.5        mysql-server-5.5/postrm_remove_databases        boolean false
mysql-server-5.5        mysql-server-5.5/start_on_boot  boolean true
mysql-server-5.5        mysql-server-5.5/nis_warning    note
mysql-server-5.5        mysql-server-5.5/really_downgrade       boolean false
mysql-server-5.5        mysql-server/password_mismatch  error
mysql-server-5.5        mysql-server/no_upgrade_when_using_ndb  error

약간의 소음이 있지만 중요한 부분은 암호 설정입니다.

그런 다음 새로 설치하려면 사전에 비밀번호를 설정하여 프롬프트가 완전히 표시되지 않도록 할 수 있습니다.

root@test2:~# echo "mysql-server-5.5 mysql-server/root_password_again password Som3Passw0rd" | debconf-set-selections
root@test2:~# echo "mysql-server-5.5 mysql-server/root_password password Som3Passw0rd" | debconf-set-selections
root@test2:~# apt-get install mysql-server

설치하는 동안 프롬프트가 표시되지 않습니다.


10
sudo apt-get install debconf-utils필요에 따라.
Andrew

이것은 내가 찾던 것과 똑같습니다. 감사합니다! 곧 시도하겠습니다.
Tarka

phpMyAdmin이 미리 설정 한 MySQL 루트 암호를 허용하지 않는 알려진 오류 외에도 완벽하게 작동합니다!
Tarka

1
패키지를 설치하지 않고 패키지 시스템에서 가능한 debconf 설정을 얻는 방법이 있습니까?
stefan.at.wpf

17
export DEBIAN_FRONTEND=noninteractive
apt-get -q -y install _packages_

$ DEBIAN_FRONTEND의 내용에 대한 참조가 있습니까?
Andrew

이것은 데비안의 한 부분으로 오랫동안 이안 만이 추가되었을 때 실제로 당신에게 말할 수 있다고 생각합니다 .
마이클 햄튼

1
@Andrew debconf 가 읽습니다 . 실제로 질문을 처리합니다.
mgorven

@ mgorven Ahh, 나는 이전에 dpkg보다 훨씬 깊지 않았습니다.
Andrew

AFAIK,이 솔루션을 사용하면 프롬프트를 건너 뛰고 모든 답변에 기본값을 적용 할 수 있습니다. 기본이 아닌 답변을 설정하려면 debconf-set-selections방법 과 같은 다른 솔루션을 사용해야합니다 .
MestreLion

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.