LINUX:Workstation ou Server

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour au menu Divers


But

Classiquement lors de l'installation, on a le choix entre les types de versions Workstation ou Server. Il existe d'autres déclinaisons. Nous abordons ici le problème pour des ordinateurs classiques: desktop ou portable. Nous laissons de côté d'autres aspects tels Cloud et téléphone.

  • Une Workstation est orientée vers une utilisation locale de type bureautique par exemple par un seul utilisateur à la fois, ce qui nécessite divers périphériques tels un écran, un claver, une souris,... L'OS est utilisé au travers d'un système de fenêtrage. Les ressources sont utilisées exclusivement par l'utilisateur travaillant directement sur la machine.
  • Un Server est orienté vers les services donnés à un ensemble d'utilisateurs ordinairement au travers du réseau. Dès lors les périphériques tels écran, clavier, souris sont inutiles en dehors éventuellement de la phase d'installation initiale. Les ressources sont utilisées au travers des services à un ensemble d'utilisateurs distants. On ne l'utilise jamais comme on le ferait avec une Workstation.

Ces descriptions sont un peu caricaturales mais il est important de les avoir à l'esprit surtout quand on travaille en entreprise et de s'y tenir.


Microsoft Windows

Microsoft offre diverses versions de son OS. On y retrouve ces deux types qui évoluent au cours du temps en changeant progressivement de numéro de version. Il propose divers niveaux: station de travail familiale, station de travail professionnelle, serveur,... Il faut bien choisir ce niveau en fonction de son utilisation. Il est important de savoir qu'il n'est pas possible de passer de l'un à l'autre sans une réinstallation complète. Le prix aussi augmente avec le niveau. Chaque niveau comprennent un ensemble de fonctionnalisées plus ou moins bridées. Par exemple, sur la version professionnelle, il est possible d'installer des services propres aux serveurs mais vous serez limités du côté du nombre de clients distants.


Linux

Avec Linux, vous choisissez un média d'installation (Workstation, Server,...). Mais il existe bon nombre d'autres choix; il existe des médias d'installation en fonction de centres d'intérêts: astronomie, jeux, sécurité, robotique,...

A la différence de Microsoft Windows, une distribution rassemble des milliers de logiciels qui ont été testés afin de cohabiter. A ces dépôts de paquets de base, il est possible d'en ajouter d'autres tels ceux de Remi, Wazuh,... comme rencontrés dans nos articles. Il est donc possible d'ajouter ou de supprimer tout logiciel sans restrictions. Il n'y a pas réellement de niveaux tels Workstation ou Server. On peut très bien effectuer une installation à partir d'un média dédié aux Workstations et ensuite la transformer en un serveur. Un média d'installation n'est là que pour vous faciliter la tâche en installant un ensemble de logiciels, de fonctionnalités pour être directement opérationnel.


Quelques pistes pour passer du type Workstation à Server

Par exemple, on peut passer d'un niveau Workstation à celui de Server.


Un serveur n'a pas besoin d'un système de fenêtrage; il ne vous aidera pas beaucoup et il utilise des ressources gourmandes non nécessaires en production.


Historiquement Unix a plusieurs niveaux de fonctionnement de 0 à 6. Le niveau 3 est dédiés à un système multi-utilisateur en mode ligne de commande tandis que le niveau 5 y ajoute le système de fenêtrage. Avec Systemd, il suffit de transformer la cible de démarrage par défaut "/etc/systemd/system/default.target". Initialement pour le niveau Workstation, il pointe vers le fichier "/usr/lib/systemd/system/graphical.target" ou "/usr/lib/systemd/system/runlevel5.target". On transforme ce lien vers le fichier "/usr/lib/systemd/system/multi-user.target" ou "/usr/lib/systemd/system/runlevel3.target":

ln -sf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target

On peut aussi exécuter la commande:

systemctl set-default multi-user.target

et on redémarre.


Dès lors on peut désinstaller le système de fenêtrage tel Gnome qui est installé par défaut sauf si vous avez fait le choix d'autres gestionnaires de fenêtrage auquel cas on élimine ces gestionnaires de fenêtrage. En effet, au contraire de Microsoft Windows qui n'en dispose que d'un, Linux permet d'installer plusieurs gestionnaires de fenêtrage au choix. On peut passer de l'un à l'autre facilement par utilisateur.

Si on laisse ces gestionnaires de fenêtrage, il est encore possible de les utiliser soit à distance au travers du service TigerVNC ou sur la console en lançant la commande:

startx


Les applications purement bureautiques peuvent aussi être enlevées telles LibreOffice ou Firefox. On peut installer ou désinstaller les paquets individuellement. Il faut faire attention à leurs dépendances pour ne pas éliminer des fonctionnalités encore nécessaires.


Notons qu'un paquet installé normalement ne gène pas mais pour une question de sécurité contre le piratage, il est recommandé de désinstaller tout logiciel non utilisé.


Mais il existe des groupements de logiciels selon des thèmes. Pour avoir cette liste, utilisez ces commandes:

  • pour la liste des groupes disponibles mais non installés:
dnf group list --available 
  • pour la liste des groupes installés:
dnf group list --installed 

Vous y retrouverez les groupes:

  • "Fedora Workstation" pour le type Workstation
  • "Édition Fedora Server" pour le type Server

D'autres groupes rassemblent des ensembles de paquets selon le thème désiré tels:

  • "Serveur Web"
  • "GNOME"


La commande:

dnf group list

donne la liste des groupes visibles lors de l'installation; c'est parmi ces groupes que l'on peut faire son choix.

De même la commande:

dnf group list -v --hidden

donne plus de groupes:


Groupes d’environnements disponibles :
  Système d’exploitation Fedora personnalisé (custom-environment)
  Installation minimale (minimal-environment)
  Fedora Workstation (workstation-product-environment)
  Fedora Cloud Server (cloud-server-environment)
  KDE Plasma Workspaces (kde-desktop-environment)
  Bureau Xfce (xfce-desktop-environment)
  Phosh Desktop (phosh-desktop-environment)
  Bureau LXDE (lxde-desktop-environment)
  Bureau LXQt (lxqt-desktop-environment)
  Bureau Cinnamon (cinnamon-desktop-environment)
  Bureau MATE (mate-desktop-environment)
  Environnement de bureau Sugar (sugar-desktop-environment)
  Environnement Deepin (deepin-desktop-environment)
  Budgie Desktop (budgie-desktop-environment)
  Station de travail de développement et de création (developer-workstation-environment)
  Serveur Web (web-server-environment)
  Serveur d’infrastructure (infrastructure-server-environment)
  Environnement de bureau standard (basic-desktop-environment)
  i3 desktop (i3-desktop-environment)
  Sway Desktop (sway-desktop-environment)
Groupes d’environnements installés :
  Édition Fedora Server (server-product-environment)
Groupes installés :
  Gestion Headless (systèmes n’étant pas reliés directement à un écran, un clavier ou une souris) (headless-management)
  Sous-modules courants de NetworkManager (networkmanager-submodules)
  Cœur du produit Fedora Server (server-product)
  Standard (standard)
  Core (core)
  Prise en charge du matériel (hardware-support)
Groupes disponibles :
  Impression 3D (3d-printing)
  Outils d’administration (admin-tools)
  Outils Anaconda (anaconda-tools)
  Production audio (audio)
  Création et édition (authoring-and-publishing)
  base-x (base-x)
  Environnement de bureau standard (basic-desktop)
  Budgie (budgie-desktop)
  Budgie Desktop Applications (budgie-desktop-apps)
  Groupe de construction de l’environnement de compilation (buildsys-build)
  Outils de développement et bibliothèques pour C (c-development)
  Cinnamon (cinnamon-desktop)
  Bootloader tools for Cloud images (cloud-bootloader-tools)
  Infrastructure pour l’informatique en nuage (cloud-infrastructure)
  Outils de gestion de Cloud (cloud-management)
  Outils serveurs Cloud (cloud-server)
  Compiz (compiz)
  Gestion des conteneurs (container-management)
  Critical Path (anaconda) (critical-path-anaconda)
  Critical Path (Applications) (critical-path-apps)
  Critical Path (base) (critical-path-base)
  Critical Path (Build) (critical-path-build)
  Critical Path (Compose) (critical-path-compose)
  Critical Path (Environnement de bureau Deepin) (critical-path-deepin-desktop)
  Critical Path (GNOME) (critical-path-gnome)
  Critical Path (KDE) (critical-path-kde)
  Critical Path (LXDE) (critical-path-lxde)
  Critical Path (LXQt) (critical-path-lxqt)
  Critical Path (Server) (critical-path-server)
  Critical Path (standard) (critical-path-standard)
  Critical Path (Xfce) (critical-path-xfce)
  Outils de développement et bibliothèques pour D (d-development)
  Applications Deepin (deepin-desktop-apps)
  Paquets multimédias pour l’environnement de bureau Deepin (deepin-desktop-media)
  Bureautique Deepin (deepin-desktop-office)
  Design suite (design-suite)
  Bibliothèques de développement (development-libs)
  Outils de développement (development-tools)
  Prise en charge de l’accès au réseau par connexion téléphonique (dial-up)
  Serveur d’annuaire (directory-server)
  Serveur de nom DNS (dns-server)
  Système de certificat dogtag (dogtag)
  Adhésion aux domaines (domain-client)
  Éditeurs (editors)
  Logiciel éducatif (education)
  Labo d’électronique (electronic-lab)
  Ingénierie et scientifique (engineering-and-scientific)
  Enlightenment (enlightenment-desktop)
  Empaqueteur Fedora (fedora-packager)
  Navigateur Web Firefox (firefox)
  Création et empaquetage de polices de caractères (font-design)
  Serveur FreeIPA (freeipa-server)
  Serveur FTP (ftp-server)
  Jeux additionnels pour le bureau GNOME (gnome-games)
  Développement de logiciel GNOME (gnome-software-development)
  Graphismes (graphics)
  Agents invités (guest-agents)
  Agents invités d’environnement de bureau (guest-desktop-agents)
  Haute disponibilité (ha)
  HAProxy (haproxy)
  Haskell (haskell)
  i3 window manager (i3)
  i3 window manager (supplemental packages) (i3-extended)
  Méthodes de saisie (input-methods)
  Java (java)
  Développement Java (java-development)
  Serveur d’application Java (javaenterprise)
  Applications KDE (kde-apps)
  Applications éducatives KDE (kde-education)
  Prise en charge multimédia KDE (kde-media)
  KDE Office (kde-office)
  Développement de logiciel KDE (kde-software-development)
  KDE Telepathy (kde-telepathy)
  Développement logiciel KDE Frameworks 5 (kf5-software-development)
  Anciennes polices de caractères (legacy-fonts)
  Serveur de réseau hérité (legacy-network-server)
  LibreOffice (libreoffice)
  Développement de LibreOffice (libreoffice-development)
  Répartiteur de charge (load-balancer)
  Applications pour le bureau LXDE (lxde-apps)
  LXDE (lxde-desktop)
  Prise en charge multimédia pour LXDE (lxde-media)
  Applications bureautiques LXDE (lxde-office)
  Applications pour le bureau LXQt (lxqt-apps)
  LXQt (lxqt-desktop)
  Traductions de LXQt (lxqt-l10n)
  Prise en charge multimédia pour LXQt (lxqt-media)
  Applications bureautiques LXQt (lxqt-office)
  Serveur de messagerie (mail-server)
  Applications MATE (mate-applications)
  MATE (mate-desktop)
  Milkymist (milkymist)
  Compilateur croisé MinGW (mingw32)
  MongoDB (mongodb)
  Base de données MariaDB (MySQL) (mysql)
  Serveurs de réseau (network-server)
  Simulateurs de modélisation des neurones (neuron-modelling-simulators)
  Serveur de news (news-server)
  OCaml (ocaml)
  Bureautique/Productivité (office)
  Développement Perl (perl)
  Perl pour le Web (perl-web)
  Une environnement pour les téléphones/tablettes (phosh-desktop)
  PHP (php)
  Prise en charge de la plateforme VMware (platform-vmware)
  Prise en charge de l’impression (printing)
  Salle de classe Python (python-classroom)
  Science Python (python-science)
  Robotique (robotics-suite)
  Outils de développement RPM (rpm-development-tools)
  Ruby (ruby)
  Ruby on Rails (rubyonrails)
  Laboratoire de sécurité (security-lab)
  Outils de configuration de serveurs (server-cfg)
  Prise en charge du matériel pour les systèmes serveur (server-hardware-support)
  Serveur de fichiers Windows (smb-server)
  Base de données PostgreSQL (sql-server)
  Activités additionnelles pour Sugar (sugar-apps)
  Environnement de bureau Sugar (sugar-desktop)
  Sway Window Manager (swaywm)
  Sway Window Manager (supplemental packages) (swaywm-extended)
  Internet basé sur du texte (text-internet)
  Tomcat (tomcat)
  Vagrant avec le support de libvirt (vagrant)
  Virtualisation (virtualization)
  Virtualisation Headless (virtualization-headless)
  Serveur Web de base (web-server)
  Gestionnaire de fenêtres (window-managers)
  Prise en charge d’ostree dans Fedora Workstation (workstation-ostree-support)
  Cœur du produit Fedora Workstation (workstation-product)
  Développement du logiciel X (x-software-development)
  Applications pour le bureau Xfce (xfce-apps)
  Xfce (xfce-desktop)
  Greffons supplémentaires pour le tableau de bord Xfce (xfce-extra-plugins)
  Prise en charge multimédia pour Xfce (xfce-media)
  Applications bureautiques Xfce (xfce-office)
  Développement logiciel Xfce (xfce-software-development)
  XMonad (xmonad)
  XMonad pour MATE (xmonad-mate)
  Environnement de bureau Deepin (deepin-desktop)
  GNOME (gnome-desktop)
  Internet graphique (graphical-internet)
  KDE (kde-desktop)
  Multimédia (multimedia)
  Polices de caractères (fonts)
  Jeux et divertissements (games)
  Son et vidéo (sound-and-video)
  Outils système (system-tools)


On peut donc utiliser les commandes suivantes pour dégrossir le passage du niveau Workstation à Server:

dnf group install "Édition Fedora Server"
dnf group remove "Fedora Workstation"

Il ne faut pas oublier que l'installation d'un groupe inclut aussi d'autres groupes en dépendance qu'on peut également éliminer. Pour connaitre les groupes dépendants, utilisez les commandes suivantes:

dnf group info "Fedora Workstation"
dnf group info "Édition Fedora Server"

Par exemple, la première commande affiche:


Groupe d’environnement : Fedora Workstation
 Description : Un système de bureau accueillant pour les ordinateurs portables et fixes.
 Groupes obligatoires :
   Common NetworkManager Submodules
   Container Management
   Core
   Fedora Workstation product core
   Firefox Web Browser
   Fonts
   GNOME Desktop Environment
   Guest Desktop Agents
   Hardware Support
   LibreOffice
   Multimedia
   Printing Support
   base-x

Et la seconde:


Groupe d’environnement : Édition Fedora Server
 Description : Un serveur intégré, plus facile à gérer.
 Groupes obligatoires :
   Common NetworkManager Submodules
   Core
   Fedora Server product core
   Hardware Support
   Headless Management
   Standard
 Groupes optionnels :
   Container Management
   Domain Membership
   Guest Agents
   Hardware Support for Server Systems

Bien sûr, il ne faut pas éliminer les groupes communs. Il faut un peu de bon sens.

On complète l'installation par les groupes ou logiciels désirés.


Ces procédures ne transforment pas tout. Par exemple:

  • Quand on veut accéder à l'interface Cockpit, l'intitulé affiche encore le titre "Workstation Edition". On peut y remédier en éditant en mode texte, le fichier "/usr/lib/os-release" ou son lien "/etc/os-release". On y remplace les termes "Workstation" (ou "workstation") par le mot "Server" (ou "server").
  • Si on utilise Firewalld, sa configuration par défaut "/etc/firewalld/firewalld.conf" pointe vers le fichier "/etc/firewalld/firewalld-workstation.conf". On la change en pointant le lien vers le fichier "/etc/firewalld/firewalld-server.conf".
ln -sf /etc/firewalld/firewalld-server.conf /etc/firewalld/firewalld.conf


Les commandes suivantes permettent se passer de la release Wokstation à la release Server:

dnf swap fedora-release-identity-workstation fedora-release-identity-server
dnf install fedora-release-server
dnf remove fedora-release-workstation
dnf remove fedora-workstation-repositories
dnf upgrade




retour au menu Divers