Forum Linux.debian/ubuntu Éclaircissement du processus de démarrage debian

Posté par  . Licence CC By‑SA.
Étiquettes :
1
26
juin
2017

Bonjour à tous,

Je me renseigne en ce moment sur l'initialisation d'un système debian.

Le sujet serait plutôt basé autour des scripts d'initialisation et du système associé plutôt que sur l'initialisation des périphériques hardwares.

Quelques références :
http://www.linux-france.org/article/sys/init-jaco/init-jaco-6.html
https://technique.arscenic.org/
https://www.debian.org/doc/manuals/debian-reference/
http://www.admin-sys.org/

Auriez-vous un site pour l'explication de l'initialisation en terme d'arborescence ?

Aussi, je rencontre plusieurs fichiers d'initialisation dans le cadre du projet turtl de framacloud :
/etc/rc.local
/usr/local/etc/init.d/rethinkdb
/etc/init.d/nginx
/etc/systemd/system/turtl.service
-> /etc/systemd/system/rethinkdb.service ou /usr/lib/systemd/system/rethinkdb@.service
-> /usr/local/etc/init.d/rethinkdb

Dans ce projet j'aimerais surtout savoir comment initialiser un service au démarrage de debian proprement.

Merci par avance.

  • # Cours init debian & init serveur turtl

    Posté par  . Évalué à 1. Dernière modification le 26/06/17 à 13:10.

    Bonjour,

    Voici un résumé de ce que j'ai travaillé (cours vs cas particulier serveur turtl).

    COURS INIT DEBIAN :

    l'init de la debian :
    démarre son arborescence sous /etc

    initialisation de type System V et place ses fichiers sous /etc

    si /etc/inittab -> /etc/initscript
    sinon /etc/initscript

    /etc/rc.config : configurer certaines variables
    nécessaires à l'exécution des scripts.

    dossier /etc/rc.boot : contient les scripts à lancer
    au démarrage (configuration des ports séries et du clavier par exemple)

    /etc/init.d/rc.S : /etc/init.d/rc.S : script init système

    On trouve en effet le répertoire /etc/init.d qui contient les véritables
    scripts (dont le script « maître » rc) et les répertoires /etc/rcn.d où n va de 0 à 6,
    ou vaut S. Il s'agit là d'une arborescence System V pure (comme SCO Unix et Irix).

    Aussi : .bashrc


    CAS SERVEUR TURTL :

    FICHIERS PRESENT INIT SERVEUR TURTL

    RETHINKDB :

    /etc/init.d/rethinkdb
    /etc/rethinkdb/instances.d/

    /etc/systemd/system/multi-user.target.wants/rethinkdb@user1.service—créé par
    /etc/systemd/system/rethinkdb.service
    /usr/lib/systemd/system/rethinkdb@.service

    2 fichiers en conflit :
    /usr/local/etc/init.d/rethinkdb
    /etc/rc.local -> y écrire "sudo /usr/local/bin/rethinkdb --server-name rbpi_rethinkdb --daemon"

    TURTL :

    /etc/systemd/system/turtl.service
    -> /etc/systemd/system/rethinkdb.service ou /usr/lib/systemd/system/rethinkdb@.service (user1 dedans) => mettre peut etre l'option—daemon !!
    -> /usr/local/etc/init.d/rethinkdb

    NGINX :

    /etc/init.d/nginx

    J'ai encore du travail, j'ai du mal à épurer les fichiers pour une init correct encore.

    • [^] # Re: Cours init debian & init serveur turtl

      Posté par  (site Web personnel) . Évalué à 4. Dernière modification le 26/06/17 à 13:33.

      Hello,

      Il serait utile que tu nous précise quelle version de Debian tu utilises, car sysv n'est plus présent (par défaut) sur Debian depuis la version 8 nommée "Jessie". Il y a bien une couche de compatibilité pour que les scripts sysv fonctionnent encore, mais sinon c'est systemd qui gère tout le processus de démarrage.

      Pour systemd, voici quelques wiki qui pourraient t'intéresser:

      • Wiki de Debian (mélange pas mal de choses, mais contient l'essentiel sous "Managing services with systemd")
      • Wiki d'Archlinux (beaucoup plus complet, notamment la section "Writing unit file" qui aidera pour crée son propre service).
      • la documentation de systemd (man): systemctl, systemd.service, systemd.unit, systemd.timer, systemd.path, …
      • [^] # Re: Cours init debian & init serveur turtl

        Posté par  . Évalué à 1.

        Je suis sur une distribution raspbian jessie lite sans console : lien du dl.

        Mon processeur est un armv5l, j'ai du compiler rethinkdb sur ma raspberry-pi2 avec ce lien :
        Compilation raspibian

        Je me pose la question mais du coup c'est par exemple un script /etc/init.d/rethinkdb qui lance le fichier /etc/systemd/system/rethinkdb.service ?

        Quelqu'un a précisé pour démarrer Rethinkdb :
        /etc/rc.local -> y écrire "sudo /usr/local/bin/rethinkdb --server-name rbpi_rethinkdb --daemon"

        Ils parlent d'init.d et de systemd pour rethinkdb :
        Projet rethinkdb

        Donc il est vrai que je me noie un peu dans toutes les possibilités des fichiers d'init.


        En dehors de rethinkdb, il y a turtl qui je pense ne se lance qu'avec systemctl :
        systemctl daemon-reload
        systemctl start turtl
        systemctl enable turtl

        Lien projet turtl framasoft
        Blog d'un raspbianniste pour turtl


        J'essaie de gérer les inits si jamais je redémarre, ici turtl n'est pas configuré pour démarrer en auto sur le lien principale mais avec les 3 cmd systemctl

        • [^] # Re: Cours init debian & init serveur turtl

          Posté par  . Évalué à 3.

          systemctl start le lance à la main, mais systemctl enable l'enregistre pour un démarrage auto, donc normalement une fois ceci tapé, il devrait démarré automatiquement au prochain boot.

          En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

Suivre le flux des commentaires

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