% $Id: a4-pkgsrc-de.tex,v 1.4 2007/04/07 14:54:49 hubertf Exp $
% written by Stefan Schumacher, <stefan [at] net-tex.de>, 2006-01-08
% Die Urheberrechtshinweise dürfen nicht entfernt werden.
\documentclass[9pt,a4paper]{article}
\usepackage[pdftex]{graphicx}
\usepackage{multicol}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[nofancy]{rcsinfo}

\usepackage{kopf}

\usepackage{geometry}
\geometry{margin=8mm}

\setlength{\parindent}{0pt}
%
% mySection  
% 
\newcommand{\mySection}[1]{\begin{center}\large{\sffamily\bfseries #1}\end{center}}

\begin{document}

\pagestyle{empty}
% Header
\KopfPkgsrcAVier[18]{Portable Softwareverwaltung}

\hyphenation{pkg-src}

% Body
\begin{multicols}{2} \setlength{\columnseprule}{0.3pt}
\mySection{Was ist Pkgsrc?}
Pkgsrc (\textit{Package Source}) ist ein Framework zur Software-Verwaltung, das
ursprünglich für NetBSD entwickelt wurde. Genau wie NetBSD, wurde es auf Portabilität
ausgelegt und ist daher schon auf verschiedene Betriebssysteme, wie Solaris, AIX, Linux oder
sogar MS Windows portiert worden. Pkgsrc ist eine wohlsortierte Hierarchie von Verzeichnissen und
Make-Files, die dazu benutzt werden, Software zu installieren. Pkgsrc löst dabei alle
benötigten Abhängigkeiten automatisch auf und kann die Pakete selbständig kompilieren oder
direkt aus vorkompilierten Binär-Paketen installieren. Zusätzlich zu den Make-Files gibt
es in Pkgsrc noch diverse Programme zur autmatisierten Verwaltung der Pakete.

Mit Pkgsrc können Sie den gesamten Softwareverwaltungsprozess in einem heterogenen
Netzwerk automatisieren und konsolidieren!


\mySection{Unterstützte Betriebssysteme}
Einige unterstützte Betriebssysteme sind unter anderem:~\\
\begin{minipage}{0.45\columnwidth}
\begin{itemize}%\itemsep-1ex
\item AIX
\item BSD/OS
\item Bluewall Linux
\item Darwin PowerPC 
\item Debian GNU/Linux
\item DragonflyBSD
\item Fedora Linux
\item FreeBSD
\item IRIX
\end{itemize}
\end{minipage}
\begin{minipage}{0.45\columnwidth}
\begin{itemize}%\itemsep-1ex
\item Interix
\item OSF/1
\item OpenBSD
\item PC-BSD
\item ROOT Linux
\item RedHat Linux
\item Slackware Linux
\item Solaris
\item SuSE Linux
\end{itemize}
\end{minipage}

% \columnbreak
\mySection{Warum benötigen Sie Pkgsrc?}
Auf modernen Rechnern sind heutzutage mehrere Hundert Software-Pakete installiert und in
Benutzung. Alle Programme müssen verwaltet und gepflegt werden -- dies umfasst
Aktualisierungen, Überprüfungen auf Sicherheitslöcher, Installation aus den Quellen und so
weiter. Mit den gegenwärtigen Abhängigkeiten unter den Paketen explodiert der
Arbeitsaufwand im Null Komma Nix. All diese Aufgaben von Hand zu erledigen, ist nahezu
unmöglich -- insbesonders, wenn man verschiedene Betriebssysteme in verschiedenen
Versionen auf verschiedenen Architekturen einsetzt.



Um Software von Hand zu installieren, muss man die gesamten benötigten Werkzeuge kennen --
also mehrere Dutzend Versionen von \textit{configure} und nahezu unendlich viele
Varianten von \textit{Make}. Niemand möchte einen ganzen Tag damit verschwenden,
herauszufinden, wie man ein Programm installiert. 

Mit Pkgsrc können Sie all diese Aufgaben automatisieren und konsolidieren -- selbst in
einem heterogenen Netzwerk mit verschiedenen Betriebssystemen und Architekturen.


\mySection{Pakete und Betriebssystem getrennt halten}
Einige Betriebssysteme oder Distributionen sind der Meinung, daß Anwendungsprogramme und
Betriebssystem gemischt werden sollten. Dies ist natürlich eine schlechte Idee, da so die
Verwaltung und Pflege der Anwendungen noch kompexer wird. 

Pkgsrc trennt Betriebssystem und Anwendungen von vornherein -- alles hat seinen
angestammten Platz unter /usr/pkg/. Seien es Konfigurationsdateien, Man-Pages oder
Binaries -- unter /usr/pkg/ findet sich eine wohldurchdachte und sortierte Hierarchie von
Verzeichnissen, die nur für die Anwendungsprogramme reserviert sind.

\end{multicols}
\begin{minipage}{\textwidth}
\begin{minipage}{0.35\textwidth}
\centering
\includegraphics[scale=0.6]{struktur.pdf}~\\
\small \textit{Auszug aus der Verzeichnis-Struktur}
\end{minipage}
\begin{minipage}{0.65\textwidth}
\centering
\includegraphics[scale=1.6]{ps300.jpg}
\\ \small \textit{pkg\_select, eine Curses-basierte Oberfläche für Pkgsrc\\}
\end{minipage}
\end{minipage}





% Footer 
{\scriptsize
\rule{\textwidth}{0.65pt}\\%
All rights reserved. Created by Stefan Schumacher (\texttt{http://www.net-tex.de})}
% Do not remove my copyright notice!

\clearpage

\pagestyle{empty}
% Header
\KopfPkgsrcAVier[18]{Portable Paketverwaltung}
%
% Body
\begin{multicols}{2} \setlength{\columnseprule}{0.3pt}

\mySection{Wie hätten Sie Ihre Software gern? Frisch aus den Quellen oder bereits
vorkompiliert?}
Egal was Sie bevorzugen -- Pkgsrc ist Ihnen zu Diensten. Wenn Sie die Pakete aus
vorkompilierten Binärpaketen installieren möchten, setzen Sie nur eine Umgebungsvariable
und Pkgsrc befolgt Ihren Wunsch. Viele Pkgsrc-Anwender weltweit kompilieren Binärpakete
für verschiedenste Betriebssysteme und Architekturen. Diese Pakete werden auf
ftp.pkgsrc.org bereitgestellt und können frei und kostenlos heruntergeladen werden.

Anwendungsprogramme direkt aus den Quellen zu kompilieren ist genauso einfach. Pkgsrc wird
automatisch alle benötigten Abhängigkeiten auflösen und installieren. Außerdem können Sie
mit Pkgsrc selbst Binärpakete erstellen. Somit können Sie beispielsweise einen dedizierten
Server betreiben, der alle benötigten Programme als Binärpakete erstellt und diese dann in
Ihrem Netzwerk auf allen Rechnern installieren. Pkgsrc ermöglicht es sogar, Pakete für
einige Architekturen auf anderen Rechnern crosszukompilieren.

\mySection{Eine Datei sie alle zu knechten ...}
Die gesamte Softwareverwaltung von Pkgsrc kann in einer einzigen einfachen Datei
konfiguriert werden. In /etc/mk.conf können Sie alle benötigten Umgebungsvariablen setzen
-- egal ob es Globale oder Lokale sind. Sie können beispielsweise festlegen welcher
Compiler verwendet werden soll oder welche Abhängigkeiten eines Paketes installiert werden
sollen. 

\mySection{Wie benutzt man Pkgsrc?}
Laden Sie Pkgsrc via CVS oder FTP von ftp.pkgsrc.org herunter und entpacken Sie es auf
Ihrer Festplatte. Pkgsrc ist eine Hierarchie von Verzeichnissen, die in verschiedenene
Kategorien sortiert sind. Um ein Paket zu installieren, müssen Sie nur in das Verzeichnis 
wechseln und \textit{make install clean} eingeben. Den Rest erledigt Pkgsrc
vollautomatisch für Sie!


\mySection{Welche Make-Targets gibt es?}
\begin{itemize}\itemsep-1ex
\item {\tt make fetch}: 	Quellen herunterladen 
\item {\tt make checksum}: 	Integritätsprüfung mit Prüfsummen
\item {\tt make install-depends}: Installiert Abhängigkeiten
\item {\tt make extract}:  Entpacken
\item {\tt make patch}:  Patches einspielen
\item {\tt make configure}:  	  Konfigurieren
\item {\tt make build}: 	 Kompilieren 
\item {\tt make install}: 	 Installieren und registrieren
\item {\tt make package}: 	Binärpaket für pkg\_add(8) erzeugen
\item {\tt make clean}: 	Kompilationsverzeichnis säubern
\item {\tt make clean-depends}: Abhängigkeiten säubern
\item {\tt make deinstall}: 	Deinstallieren
\item {\tt make replace}: 	Neue Version drüberinstallieren 
\item {\tt make update}: 	Paket inkl. Abhängigkeiten aktualisieren
\item {\tt make fetch-list}: Shellskript zum Quellen-Herunterladen erzeugen
\item {\tt make show-options}: Paketoptionen zeigen
\end{itemize}



\mySection{Zusätzliche Programme}
\begin{itemize}\itemsep-1ex
\item \texttt{pkg\_admin} Administriert Paketdatenbank
\item \texttt{pkg\_add, pkg\_delete} Binärpakete installieren/löschen
\item \texttt{pkg\_chk} Überprüft und aktualisiert Pakete
\item \texttt{pkg\_tarup} Installiertes Paket in Binärpaket umwandeln
\item \texttt{pkgfind} Paket nach Namen in pkgsrc suchen
\item \texttt{pkg\_view} Pakete in Chroots installieren
\item \texttt{cdpack} Packt CDs mit Binärpaketen
\end{itemize}


\mySection{Sicherheit}
Genau wie das NetBSD-Projekt legt auch Pkgsrc äußersten Wert auf Sicherheit.
Alle Quellen und Patches werden mit zwei Prüfsummen -- SHA1 und RipeMD160 -- signiert und
vor dem Kompilieren überprüft. Stimmen die Prüfsummen nicht überein, wird der
Installationsprozess unterbrochen. Zusätzlich zu den Prüfsummen kann Pkgsrc auch
PGP-Singaturen verwenden, um die Integrität der Pakete sicherzustellen. Somit ist es
nahezu unmöglich, Trojaner oder andere Schadsoftware einzuschleusen.

Um unsichere Pakete einfach zu finden, pflegt das Pkgsrc-Projekt eine Liste, in der Pakete
mit einer Sicherheitslücke aufgeführt sind. Diese Liste kann mit dem Programm
\textit{audit\_packages} automatisch aktualisiert und gegen Ihr laufendes System
abgeglichen werden. Somit erfahren Sie sofort, welche Programme aktualisiert werden müssen
-- und können dies auch automatisch von Pkgsrc erledigen lassen! Diese Aufgabe können Sie
selbstverständlich via Cron automatisieren und somit die Sicherheit Ihres Systemes
dramatisch erhöhen.

\mySection{Pakete als Nicht-Root installieren}
Mit Pkgsrc können Sie Pakete auch ohne Root-Rechte in Ihrem Heimatverzeichnis
installieren. 

\mySection{Umfangreiche Dokumentation}
Das gesamte System ist wohldokumentiert. Unter {\tt
http://www.NetBSD.org/Documentation/pkgsrc/} oder pkgsrc/doc/pkgsrc.txt finden Sie das
komplette Benutzerhandbuch inklusive Implementierungshinweisen.

% \mySection{Third Party Packages}
% Many of the most important and well-engineered security software
% packages available can be installed flawlessly via NetBSD's pkgsrc.
% Some of those packages are snort, Tripwire, CFS, Nessus, Amap, GnuPG and honeyd.
\end{multicols}


\begin{center}
\rule{\textwidth}{1pt}\\%
{\fontsize{30}{30pt}\selectfont \textbf{www.pkgsrc.org}}
\rule{\textwidth}{0.5pt}\\%
\end{center}


% Footer 
%
\rcsInfo $Id: a4-pkgsrc-de.tex,v 1.4 2007/04/07 14:54:49 hubertf Exp $
{\scriptsize Version \rcsInfoRevision\ as of
\rcsInfoYear-\rcsInfoMonth-\rcsInfoDay. See \texttt{http://www.net-tex.de/netbsd/advocacy} All rights reserved. Created by Stefan Schumacher
(\texttt{http://www.net-tex.de})}
% Do not remove my copyright notice!
\end{document}

