Accueil
» Comment faire
»
Déverrouillez APT d'Ubuntu en toute sécurité et terminez la mise à jour.
Déverrouillez APT d'Ubuntu en toute sécurité et terminez la mise à jour.
L'erreur « Impossible d'obtenir le verrou /var/lib/dpkg/lock-frontend » signifie généralement qu'un autre processus de gestion de paquets est déjà en cours d'exécution. Attendez la fin de cette tâche, identifiez le processus si l'erreur persiste, et ne réparez la configuration des paquets interrompue qu'ensuite ; la suppression du fichier de verrouillage n'est pas une solution sûre.
APT est l'outil de gestion des paquets d'Ubuntu, qui dpkgassure l'installation et la configuration des paquets au niveau inférieur. L'utilisation de verrous empêche deux opérations simultanées de modifier l'état d'un paquet. Un fichier de verrouillage peut rester sur le disque pendant le fonctionnement normal ; sa présence seule ne signifie donc pas que le paquet est obsolète.
1. Laissez au programme de mise à jour d'Ubuntu le temps de terminer.
Commencez par fermer toute autre tâche de mise à jour de paquet que vous avez lancée, comme une autre commande Terminal, le Gestionnaire de mises à jour ou une installation depuis une boutique d'applications. Si une boîte de dialogue de mise à jour est ouverte, laissez-la se terminer avant de lancer une autre aptcommande. Sur Ubuntu de bureau, les services de mise à jour en arrière-plan peuvent également être actifs.
Vérifiez les services systemd concernés et attendez si l'un d'eux est actif :
systemctl status apt-daily.service apt-daily-upgrade.service
Ces unités peuvent être inactives même si un autre gestionnaire de paquets détient le verrou ; il est donc important d'examiner également le processus utilisant le verrou exact. N'exécutez aucune autre commande d'installation ou de mise à niveau pendant l'opération en cours.
Le message de verrouillage indique la ressource utilisée et peut inclure un ID de processus à examiner.
2. Identifier qui détient le verrou frontal
Utilisez cette commande fuserpour afficher les processus accédant au verrou, puis examinez tout PID qu'elle signale :
Remplacez 2468par le PID réel de votre sortie. Un nom de processus tel que apt, apt-get, dpkgou un service de mise à jour indique que le traitement des paquets est peut-être encore en cours. Pour afficher une liste de processus plus complète, exécutez :
ps -eo pid,etime,cmd | grep -E '[a]pt|[d]pkg'
Ne présumez pas qu'un processus est bloqué simplement parce qu'aucune progression n'est visible. Le téléchargement de paquets, l'exécution de scripts de maintenance et le redémarrage de services peuvent prendre du temps. S'il s'agit d'une mise à jour lancée dans un autre terminal, retournez-y et laissez-la se terminer. Si une interface graphique est utilisée, utilisez-la pour annuler ou fermer l'opération normalement.
Utilisez l'identifiant de processus (PID) et le nom de la commande signalés pour distinguer un programme de mise à jour actif de la commande que vous essayez d'exécuter.
3. Procédez avec précaution à une opération réellement bloquée.
S'il s'agit d'une mise à jour automatique, vérifiez son état et ses journaux avant d'intervenir :
systemctl status apt-daily-upgrade.service
sudo journalctl -u apt-daily-upgrade.service -b --no-pager
Tant que le service est en cours d'exécution, ne le touchez pas. Si vous constatez qu'une commande de paquetage que vous avez lancée est bloquée, interrompez-la une fois depuis son terminal Ctrl+Cet attendez qu'elle revienne à l'invite de commandes. N'utilisez pas les commandes `git log` kill -9, killall dpkg`git ip` ou `git ip`, et ne supprimez aucun fichier dans le répertoire `/etc/package`/var/lib/dpkg ; l'arrêt brutal des scripts de paquetage peut laisser les paquets décompressés mais non configurés.
Si le processus s'est terminé mais que l'opération du paquet a été interrompue, un redémarrage est une solution raisonnable pour supprimer les données orphelines de l'espace utilisateur. Après le redémarrage, assurez-vous qu'aucune tâche de mise à jour ou d'installation de logiciels n'est en cours avant de continuer. Si un service reste bloqué de manière répétée, utilisez les journaux système pour diagnostiquer ce service plutôt que de supprimer systématiquement les fichiers de verrouillage.
Un service apt-daily-upgrade actif est une raison d'attendre et de vérifier sa progression, et non de supprimer son verrou.
4. État du colis de réparation après le déverrouillage
Une fois qu'aucun gestionnaire de paquets n'utilise le verrou, terminez toute configuration de paquet en attente :
sudo dpkg --configure -a
Cette commande configure les paquets décompressés mais pas entièrement installés. Si des problèmes de dépendances sont signalés, demandez à APT de les résoudre :
sudo apt-get -f install
Lisez les modifications proposées avant de confirmer. N'ajoutez rien -ypendant le dépannage : l'invite vous permet de vérifier si APT prévoit une suppression ou une modification inattendue. Une fois la réparation terminée, actualisez les listes de paquets et relancez la tâche initiale.
Remplacez PACKAGE_NAMEpar le paquet que vous souhaitiez installer. La documentation d' APT-get-f d'Ubuntu indique que cette opération vise à corriger les dépendances cassées, et celle de dpkg explique la configuration du paquet. Si APT signale toujours le verrouillage, répétez la vérification ; une autre tâche d'installation de paquet a peut-être commencé entre-temps.
Une fois le verrou levé, configurez les paquets en attente et vérifiez qu'APT peut lire un état de paquet cohérent.
Vérifiez que la réparation a fonctionné
La correction est terminée lorsque la commande d'installation ou de mise à jour d'origine s'exécute sans erreur de verrouillage, sudo dpkg --configure -ase termine sans erreur de configuration en attente et sudo apt-get checkne signale aucune dépendance rompue. Si le verrou réapparaît, un autre processus est en train de l'acquérir ; identifiez ce processus avant d'entreprendre toute autre action.
Les manuels Noble actuels d'Ubuntu décrivent les commandes de paquetage ci-dessus. Le déroulement précis des services et les noms des processus varient selon la version d'Ubuntu et les outils de gestion de paquets installés, mais la règle de base reste la même : attendre que le verrou soit exécuté, puis réparer dpkg si l'opération précédente a été interrompue.