Table des matières

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)