Journal Upstart dans Debian

Posté par  (site web personnel) .
Étiquettes :
13
7
sept.
2009
J'ai encore rien vu ici sur ce sujet. Debian semble vouloir remplacer le SysV init par upstart, comme annoncé sur la liste de "debian-devel-announce"[1] (le 5 septembre 09).
L'intégration d'upstart est prévue pour Debian Squeeze (donc la prochaine version. La période de freeze commence en décembre 09[2]). Afin d'éviter les problèmes lors de la mise à jour de Lenny (stable) à Squeeze, la possibilité de garder la méthode SysV init sera donnée. Par contre toutes les nouvelles installations auront upstart.
Comme la spécification "Linux Standard Base" réclame le support des scripts init.d, Debian continuera à supporter ces scripts.

Une discussion sur les init a eu lieu, il y a pas longtemps, sur linuxfr[3].

[1]http://lists.debian.org/debian-devel-announce/2009/09/msg000(...)
[2]http://linuxfr.org/2009/07/29/25776.htm
[3]http://linuxfr.org/~steckdenis/28732.html
  • # Bien entendu ...

    Posté par  (site web personnel) . Évalué à 3.

    ... il manque les "l" à la fin de l'url :

    [1]http://lists.debian.org/debian-devel-announce/2009/09/msg000(...)
    [2]http://linuxfr.org/2009/07/29/25776.html

    Désolé.

    "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

  • # C'est une annonce

    Posté par  (site web personnel) . Évalué à 2.

    J'ai lu cela comme une annonce du scénario le plus probable... A mon sens, c'est pas encore tranché définitivement pour squeeze car il faut intégrer dans upstart la gestion des scripts init pour être conforme a la LSB.

    Dans le même ordre d'idée, debian va aussi basculer vers GRUB2 pour Squeeze, si cela marche bien entendu.
    • [^] # Re: C'est une annonce

      Posté par  (site web personnel) . Évalué à 5.

      >il faut intégrer dans upstart la gestion des scripts init pour être conforme a la LSB.

      C'est déjà ce que fait le package upstart présent sous SID. Et en fait, c'est aussi ce que fait upstart sous Ubuntu: Lancer les scripts de sysvinit.

      Ubuntu prévoie une migration complète vers upstart pour la 10.04 il me semble... En clair, Debian peut très bien sortir une version Stable avec upstart mais sans la migration effectué... Car au final, upstart actuellement, ca ne change absolument rien...
      • [^] # Re: C'est une annonce

        Posté par  (site web personnel) . Évalué à 3.

        Je me réferrais a ce bout de mail sur la liste

        "
        To solve the fundamental problem, the plan is to replace /sbin/init
        with an implementation that is able to handle kernel events. It will
        allow us to modify the boot system for the early boot to become event
        based, while keeping the existing boot stuff working. We could rewrite
        sysvinit to become event based, or have a look at the existing boot
        systems that handle kernel events. After checking the options and the
        systems used in other distributions, upstart seems like the most
        promising candidate. It is used by Ubuntu and Fedora at the moment,
        and solves the problem in a backwards compatible way. The plan is to
        change upstart to actually use /etc/inittab, to ease the switch
        between sysvinit and upstart. We will also change the init.d script
        handling to treat upstart jobs as init.d scripts, to provide an
        alternative for architectures lacking upstart support. These changes
        should make it transparent for the users which package provides
        /sbin/init, and thus make it easier to migrate from sysvinit to
        upstart.
        "
  • # Upstart ?

    Posté par  . Évalué à 3.

    Ma Sid m'a récemment proposé de passer au "démarrage parallèle", ce que j'ai fait. Pourtant, je n'ai pas upstart d'installé sur mon système. Des infos ?

    (GRUB2 est aussi arrivé en même temps au passage)
    • [^] # Re: Upstart ?

      Posté par  . Évalué à 4.

      apt-get install insserv; echo CONCURRENCY=startpar >> /etc/default/rcS

      Le premier réordonne les script pour tenir compte des dépendances,
      le second active la gestion de la concurence au niveau d init (celle ci étant basée sur celle du shell (&) ou très proche, il y a d'ailleurs un concurence=shell)

      Refs:
      http://wiki.debian.org/BootProcessSpeedup#Parallelizinginit.(...)
      http://www.debian-administration.org/article/Make_Debian_boo(...)

      Par contre la question que tu as eu voir doit être celle de l'install d insserv (pour a t il été installé subitement ? question ...), si tu n'as pas modifié concurrency ça n'aura aucun effet.
      • [^] # Re: Upstart ?

        Posté par  . Évalué à 3.

        C'est effectivement ça : insserv a été installé et j'ai fait la migration "automatiquement" (j'ai du aptitude purge certains vieux restes). Je n'avais pas activé le truc avec CONCURRENCY=... car je ne l'ai vu indiqué nulle part lors de l'upgrade ... bizarre (car en général tout est super bien indiqué, comme pour le passage à GRUB2, et même l'install d'insserv était super-claire).

        Je l'ai ajouté, j'attend le prochain boot pour vérifier si ça va plus vite ...

        Par contre, pour revenir à la question originale, quelle différence avec upstart ?
        • [^] # Re: Upstart ?

          Posté par  . Évalué à 4.

          Ca utilise init , les scripts classiques d init, en fait c est juste un hack dans rc:
          au lieu de faire for x in /etc/rc$mode.d/S*; do $x start; done;
          ça fait for x in /etc/rc$mode.d/S*; do $x start &; done;

          (Grosso modo, d'ailleurs ça se doit être concurency="shell", startpar doit être une fonction un poil plus évoluée).

          Après les avantages et inconveignents, je te laisse deviner (LSB, historique tout ça) :)
        • [^] # Re: Upstart ?

          Posté par  . Évalué à 4.

          Insserv, c'est le présent (enfin, en test) : démarrage des scripts en parallèle d'après une définition des dépendances décrites dans les entêtes LSB des scripts d'init. Insserv réordonnance le démarrage de ces services en fonction des dépendances des scripts installés ; le système init utilise startpar pour les démarrer en parallèle (à la manière d'un makefile depuis les dernières versions de sysvinit).
          Upstart, c'est le futur, où des serices seraient lancés par des événements système… La difficulté est d'adapter upstart pour pouvoir passer sans trop de casse d'un système de démarrage à l'autre.

          • [^] # Re: Upstart ?

            Posté par  . Évalué à 2.

            OK, donc pour le boot les deux sont pareil, c'est juste que pour le côté "orienté évènement", il n'y a que upstart qui le fait ... Merci.
            • [^] # Re: Upstart ?

              Posté par  . Évalué à 2.

              pas forcément: init sait capturer une combinaison de touches ou quelques messages (man inittab). On peut aussi dedier la gestion des evenements a un process lancé directement dans inittab, typiquement:


              !#/bin/sh
              while : ; do
              [ -f /dev/sdb ] && pvscan
              sleep 5;
              done;

              (exemple debile)

              Ca a l'avantage de rester plus proche et compatible d'unix qu'upstart...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.