210 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
		
		
			
		
	
	
			210 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
|  | % first presentation about cmtp
 | ||
|  | \pdfminorversion=4 | ||
|  | %\documentclass[ucs]{beamer}
 | ||
|  | \documentclass{beamer} | ||
|  | %\documentclass[utf8]{beamer}
 | ||
|  | \usepackage[utf8]{inputenc} | ||
|  | \usepackage{german} | ||
|  | \usepackage{graphicx} | ||
|  | \usepackage{beamerthemesplit} | ||
|  | \setbeamercovered{dynamic} | ||
|  | \usetheme{Malmoe} | ||
|  | \usecolortheme{crane} | ||
|  | 
 | ||
|  | \title{cdist - nutzbare Konfigurationsverwaltung} | ||
|  | \subtitle{Hacker Erwachen 2011} | ||
|  | 
 | ||
|  | \author{Nico -telmich- Schottelius} | ||
|  | 
 | ||
|  | \date{18. März 2011} | ||
|  | 
 | ||
|  | \begin{document} | ||
|  | \frame{\titlepage} | ||
|  | 
 | ||
|  | %\section[Outline]{}
 | ||
|  | \frame{\tableofcontents} | ||
|  | 
 | ||
|  | \section{Einleitung} | ||
|  | \frame | ||
|  | { | ||
|  |   \frametitle{Was ist das Problem?} | ||
|  |   \begin{itemize}[<+->] | ||
|  |   \item Einmal konfigurieren = toll | ||
|  |   \item Zweimal konfigurieren = naja, ... | ||
|  |   \item Neue Sachen machen mehr Spass als alte wiederholen | ||
|  |   \item Viele Rechner = viel Mühe? | ||
|  |   \end{itemize} | ||
|  | } | ||
|  | 
 | ||
|  | \frame | ||
|  | { | ||
|  |   \frametitle{Das ist nicht neu...} | ||
|  |   \begin{itemize}[<+->] | ||
|  |   \item cfengine | ||
|  |   \item Puppet | ||
|  |   \item bcfg2 | ||
|  |   \item chef | ||
|  |   \item ... | ||
|  |   \end{itemize} | ||
|  | } | ||
|  | 
 | ||
|  | \frame | ||
|  | { | ||
|  |   \frametitle{Warum cdist?} | ||
|  |   \begin{itemize}[<+->] | ||
|  |      \item Klein | ||
|  |      \item Unix | ||
|  |      \item Leicht zu bedienen | ||
|  |      \item ... zu erweitern | ||
|  |      \item Shell | ||
|  |      \item Weil es Spaß macht! | ||
|  |   \end{itemize} | ||
|  | } | ||
|  | 
 | ||
|  | \section{Installieren} | ||
|  | \frame | ||
|  | { | ||
|  |   \frametitle{Vorraussetzungen} | ||
|  |   \begin{itemize}[<+->] | ||
|  |      \item sshd | ||
|  |      \item root login via sshd | ||
|  |      \item Besser: ssh-pubkey konfiguriert (PermitRootLogin without-password) | ||
|  |      \item git | ||
|  |      \item Asciidoc (manpages) | ||
|  |   \end{itemize} | ||
|  | } | ||
|  | 
 | ||
|  | \frame | ||
|  | { | ||
|  |   \frametitle{Installation} | ||
|  |   \begin{center} | ||
|  |   git clone git://git.schottelius.org/cdist | ||
|  |   \end{center} | ||
|  | } | ||
|  | 
 | ||
|  | \begin{frame}[fragile] | ||
|  |   \frametitle{Erstellen der Manpages} | ||
|  | 
 | ||
|  |   \begin{verbatim} | ||
|  |   # Braucht asciidoc / a2x | ||
|  |   make man | ||
|  |   \end{verbatim} | ||
|  | \end{frame} | ||
|  | 
 | ||
|  | \section{Nutzen} | ||
|  | \begin{frame}[fragile] | ||
|  |   \frametitle{Vorbereitung PATH und MANPATH} | ||
|  | 
 | ||
|  |   \begin{verbatim} | ||
|  |   cd cdist | ||
|  |   eval `./bin/cdist-env` | ||
|  |   echo $PATH
 | ||
|  |   echo $MANPATH
 | ||
|  |   \end{verbatim} | ||
|  | \end{frame} | ||
|  | 
 | ||
|  | \begin{frame}[fragile] | ||
|  |   \frametitle{Nun los} | ||
|  |   \begin{verbatim} | ||
|  |   # So wird es laufen... | ||
|  |   cdist-deploy-to localhost | ||
|  |   \end{verbatim} | ||
|  | \end{frame} | ||
|  | 
 | ||
|  | \begin{frame}[fragile] | ||
|  |   \frametitle{Der Einstiegspunkt} | ||
|  |   \begin{small} | ||
|  |   \begin{verbatim} | ||
|  |   cat << eof > conf/manifest/init | ||
|  |   __file /etc/cdist-configured | ||
|  | 
 | ||
|  |   case "$__target_host" in
 | ||
|  |      localhost) | ||
|  |          __link /tmp/cdist-testfile          \ | ||
|  |             --source /etc/cdist-configured   \  | ||
|  |             --type symbolic | ||
|  |          __addifnosuchline /tmp/cdist-welcome \ | ||
|  |             --line "Welcome to cdist" | ||
|  |       ;; | ||
|  |    esac | ||
|  |    eof | ||
|  |    # Muss ausführbar sein | ||
|  |    chmod u+x conf/manifest/init | ||
|  | 
 | ||
|  |   \end{verbatim} | ||
|  |   \end{small} | ||
|  | \end{frame} | ||
|  | 
 | ||
|  | \begin{frame}[fragile] | ||
|  |   \frametitle{Nun los} | ||
|  |   \begin{verbatim} | ||
|  |   # Nun läuft es! | ||
|  |   cdist-deploy-to localhost | ||
|  |   \end{verbatim} | ||
|  | \end{frame} | ||
|  | 
 | ||
|  | \frame | ||
|  | { | ||
|  |   \frametitle{Funktionalität zusammenfassen} | ||
|  |   \begin{itemize}[<+->] | ||
|  |      \item "`Typen"' (types) | ||
|  |      \item conf/type/* | ||
|  |      \item \_\_ vor jedem Namen (Shell-Umgebung) | ||
|  |      \item z.B. Netzseite, Mailserver, Wiki, ... | ||
|  |   \end{itemize} | ||
|  | } | ||
|  | 
 | ||
|  | \begin{frame}[fragile] | ||
|  |    \frametitle{Ein neuer Typ} | ||
|  |    \begin{small} | ||
|  |    \begin{verbatim} | ||
|  |    mkdir conf/type/__my_mailserver | ||
|  |    cat << eof > conf/type/__my_mailserver/manifest | ||
|  |    __package nullmailer --state installed | ||
|  | 
 | ||
|  |    require="__package/nullmailer" \ | ||
|  |        __file /etc/nullmailer/remotes \ | ||
|  |           --source "$__type/files/remotes"
 | ||
|  |    eof | ||
|  |    chmod u+x conf/type/__my_mailserver/manifest | ||
|  | 
 | ||
|  |    mkdir conf/type/__my_mailserver/files | ||
|  |    echo my.fancy.smart.host > \ | ||
|  |        conf/type/__my_mailserver/files/remotes | ||
|  |    \end{verbatim} | ||
|  |    \end{small} | ||
|  | \end{frame} | ||
|  | 
 | ||
|  | \section{Aktualisieren} | ||
|  | \begin{frame}[fragile] | ||
|  |   \frametitle{Versionen} | ||
|  |   \begin{itemize}[<+->] | ||
|  |      \item x.y: Stabile Version | ||
|  |      \item master: Entwicklung | ||
|  |   \end{itemize} | ||
|  | \end{frame} | ||
|  | 
 | ||
|  | \begin{frame}[fragile] | ||
|  |   \frametitle{Stabile Version auswählen} | ||
|  |   \begin{center} | ||
|  |   git checkout -b 1.2 origin/1.2 | ||
|  |   \end{center} | ||
|  | \end{frame} | ||
|  | 
 | ||
|  | \begin{frame}[fragile] | ||
|  |   \frametitle{Aktualisieren} | ||
|  |   \begin{center} | ||
|  |   git pull | ||
|  |   \end{center} | ||
|  | \end{frame} | ||
|  | 
 | ||
|  | \frame | ||
|  | { | ||
|  |   \frametitle{Ende} | ||
|  |   \begin{block}{Das war's} | ||
|  |   Viel Spaß - Mehr Infos gibt's auf http://www.nico.schottelius.org/software/cdist/ | ||
|  |   \end{block} | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | \end{document} |