Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Add non-paused versions of Adminreport and Simplicity talks

  • Loading branch information...
commit 3c04c4a068a5f73fb0c144f99a4554a2c4b698e3 1 parent 507a52e
@derf derf authored
View
218 20100430-simplicity/talk-nopause.tex
@@ -0,0 +1,218 @@
+\documentclass{beamer}
+\usepackage[utf8]{inputenc}
+\usepackage{listings}
+\usetheme{Warsaw}
+\title[Keep It Simple and Stupid]
+ {Keep It Simple and Stupid\\Das KISS-Prinzip in der Praxis}
+\author{Daniel Friesel \and Maximilian Gaß}
+\institute{Chaosdorf}
+\date{30. April 2010}
+
+\renewcommand{\familydefault}{\sfdefault}
+
+\lstset{numbers=left}
+
+\begin{document}
+
+\begin{frame}
+ \titlepage
+\end{frame}
+
+\begin{frame}{Was ist KISS?}
+ \begin{itemize}
+ \item KISS -- Keep It Simple and Stupid
+ \item (auch: Keep It Simple, Stupid)
+ \item Es geht nicht primär um Bloat oder Performancevorteile
+ \end{itemize}
+ \pause
+ \begin{quote}
+ Quick C ist nicht Quick, SMTP ist nicht Simple, LDAP ist nicht
+ Lightweight, SQL ist nicht Structured, Windows 2000 Professional
+ ist
+ nicht Professional. Seht ihr? Ist doch ganz einfach.
+ \end{quote}
+ \begin{flushright}
+ -- Felix von Leitner, de.comp.security.misc
+ \end{flushright}
+\end{frame}
+% z.B. goblin (plan9-userland) - "If in doubt, use brute force" (Naiver
+% Algorithmus ist einfacher zu lesen)
+
+\section{Initskripte}
+
+\begin{frame}{Initskripte}
+ Was sind Initskripte?\\
+
+ \begin{itemize}
+ \item Starten/Stoppen Services (Daemons)
+ \item Integraler Bestandteil jedes unixoiden Systems
+ \end{itemize}
+\end{frame}
+
+\subsection{Debian}
+\begin{frame}[allowframebreaks, allowdisplaybreaks]{Debian}
+ \lstset{basicstyle=\tiny}
+ \lstinputlisting{mpd/debian}
+\end{frame}
+
+\subsection{Arch Linux}
+\begin{frame}[allowframebreaks, allowdisplaybreaks]{Arch Linux}
+ \lstset{basicstyle=\tiny}
+ \lstinputlisting{mpd/arch}
+\end{frame}
+
+\subsection{daemontools}
+\begin{frame}{daemontools}
+ \lstinputlisting{mpd/daemontools}
+\end{frame}
+
+% upstart ist noch nicht so ausgereift.
+% Dafür hat Simplicity in diesem Bereich keine Nachteile.
+\subsection{upstart}
+\begin{frame}{upstart}
+ \lstinputlisting{mpd/upstart}
+\end{frame}
+
+\subsection{Fazit}
+\begin{frame}{Fazit}
+ \begin{itemize}
+ \item Gewaltige Unterschiede
+ \item Simplicity hat in diesem Bereich keine Nachteile
+ \end{itemize}
+\end{frame}
+
+\section{Linking}
+\begin{frame}{Was ist Linking?}
+ \begin{itemize}
+ \item Einbinden von Modulen in (C-)Programme
+ \item Statisches vs. Dynamisches Linken
+ \end{itemize}
+\end{frame}
+
+\subsection{Statisches Linken}
+\begin{frame}{Statisches Linken}
+ \begin{itemize}
+ \item Kein Linken beim Programmstart
+ \item Keine Probleme mit ABI-Changes
+ \item Weniger Abhängigkeiten auf Libraries
+ \end{itemize}
+\end{frame}
+
+\subsection{Dynamisches Linken}
+\begin{frame}{Dynamisches Linken}
+ \begin{itemize}
+ \item Ein zentraler Patch fixt alle Binaries
+ \item Geringerer RAM-Verbrauch und Plattenplatzbedarf
+ \item Standard, daher wenig fummelig beim Bauen
+ \end{itemize}
+\end{frame}
+
+\subsection{Fazit}
+\begin{frame}{Fazit}
+ \begin{itemize}
+ \item Situationsabhängig, aber dynamisches Linken ist de-facto
+ Standard
+ \end{itemize}
+\end{frame}
+
+\section{zsh / mksh}
+\begin{frame}{Zsh vs. mksh}
+ \begin{itemize}
+ \item zsh: Z Shell, extrem konfigurierbar und featurereich
+ \item mksh / pdksh: Korn Shell-Varianten, können einiges, aber weniger
+ \end{itemize}
+\end{frame}
+
+\subsection{Nachteile der zsh}
+\begin{frame}{Nachteile der zsh}
+ \begin{itemize}
+ \item Sehr groß (536KiB Binary, mksh/pdksh: 224/196 KiB)
+ \item Hoher RAM-Verbrauch (5-10M pro Instanz)
+ \item Sehr komplex % (v.a. Completion, kann hängen)
+ \end{itemize}
+ \pause
+ \begin{quote}
+ shell programming is like LSD, you often see advantages that are not
+ there.
+ \end{quote}
+ \begin{flushright}
+ -- Zaba
+ \end{flushright}
+\end{frame}
+
+\subsection{Vorteile der mksh/pdksh}
+\begin{frame}{Vorteile der mksh/pdksh}
+ \begin{itemize}
+ \item Niedriger RAM-Verbrauch (500-800K)
+ \item Schnelle Startup-Zeit % kein compinit
+ \item Verhältnismäßig simpel
+ \end{itemize}
+\end{frame}
+
+\subsection{Bequemlichkeit}
+\begin{frame}{Aber: Bequemlichkeit}
+ \begin{itemize}
+ \item zsh kann einfach mehr
+ \item $\rightarrow$ Abwägen, was einem wichtiger ist
+ \end{itemize}
+\end{frame}
+
+\section{hal}
+\begin{frame}{HAL}
+ \begin{itemize}
+ \item ``Hardware Abstraction Layer''
+ \item Input-Hotplug, wobei X einzelne Geräte sehen kann
+ \item Hotplug selbst ging und geht auch ohne HAL
+ \item Klassisch: Flexibilität für wenige $\rightarrow$ mehr
+ Komplexität für alle
+ \item Obskure XML-Configs
+ \item Inzwischen: libudev
+ \end{itemize}
+\end{frame}
+
+\section{udev / mdev}
+\begin{frame}{udev vs. mdev}
+ Device-Hotplugging (/dev)
+\end{frame}
+
+\subsection{udev}
+\begin{frame}{udev}
+ \begin{itemize}
+ \item Daemon (Sicherheitsprobleme)
+ \item udevadm settle: Teilweise sehr langsam
+ \end{itemize}
+\end{frame}
+
+\subsection{mdev}
+\begin{frame}{mdev}
+ \begin{itemize}
+ \item Kein Daemon
+ \item kein Netlink-Socket, klassische
+ Argumente / Environment
+ \item Hat trotzdem fast alle udev-Features
+ \item Schnell (~0.1s für alle Devicenodes)
+ \end{itemize}
+\end{frame}
+
+\section{Abschluss}
+
+\begin{frame}{Fazit}
+ \begin{quote}
+ Linux is becoming an idiot box; a nanny operating system. The
+ complexity and
+ the idiot box ideals are killing the power user, and the spare time
+ developer.
+ \end{quote}
+ \begin{flushright}
+ -- Tuomo Valkonen
+ \end{flushright}
+\end{frame}
+
+\begin{frame}{Links}
+ \begin{itemize}
+ \item suckless.org
+ \item harmful.cat-v.org
+ \end{itemize}
+\end{frame}
+
+\end{document}
View
203 20101001-adminreport/talk-nopause.tex
@@ -0,0 +1,203 @@
+\documentclass{beamer}
+\usepackage[utf8]{inputenc}
+\usepackage{listings}
+\usepackage[orientation=landscape,size=custom,width=16,height=9,scale=0.75]{beamerposter}
+\usetheme{Warsaw}
+\title[Der Chaosdorf-Adminreport]
+ {Der Chaosdorf-Adminreport}
+\author{Daniel Friesel \and Maximilian Gaß}
+\institute{Chaosdorf}
+\date{1. Oktober 2010}
+
+\renewcommand{\familydefault}{\sfdefault}
+
+\lstset{numbers=left}
+
+\begin{document}
+
+\begin{frame}
+ \titlepage
+\end{frame}
+
+
+\begin{frame}{Am Anfang war das FreeBSD}
+ \begin{itemize}
+ \item FreeBSD-System mit Jails auf chaosdorf.de
+ \item Von ? bis Sommer 2009
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{Anforderungen}
+ \begin{itemize}
+ \item Zentrale Nutzerverwaltung
+ \item Shellserver
+ \item Mailserver
+ \item Website
+ \item Internes Wiki + Interner Bugtracker
+ \end{itemize}
+\end{frame}
+
+\section{Systembeschreibung}
+
+\begin{frame}{The Next Generation}
+ \begin{itemize}
+ \item To Boldly Serve How Noone Has Served Before
+ \end{itemize}
+ \begin{itemize}
+ \item vm.chaosdorf.de
+ \begin{itemize}
+ \item backend.chaosdorf.de
+ \item frontend.chaosdorf.de
+ \item shells.chaosdorf.de
+ \end{itemize}
+ \end{itemize}
+ \begin{itemize}
+ \item Debian Stable
+ \end{itemize}
+\end{frame}
+
+
+\subsection{vm.chaosdorf.de}
+\begin{frame}{Hardware und Hosting}
+ \begin{itemize}
+ \item Hosting by OpenIT
+ \item 217.69.82.240/29 in eigenem VLAN
+ \item Keinerlei Remote-Zugriff außer SSH
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{vm.chaosdorf.de}
+ \begin{itemize}
+ \item Drei VMs mit qemu-kvm + libvirt
+ \item Zwei Festplatten, RAID 1 + LVM
+ \item Verschlüsselte Volumes für die einzelnen VMs
+ \item Paketfilter mit ferm, auch zwischen VMs etc.
+ \end{itemize}
+\end{frame}
+
+\subsection{backend.chaosdorf.de}
+\begin{frame}{backend.chaosdorf.de}
+ \begin{itemize}
+ \item LDAP
+ \item (Noch:) Webserver mit phpldapadmin
+ \item approx (Debian-Paketcache)
+ \item reprepro für das Admin-Toolkit
+ \end{itemize}
+\end{frame}
+
+\subsection{frontend.chaosdorf.de}
+\begin{frame}{frontend.chaosdorf.de}
+ \begin{itemize}
+ \item Mail
+ \begin{itemize}
+ \item Postfix mit postgrey und SpamPD
+ \item Mailinglisten (miniml)
+ \item Roundcube mit MySQL
+ \item Dovecot
+ \item Alle mit LDAP-Anbindung
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{frontend.chaosdorf.de}
+ \begin{itemize}
+ \item Webserver: Apache2
+ \begin{itemize}
+ \item ikiwiki: Website und Wiki
+ \item Ticketsystem: Roundup mit SQLite
+ \end{itemize}
+ \item Userzugriff: SSH für git + SFTP für Userwebsites
+ \item Userquotas
+ \end{itemize}
+\end{frame}
+
+\subsection{shells.chaosdorf.de}
+\begin{frame}{shells.chaosdorf.de}
+ \begin{itemize}
+ \item Shell-Zugriff. Sonst Nichts.
+ \item Userlimits und Quotas
+ \end{itemize}
+\end{frame}
+
+\section{Clubraum-Infrastruktur}
+\subsection{Router}
+\begin{frame}{Clubraum-Infrastruktur}
+ \begin{itemize}
+ \item Raumserver: figurehead
+ \item Routing mit dn42-Anschluss
+ \item MPD
+ \item FTP
+ \item In Zukunft: WLAN-AP
+ \item Keine Useraccounts, daher keine LDAP-Anbindung
+ \end{itemize}
+\end{frame}
+
+\subsection{Terminal}
+\begin{frame}{Clubraum-Terminal}
+ \begin{itemize}
+ \item In Planung
+ \item Mit LDAP-Anbindung
+ \item Option, eigene Livesysteme vom USB-Stick zu booten
+ \item Problem: Booten externer Sticks vs. LDAP-Passwort auf
+ Festplatte
+ \end{itemize}
+\end{frame}
+
+\section{Weitere Themen}
+
+\subsection{Metafoo}
+\begin{frame}{Dokumentation und Transparenz}
+ \begin{itemize}
+ \item Doku schreiben, während man das System aufsetzt. Nicht später
+ \item Änderungen: im öffentlichen Log + in \#chaosdorf
+ \item Idee: Auditing mit sudo und Logcheck
+ \item User haben Lesezugriff auf's Monitoring
+ \item Alle Änderungen werden angekündigt
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{Versionskontrolle}
+ \begin{itemize}
+ \item etckeeper (Git für /etc)
+ \item Ebenfalls: Git für /usr/local
+ \end{itemize}
+\end{frame}
+
+\subsection{Monitoring}
+\begin{frame}{Monitoring}
+ \begin{itemize}
+ \item Will man haben
+ \item Auf vom System komplett unabhängigen Host
+ \item Zusätzliche Checks schaden nie
+ \item Für SSH-CHecks: Separater key mit forcecommand
+ \item Goodie: Ankündigungen im IRC per Bot
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{Besondere Checks}
+ \begin{itemize}
+ \item Git-Status (/etc + /usr/local)
+ \item Kein offener Mailrelay
+ \item Kein SSH-Passwortlogin
+ \item RBL (frontend nicht blacklisted)
+ \item Laufende Kernelversion
+ \item SSL-Zertifikate
+ \end{itemize}
+\end{frame}
+
+\subsection{Automatisierung}
+\begin{frame}{Automatisierung}
+ \begin{itemize}
+ \item Puppet (Rubyrant von mxey)
+ \item $\rightarrow$ Admin-Toolkit als .deb mit reprepro
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{Siehe auch}
+ \begin{itemize}
+ \item https://intern.chaosdorf.de/admin/
+ \item http://github.com/chaosdorf/chaosdorf-admin-toolkit
+ \end{itemize}
+\end{frame}
+
+\end{document}
Please sign in to comment.
Something went wrong with that request. Please try again.