debconf 개념

debconf 개념

이 장에서는 OpenStack 서비스를 사용하기 위한 Debian debconfdbconfig-common` 패키지를 사용하는 방법을 설명합니다. 이러한 패키지들은 사용자에게 작업 환경설정을 도웁니다. 사용자가 OpenStack 패키지를 설치하면 debconf 는 사용자에게 즉시 응답을 합니다. 이것은 이 패키지와 관련된 환경설정 파일의 내용을 배포합니다. 패지지 설치가 끝난 후 사용자들은 패키지의 환경설정을 다음 명령을 사용해 dpkg-reconfigure 프로그램 업데이트를 할 수 있습니다.

해당 패키지와 pre-seeding에 익숙하다면, Identity 서비스 추가 을 계속 작업할 수 있습니다.

Debian 패키지

여기에 설명된 규칙은 Debian Policy Manual 에서 가져왔습니다. 해당 장에서 설명된 규칙과 관계된 것이 아니라면 수정해야 할 심각한 버그를 찾은 것입니다.

Debian 패키지를 설치하거나 업그레이드 할 때 모든 환경설정 파일 값은 보존됩니다. debconf 데이터베이스를 사용하여 등록하는 것은 Debian에서 버그로 간주될 수 있습니다. OpenStack 환경설정 파일에서 무언가를 수정한다면, 현재 사용자에게 보여주려고 준비할 때 debconf 패키지에서 값을 읽을 것입니다. 예를 들면, 서비스에서 RabbitMQ 메시징 큐를 위한 로그인 이름을 바꿀 때 환경설정 파일에 해당하는 그 값을 수정해야 합니다.

debconf 패키지 사용을 선택하기 위해서, dpkg-reconfigure 명령을 실행합니다. 그리고 non-interactive mode 를 선택합니다.

# dpkg-reconfigure -plow debconf

그러면, debconf 는 나타나지 않습니다.

debconf 패키지를 비활성화 하는 다른 방법은, aptDEBIAN_FRONTEND=noninteractive` 접두어를 붙이는 것 입니다, 이처럼:

# DEBIAN_FRONTEND=noninteractive apt-get install nova-api

만약 debconf 패키지를 잘못 설정한 경우엔 다음과 같이 재설정할 수 있습니다 :

# dpkg-reconfigure PACKAGE-NAME

이것은 사용자가 모든 프롬프트에 대응한 이후 PACKAGE-NAME 패키지를 위한 이후 설치 스크립트를 호출합니다. Debian 패키지를 non-interactive 방식으로 설치할 수 없는 경우에는 이번 릴리즈에서 치명적인 버그를 Debian 에서 찾은 것입니다. 이를 Debian 버그 트래킹 시스템에 보고합니다.

일반적으로, -common 패키지는 구성 파일을 설치합니다. 예를 들어, glance-common 패키지는 glance-api.confglance-registry.conf 파일을 설치합니다. 따라서, 이미지 서비스에 대해서는 glance-common` 패키지를 재구성해야 합니다. 같은 방식이 cinder-common, nova-common, heat-common 패키지에 적용됩니다.

debconf 에는 화면에 대해 보다 높은 우선 순위를 가질 수록 사용자가 해당 화면을 보는 경우가 보다 많아집니다. 만약 debconf 화면이 medium 우선 순위를 갖고 Debian 시스템을 Debian에서 디폴트인 critical 프롬프트만 보이도록 구성한 경우, 사용자는 해당 debconf 화면을 보지 못합니다. 대신 디폴트로 관련된 패키지가 사용됩니다. Debian OpenStack 패키지에서는 많은 debconf 화면이 medium 우선 순위로 설정되어 있습니다. 결과적으로, 만약 Debian OpenStack 패키지로부터 모든 debconf 화면에 대응하고자 하는 경우엔 다음 명령을 실행하고 모든 패키지를 설치하기 전에 medium 우선 순위를 선택해야 합니다:

# dpkg-reconfigure debconf

주석

패키지는 이전 의존성을 필요로 하지 않습니다. 만약 dbconfig-common 가 이미 시스템에 설치되어 있는 경우에는 사용자는 모든 프롬프트를 봅니다. 그러나 debconf 화면에 보이는 순서를 정의할 수는 없습니다. 사용자는 프롬프트가 논리적이지 않은 순서로 보이더라도 그것을 이해하도록 해야 합니다.


미리 설정한 debconf 프롬프트

모든 debconf 프롬프트에 대해 미리 설정할 수 있습니다. 미리 설정은 debconf 데이터베이스 내에 debconf 가 응답에 대해 사용자 프롬프트를 표시하지 않도록 응답을 저장한다는 것을 의미합니다. 미리 설정은 사용자에 대해 핸즈프리 설치를 가능하게 합니다. 패키지 관리자는 자동으로 서비스를 구성할 수 있는 스크립트를 생성합니다.

다음 예제에서는 MySQL 서버 설치를 어떻게 미리 설정하여 설치 과정을 자동화하는지 보여줍니다:

MYSQL_PASSWORD=MYSQL_PASSWORD
echo "mysql-server-5.5 mysql-server/root_password password ${MYSQL_PASSWORD}
mysql-server-5.5 mysql-server/root_password seen true
mysql-server-5.5 mysql-server/root_password_again password ${MYSQL_PASSWORD}
mysql-server-5.5 mysql-server/root_password_again seen true
" | debconf-set-selections
DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes mysql-server

seen true 옵션은 사용자가 이미 살펴본 특정 화면이 다시 보이지 않도록 하는 debconf 를 가리킵니다.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.