Bizarrerie lors de l'installation de laptop-mode-tools

paquet
installation
Tags: #<Tag:0x00007f0946156520> #<Tag:0x00007f09461562f0>

#1

Salut
La première installation de laptop-mode-tools echoue

apt install laptop-mode-tools
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Paquets recommandés :
  sdparm
Les NOUVEAUX paquets suivants seront installés :
  laptop-mode-tools
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 124 ko dans les archives.
Après cette opération, 408 ko d'espace disque supplémentaires seront utilisés.
Réception de:1 http://deb.debian.org/debian buster/main amd64 laptop-mode-tools all 1.72-3 [124 kB]
124 ko réceptionnés en 0s (396 ko/s)        
Sélection du paquet laptop-mode-tools précédemment désélectionné.
(Lecture de la base de données... 192012 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../laptop-mode-tools_1.72-3_all.deb ...
Dépaquetage de laptop-mode-tools (1.72-3) ...
Paramétrage de laptop-mode-tools (1.72-3) ...
laptop-mode.service is not active, cannot reload.
invoke-rc.d: initscript laptop-mode, action "start" failed.
● laptop-mode.service - Laptop Mode Tools
   Loaded: loaded (/lib/systemd/system/laptop-mode.service; disabled; vendor preset: enabled)
   Active: activating (start) since Tue 2018-12-04 10:57:41 CET; 1s ago
     Docs: man:laptop_mode(8)
           man:laptop-mode.conf(8)
           http://github.com/rickysarraf/laptop-mode-tools
  Process: 2602 ExecStartPre=/bin/rm -f /var/run/laptop-mode-tools/state (code=exited, status=0/SUCCESS)
  Process: 2601 ExecStartPre=/bin/rm -f /var/run/laptop-mode-tools/enabled (code=exited, status=0/SUCCESS)
 Main PID: 2603 (laptop_mode)
    Tasks: 4
   Memory: 2.7M
   CGroup: /system.slice/laptop-mode.service
           ├─2603 /bin/sh /usr/sbin/laptop_mode init force
           ├─3007 /bin/sh /usr/sbin/laptop_mode init force
           ├─3838 /bin/sh /usr/sbin/laptop_mode init force
           └─3839 /bin/sh /usr/sbin/laptop_mode init force

déc. 04 10:57:41 debian systemd[1]: Starting Laptop Mode Tools...
déc. 04 10:57:41 debian laptop-mode[2641]: enabled, not active
déc. 04 10:57:41 debian laptop_mode[2603]: enabled, not active
déc. 04 10:57:41 debian su[2800]: (to guy) root on none
déc. 04 10:57:42 debian su[2800]: pam_unix(su:session): session opened for user guy by (uid=0)
déc. 04 10:57:42 debian laptop_mode[2603]: Cannot find device "eth0"
déc. 04 10:57:42 debian su[2800]: pam_unix(su:session): session closed for user guy
déc. 04 10:57:43 debian systemd[1]: laptop-mode.service: Unit cannot be reloaded because it is inactive.
dpkg: erreur de traitement du paquet laptop-mode-tools (--configure) :
 installed laptop-mode-tools package post-installation script subprocess returned error exit status 1
Traitement des actions différées (« triggers ») pour mime-support (3.61) ...
Traitement des actions différées (« triggers ») pour desktop-file-utils (0.23-4) ...
Traitement des actions différées (« triggers ») pour systemd (239-13) ...
Traitement des actions différées (« triggers ») pour man-db (2.8.4-3) ...
Traitement des actions différées (« triggers ») pour gnome-menus (3.13.3-11) ...
Des erreurs ont été rencontrées pendant l'exécution :
 laptop-mode-tools
needrestart is being skipped since dpkg has failed
E: Sub-process /usr/bin/dpkg returned an error code (1)

Voyant cela je l’active moi-même

 systemctl enable laptop-mode.service
Synchronizing state of laptop-mode.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable laptop-mode
Created symlink /etc/systemd/system/multi-user.target.wants/laptop-mode.service → /lib/systemd/system/laptop-mode.service.

mais le paquet est toujours dans un état nok

 dpkg -l laptop-mode-tools
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom               Version      Architecture Description
+++-=================-============-============-==================================================
iF  laptop-mode-tools 1.72-3       all          Tools for Power Savings based on battery/AC status

Une deuxième installation alors que l’outil est activé, résoud le problème en allant jusqu’au bout

apt install laptop-mode-tools
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
laptop-mode-tools est déjà la version la plus récente (1.72-3).
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
1 partiellement installés ou enlevés.
Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] 
Paramétrage de laptop-mode-tools (1.72-3) ...
Created symlink /etc/systemd/system/multi-user.target.wants/laptop-mode.timer → /lib/systemd/system/laptop-mode.timer.
Created symlink /etc/systemd/system/multi-user.target.wants/lmt-poll.service → /lib/systemd/system/lmt-poll.service.

root@debian:~# dpkg -l laptop-mode-tools
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom               Version      Architecture Description
+++-=================-============-============-==================================================
ii  laptop-mode-tools 1.72-3       all          Tools for Power Savings based on battery/AC status

Pas génial tout ça :face_with_raised_eyebrow:

systemctl status laptop-mode.service
● laptop-mode.service - Laptop Mode Tools
   Loaded: loaded (/lib/systemd/system/laptop-mode.service; enabled; vendor preset: enabled)
   Active: active (exited) since Tue 2018-12-04 10:59:39 CET; 23min ago
     Docs: man:laptop_mode(8)
           man:laptop-mode.conf(8)
           http://github.com/rickysarraf/laptop-mode-tools
  Process: 7875 ExecReload=/usr/sbin/laptop_mode auto (code=exited, status=0/SUCCESS)
 Main PID: 5819 (code=exited, status=0/SUCCESS)

déc. 04 11:16:12 debian laptop_mode[7786]: enabled, not active [unchanged]
déc. 04 11:16:12 debian systemd[1]: Reloaded Laptop Mode Tools.
déc. 04 11:19:12 debian systemd[1]: Reloading Laptop Mode Tools.
déc. 04 11:19:12 debian laptop_mode[7834]: Laptop mode
déc. 04 11:19:12 debian laptop_mode[7834]: enabled, not active [unchanged]
déc. 04 11:19:12 debian systemd[1]: Reloaded Laptop Mode Tools.
déc. 04 11:22:12 debian systemd[1]: Reloading Laptop Mode Tools.
déc. 04 11:22:12 debian laptop_mode[7875]: Laptop mode
déc. 04 11:22:12 debian laptop_mode[7875]: enabled, not active [unchanged]
déc. 04 11:22:12 debian systemd[1]: Reloaded Laptop Mode Tools.

Est-ce pareil pour vous?


#2

Testé l’installation en direct, aucun souci pour moi, sur un portable (!) en x64 testing.
Ça fait pas avancer le schmilblick, mon message.


#3

Pas testé, mais

indique un post-inst qui pose potentiellement problème. A la fin de ce fichier (/var/lib/dpkg/info/laptop-mode-tools.postinst), selon la méthode d’empaquetage choisie par le mainteneur, tu auras probablement à la fin des lignes ajoutées par les scripts debhelper, du style (je précise que j’ai juste pris un fichier post-inst d’un autre paquet et remplacé le nom du paquet par laptop-mode-tools, donc il faudrait vérifier avec le vrai script de laptop-mode-tools, mais je n’ai pas de quoi faire cette vérif):

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

# Automatically added by dh_installinit
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]; then
        if [ -x "/etc/init.d/laptop-mode-tools" ]; then
                update-rc.d laptop-mode-tools defaults >/dev/null
                if [ -n "$2" ]; then
                        _dh_action=restart
                else
                        _dh_action=start
                fi
                invoke-rc.d laptop-mode-tools $_dh_action || exit $?
        fi
fi
# End automatically added section

Tu aurais donc eu un invoke-rc.d laptop-mode-tools restart qui aurait échoué, mais je n’arrive pas bien à comprendre pourquoi il est entré dans ce cas de figure (quel était l’argument présent en 2e position de l’appel au script, après ‘configure’), au lieu de juste faire invoke-rc.d laptop-mode-tools start

Pour creuser plus avant il faudrait:

  • supprimer (purger) le paquet
  • refaire l’installation pour reproduire le problème
  • éditer le script postinst pour ajouter set -x au début, et relancer l’installation avec dpkg-(re)configure laptop-mode-tools

Bon, pas certain que ça en vaille la peine dans ton cas, l’important étant que le laptop-mode-tools fonctionne.


#4

Non reproduit, encore un mystère de l’informatique ou de l’influence des trous noirs :upside_down_face: