Ma Configuration Debian 9
Désolé de remettre ça… Je remets sur mon blog ma configuration Debian. Histoire de ne pas la perdre tant qu’elle est dans mon historique .
Voici ce que j’ai réalisé post-installation:
Ajout dépôts supplémentaires
Dans le fichier /etc/apt/sources.list, ajouter les repo contrib et non-free . Activer également les mises à jour de sécurité.
deb http://ftp.fr.debian.org/debian/ stretch main non-free contrib deb-src http://ftp.fr.debian.org/debian/ stretch main non-free contrib deb http://security.debian.org/debian-security stretch/updates main non-free contrib deb-src http://security.debian.org/debian-security stretch/updates main non-free contrib # stretch-updates, previously known as 'volatile' deb http://ftp.fr.debian.org/debian/ stretch-updates main non-free contrib deb-src http://ftp.fr.debian.org/debian/ stretch-updates main non-free contrib
Logiciels tiers
Etcher
#echo "deb https://dl.bintray.com/resin-io/debian stable etcher" | sudo tee /etc/apt/sources.list.d/etcher.list
#apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 379CE192D401AB61
Virtualbox
# wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
Dans le fichier /etc/apt/sources.list.d/virtualbox.list
deb https://download.virtualbox.org/virtualbox/debian stretch contrib
Spotify
Dans le fichier /etc/apt/sources.list.d/spotify.list
deb http://repository.spotify.com stable non-free
Installation paquets supplémentaires
# apt-get update # apt-get install firmware-iwlwifi virtualbox-5.2\\ ttf-mscorefonts-installer easytag tuxguitar-jsa htop\\ frescobaldi gparted grsync ntfs-config chromium autofs\\ openjdk-8-jdk openjdk-8-jre gnome-tweak-tool ntfs-config \\ ntfs-3g cifs-utils geogebra-gnome arduino libmediainfo \\ libmediainfo0v5 network-manager-openvpn-gnome dirmngr \\ spotify-client spotify-client-gnome-support \\ etcher apt-transport-https etcher-electron vim \\ fonts-powerline audacity ffmpeg lame unrar rar gdebi \\ sound-juicer traceroute scala net-tools nmap \\ gnome-shell-pomodoro hplip dig dnsutils build-essential \\ linux-headers-amd64 firmware-linux-nonfree lshw ethtool \\ libsane-hpaio xsane autofs vlc
Configuration autofs
Pour ceux qui ne connaissent pas , autofs est un outil permettant de monter directement des partages nfs et cicfs à l’utilisation et non au démarrage de l’ordinateur.
Dans le fichier /etc/auto.master
/mnt/SERV1/nfs /etc/auto.nfs --ghost, --timeout=60 /mnt/SERV1/cifs /etc/auto.SERV1.cifs --ghost, --timeout=60 /mnt/SERV2 /etc/auto.cifs --ghost, --timeout=60
ensuite insérer la configuration adéquate dans les fichiers référencés :
auto.cicfs
data -fstype=cifs,credentials=/home/USER/.cred-file,user=littlewing,uid=1000,gid=1000 ://192.168.0.XX/REPERTOIRE
Les identifiants / mots de passe sont stockés dans un fichier .cred-file stocké à la racine du répertoire utilisateur.
Voici un exemple :
username=user password=password
Le fichier auto.SERV1.cifs reprend la même structure
auto.nfs
REP1 -fstype=nfs,rw,intr 192.168.0.XX:/volume1/REP1 REP2 -fstype=nfs,rw,intr 192.168.0.XX:/volume1/REP2
Installation d’atom
J’ai choisi d’installer atom via le package .deb fourni par github. Afin d’automatiser l’installation et la mise à jour, voici le script que j’ai réalisé :
#!/bin/sh SETUP_ROOT=/tmp wget -O $SETUP_ROOT/atom.deb "https://atom.io/download/deb" echo "Installation du paquet..." dpkg -i $SETUP_ROOT/atom.deb echo "Fini :)"
Ce script est placé dans le répertoire /usr/local/sbin et lancé comme suit :
# upgrade-atom.sh
Installation de Firefox
Afin d’avoir la dernière version de firefox, voici le script que j’ai réalisé:
#!/bin/sh SETUP_ROOT=/tmp BIN_ROOT=/usr/local/firefox DATE=`date +%Y-%m-%d` OLD_EXE=/usr/lib/firefox-esr/firefox-esr wget -O $SETUP_ROOT/FirefoxSetup.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=fr" echo "Extraction de l'archive..." tar xjf $SETUP_ROOT/FirefoxSetup.tar.bz2 -C /usr/local echo "Changement des droits utilisateur" chown -R :users $BIN_ROOT chmod a+x $BIN_ROOT/firefox echo "Sauvegarde de l'ancien binaire et Creation des liens symboliques" if [ -e $OLD_EXE ] then OLD_BINARY=${OLD_EXE}_orig_${DATE} mv $OLD_EXE $OLD_BINARY fi ln -s $BIN_ROOT/firefox $OLD_EXE chmod a+x $OLD_EXE echo "Fini :)"
Minecraft
Voila l’étape la plus importante, du moins pour mes enfants …
J’ai crée le script /usr/local/bin/minecraft.sh
#!/bin/bash cd /usr/local/minecraft java -Xmx1G -Xms512M -cp /usr/local/minecraft/Minecraft.jar net.minecraft.bootstrap.Bootstrap
J’ai placé le JAR en question dans le répertoire /usr/local/minecraft.
Enfin, j’ai crée le fichier « lanceur gnome » /usr/share/applications/minecraft.desktop
[Desktop Entry] Name=Minecraft Comment= Categories=Game;BoardGame; Exec=/usr/local/bin/minecraft.sh Icon=Minecraft_Block Terminal=false Type=Application StartupNotify=true
J’ai également mis une icone SVG dans le répertoire /usr/share/icons/
Optimisation du boot
Après toutes ces installations, il faut vérifier que les performances, notamment au démarrage ne sont pas trop altérées
Pour avoir le détail du boot, il faut utiliser la commande systemd-analyze
#systemd-analyze blame 8.113s NetworkManager-wait-online.service 2.549s apt-daily-upgrade.service 803ms networking.service 228ms colord.service 213ms dev-sda1.device 145ms systemd-timesyncd.service 128ms ModemManager.service 102ms autofs.service ....
On peut également voir le chemin critique avec cette commande:
#systemd-analyze critical-chain The time after the unit is active or started is printed after the "@" character. The time the unit takes to start is printed after the "+" character. graphical.target @8.944s └─multi-user.target @8.944s └─autofs.service @8.841s +102ms └─network-online.target @8.841s └─NetworkManager-wait-online.service @723ms +8.113s └─NetworkManager.service @642ms +80ms └─dbus.service @612ms └─basic.target @612ms └─paths.target @612ms └─acpid.path @610ms └─sysinit.target @608ms └─systemd-backlight@backlight:acpi_video0.service @1.042s +8ms └─system-systemd\\x2dbacklight.slice @1.042s └─system.slice @119ms └─-.slice @108ms
Désactivation des services
Par exemple, si vous voulez désactiver le service virtualbox au démarrage
# systemctl disable vboxautostart-service.service
et ainsi de suite pour tous les services inutiles au démarrage
Analyse du démarrage d’un service
Pour analyser le démarrage d’un service, on peut utiliser la commande journalctl
# journalctl -b -u NetworkManager-wait-online.service
Conclusion
Après toutes ces étapes, j’ai un système opérationnel. Il manque pas mal d’outils ( ex. maven, npm, intellij,…). Ces outils tiennent plus du poste de développement.