Le système Ubuntu est cassé après la désinstallation accidentelle de nombreux paquets

18

J'ai accidentellement supprimé tous les paquets commençant par le nom jpeg avec:

sudo apt-get remove jpeg*

Cela a bousillé beaucoup de choses, enlevé Unity, Firefox, Flash player, etc.

J'ai en quelque sorte réussi à récupérer le bureau et l’unité, mais beaucoup de choses ne sont pas encore réglées. Par exemple, les fichiers .rpm et .tag.gz ne s'ouvriront pas du tout.

Ce que je veux, c'est un moyen de réparer tout ce qui ne va pas. Quelque chose qui équivaut à une «installation de réparation» avec un disque Windows.

Quelqu'un a des conseils?

    
posée Programming Noob 30.01.2013 - 13:24
la source

6 réponses

32

Vous pouvez installer la tâche ubuntu-desktop :

sudo apt-get install ubuntu-desktop^

Cela va installer tous les paquets du bureau Ubuntu standard que vous avez supprimé. Il ne restaure pas les paquets que vous avez installés qui ne font pas partie du bureau standard (c’est-à-dire qu’il réinstalle Unity et Firefox, mais pas Flash player).

Pour installer ces paquets, vous pouvez regarder /var/log/apt/history.log et voir exactement ce que vous avez supprimé.

Remarque: l'installation de la tâche ubuntu-desktop^ est différente de l'installation du package ubuntu-desktop . Le premier donnera à APT quelques conseils pour résoudre les dépendances impliquant des paquets virtuels, ce dernier conférera à APT la liberté de choisir des paquets (et finira par installer des éléments inutiles comme ubiquity ).

Pourquoi le problème est-il survenu? apt-get remove jpeg* supprimera tous les packages commençant par jpeg . Il supprimera à la place tous les packages contenant jpe dans leur nom. En effet, apt-get fonctionne avec des expressions régulières, de sorte que jpeg * signifie: tout ce qui contient jpe suivi de zéro ou plus g .

    
réponse donnée Andrea Corbellini 30.01.2013 - 13:41
la source
5

La meilleure façon de résoudre ce problème pourrait être de réinstaller Ubuntu. (Vous devez d'abord sauvegarder vos documents, même si vous prévoyez de les réinstaller sans reformater.)

Si vous souhaitez essayer de réparer le système en place, consultez les fichiers journaux du gestionnaire de packages pour savoir quels packages ont été supprimés et réinstallez-les:

  • /var/log/dpkg.log (information complète, mais difficile à lire)
  • /var/log/apt/history.log (abrégé par va vous dire chaque paquet supprimé ou modifié d'une autre manière - probablement votre meilleur pari)
  • /var/log/apt/term.log (si vous supprimez les paquets avec apt-get dans le terminal, cela devrait montrer ce que vous avez vu à ce moment-là, y compris les listes des paquets qui vont être supprimés - pour que puisse être le meilleur) )

La réinstallation des packages dont le nom commence par jpeg ne fonctionnera pas, car la plupart des packages supprimés ont été supprimés car ils utilisaient ces packages.

À l’avenir , je recommande de vérifier soigneusement les conséquences de la désinstallation d’un package. Si vous travaillez à partir de la ligne de commande, vous serez toujours averti. (Sauf si vous utilisez l'option -y , auquel cas, généralement pas. Je vous déconseille d'utiliser cette option à moins de savoir ce que vous faites, en particulier pour les suppressions.)

Une façon de vérifier les conséquences d’une opération de gestion de paquetages effectuée avec apt-get , sans risquer de les voir se produire est d’exécuter apt-get -s au lieu de sudo apt-get . Cela simule simplement l'action spécifiée et indique quels paquets seraient affectés en conséquence et comment.

    
réponse donnée Eliah Kagan 30.01.2013 - 13:40
la source
1

J'exécute sudo apt-get purge wine* sur Ubuntu 15.10, donc pas d’interface graphique lors du démarrage uniquement avec l’option de connexion au terminal.

Comme Eliah Kagan a suggéré d’utiliser les informations de /var/log/apt/history.log J'ai lancé nano sur history.log et créé un script simple qui contenait sudo apt-get install sur tous les paquets purgés trouvés à la ligne:

Purge: evolution:amd64 (3.16.5-1ubuntu3.1), libtotem-plparser18:amd64 (3.10.5-1) ...... etc

Mais d'abord, j'avais manuellement à supprimer du texte entre tous: et, y compris le:,

A ce stade, un nouveau script serait utile car les paquets étaient des centaines. Après cela, je lance le script et retire quelques Unable to locate packages (que j'avais manuellement installé). relancez le script et c'est tout. Tout fonctionne bien ... heureusement

    
réponse donnée kominato 23.01.2016 - 11:35
la source
0

Installez le Bureau ubuntu package

sudo apt-get update && sudo apt-get install ubuntu-desktop

Il va installer les paquets nécessaires pour votre système.

    
réponse donnée Tachyons 30.01.2013 - 13:45
la source
0

Voici un petit script python dans lequel vous pouvez écrire la chaîne de paquetage (inutilisable) de votre désinstallation de masse qui se trouve sur /var/log/apt/history.log . Il affichera une chaîne que vous pourrez copier coller dans la commande apt-get install afin d’installer facilement tous les paquets supprimés.

import re

apt_str = u"INSERT YOUR PACKAGE STRING HERE, BETWEEN THE COMMAS"

match =  re.findall(r'([\w\d\.-]+).+? \(.+?\)', apt_str)
print " ".join(match)
    
réponse donnée joaoroque 29.09.2015 - 16:18
la source
0

J'ai accidentellement enlevé libssl1.0.0 et ma machine était paralysée. Pour restaurer, j'ai fait:

  1. Sauvegarder les journaux de ce qui a été supprimé cp /var/log/apt/term.log ~/libssl.term.log
  2. Supprimez les lignes sans rapport avec l’action libssl vi ~/libssl.term.log
  3. Si la mise en réseau est manquante (ne peut pas ping google.com ), redémarrez en mode récupération et activez la mise en réseau
  4. Réinstallez les packages supprimés cat ~/libssl.term.log | grep ^Removing | sed -e 's/^Removing //g;s/ (.*$//g;/diversion of/d;/dangling symlinks/d' | xargs sudo apt-get -y install
réponse donnée Eric Landry 02.08.2018 - 17:22
la source

Lire d'autres questions sur les étiquettes