Following the appropriate workflow to understand what it is doing under the hood.
As a debug exercise, one ca also add 'set -xv' in the clamav-daemon maintainer scripts to possibly isolate what is causing the loop in combination with the DEBCONF_DEBUG set.
I actually took a few seconds to reproduce it inside a Xenial container and we can clearly see the loop in action:
......
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate type) ..
debconf (db passwords): cache miss on clamav-daemon/LogRotate
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate type) ..
debconf (db passwords): cache miss on clamav-daemon/LogRotate
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to setfield(clamav-daemon/LogRotate value true) ..
debconf (db configdb): passing to config ..
debconf (developer): --> 0 ok
debconf (developer): <-- INPUT low clamav-daemon/LogFile
debconf (db configdb): trying to getfield(clamav-daemon/LogFile type) ..
debconf (db passwords): cache miss on clamav-daemon/LogFile
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile type) ..
debconf (db passwords): cache miss on clamav-daemon/LogFile
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (db configdb): trying to getfield(clamav-daemon/LogFile value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to setfield(clamav-daemon/LogFile value /var/log/clamav/clamav.log) ..
debconf (db configdb): passing to config ..
debconf (developer): --> 0 ok
debconf (developer): <-- METAGET clamav-daemon/LogFile value
debconf (db configdb): trying to getfield(clamav-daemon/LogFile value) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 0 /var/log/clamav/clamav.log
debconf (developer): <-- INPUT low clamav-daemon/LogTime
debconf (db configdb): trying to getfield(clamav-daemon/LogTime type) ..
debconf (db passwords): cache miss on clamav-daemon/LogTime
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogTime type) ..
debconf (db passwords): cache miss on clamav-daemon/LogTime
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (db configdb): trying to getfield(clamav-daemon/LogTime value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogTime value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to setfield(clamav-daemon/LogTime value true) ..
debconf (db configdb): passing to config ..
debconf (developer): --> 0 ok
debconf (developer): <-- INPUT low clamav-daemon/LogRotate
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate type) ..
debconf (db passwords): cache miss on clamav-daemon/LogRotate
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate type) ..
debconf (db passwords): cache miss on clamav-daemon/LogRotate
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to setfield(clamav-daemon/LogRotate value true) ..
debconf (db configdb): passing to config ..
debconf (developer): --> 0 ok
debconf (developer): <-- INPUT low clamav-daemon/LogFile
debconf (db configdb): trying to getfield(clamav-daemon/LogFile type) ..
debconf (db passwords): cache miss on clamav-daemon/LogFile
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile type) ..
debconf (db passwords): cache miss on clamav-daemon/LogFile
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (db configdb): trying to getfield(clamav-daemon/LogFile value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to setfield(clamav-daemon/LogFile value /var/log/clamav/clamav.log) ..
debconf (db configdb): passing to config ..
debconf (developer): --> 0 ok
debconf (developer): <-- METAGET clamav-daemon/LogFile value
debconf (db configdb): trying to getfield(clamav-daemon/LogFile value) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 0 /var/log/clamav/clamav.log
debconf (developer): <-- INPUT low clamav-daemon/LogTime
debconf (db configdb): trying to getfield(clamav-daemon/LogTime type) ..
debconf (db passwords): cache miss on clamav-daemon/LogTime
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogTime type) ..
debconf (db passwords): cache miss on clamav-daemon/LogTime
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
......
<CTRL-C>
The use of 'DEBCONF_ DEBUG=' .*'' can be helpful here for debugging purpose.
Simply need to set and export.
And this link: /wiki.debian. org/MaintainerS cripts
https:/
Following the appropriate workflow to understand what it is doing under the hood.
As a debug exercise, one ca also add 'set -xv' in the clamav-daemon maintainer scripts to possibly isolate what is causing the loop in combination with the DEBCONF_DEBUG set.
I actually took a few seconds to reproduce it inside a Xenial container and we can clearly see the loop in action:
...... clamav- daemon/ LogRotate type) .. daemon/ LogRotate clamav- daemon/ LogRotate template) .. clamav- daemon/ LogRotate template) .. clamav- daemon/ LogRotate type) .. daemon/ LogRotate clamav- daemon/ LogRotate template) .. clamav- daemon/ LogRotate template) .. clamav- daemon/ LogRotate value) .. clamav- daemon/ LogRotate value) .. clamav- daemon/ LogRotate value true) .. daemon/ LogFile clamav- daemon/ LogFile type) .. daemon/ LogFile clamav- daemon/ LogFile template) .. clamav- daemon/ LogFile template) .. clamav- daemon/ LogFile type) .. daemon/ LogFile clamav- daemon/ LogFile template) .. clamav- daemon/ LogFile template) .. clamav- daemon/ LogFile value) .. clamav- daemon/ LogFile value) .. clamav- daemon/ LogFile value /var/log/ clamav/ clamav. log) .. daemon/ LogFile value clamav- daemon/ LogFile value) .. clamav/ clamav. log daemon/ LogTime clamav- daemon/ LogTime type) .. daemon/ LogTime clamav- daemon/ LogTime template) .. clamav- daemon/ LogTime template) .. clamav- daemon/ LogTime type) .. daemon/ LogTime clamav- daemon/ LogTime template) .. clamav- daemon/ LogTime template) .. clamav- daemon/ LogTime value) .. clamav- daemon/ LogTime value) .. clamav- daemon/ LogTime value true) .. daemon/ LogRotate clamav- daemon/ LogRotate type) .. daemon/ LogRotate clamav- daemon/ LogRotate template) .. clamav- daemon/ LogRotate template) .. clamav- daemon/ LogRotate type) .. daemon/ LogRotate clamav- daemon/ LogRotate template) .. clamav- daemon/ LogRotate template) .. clamav- daemon/ LogRotate value) .. clamav- daemon/ LogRotate value) .. clamav- daemon/ LogRotate value true) .. daemon/ LogFile clamav- daemon/ LogFile type) .. daemon/ LogFile clamav- daemon/ LogFile template) .. clamav- daemon/ LogFile template) .. clamav- daemon/ LogFile type) .. daemon/ LogFile clamav- daemon/ LogFile template) .. clamav- daemon/ LogFile template) .. clamav- daemon/ LogFile value) .. clamav- daemon/ LogFile value) .. clamav- daemon/ LogFile value /var/log/ clamav/ clamav. log) .. daemon/ LogFile value clamav- daemon/ LogFile value) .. clamav/ clamav. log daemon/ LogTime clamav- daemon/ LogTime type) .. daemon/ LogTime clamav- daemon/ LogTime template) .. clamav- daemon/ LogTime template) .. clamav- daemon/ LogTime type) .. daemon/ LogTime clamav- daemon/ LogTime template) .. clamav- daemon/ LogTime template) ..
debconf (db configdb): trying to getfield(
debconf (db passwords): cache miss on clamav-
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db passwords): cache miss on clamav-
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to setfield(
debconf (db configdb): passing to config ..
debconf (developer): --> 0 ok
debconf (developer): <-- INPUT low clamav-
debconf (db configdb): trying to getfield(
debconf (db passwords): cache miss on clamav-
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db passwords): cache miss on clamav-
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to setfield(
debconf (db configdb): passing to config ..
debconf (developer): --> 0 ok
debconf (developer): <-- METAGET clamav-
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (developer): --> 0 /var/log/
debconf (developer): <-- INPUT low clamav-
debconf (db configdb): trying to getfield(
debconf (db passwords): cache miss on clamav-
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db passwords): cache miss on clamav-
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to setfield(
debconf (db configdb): passing to config ..
debconf (developer): --> 0 ok
debconf (developer): <-- INPUT low clamav-
debconf (db configdb): trying to getfield(
debconf (db passwords): cache miss on clamav-
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db passwords): cache miss on clamav-
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to setfield(
debconf (db configdb): passing to config ..
debconf (developer): --> 0 ok
debconf (developer): <-- INPUT low clamav-
debconf (db configdb): trying to getfield(
debconf (db passwords): cache miss on clamav-
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db passwords): cache miss on clamav-
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to setfield(
debconf (db configdb): passing to config ..
debconf (developer): --> 0 ok
debconf (developer): <-- METAGET clamav-
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (developer): --> 0 /var/log/
debconf (developer): <-- INPUT low clamav-
debconf (db configdb): trying to getfield(
debconf (db passwords): cache miss on clamav-
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db passwords): cache miss on clamav-
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
......
<CTRL-C>
$ grep -i "trying to getfield" /tmp/deconfdebu g.out | sort | uniq -c | sort -rn clamav- daemon/ LogTime template) .. clamav- daemon/ LogRotate template) .. clamav- daemon/ LogFile template) ..
108 debconf (db configdb): trying to getfield(
108 debconf (db configdb): trying to getfield(
108 debconf (db configdb): trying to getfield(
.....