====== - 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]]. Scripts principaux : * **Mint 21** / **Mint 21.1** : * [[ressources/linux/utilisation/base/installation/accueil#installation_du_systeme_d_exploitation|installation du système d'exploitation]] * script réseau [[ressources/linux/utilisation/base/installation/accueil#configuration_reseau|configuration réseau]] (ordinateurs du laboratoire uniquement) * script logiciel [[ressources/linux/utilisation/base/installation/accueil#configuration_logicielle|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 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 ===== - 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 * 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 Formatteret 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 -ipuis: 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/defaultdomainet écrire me2 -> ctrl + x -> y -> entrée - éditer le fichier yp.conf : nano /etc/yp.confet y ajouter domain me2 server 132.207.39.99 - éditer le fichier nsswitch.conf: nano /etc/nsswitch.confmodifier 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.serviceIl 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.6Ce 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). # programmes de base apt-get -y install autofs portmap nis # 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 cd /etc printf "me2" > defaultdomain printf '# # yp.conf Configuration file for the ypbind process. You can define # NIS servers manually here if they can t be found by # broadcasting on the local net (which is the default). # # See the manual page of ypbind for the syntax of this file. # # IMPORTANT: For the "ypserver", use IP addresses, or make sure that # the host is in /etc/hosts. This file is only interpreted # once, and if DNS isn t reachable yet the ypserver cannot # be resolved and ypbind won t ever bind to the server. # ypserver ypserver.network.com domain me2 server 132.207.39.99 #' >yp.conf printf '# /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the "glibc-doc-reference" and "info" packages installed, try: # "info libc "Name Service Switch"" for information about this file. passwd: compat nis group: compat nis shadow: compat nis gshadow: files hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis automount: nis ##' > nsswitch.conf service autofs stop service ypbind stop service portmap stop systemctl add-wants multi-user.target rpcbind.service service portmap start service ypbind start service autofs start systemctl enable ypbind systemctl enable autofs # pour éviter des ralentissements de connexion systemctl mask systemd-logind.service 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 # 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 apt-get update apt-get -y 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 # 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