\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]{jeu. mars 31 13:22:52 CEST 2016}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={journalctl},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Gestion du journal systemd},
CreationDate={D:20160331132252},
ModDate={D:20160331132252},
Keywords={systemd;Linux;boot}
}}
\begin{document}
 
\begin{center}
{\Huge journalctl }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Gestion du journal systemd}
 
\vspace{10mm}
 
\hspace{1mm}  Permet de requêter le contenu du journal systemd qui est écrit par systemd-journald.service. Sans paramètre, affiche tout le journal, en commençant par les entrées les plus anciennes
\vspace{5mm} \\
 
 
\hspace{1mm}  Si un ou plusieurs arguments de match sont passés, la sortie est filtrée en accord. Un match est dans le format "FIELD=VALUE" (ex: \_SYSTEMD\_UNIT=httpd.service), réferant aux composant d'une entrée de journal structuré. Voir systemd.journal-fields pour une liste de champs. Si plusieurs match sont spécifiés et matchant différents champs, les entrées de logs sont filtrés par les 2 (les entrées affichées matchent tous les champs). Si 2 matchs s'appliquent sur le même champs, les entrées affichées matchent une des valeurs du champs. Le caractère final '+' peut apparaître comme séparateur de mot entre les autres termes (OU logique)
\vspace{5mm} \\
 
 
 
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} --no-full, --full, -l]{Réduit la taille des champs s'ils ne rentrent pas dans la largeur de colonne.}
\item[\hspace{1mm} -a, --all]{Affiche tous les champs, même s'ils contiennent des cararctères non-imprimables ou sont très long}
\item[\hspace{1mm} -f, --follow]{Affiche seulement les entrées de journal récent, et affiche les entrées en continue}
\item[\hspace{1mm} -e, --pager-end]{Va immédiatement à la fin du journal dans le pager. Ne fonctionne qu'avec less}
\item[\hspace{1mm} -n, --lines=]{Nombre de lignes à afficher (défaut: 10)}
\item[\hspace{1mm} --no-tail]{Affiche toutes les lignes, même avec -f}
\item[\hspace{1mm} -r, --reverse]{Les nouvelles entrées s'affiche en premier}
\item[\hspace{1mm} -o, --output=]{Contrôle le formatage des entrées du journal. Prend une des options suivantes:}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} short]{Est le défaut et génère une sortie la plus identique au formattage classique des fichiers syslogs, une entrée par ligne.}
\item[\hspace{6mm} short-iso]{Similaire, mais affiche les timestamp au format ISO 8601}
\item[\hspace{6mm} short-precise]{Similaire, mais affiche les timestamp avec une précision au microseconde.}
\item[\hspace{6mm} short-monotonic]{Similaire, mais affiche les timestamp monotonique}
\item[\hspace{6mm} verbose]{Affiche les entrée structurées avec tous les champs.}
\item[\hspace{6mm} export]{Sérialise le journal dans un flux binaire pour les sauvegardes et les transferts réseaux}
\item[\hspace{6mm} json]{Formate les entrées en structures de données JSON, une par ligne.}
\item[\hspace{6mm} json-pretty]{Similaire mais les formate sur plusieurs lignes}
\item[\hspace{6mm} json-sse]{Similaire, mais les format pour être utilisable pour Server-Sent Events}
\item[\hspace{6mm} cat]{Génère une sortie sans métadonnées, ni timestamp.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} --utc]{Exprime de temps en UTC}
\item[\hspace{1mm} -x, --catalog]{Ajoute les lignes de log avec les textes explicatifs du catalog de message. Cela va ajouter des textes d'aide aux messages de log dans la sortie si disponible.}
\item[\hspace{1mm} -q, --quiet]{Supprime tous les message d'information (ex: --Logs begin at ...", "--Reboot --"), et tout messages de journaux système inaccessible quand lancé comme utilisateur normal.}
\item[\hspace{1mm} -m, --merge]{Affiche les entrées de tous les journaux disponible, inclant ceux distants}
\item[\hspace{1mm} -b \texttt{[}ID\texttt{]}\texttt{[}±offset\texttt{]}, --boot=\texttt{[}ID\texttt{]}\texttt{[}±offset\texttt{]}]{Affiche les message d'un boot spécifique. Cela ajoute un match pour "\_BOOT\_ID=". L'argument peut être vide, dans ce cas, ajoute un match pour le boot courant.}
\item[\hspace{1mm} --list-boots]{Affiche une liste de nombre de boots, leurs ID et le timestamp du premier et dernier message.}
\item[\hspace{1mm} -k, --dmesg]{Affiche seulement les messages kernel. Implique -b et ajoute le match "\_TRANSPORT=kernel"}
\item[\hspace{1mm} -t, --identifier=SYSLOG\_IDENTIFIER]{Affiche les messages pour l'identifiant syslog spécifié}
\item[\hspace{1mm} -u, --unit=UNIT|PATTERN]{Affiche les messages pour l'unité spécifiée ou correspondant au motif. Peut être spécifié plusieurs fois}
\item[\hspace{1mm} --user-unit=]{Affiche les messages pour l'unité de session utilisateur spécifié. Peut être spécifié plusieurs fois}
\item[\hspace{1mm} -p, --priority=]{Filtre les messages par priorité ou plage de priorité. ( "emerg" (0), "alert" (1), "crit" (2), "err" (3), "warning" (4), "notice" (5), "info" (6), "debug" (7))}
\item[\hspace{1mm} -c, --cursor=]{Affiche le entrées depuis l'emplacement dans le journal spécifié par le curseur spécifié}
\item[\hspace{1mm} --after-cursor=]{Affiche les entrées après l'emplacement spécifié par le curseur.}
\item[\hspace{1mm} --show-cursor=]{Affiche le curseur après la dernière entrée}
\item[\hspace{1mm} -S, --since=, -U, --until=]{Affiche les entrée depuis ou jusqu'à la date spécifiée. Le format devrait être au format "2012-10-30 18:17:16", voir systemd.time pour la spécification complète des dates.}
\item[\hspace{1mm} -F, --field=]{Affiche toutes les valeurs possible que le champ spécifié peut prendre dans toutes les entrées du journal.}
\item[\hspace{1mm} --system, --user]{Affiche les message des services système et kernel, ou de l'utilisateur courant. Non spécifié, affiche tous les messages que l'utilisateur peut voir.}
\item[\hspace{1mm} -M, --machine=]{Affiche les messages d'un conteneur local.}
\item[\hspace{1mm} -D DIR, --directory=DIR]{Répertoire où rechercher les journaux}
\item[\hspace{1mm} --file=GLOB]{Opère sur les fichiers journaux spécifiés par le GLOB au lieu des chemins de journaux par défaut. Peut être spécifié plusieurs fois.}
\item[\hspace{1mm} --root=ROOT]{Opère sur les catalogues sous le répertoire spécifié}
\item[\hspace{1mm} --new-id128]{Au lieu d'afficher le contenu du journal, génère un nouvel ID 128bits pour identifier les messages. C'est prévu pour les développeurs qui ont besoin d'un nouvel identifiant pour un nouveau message.}
\item[\hspace{1mm} --header]{Affiche seulement les informations d'en-tête dus champs de journal accédés.}
\item[\hspace{1mm} --disk-usage]{Affiche l'utilisation disque des fichiers journaux}
\item[\hspace{1mm} --vacuum-size=, --vacuum-time=, --vaccum-files=]{Supprime les fichiers journaux archivés jusqu'à ce que l'espace disque qu'ils utilisent soit inférieur à la taille ou le nombre de journaux, ou postérieur à la date spécifié.}
\item[\hspace{1mm} --list-catalog \texttt{[}128-bits ID...\texttt{]}]{Liste le contenu du catalogue de message.}
\item[\hspace{1mm} --dump-catalog \texttt{[}128-bit-ID...\texttt{]}]{Affiche le contenu du catalogue de message}
\item[\hspace{1mm} --update-catalog]{Met à jours les indexs de catalogue}
\item[\hspace{1mm} --setup-keys]{Au lieu d'afficher le contenu des journaux, génère une nouvelle paire de clé pour FSS. Cela génère une clé de scellement et une clé de vérification. La clé de scellement est stockée dans le répertoire des journaux et devrait rester dans l'hôte. La clé de vérification devrait être stocké ailleurs.}
\item[\hspace{1mm} --force]{Quand --setup-keys est passé et que FSS (Forward Secure Sealing) a déjà été configuré, recréé les clés FSS.}
\item[\hspace{1mm} --interval=]{Spécifie l'interval de changement pour la clé en générant une paire de clé FSS avec --setup-keys. Un interval plus court augmente la consommation CPU mais raccourcis la plage de temps des altération de journaux indétectable. Défaut: 15min}
\item[\hspace{1mm} --verify]{Vérifie le fichier journal pour sa consistance interne. Si le fichier a été généré avec FSS activé et la clé a été spécifiée dans --verify-key, l'authenticité du journal est vérifié.}
\item[\hspace{1mm} --verify-key=]{Spécifie la clé de vérification FSS à utiliser pour l'opération --verify}
\item[\hspace{1mm} --sync]{Demande au service de journalisation d'écrire toutes les données non-écrite dans les fichiers journaux}
\item[\hspace{1mm} --flush]{Demande au service de journalisation de vider les logs stockés dans /run/log/journal dans /var/log/journal, si le stockage persistant est activé.}
\item[\hspace{1mm} --rotate]{Demande au service de journalisation de tourner les fichiers journaux.}
\item[\hspace{1mm} --no-pager]{N'utilise pas de pager.}
\end{description}
 
\vspace{1cm}{\huge Variables d'environnement }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} SYSTEMD\_PAGER]{Pager à utiliser. Vide, ou 'cat' est équivalent à --no-pager}
\item[\hspace{1mm} SYSTEMD\_LESS]{Remplace les options par défaut de less ('FRSXMK')}
\end{description}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} Collecter tous les logs \\
\hspace{1mm} \textbf{journalctl} \\
\hspace{1mm} Ajouter un match \\
\hspace{1mm} \textbf{journalctl \_SYSTEMD\_UNIT=avahi-daemon.service} \\
\hspace{1mm} Si 2 champs sont matchés, seules les entrées matchant les 2 expressions sont affichées \\
\hspace{1mm} \textbf{journalctl \_SYSTEMD\_UNIT=avahi-daemon.service \_PID=28097} \\
\hspace{1mm} Si 2 matchs réfèrent au même champ, toutes les entrées matchant une des expression sont affichés \\
\hspace{1mm} \textbf{journalctl \_SYSTEMD\_UNIT=avahi-daemon.service \_SYSTEMD\_UNIT=dbus.service} \\
\hspace{1mm} Avec '+', 2 expression peuvent être combinées \\
\hspace{1mm} \textbf{journalctl \_SYSTEMD\_UNIT=avahi-daemon.service \_PID=28097 + \_SYSTEMD\_UNIT=dbus.service} \\
\hspace{1mm} Affiche tous les logs générés par DBus \\
\hspace{1mm} \textbf{journalctl /usr/bin/dbus-daemon} \\
\hspace{1mm} Affiche tous les logs kernel du boot précédent \\
\hspace{1mm} \textbf{journalctl -k -b -1} \\
\hspace{1mm} Affiche un log du service système apache.service \\
\hspace{1mm} \textbf{journalctl -f -u apache} \\
\end{flushleft}
\end{document}
