242 lines
		
	
	
	
		
			4.8 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
		
		
			
		
	
	
			242 lines
		
	
	
	
		
			4.8 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{Cosin 2011}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								\author{Nico -telmich- Schottelius}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								\date{25. Juni 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 für dia 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
							 | 
						||
| 
								 | 
							
								  ./build.sh 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}
							 | 
						||
| 
								 | 
							
								  # Fangen wir bei uns an
							 | 
						||
| 
								 | 
							
								  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
							 | 
						||
| 
								 | 
							
								   # Dieser Typ konfiguriert meinen Mailserver
							 | 
						||
| 
								 | 
							
								   require="__package/nullmailer" \
							 | 
						||
| 
								 | 
							
								       __file /etc/nullmailer/remotes \
							 | 
						||
| 
								 | 
							
								          --source "$__type/files/remotes"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   # Reihenfolge spielt keine Rolle
							 | 
						||
| 
								 | 
							
								   __package nullmailer --state installed
							 | 
						||
| 
								 | 
							
								   eof
							 | 
						||
| 
								 | 
							
								   \end{verbatim}
							 | 
						||
| 
								 | 
							
								   \end{small}
							 | 
						||
| 
								 | 
							
								\end{frame}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								\begin{frame}[fragile]
							 | 
						||
| 
								 | 
							
								   \frametitle{Ein neuer Typ (2)}
							 | 
						||
| 
								 | 
							
								   \begin{small}
							 | 
						||
| 
								 | 
							
								   \begin{verbatim}
							 | 
						||
| 
								 | 
							
								   # Wichtig: Wird ausgeführt
							 | 
						||
| 
								 | 
							
								   % chmod u+x conf/type/__my_mailserver/manifest
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   # Darf nur einmal verwendet werden pro Rechner
							 | 
						||
| 
								 | 
							
								   % touch conf/type/__my_mailserver/singleton
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   # Nullmailer Konfiguration
							 | 
						||
| 
								 | 
							
								   % mkdir conf/type/__my_mailserver/files
							 | 
						||
| 
								 | 
							
								   % echo my.fancy.smart.host > \
							 | 
						||
| 
								 | 
							
								       conf/type/__my_mailserver/files/remotes
							 | 
						||
| 
								 | 
							
								   \end{verbatim}
							 | 
						||
| 
								 | 
							
								   \end{small}
							 | 
						||
| 
								 | 
							
								\end{frame}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								\begin{frame}[fragile]
							 | 
						||
| 
								 | 
							
								  \frametitle{Neuen Typ nutzen}
							 | 
						||
| 
								 | 
							
								  \begin{small}
							 | 
						||
| 
								 | 
							
								  \begin{verbatim}
							 | 
						||
| 
								 | 
							
								  % $EDITOR conf/manifest/init
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  case "$__target_host" in
							 | 
						||
| 
								 | 
							
								     localhost)
							 | 
						||
| 
								 | 
							
								        ...
							 | 
						||
| 
								 | 
							
								         __my_mailserver
							 | 
						||
| 
								 | 
							
								        ...
							 | 
						||
| 
								 | 
							
								      ;;
							 | 
						||
| 
								 | 
							
								  \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.7 origin/1.7
							 | 
						||
| 
								 | 
							
								  \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/\\
							 | 
						||
| 
								 | 
							
								  und http://l.schottelius.org/pipermail/cdist
							 | 
						||
| 
								 | 
							
								  \end{block}
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								\end{document}
							 |