logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 27-02-2021 20:07:17

jpt
Banni(e)
Distrib. : Debian 10.8
Noyau : Linux 5.7.10 (backports)
(G)UI : LXDE
Inscription : 12-09-2020

Sortie étrange d'un commande systemd

Bonsoir,

quand j'exécute la commande suivante, j'ai un résultat vraiment bizarre :

$ service vboxadd status
[color=green]●[/color] vboxadd.service
   Loaded: loaded (/opt/VBoxGuestAdditions-6.1.18/init/vboxadd; enabled; vendor preset: enabled)
   Active: active (exited) since Sat 2021-02-27 19:34:15 CET; 1min 4s ago
  Process: 383 ExecStart=/opt/VBoxGuestAdditions-6.1.18/init/vboxadd start (code=exited, status=0/SUCCESS)
 Main PID: 383 (code=exited, status=0/SUCCESS)

févr. 27 19:34:07 deb108 vboxadd[383]: modules.  This may take a while.
févr. 27 19:34:07 deb108 vboxadd[383]: VirtualBox Guest Additions: To build modules for other installed kernels, run
févr. 27 19:34:07 deb108 vboxadd[383]: VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup <version>
févr. 27 19:34:07 deb108 vboxadd[383]: VirtualBox Guest Additions: or
févr. 27 19:34:07 deb108 vboxadd[383]: VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup all
févr. 27 19:34:14 deb108 useradd[507]: failed adding user 'vboxadd', data deleted
févr. 27 19:34:14 deb108 useradd[508]: failed adding user 'vboxadd', data deleted
févr. 27 19:34:14 deb108 vboxadd[383]: VirtualBox Guest Additions: Running kernel modules will not be replaced until
févr. 27 19:34:14 deb108 vboxadd[383]: the system is restarted
févr. 27 19:34:15 deb108 systemd[1]: Started vboxadd.service.


À titre de comparaison, la même commande avec une autre cible, et on voit bien que la sortie est plus parlante et bien différente :

$ service rsyslog status
[color=green]●[/color] rsyslog.service - System Logging Service
   Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2021-02-27 19:34:06 CET; 4min 50s ago
     Docs: man:rsyslogd(8)
           https://www.rsyslog.com/doc/
 Main PID: 375 (rsyslogd)
    Tasks: 4 (limit: 1158)
   Memory: 2.7M
   CGroup: /system.slice/rsyslog.service
           └─375 /usr/sbin/rsyslogd -n -iNONE

févr. 27 19:34:06 deb108 systemd[1]: Starting System Logging Service...
févr. 27 19:34:06 deb108 rsyslogd[375]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd.  [v8.1901.0]
févr. 27 19:34:06 deb108 rsyslogd[375]:  [origin software="rsyslogd" swVersion="8.1901.0" x-pid="375" x-info="https://www.rsyslog.com"] start
févr. 27 19:34:06 deb108 systemd[1]: Started System Logging Service.


Dans la sortie de VirtualBox, que vient faire la ligne

Process: 383 ExecStart=/opt/VBoxGuestAdditions-6.1.18/init/vboxadd start

dont on dirait bien que c'est l'activation d'un des scripts des Guest Additions : contenu de /opt/VBoxGuestAdditions-6.1.18/init/vboxadd (extrait du script, ligne 406 et suivantes  ) :

# setup_script
setup()
{
    # chcon is needed on old Fedora/Redhat systems.  No one remembers which.
    test ! -e /etc/selinux/config ||
        chcon -t bin_t "$BUILDINTMP" 2>/dev/null

    if test -z "$INSTALL_NO_MODULE_BUILDS"; then
        info "Building the VirtualBox Guest Additions kernel modules.  This may take a while."
        info "To build modules for other installed kernels, run"
        info "  /sbin/rcvboxadd quicksetup <version>"
        info "or"
        info "  /sbin/rcvboxadd quicksetup all"
    fi

    create_vbox_user [ligne 428]
    create_udev_rule
    test -n "${INSTALL_NO_MODULE_BUILDS}" || create_module_rebuild_script
    shared_folder_setup
    if  running_vboxguest || running_vboxadd; then
        info "Running kernel modules will not be replaced until the system is restarted"
    fi

create_vbox_user() [ligne 322 et suivantes]
{
    # This is the LSB version of useradd and should work on recent
    # distributions
    useradd -d /var/run/vboxadd -g 1 -r -s /bin/false vboxadd >/dev/null 2>&1 || true
    # And for the others, we choose a UID ourselves
    useradd -d /var/run/vboxadd -g 1 -u 501 -o -s /bin/false vboxadd >/dev/null 2>&1 || true
}


Et les 2 lignes de texte entre ces 2 blocs ("failed adding user…") doivent se trouver quelque part dans le binaire useradd.

Conclusion : on dirait que systemd lance le script d'install à chaque boot ; c'est normal, ça ? C'est le comportement attendu ?
Voilà ce que je trouve dans /var/log/messages :

Feb 27 19:34:15 deb108 vboxadd-service.sh: Starting VirtualBox Guest Addition service.
Feb 27 19:34:15 deb108 vboxadd-service.sh: VirtualBox Guest Addition service started.


Il est intéressant de comparer les time stamps, entre juste au-dessus et tout en haut car un truc m'échappe, là : le service est lancé à 19:34:15 mais s'exécute à 19:34:07, quelle pagaille !

Un dernier mot : j'ai découvert ce service en examinant la liste des services avec

systemctl list-units --no-pager --type=service --state=running

.Merci du retour,

Dernière modification par jpt (27-02-2021 20:13:08)


AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War

Hors ligne

#2 27-02-2021 22:31:47

vv222
Administrateur
Lieu : Bretagne
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : Sortie étrange d'un commande systemd

Ton service n'est pas fourni par un paquet des dépôts Debian.
Partant de là ça va être quasiment impossible de te dépanner sans savoir d'où il vient, et comment tu l'as installé.

Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

Hors ligne

#3 28-02-2021 11:36:09

jpt
Banni(e)
Distrib. : Debian 10.8
Noyau : Linux 5.7.10 (backports)
(G)UI : LXDE
Inscription : 12-09-2020

Re : Sortie étrange d'un commande systemd

Bonjour,

vv222 a écrit :

Ton service n'est pas fourni par un paquet des dépôts Debian.

Ah ! scratchhead.gif
Pourtant, dans le source.list du host il y a

# virtualbox
deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian/ buster contrib

et comme j'ai autorisé depuis l'ihm de VBox les mises à jour automatiques, c'est donc ce process qui récupère également les Guest Additions, plus qu'à les installer en passant par le menu qui va bien de la machine virtuelle concernée (après avoir vérifié que les paquets nécessaires à la compilation des modules soient présents).

Dans synaptic je lis 6.1.18-142142-Debian-buster (et c'est la dernière version disponible),
et dans Aide / À propos de l'ihm VBox je trouve version 6.1.18 r142142 (Qt5.11.3).

---
J'ai un peu regardé le code de

/opt/VBoxGuestAdditions-6.1.18/init/vboxadd

, ça concerne typiquement un script d'install/desinstall…

La bonne question c'est : qui fournit vboxadd.service ?

$ locate vboxadd.service
/etc/systemd/system/multi-user.target.wants/vboxadd.service
/usr/lib/systemd/system/vboxadd.service

$ ls -AlGg /usr/lib/systemd/system/vboxadd*
-rw-r--r-- 1 502 févr. 17 13:23 /usr/lib/systemd/system/vboxadd.service
-rw-r--r-- 1 543 févr. 17 13:23 /usr/lib/systemd/system/vboxadd-service.service

$ ls -AlGg /etc/systemd/system/multi-user.target.wants/vboxadd*
lrwxrwxrwx 1 35 févr. 17 13:23 /etc/systemd/system/multi-user.target.wants/vboxadd.service -> /lib/systemd/system/vboxadd.service
lrwxrwxrwx 1 43 févr. 17 13:23 /etc/systemd/system/multi-user.target.wants/vboxadd-service.service -> /lib/systemd/system/vboxadd-service.service
 


Mais dans ce dossier .../init/, on trouve également un fichier vboxadd-service, qui contient tout ce qu'il faut pour démarrer/arrêter un service
Peut-on déduire de tout ça que c'est Oracle qui s'est pris les pieds dans le tapis ?

Ce script n'est pas clair : j'y trouve

vboxaddrunning() {
    lsmod | grep -q "vboxguest[^_-]"
}

alors je tape cette ligne et ça ne me retourne rien, mais comme je ne comprends pas ce qu'elle est sensée récupérer, je fais à ma manière et là c'est mieux :

$ lsmod | grep -q "vboxguest[^_-]"
$ lsmod | grep -i vboxgues*
vboxguest             352256  2 vboxsf
 


Je me demande si ce second fichier vboxadd-service avec son nom chelou et son trait d'union n'a pas mis le bronx dans un systemd chatouilleux de ce côté...

Parce que si je regarde dans /usr/lib/systemd/system/vboxadd-service.service, j'y trouve

ExecStart=/opt/VBoxGuestAdditions-6.1.18/init/vboxadd-service start
ExecStop=/opt/VBoxGuestAdditions-6.1.18/init/vboxadd-service stop

, qui correspondrait mieux au lancement du service des GA's.

Merci pour les retours,

Dernière modification par jpt (28-02-2021 11:44:14)


AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War

Hors ligne

#4 28-02-2021 13:35:22

jpt
Banni(e)
Distrib. : Debian 10.8
Noyau : Linux 5.7.10 (backports)
(G)UI : LXDE
Inscription : 12-09-2020

Re : Sortie étrange d'un commande systemd

Bon, j'ai peut-être trouvé la solution :

D'abord j'ai testé ça

$ systemctl disable vboxadd
Removed /etc/systemd/system/multi-user.target.wants/vboxadd.service.

et j'ai rebooté et, ma foi, pas de souci, par contre un boot beaucoup plus rapide, si si !

Alors j'ai vérifié :

$ service vboxadd status
● vboxadd.service
   Loaded: loaded (/opt/VBoxGuestAdditions-6.1.18/init/vboxadd; disabled; vendor preset: enabled)
   Active: inactive (dead)

Et donc j'ai insisté dans ce sens :

$ systemctl mask vboxadd
Created symlink /etc/systemd/system/vboxadd.service → /dev/null.

Et là, le boot a été encore plus rapide, alors le monsieur il est content, très content !

Ce qui m'a mis la puce à l'oreille, c'est d'examiner le fichier d'install (sur l'iso, VBoxLinuxAdditions.run) où l'on trouve des choses genre

"$INSTALLATION_DIR"/init/vboxadd setup 2>&1 | tee -a "$LOGFILE"

# Install, set up and start init scripts
install_init_script "$INSTALLATION_DIR"/init/vboxadd vboxadd 2>> "$LOGFILE"
install_init_script "$INSTALLATION_DIR"/init/vboxadd-service vboxadd-service 2>> "$LOGFILE"
finish_init_script_install
addrunlevel vboxadd 2>> "$LOGFILE"
addrunlevel vboxadd-service 2>> "$LOGFILE"
start_init_script vboxadd 2>> "$LOGFILE"
start_init_script vboxadd-service 2>> "$LOGFILE"


, de là je suis allé voir dans

/etc/systemd/system/multi-user.target.wants/

où j'ai trouvé vboxadd.service et vboxadd-service.service, et je me suis dit qu'il n'y avait aucune bonne raison de lancer à chaque boot l'installation des GA, d'où la désactivation du service.

Vais rester comme ça quelques jours, voir comment ça se comporte.
Dans l'attente, faudrait que d'autres testent chez eux, en partant d'un host Linux et de guest(s) Linux aussi.
Ça ne casse rien, je vous rassure, et les dossiers partagés continuent à fonctionner, pas'd'souci.

Un dernier mot : le résultat maintenant de la commande qui m'a récemment alerté :

$ service vboxadd status
● vboxadd.service
   Loaded: masked (Reason: Unit vboxadd.service is masked.)
   Active: inactive (dead)


PAR-FAIT !

Dernière modification par jpt (28-02-2021 13:36:32)


AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War

Hors ligne

#5 28-02-2021 18:46:39

jpt
Banni(e)
Distrib. : Debian 10.8
Noyau : Linux 5.7.10 (backports)
(G)UI : LXDE
Inscription : 12-09-2020

Re : Sortie étrange d'un commande systemd

Bonsoir,

pour ne pas mourir idiot, après une longue promenade en campagne sous un beau soleil, j'ai rallumé le host, je n'ai pas touché à la machine de ce matin, j'en ai lancé une autre à base de Xfce, et une fois up 'n' running, j'ai tapé les deux commandes qui vont bien :

$ systemctl disable vboxadd
Removed /etc/systemd/system/multi-user.target.wants/vboxadd.service.

$ systemctl mask vboxadd
Created symlink /etc/systemd/system/vboxadd.service → /dev/null.
 

et j'ai rebooté.

Avant le reboot :

$ systemd-analyze
Startup finished in 3.140s (kernel) + 9.901s (userspace) = 13.042s
graphical.target reached after 9.882s in userspace

Après le reboot :

$ systemd-analyze
Startup finished in 2.521s (kernel) + 2.767s (userspace) = 5.289s
graphical.target reached after 1.981s in userspace


Vu ? 5 secondes au lieu de 13, que du bonheur ! cool


AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War

Hors ligne

#6 01-03-2021 11:55:31

jpt
Banni(e)
Distrib. : Debian 10.8
Noyau : Linux 5.7.10 (backports)
(G)UI : LXDE
Inscription : 12-09-2020

Re : Sortie étrange d'un commande systemd

Bonjour,

Ce matin j'ai testé ma trouvaille dans une mv basée sur DF10-6.1, pas allumée depuis plus d'un mois, donc d'abord je me suis tapé une mise à jour sans rien pour le signaler (:rolleyes:) mais maintenant je connais le truc donc

$ systemd-analyze
Bootup is not yet finished (org.freedesktop.systemd1.Manager.FinishTimestampMonotonic=0).
Please try again later.
Hint: Use 'systemctl list-jobs' to see active jobs

$ ps ax | grep unattended

et s'il y a plus de deux lignes dans la sortie c'est qu'il y a une mise à jour en cours, donc waiting…

Ensuite reboot pour avoir un timing propre puis

$ systemd-analyze
Startup finished in 4.605s (kernel) + 15.360s (userspace) = 19.965s
graphical.target reached after 15.239s in userspace

$ systemctl disable vboxadd
Removed /etc/systemd/system/multi-user.target.wants/vboxadd.service.

$ systemctl mask vboxadd
Created symlink /etc/systemd/system/vboxadd.service → /dev/null.

$ reboot

$ systemd-analyze
Startup finished in 3.807s (kernel) + 5.673s (userspace) = 9.480s
graphical.target reached after 5.526s in userspace


Et voilà : 10 secondes de gagnées, ça change vraiment la vie. cool cool cool

Je crois que je tiens le bon bout sur ce coup-là. Pas de volontaires pour tester ?

EDIT :
À force de creuser ici et là, j'ai quand même trouvé une différence entre le service vboxadd désactivé :

$ lsmod | grep -i vbox
Module                  Size  Used by
vboxguest             352256  5


et activé :

$ lsmod | grep -i vbox
Module                  Size  Used by
vboxvideo              49152  0
vboxguest             352256  1
ttm                   126976  2 vmwgfx,vboxvideo
drm_kms_helper        208896  2 vmwgfx,vboxvideo
drm                   495616  7 vmwgfx,drm_kms_helper,vboxvideo,ttm


Maintenant, est-ce que ça a une grande importance, dans la mesure où je ne vois pour l'instant aucune différence à l'usage ? /EDIT

Dernière modification par jpt (01-03-2021 13:15:06)


AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War

Hors ligne

Pied de page des forums