Installer et désinstaller des logiciels (méthode obsolète)
Dans cette section est proposée une procédure d'installation des logiciels sur les Clients Linux qui repose sur des scripts lancés sur les clinux à chaque démarrage.
Remarque
Cette procédure ne freine pas l'ouverture de session car le script se déroule en arrière plan. Elle garantie une ouverture de session optimale.
Conseil
Ci-dessous est donné en exemple l'installation des logiciels freecad, scratch et mLink dont les paquets sont soit disponibles dans les dépôts debian ou à télécharger depuis les sites des développeurs de ces logiciels.
Pour la structure de vos scripts, vous pouvez vous inspirer du script ci-dessous qui sert d'exemple. Quelques commentaires de ce script vous donneront les indications nécessaires.
Procédure
Se connecter sur le SE4FS en root
Créer le répertoire
/etc/sambaedu/applications/progs/.La commande pour créer ce répertoire progs est la suivante :
mkdir -p /etc/sambaedu/applications/progs/
Déposer le script
startup.linuxfourni ci-après dans le répertoire/etc/sambaedu/applications/progs/.script
startup.linuxpour installer les logiciel freecad, scratch et mLink.⚓1# Installation de programmes2# Préalable :3# freecad → dans les dépôts debian4# scratch → version vintage dans les dépôts debian5# → version desktop6# voir le site https://github.com/redshaderobotics/scratch3.0-linux/releases7# l'archive https://github.com/redshaderobotics/scratch3.0-linux/releases/download/3.3.0/scratch-desktop_3.3.0_amd64.deb8# est à mettre dans le répertoire /var/sambaedu/unattended/install/clinux/fichiers/scratch/ du se4fs9# sur les clinux, il est accessible par /opt/install/clinux/divers/fichiers/scratch/10# mLink → pour la version web de mblock11# voir le site https://mblock.makeblock.com/en-us/download/mlink/12# l'archive https://dl.makeblock.com/mblock5/linux/mLink-1.2.0-amd64.deb13# est à mettre dans le répertoire /var/sambaedu/unattended/install/clinux/fichiers/mblock/ du se4fs14# sur les clinux, il est accessible par /opt/install/clinux/divers/fichiers/mblock/15# version du 202202211617ladate="$(date +%Y_%m_%d_%Hh%Mmin%Ss)"
18texte_temoin_creation="création du répertoire /root/temoins le ${ladate}"
19texte_temoin_passage="on a utilisé startup.linux pour installer des programmes le ${ladate}"
20temoin=/root/temoins/temoin.freecad
21DEPOT_debian="deb.debian.org"
22NOMCODE=$(lsb_release --codename | cut -f2)
23version="bullseye"
24DEPOT_sambaedu="deb.sambaedu.org"
25archive_scratch="scratch-desktop_3.3.0_amd64"
26version_desktop="scratch desktop 3.3.0"
27archive_mlink="mLink-1.2.0-amd64"
28version_mlink="mLink-1.2.0"
2930tester_se4()
31{32# pour éviter de lancer le script sur le se4fs33# On rend le script "crétin-résistant"34[ -e /var/sambaedu/clinux ] && echo "Malheureux... Ce script est à exécuter sur les clients-Linux, pas sur le serveur !" && exit 1
35}
3637repertoire_root_temoins()
38{39# le répertoire /root/temoins servira éventuellement pour un script unefois ou chaquefois40if [ ! -e "/root/temoins" ]
41then42# il n'existe pas : on le crée43mkdir -p /root/temoins
44# on pose un témoin de création45echo "${texte_temoin_creation}" > ${temoin}
46echo "${texte_temoin_passage}" >> ${temoin}
47else48# il existe : on pose un témoin de passage49echo "${texte_temoin_passage}" > ${temoin}
50fi51}
5253test_version()
54{55# tester si on est sur la bonne version de Debian56if [ "$NOMCODE" != "$version" ]
57then58echo "on n'est pas sur une Debian/$version !" >> ${temoin}
59else60echo "on est sur une Debian/$version" >> ${temoin}
61fi62}
6364recharger_paquets()
65{66# on recharge la liste des paquets67apt-get update
68if [ "$?" != "0" ]
69then70echo "le rechargement de la liste des paquets ne s'est pas fait correctement" >> ${temoin}
71else72echo "on a rechargé la liste des paquets" >> ${temoin}
73fi74}
7576installer_freecad()
77{78# Installation du logiciel freecad du dépôt Debian79apt-get -y install freecad80if [ "$?" != "0" ]
81then82echo "l'installation de freecad ne s'est pas faite correctement" >> ${temoin}
83else84echo "on a installé freecad" >> ${temoin}
85fi86}
8788installer_scratch()
89{90# Installation du logiciel scratch version 1.4 du dépôt Debian91apt-get -y install scratch92if [ "$?" != "0" ]
93then94echo "l'installation de scratch 1.4 ne s'est pas faite correctement" >> ${temoin}
95else96echo "on a installé scratch 1.4" >> ${temoin}
97fi98# Installation de la version desktop99# on teste si l'archive est en place (voir le préalable)100if [ -e /opt/install/clinux/fichiers/scratch/ ]
101then102# On installe scratch-desktop sur le clinux103dpkg -i /opt/install/clinux/fichiers/scratch/${archive_scratch}.deb
104if [ "$?" != "0" ]
105then106echo "l'installation de ${version_desktop} ne s'est pas faite correctement" >> ${temoin}
107else108echo "on a installé ${version_desktop}" >> ${temoin}
109fi110else111echo "le répertoire /opt/install/clinux/fichiers/scratch/ n'est pas en place" >> ${temoin}
112fi113}
114115installer_mlink()
116{117# Installation de mLink118# on teste si l'archive est en place (voir le préalable)119if [ -e /opt/install/clinux/fichiers/mblock/ ]
120then121# On installe mlink sur le clinux122dpkg -i /opt/install/clinux/fichiers/mblock/${archive_mlink}.deb
123if [ "$?" != "0" ]
124then125echo "l'installation de ${version_mLink} ne s'est pas faite correctement" >> ${temoin}
126else127echo "on a installé ${version_mLink}" >> ${temoin}
128fi129else130echo "le répertoire /opt/install/clinux/fichiers/mblock/ n'est pas en place" >> ${temoin}
131fi132}
133134# Programme135tester_se4
136repertoire_root_temoins
137# test_version138if [ "$NOMCODE" = "$version" ]
139then140echo "on est sur une Debian/$version" >> ${temoin}
141recharger_paquets
142installer_freecad
143installer_scratch
144installer_mlink
145else146echo "on n'est pas sur une Debian/$version !" >> ${temoin}
147fiTélécharger l'archive
scratch-desktop_3.3.0_amd64.debCréez le répertoire
/var/sambaedu/unattended/install/clinux/fichiers/scratch/sur le se4fs :mkdir -p /var/sambaedu/unattended/install/clinux/fichiers/scratch/
Lancez la commande suivante pour télécharger et mettre l'archive dans le répertoire
/var/sambaedu/unattended/install/clinux/fichiers/scratch/du se4fswget -P /var/sambaedu/unattended/install/clinux/fichiers/scratch https://github.com/redshaderobotics/scratch3.0-linux/releases/download/3.3.0/scratch-desktop_3.3.0_amd64.deb
Télécharger l'archive
mLink-1.2.0-amd64.debCréez le répertoire
/var/sambaedu/unattended/install/clinux/fichiers/mblock/sur le se4fs :mkdir -p /var/sambaedu/unattended/install/clinux/fichiers/mblock/
Lancez la commande suivante pour télécharger et mettre l'archive dans le répertoire
/var/sambaedu/unattended/install/clinux/fichiers/mblock/du se4fswget -P /var/sambaedu/unattended/install/clinux/fichiers/mblock https://dl.makeblock.com/mblock5/linux/mLink-1.2.0-amd64.deb
- Résultat
Et c'est tout ! Les logiciels freecad, scratch et mLink seront installés lors du (re-)démarrage de l'ensemble des clinux.
Conseil
Pour désinstaller un logiciel, il suffit de modifier le script en remplaçant la commande d'installation par une commande de désinstallation.