Frage Ubuntu, wie man eine neue Maschine wie eine bestehende Maschine einrichtet


Ich habe eine Maschine eingerichtet mit den Apps, die ich brauche, und ich möchte das gleiche auf einer neuen Ubuntu-Box installieren.

Gibt es ein Skript, das alle installierten Apps auflistet, so dass ich zwischen den Boxen unterscheiden kann und so die fehlenden Objekte hinzufügen kann?

Danke im Voraus, Chris


27
2018-04-30 13:20


Ursprung




Antworten:


Auch die von pjz erwähnten dpkg-Tricks können Sie sich ansehen Etckeeper (Anleitung ) - Eine App, die Ihre / etc / * unter Versionskontrolle stellt, so dass Sie Änderungen leichter finden und auf andere Server replizieren können.

Auch für eine kürzere Liste als die von pjz Methode produziert, können Sie verwenden

$ deborphan -a --no-show-section > /tmp/mypackagelist

Dadurch erhalten Sie eine Liste der Pakete, die alle anderen Pakete installieren, die Sie als Abhängigkeiten benötigen. Kann nützlich sein, wenn Sie tatsächlich durch die Liste schauen möchten. (dpkg --get-selections erzeugt a loooong Liste). Außerdem ist die Liste so kurz, dass Sie Zeilenumbrüche hinzufügen und Einträge mit '#' auskommentieren können. Dann bei der Installation der zusätzlichen Pakete können Sie tun

$ grep -v '#' /tmp/mypackagelist | xargs apt-get install -y

Wenn einige Pakete nur auf einigen Rechnern installiert werden sollen, müssen Sie sie nicht vollständig aus der Paketliste löschen.


18
2018-04-30 17:23



Etckeeper sieht wirklich interessant aus (+1). - jkp


dpkg --get-selections >/tmp/mypackagelist

sollte den Trick machen. Nachdem Sie sichergestellt haben, dass Ihre /etc/apt/sources.list auf der neuen Maschine die gleichen Einträge enthält wie auf der alten, kopieren Sie die mypackagelist auf die neue Maschine und tun Sie Folgendes:

cat mypackagelist | xargs apt-get -y install 

und du solltest gut gehen.

Beachten Sie, dass die Zeile dpkg --get-selection auch eine gute Information ist, die Sie gelegentlich in Ihre / etc / dir-Datei schreiben können - es bedeutet, dass Sie sich nicht darum kümmern müssen, / bin / und / usr / bin / und so zu sichern, weil Sie wissen welche Pakete sind auf dem System.


17
2018-04-30 13:26



Ja, Jeff, aber wie steht es mit den Änderungen an den Konfigurationsdateien? Wie wäre es mit den dpkg-reconfigure-Optionen? Wie wäre es mit Hostnamen ... Benutzer, Freigaben, Mounts ... Siehe meine Antwort über dd brüllen - elcuco


Ubuntu Forums hat ein gute Antwort

  1.  Auf der alten Maschine: $ dpkg --get-selections> installed-software     
    • Dadurch wird Ihre Liste der installierten Apps angezeigt
  2.  Auf der neuen Maschine: $ dpkg --set-selections     
    •  Dadurch wird festgelegt, dass der neue Computer die Pakete installiert, die derzeit nicht auf dem neuen Computer installiert sind.
    •  Es könnte interessant sein, zu sehen, ob auf dem neuen Rechner einige Pakete nicht auf dem alten Rechner installiert sind. Sie könnten den Befehl dpkg --get-selections> auf dem neuen Rechner finden und dann diff verwenden, um die Ausgabedateien von beiden zu vergleichen.
     
  3.  Schließlich, auf der neuen Maschine: $ dselect und die Pakete werden installiert.

Einige zusätzliche Links aus der Foren-Diskussion:

  1. Vergiss deine GPG-Schlüssel nicht (aus demselben Thread)
  2. So installieren Sie alle gewünschten Pakete und deinstallieren Sie alle unerwünschten Pakete

2
2018-05-23 21:44





Die besseren dpkg-Befehle können [Originalmaschine] sein

dpkg --get-selections | grep -v deinstall > packages_list

dann bei der Installation [neue Maschine; nach dem Übertragen der packages_list

sudo dpkg --set-selections < packages_list
sudo apt-get -u dselect-upgrade

2
2018-06-05 14:04





Wenn Sie kein CLI-Fan sind (obwohl Sie es wirklich sein sollten), können Sie mit dem Synaptic-Paket-Manager das Image der installierten Pakete speichern und diese Datei (wiederum über Synaptic) zum Laden des neuen Computers verwenden. Unter der Option Datei- / Speichermarkierungen gibt es eine Checkbox namens "save full state".


1
2018-05-28 12:09



Ich denke, das war die Methode, die Cory fand - jbdavid


Warum klimpst du nicht einfach mit der Maschine? dd?


1
2018-05-28 12:32



Diese. Klonen Sie einfach die Maschine und ändern Sie den Namen, es ist bei weitem der schnellste Weg, es zu tun. - pjc50


Es gibt ein Tool namens ReMasterSys, das es für Sie tun kann. sehen http://geekconnection.org/remastersys/

Ich hoffe, das wird nützlich sein.


1
2018-06-25 22:41





Verwenden FSArchiver die Maschinen zu replizieren ist vollkommen akzeptabel. Ansonsten sind hier nützliche Kommandopaare, deren erste Hälfte Sie auch zu Ihrem Backup-Cron hinzufügen können:

debconf-get-selections
debconf-set-selections

~

aptitude-create-state-bundle
aptitude-run-state-bundle --unpack

~

dpkg --get-selections
dpkg --clear-selections; dpkg --set-selections

Orte, die du replizieren solltest, sind / etc und / var. Die obigen Befehle manipulieren direkt einige Dateien in / var und einige confiles in / etc indirekt über debconf. Sie erhalten den gleichen Effekt, indem Sie nur diese Teilbäume replizieren und aptitude ausführen.


1
2018-03-13 11:12