Mijn vraag
Ik wil een dist-upgrade automatiseren en stootte nog tegen vragen die de dpkg aan me vroeg. Bijvoorbeeld als sshd_config of krb5.conf is aangepast, moet ik de package maintainer versie installeren ja dan neen. Nu wil ik dat in de meeste gevallen niet maar soms wel. Bijvoorbeeld open-vm-tools mag gerust een update krijgen en base_files (waar ik nu tegenaan loop) ook. Om een of andere reden zijn die niet default gebleven. Dus wat heb ik tot nogtoe gedaan: in /etc/dpkg/dpkg.cfg aangepast door force-confdef toe te voegen. Dat maakt de upgrade non-interactive. 90% daar, alleen hoe kan ik er nu voor zorgen dat voor specifieke packages force-confnew geldt?
Relevante software en hardware die ik gebruik
debian 8 (reden van de long overdue dist-upgrade btw)
apt
debian 9 en debian 10.
Wat ik al gevonden of geprobeerd heb
bovenstaande snapt dpkg niet. (ook force-confew pkgX niet)
Ik wil een dist-upgrade automatiseren en stootte nog tegen vragen die de dpkg aan me vroeg. Bijvoorbeeld als sshd_config of krb5.conf is aangepast, moet ik de package maintainer versie installeren ja dan neen. Nu wil ik dat in de meeste gevallen niet maar soms wel. Bijvoorbeeld open-vm-tools mag gerust een update krijgen en base_files (waar ik nu tegenaan loop) ook. Om een of andere reden zijn die niet default gebleven. Dus wat heb ik tot nogtoe gedaan: in /etc/dpkg/dpkg.cfg aangepast door force-confdef toe te voegen. Dat maakt de upgrade non-interactive. 90% daar, alleen hoe kan ik er nu voor zorgen dat voor specifieke packages force-confnew geldt?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| # dpkg configuration file # # This file can contain default options for dpkg. All command-line # options are allowed. Values can be specified by putting them after # the option, separated by whitespace and/or an `=' sign. # # Do not enable debsig-verify by default; since the distribution is not using # embedded signatures, debsig-verify would reject all packages. no-debsig # Log status changes and actions to a file. log /var/log/dpkg.log force-confdef |
Relevante software en hardware die ik gebruik
debian 8 (reden van de long overdue dist-upgrade btw)
apt
debian 9 en debian 10.
Wat ik al gevonden of geprobeerd heb
code:
1
2
| force-confdef install pkg1 pkg2 force-confnew install pkg3 pkg4 |
bovenstaande snapt dpkg niet. (ook force-confew pkgX niet)
edit:
Een workaround die ik gevonden heb maar nogal ugly is, is een configuratiefile wissen, en dan de package opnieuw installeren met deze opties:
[code]
apt install --reinstall -o Dpkg::Options::="--force-confask,confnew,confmiss" base-files
[/code]
Het probleem daarmee is, heb ik wel degelijk alle files mee? En echt netjes is het niet. Maar het kan nog lelijker:
[code]
rm -rf (dpkg -S open-vm-tools | cut -f 2 -d " ") && apt install --reinstall -o Dpkg::Options::="--force-confask,confnew,confmiss" base-files open-vm-tools
[/code]
Dit doet wel wat ik in dit geval wil bereiken maar ik hoop wel dat er ook via Debian/dpkg een manier is om dit een stuk netter op te lossen.
Een workaround die ik gevonden heb maar nogal ugly is, is een configuratiefile wissen, en dan de package opnieuw installeren met deze opties:
[code]
apt install --reinstall -o Dpkg::Options::="--force-confask,confnew,confmiss" base-files
[/code]
Het probleem daarmee is, heb ik wel degelijk alle files mee? En echt netjes is het niet. Maar het kan nog lelijker:
[code]
rm -rf (dpkg -S open-vm-tools | cut -f 2 -d " ") && apt install --reinstall -o Dpkg::Options::="--force-confask,confnew,confmiss" base-files open-vm-tools
[/code]
Dit doet wel wat ik in dit geval wil bereiken maar ik hoop wel dat er ook via Debian/dpkg een manier is om dit een stuk netter op te lossen.
[ Voor 19% gewijzigd door bucovaina89 op 04-02-2021 14:48 ]