Was ist der einfachste Weg, um eine Desktop-Edition auf eine Server-Edition zu übertragen?

22

Wir haben Ubuntu Desktop Edition auf unserem Entwicklungsserver installiert. Nachdem wir es jetzt in einem Rechenzentrum haben, möchten wir es auf eine Server-Edition reduzieren.

Gibt es eine einfache Möglichkeit, Pakete nicht einfach von Hand zu deinstallieren?

Gabriel Solomon
quelle
2
Neuinstallation ist am besten: Auf der Server-CD sind Kernel-Parameter eingestellt, die auf dem Desktop fehlen (Sie können sie natürlich auch auf dem Desktop herunterladen, aber es ist mehr Arbeit als eine Neuinstallation;))
Rinzwind
Außerdem sollte man x11 cruft auch nachträglich mit sudo apt-get remove x11 * entfernen
Rob K

Antworten:

16

Es ist möglich, es andersherum zu machen, aber ich habe noch nie jemanden gesehen, der dies einfach durch das Installieren eines Metapakets oder Ähnlichem konnte.

Ihre beste Wette ist entweder:

  • eine saubere Installation
  • Manuelles Entfernen nicht benötigter Pakete und Installieren der benötigten Serverkomponenten
Nathan Osman
quelle
1
Eine Neuinstallation ist der richtige Weg, aber wenn Sie Pakete manuell entfernen möchten, führen Sie dpkg --get-selections "*"> ~ / applications.txt aus und löschen Sie das, was Sie nicht benötigen.
basteln
14

Sie können ubuntu-desktopalle verwaisten Abhängigen entfernen und gleichzeitig automatisch entfernen:

sudo apt-get autoremove ubuntu-desktop

Fügen Sie die --purgeOption hinzu, wenn Sie auch die Konfiguration der betroffenen Pakete entfernen möchten (und diese nicht für eine spätere Neuinstallation aufbewahren möchten).

Wenn Sie einen anderen Desktop haben, entfernen Sie diese ebenfalls. Wenn Sie danach neu starten, sollten Sie keine GUI zum Anmelden haben. Wenn Sie ein Programm löschen, anstatt es nur zu entfernen, entfernen Sie auch alle verbleibenden Konfigurationsdateien.

Wie Rinzwind vorschlägt, versuchen Sie es sudo apt-get remove gnome-*.

Vor Ubuntu 16.04 wurde außerdem ein spezielles Kernel-Paket für Serverinstallationen bereitgestellt linux-image-server:

  • sudo apt-get install linux-image-server und neu starten.

Dann schlage ich vor, dass Sie die gewünschten Serveranwendungen installieren ssh-server.


Aber wie immer ist es besser, eine saubere Installation durchzuführen. Es gibt weniger Risiko von Fehlern und beschädigten Paketen.

Alvar
quelle
1
Naja ich habe es entfernt ubuntu-desktop, aber es hat nichts gebracht, da keine Pakete davon abhängen. Ich alle Pakete dann entfernt , die ubuntu-desktopdavon abhängt, was besser funktioniert, aber es bleibt immer noch ein bisschen ein Durcheinander mit Paketen wie unity-common, gedit-commonetc.
Bart van Heukelom
@ BartvanHeukelom gut, hast du purgees oder nur removees? hat die Frage bearbeitet.
Alvar
1
iirc sudo apt-get remove gnome-*würde sich um die meisten Pakete kümmern. Daneben sollte die Einheit aufgehoben werden (aufgrund von Abhängigkeiten). (muss jedoch bestätigt werden, da ich dies nicht tue)
Rinzwind
Ich habe es (aus Versehen) entfernt, nicht gelöscht, aber AFAIK, das sollte in Bezug auf Abhängigkeiten keine Rolle spielen.
Bart van Heukelom
2
Seit 12.04 gibt es keinen Unterschied im Kernel zwischen Ubuntu Desktop und Ubuntu Server, da Linux-Image-Server in Linux-Image-Generic zusammengeführt wird. (von Ubuntu ServerFaq)
Amir Ali Akbari
12

Hinweis: Wie in den Kommentaren angegeben, sollte tasksel nur zum Installieren und nicht zum Entfernen von Aufgaben verwendet werden. In dieser speziellen Aufgabe (Desktop entfernen -> Server installieren) scheint es gut zu funktionieren. Verwenden Sie es also mit Vorsicht.


Sie können tasksel versuchen. Damit können Sie tun, was Sie wollen, indem Sie Basic Ubuntu Server auswählen und Ubuntu Desktop deaktivieren .

sudo apt-get install tasksel

Tasksel-Bildschirm

Salem
quelle
1
Können Sie oder jemand anderes bestätigen, dass dies funktioniert? Sie sagen, versuchen Sie es, aber wenn es funktioniert, ist dies eine gute Antwort.
Dienstag,
1
Auszug aus der Ubuntu Tasksel-Seite: WARNUNG: Verwenden Sie tasksel nur zum Installieren von Aufgaben, niemals zum Entfernen von Aufgaben! Laut launchpad.net/bugs/574287 wird jedes Paket in der Liste dieser Aufgabe entfernt (und möglicherweise Ihr System unbrauchbar gemacht).
Andrejs Cainikovs
Wie oben beschrieben, empfehle ich Ihnen nicht, tasksel in Ihrem Fall zu verwenden.
Andrejs Cainikovs
1
@djeikyb Ich habe dies mit Ubuntu 9.10 und Ubuntu 11.10 versucht und beide funktionieren (WUBI installieren, Desktop entfernen und "Server-Pakete" installieren). In 11.10 gibt es eine kleine Panne: Das System bootet, zeigt aber nicht die Anmeldeaufforderung an.
Salem
@AndrejsCainikovs Ich habe tasksel nur für diese bestimmte Aufgabe verwendet (Desktop entfernen -> Server installieren) und auf den von mir verwendeten Systemen funktioniert es. Ich werde die Antwort aktualisieren
Salem
2

Wenn Sie DM und WM beim Start nicht ausführen möchten, sondern die Möglichkeit behalten möchten, sie nach Belieben auszuführen, können Sie Folgendes ausführen:

sudo systemctl set-default runlevel3.target

dann neu starten.

Das System bootet auf Runlevel 3 (Init 3), wodurch DM und WM und alle anderen mit der Desktop-Umgebung zusammenhängenden Dinge nicht gestartet werden, sondern alles andere. Wenn das System das Terminal tty1 an der Konsole startet, können Sie sich dann anmelden

sudo init 5

Um zur Desktop-Umgebung zu gelangen, melden Sie sich an.

Auf den Ubuntu- und XFCE4-Desktops, die ich mit der GUI-Abmeldetaste testete, hing mein System.
Auf dem Ubuntu-Desktop funktionierten die Schaltflächen zum Herunterfahren und Neustarten einwandfrei. Der xfce4-Desktop verfügt nur über eine Schaltfläche zum Abmelden.

Der sichere Weg, um nur zu tty zurückzukehren, besteht darin, ein Terminal zu öffnen und auszuführen:

sudo init 3
Technopeon
quelle