Je sais que je pourrais probablement faire ce qui suit:
Comment empêcher la mise à jour d'un paquet spécifique?
Et empêchez postgresql de se mettre à niveau complètement. Mais ensuite, si je veux le mettre à jour manuellement, je devrais libérer les paquets suivants, puis les conserver à nouveau:
postgresql-9.3 install postgresql-client-9.3 install postgresql-client-common install postgresql-common install
ce qui est un peu difficile à faire si vous gérez plusieurs serveurs. Ce qui signifie que je devrais écrire des scripts à cet effet et autres.
La solution idéale serait la suivante:
les mises à jour automatiques vont mettre à jour les paquets, mais ne redémarrent pas postgresql, ou les mises à jour de sécurité sans surveillance ne mettent pas à jour les paquets, mais effectuer une mise à jour manuelle d'apt-get dist-upgrade le fait sans avoir à le retenir.
Y a-t-il un moyen de faire cela avec un peu plus de finesse que la suggestion initiale?
La raison en est que lorsque je mets à niveau nos serveurs, tous les services peuvent interrompre une seconde, mais lorsque vous interrompez une base de données, de mauvaises choses peuvent arriver.
Avec le paquetage unattended-upgrades
, vous pouvez mettre en liste noire les paquets que vous ne souhaitez pas mettre à jour.
Pas sûr de la profondeur de l'arbre de dépendance.
Voir: buntu: Mises à jour automatiques
// List of packages to not update (regexp are supported)
Unattended-Upgrade::Package-Blacklist {
"postgresql-.*";
// "vim";
// "libc6";
// "libc6-dev";
// "libc6-i686";
};
`