This commit is contained in:
kyodev 2017-12-15 20:31:56 +01:00
parent 9de1f4e0c7
commit 68b85399cc
4 changed files with 19 additions and 315 deletions

View File

@ -1,147 +1,12 @@
# fichier resume
# soucis
**/etc/initramfs-tools/conf.d/resume**
## configuration
## fichier resume absent
* [erreurs fichier resume](https://kyodev.frama.io/kyopages/debian/soucis/erreurs_resume/)
* [la part du root](https://kyodev.frama.io/kyopages/debian/soucis/part_root/)
théoriquement un fichier resume peut être absent (comme sur ArchLinux par exemple), dans ce cas, selon man,
la plus grande partition swap devrait être utilisée.
## matériel
sur **debian**, une erreur se produit et n'est pas corrigée lors de l'update:
`update-initramfs -u`
```text
update-initramfs: Generating /boot/initrd.img-4.11.6-towo.2-siduction-amd64
I: The initramfs will attempt to resume from /dev/sda3
I: (UUID=691f4861-ac9e-4b44-adaf-db28378d1d8f)
I: Set the RESUME variable to override this.
```
## Gave up waiting for suspend/resume device...
quand l'UUID de la partition `swap` est changé (classique avec l'installeur Debian
sur un multi-boot par exemple), il ne suffit pas de modifier le fstab.
si le système permet l'hibernation, il faut aussi veiller à configurer correctement
`/etc/initramfs-tools/conf.d/resume`
à défaut
* le boot subi un timeout en essayant de trouver une partition fantôme
(Gave up waiting for suspend/resume device...).
* cela peut aussi se traduire par une erreur lors d'un _update-initramfs_
```text
update-initramfs: Generating /boot/initrd.img-4.9.0-3-686-pae
W: initramfs-tools configuration sets RESUME=UUID=68c4a15c-e3c8-4afe-8ffe-feb3637a0875
W: but no matching swap device is available.
I: The initramfs will attempt to resume from /dev/sda6
I: (UUID=3264f09c-87ed-4731-8132-3e929d120c65)
I: Set the RESUME variable to override this.
```
## correction resume
**root** requis
### avec UUID
méthode fastidieuse
```shell
su
# identifier le swap et noter l'UUID
lsblk -f
# vérifier le fstab si besoin
cat /etc/fstab
# configurer resume (editor|geany|mousepad|pluma|kate|gedit...)
editor /etc/initramfs-tools/conf.d/resume
# mise à jour de l'image initramfs
update-initramfs -u
reboot
```
```ini
## /etc/fstab
# swap was on /dev/sda3 during installation
UUID=422c2bac-a6c3-4774-afd2-bb53c366a27d none swap sw 0 0
## /etc/initramfs-tools/conf.d/resume
RESUME=UUID=422c2bac-a6c3-4774-afd2-bb53c366a27d
```
### avec device
pour éviter les surprises quand on joue avec des multi-boots, **pour le(s) swap**,
utilisation de _/dev/partition_
```ini
## /etc/fstab
# swap was on /dev/sda3 during installation
/dev/sda3 none swap sw 0 0
## /etc/initramfs-tools/conf.d/resume
RESUME=/dev/sda3
```
### avec _auto_
mais depuis peu, **encore plus simple** (après test):
```ini
RESUME=auto
```
### options variable RESUME
* auto - sélectionne le périphérique (device) resume automatiquement.
sélection de la plus grande partition swap disponible (ou la première?). peu clair entre
man initramfs-tools et man initramfs.conf.
* none - désactive resume à partir du disque
* non défini (pas de fichier _/etc/initramfs-tools/conf.d/resume_): idem auto
* la variable de boot `noresume` écrase ces options
* [échec Wifi USB](https://kyodev.frama.io/kyopages/debian/soucis/usb_wifi_echec_nommage/)
### check après reboot:
```shell
/sbin/swapon -s
```
---
# la part du root
**root** requis
> hum j'ai un problème avec une partition, j'ai viré environ 10go mais elle apparaît tout le temps 100% utilisée...
```shell
df -h /mnt/SAVE
```
```text
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/sda5 130G 124G 0 100% /mnt/SAVE
```
curieux, 124/130=5%... environ
```shell
su
tune2fs -l /dev/sda5 | grep Reserved
```
```text
Reserved block count: 1727987
Reserved GDT blocks: 1015
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
```
1727987 blocks résservés:
```shell
tune2fs -m 0 /dev/sda5
```
```text
tune2fs 1.42.12 (29-Aug-2014)
Définition du pourcentage de blocs réservés à 0% (0 blocs)
```
voilà, 0 block:
```shell
df -h /mnt/SAVE
"/dev/sda5 130G 124G 5,8G 96% /mnt/SAVE
```
opération déconseillée sur le système pour laisser au _root_ (et les applications fonctionnant
en tant que tel) d'avoir un minimum de place si la partition système est pleine.

View File

@ -11,7 +11,7 @@ df -h /mnt/SAVE
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/sda5 130G 124G 0 100% /mnt/SAVE
```
curieux, 124/130=5%... environ
> curieux, 124/130=5%... environ
```shell
su
@ -23,7 +23,7 @@ Reserved GDT blocks: 1015
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
```
1727987 blocks résservés:
1727987 blocks réservés:
```shell
tune2fs -m 0 /dev/sda5
```
@ -31,7 +31,7 @@ tune2fs -m 0 /dev/sda5
tune2fs 1.42.12 (29-Aug-2014)
Définition du pourcentage de blocs réservés à 0% (0 blocs)
```
voilà, 0 block:
> voilà, 0 block:
```shell
df -h /mnt/SAVE
"/dev/sda5 130G 124G 5,8G 96% /mnt/SAVE

View File

@ -21,7 +21,7 @@ se trouvent dans `/lib/systemd/network/99-default.link`, avec notamment la règl
[Plus d'infos sur freedesktop (En)](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/)
Ce nommage ne fonctionne pas (ou pas toujours) pour les périphériques USB, au moins sur debian
Ce nommage ne fonctionne pas (ou pas toujours) pour les périphériques USB, au moins sur debian,
le nom d'interface se retrouve sous la forme `wlx`00c0ca3f3f23
@ -57,7 +57,7 @@ ip -o add
* clé en main:
```shell
unlink /etc/udev/rules.d/80-net-setup-link.rules 2>/dev/null
[ -f /etc/udev/rules.d/80-net-setup-link.rules ] && mv /etc/udev/rules.d/80-net-setup-link.rules /etc/udev/rules.d/80-net-setup-link.bak
mv /etc/udev/rules.d/80-net-setup-link.rules /etc/udev/rules.d/80-net-setup-link.bak 2>/dev/null
ln -s /lib/udev/rules.d/80-net-setup-link.rules /etc/udev/rules.d/80-net-setup-link.rules
```
@ -85,7 +85,7 @@ ce qui revient à désactiver la règle.
```shell
unlink /etc/udev/rules.d/80-net-setup-link.rules 2>/dev/null
[ -f /etc/udev/rules.d/80-net-setup-link.rules ] && mv /etc/udev/rules.d/80-net-setup-link.rules /etc/udev/rules.d/80-net-setup-link.bak
mv /etc/udev/rules.d/80-net-setup-link.rules /etc/udev/rules.d/80-net-setup-link.bak 2>/dev/null
ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
```
@ -112,7 +112,7 @@ cerise sur le gateau, l'adresse MAC **change automatiquent**(spoofing), pas beso
* solution clé en main:
```shell
unlink /etc/systemd/network/99-default.link 2>/dev/null
[ -f /etc/systemd/network/99-default.link ] && mv /etc/systemd/network/99-default.link /etc/systemd/network/99-default.bak
mv /etc/systemd/network/99-default.link /etc/systemd/network/99-default.bak 2>/dev/null
ln -s /dev/null /etc/systemd/network/99-default.link
```
@ -157,17 +157,17 @@ reboot
```shell
unlink /etc/udev/rules.d/80-net-setup-link.rules 2>/dev/null
[ -f /etc/udev/rules.d/80-net-setup-link.bak ] && mv /etc/udev/rules.d/80-net-setup-link.bak /etc/udev/rules.d/80-net-setup-link.rules
mv /etc/udev/rules.d/80-net-setup-link.bak /etc/udev/rules.d/80-net-setup-link.rules 2>/dev/null
```
```shell
unlink /etc/systemd/network/99-default.link 2>/dev/null
[ -f /etc/systemd/network/99-default.BAK ] && mv /etc/systemd/network/99-default.bak /etc/systemd/network/99-default.link
mv /etc/systemd/network/99-default.bak /etc/systemd/network/99-default.link 2>/dev/null
```
```shell
unlink /etc/systemd/network/99-default.link 2>/dev/null
[ -f /etc/systemd/network/99-default.bak ] && mv /etc/systemd/network/99-default.bak /etc/systemd/network/99-default.link
mv /etc/systemd/network/99-default.bak /etc/systemd/network/99-default.link 2>/dev/null
```
### vieux bidouillage
@ -176,7 +176,7 @@ pour ceux qui auraient suivis mes premières élucubrations (fonctionnelles mais
de tester à distance;))
```shell
unlink /lib/systemd/network/99-default.link 2>/dev/null
[ -f /lib/systemd/network/99-default.link.bak ] && mv /lib/systemd/network/99-default.link.bak /lib/systemd/network/99-default.link
mv /lib/systemd/network/99-default.link.bak /lib/systemd/network/99-default.link 2>/dev/null
update-initramfs -u
reboot

View File

@ -1,165 +1,4 @@
s'applique à Debian > 8, donc **Stretch**
# interfaces réseau, retour au nommage classique
# interfaces réseau nommage classique
voir [échec Wifi USB](https://kyodev.frama.io/kyopages/debian/soucis/usb_wifi_echec_nommage/)
retour au schéma classique de nommage
## introduction rapide
Depuis la version 197 systemd/udev a introduit un nouveau schéma de nommage: _Predictable Network Interface Names_
sensé stabiliser le nommage des interfaces réseau. Il fait disparaître les classiques noms ("eth0", "wlan0", ...).
Il sappuie sur le nommage du noyau pour lui appliquer des règles, qui par défaut se trouvent dans
`/lib/systemd/network/99-default.link`, avec notamment la règle `NamePolicy=kernel database onboard slot path`.
Le nom du noyau (issu de devfs du kernel, wlan0 par exemple) sera remplacé par un index du firmware(ID_NET_NAME_ONBOARD)
ou un numéro de slot (ID_NET_NAME_SLOT), ou en cas de soucis (falls back):
* un nom d'une base(ID_NET_NAME_FROM_DATABASE)
* le nom issu de la localisation physique (ID_NET_NAME_PATH)
Ce nommage ne fonctionne pas toujours bien pour les périphériques USB, lent à s'initialiser(*****).
Dans ce cas, il est utilisé un nommage basé sur l'adresse MAC (ID_NET_NAME_MAC) (voir
`/lib/udev/rules.d/73-usb-net-by-mac.rules`), avec pour résultat un `wlx94103ef6120a` comme nom d'interface.
(*****)La lenteur d'initialisation est une idée personnelle de l'auteur, dû à quelques constats.
Ce nommage basé sur MAC, n'est pas prise en charge, pour une raison pas encore investigée, par
NeworkManager (NM) et Wicd, alors que NM est censé jouer avec l'adresse MAC pour faciliter le spoofing_ (version 1.4 et +).
Jessie est censée avoir un jeu de règles pour prévenir cela (`/lib/udev/rules.d/75-persistent-net-generator.rules`)
ce qui pouvait aussi poser problème avec un résultat comme _rename1_ par exemple. Cette règle est abandonnée dans Stretch
Debian annonce que ce vieux schéma est déprécié dans Stretch et plus du tout supporté dans Buster
(je n'ai pas compris qu'elle était la portée réelle de cet avertissement).
Pour obtenir un résultat rapidement, il peut donc être utile de revenir à l'ancien nommage pour
ces adaptateurs wifi USB, et de désactiver ces nouveaux noms persistants.
## renommage via désactivation règle Udev
```shell
su # ou sudo su pour passer en root
```
on efface un éventuel fichier de règles personnalisé
```shell
rm /etc/systemd/network/99-default.link
```
un éventuel message d'erreur comme ci-dessous est normal s'il n'y avait pas de règles personnalisées
````shell
rm: impossible de supprimer « /etc/systemd/network/99-default.link »: Aucun fichier ou dossier de ce type
````
on désactive les règles de nommage des interfaces réseaux
```shell
mv /lib/systemd/network/99-default.link /lib/systemd/network/99-default.link.bak
ln -s /dev/null /lib/systemd/network/99-default.link
```
puis
```shell
reboot
```
### attention
ça ne fonctionne que pour les interfaces wlan, mais pas les ethernet qui sont dans le devfs du noyau.
cela répond à la problématique des adaptateurs wifi usb.
pour les traditionalistes qui voudrait éviter le renommage de toutes les interfaces, il faut reconstruire le initrd.
ceci en cas d'adressage fixe sur ethernet simultané(?!), il vaut mieux le faire.
```shell
update-initramfs -u
reboot
```
pour vérifier après reboot:
```shell
ip address
```
## renommage _traditionnel_ via Grub
```shell
su # ou sudo su pour passer en root
```
on lance avec son éditeur préféré geany kate pluma gedit (plus confortable) ou nano emacs vi...
```shell
geany /etc/default/grub
```
**ajouter** les paramètres `net.ifnames=0 biosdevname=0` dans une ligne de commande du kernel, en commentant la ligne existante et en la dupliquant, par **exemple**:
```shell
#GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX_DEFAULT="quiet net.ifnames=0 biosdevname=0"
```
enregistrer
quitter
puis
```shell
update-grub
```
puis
```shell
reboot
```
pour vérifier après reboot:
```shell
ip address
```
## retour à la normale, règle Udev
```shell
su # ou sudo su pour passer en root
```
on enlève le lien, et on on remet la règle en place
```shell
unlink /lib/systemd/network/99-default.link
mv /lib/systemd/network/99-default.link.bak /lib/systemd/network/99-default.link
```
puis
```shell
reboot
```
**ou** éventuellement, selon la procédure suivie
```shell
update-initramfs -u
reboot
```
## retour à la normale, Grub
```shell
su # ou sudo su pour passer en root
```
on lance avec son éditeur préféré geany kate pluma gedit (plus confortable) ou nano emacs vi...
```shell
geany /etc/default/grub
```
supprimer la ligne `GRUB_CMDLINE_LINUX_DEFAULT="quiet net.ifnames=0 biosdevname=0"` (exemple)
dé-commenter la ligne originale:
```shell
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
```
enregistrer
quitter
puis
```shell
update-grub
```
puis
```shell
reboot
```