Remplacer /etc/apt/preferences
avec les éléments suivants :
Package: *
Pin: release a=lucid-security
Pin-Priority: 500
Package: *
Pin: release o=Ubuntu
Pin-Priority: 50
maintenant un simple apt-get upgrade
mettra à jour toutes les mises à jour de sécurité uniquement.
Pourquoi (et comment) cela fonctionne : Le fichier de préférences va épingler tous les paquets de la distribution Ubuntu à la priorité 50, ce qui les rendra moins désirables que les paquets déjà installés. Les fichiers provenant du dépôt de sécurité reçoivent la priorité par défaut (500) afin qu'ils soient pris en compte pour l'installation. Cela signifie que seuls les paquets considérés comme plus désirables que ceux actuellement installés sont des mises à jour de sécurité. Plus d'informations sur l'épinglage dans le Page de manuel apt_preferences .
Vous pouvez promouvoir temporairement une certaine distribution pour les mises à jour avec la fonction --target-release
qui fonctionne avec apt-get
y aptitude
(au moins) qui vous permettra d'épingler certaines versions afin qu'elles soient éligibles pour une mise à niveau.
Si vous souhaitez l'utiliser pour scripts seulement et ne pas le faire par défaut pour le système, vous pouvez placer les règles dans un autre emplacement et utiliser ceci à la place :
apt-get -o Dir::Etc::Preferences=/path/to/preferences_file upgrade
Ceci fera en sorte qu'apt recherche 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 dépôts de tiers, si vous souhaitez les épingler également vous pouvez utiliser apt-cache policy
pour déterminer facilement les clés nécessaires à l'épinglage.
0 votes
Je suppose que vous vouliez faire référence à apt-get (dist-)upgrade ?
2 votes
Je ne pense pas. dist-upgrade met le système entier à une nouvelle version. Je parle des mises à jour quotidiennes, comme celles que vous voyez dans Update Manager.
1 votes
Oh, je vois ce que tu veux dire maintenant. Heh, je lance apt-get update si souvent que je le tape sans réfléchir. Merci de m'avoir prévenu !
7 votes
Vous voulez "apt-get dist-upgrade", pas "apt-get upgrade". "dist-upgrade" n'est pas pour les nouvelles versions (c'est "do-release-upgrade" une commande séparée). Utiliser "dist-upgrade" signifie qu'il gérera les changements de dépendances des nouveaux paquets. Cela peut être important.
1 votes
Je ne pense pas que @KeesCook soit correct. Selon la documentation d'apt, vous devez utiliser apt-get upgrade à moins que vous ne changiez de distribution. Ce n'est que dans de rares conditions qu'une mise à jour de la distribution est nécessaire par rapport à une mise à niveau lors de l'exécution d'un ubuntu publié (par exemple, pas actuellement en version bêta/rc).
3 votes
Dist-upgrade est l'opération normale effectuée par le GUI Update Manager. Pour les paquets tels que le noyau, pour lesquels il existe une version
linux-image-generic
en fonction de l'image courante, par exemplelinux-image-3.x.y-zz-generic
(dont chaque version est un nom de paquet séparé), dist-upgrade (qui permet d'installer de nouveaux paquets pour satisfaire les dépendances) effectuera cette mise à niveau, alors que upgrade montrera le paquet du noyau comme étant retenu.3 votes
Surprenant qu'il n'y ait pas de bons
apt-get
Il n'y a pas de réponses basées sur ce critère, étant donné la place importante qu'il occupe sur chaque serveur.0 votes
En fait, la réponse d'ILIV ci-dessous est très bonne. D'abord, vous pouvez lister les paquets qui doivent être mis à jour, puis vous pouvez exécuter
sudo apt-get install <name>
des seuls paquets à mettre à niveau. Cela vous permet de ne mettre à niveau que les paquets qui représentent un problème de sécurité.0 votes
Deux duplicate fils (avec des solutions différentes et des explications différentes).