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.linux
fourni ci-après dans le répertoire/etc/sambaedu/applications/progs/
.script
startup.linux
pour installer les logiciel freecad, scratch et mLink.⚓1# Installation de programmes
2# Préalable :
3# freecad → dans les dépôts debian
4# scratch → version vintage dans les dépôts debian
5# → version desktop
6# voir le site https://github.com/redshaderobotics/scratch3.0-linux/releases
7# l'archive https://github.com/redshaderobotics/scratch3.0-linux/releases/download/3.3.0/scratch-desktop_3.3.0_amd64.deb
8# est à mettre dans le répertoire /var/sambaedu/unattended/install/clinux/fichiers/scratch/ du se4fs
9# sur les clinux, il est accessible par /opt/install/clinux/divers/fichiers/scratch/
10# mLink → pour la version web de mblock
11# 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.deb
13# est à mettre dans le répertoire /var/sambaedu/unattended/install/clinux/fichiers/mblock/ du se4fs
14# sur les clinux, il est accessible par /opt/install/clinux/divers/fichiers/mblock/
15# version du 20220221
1617ladate="$(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 se4fs
33# 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 chaquefois
40if [ ! -e "/root/temoins" ]
41then
42# il n'existe pas : on le crée
43mkdir -p /root/temoins
44# on pose un témoin de création
45echo "${texte_temoin_creation}" > ${temoin}
46echo "${texte_temoin_passage}" >> ${temoin}
47else
48# il existe : on pose un témoin de passage
49echo "${texte_temoin_passage}" > ${temoin}
50fi
51}
5253test_version()
54{
55# tester si on est sur la bonne version de Debian
56if [ "$NOMCODE" != "$version" ]
57then
58echo "on n'est pas sur une Debian/$version !" >> ${temoin}
59else
60echo "on est sur une Debian/$version" >> ${temoin}
61fi
62}
6364recharger_paquets()
65{
66# on recharge la liste des paquets
67apt-get update
68if [ "$?" != "0" ]
69then
70echo "le rechargement de la liste des paquets ne s'est pas fait correctement" >> ${temoin}
71else
72echo "on a rechargé la liste des paquets" >> ${temoin}
73fi
74}
7576installer_freecad()
77{
78# Installation du logiciel freecad du dépôt Debian
79apt-get -y install freecad
80if [ "$?" != "0" ]
81then
82echo "l'installation de freecad ne s'est pas faite correctement" >> ${temoin}
83else
84echo "on a installé freecad" >> ${temoin}
85fi
86}
8788installer_scratch()
89{
90# Installation du logiciel scratch version 1.4 du dépôt Debian
91apt-get -y install scratch
92if [ "$?" != "0" ]
93then
94echo "l'installation de scratch 1.4 ne s'est pas faite correctement" >> ${temoin}
95else
96echo "on a installé scratch 1.4" >> ${temoin}
97fi
98# Installation de la version desktop
99# on teste si l'archive est en place (voir le préalable)
100if [ -e /opt/install/clinux/fichiers/scratch/ ]
101then
102# On installe scratch-desktop sur le clinux
103dpkg -i /opt/install/clinux/fichiers/scratch/${archive_scratch}.deb
104if [ "$?" != "0" ]
105then
106echo "l'installation de ${version_desktop} ne s'est pas faite correctement" >> ${temoin}
107else
108echo "on a installé ${version_desktop}" >> ${temoin}
109fi
110else
111echo "le répertoire /opt/install/clinux/fichiers/scratch/ n'est pas en place" >> ${temoin}
112fi
113}
114115installer_mlink()
116{
117# Installation de mLink
118# on teste si l'archive est en place (voir le préalable)
119if [ -e /opt/install/clinux/fichiers/mblock/ ]
120then
121# On installe mlink sur le clinux
122dpkg -i /opt/install/clinux/fichiers/mblock/${archive_mlink}.deb
123if [ "$?" != "0" ]
124then
125echo "l'installation de ${version_mLink} ne s'est pas faite correctement" >> ${temoin}
126else
127echo "on a installé ${version_mLink}" >> ${temoin}
128fi
129else
130echo "le répertoire /opt/install/clinux/fichiers/mblock/ n'est pas en place" >> ${temoin}
131fi
132}
133134# Programme
135tester_se4
136repertoire_root_temoins
137# test_version
138if [ "$NOMCODE" = "$version" ]
139then
140echo "on est sur une Debian/$version" >> ${temoin}
141recharger_paquets
142installer_freecad
143installer_scratch
144installer_mlink
145else
146echo "on n'est pas sur une Debian/$version !" >> ${temoin}
147fi
Télécharger l'archive
scratch-desktop_3.3.0_amd64.deb
Cré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.deb
Cré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.