Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Assemblée Générale Ordinaire de Borsalinux-fr le 22 février à Paris

#1 04/01/2020 16:49:35

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 871
Site Web

[Résolu] insérer une commande à la fermeture du PC

Bonjour. J'ai 1 PC qui me fait des misères lors des mises à jour.
Dans grub2 il démarre en mode rescue.
Pour remédier à cela je tape en console:

sudo grub2-set-default 0

Ça fonctionne jusqu'à ce qu'une nouvelle mise à jour intervienne.

Je voudrais trouver une solution définitive à ça:
Il faut donc insérer cette commande dans le système de fermeture du PC. (Si je fais une mise à jour lorsque ma session est ouverte, il faut intervenir avant que le PC ne redémarre; donc à la fermeture.)
Je pensais faire un script et l'insérer en /etc/rc6.d

Mais est ce qu'une mise à jour ne va pas me le virer ?
Le travail serait-il propre ?

Je pense que sudo ne serait pas utile car ce doit être root qui ferme le PC ???

Dans /etc/rc.d/init.d/ Il y a un fichier texte parlant d'utiliser systemctl. Nos init[level] sont-ils  condamnés à disparaître ?
Merci de vos conseils.

Dernière modification par thierryR (04/01/2020 16:59:43)


lovelinux.gifChalons en Champagne: Au nord, un peu avant la banquise
Kernel: 5.4.8-200.fc31.x86_64 x86_64 bits: 64 Desktop: KDE Plasma 5.17.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac serial: <root required> UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

#2 04/01/2020 17:11:38

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 7 829
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

Bonjour,

Peut être tenter de comprendre l'origine du problème avant. Que donne

cat /etc/sysconfig/kernel

et

cat /etc/sysconfig/grub

?

Hors ligne

#3 04/01/2020 18:04:09

nouvo09
Accro à Fedo !
Lieu : Paris
Inscription : 22/09/2005
Messages : 22 095

Re : [Résolu] insérer une commande à la fermeture du PC

Je pensais faire un script et l'insérer en /etc/rc6.d

Déjà je ne suis pas sur que cette ancienne configuration soit encore lue.

Donc déjà regarde ce que Madko t'a indiqué , mais sinon pourquoi tiens-tu à ce que cette commande soit exécutée à la fermeture? Ca serait aussi bien au démarrage et tu pourrais l'inclure dans le fichier rc.local dont on est sur qu'il est exécuté.


C'est pas parce que c'est difficile qu'on n'ose pas,
c'est parce qu'on ose pas que c'est difficile !

Hors ligne

#4 04/01/2020 18:17:47

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 7 829
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

Le problème c'est que si c'est bien une mise à jour kernel (supposition) qui lui change l'ordre de boot du menu grub, ce serait plus sûr de faire la dite commande à l'arrêt. Car les mises à jour arrivent plutôt après.

Autre piste, si c'est bien la mise à jour kernel qu pose soucis, ajouter un script dans /etc/kernel/postinst.d

Hors ligne

#5 04/01/2020 20:31:37

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 871
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

C'est gentil de m'aider. Voici quelques infos:

cat /etc/sysconfig/kernel
# UPDATEDEFAULT specifies if new-kernel-pkg should make
# new kernels the default
UPDATEDEFAULT=yes

# DEFAULTKERNEL specifies the default kernel package type
DEFAULTKERNEL=kernel-core

cat /etc/sysconfig/grub
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="resume=UUID=f0862afa-e248-448d-99db-f7b049c15901 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

lovelinux.gifChalons en Champagne: Au nord, un peu avant la banquise
Kernel: 5.4.8-200.fc31.x86_64 x86_64 bits: 64 Desktop: KDE Plasma 5.17.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac serial: <root required> UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

#6 04/01/2020 20:36:58

nouvo09
Accro à Fedo !
Lieu : Paris
Inscription : 22/09/2005
Messages : 22 095

Re : [Résolu] insérer une commande à la fermeture du PC

Pour moi le souci vient de là

GRUB_ENABLE_BLSCFG=true

C'est pas parce que c'est difficile qu'on n'ose pas,
c'est parce qu'on ose pas que c'est difficile !

Hors ligne

#7 04/01/2020 21:07:43

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 871
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

madko a écrit :

Autre piste, si c'est bien la mise à jour kernel qu pose soucis, ajouter un script dans /etc/kernel/postinst.d

Dans la directory il y a un dossier vide nommé install.d   Ce serait peut être là plutôt qu'il faudrait déposé un script.
@nouvo09 J'ai la même ligne sur mes autres Pc qui tournent sans problème.

Dernière modification par thierryR (04/01/2020 21:08:59)


lovelinux.gifChalons en Champagne: Au nord, un peu avant la banquise
Kernel: 5.4.8-200.fc31.x86_64 x86_64 bits: 64 Desktop: KDE Plasma 5.17.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac serial: <root required> UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

#8 06/01/2020 21:39:17

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 871
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

J'ai fait un script 52-grub2.sh que j'ai mis dans  /etc/kernel/postinst.d
Puis j'ai fait un chmod +x
Mais rien ne change....


lovelinux.gifChalons en Champagne: Au nord, un peu avant la banquise
Kernel: 5.4.8-200.fc31.x86_64 x86_64 bits: 64 Desktop: KDE Plasma 5.17.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac serial: <root required> UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

#9 06/01/2020 22:24:10

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 7 829
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

mais tu as installé un nouveau kernel ?

Hors ligne

#10 06/01/2020 23:08:16

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 871
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

Oui à l'instant. Il était dans la mise à jour.


lovelinux.gifChalons en Champagne: Au nord, un peu avant la banquise
Kernel: 5.4.8-200.fc31.x86_64 x86_64 bits: 64 Desktop: KDE Plasma 5.17.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac serial: <root required> UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

#11 06/01/2020 23:18:41

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 7 829
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

Tu avais mis un log/trace dedans pour vérifier que ton script a bien été utilisé ?

un truc dans le genre:

echo "lancement du script" > /tmp/log

Hors ligne

#12 08/01/2020 15:25:39

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 871
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

J'ai essayé différents truc.
J'ai testé l'ancien systeme par rc0.d et rc6.d mais rien n'y fait.
J'ai installé ensuite le script dans /kernel

ls -ls /etc/kernel/postinst.d
total 8
4 -rwxr-xr-x. 1 root root 1585  6 janv. 20:21 51-dracut-rescue-postinst.sh
4 -rwxr-xr-x. 1 root root   80  8 janv. 14:06 K52-grub2.sh

Rien n'y fait. Pas de trace de log
l

s /tmp/
sddm-auth59727a91-1b66-4f7e-9741-b854c3b740aa                                 systemd-private-8becc556183f41f2a35427fc7b034381-systemd-logind.service-5P0KEi
ssh-yR7jlJOTqPls                                                              systemd-private-8becc556183f41f2a35427fc7b034381-upower.service-GoLX2h
systemd-private-8becc556183f41f2a35427fc7b034381-bluetooth.service-bZxpEg     Temp-c3e1c754-8d3d-4b91-af2a-8c1e20dec1fd
systemd-private-8becc556183f41f2a35427fc7b034381-chronyd.service-r7PWkg       Temp-ffc45cd4-2f7b-4948-b047-59e8995804e5
systemd-private-8becc556183f41f2a35427fc7b034381-colord.service-t0PvDi        tmpaddon
systemd-private-8becc556183f41f2a35427fc7b034381-dbus-broker.service-Pgvjpg   tmpaddon-a41fe9
systemd-private-8becc556183f41f2a35427fc7b034381-ModemManager.service-RyGjQi  xauth-1000-_0
systemd-private-8becc556183f41f2a35427fc7b034381-rtkit-daemon.service-XrrcWg

Et le script lui-même

cat K52-grub2.sh 
#!/usr/bin/bash

grub2-set-default 0;
echo "Lancement script perso" > /tmp/log;

Dernière modification par thierryR (08/01/2020 15:27:37)


lovelinux.gifChalons en Champagne: Au nord, un peu avant la banquise
Kernel: 5.4.8-200.fc31.x86_64 x86_64 bits: 64 Desktop: KDE Plasma 5.17.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac serial: <root required> UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

#13 08/01/2020 16:13:15

nouvo09
Accro à Fedo !
Lieu : Paris
Inscription : 22/09/2005
Messages : 22 095

Re : [Résolu] insérer une commande à la fermeture du PC

et si à présent tu testais avec ce que je t'ai dit ?


C'est pas parce que c'est difficile qu'on n'ose pas,
c'est parce qu'on ose pas que c'est difficile !

Hors ligne

#14 08/01/2020 17:20:31

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 7 829
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

Sinon pour faire un service systemd qui lance ton script à l'arrêt, créer un fichier /etc/systemd/system/mon_script.service :

[Unit]
Description=Service pour lancer un script au reboot ou shutdown

[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=/ton/script.sh

[Install]
WantedBy=multi-user.target

suivi d'un

systemctl enable --now mon_script

Hors ligne

#15 08/01/2020 18:20:17

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 871
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

Nouvo09: J'ai testé ton idée, mais ça ne change rien. Je m'en doutais car sur mon autre PC qui fonctionne bien, j'ai la même ligne.
Pour être sur du coup, j'ai fait:

GRUB_ENABLE_BLSCFG=false

Je vais essayer la solution de Madko.


lovelinux.gifChalons en Champagne: Au nord, un peu avant la banquise
Kernel: 5.4.8-200.fc31.x86_64 x86_64 bits: 64 Desktop: KDE Plasma 5.17.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac serial: <root required> UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

#16 08/01/2020 18:50:16

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 871
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

J'ai essayé ça

[unit]
Description=Service pour lancer un script au reboot ou shutdown

[service]
type=oneshot
RemainAfterExit=true
ExecStop=grub2-set-default 0

[install]
WantedBy=multi-user.target

Mais visiblement il n'en veut pas.

 janv. 08 17:42:42 samsung.thierry systemd[1]: mon_script.service: Service has no ExecStart=, ExecStop=, or SuccessAction=. Refusing.

Serait ce du à l'espace entre default et 0 ?
Je vais réessayer en mettant plutot une directory.

EDIT: Même tarif, Il n'en veut pas avec.

ExecStop=/etc/kernel/postinst.d/K52-grub2.sh

Dernière modification par thierryR (08/01/2020 18:58:13)


lovelinux.gifChalons en Champagne: Au nord, un peu avant la banquise
Kernel: 5.4.8-200.fc31.x86_64 x86_64 bits: 64 Desktop: KDE Plasma 5.17.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac serial: <root required> UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

#17 08/01/2020 19:10:27

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 7 829
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

Le 2e ExecStop est plus correct, mais c'est quoi l'erreur ? Car avant de coller ça j'avais testé sur mon poste et ça marche niquel

Hors ligne

#18 08/01/2020 21:57:51

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 871
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

Voici la réponse:

systemctl enable --now /etc/systemd/system/mon_script.service
The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled using systemctl.
 
Possible reasons for having this kind of units are:
• A unit may be statically enabled by being symlinked from another unit's
  .wants/ or .requires/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
  a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
  D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
  instance name specified.
Failed to start mon_script.service: Unit mon_script.service has a bad unit file setting.
See system logs and 'systemctl status mon_script.service' for details.

lovelinux.gifChalons en Champagne: Au nord, un peu avant la banquise
Kernel: 5.4.8-200.fc31.x86_64 x86_64 bits: 64 Desktop: KDE Plasma 5.17.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac serial: <root required> UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

#19 08/01/2020 22:06:26

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 871
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

J'ai trouvé. Il manquait des majuscules dans les []


lovelinux.gifChalons en Champagne: Au nord, un peu avant la banquise
Kernel: 5.4.8-200.fc31.x86_64 x86_64 bits: 64 Desktop: KDE Plasma 5.17.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac serial: <root required> UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

#20 08/01/2020 22:08:14

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 871
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

Bingo. Ça marche.
Qu'est ce ça devient compliqué de mettre un petit script au démarrage ou à la fermeture du Pc !


lovelinux.gifChalons en Champagne: Au nord, un peu avant la banquise
Kernel: 5.4.8-200.fc31.x86_64 x86_64 bits: 64 Desktop: KDE Plasma 5.17.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac serial: <root required> UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

#21 08/01/2020 23:10:09

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 7 829
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

c'était le seul truc facile avec le système d'avant. On peut pas gagner sur tout les tableaux ;)

Hors ligne

#22 09/01/2020 12:23:15

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 871
Site Web

Re : [Résolu] insérer une commande à la fermeture du PC

Dans tous les cas, MERCI Madko. T'es un gros barbu.:-P


lovelinux.gifChalons en Champagne: Au nord, un peu avant la banquise
Kernel: 5.4.8-200.fc31.x86_64 x86_64 bits: 64 Desktop: KDE Plasma 5.17.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac serial: <root required> UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

Pied de page des forums