%\documentclass[a4paper,11pt]{article} \documentclass[landscape,11pt]{article} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage[german]{babel} \usepackage{palatino} %% better for pdflatex \usepackage{xspace,path} \usepackage{graphicx} % graphics \graphicspath{{pics/}} % Detect, if we are using pdftex to create pdf output. The following % code should better be in a LaTeX package... \makeatletter \newif\ifpdfoutput \@ifundefined{pdfoutput}% {\let\pdfoutput\@undefined}% {\ifcase\pdfoutput \let\pdfoutput\@undefined \else \pdfoutputtrue }% \makeatother \oddsidemargin0in \evensidemargin0in \marginparwidth0in \marginparsep0in \topmargin0in \headheight0in \headsep0in \topskip0in \parindent0mm %%\parskip0mm %\textheight22cm \setlength{\fboxsep}{8pt} \newlength{\myfigwidth} \gdef\narrowitem{\setlength{\topsep}{0ex}\setlength{\itemsep}{0ex}} % \begin{latexonly} %% \usepackage{geometry,mflogo,xspace,texnames,path,booktabs,bm} \newcommand{\psext}{ps} \newcommand{\pdfext}{pdf} \newcommand{\dviext}{dvi} \ifpdfoutput \usepackage[backref,colorlinks,urlcolor=blue,citecolor=darkgreen,bookmarks]{hyperref} \usepackage{thumbpdf} \DeclareGraphicsExtensions{.png,.pdf} % \let\docext=\pdfext % \pdfinfo{ /Title (Debian-Schnelleinstieg) /Author (René Scholz) /Subject (Debian) /Keywords (Debian, Linux) } %\advance\textheight by 1in %\pdfpagewidth=29cm %\pdfpageheight=15cm \textheight15cm \textwidth23cm \footskip.7in \else \DeclareGraphicsExtensions{.eps.gz,.eps} % \let\docext=\dviext \usepackage[bookmarks]{hyperref} % \advance\textheight by 1in \textwidth15.5cm \footskip.7in \fi % \end{latexonly} \usepackage{html, htmllist} \htmlbody[bgcolor=#FFE4B5] \newcommand{\zb} {z.\,B.\xspace} \newcommand{\sa} {s.\,a.\xspace} \newcommand{\ua} {u.\,a.\xspace} \newcommand{\DD} {Debian-Distribution\xspace} \newcommand{\V} {Verzeichnis\xspace} \newcommand{\Link} {\htmladdnormallink} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1. Verzeichnisstruktur vor allem in /etc % 2. Konfigurationstools % 3. Installationsvorgang % 4. Support % 5. Updatemoeglichkeiten % 6. evl. Kernelaenderungen extra fuer eine Distribution % FSS \title{\sffamily\bfseries\huge Debian -- Schnelleinstieg\\{\large v. 1.2}} \author{\sffamily\htmladdnormallink{René Scholz}{http://www.thur.de/~Voland/} -- Voland@Jena.Thur.de} \date{2001-05-23} \begin{document} \maketitle % \setlength{\myfigwidth}{.8\linewidth} % \advance\myfigwidth by -2\fboxsep \begin{abstract} Dieses Dokument soll einen kurzen und allgemeinen Überblick über die Debian-Linuxdistribution verschaffen. Der Leser sollte schon einige Erfahrung mit Unix haben, da hier nur auf die Besonderheiten von Debian eingegangen werden soll. Hierbei wird auf die Version 2.2 Bezug genommen (\emph{Potato}). \end{abstract} \bigskip \section{Einführung} \begin{itemize} \item \textbf{Debian} ist eine Open Source Linux-Distribution, die von vielen freiwilligen Entwicklern im Netz zusammengestellt und gepflegt wird. \item Die Debian-Gemeinschaft hat den \htmladdnormallink{Gesellschaftsvertrag}{http://www.debian.de/social_contract} aufgestellt. \item Die Entwicklung der \DD wird durch verschiedene \htmladdnormallink{Richtlinien und Policies}{http://www.debian.de/devel/} gesteuert. \item Die GPL erlaubt die Installation von Debian GNU/Linux auf beliebig vielen Computern. Man kann auch die ISO-Images der Debian-CDs von den FTP-Servern herunterladen (enthalten keine Non-Free Pakete). \item Für jedes der etwa 4000 Pakete gibt es einen zuständigen Maintainer. \item Jeder Benutzer kann die \DD verbessern, indem er gefundene Bugs in die \htmladdnormallink{Fehlerdatenbank} {http://www.debian.de/Bugs/} einträgt. \item Auf den Seiten des \htmladdnormallink{Debian Documentation Projects}{http://www.debian.de/doc/ddp} gibt es umfangreiche Dokumentationen wie Handbücher, Tutorials, Manuals usw. \item Die folgenden Architekturen werden in der Release 2.2 unterstützt: \begin{itemize} \item Alpha \item ARM \item Intel x86 \item Motorola 680x0 \item PowerPC \item SPARC \end{itemize} \begin{htmlonly} \item Hier findet man etwas zur \htmladdnormallink{Geschichte der Debian-Entwicklung}{http://www.openoffice.de/linux/buch/wasistdebiangnulinux.html}. \end{htmlonly} \end{itemize} \section{Installation} Debian kann per CD, FD, HD oder FTP/HTTP installiert werden (letztere erfordern vorher eine Basis-Installation \zb per Diskette). Hier gibt es eine kurze \htmladdnormallink{Beschreibung der Installation} {http://www.openoffice.de/linux/buch/debianinstallation.html}. \section{init} Es wird das SystemV-Init benutzt. Die Init-Shellskripte liegen in \verb|/etc/init.d|, die Runlevel-Skripte als Links in \verb|/etc/rc?.d|, der Default-Runlevel ist 2. Zwischen den runlevels kann man als Superuser mit \htmladdnormallink{\texttt{telinit}} {http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/init.8.gz} wechseln, \zb mit \texttt{telinit 1} gelangt man in den Single User Mode. \begin{verbatim} /etc/rc.boot/ /etc/rc0.d/ /etc/rc1.d/ /etc/rc2.d/ /etc/rc3.d/ /etc/rc4.d/ /etc/rc5.d/ /etc/rc6.d/ /etc/rcS.d/ /etc/init.d/ \end{verbatim} % ifpdf: link zu inittab.txt % ifhtml: " " % \href{etc/inittab.txt}{\path|/etc/inittab|} \texttt{/}\url{etc/inittab} Siehe auch die Doku im \V \path|/usr/share/doc/sysvinit/|. \section{Filesystem} Nach der Installation existieren diese Verzeichnisse unterhalb von \verb|/|: \begin{verbatim} bin/ boot/ cdrom/ dev/ etc/ floppy/ home/ initrd/ lib/ lost+found/ mnt/ proc/ root/ sbin/ tmp/ usr/ var/ vmlinuz@ -> boot/vmlinuz-2.2.18pre21 vmlinuz.old@ -> boot/vmlinuz-2.2.18pre21 \end{verbatim} \section{Konfiguration} Alle Konfigurationsdateien einer \DD befinden sich \emph{immer} unterhalb von \verb|/etc|. Es gibt keine zentrale Distributionsspezifische Konfiguration wie etwa \texttt{/etc/rc.config} oder Tools wie \zb \texttt{Yast} bei der Suse-Distribution! Falls Programme ihre Konfigurationsdateien woanders erwarten, werden diese nach \verb|/etc| gelinkt\\ (\zb: \verb|/usr/lib/mc/mc.ini -> /etc/mc/mc.ini|). Wenn man sein System vollständig konfigurieren will, muß man also nur alle Dateien in \texttt{/etc} durchsehen! \textbf{Die wichtigsten Konfigurationsdateien:} \begin{verbatim} /etc/Muttrc /etc/TextConfig /etc/X11/ /etc/adduser.conf /etc/aliases@ -> mail/aliases /etc/alternatives/ /etc/apache-ssl/ /etc/apt/sources.list /etc/bash.bashrc /etc/cron.d/ /etc/cron.daily/ /etc/cron.monthly/ /etc/cron.weekly/ /etc/crontab /etc/environment /etc/gtk/ /etc/inittab /etc/inputrc /etc/joe/ /etc/latex2html.config /etc/ld.so.conf /etc/lilo.conf /etc/localtime@ -> /usr/share/zoneinfo/Europe/Berlin /etc/login.defs /etc/logrotate.conf /etc/logrotate.d/ /etc/lynx-ssl.cfg /etc/lynx.cfg /etc/magic /etc/mail/ /etc/mailcap /etc/mc/ /etc/menu/ /etc/menu-methods/ /etc/mime.types /etc/modutils/ /etc/mysql/ /etc/news/ /etc/nntpserver -> /etc/news/server /etc/nsswitch.conf /etc/ntp.conf /etc/pam.conf /etc/pam.d/ /etc/php4/ /etc/postgresql/ /etc/ppp/ /etc/quota/ /etc/resolv.conf /etc/samba/ /etc/security/ /etc/ssh/ /etc/ssl/ /etc/syslog.conf /etc/texmf/ /etc/timezone /etc/vga/ /etc/wgetrc /etc/wu-ftpd/ /etc/zgv.conf \end{verbatim} \section{Lokale Dokumentation} Abgesehen von \texttt{man}-Pages und \texttt{info}-Dateien gibt es eine umfangreiche Dokumentation der installierten Pakete (uvm.) unterhalb von \verb|/usr/doc| und \verb|/usr/share/doc|. Dabei sind die Inhalte beider Verzeichnisse über Links angeglichen (in Zukunft soll irgendwann nur noch eines dieser Verzeichnisse benutzt werden). \textbf{Die wichtigsten Doc-Verzeichnisse:} \begin{verbatim} tantalus# ls -1 /usr/doc/|wc -l 459 HOWTO HTML adduser apache apache-common apache-doc bash bash-doc console-apt copyright debconf debian debian-guide debian-policy debianutils oc-debian doc-linux-de doc-linux-html doc-linux-text dpkg dpkg-doc fvwm fvwm-common fvwmconf gimp gimp-manual gimp-nonfree joe latex2html lib* lilo login lynx lynx-ssl mc mc-common menu mutt mysql-client mysql-doc mysql-server nasm perl* php4* postgresql* quota sendmail ssh svgatextmode sysvinit tetex-* xf86setup xfree86-common xserver-* zgv \end{verbatim} \section{X11} Hier sei auf das \htmladdnormallink{X11-Kapitel} {http://www.openoffice.de/linux/buch/x11.html} im Debian-Anwenderhandbuch verwiesen. \section{Paket-Management} \begin{itemize} \item \textbf{Organisation der Pakete:} Debian organisiert die Pakete in einer festgelegten Hierarchie. Unter anderem werden Bereiche mit allgemeiner, freier Software (\texttt{main}), die den Debian Free Software Guidelines entspricht, und Bereiche mit Software, die nicht unter solchen freien Lizenzen steht (\texttt{non-free}), unterschieden (sowie weitere wie \zb \texttt{contrib}).\\ Die nächste Ebene beschreibt die Architektur, also die Prozessorfamilie, auf der die Binärpakete laufen. Auch die Sourcen zu den Paketen sind in dieser Ebene angesiedelt.\\ In der letzten Ebene finden sich diverse Verzeichnisse, in denen die eigentlichen Pakete zu Gruppen, wie zum Beispiel \emph{Games} oder \emph{X11}, zusammengefaßt werden: \htmladdnormallink{lynx ftp://ftp.debian.org/debian/dists} {ftp://ftp.debian.de/debian/dists} \begin{verbatim} ... /debian/dists directory Current directory is /debian/dists Up to debian Apr 16 19:39 Symbolic Link Debian2.2r3 Dec 18 16:55 text/plain README 400 bytes Apr 16 17:32 Directory potato May 20 19:47 Directory potato-proposed-updates Feb 16 18:50 Symbolic Link proposed-updates May 20 19:48 Directory sid Feb 16 18:50 Symbolic Link stable Feb 16 18:50 Symbolic Link testing Feb 16 18:50 Symbolic Link unstable May 20 19:58 Directory woody \end{verbatim} \item Hier der Inhalt der Datei \texttt{README}: \begin{verbatim} This directory, dists, is the canonical way to access the distributions. Each distribution can be accessed by name or state from here. stable, or potato - the released Debian 2.2r2. proposed-updates - possible updates to Debian 2.2. See the README there. testing, or woody - the development version of the next release. unstable, or sid - untested candidate packages for future releases. \end{verbatim} \item Hier der Inhalt des Verzeichnisses \verb|stable/main|, in dem sich alle Pakete fuer die verschiedenen CPU-Architekturen befinden: \begin{verbatim} /debian/dists/stable/main directory Current directory is /debian/dists/stable/main Up to stable Nov 17 1999 Directory binary-all Apr 16 17:30 Directory binary-alpha Apr 16 17:30 Directory binary-arm Apr 16 17:30 Directory binary-i386 Apr 16 17:30 Directory binary-m68k Apr 16 17:30 Directory binary-powerpc Apr 16 17:30 Directory binary-sparc Dec 3 18:54 Directory disks-alpha Aug 13 2000 Directory disks-arm Apr 16 13:47 Directory disks-i386 Dec 3 18:57 Directory disks-m68k Apr 16 13:48 Directory disks-powerpc Apr 16 13:48 Directory disks-sparc Apr 16 17:30 Directory source Aug 13 2000 Directory upgrade-alpha Aug 13 2000 Directory upgrade-i386 Aug 13 2000 Directory upgrade-m68k Aug 13 2000 Directory upgrade-sparc \end{verbatim} \item Hier der Inhalt von \texttt{binary-i386}: \begin{verbatim} > cd debian/dists/stable/main/binary-i386 > ls Packages editors/ math/ sound/ Packages.gz electronics/ misc/ tex/ Release games/ net/ text/ admin/ graphics/ news/ utils/ base/ hamradio/ oldlibs/ web/ comm/ interpreters/ otherosfs/ x11/ devel/ libs/ science/ doc/ mail/ shells/ \end{verbatim} \item In der Datei \texttt{Packages} bzw. \texttt{Packages.gz} sind alle Pakete in dem jeweiligen Verzeichnis mit ihren Abhängigkeiten aufgelistet. \item In den obigen Verzeichnissen befinden sich nun die Pakete: \begin{verbatim} > ls utils ... -rw-rw-r-- 20100 Oct 17 1999 bzip2_0.9.5d-2.deb ... -rw-rw-r-- 36264 Sep 8 1999 lockvc_3.4-2.deb -rw-rw-r-- 236898 May 18 1999 lsof-2.0.36_4.43-1.deb -rw-rw-r-- 242386 Feb 4 2000 lsof-2.2_4.48-1.deb ... lrwxrwxrwx 44 Feb 16 18:50 tkps_1.14.deb -> ../../../main/binary-all/utils/tkps_1.14.deb \end{verbatim} \item \textbf{Installation der Pakete:} Debian-Pakete werden über \texttt{dpkg} installiert/deinstalliert. Dafür existieren auch verschiedene Frontends (\zb \emph{apt, capt, gnome-apt} und \emph{dselect}). Bei einer Neuinstallation wird \texttt{dselect} vom Installationsprogramm benutzt.\\ Um die Auswahl der Pakete zu vereinfachen, kann man sog. \emph{task}-Pakete auswählen wie \zb \texttt{task-games} zur Auswahl verschiedener Spiele. Man kann auch nachträglich mittels \texttt{tasksel} solche Meta-Pakete auswählen. Hier einige Links zum Thema Installation: \begin{htmllist}[OrangeBall] \item[Anwenderhandbuch:] \htmladdnormallink{Debian GNU/Linux Anwenderhandbuch - Installation} {http://www.openoffice.de/linux/buch/instweiterepakete.html} \item[Debian-Server:] \htmladdnormallink{www.debian.de - Neuinstallationen} {http://www.debian.de/releases/stable/\#new-inst} \end{htmllist} \end{itemize} \subsection{\texttt{dpkg}} Die genaue Funktionsweise von \texttt{dpkg} ist in der \htmladdnormallink{Manpage} {http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/dpkg.8.gz} erklärt. Zu jedem Paket \textbf{paket.deb} werden verschiedene Informationen verwaltet, die meist in Verbindung mit \texttt{dselect} benutzt werden: \begin{verbatim} state selection state flags \end{verbatim} Hier die wichtigsten Befehle (\emph{actions}) und Optionen: \begin{verbatim} $ dpkg --help Usage: dpkg -i|--install <.deb file name> ... | -R|--recursive ... dpkg --unpack <.deb file name> ... | -R|--recursive ... dpkg -r|--remove | -P|--purge ... | -a|--pending dpkg -s|--status ... display package status details dpkg -p|--print-avail ... display available version details dpkg -L|--listfiles ... list files `owned' by package(s) dpkg -l|--list [ ...] list packages concisely dpkg -S|--search ... find package(s) owning file(s) dpkg -C|--audit check for broken package(s) \end{verbatim} \textbf{Beispiele} (aus \texttt{man dpkg}): \begin{verbatim} To list packages related to the editor vi: dpkg -l '*vi*' To see the entries in /var/lib/dpkg/available on two pack­ ages: dpkg --print-avail elvis vim | less To search the listing of packages yourself: less /var/lib/dpkg/available To remove an installed elvis package: dpkg -r elvis To install a package, you first need to find it in an archive or CDROM. The "available" file shows that the vim package is in section "editors": cd /cdrom/hamm/hamm/binary/editors dpkg -i vim_4.5-3.deb \end{verbatim} \textbf{Paketsuche:} Wenn man ein bestimmtes Paket suchen will, kann man das über die \htmladdnormallink{Debian-Paketsuche}{http://www.debian.de/distrib/packages} durchführen. \textbf{\texttt{deb}-Paket-Struktur:} Jedes Paket besteht aus den 2 Verzeichnissen \texttt{CONTENTS} und \texttt{DEBIAN} sowie der Datei \texttt{INFO} (beschreibt das Paket). In \texttt{CONTENTS} befindet sich der Paketinhalt, d.\,h. alle Verzeichnisse und Dateien aus \texttt{CONTENTS} werden relativ zu \texttt{/} auf der Platte ausgepackt. Bei der Installation eines Pakets werden verschiedene Skripte aus \texttt{DEBIAN} ausgeführt, insb. \texttt{prerm, preinst, postrm, postinst}. Die Abhängigkeiten zu anderen Paketen stehen in der Datei \texttt{DEBIAN/control} (?). Zu jeder Datei eines Paketes (ausser den Konfigurationsdateien) werden MD5-Checksummen im Paket mitgeführt (in der Datei \texttt{DEBIAN/md5sums}).\\ Die Konfigurationsdateien sind in der Datei \texttt{DEBIAN/conffiles} eingetragen. \texttt{dpkg} erkennt selbständig, ob es die Konfigurationsdateien in \texttt{/etc} gefahrlos ändern kann oder ob der Nutzer gefragt werden soll, welche Version (alt / neu) er bevorzugt. \begin{verbatim} \end{verbatim} \subsection{Upgrade einer \DD mit \texttt{apt}} Ein Upgrade einer Debian auf eine neuere Version (\zb: 2.2 --> 2.4) ist mittels \htmladdnormallink{\texttt{apt-get}} {/cgi-bin/man2html/usr/share/man/man8/apt-get.8.gz} sehr einfach möglich: In \verb|/etc/apt/sources.list| statt \texttt{potato} oder \texttt{woody} den gewünschten Distribuions-Zweig (meist \texttt{stable}) eintragen: \begin{verbatim} deb http://ftp.de.debian.org/debian stable main contrib non-free deb http://ftp.de.debian.org/debian-non-US stable/non-US main contrib non-free deb-src http://ftp.debian.org/debian stable main contrib non-free deb-src http://ftp.de.debian.org/debian-non-US stable/non-US main contrib non-free \end{verbatim} und anschließend \begin{verbatim} apt-get update apt-get dist-upgrade \end{verbatim} aufrufen: \begin{verbatim} tantalus:~# apt-get update Get:1 http://ftp.de.debian.org stable/main Packages [827kB] Hit http://ftp.debian.org stable/main Sources Ign http://ftp.debian.org stable/main Release Hit http://ftp.debian.org stable/contrib Sources Ign http://ftp.debian.org stable/contrib Release Hit http://ftp.debian.org stable/non-free Sources Ign http://ftp.debian.org stable/non-free Release Hit http://ftp.de.debian.org stable/main Release Get:2 http://ftp.de.debian.org stable/contrib Packages [30.3kB] Hit http://ftp.de.debian.org stable/contrib Release Hit http://ftp.de.debian.org stable/non-free Packages Hit http://ftp.de.debian.org stable/non-free Release Hit http://ftp.de.debian.org stable/non-US/main Packages Hit http://ftp.de.debian.org stable/non-US/main Release Hit http://ftp.de.debian.org stable/non-US/contrib Packages Hit http://ftp.de.debian.org stable/non-US/contrib Release Hit http://ftp.de.debian.org stable/non-US/non-free Packages Hit http://ftp.de.debian.org stable/non-US/non-free Release Hit http://ftp.de.debian.org stable/non-US/main Sources Hit http://ftp.de.debian.org stable/non-US/main Release Hit http://ftp.de.debian.org stable/non-US/contrib Sources Hit http://ftp.de.debian.org stable/non-US/contrib Release Hit http://ftp.de.debian.org stable/non-US/non-free Sources Hit http://ftp.de.debian.org stable/non-US/non-free Release Fetched 857kB in 4s (175kB/s) Reading Package Lists... Done Building Dependency Tree... Done tantalus:~# apt-get dist-upgrade Reading Package Lists... Done Building Dependency Tree... Done Calculating Upgrade... Done 45 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 27.0MB of archives. After unpacking 10.2MB will be used. Do you want to continue? [Y/n] Get:1 http://ftp.de.debian.org stable/main libc6 2.1.3-18 [1901kB] Get:2 http://ftp.de.debian.org stable/main cron 3.0pl1-57.2 [51.0kB] Get:3 http://ftp.de.debian.org stable/main mailx 1:8.1.1-11 [101kB] Get:4 http://ftp.de.debian.org stable/main man-db 2.3.16-1.1 [333kB] Get:5 http://ftp.de.debian.org stable/main nvi 1.79-16a [263kB] Get:6 http://ftp.de.debian.org stable/main dnsutils 1:8.2.3-0.potato.1 [340kB] ... Debian Configuration ... (Reading database ... 42629 files and directories currently installed.) Preparing to replace libc6-dev 2.1.3-13 (using .../libc6-dev_2.1.3-18_i386.deb) ... Unpacking replacement libc6-dev ... Preparing to replace locales 2.1.3-13 (using .../locales_2.1.3-18_i386.deb) ... Unpacking replacement locales ... Preparing to replace libc6 2.1.3-13 (using .../libc6_2.1.3-18_i386.deb) ... Unpacking replacement libc6 ... Setting up libc6 (2.1.3-18) ... Current default timezone: 'Europe/Berlin'. Local time is now: Sun May 20 22:12:32 CEST 2001. Universal Time is now: Sun May 20 20:12:32 UTC 2001. Run 'tzconfig' if you wish to change it. (Reading database ... 42660 files and directories currently installed.) Preparing to replace cron 3.0pl1-57.1 (using .../cron_3.0pl1-57.2_i386.deb) ... ... Stopping MySQL database server: mysqld. Unpacking replacement mysql-server ... ... Setting up libc6-dev (2.1.3-18) ... Setting up locales (2.1.3-18) ... Setting up cron (3.0pl1-57.2) ... ... Setting up mysql-server (3.22.32-6) ... Starting MySQL database server: mysqld. ... Setting up mc (4.5.42-11.potato.6) ... Installing new version of config file /etc/mc/mc.ext ... tantalus:~# tantalus:~# apt-get check Reading Package Lists... Done Building Dependency Tree... Done tantalus:~# \end{verbatim} Dadurch wurden nun alle momentan installierten Pakete auf den gewünschten aktuellen Stand gebracht. Weitere Informationen gibt es in den \htmladdnormallink{Manseiten zu \texttt{apt-get}} {http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/apt-get.8.gz} und in \verb|/usr/doc/apt/|. \subsection{dselect} Das Basistool \htmladdnormallink{dselect} {http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/dselect.8.gz} wird bei der Installation zur Paketauswahl und Konfiguration aufgerufen. Mittels eines einfachen Text-Interfaces kann man hier Pakete installieren, deinstallieren etc.: \begin{htmlonly} \begin{rawhtml} dselect1.png

\end{rawhtml} \end{htmlonly} \begin{latexonly} \includegraphics[width=\linewidth]{dselect1} \newpage \end{latexonly} Hier der Schritt Nr. 2, bei dem die Pakete selektiert werden: \begin{htmlonly} \begin{rawhtml} dselect2.png \end{rawhtml} \end{htmlonly} \begin{latexonly} \vspace{1em} \includegraphics[width=\linewidth]{dselect2} \end{latexonly} \section{Debian-Eigenheiten} \begin{htmllist}[OrangeBall] \item[Debian-Policy:] \url{usr/doc/debian-policy/policy.text.gz} \item[cron:] Bei Verwendung des vixie-cron hat root keine eigene crontab. Stattdessen gibt es \texttt{/}\url{etc/crontab}, welche \texttt{/}\url{etc/cron.d/}, \texttt{/}\url{etc/cron.daily/}, \texttt{/}\url{etc/cron.weekly/}, \texttt{/}\url{etc/cron.monthly/} aufruft, in denen die entsprechenden Cronjobs stehen, \sa \htmladdnormallink{cron(8)} {http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/cron.8.gz}. Zusätzlich gibt es noch \verb|anacron|, welches Cronjobs, die nicht aktiv geworden sind, weil der Rechner aus war, später ausführt. \item[\texttt{/tmp}] Die Dateien unter \verb|/tmp| werden regelmässig gelöscht (per Default beim nächsten Bootvorgang, dies kann man in \texttt{/etc/default/rcS} ändern). \item[\texttt{/etc/alternatives/}] Siehe dazu \htmladdnormallink{update-alternatives(8)} {http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/update-alternatives.8.gz}. Hier befinden sich nur Links. Inhalt von \texttt{/etc/alternatives/}: \begin{verbatim} c++ -> /usr/bin/g++* c++.1.gz -> /usr/share/man/man1/g++.1.gz csh -> /usr/bin/tcsh* editor -> /usr/bin/nvi* ftpd -> /usr/sbin/wu-ftpd* perl -> /usr/bin/perl-5.005* rxvt -> /usr/X11R6/bin/rxvt-xterm* w -> /usr/bin/w.procps* x-window-manager -> /usr/bin/X11/fvwm2* xconsole -> /usr/share/xaw-wrappers/wrapper* xdvi.bin -> /usr/share/xaw-wrappers/wrapper* \end{verbatim} \item[Menues:] % Siehe \verb|/etc/menu-methods/README| und \verb|/usr/doc/menu/html|. Siehe \texttt{/}\url{etc/menu-methods/README} und \verb|/usr/doc/menu/html|. Menues ermöglichen es X11-Programmen, sich selbst in die globalen Konfigdateien der verschiedenen Windowmanager ein- und auszutragen. \end{htmllist} \section{Kernel-Erstellung} Es gibt 2 verschiedene Möglichkeiten um einen neuen Kernel zu erzeugen. Diese sind beschrieben im Kapitel \htmladdnormallink{Kernel erzeugen}{http://www.openoffice.de/linux/buch/kernelbauen.html} im Debian-Anwenderhandbuch. \subsection{Herkömmlich} Man besorgt sich wie üblich die Quellen des gewünschten Kernels (für die stablen Kernels existieren bereits entsprechende Debian-Pakete \zb \texttt{kernel-source-2.0.38 2.0.38-3} und \texttt{kernel-headers-2.0.38 2.0.38-3} (es gibt natürlich auch fertige Images \zb {kernel-image-2.0.38 2.0.38-3}). Anschliessend erfolgt wie üblich: \begin{verbatim} $ tar xf kernel-source.tar $ cd linux $ make menuconfig $ make dep $ make clean $ make zImage $ make modules $ make modules_install $ cp arch/i386/boot/zImage /boot/zImage-version $ edit /etc/lilo.conf $ lilo -v $ reboot \end{verbatim} \subsection{\texttt{kernel-package}} Mit diesem Paket kann man individuelle Kernelpakete inklusive Module erzeugen. Dazu ist das Paket \htmladdnormallink{\texttt{kernel-package}} {http://www.thur.de/cgi-bin/man2html/usr/share/man/man5/kernel-package.5.gz} zu installieren und die Konfigurationsdatei \texttt{/}\url{etc/kernel-pkg.conf} anzupassen. Die Linuxquellen werden wie im vorigen Schritt geholt und ausgepackt. Anschliessend kann man dem Programm \htmladdnormallink{\texttt{make-kpkg}} {http://www.thur.de/cgi-bin/man2html/usr/share/man/man1/make-kpkg.1.gz} verschiedene targets aufrufen wie \zb \emph{clean, kernel\_image, modules\_image} etc. Hier eine kleine Doku dazu: \texttt{/}\url{usr/share/doc/kernel-package/README.gz} \section{Spezielle Konfigurationsprogramme} Es gibt kein ''YAST'' bei der Debian. Alle Konfigurationsdateien liegen in in \verb|/etc|. Allerdings gibt es zu verschiedenen Programmen kleine Hilfstools, um diese zu konfigurieren: {\ttfamily \Link{apache-sslconfig}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/apache-sslconfig.8.gz}\\ \Link{apt-config}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/apt-config.8.gz}\\ \Link{configure-ntp}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man1/configure-ntp.1.gz}\\ \Link{cvsconfig}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man1/cvsconfig.1.gz}\\ \Link{dpkg-preconfigure}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/dpkg-preconfigure.8.gz}\\ \Link{dpkg-reconfigure}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/dpkg-reconfigure.8.gz}\\ \Link{esd-config}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man1/esd-config.1.gz}\\ \Link{fdutilsconfig}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/fdutilsconfig.8.gz}\\ gconfigger\\ \Link{gpmconfig}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/gpmconfig.8.gz}\\ \Link{htdigconfig}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/htdigconfig.8.gz}\\ \Link{ispellconfig}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/ispellconfig.8.gz}\\ kbdconfig\\ \Link{liloconfig}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/liloconfig.8.gz}\\ \Link{paperconfig}{http://www.thur.de/cgi-bin/man2html/usr/man/man8/paperconfig.8.gz}\\ \Link{plipconfig}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/plipconfig.8.gz}\\ \Link{scsi-config}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/scsi-config.8.gz}\\ \Link{sendmailconfig}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/sendmailconfig.8.gz}\\ \Link{shadowconfig}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/shadowconfig.8.gz}\\ \Link{texconfig}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man1/texconfig.1.gz}\\ \Link{tzconfig}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man1/tzconfig.1.gz}\\ \Link{wm-menu-config}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man1/wm-menu-config.1.gz}\\ \Link{wwwcountconfig}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/wwwcountconfig.8.gz}\\ \Link{xf86config}{http://www.thur.de/cgi-bin/man2html?xf86config}\\ \Link{xserver-configure}{http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/xserver-configure.8.gz} } \section{Tips \& Tricks} \begin{itemize} \item Nach Erstinstallation vor dem Anlegen eines neuen Nutzers (!= root) erst die Datei \texttt{/}\url{etc/adduser.conf} anpassen (\verb|USERGROUPS=no|). \item \verb|passwd| nicht direkt editieren, sondern \Link{\texttt{adduser}} {http://www.thur.de/cgi-bin/man2html/usr/man/man8/adduser.8.gz}, \Link{\texttt{usermod}} {http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/usermod.8.gz}, \Link{\texttt{userdel}} {http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/userdel.8.gz} etc. benutzen. \item Login-Einstellungen: \texttt{/}\url{etc/login.defs} \item Nach der Erstinstallation sollte \emph{console-apt} (\Link{\texttt{capt}} {http://www.thur.de/cgi-bin/man2html/usr/share/man/man1/capt.1.gz}) als Paketmanager benutzt werden (ist einfacher). \item Konfiguration der Lebensdauer von Logfiles: \texttt{/}\url{etc/logrotate.conf}, \texttt{/}\url{etc/logrotate.d}. \item Die Datei \texttt{/}\url{etc/modules.conf} nicht direkt editieren, stattdessen die entsprechenden Dateien in \texttt{/}\url{etc/modutils/} und anschliessend \Link{\texttt{update-modules}} {http://www.thur.de/cgi-bin/man2html/usr/share/man/man8/update-modules.8.gz} aufrufen. \item Eintragen in \texttt{/}\url{etc/inittab}: \begin{verbatim} # Action on special keypress (ALT-UpArrow). kb::kbrequest:/usr/bin/openvt -sl -- login \end{verbatim} \end{itemize} \section{Netz-Ressourcen und Support} \label{sec:links} \begin{htmllist}[OrangeBall] \item[Mailinglisten:] Das Debian-Projekt bietet eine ganze Reihe verschiedener Mailinglisten an, die auch archiviert sind und per \texttt{http} eingesehen werden können: ~ \Link{www.debian.de/MailingLists/}{http://www.debian.de/MailingLists/} \item[Debian-Projekt:] \Link{www.debian.de}{http://www.debian.de/} \item[Debian-Server:] \Link{Sitemap des Debian-Servers}{http://www.debian.de/sitemap} \item[Debian-News:] \Link{Debian-News}{http://www.debian.de/News/} \item[Debian Anwenderhandbuch:] Es gibt das umfangreiche \emph{Debian GNU/Linux Anwenderhandbuch} by Frank Ronneburg im WWW unter der URL: ~ \Link{www.openoffice.de/linux/buch/}{http://www.openoffice.de/linux/buch/} \item[Bücher:] \Link{Debian-Bücher}{http://www.debian.de/distrib/books} \end{htmllist} \end{document}