%
% sysctl.tex
% Last Update: $Id$
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Kapitel sysctl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\chapter{sysctl Kernelkonfiguration}
\index{sysctl}
\index{SYSCTL}

\section{Allgemein}

    Mit sysctl k"onnen System-Parameter ver"andert werden, die das
    Verhalten des Kernels beeinflussen. Beispiele daf"ur sind z.B.
    das Aktivieren der IP-Weiterleitung oder die Festlegung der Gr"o"se
    von Speicherbereichen.

    Grunds"atzlich k"onnen alle Parameter beeinflusst werden, die unter
    \glqq{}/proc/sys\grqq{} im Dateisystem als Datei mit Schreibzugriff
    sichtbar sind. Die in der sysctl-Konfiguration eingetragenen Werte
    werden bei jedem Systemstart automatisch wiederhergestellt.

    Das sysctl-Paket hat eine einfache Struktur ohne h"ohere Logik. Es ist
    in erster Linie f"ur erfahrene Administratoren gedacht, die ihr System
    optimieren m"ochten und dient zudem Paketentwicklern als Schnittstelle
    zur Datei \glqq{}/etc/sysctl.conf\grqq{}.



\section{Das Men"u im Setup-Programm}

    Das Men"u im Setup-Programm  ist wie folgt aufgebaut:

    \mbox{}

    \begin{tabular}{llll}
    & 1. &  System administration \\
    \end{tabular}
\eline
    \begin{tabular}{p{1cm}llll}
    & x. &  Kernel configuration \\
    \end{tabular}
\eline
    \begin{tabular}{p{2cm}llll}
    & 1. &  View documentation \\
    & 2. &  Edit configuration \\
    & 3. &  Advanced configuration file handling \\
    & 4. &  Show status \\
    \end{tabular}

    \mbox{}


\section{Die "Anderung der Konfiguration}

    Die Konfiguration wird "uber den Men"upunkt \glqq{}Edit configuration\grqq{}
    ge"andert.

    Es ist zu beachten, dass auch Pakete Werte für Kernelparameter vorgeben
    k"onnen. Sollte dabei der selbe Parameter sowohl manuell, als auch von
    einer Paketkonfiguration belegt sein, dann dominiert die manuelle
    Einstellung.

\section{Die Konfigurationsdatei}

    In der Konfigurationsdatei, welche "uber das Men"u zug"anglich ist,
    sind folgende Parameter vorhanden; wer sie von Hand editieren will,
    findet sie unter \\
    \texttt{/etc/config.d/sysctl}.


\section{Die Parameter}

\begin{description}

\config{START\_SYSCTL}
{START\_SYSCTL}
{STARTSYSCTL}
{
    F"ur die Aktivierung dieser Konfiguration muss diese Variable lediglich
    auf den Wert 'yes' gestellt werden. Die Einstellung 'no' schaltet die
    Aktivierung dieser Konfiguration ab.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{START\_SYSCTL='no'}
}


\config{SYSCTL\_PARAM\_N}
{SYSCTL\_PARAM\_N}
{SYSCTLPARAMN}
{
    Gibt die Anzahl der Parameter vor, die eingestellt werden sollen.
    Parametereinstellungen bestehen aus einer Liste von Einzelpara-
    metern, die sich aus dem Parameternamen und dessen Wert zusammen-
    setzen. Ein Wert von '0' deaktiviert die manuelle Konfiguration
    von sysctl.

    G"ultige Werte: Zahl

    Standardeinstellung: \texttt{START\_PARAM\_N='1'}
}


\config{SYSCTL\_PARAM\_x\_NAME}
{SYSCTL\_PARAM\_x\_NAME}
{SYSCTLPARAMxNAME}
{
    An dieser Stelle kann eine Beschreibung hinterlegt werden.
    Dieser Parameter wird nicht ausgewertet.

    G"ultige Werte: alles

    Standardeinstellung: \texttt{SYSCTL\_PARAM\_x\_NAME=''}
}


\config{SYSCTL\_PARAM\_x\_ACTIVE}
{SYSCTL\_PARAM\_x\_ACTIVE}
{SYSCTLPARAMxACTIVE}
{
    "Uber diesen Parameter wird eingestellt, ob der Datensatz aktiv
    sein soll.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{SYSCTL\_PARAM\_x\_ACTIVE'='no'}
}


\config{SYSCTL\_PARAM\_x\_KEY}
{SYSCTL\_PARAM\_x\_KEY}
{SYSCTLPARAMxKEY}
{
    Der Name des Kernelparameters, der modifiziert werden soll. Die
    Parameternamen k"onnen dabei unter \glqq{}/proc/sys\grqq{}
    nachgeschaut werden, wobei das Zeichen '/' im Pfad unter
    \glqq{}/proc/sys\grqq{} gegen einen Punkt auszutauschen ist.

    Beispiele:
    \begin{itemize}
        \item SYSCTL\_PARAM\_x\_KEY='kernel.acct'
        \item SYSCTL\_PARAM\_x\_KEY='kernel.cad\_pid'
        \item SYSCTL\_PARAM\_x\_KEY='kernel.cap-bound'
        \item SYSCTL\_PARAM\_x\_KEY='kernel.core\_pattern'
        \item SYSCTL\_PARAM\_x\_KEY='kernel.core\_setuid\_ok'
        \item SYSCTL\_PARAM\_x\_KEY='kernel.core\_uses\_pid'
        \item SYSCTL\_PARAM\_x\_KEY='kernel.ctrl-alt-del'
        \item SYSCTL\_PARAM\_x\_KEY='kernel.domainname'
        \item SYSCTL\_PARAM\_x\_KEY='kernel.hostname'
    \end{itemize}

    G"ultige Werte: siehe Beispiel

    Standardeinstellung: \texttt{SYSCTL\_PARAM\_x\_KEY=''}
}


\config{SYSCTL\_PARAM\_x\_VALUE}
{SYSCTL\_PARAM\_x\_VALUE}
{SYSCTLPARAMxVALUE}
{
    Der Wert der dem jeweiligen Kernelparameter zugewiesen werden soll.

    G"ultige Werte: Entsprechender Wert

    Standardeinstellung: \texttt{SYSCTL\_PARAM\_x\_VALUE=''}
}

\end{description}

\section{sysctl f"ur Paketentwickler}


    Pakete k"onnen unter \glqq{}/etc/sysctl.\$paket-name\grqq{} ihre
    Einstellungen hinterlegen und anschließend "uber
    \glqq{}/var/install/bin/updatesysctl\grqq{} eine
    Aktualisierung der sysctl Parameter bewirken. Die Datei hat dabei
    den folgenden Aufbau:

\begin{verbatim}
   #-------------------------------------------
   # Kommentar
   #-------------------------------------------

   name.des.parameters1 = wert
   name.des.parameters2 = wert
\end{verbatim}

