Ver Fonte

Install default locale and timezone using debconf

Emmanuel Bouthenot há 10 anos atrás
pai
commit
6d5b13fecc

+ 3 - 1
roles/common/defaults/main.yml

@@ -9,7 +9,9 @@ ansible_master_ip: $PIPE(hostname --ip)
 admins:
 admin_email: root@localhost
 
-locale: en_US.UTF-8
+locale: 'en_US.UTF-8'
+timezone_area: 'Europe'
+timezone_city: 'Paris'
 
 debian_mirror: ftp://ftp.fr.debian.org/debian
 

+ 6 - 0
roles/common/handlers/base.yml

@@ -1,3 +1,9 @@
+- name: Reconfigure locales
+  command: dpkg-reconfigure --frontend noninteractive locales
+
+- name: Reconfigure timezone
+  shell: rm -f /etc/timezone ; dpkg-reconfigure --frontend noninteractive tzdata
+
 - name: Reload apt cache
   command: apt-get update
 

+ 11 - 3
roles/common/tasks/base.yml

@@ -1,6 +1,3 @@
-- name: Install default locale
-  lineinfile: dest=/etc/default/locale regexp="^LANG=" line='LANG="{{locale}}"' create=yes mode=0644
-
 - name: Install hosts file
   template: src=hosts.j2 dest=/etc/hosts owner=root group=root mode=0644
   notify:
@@ -28,6 +25,7 @@
   with_items:
     - apticron
     - locales-all
+    - locales
     - lsb-release
     - ntp
     - toilet
@@ -48,6 +46,16 @@
     - sysstat
     - etckeeper
 
+- name: Configure default locale and timezone
+  debconf: name="{{item.name}}" question="{{item.question}}" value="{{item.value}}" vtype="{{item.vtype}}"
+  with_items:
+    - { name: 'locales', question: 'locales/default_environment_locale', value: '{{ locale }}', vtype: 'select' }
+    - { name: 'tzdata', question: 'tzdata/Areas', value: '{{ timezone_area }}', vtype: 'select' }
+    - { name: 'tzdata', question: 'tzdata/Zones/{{ timezone_area }}', value: '{{ timezone_city }}', vtype: 'select' }
+  notify:
+    - Reconfigure locales
+    - Reconfigure timezone
+
 - name: Install kernel configuration (proc)
   template: src=kernel/sysctl.d/{{ item }}.j2 dest=/etc/sysctl.d/{{ item }} owner=root group=root mode=0644
   with_items: