====== - Installation et configuration d'un ordinateur ======
Cette page décrit la procédure d'installation et de configuration d'un ordinateur du laboratoire (ou de votre ordinateur personnel pour disposer de la même configuration que celle des ordinateurs du laboratoire). L'ancienne version de cette page est accessible [[.:archives:accueil|ici]].
* [[#tab-base|base]]
* [[#tab-os|système d'exploitation]]
* [[#tab-reseau|configuration réseau]]
* [[#tab-logi|configuration logicielle]]
* [[#tab-divers|divers]]
Remarques pour **Mint 22** :
* ''chromium-browser'' devient ''chromium''
* le paquet ''libwxbase3.0-dev'' semble avoir disparu
Scripts principaux :
* **Mint 22** :
- [[ressources/linux/utilisation/base/installation/accueil#tab-os|installation du système d'exploitation]]
- script réseau
- script logiciel
- script sécurité Poly
* **Mint 21** / **Mint 21.1** :
- [[ressources/linux/utilisation/base/installation/accueil#tab-os|installation du système d'exploitation]]
- script réseau [[ressources/linux/utilisation/base/installation/accueil#tab-reseau|configuration réseau]] (ordinateurs du laboratoire uniquement)
- script logiciel [[ressources/linux/utilisation/base/installation/accueil#tab-logi|configuration logicielle]]
- script sécurité Poly
Scripts correctifs / supplémentaires :
* **Mint 21.1** :
* configuration rdesktop
* installation singularity
* **Mint 21** :
* configuration webcam c920
* configuration audio
* correctif singularity
===== Fonctionnalités de base =====
Liste des fonctionnalités de base à valider avant la mise en opération d'une nouvelle version de Linux Mint :
* connexion NIS / LDAP
* connexion audio (micro)
* permissions vidéo
* accès rdesktop
* accès rdesktop simultané (session locale + rdesktop)
===== Installation du système d'exploitation =====
==== Préparation du medium d'installation ====
Le système d'exploitation est installé à partir d'une clé USB sur laquelle est déposée une image .iso (disponible [[https://www.linuxmint.com/download.php|ici]]). Un périphérique USB peut être rendu //bootable// grâce à l'utilisation des logiciels
USB Stick Formatter
et
USB Image Writer
disponibles par défaut sous Linux Mint.
==== Installation du système d'exploitation ====
Les paramètres d'installation utilisés sont ceux par défaut, **sans installation des logiciels tiers**, avec un clavier canadien multilingue. Le fuseau horaire est choisi en renseignant dans le champ de la ville ''Mont-real'' car Mint ne semble pas connaître Montréal... Notez que pour pouvoir avoir accès à la sélection de ''Mont-real'', il faut être connecté à internet.
Sur un ordinateur portable, je vous recommande de choisir l'option de cryptage du disque dur (incluant l'espace libre).
=== En cas de pépin ===
* pour lancer en ligne de commande l'installation de Mint depuis un disque boot:
ubiquity
* pour afficher depuis un terminal la fenêtre de paramètres Mint:
cinnamon-settings
==== Mot de passe root ====
Pour créer un mot de passe pour l'utilisateur ''root'', il faut exécuter, depuis un compte utilisateur classique:
sudo -i
puis:
passwd
===== Configuration réseau =====
La configuration réseau n'est requise que pour les ordinateurs du laboratoire, vous devez passer directement à la section de [[ressources/linux/utilisation/base/installation/accueil#configuration_logicielle|configuration logicielle]] pour un ordinateur personnel.
==== Ordinateur client ====
toutes les opérations de cette section sont scriptées ici\\
En tant que ''root'' :
- installer les paquets requis:
apt-get -y install autofs portmap nis
Le nom du serveur à renseigner est ''me2''
Si aucun écran n'est apparu vous demandant le nom du serveur nis, il faut créer un fichier manuellement:
nano /etc/defaultdomain
et écrire
me2
-> ctrl + x
-> y
-> entrée
- éditer le fichier yp.conf :
nano /etc/yp.conf
et y ajouter
domain me2 server 132.207.39.99
- éditer le fichier nsswitch.conf:
nano /etc/nsswitch.conf
modifier les lignes:
-> passwd : compat nis
-> group : compat nis
-> shadow : compat nis
et ajouter à la fin de ce fichier:
automount: nis
- arrêter manuellement quelques services:
service autofs stop
service ypbind stop
service portmap stop
- apporter un correctif spécifique à Ubuntu pour permettre au PC de démarrer correctement:
systemctl add-wants multi-user.target rpcbind.service
- redémarrer les services éteints:
service portmap start
service ypbind start
service autofs start
systemctl enable ypbind
systemctl enable autofs
À ce stade, en se déplaçant dans /apps/hephaistos/
on doit voir les répertoires du serveur.
Pour les nouveaux PC, ou lorsque le lieu de connexion du PC a changé, envoyer l'adresse MAC de la machine à notre analyste réseau ''mec-informatique@polymtl.ca'' pour l'inscription DNS:
ifconfig
==== Serveur (pour un nouveau PC uniquement) ====
Aucune connexion d'une nouvelle machine n'est possible si le fichier /etc/exports
d'Hephaïstos n'a pas été modifié en y ajoutant le nom réseau du nouveau PC installé. Il faudra ensuite exécuter la commande:
exportfs -r
pour que le nouveau PC puisse se connecter.
===== Configuration logicielle =====
la configuration logicielle de base est scriptée ici\\
La commande de base à exécuter est:
apt-get -y install gedit geany geany-plugin* meld fail2ban cifs-utils nfs-common libwx-perl libwxbase3.0-dev libboost-dev libuser apache2 fail2ban htop filezilla rsync members nfs-common sshpass git gfortran gcc g++ libreoffice imagemagick emacs gummi liblapack-dev libarpack2-dev texlive-full inkscape gitg thunar giggle lyx csh nemo sshpass ssh clusterssh gitk blender kwrite gimp guake guake-indicator evince gedit libboost-dev libblas-dev liblapack-dev libboost-dev libblas-dev liblapack-dev okular rdesktop biber screen jabref myspell-fr-gut pdfgrep pdftk-java texstudio pdftk xournal freerdp2-x11 gscan2pdf gnome-terminal cheese
Pour un ordinateur personnel, ajouter les composants:
* [[https://zoom.us/download?os=linux|zoom]]
* [[https://cas.polymtl.ca/cas/login?service=https%3A%2F%2Fwww.polymtl.ca%2Fsi%2Facces-securise-rvp-ou-vpn|vpn poly]]
* imprimante
* [[https://www.synology.com/en-ca/support/download/DS220+?version=7.2#utilities|synology drive client]]
* [[https://www.webex.com/downloads.html|application Webex]]
* ...
Et éventuellement le ''mount'' d'un disque local (le plus simple est d'utiliser l'utilitaire ''disks'' de Mint après installation), en tant que ''root'' :
mkdir /local
mount /dev/sda2 /local
- Le service ''logind'' sous Mint semble causer un ralentissement de la connexion au serveur d'authentification (incompatibilité avec NIS probablement). Il est présentement expérimenté de désactiver ce service (coros-02, crs-0x, coros-01):systemctl mask systemd-logind.service
Il est déconseillé de désactiver ce service sur une machine qui ne serait pas connectée au réseau du laboratoire.
- Il faut créer le lien symbolique suivant:sudo ln -s /usr/lib/x86_64-linux-gnu/libffi.so.7 /usr/lib/x86_64-linux-gnu/libffi.so.6
Ce dernier lien est requis pour la bonne utilisation du code ''opti_aubes'' (les instructions MatPlotLib qu'il contient cherchent la bibliothèque de programme ''libffi.so.6'' qui a été remplacée par ''libffi.so.7'' sous Linux Mint 20.x, voir. [[https://stackoverflow.com/questions/61875869/ubuntu-20-04-upgrade-python-missing-libffi-so-6|ce forum]]).
===== Divers =====
Pour configurer l'imprimante en C-551, en tant que ''root'' :
system-config-printer
ajouter une imprimante réseau (M402dw - HP).
Configuration pour mises à jour automatiques (en tant que root) :
- nano /etc/crontab
- ajouter la ligne : 50 23 * * * root apt-get update;dpkg --configure -a;apt-get -y upgrade; apt-get -y dist-upgrade > /apps/hephaistos/utils/logs/maj/NOM_DU_POSTE.txt
- service cron reload
# programmes de base
apt-get -y install autofs portmap
# ajout du conteneur Singularity (Salome 2022)
wget https://github.com/sylabs/singularity/releases/download/v3.9.7/singularity-ce_3.9.7-bionic_amd64.deb
sudo apt install ./singularity-ce_3.9.7-bionic_amd64.deb
# correctif pour Matlab
apt-get -y install libncurses5
# correctifs pour les codes du laboratoire
sudo ln -s /usr/lib/x86_64-linux-gnu/libffi.so.7 /usr/lib/x86_64-linux-gnu/libffi.so.6
# acces root ssh
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'X11Forwarding yes' >> /etc/ssh/sshd_config
service ssh restart
# interface de connexion - écran d'accueil
cd /etc/lightdm/lightdm.conf.d/
printf '[SeatDefaults]
user-session=cinnamon
greeter-show-manual-login = true
greeter-hide-users = true
allow-guest = false
##' > 70-linuxmint.conf
# connexion au serveur
sudo apt-get install -y autofs nfs-common realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit
echo qw34er | realm join meca.polymtl.ca -U adjoiner
systemctl stop sssd
systemctl stop autofs
cd /etc/sssd/
curl -O http://132.207.39.173/mint/21/config/sssd.conf
cd /etc
curl -O http://132.207.39.173/mint/21/config/idmapd.conf
curl -O http://132.207.39.173/mint/21/config/nsswitch.conf
curl -O http://132.207.39.173/mint/21/config/nfs.conf
curl -O http://132.207.39.173/mint/21/config/krb5.conf
systemctl enable sssd
systemctl start sssd
systemctl enable autofs
systemctl start autofs
systemctl start portmap
systemctl add-wants multi-user.target rpcbind.service
echo "account required pam_access.so" >> /etc/pam.d/sshd
echo "+ : root : ALL" >> /etc/security/access.conf
echo "+ : (lava_vnl) : ALL" >> /etc/security/access.conf
echo "- : ALL : ALL" >> /etc/security/access.conf
# pour éviter des ralentissements de connexion
systemctl mask systemd-logind.service
# correction bug authentification
systemctl disable nscd
systemctl stop nscd
reboot
# acces root ssh
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'X11Forwarding yes' >> /etc/ssh/sshd_config
service ssh restart
# interface de connexion - écran d'accueil
cd /etc/lightdm/lightdm.conf.d/
printf '[SeatDefaults]
user-session=cinnamon
greeter-show-manual-login = true
greeter-hide-users = true
allow-guest = false
##' > 70-linuxmint.conf
# connexion au serveur
export DEBIAN_FRONTEND=noninteractive
apt -y install nfs-common realmd sssd sssd-ad sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit autofs openssh-server krb5-config nfs-common libsss-sudo krb5-user
echo qw34er | realm join meca.polymtl.ca -U adjoiner
systemctl stop sssd
systemctl stop autofs
#On copie le bon fichier SSSD
cd /etc/sssd
/bin/cp /etc/sssd/sssd.conf /etc/sssd/sssd.conf.old
/bin/rm sssd.conf
wget 'http://132.207.39.173/mint/22/config/sssd.conf'
chmod 600 sssd.conf
#On va chercher les bons fichier
cd /etc
/bin/cp /etc/nsswitch.conf /etc/nsswitch.conf.old
/bin/rm nsswitch.conf
wget 'http://132.207.39.173/mint/22/config/nsswitch.conf'
chmod 644 nsswitch.conf
cd /etc
/bin/cp /etc/krb5.conf /etc/krb5.conf.old
/bin/rm krb5.conf
wget 'http://132.207.39.173/mint/22/config/krb5.conf'
chmod 644 nsswitch.conf
cd /etc
/bin/cp /etc/idmapd.conf /etc/idmapd.conf.old
/bin/rm idmapd.conf
wget 'http://132.207.39.173/mint/22/config/idmapd.conf'
chmod 644 idmapd.conf
systemctl enable sssd
systemctl start sssd
systemctl enable autofs
systemctl start autofs
echo "account required pam_access.so" >> /etc/pam.d/sshd
echo "+ : root : ALL" >> /etc/security/access.conf
echo "+ : (lava_vnl) : ALL" >> /etc/security/access.conf
echo "- : ALL : ALL" >> /etc/security/access.conf
# correction bug authentification
systemctl disable nscd
systemctl stop nscd
systemctl restart autofs
apt-get -y install xrdp net-tools
systemctl enable xrdp
usermod -a -G ssl-cert xrdp
reboot
# activation de xrdp
apt-get install xrdp net-tools
systemctl enable xrdp
# interface de connexion - écran d'accueil
cd /etc/lightdm/lightdm.conf.d/
printf '[SeatDefaults]
user-session=cinnamon
greeter-show-manual-login = true
greeter-hide-users = true
allow-guest = false
##' > 70-linuxmint.conf
# installation des logiciels requis
apt-get -y install gedit geany geany-plugin* meld fail2ban cifs-utils nfs-common libwx-perl libwxbase3.0-dev libboost-dev libuser apache2 fail2ban htop filezilla rsync members nfs-common sshpass git gfortran gcc g++ libreoffice imagemagick emacs gummi liblapack-dev libarpack2-dev texlive-full inkscape gitg thunar giggle lyx csh nemo sshpass ssh clusterssh gitk blender kwrite gimp guake guake-indicator evince gedit libboost-dev libblas-dev liblapack-dev libboost-dev libblas-dev liblapack-dev okular rdesktop biber screen jabref myspell-fr-gut pdfgrep pdftk-java texstudio pdftk xournal freerdp2-x11 gscan2pdf gnome-terminal cheese chromium-browser
# thèmes Geany
cp /apps/hephaistos/logiciels/linux/geany/*.conf /usr/share/geany/colorschemes/;chmod u=rw /usr/share/geany/colorschemes/*.conf;chmod g=r /usr/share/geany/colorschemes/*.conf;chmod o=r /usr/share/geany/colorschemes/*.conf;
#Brave
apt install curl
curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list
apt update
apt install brave-browser
# suppression de Firefox
apt remove firefox
# suppression du keyring
apt-get remove gnome-keyring
apt-get update
apt-get -y upgrade
apt-get -y dist-upgrade
reboot
export DEBIAN_FRONTEND=noninteractive
# ajout du conteneur Singularity (Salome 2022)
wget https://github.com/sylabs/singularity/releases/download/v3.9.7/singularity-ce_3.9.7-bionic_amd64.deb
sudo apt install ./singularity-ce_3.9.7-bionic_amd64.deb
# Fix Matlab
apt-get -y install libncursesw6 libncurses6
ln -s /usr/lib/x86_64-linux-gnu/libncursesw.so.6.4 /usr/lib/x86_64-linux-gnu/libncurses.so.5
apt-get -y install gedit meld cifs-utils nfs-common libwx-perl libboost-dev libuser apache2 fail2ban htop filezilla rsync members nfs-common sshpass git gfortran gcc g++ libreoffice imagemagick emacs gummi liblapack-dev libarpack2-dev texlive-full inkscape gitg thunar giggle lyx csh nemo sshpass ssh clusterssh gitk blender kwrite gimp guake guake-indicator evince gedit libboost-dev libblas-dev liblapack-dev libboost-dev libblas-dev liblapack-dev okular rdesktop biber screen jabref myspell-fr-gut pdfgrep pdftk-java texstudio pdftk xournal freerdp2-x11 gscan2pdf gnome-terminal cheese chromium
apt-get -y install curl
curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list
apt update
apt-get -y install brave-browser
apt-get -y remove firefox
# suppression du keyring
apt-get remove gnome-keyring
apt-get update
apt-get -y upgrade
apt-get -y dist-upgrade
reboot
cd /tmp
wget http://elpatcho.meca.polymtl.ca/ubuntu/2204LTS/config/falcon-sensor_7.06.0-16108_amd64.deb
apt-get install ./falcon-sensor_7.06.0-16108_amd64.deb
/opt/CrowdStrike/falconctl -s -f --cid=86AF76FDD30342A4B52C8AA0B3E3C693-A2
cd /tmp
wget http://elpatcho.meca.polymtl.ca/Tanium/linux-client-bundle.zip && unzip linux-client-bundle.zip
cd linux-client-bundle && chmod u+x install.sh
./install.sh
cd ..
/bin/rm -R /tmp/linux-client-bundle
/bin/rm -R /tmp/linux-client-bundle.zip
#Fix RDP Mint 21.1
sed -i '/test -x \/etc\/X11\/Xsession && exec \/etc\/X11\/Xsession/i export
$(dbus-launch)' /etc/xrdp/startwm.sh
systemctl restart xrdp
#Fix Webcam Logitech Mint 21
echo 'SUBSYSTEM=="video4linux", ATTR{name}=="HD Pro Webcam C920",
MODE="0666"' | sudo tee /etc/udev/rules.d/99-perm.rules > /dev/null
udevadm control --reload-rules && udevadm trigger
# gestion du son
# apt-install alsa-base
# alsa force-reload
apt-get install pavucontrol
# Define the text to be added
text="[Unit]\nDescription=PulseAudio system server\n# DO NOT ADD ConditionUser=!root\n\n[Service]\nType=notify\nExecStart=pulseaudio --daemonize=no --system --realtime --log-target=journal\n#Exec=pulseaudio --daemonize=no --system --realtime --log-target=journal\nRestart=on-failure\n\n[Install]\nWantedBy=multi-user.target\n"
# Add the text to the file
echo -e "$text" | sudo tee -a /etc/systemd/system/pulseaudio.service > /dev/null
sed -i '/^load-module module-native-protocol-unix/ s/$/ auth-anonymous=1/' /etc/pulse/system.pa
systemctl --system enable --now pulseaudio.service
systemctl --system restart pulseaudio.service
# installation singularity
cd /tmp;
wget https://github.com/sylabs/singularity/releases/download/v3.9.7/singularity-ce_3.9.7-bionic_amd64.deb;
sudo apt install ./singularity-ce_3.9.7-bionic_amd64.deb
# correctif singularity (requis pour PCs Mint 21 avec pilotes nvidia installés)
sed -i -e 's/libGLX.so/#libGLX.so/g' /etc/singularity/nvliblist.conf
cd /tmp;
wget https://github.com/sylabs/singularity/releases/download/v3.9.7/singularity-ce_3.9.7-bionic_amd64.deb;
sudo apt install ./singularity-ce_3.9.7-bionic_amd64.deb