sudo apt-get upgrade
installe toutes les mises à jour, pas seulement les mises à jour de sécurité. Je sais que je peux utiliser Update Manager pour sélectionner uniquement les mises à jour de sécurité importantes, mais existe-t-il un moyen de le faire à partir de la ligne de commande?
command-line
package-management
updates
security
Michael Crenshaw
la source
la source
linux-image-generic
paquetage, en fonction de l'image actuelle, par exemplelinux-image-3.x.y-zz-generic
(chaque version est un nom de paquetage distinct), dist-upgrade (qui permet d'installer de nouveaux paquetages pour satisfaire les dépendances) effectuera cette mise à jour , alors que upgrade affichera le paquet du noyau comme étant retenu.apt-get
réponse à cela, vu sa visibilité sur chaque serveurRéponses:
Le paquet Unattended-upgrades fournit une fonctionnalité pour installer automatiquement les mises à jour de sécurité.
Vous pouvez l'utiliser, mais au lieu de configurer la pièce automatique, vous pouvez l'appeler manuellement:
Si vous voulez le faire tranquillement à la place:
REMARQUE: lorsque vous appelez unattended-upgrade, vous laissez le "s" de côté.
Cela suppose que le paquet est installé par défaut, ce qui est probablement le cas. Si non, il suffit de faire:
Voir aussi
/usr/share/doc/unattended-upgrades/README.md
.la source
unattended-upgrade
vous devez probablement modifier/etc/cron.daily/apt
, mais vous n'êtes pas sûr que ce soit "correct"unattended-upgrades
n’est pas installé par défaut.-v
pour les messages d’information ou-d
pour les messages de débogage. Sinon, l'utilitaire sera très silencieux, auquel cas vous devrez vérifier les journaux/var/log/unattended-upgrades
. Vous pouvez également utiliser--dry-run
pour simuler mais pas réellement mettre à niveau quoi que ce soit. Pour plus d'informations et d'autres options, utilisez--help
pour obtenir le message d'aide.unattended-upgrades
aujourd'hui. Merci!Quelques conseils sur la gestion des mises à jour
Ceci s'applique à la fois à Debian et à Ubuntu, mais des instructions plus spécifiques pour Ubuntu suivent.
Afficher les mises à jour de sécurité uniquement:
ou
ou
Afficher tous les packages pouvant être mis à jour
Installer les mises à jour de sécurité uniquement
Remarques:
Parfois, Ubuntu affiche les mises à jour de sécurité comme si elles provenaient du référentiel $ release-updates. C'est vrai, me dit-on, car les développeurs Ubuntu transfèrent également les mises à jour de sécurité dans le référentiel $ release-updates pour accélérer leur disponibilité.
Si tel est le cas, vous pouvez procéder comme suit pour afficher uniquement les mises à jour de sécurité:
et
Vérifiez quels services doivent être redémarrés après les mises à niveau du paquet. Déterminez quels packages vous allez mettre à niveau au préalable et planifiez vos redémarrages / redémarrages. Le problème ici est que si vous ne redémarrez pas un service, il se peut que votre ancienne version d'une bibliothèque (raison la plus courante) ait été chargée en mémoire avant l'installation du nouveau package qui corrige une faille de sécurité.
Cependant, gardez à l’esprit que des
checkrestart
processus peuvent ne pas nécessairement être redémarrés. Par exemple, le service PostgreSQL peut conserver dans sa mémoire une référence à un fichier xlog déjà supprimé, ce qui n’est pas une raison valable pour redémarrer le service.Par conséquent, un autre moyen, plus fiable, de vérifier cela à l’aide d’utils standard est le petit script bash suivant que j’ai volé sans vergogne à https://locallost.net/?p=233
Il vérifie si les processus en cours sur un système utilisent toujours des bibliothèques supprimées en conservant des copies de celles-ci en mémoire active.
la source
remplacer
/etc/apt/preferences
par ce qui suit:Désormais, un simple
apt-get upgrade
mettra à niveau uniquement toutes les mises à jour de sécurité.Pourquoi (et comment) cela fonctionne: Le fichier de préférences épingle tous les paquets de la distribution Ubuntu sur la priorité 50, ce qui les rend moins souhaitables que les paquets déjà installés. Les fichiers provenant du référentiel de sécurité ont la priorité par défaut (500), de sorte qu'ils sont pris en compte pour l'installation. Cela signifie que seuls les packages considérés comme plus souhaitables que ceux actuellement installés sont des mises à jour de sécurité. Plus d'informations sur l'épinglage dans la page de manuel apt_preferences .
Vous pouvez promouvoir temporairement une certaine distribution pour les mises à jour avec l'
--target-release
option qui fonctionne avecapt-get
etaptitude
(au moins), ce qui vous permettra d'épingler certaines versions afin qu'elles soient éligibles pour la mise à niveau.Si vous souhaitez utiliser ceci uniquement pour les scripts et ne pas le configurer par défaut pour le système, vous pouvez placer les règles dans un autre emplacement et utiliser ceci à la place:
Cela permettra à apt de rechercher le fichier de préférences à partir d’un emplacement autre que celui par défaut.
Le fichier de préférences donné à titre d'exemple ne s'applique pas aux référentiels tiers. Si vous souhaitez également les épingler, vous pouvez les utiliser
apt-cache policy
pour déterminer facilement les clés requises pour l'épinglage.la source
apt-cache policy packagename
. Cela listera les priorités pour différentes versions. Vous devriez voir différentes lignes et différentes priorités. S'il n'y a pas de lignes avec la priorité 50, l'épinglage n'affectera pas les paquets en question pour une raison quelconque.Ce qui suit est confirmé dans Ubuntu 14.04 LTS.
Utilisez le
unattended-upgrade
paquet.Regarde le fichier
/etc/apt/apt.conf.d/50unattended-upgrades
. Il devrait y avoir une section en haut qui est:Notez comment il a été configuré pour autoriser uniquement les mises à niveau sans surveillance pour les packages de sécurité, par défaut.
Modifier le fichier
/etc/apt/apt.conf.d/10periodic
similaire à:Cela exécutera des mises à jour de sécurité automatiques sans surveillance, une fois par jour.
Maintenant, pour exécuter manuellement:
sudo unattended-upgrade
.Pour tester une marche à sec, sans faire quoi que ce soit:
sudo unattended-upgrade --dry-run
.Source: https://help.ubuntu.com/14.04/serverguide/automatic-updates.html
la source
APT::Periodic::Unattended-Upgrade "30";
ferait cela - tous les 30 jours.Bien que ce soit plutôt moche, vous pouvez désactiver tous les référentiels sauf le référentiel de sécurité, puis procédez comme suit:
Je ne l'ai pas testé, mais en théorie, il ne trouverait que les mises à jour dans le référentiel de sécurité et les appliquerait ...
la source
sudo apt-get update && sudo apt-get upgrade
(annulation avant toute mise à niveau). J'ai ensuite réactivé tous mes dépôts, exécutésudo apt-get updatee
et ouvert Update Manager. Les packages marqués comme mises à jour de sécurité ne correspondaient pas exactement à ce qui avait étéapt-get upgrade
trouvé, mais ils étaient très proches - assez proches pour moi. J'aimerais toujours savoir exactement comment Update Manager le fait et comment faire la même chose à partir de la ligne de commande, mais cela ira. Merci!apt-get update
: il suffit de lire les entrées dans le référentiel - selon la liste existante. Nécessaire pour vérifier ce qui est nouveau.apt-get upgrade
: toutes les mises à jour pour les paquets installés sans modules du noyau. Aucune mise à jour de version.apt-get dist-upgrade
: toutes les mises à jour pour les packages installés, y compris avec les modules du noyau. Aucune mise à jour de version.apt-get
avec paramètre-s
: test seulement, aucun changement effectué.la source
Sur Debians, j'utilise cette commande pour ne faire que des mises à jour de sécurité:
la source
Je ne trouve pas d'option dans apt-get ou aptitude, mais quelqu'un a posé la même question sur SuperUser. La seule réponse est:
Aucune réponse quant à savoir si cela a fonctionné cependant.
la source
Voici un script qui réalise cela de différentes manières:
la source