]> git.somenet.org - root/pub/somesible.git/blob - roles/base/apt/tasks/main.yml
roles/workstation/kde/tasks
[root/pub/somesible.git] / roles / base / apt / tasks / main.yml
1 #####################################
2 ### someone's ansible provisioner ###
3 #####################################
4 # Part of: https://git.somenet.org/root/pub/somesible.git
5 # 2017-2025 by someone <someone@somenet.org>
6 #
7 ---
8 - name: copy apt sources.list
9   copy:
10     src: "{{item}}"
11     dest: "/etc/apt/sources.list"
12     mode: 0644
13     owner: "root"
14     group: "root"
15   with_first_found:
16     - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/apt-sources.list"
17     - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/apt-sources.list"
18     - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/apt-sources.list"
19     - "default/apt-sources.list"
20
21
22 - name: copy apt package-pinning
23   copy:
24     src: "{{item}}"
25     dest: "/etc/apt/preferences.d/pinning.pref"
26     mode: 0644
27     owner: "root"
28     group: "root"
29   with_first_found:
30     - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/apt-pinning.pref"
31     - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/apt-pinning.pref"
32     - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/apt-pinning.pref"
33     - "default/apt-pinning.pref"
34
35
36 - name: copy apt kernel autoremove settings
37   copy:
38     src: "{{item}}"
39     dest: "/etc/apt/apt.conf.d/01autoremove"
40     mode: 0644
41     owner: "root"
42     group: "root"
43   with_first_found:
44     - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/apt.conf.d/01autoremove"
45     - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/01autoremove"
46     - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/01autoremove"
47     - "default/apt.conf.d/01autoremove"
48
49
50 - name: copy additional apt settings
51   copy:
52     src: "{{item}}"
53     dest: "/etc/apt/apt.conf.d/90somecustom"
54     mode: 0644
55     owner: "root"
56     group: "root"
57   with_first_found:
58     - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/apt.conf.d/90somecustom"
59     - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/90somecustom"
60     - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/90somecustom"
61     - "default/apt.conf.d/90somecustom"
62
63
64 - name: copy additional dpkg settings
65   copy:
66     src: "{{item}}"
67     dest: "/etc/dpkg/dpkg.cfg.d/90somecustom"
68     mode: 0644
69     owner: "root"
70     group: "root"
71   with_first_found:
72     - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/dpkg.cfg.d-90somecustom"
73     - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/dpkg.cfg.d-90somecustom"
74     - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/dpkg.cfg.d-90somecustom"
75     - "default/dpkg.cfg.d-90somecustom"
76
77
78 - name: copy ucf settings
79   copy:
80     src: "{{item}}"
81     dest: "/etc/ucf.conf"
82     mode: 0644
83     owner: "root"
84     group: "root"
85   with_first_found:
86     - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/ucf.conf"
87     - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/ucf.conf"
88     - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/ucf.conf"
89     - "default/ucf.conf"
90
91
92 - name: disable and stop apt-daily.timer
93   systemd:
94     name: apt-daily.timer
95     daemon_reload: yes
96     enabled: no
97     state: stopped
98
99
100 - name: disable and stop apt-daily-upgrade.timer
101   systemd:
102     name: apt-daily-upgrade.timer
103     daemon_reload: yes
104     enabled: no
105     state: stopped
106
107
108 - name: update repository cache if older than {{apt_cache_valid_time}} sec
109   apt:
110     update_cache: yes
111     cache_valid_time: "{{apt_cache_valid_time}}"
112   tags: "online"
113   ignore_errors: True
114
115
116 - name: install apt helper packages
117   apt:
118     pkg: "{{apt_helper_packages}}"
119     state: present
120     policy_rc_d: 101
121   tags: "online"
122   ignore_errors: "{{ignore_online_errors | bool}}"
123   register: temp
124
125
126 - name: update repository cache once more
127   apt:
128     update_cache: yes
129   tags: "online"
130   ignore_errors: True
131   when: temp.changed
132
133
134 # Use new configs. always. otherwise things like distupgrade can break.
135 - name: upgrade packages
136   apt:
137     upgrade: dist
138     install_recommends: no
139     policy_rc_d: 101
140     dpkg_options: 'force-confnew,force-confmiss'
141   tags: "online"
142   ignore_errors: "{{ignore_online_errors | bool}}"
143
144
145 - name: remove dependencies that are no longer required
146   apt:
147     autoremove: yes
148     purge: yes
149   tags: "online"
150   ignore_errors: "{{ignore_online_errors | bool}}"
151   when: apt_cleanup | bool
152
153
154 - name: remove useless packages from the download cache
155   apt:
156     autoclean: yes
157   tags: "online"
158   ignore_errors: "{{ignore_online_errors | bool}}"
159   when: apt_cleanup | bool
160
161
162 - name: install additional packages
163   apt:
164     pkg: "{{ apt_additional_pkg + apt_additional_pkg_extra }}"
165     state: present
166     policy_rc_d: 101
167   tags: "online"
168   ignore_errors: "{{ignore_online_errors | bool}}"
169
170
171 - name: install additional bare metal packages
172   apt:
173     pkg: "{{ apt_additional_pkg_bare_metal }}"
174     state: present
175     policy_rc_d: 101
176   when: is_bare_metal | bool
177   tags: "online"
178   ignore_errors: "{{ignore_online_errors | bool}}"
179
180
181 # hacky, but sufficient for now: enablestart some installed services
182 - name: enable and start plocate-updatedb.timer
183   include_role: name="base/systemd/enable-and-start"
184   vars:
185     service_name: plocate-updatedb.timer
186
187 - name: enable and start lm-sensors.service
188   include_role: name="base/systemd/enable-and-start"
189   vars:
190     service_name: lm-sensors.service
191   when: is_bare_metal | bool
192
193 - name: enable and start smartmontools.service
194   include_role: name="base/systemd/enable-and-start"
195   vars:
196     service_name: smartmontools.service
197   when: is_bare_metal | bool