Subversion Repositories svn LFS-FR

Rev

Rev 6646 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 <!ENTITY % general-entities SYSTEM "../../general.ent">
  %general-entities;
]>
<sect1 id="ch-system-systemd" role="wrap">
  <?dbhtml filename="systemd.html"?>

  <title>Systemd-&systemd-version;</title>

  <indexterm zone="ch-system-systemd">
    <primary sortas="a-systemd">Systemd</primary>
  </indexterm>

  <sect2 role="package">
    <title/>

    <para>Le paquet systemd est un gestionaire de système de service pour les OS linux.</para>

  </sect2>

  <sect2 role="installation">
    <title>Installation de Systemd</title>

    <para os="p1">Systemd 209 regroupe plusieurs bibliothèques dans
    <filename class="libraryfile">libsystemd</filename>, mais certains paquets qui utilise systemd gardent
    ces bibliothèques séparées. Appliquez un correctif pour permettre la compatiblité descendante avec ces paquets en
    installant les fichiers Pkg-config pour les anciennes bibliothèques:</para>

<screen os="p2"><userinput>patch -Np1 -i ../&systemd-compat-patch;</userinput></screen>

    <para os="s1">Empêchez le <filename>Makefile</filename> d'essayer de lancer
    <command>setcap</command> dans <command>systemd-detect-virt</command>,
    ce qui échouera si le noyau ou le système de fichiers ne supporte pas les capacités étendues:</para>

<screen os="s2"><userinput>sed -i '/virt-install-hook /d' Makefile.in</userinput></screen>

    <para os="s3">Le fichier <filename>timesyncd.conf</filename> contient une référence à une page de manuel non-existante
    <filename>timesyncd.conf(5)</filename>. Supprimez cette référence pour éviter les confusions possibles:</para>

<screen os="s4"><userinput>sed -i '/timesyncd.conf/d' src/timesync/timesyncd.conf.in</userinput></screen>

    <para os="s5">Par défaut, <command>systemd-fsck</command> lancera
    <filename>/sbin/fsck</filename> avec l'option <option>-l</option>, ce qui applique un
    <function>flock</function> sur le système de fichier qui est en cours de vérification.
    Cela peut être un conflit avec un <function>flock</function> que
    systemd mets lui-même sur le système de fichier, qui peut poser des problèmes au démarrage.
    <command>fsck</command> sera corrgié pour éviter ce problème dans une future version de
    Util-linux, mais pour le moment nous contournerons le problème en empêchant simplement
    <command>systemd-fsck</command> d'utiliser <option>-l</option>:</para>

<screen os="s6"><userinput>sed -i '/-l/d' src/fsck/fsck.c</userinput></screen>

    <para os="a">Préparez systemd pour la compilation:</para>

<screen os="b"><userinput>./configure --prefix=/usr \
    --sysconfdir=/etc --localstatedir=/var \
    --libexecdir=/usr/lib --docdir=/usr/share/doc/systemd-&systemd-version; \
    --with-rootprefix="" --with-rootlibdir=/lib \
    --enable-split-usr --disable-gudev --with-kbd-loadkeys=/bin/loadkeys \
    --with-kbd-setfont=/bin/setfont --with-dbuspolicydir=/etc/dbus-1/system.d \
    --with-dbusinterfacedir=/usr/share/dbus-1/interfaces \
    --with-dbussessionservicedir=/usr/share/dbus-1/services \
    --with-dbussystemservicedir=/usr/share/dbus-1/system-services \
    cc_cv_CFLAGS__flto=no</userinput></screen>

    <variablelist os="c">
      <title>La signification des options de configuration:</title>

      <varlistentry>
        <term><parameter>--with-root*</parameter></term>
        <listitem>
          <para>Ces paramètres assurent que les programmes coeurs et les bibliothèques partagées sont installées dans
          des sous-répertoires de la partition racine.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><parameter>--enable-split-usr</parameter></term>
        <listitem>
          <para>Ce paramètre assure que systemd fonctionnera sur les systèmes ou les répertoires
          /bin, /lib et /sbin ne sont pas des liens symboliques de leurs homoloques dans /usr.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><parameter>--disable-gudev</parameter></term>
        <listitem>
          <para>Ce paramètre empêche systemd de construire
          <filename class="libraryfile">libgudev</filename> qui demande Glib, qui n'est pas installé dans CLFS.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><parameter>--with-dbus*</parameter></term>
        <listitem>
          <para>Ces pramètres assurent que les fichiers de configuration de D-Bus sont installés aux bons endroits.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><parameter>cc_cv_CFLAGS__flto=no</parameter></term>
        <listitem>
          <para>Cela empêche le système de construction d'utiliser l'optimisation
          Link-time de GCC (LYO), pour permettre que les binaires de systemd ne se lieront pas à
          <filename class="libraryfile">libgcc_s</filename>.</para>
        </listitem>
      </varlistentry>

    </variablelist>

    <para os="d">Compilez le paquet:</para>

<screen os="e"><userinput>make</userinput></screen>

    <para os="f">Empêchez un cas de test cassé de se lancer:</para>

<screen os="g"><userinput remap="test">sed -e "s:test/udev-test.pl::g" \
    -e "s:test-bus-cleanup\$(EXEEXT) ::g" \
    -e "s:test-bus-gvariant\$(EXEEXT) ::g" \
    -i Makefile</userinput></screen>

    <para os="h">Pour testez les résultats, tapez:</para>

<screen os="i"><userinput remap="test">make check</userinput></screen>

    <para os="j">Installez le paquet:</para>

<screen os="k"><userinput>make install</userinput></screen>

    <para os="l">Installez les fichiers de documentation qui ne sont pas installés par défaut:</para>

<screen os="m"><userinput>install -v -m644 man/*.html /usr/share/doc/systemd-&systemd-version;</userinput></screen>

    <para os="n">déplacer la bibliothèque
    <filename class="libraryfile">nss_myhostname</filename> vers
    <filename class="directory">/lib</filename>:</para>

<screen os="o"><userinput>mv -v /usr/lib/libnss_myhostname.so.2 /lib</userinput></screen>

    <para os="p">Supprimez un fichier inutile </para>

<screen os="q"><userinput>rm -rfv /usr/lib/rpm</userinput></screen>

    <para os="r">Créez un lien symbolique pour la compatibilités descendantes avec Sysvinit:</para>

<screen os="s"><userinput>for tool in runlevel reboot shutdown poweroff halt telinit; do
  ln -sfv ../bin/systemctl /sbin/$tool
done
ln -sfv ../lib/systemd/systemd /sbin/init</userinput></screen>

    <para os="t">Modifiez un fichier de configuration qui référence un groupe qui n'existe pas:</para>

<screen os="u"><userinput>sed -i "s@root lock@root root@g" /usr/lib/tmpfiles.d/legacy.conf</userinput></screen>

  </sect2>

  <sect2 id="conf-systemd" role="configuration">
    <title>Configuration de Systemd</title>

    <indexterm zone="conf-systemd">
      <primary sortas="a-systemd">systemd</primary>
    <secondary>configuration</secondary></indexterm>

    <indexterm zone="conf-systemd">
      <primary sortas="e-/etc/os-release">/etc/os-release</primary>
    </indexterm>

    <para>Créez <filename>/etc/machine-id</filename> qui est utilisé par Journald:</para>

<screen><userinput>systemd-machine-id-setup</userinput></screen>

    <para>Créez un fichier pour identifier le système.
    <command>systemd</command> utilisera ce fichier au démarrage pour afficher des informations à l'écran.</para>

<screen><userinput>cat &gt; /etc/os-release &lt;&lt; "EOF"
# Begin /etc/os-release

NAME=Cross-LFS
ID=clfs

PRETTY_NAME=Cross Linux From Scratch
ANSI_COLOR=0;33

VERSION=&version;
VERSION_ID=&versionid;

# End /etc/os-release
EOF</userinput></screen>

  </sect2>

  <sect2 id="contents-systemd" role="content">
    <title>Contenu de Systemd</title>

    <segmentedlist>
      <segtitle>Programmes installés</segtitle>
      <segtitle>Bibliothèques installées</segtitle>
      <segtitle>Répertoires installés</segtitle>

      <seglistitem>
        <seg>bootctl, busctl, halt (lien vers systemctl), hostnamectl,
        init (lien vers systemd), journalctl, kernel-install, localectl, loginctl,
        machinectl, poweroff (lien vers systemctl), reboot (lien vers systemctl),
        runlevel (lien vers systemctl), shutdown (lien vers systemctl),
        systemctl, systemd, system-analyze, systemd-ask-password, systemd-cat,
        systemd-cgls, systemd-cgtop, systemd-coredumpctl, systemd-delta,
        systemd-detect-virt, systemd-inhibit, systemd-machine-id-setup,
        systemd-notify, systemd-nspawn, systemd-run, systemd-stdio-bridge
        (lien vers systemd-bus-proxyd), systemd-tmpfiles,
        systemd-tty-ask-password-agent, telinit (lien vers systemctl),
        timedatectl, udevadm</seg>
        <seg>libnss_myhostname.so, libsystemd.so, libudev.so</seg>
        <seg>/etc/binfmt.d, /etc/init.d, /etc/kernel, /etc/modules-load.d,
        /etc/sysctl.d, /etc/systemd, /etc/tmpfiles.d, /etc/udev,
        /etc/xdg/systemd, /lib/systemd, /lib/udev, /usr/include/systemd,
        /usr/lib/binfmt.d, /usr/lib/kernel, /usr/lib/modules-load.d,
        /usr/lib/sysctl.d, /usr/lib/systemd,
        /usr/share/doc-systemd-&systemd-version;, /usr/share/systemd,
        /usr/share/zsh, /var/lib/systemd</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Descriptions courtes</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="bootctl">
        <term><command>bootctl</command></term>
        <listitem>
          <para>Contrôle les paramètres du firmware et du gestionnaire de démarrage</para>
          <indexterm zone="ch-system-systemd bootctl">
            <primary sortas="b-bootctl">bootctl</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="busctl">
        <term><command>busctl</command></term>
        <listitem>
          <para>Introspecte et surveille le bus D-Bus</para>
          <indexterm zone="ch-system-systemd busctl">
            <primary sortas="b-busctl">busctl</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="halt">
        <term><command>halt</command></term>
        <listitem>
          <para>Arrête, éteind, ou rédémarre la machine</para>
          <indexterm zone="ch-system-systemd halt">
            <primary sortas="b-halt">halt</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="hostnamectl">
        <term><command>hostnamectl</command></term>
        <listitem>
          <para>Contrôle le hostname du système</para>
          <indexterm zone="ch-system-systemd hostnamectl">
            <primary sortas="b-hostnamectl">hostnamectl</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="init">
        <term><command>init</command></term>
        <listitem>
          <para>contrôle le système systemd et le gestionnaire de service</para>
          <indexterm zone="ch-system-systemd init">
            <primary sortas="b-init">init</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="journalctl">
        <term><command>journalctl</command></term>
        <listitem>
          <para>Intérroge le journal de systemd</para>
          <indexterm zone="ch-system-systemd journalctl">
            <primary sortas="b-journalctl">journalctl</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="kernel-install">
        <term><command>kernel-install</command></term>
        <listitem>
          <para>Ajoute et efface les images du noyaux et les initramfs dans
          <filename class="directory">/boot</filename></para>
          <indexterm zone="ch-system-systemd kernel-install">
            <primary sortas="b-kernel-install">kernel-install</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="localectl">
        <term><command>localectl</command></term>
        <listitem>
          <para>Contrôle les locales du système et les paramètres du clavier</para>
          <indexterm zone="ch-system-systemd localectl">
            <primary sortas="b-localectl">localectl</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="loginctl">
        <term><command>loginctl</command></term>
        <listitem>
          <para>Contrôle le gestionnaire de login de systemd</para>
          <indexterm zone="ch-system-systemd loginctl">
            <primary sortas="b-loginctl">loginctl</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="machinectl">
        <term><command>machinectl</command></term>
        <listitem>
          <para>Contrôle le gestionnaire de machines systemd</para>
          <indexterm zone="ch-system-systemd machinectl">
            <primary sortas="b-machinectl">machinectl</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="poweroff">
        <term><command>poweroff</command></term>
        <listitem>
          <para>Arrête, éteind, ou rédémarre la machine</para>
          <indexterm zone="ch-system-systemd poweroff">
            <primary sortas="b-poweroff">poweroff</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="reboot">
        <term><command>reboot</command></term>
        <listitem>
          <para>Arrête, éteind, ou rédémarre la machine</para>
          <indexterm zone="ch-system-systemd reboot">
            <primary sortas="b-reboot">reboot</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="runlevel">
        <term><command>runlevel</command></term>
        <listitem>
          <para>Affiche le niveau d'exécution SysV ancien et actuel.</para>
          <indexterm zone="ch-system-systemd runlevel">
            <primary sortas="b-runlevel">runlevel</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="shutdown">
        <term><command>shutdown</command></term>
        <listitem>
          <para>Arrête, éteind, ou rédémarre la machine</para>
          <indexterm zone="ch-system-systemd shutdown">
            <primary sortas="b-shutdown">shutdown</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemctl">
        <term><command>systemctl</command></term>
        <listitem>
          <para>contrôle le système systemd et le gestionnaire de service</para>
          <indexterm zone="ch-system-systemd systemctl">
            <primary sortas="b-systemctl">systemctl</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd">
        <term><command>systemd</command></term>
        <listitem>
          <para>gestionnaire de système et de service pour linux</para>
          <indexterm zone="ch-system-systemd systemd">
            <primary sortas="b-systemd">systemd</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-analyze">
        <term><command>systemd-analyze</command></term>
        <listitem>
          <para>Analyse les performances de démarrage du système</para>
          <indexterm zone="ch-system-systemd systemd-analyze">
            <primary sortas="b-systemd-analyze">systemd-analyze</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-ask-password">
        <term><command>systemd-ask-password</command></term>
        <listitem>
          <para>Interroge l'utilisateur pour une phrase secrête pour le système, via le
          TTY ou un agent UI.</para>
          <indexterm zone="ch-system-systemd systemd-ask-password">
            <primary sortas="b-systemd-ask-password">systemd-ask-password</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-cat">
        <term><command>systemd-cat</command></term>
        <listitem>
          <para>Connecte un pipeline ou une sortie programme avec le journal</para>
          <indexterm zone="ch-system-systemd systemd-cat">
            <primary sortas="b-systemd-cat">systemd-cat</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-cgls">
        <term><command>systemd-cgls</command></term>
        <listitem>
          <para>Affiche récursivement les contenus des groupes de contrôles</para>
          <indexterm zone="ch-system-systemd systemd-cgls">
            <primary sortas="b-systemd-cgls">systemd-cgls</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-cgtop">
        <term><command>systemd-cgtop</command></term>
        <listitem>
          <para>Affche les groupes de contrôles par utilisation des ressources</para>
          <indexterm zone="ch-system-systemd systemd-cgtop">
            <primary sortas="b-systemd-cgtop">systemd-cgtop</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-coredumpctl">
        <term><command>systemd-coredumpctl</command></term>
        <listitem>
          <para>Retrouve un coredumps depuis le journal</para>
          <indexterm zone="ch-system-systemd systemd-coredumpctl">
            <primary sortas="b-systemd-coredumpctl">systemd-coredumpctl</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-delta">
        <term><command>systemd-delta</command></term>
        <listitem>
          <para>Cheche les fichiers de configuration écrasés</para>
          <indexterm zone="ch-system-systemd systemd-delta">
            <primary sortas="b-systemd-delta">systemd-delta</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-detect-virt">
        <term><command>systemd-detect-virt</command></term>
        <listitem>
          <para>Detecte l'exécution dans un environnement virtuel</para>
          <indexterm zone="ch-system-systemd systemd-detect-virt">
            <primary sortas="b-systemd-detect-virt">systemd-detect-virt</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-inhibit">
        <term><command>systemd-inhibit</command></term>
        <listitem>
          <para>Execute un programme avec un verrou inhibé</para>
          <indexterm zone="ch-system-systemd systemd-inhibit">
            <primary sortas="b-systemd-inhibit">systemd-inhibit</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-machine-id-setup">
        <term><command>systemd-machine-id-setup</command></term>
        <listitem>
          <para>Initialise l'ID machine dans
          <filename>/etc/machine-id</filename></para>
          <indexterm zone="ch-system-systemd systemd-machine-id-setup">
            <primary sortas="b-systemd-machine-id-setup">systemd-machine-id-setup</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-notify">
        <term><command>systemd-notify</command></term>
        <listitem>
          <para>Notifie le système d'init à propos de la completion au démarrage et les autres modifications de status des
          démons</para>
          <indexterm zone="ch-system-systemd systemd-notify">
            <primary sortas="b-systemd-notify">systemd-notify</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-nspawn">
        <term><command>systemd-nspawn</command></term>
        <listitem>
          <para>Place un container dans l'espace de noms pour le déboguage, les tests et la construction</para>
          <indexterm zone="ch-system-systemd systemd-nspawn">
            <primary sortas="b-systemd-nspawn">systemd-nspawn</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-run">
        <term><command>systemd-run</command></term>
        <listitem>
          <para>Lance des programmes dans un périmetre limité ou des unités de service</para>
          <indexterm zone="ch-system-systemd systemd-run">
            <primary sortas="b-systemd-run">systemd-run</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-stdio-bridge">
        <term><command>systemd-stdio-bridge</command></term>
        <listitem>
          <para>Connecte stdio ou un socket à une adresse de bus donnée</para>
          <indexterm zone="ch-system-systemd systemd-stdio-bridge">
            <primary sortas="b-systemd-stdio-bridge">systemd-stdio-bridge</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-tmpfiles">
        <term><command>systemd-tmpfiles</command></term>
        <listitem>
          <para>Crée, efface, et nettoie des fichiers temporaires volatiles</para>
          <indexterm zone="ch-system-systemd systemd-tmpfiles">
            <primary sortas="b-systemd-tmpfiles">systemd-tmpfiles</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="systemd-tty-ask-password-agent">
        <term><command>systemd-tty-ask-password-agent</command></term>
        <listitem>
          <para>Effectue des demandes de mots de passe système</para>
          <indexterm zone="ch-system-systemd systemd-tty-ask-password-agent">
            <primary sortas="b-systemd-tty-ask-password-agent">systemd-tty-ask-password-agent</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="telinit">
        <term><command>telinit</command></term>
        <listitem>
          <para>Demande à <command>init</command> de changer de niveau d'éxecution</para>
          <indexterm zone="ch-system-systemd telinit">
            <primary sortas="b-telinit">telinit</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="timedatectl">
        <term><command>timedatectl</command></term>
        <listitem>
          <para>Contrôle la date et l'heure système</para>
          <indexterm zone="ch-system-systemd timedatectl">
            <primary sortas="b-timedatectl">timedatectl</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="udevadm">
        <term><command>udevadm</command></term>
        <listitem>
          <para>outil de gestion de Udev</para>
          <indexterm zone="ch-system-systemd udevadm">
            <primary sortas="b-udevadm">udevadm</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libnss_myhostname">
        <term><filename class="libraryfile">libnss_myhostname</filename></term>
        <listitem>
          <para>Greffon pour les fonctionnalités  de GNU Name Service Switch (NSS) de Glibc, fournissant
          la résolution du hostname pour les hostnames systèmes configurés localement</para>
          <indexterm zone="ch-system-systemd libnss_myhostname">
            <primary sortas="c-libnss_myhostname">libnss_myhostname</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libsystemd">
        <term><filename class="libraryfile">libsystemd</filename></term>
        <listitem>
          <para>Bibliothèque Support pour systemd</para>
          <indexterm zone="ch-system-systemd libsystemd">
            <primary sortas="c-libsystemd">libsystemd</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libudev">
        <term><filename class="libraryfile">libudev</filename></term>
        <listitem>
          <para>Une interface de bibliothèque pour les informations de périphériques Udev.</para>
          <indexterm zone="ch-system-systemd libudev">
            <primary sortas="c-libudev">libudev</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>