Installieren Sie Base Ubuntu neu, ohne manuell installierte Pakete zu formatieren oder zu entfernen

10

Da ich mit dem vorgeschlagenen Repository (am 14.04.) Zu viel herumgespielt habe, möchte ich zu Schritt 1 zurückkehren: Entfernen Sie alle Pakete auf dem System mit Ausnahme derjenigen, die ich manuell installiert habe, und installieren Sie das Basissystem neu, ohne sich um die Neuinstallation kümmern zu müssen .

Grundsätzlich gibt es sowieso sicher und remote über ssh:

  • Entfernen Sie alle Pakete außer den manuell installierten
  • Installieren Sie alles vom Kernel bis neu ubuntu-desktop(vorzugsweise automatisch, ohne dass weitere Pakete als manuell installiert markiert werden).
  • Installieren Sie die Abhängigkeiten der manuell installierten Pakete

NB Ich habe absichtlich in der Hoffnung, Antworten zu erhalten, die für eine bestimmte Version (en) nicht .


Es scheint, dass ich nicht einfach genug beschrieben habe, was ich will. Ich denke, diese beiden Punkte würden sich um das Obige kümmern:

  • Löschen Sie alle automatisch installierten Pakete (@kos antwortete auf @ Fabbys Antwort)
  • Installieren Sie die Pakete, aus denen eine neue Ubuntu-Installation besteht

Und ich vermute, wenn die Abhängigkeiten von manuell installierten Paketen deinstalliert werden, apt-get -fwird mir dabei helfen.

Oxwivi
quelle
1. Sind alle Dateien, die Sie in / home speichern müssen? 2. Ist das Netzwerk stabil? Wenn Sie Ihre Benutzerdateien verschieben oder was auch immer Sie speichern müssen, können Sie dann alles überschreiben und Benutzerdateien einfach zurück verschieben? Ebenfalls. ist PXE aktiviert? und gibt es Virtualisierungs-Support-Tools im BIOS?
j0h
@ j0h 1. Nichts Wichtiges in /home, aber es gibt wichtige Konfigurationen in manuell installierten Paketen. 2. Ja, aber wie gesagt, Benutzerdateien sind nicht die Sorge. 3. Ja, es ist aktiviert. 4. Und ja, es gibt auch Virtualisierungsunterstützung .
Oxwivi
Dies liegt etwas über meinem Fachwissen, aber wäre es nicht einfacher, eine Paketliste aus einer Neuinstallation zu erhalten? Vergleichen Sie sie mit Ihrer aktuellen Installation, um eine Liste aller hinzugefügten Dateien zu erhalten. Führen Sie dann eine Neuinstallation durch und fügen Sie automatisch alle benutzerdefinierten Inhalte hinzu - möglicherweise mit einer Wiederherstellung einiger oder aller Konfigurationsdateien in $ HOME? Sie erhalten die Listen, indem Sie dpkg -l ausführen. Dies wird wahrscheinlich viele der zusätzlichen Dinge als manuell installiert markieren - und nicht als Abhängigkeiten, die verschwinden könnten, wenn das Paket, das sie benötigt, später gelöscht wird.
Joe

Antworten:

5

Für die Zukunft:

Wenn Sie einen Remote-Server in einem 1000 Meilen entfernten Rechenzentrum haben, sollten Sie einen IPKVM-Switch installieren, damit Sie sich nicht nur darauf verlassen müssen ssh, um ihn zu erreichen.

Wenn sich der Server auf dem Mount Everest befindet: Fügen Sie ein Iridium-Telefon und ein Modem hinzu ...

Dann können Sie eine bootfähige 512 MB FAT CloneZilla- Partition auf diesem Computer haben (ich verwende einen SLC- USB-Stick) und die Konsole verwenden, um darauf zu booten und ein Image Ihrer Systempartition (en) auf Ihrem Datenlaufwerk zu sichern und dann die zu kopieren vorheriges Systemabbild auf der sekundären Partition Ihres USB-Sticks, bevor Sie mit dem Hinzufügen trusty-proposedzum Server beginnen . (Ich behalte die meisten meiner Systemsicherungen auf dem Datenlaufwerk: Sie sind nur 6 GB groß.)

Zur Zeit:

  • Machen Sie ein Apt-Backup
  • Geh durch deine /var/log/apt/history*
  • Erstellenapt-get purge Sie aus den Daten des vorherigen Schritts ein eigenes automatisches Skript, das all die Dinge ausführt , die Sie wirklich nicht mehr wollen / brauchen
  • Führen Sie das Skript aus, während Sie zu Linus der Torvalds beten
  • Aktualisieren Sie Ihre Repositorys so, wie Sie es möchten (z. B. Entfernen trusty-proposed).
  • Starten Sie neu, während Sie zu Richard von den Stallmans beten
  • Wenn alles klappt: Implementieren Sie die oben beschriebene IPKVM-Switch-Lösung.
Fabby
quelle
Kein automatischer Befehl, alles zu löschen, außer this that? :( Verfügt der IPKVM-Switch über eine dynamische DNS-Funktion? Andernfalls in diesem Fall
wertlos
Das Obige ist das Automatischste, das Sie bekommen werden. Vollautomatisch wie ein Windows-Wiederherstellungspunkt: Nein, dafür sind Systemsicherungen gedacht ... IPKVM-Switches können DHCP verwenden. Verwenden Sie also einen externen dynamischen DNS-Dienst: "Ja, irgendwie" ...
Fabby,
Nein, ich hasse Windows-Wiederherstellungspunkte. Keine Ahnung, was da rein geht. (Eher hasse ich die ganze verdammte Windows-Produktlinie.) Der einzige automatische Teil, den ich möchte, ist, alle manuellen Pakete und den Befehl herauszufinden, alles außer diesen zu deinstallieren.
Oxwivi
Ich habe Windows vor ungefähr 2 Jahren gelöscht ... Haben Sie sogar versucht, nachzuschauen history.log??? : P
Fabby
@Oxwivi Sie möchten das apt-mark showautogesamte Paket in der Ausgabe löschen , indem Sie die Liste an apt-cache purgefolgende Adresse senden : apt-mark showauto | xargs sudo apt-get --dry-run purge. Ich habe den --dry-runSchalter freiwillig hinzugefügt , falls Sie versuchen möchten, ihn zu testen, damit Sie tatsächlich sehen können, was passiert: Wenn Sie so etwas tun, wird Ihre Installation unterbrochen , da jedes Paket entfernt wird, das von dem durch den Befehl entfernten Paket abhängt . Schauen Sie sich einfach die Leistung des Trockenlaufs an.
Kos
1

OK, meine Antwort setzt voraus, dass Sie Ihr Benutzerverzeichnis und alles, was Sie speichern möchten, sichern können. Was reduziert Ihre Frage darauf, wie ich Ubuntu auf einem Remote-Server installiere? Für die es viele Lösungen gibt.

Zu diesem Zweck können Sie DRBL verwenden, um ein Betriebssystem mit einer Vielzahl von Optionen zum Booten remote bereitzustellen. Sie können es hier einsehen : http://drbl.org/installation/

Es gibt Clobber: http://cobbler.github.io/manuals/quickstart/

Es gibt cloneZilla, das über ein Netzwerk gesichert und wiederhergestellt werden kann. Der Link ist für Windows, aber die gleichen Methoden gelten für Linux. Alternativ können Sie ein Ubuntu-Boot-Image lokal erstellen und mit Clonezilla installieren. http://opensourceforu.efytimes.com/2013/12/restore-partitions-network-using-clonezilla/

Alternativ können Sie auch dd_rescue oder netcat verwenden

Ein nützlicher Suchbegriff könnte "Server Provisioning" sein. Es gibt mehr Optionen als diese.

Es gibt auch Bruteforce-Methoden.

$ 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

und dein PFAD war so:

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

Wenn Ihr Stammverzeichnis so etwas wäre, wenn Sie / etc und / usr mit "sauberen" Versionen überschrieben hätten, würden Sie so ziemlich jede installierte Software und die Konfigurationsdateien dafür überschreiben. Das wäre gelinde gesagt hackerisch, wenn nicht eine völlig schreckliche Idee. Laufen apt-get purgewäre viel sicherer, oder vielleicht könnten Sie den Prozess ein wenig verfeinern. Möglicherweise möchten Sie dann auch einen Klon Ihrer alten ssh-Konfigurationsdatei in / etc / ssh / einfügen, bevor Sie versuchen, die Dienste mit neuen Konfigurationsdateien neu zu starten.

Es gibt auch ein Tool, mit dem Sie einen laufenden Kernel sichern und ohne Neustart aktualisieren können. Dafür könnten Sie Kslpice oder kGraft ausprobieren

Wenn Sie nur Probleme mit Repos und Paketverwaltung haben, bin ich mir nicht sicher, warum Sie den Kernel, die mbr, die Boot-Partition usw. sichern möchten.

Wie auch immer, ich hoffe, ich habe Ihnen einige Ideen gegeben, die Sie untersuchen sollten. Es gibt viele Möglichkeiten, einen Server remote zu depolieren.

j0h
quelle