Quelle est la façon la plus simple de séparer une édition de bureau d'une édition de serveur?

22

Nous avons installé Ubuntu desktop edition sur notre serveur de développement. Maintenant que nous l'avons dans un centre de données, nous aimerions le réduire à une édition serveur.

Existe-t-il un moyen facile de le faire plutôt que de simplement entrer et désinstaller les packages à la main?

Gabriel Solomon
la source
2
La réinstallation est la meilleure: le CD du serveur a des paramètres de noyau définis qui manquent au bureau (vous pouvez aussi les obtenir bien sûr avec le bureau mais c'est plus de travail qu'une réinstallation;))
Rinzwind
En outre, il faut également supprimer x11 cruft avec sudo apt-get remove x11 *
Rob K

Réponses:

16

Il est possible de le faire dans l'autre sens, mais je n'ai jamais vu quelqu'un qui a pu le faire simplement en installant un métapaquet ou quelque chose.

Votre meilleur pari est soit:

  • une installation propre
  • suppression manuelle des packages inutiles et installation des composants serveur dont vous avez besoin
Nathan Osman
la source
1
Une installation propre est le chemin à parcourir, mais si vous souhaitez supprimer manuellement les packages, exécutez dpkg --get-selections "*"> ~ / applications.txt et supprimez ce dont vous savez que vous n'avez pas besoin.
bricoler
14

Vous pouvez supprimer ubuntu-desktopet supprimer automatiquement toutes ses dépendances orphelines:

sudo apt-get autoremove ubuntu-desktop

Ajoutez l' --purgeoption si vous souhaitez également supprimer la configuration des packages concernés (et ne pas la conserver pour une éventuelle réinstallation ultérieure).

Si vous avez un autre bureau, supprimez-les également. si vous redémarrez après cela, vous ne devriez pas avoir d'interface graphique pour vous connecter. Si vous purgez un programme plutôt que de le supprimer, vous supprimez également tous les fichiers de configuration qui peuvent rester.

Comme le suggère Rinzwind, essayez sudo apt-get remove gnome-*.

Avant Ubuntu 16.04 il fournit également un package de noyau spécial pour les installations de serveur linux-image-server:

  • sudo apt-get install linux-image-server et redémarrez.

Ensuite, je vous suggère d'installer les applications serveur que vous souhaitez, comme ssh-server .


Mais comme toujours, il vaut mieux faire une installation propre. Cela donne moins de risques d'erreurs et de paquets cassés.

Alvar
la source
1
Eh bien, j'ai supprimé ubuntu-desktop, mais cela n'a rien fait, car aucun paquet n'en dépend. Je puis enlevé tous les paquets qui ubuntu-desktopdépend, ce qui fonctionne mieux, mais il laisse encore un peu de désordre avec des paquets comme unity-common, gedit-common, etc.
Bart van Heukelom
@BartvanHeukelom bien, vous l'avez purgefait ou tout simplement remove? édité la question.
Alvar
1
iirc sudo apt-get remove gnome-*s'occuperait de la plupart des paquets. L'unité doit être supprimée à côté de cela (cuz de dépendances). (nécessite une confirmation car j'ai tendance à ne pas le faire)
Rinzwind
Je l'ai supprimé (accidentellement), je n'ai pas purgé, mais AFAIK cela ne devrait pas avoir d'importance en ce qui concerne les dépendances.
Bart van Heukelom
2
Depuis le 12.04, il n'y a aucune différence de noyau entre Ubuntu Desktop et Ubuntu Server puisque linux-image-server est fusionné en linux-image-generic. (d'Ubuntu ServerFaq)
Amir Ali Akbari
12

Remarque: comme indiqué dans les commentaires, taskel ne doit être utilisé que pour installer des tâches, pas les supprimer. Dans cette tâche spécifique (supprimer le bureau -> installer le serveur), cela semble fonctionner correctement. Alors utilisez-le avec prudence.


Vous pouvez essayer Tasksel. Avec lui, vous pouvez faire ce que vous voulez en sélectionnant Basic Ubuntu Server et en décochant le bureau Ubuntu .

sudo apt-get install tasksel

écran de tâches

Salem
la source
1
Pouvez-vous ou quelqu'un d'autre confirmer que cela fonctionne? Vous dites essayer, mais si cela fonctionne, c'est une excellente réponse.
djeikyb
1
Extrait de la page Ubuntu Tasksel: AVERTISSEMENT: utilisez tasksel uniquement pour installer des tâches, jamais pour en supprimer! Selon launchpad.net/bugs/574287, il supprimera chaque package de la liste de cette tâche (et rendra éventuellement votre système inutilisable).
Andrejs Cainikovs
Comme ci-dessus, je ne vous recommande pas d'utiliser taskel dans votre cas.
Andrejs Cainikovs
1
@djeikyb j'ai essayé cela avec ubuntu 9.10 et ubuntu 11.10, et les deux fonctionnent (installation wubi, suppression du bureau et installation de "packages serveur"). Dans 11.10, il y a un petit problème: le système démarre mais ne vous montre pas l'invite de connexion.
Salem
@AndrejsCainikovs j'ai uniquement utilisé les tâches avec cette tâche spécifique (supprimer le bureau -> installer le serveur) et dans les systèmes que j'ai utilisés, cela fonctionne. Je mettrai à jour la réponse
Salem
2

Si vous voulez simplement ne pas exécuter les DM et WM au démarrage mais garder la possibilité de les exécuter à volonté, vous pouvez exécuter:

sudo systemctl set-default runlevel3.target

puis redémarrez.

Le système démarrera au niveau d'exécution 3 (init 3) qui ne démarre pas les DM et WM et toutes les autres choses liées à l'environnement de bureau, mais démarre tout le reste. Lorsque le système démarre dans le terminal tty1 de la console, vous pouvez vous connecter, puis

sudo init 5

pour accéder à la connexion à l'environnement de bureau.

Sur les bureaux ubuntu et xfce4 que je testais avec le bouton de déconnexion de l'interface graphique, mon système était suspendu.
Sur le bureau ubuntu, les boutons de mise hors tension et de redémarrage ont bien fonctionné; le bureau xfce4 ne dispose que d'un bouton de déconnexion.

Le moyen sûr de revenir à tty uniquement est d'ouvrir un terminal et d'exécuter:

sudo init 3
Technopeon
la source