\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{Mick} \pdfinfo{ /Title (rhsa1-8.pdf) /Creator (Cheatography) /Author (Mick) /Subject (rhsa1\_8 Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{7984A3} \definecolor{LightBackground}{HTML}{F6F7F9} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{rhsa1\_8 Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{Mick} via \textcolor{DarkBackground}{\uline{cheatography.com/48367/cs/13678/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}Mick \\ \uline{cheatography.com/mick} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 4th December, 2017.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{4} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Introduction to systemd}} \tn \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{System startup and server processes are managed by the systemd System and Service Manager. This program provides a method for activating system resources, server daemons, and other processes, both at boot time and on a running system.% Row Count 5 (+ 5) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{x{1.92248 cm} x{1.51052 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Summary of systemctl commands}} \tn % Row 0 \SetRowColor{LightBackground} View detailed information about a unit state. & systemctl status UNIT \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} Stop a service on a running system. & systemctl stop UNIT \tn % Row Count 5 (+ 2) % Row 2 \SetRowColor{LightBackground} Start a service on a running system. & systemctl start UNIT \tn % Row Count 7 (+ 2) % Row 3 \SetRowColor{white} Restart a service on a running system. & systemctl restart UNIT \tn % Row Count 9 (+ 2) % Row 4 \SetRowColor{LightBackground} Reload configuration file of a running service. & systemctl reload UNIT \tn % Row Count 12 (+ 3) % Row 5 \SetRowColor{white} Completely disable a service from being started, both manually and at boot. & systemctl mask UNIT \tn % Row Count 16 (+ 4) % Row 6 \SetRowColor{LightBackground} Make a masked service available. & systemctl unmask UNIT \tn % Row Count 18 (+ 2) % Row 7 \SetRowColor{white} Configure a service to start at boot time. & systemctl enableUNIT \tn % Row Count 20 (+ 2) % Row 8 \SetRowColor{LightBackground} Disable a service from starting at boot time. & systemctl disable UNIT \tn % Row Count 23 (+ 3) % Row 9 \SetRowColor{white} List units which are required and wanted by the specified unit. & systemctl list- dependenciesUNIT \tn % Row Count 26 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{x{0.99557 cm} x{2.43743 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Keywords indicating the state of the service}} \tn % Row 0 \SetRowColor{LightBackground} loaded & Unit configuration file has been processed. \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \seqsplit{active(running)} & Running with one or more continuing processes. \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} active (exited) & Successfully completed a one-time configuration. \tn % Row Count 6 (+ 2) % Row 3 \SetRowColor{white} active (waiting) & Running but waiting for an event. \tn % Row Count 8 (+ 2) % Row 4 \SetRowColor{LightBackground} inactive & Not running. \tn % Row Count 9 (+ 1) % Row 5 \SetRowColor{white} enabled & Will be started at boot time. \tn % Row Count 11 (+ 2) % Row 6 \SetRowColor{LightBackground} disabled & Will not be started at boot time. \tn % Row Count 13 (+ 2) % Row 7 \SetRowColor{white} static & Can not be enabled, but may be started by an enabled unit automatically \tn % Row Count 16 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Listing unit files with systemctl}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{1. Query the state of all units to verify a system startup. \newline {[}root@serverX \textasciitilde{}{]}\# systemctl \newline 2. Query the state of only the service units. \newline {[}root@serverX \textasciitilde{}{]}\# systemctl -{}-type=service \newline 3. Investigate any units which are in a failed or maintenance state. -l option to full output. \newline {[}root@serverX \textasciitilde{}{]}\# systemctl status rngd.service -l \newline 4. Alternate commands can also easily show the active and enabled states: \newline {[}root@serverX \textasciitilde{}{]}\# systemctl is-active/enabled sshd \newline 5. List the active state of all loaded units. \newline {[}root@serverX \textasciitilde{}{]}\# systemctl list-units -{}-type=service -{}-all \newline 6. View the enabled and disabled settings for all units. \newline {[}root@serverX \textasciitilde{}{]}\# systemctl list-unit-files -{}-type=service \newline 7. View only failed services. \newline {[}root@serverX \textasciitilde{}{]}\# systemctl -{}-failed -{}-type=service} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Enabling system daemons to start or stop at boot}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{1. View the status of a service. \newline {[}root@serverX \textasciitilde{}{]}\# systemctl status sshd.service \newline 2. Disable the service and verify the status. Note that disabling a service does not stop the service. \newline {[}root@serverX \textasciitilde{}{]}\# systemctl disable sshd.service \newline {[}root@serverX \textasciitilde{}{]}\# systemctl status sshd.service \newline 3. Enable the service and verify the status. \newline {[}root@serverX \textasciitilde{}{]}\# systemctl enable sshd.service \newline {[}root@serverX \textasciitilde{}{]}\# systemctl is-enabled sshd.service} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Starting and stopping system daemons}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{1. View the status of a service. \newline {[}root@serverX \textasciitilde{}{]}\# systemctl status sshd.service \newline 2. Verify that the process is running. \newline {[}root@serverX \textasciitilde{}{]}\# ps -up PID \newline 3. Stop the service and verify the status. \newline {[}root@serverX \textasciitilde{}{]}\# systemctl stop/status sshd.service \newline 4. Start the service and view the status. The process ID has changed. \newline {[}root@serverX \textasciitilde{}{]}\# systemctl start/status sshd.service \newline 5. Stop, then start, the service in a single command. \newline {[}root@serverX \textasciitilde{}{]}\# systemctl restart/status sshd.service \newline 6. Issue instructions for a service to read and reload. The process ID will not change. \newline {[}root@serverX \textasciitilde{}{]}\# systemctl reload/status sshd.service} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Identify the Status of systemd Units}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{1. List all service units on the system. \newline {[}student@serverX \textasciitilde{}{]}\$ sudo systemctl list-units -{}-type=service \newline 2. List all socket units, active and inactive, on the system. \newline {[}student@serverX \textasciitilde{}{]}\$ sudo systemctl list-units -{}-type=socket -{}-all \newline 3. Explore the status of the chronyd service. This service is used for network time synchronization (NTP). \newline a. Display the status of the chronyd service. Note the process ID of any active daemons. \newline {[}student@serverX \textasciitilde{}{]}\$ sudo systemctl status chronyd \newline b. Confirm that the listed daemons are running. \newline {[}student@serverX \textasciitilde{}{]}\$ ps -p PID \newline 4. Explore the status of the sshd service. This service is used for secure encrypted communication between systems. \newline a. Determine if the sshd service is enabled to start at system boot. \newline {[}student@serverX \textasciitilde{}{]}\$ sudo systemctl is-enabled sshd \newline b. Determine if the sshd service is active without displaying all of the status information. \newline {[}student@serverX \textasciitilde{}{]}\$ sudo systemctl is-active sshd \newline c. Display the status of the sshd service. \newline {[}student@serverX \textasciitilde{}{]}\$ sudo systemctl status sshd \newline 5. List the enabled or disabled states of all service units. \newline {[}student@serverX \textasciitilde{}{]}\$ sudo systemctl list-unit-files -{}-type=service} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}