[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: systemd i la mare que el va...



Hola,

Ja està arreglat. Per si algú es troba amb el mateix, aquest patch funciona, a /lib/lsb/init-functions.d/40-systemd:

diff --git a/debian/init-functions.d/40-systemd b/debian/init-functions.d/40-systemd
index 3260d84..1e6ca11 100644
--- a/debian/init-functions.d/40-systemd
+++ b/debian/init-functions.d/40-systemd
@@ -33,6 +33,7 @@ fi
 systemctl_redirect () {
     local s
     local rc
+    local args
     local prog=${1##*/}
     local command=$2
 
@@ -53,6 +54,11 @@ systemctl_redirect () {
 
     service="${prog%.sh}.service"
 
+    # This is a workaround for users which start services via hook scripts
+    # during early boot which can lead to deadlocks.
+    if systemctl list-jobs | grep -q -E "(network|sysinit)\.target" ; then
+        args="--no-block"
+    fi
     # Don't try to run masked services. Don't check for errors, if
     # this errors, we'll just call systemctl and possibly explode
     # there.
@@ -60,7 +66,7 @@ systemctl_redirect () {
     [ "$state" = "LoadState=masked" ] && return 0
 
     [ "$command" = status ] || log_daemon_msg "$s" "$service"
-    /bin/systemctl $command "$service"
+    /bin/systemctl $args $command "$service"
     rc=$?
     [ "$command" = status ] || log_end_msg $rc
 
Ara i ja des de la calma... algú em pot explicar en paraules planeres el què i el perquè de systemd a Debian? Perquè és millor que el que hi havia? O perquè és tant dolent que un grup no despreciable de sysadmins i desenvolupadors de Debian han preferit un fork a haver de passar pel tubo?

Gràcies

Ricard

2014-12-07 21:41 GMT+01:00 Ricard Pradell <009ricard@gmail.com>:

No, amb mode restabliment passa el mateix. Confirmo que comentant les entrades al fstab (gràcies, knoppix 7), el sistema arrenca. Hi ha un tros de codi a /etc/network/if-up.d/mountnfs que teòricament és per arreglar això:

# Skip the mountnfs hook when being triggered by the networking SysV init
# script and instead use the systemd built-in mechanisms to mount remote
# file systems.
# This avoids a deadlock caused by the rpcbind SysV init script depending
# on $network and the $network LSB facility being provided by the networking
# SysV init script.
if [ -d /run/systemd/system ]; then
        systemctl list-jobs | grep -q network.target && exit 0
fi

però en el meu cas no ho arregla. Lo més estrany és que sí sembla funcionar en un portàtil que té la mateixa versió de Debian i les mateixes entrades a fstab per muntar les particions remotes. No ho entenc (?).

Ricard


Pots arrencar amb l'opció "mode de restabliment" o "recovery mode" del menú d'inici del grub?


Reply to: