\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{lun. mai 31 21:17:33 CEST 2010}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={update-rc.d},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Met à jour les liens des scripts init},
CreationDate={D:20100531211733},
ModDate={D:20100531211733},
Keywords={Linux}
}}
\begin{document}
 
\begin{center}
{\Huge update-rc.d }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Met à jour les liens des scripts init}
 
\vspace{10mm}
 
\hspace{1mm}  Met à jour les liens des scripts init du système dans \textbf{/etc/rcX.d/} qui ciblent les script dans \textbf{/etc/init.d/}. \textbf{update-rc.d} a 2 modes d'opération pour installer les scripts dans la séquence de boot. Un mode \textbf{legacy} où les arguments de la ligne de commande sont utilisés pour décider la configuration de runlevel; et un mode par défaut où les informations de runlevel et de dépendance sont récupérés depuis l'en-tête du script.
\vspace{5mm} \\
 
 
\hspace{1mm}  Si un fichier dans \textbf{/etc/rcX.d/} existe, update-rc.d ne fait rien. Supprimer les liens manuellement dans les dossiers \textbf{/etc/rcX.d/} est une erreur commune parce qu'à la prochaine mise à jours du programme, le script \textbf{postinstall} va pré-exécuter \textbf{update-rc.d} qui va recréer les liens. La bonne démarche est de désactiver le service dans tous les runlevels.
\vspace{5mm} \\
 
 
\hspace{1mm}  Si \textbf{default} est utilisé, update-rc.d va créer des liens pour démarrer les services dans les runlevels 2345 et de les stopper dans les runlevels 016. Par défaut, tous les liens ont le numéro de séquence de 20, mais peut changer en fonction des dépendances.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les script kill sont appelés en premier. En général, le numéro de séquence pour stopper un lien devrait être 100 moins le numéro de séquence pour le démarrer, ce qui force les services à être stoppés dans l'ordre inverse qu'ils ont été démarré. Par contre le numéro de séquence par défaut pour stopper un lien reste 20 par défaut, il s'agit d'un bug historique.
\vspace{5mm} \\
 
 
\hspace{1mm}  Le script doit exister dans /etc/init.d/ avant d'utiliser update-rc.d pour créer les liens. Le script doit être supprimé de /etc/init.d/ avant d'utiliser update-rc.d pour supprimer les liens
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -n ]{Ne fait rien, affiche seulement ce qu'il aurait fait.}
\item[\hspace{1mm} -f]{Force la suppression des liens même si le script existe encore.}
\end{description}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} Inserér les liens en utilisant defaults: \\
\hspace{1mm} \textbf{update-rc.d foobar defaults} \\
\hspace{1mm} l'équivalent en utilisant les arguments explicites: \\
\hspace{1mm} \textbf{update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 .} \\
\hspace{1mm} Une commande plus courante: \\
\hspace{1mm} \textbf{update-rc.d foobar start 30 2 3 4 5 . stop 70 0 1 6 .} \\
\hspace{1mm} Insérer les liens dans les runlevels par défaut quand B requièreA \\
\hspace{1mm} \textbf{update-rc.d script\_for\_A defaults 80 20} \\
\hspace{1mm} \textbf{update-rc.d script\_for\_B defaults 90 10} \\
\hspace{1mm} Insérer un lien d'un service qui n'est pas nécessaire à un autre service: \\
\hspace{1mm} \textbf{update-rc.d top\_level\_app defaults 98 02} \\
\hspace{1mm} Insérer un lien qui requière un service qui se lance/se termine avec un numéro de séquence de 20: \\
\hspace{1mm} \textbf{update-rc.d script\_depends\_on\_svc20 defaults 21 19} \\
\hspace{1mm} Supprimer tous les liens d'un script (il doit avoir été supprimé avant) \\
\hspace{1mm} \textbf{update-rc.d foobar remove} \\
\hspace{1mm} Exemple pour désactiver un service: \\
\hspace{1mm} \textbf{update-rc.d -f foobar remove} \\
\hspace{1mm} \textbf{update-rc.d foobar stop 20 2 3 4 5 .} \\
\hspace{1mm} exemple d'une commande pour installer un script d'initialisation et d'arrêt du système: \\
\hspace{1mm} \textbf{update-rc.d foobar start 45 S . stop 31 0 6 .} \\
\hspace{1mm} Exemple d'une commande pour désactiver un script d'initialisation et d'arrêt du système: \\
\hspace{1mm} \textbf{update-rc.d -f foobar remove} \\
\hspace{1mm} \textbf{update-rc.d foobar stop 45 S .} \\
\end{flushleft}
\end{document}
