====== 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)