Réinstallez Ubuntu de base sans formater ou supprimer les packages installés manuellement

10

Parce que j'ai trop joué avec le référentiel proposé (le 14.04), je veux revenir à l'étape 1: supprimer tous les packages du système sauf ceux que j'ai installés manuellement et réinstaller le système de base, sans passer par les tracas de la réinstallation .

Fondamentalement, existe-t-il de toute façon sur ssh en toute sécurité et à distance:

  • supprimer tous les packages sauf ceux installés manuellement
  • réinstallez tout depuis le noyau vers ubuntu-desktop(de préférence de manière automatique sans que d'autres packages soient marqués comme installés manuellement)
  • installer les dépendances des packages installés manuellement

NB: J'ai intentionnellement dans l'espoir d'obtenir des réponses non spécifiques à une ou plusieurs versions particulières.


Il semble que je n'ai pas décrit ce que je veux simplement, je pense que ces deux points répondraient à ce qui précède:

  • purger tous les packages auto-installés (@kos a répondu à la réponse de @ Fabby)
  • installer les packages qui constituent une nouvelle installation d'Ubuntu

Et je suppose que si les dépendances des packages installés manuellement sont désinstallées, apt-get -fcela m'aidera.

Oxwivi
la source
1. sont tous les fichiers dont vous avez besoin pour enregistrer dans / home? 2. le réseau est-il stable? Si vous deviez déplacer vos fichiers utilisateur ou tout ce que vous devez enregistrer, pourriez-vous tout écraser et déplacer facilement les fichiers utilisateur? Également. PXE est-il activé? et y a-t-il des outils de support de virtualisation dans le BIOS?
2015 à 4h03
@ j0h 1. Rien d'important dans /home, mais il y a une configuration importante dans les packages installés manuellement, 2. Oui, mais comme je l'ai dit, les fichiers utilisateur ne sont pas le souci, 3. Oui, il est activé, 4. Et oui, il y a aussi le support de la virtualisation .
Oxwivi
Cela dépasse un peu mon niveau d'expertise, mais ne serait-il pas plus facile d'obtenir une liste de packages à partir d'une nouvelle installation, comparez-la à votre installation actuelle pour obtenir une liste de tout ce qui est ajouté. Ensuite, faites une nouvelle installation et ajoutez automatiquement tous les éléments personnalisés - éventuellement avec une restauration de certains ou de tous les fichiers de configuration dans $ HOME? Vous obtenez les listes en exécutant dpkg -l. Cela marquera probablement une grande partie des éléments supplémentaires comme installés manuellement - plutôt que comme des dépendances qui pourraient disparaître si le package qui en avait besoin est supprimé plus tard.
Joe

Réponses:

5

Pour le futur:

Si vous avez un serveur distant dans un centre de données à 1000 miles de distance, vous feriez mieux d'avoir un commutateur IPKVM installé afin que vous n'ayez pas à compter uniquement sur sshpour l'atteindre.

Si le serveur est sur le mont Everest: ajoutez également un téléphone Iridium et un modem ...

Ensuite, vous pouvez avoir une partition CloneZilla FAT de 512 Mo amorçable sur cette machine (j'utilise une clé USB SLC ) et utiliser la console pour démarrer et sauvegarder une image de votre ou vos partitions système sur votre lecteur de données, puis copiez le image système précédente sur la partition secondaire de votre clé USB avant de commencer à ajouter trusty-proposedau serveur . (Je garde la plupart des sauvegardes de mon système sur le lecteur de données: elles ne font que 6 Go)

Pour l'instant:

  • Faites une sauvegarde d'apt
  • Passez par votre /var/log/apt/history*
  • Créez votre propre script automagique qui fait apt-get purgetout ce que vous ne voulez / n'avez vraiment plus besoin des données de l'étape précédente
  • Exécutez le script en priant Linus des Torvalds
  • Mettez à jour vos référentiels comme vous le souhaitez (comme la suppression trusty-proposed)
  • Redémarrez en priant Richard des Stallmans
  • Si tout fonctionne: implémentez la solution de commutation IPKVM ci-dessus.
Fabby
la source
Aucune commande automagique de tout supprimer sauf this that? :( Les commutateurs IPKVM sont-ils livrés avec une fonction DNS dynamique? Dans le cas contraire, cela ne
vaut rien
Ce qui précède est le plus automatique que vous obtiendrez. Entièrement automatique comme un point de restauration Windows: non, c'est à cela que servent les sauvegardes du système ... Les commutateurs IPKVM peuvent utiliser DHCP, donc en utilisant un service DNS dynamique externe: "oui, un peu" ...
Fabby
Non, je déteste le truc de point de restauration Windows. Aucune idée de ce qui s'y passe. (Plus comme, j'en suis venu à détester toute la gamme de produits Windows)
Oxwivi
J'ai supprimé Windows il y a environ 2 ans ... Avez-vous même essayé de chercher history.log??? : P
Fabby
@Oxwivi Vous voulez apt-mark showauto, et de purger tout le paquet dans la sortie en alimentant la liste apt-cache purge: apt-mark showauto | xargs sudo apt-get --dry-run purge. J'ai volontairement ajouté le --dry-runcommutateur au cas où vous seriez tenté de l'essayer, afin que vous puissiez réellement voir ce qui se passe: faire quelque chose comme ça interrompt votre installation, car il supprime chaque package dépendant de l'un des packages supprimés par la commande . Jetez simplement un œil à la sortie de la marche à sec.
kos
1

OK, ma réponse suppose que vous pouvez et que vous avez sauvegardé votre répertoire utilisateur et tout ce que vous souhaitez enregistrer. ce qui réduit votre question à comment installer Ubuntu sur un serveur distant? Pour lesquels il existe de nombreuses solutions.

Pour cela, vous pouvez utiliser DRBL, pour déployer à distance un système d'exploitation, avec une variété d'options de démarrage. Vous pouvez l'examiner ici: http://drbl.org/installation/

Il y a Clobber: http://cobbler.github.io/manuals/quickstart/

Il existe cloneZilla, qui peut sauvegarder et restaurer sur un réseau. Le lien est pour Windows, mais les mêmes méthodes s'appliquent pour Linux. Alternativement, vous pouvez créer une image de démarrage ubuntu localement et l'installer à l'aide de clonezilla. http://opensourceforu.efytimes.com/2013/12/restore-partitions-network-using-clonezilla/

Vous pouvez également essayer d'utiliser dd_rescue ou netcat

Un terme de recherche utile peut être "Provisionnement de serveur". Il y a plus d'options que celles-ci.

Il existe également des méthodes de bruteforce.

$ ls /
bin  boot  cdrom  dev  etc  home  initrd.img  initrd.img.old  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  vmlinuz  vmlinuz.old

et votre CHEMIN était comme ceci:

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

si votre répertoire racine était quelque chose comme ça, si vous écrasiez / etc, et / usr avec des versions "propres", vous écraseriez, à peu près tous les logiciels installés, et les fichiers de configuration pour cela. Ce serait un hacker pour le moins, sinon une idée complètement horrible. La course apt-get purgeserait beaucoup plus sûre, ou peut-être pourriez-vous affiner un peu le processus. Vous pouvez également souhaiter inclure un clone de votre ancien fichier de configuration ssh dans / etc / ssh / avant d'essayer de redémarrer les services avec de nouveaux fichiers de configuration.

Il existe également un outil qui vous permet de vider un noyau en cours d'exécution et de mettre à niveau sans redémarrer. Pour cela, vous pouvez consulter Kslpice ou kGraft

Si tout ce que vous rencontrez est la gestion des dépôts et des packages, je ne sais pas pourquoi vous voudriez vider le noyau, mbr, la partition de démarrage, etc.

Alors, j'espère que je vous ai donné quelques idées à examiner. Il existe de nombreuses façons de dépolir un serveur à distance.

j0h
la source