====== Debian ====== Passer le clavier en francais setxkbmap fr Le meilleur manuel et en francais http://formation-debian.via.ecp.fr/index.html Une page aussi intéressante : http://qref.sourceforge.net/Debian/reference/ch-tips.fr.html ===== Passer de etch en lenny ===== Commencer par faire un aptitude update aptitude upgrade Modifier le fichier **/etc/apt/sources.list** Changer les **etch** par **lenny** Faire aptitude update Si le message W: There are no public key available for the following key IDs: A70DAF536070D3A1 Apparait, installez le paquet debian-archive-keyring aptitude install debian-archive-keyring Ensuite mettez a jour la distrib aptitude dist-upgrade ===== Outils de dépannage ===== ==== Vérifier le disque ==== fsck -f -y -C0 /dev/sda Rescanner les disques à chaud debian:~# ls /sys/class/scsi_host host0 host1 host2 debian:~# echo "- - -" > /sys/class/scsi_host/host2/scan ==== Récupérer la liste des paquets installés ==== dpkg --get-selections >mes_paquets pour obtenir la liste des paquets dpkg --set-selections < mes_paquets apt-get upgrade A vérifier : # Save debian system dpkg --get-selections * > /mnt/floppy/backup.pkg.lst # Restore a debian system boot minimum debian system from its root-boot floppies dpkg --set-selections < /mnt/floppy/backup.pkg.lst apt-get update apt-get dselect-upgrade apt-get dist-upgrade apt-get upgrade **dmesg** avec une date/heure lisible dmesg | tail | sed -r 's#^\[([0-9]+\.[0-9]+)\](.*)#echo -n "[";echo -n $(date --date="@$(echo "$(grep btime /proc/stat|cut -d " " -f 2)+\1" | bc)" +"%c");echo -n "]";echo -n "\2"#e' ===== Réseau : Adresse ip ===== Pour passer en ip statique, cela semble simple.\\ Modifier le fichier **/etc/network/interfaces** et modifier allow-hotplug eth0 iface eth0 inet dhcp par auto eth0 iface eth0 inet static address 172.16.30.84 netmask 255.255.255.0 gateway 172.16.30.250 Si vous avez besoin de rajouter des routes spécifiques, rajoutez et adaptez les lignes suivantes toujours dans le même fichier. up route add -net 172.16.0.0 netmask 255.255.0.0 gw 172.16.30.254 up route add default gw 172.16.30.250 down route del -net 172.16.30.0 netmask 255.255.255.0 Ca aurait pu être aussi simple que ça, sauf que quand on fait cette manip, on oublie que juste avant on était en dhcp et que donc le client dhcp tourne toujours en tache de fond et vous changera votre adresse ip à peut près n'importe quand.. Donc faite une recherche d'un dhclient qui tourne et killez le !! Liste les connexions établies netstat -tap Liste les ports en écoute netstat -tulp Liste les ports en écoute lsof -n | grep LISTEN Liste les connexions UDP lsof -n | grep UDP ===== Erreur ===== ==== syslog : IPv6 addrconf: prefix with wrong length 56 ==== Cette alerte se produit fréquemment sur le réseau d'OVH dû à une configuration IPv6 un peu spéciale (si vous avez suivi les guides OVH, vous risquez de l'avoir: OVH annonçant un /56 et vous un /64).\\ Vous pouvez simplement résoudre cette alerte en supprimant l'autoconf de l'IPv6. # Ouvrez le fichier : nano /etc/sysctl.conf # Ajoutez (à la fin ou au début): net.ipv6.conf.all.autoconf = 0 net.ipv6.conf.default.autoconf = 0 net.ipv6.conf.eth0.autoconf = 0 # Prenez en compte l'application de ces paramètres : sysctl -p /etc/sysctl.conf net.ipv6.conf.all.autoconf = 0 net.ipv6.conf.default.autoconf = 0 net.ipv6.conf.eth0.autoconf = 0 Rendez-vous ensuite dans votre fichier de log et vous verrez que l'alerte a disparu.\\ A noter, si vous ne souhaitez pas prendre de risque, vous pouvez appliquer dynamiquement chacun de ces paramètres sans les prendre en compte au prochain redémarrage de votre machine: sysctl -w net.ipv6.conf.all.autoconf=0 net.ipv6.conf.all.autoconf = 0 sysctl -w net.ipv6.conf.default.autoconf=0 net.ipv6.conf.default.autoconf = 0 sysctl -w net.ipv6.conf.eth0.autoconf=0 net.ipv6.conf.eth0.autoconf = 0 ===== Services ===== Afin d'ajouter un scripts appelés au démarrage : update-rc.d tonScript defaults Pour le retirer, vous pouvez utiliser la commande suivante : update-rc.d -f tonScript remove ===== Exécuter un script au démarrage ===== **/etc/init.d/rc.local** est systématiquement appelé à chaque démarrage, ce script lance **/etc/rc.local** où tu peux mettre un appel à tes programmes, y mettre ce que tu veux. Bref, pour un script local c'est *la* solution. Tu veux lancer un démon, etc, dans ce cas copie **/etc/init.d/skeleton** **/etc/init.d/nomdetondemon**, tu l'édites et à l'aide de update-rc.d, tu ajustes les niveaux et le moment où ce script est appelé. ===== Lancer une appli dans un autre X ===== Créer une nouvelle session de X sudo X :1 -ac & Lancer une application sur cette session DISPLAY=:1 openarena ===== Installer une appli/paquet dans son home ===== Dans l'exemple suivant, je veux installer **git** sur une machine dont je ne dispose pas des droits root. Nous allons donc créer un semblant de structure du système dans notre home et nous allons y installer le contenu du paquet git. Pour que tout fonctionne, nous allons d'abord reconfigurer les variables d'environnement dans notre **.bashrc** FIXME export PATH=$PATH:~/bin:~/root/usr/bin Télécharger un paquet apt-get download git Faites une extration du paquet dpkg -X git.deb ~/root/. ===== Identification par active directory / kerberos ===== https://wiki.debian.org/AuthenticatingLinuxWithActiveDirectory ===== Debian 9 : stretch ===== ==== interface réseau ==== Modifier le fichier **/etc/default/grub** et ajouter les options **net.ifnames=0** et **biosdevname=0** à la ligne **GRUB_CMDLINE_LINUX=** : GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet" GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" Régénérer le fichier de configuration du Grub : grub-mkconfig -o /boot/grub/grub.cfg vérifier le contenu du fichier /etc/network/interfaces puis reboot une fois rebooté, ip a pour lister (comme ifconfig a l'époque) pour relancer le réseau, ca ne marche pas avec systemctl restart networking.service il faut faire ifdown eth0 puis ifup eth0 ==== APT ==== Le pinning => https://debian-facile.org/doc:systeme:apt:pinning Ou comment installer un paquet plus récent issue de la branche testing sur votre branche stable Modifier votre sources.list en ajoutant les dépôts testing deb http://ftp.fr.debian.org/debian/ stretch main deb-src http://ftp.fr.debian.org/debian/ stretch main deb http://ftp.fr.debian.org/debian/ testing main deb-src http://ftp.fr.debian.org/debian/ testing main Définir la version stable par défaut et installer la version testing de python3 root@localhost# echo 'APT::Default-Release "stable";' >>/etc/apt/apt.conf.d/00local root@localhost# apt-get update root@localhost# apt-get -t testing install python3 Pour consulter le paquet https://packages.debian.org/buster/python3 ==== TimeZone ==== Mettre à l'heure votre serveur avec **timedatectl** # timedatectl Local time: mer. 2019-07-10 08:33:37 UTC Universal time: mer. 2019-07-10 08:33:37 UTC RTC time: mer. 2019-07-10 08:33:37 Time zone: Etc/UTC (UTC, +0000) Network time on: yes NTP synchronized: yes RTC in local TZ: no # ls -l /etc/localtime lrwxrwxrwx 1 root root 27 juil. 8 23:00 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC # timedatectl list-timezones --- Europe/Monaco Europe/Moscow Europe/Oslo Europe/Paris Europe/Podgorica Europe/Prague Europe/Riga --- # timedatectl set-timezone Europe/Paris # timedatectl Local time: mer. 2019-07-10 10:35:29 CEST Universal time: mer. 2019-07-10 08:35:29 UTC RTC time: mer. 2019-07-10 08:35:29 Time zone: Europe/Paris (CEST, +0200) Network time on: yes NTP synchronized: yes RTC in local TZ: no # date mercredi 10 juillet 2019, 10:35:32 (UTC+0200)