Hi, ich löse die bisherige Diskussion aus dem Froscon-Thread mal heraus. Im wesentlichen ging es dabei darum, dass die bisherigen NetBSD-Flyer veraltet sind und das Format wohl unpraktisch ist. Mein Plan wäre es jetzt, mindestens vier Flyer zu erstellen: * allgemein Werbung für NetBSD * allgemeine Tips für Einsteiger * Umstiegshilfe für Linux-Übersiedler * Installationshilfe Den ersten hab ich schon gepostet, den zweiten und dritten hab ich aus einem Artikel rausgeholt (siehe Anhang), und den vierten hatte Marc Balmer schon angefangen, das müsste man noch fortsetzen. Diese sind bisher nur auf deutsch und noch nicht so sehr fertig, die müsste bitte nochmal jemand überprüfen, wenn er Zeit hat. Wenn jemand meint, die sind brauchbar, können sie natürlich auf Englisch übersetzt werden, ich selber hab aber bald genug von Flyern. ;-) Und wieder: Entschuldigung für die großen Anhänge (falls das überhaupt durchkommt), aber ich musste auch erst Pakete nachinstallieren, um den Flyer überhaupt zu kompilieren (der ist in tetex nicht eingepackt). Das will ich euch ersparen. Gruß, Julian
Attachment:
de-tipps.pdf
Description: Adobe PDF document
\documentclass[notumble,nofoldmark]{leaflet}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{hyperref}
\begin{document}
% Titelseite - enthält Logo und Einleitung
\vspace*{\fill}
\begin{center}
\includegraphics[width=.7\textwidth ]{NetBSD}
\huge \bfseries Tips und Tricks für NetBSD-Einsteiger
\end{center}
Heutzutage gibt es nur noch wenige, die mit Unix auf der Shell anfangen. Die
meisten installieren ihr Betriebssystem grafisch, und in den allermeisten
Fällen ein GNU/Linux, das wohl am weitesten verbreitete Unix.
Diese Einleitung ist für Leute gedacht, die schon Linux benutzen, und die
wissen, wie es funktioniert und auf welchen Prinzipien es basiert, und zeigt
ein paar Tips und Tricks auf, wie man mit der Bedienung von NetBSD schneller
zurecht kommt.
Im folgenden wird der Begriff \emph{Linux} äquivalent zum Begriff
\emph{GNU/Linux} benutzt.
\vspace*{\fill}
% Erste Innenseite - zusammen mit zweiter Innenseite das erste, was der Leser
beim Aufklappen sieht
\newpage
\section{Dokumentation}
\subsection{Notation}
In der Linux-Welt wird wird man selten auf eine Notation treffen, die nicht nur
das Programm, sondern auch gleich seine Kategorie und Manpage referenziert. Bei
BSDs ist es selbstverständlich, bei Hinweisen auf bestimmte Programme diese
immer mit der Kategorie anzugeben, also z.B. statt einem \emph{Benutz doch sh}
wird man immer ein \emph{Benutz doch sh(1)} hören, wenn man die Shell benutzen
soll.
Auf die gleiche Weise wird auch bei nachinstallierten Paketen immer die
Kategorie genannt, aus der das Paket kommt, also z.B. {\ttfamily www/firefox},
wobei {\ttfamily www} die Kategorie ist.
Diese Bezeichning hilft bei der Vermeidung von Doppeldeutungen, und macht auch
gleich immer klar, ob man grad über eine Bibliothek, ein Userland-Programm
oder eine Konfigurationsdatei redet.
\subsection{Der Guide}
Wie alle BSDs hat NetBSD auch ein zentrales Handbuch, den \emph{NetBSD Guide}.
Dieser beschreibt genau die Funktionsweise der Subsysteme, enthält Anleitungen
für viele Dinge (z.B. zur Plattenverschlüsselung) und ist die erste
Anlaufstelle, wenn man ein Problem lösen will.
\subsection{Die Artikel}
Es gibt natürlich auch zahlreiche Artikel und Howtos, die sich um spezielle
Themen von NetBSD drehen. Es gibt zwar keine zentrale Liste, auf der
\emph{alle} sind, aber die meisten, und vor allem die offiziell abgesegneten,
findet man auf der Webseite.
Dabei darf man sich nciht nur auf die Dokumentation auf der Webseite verlassen,
sondern sollte immer noch die Installationshinweise lesen. Diese enthalten oft
gute Informationen und Howtos für bekannte Probleme.
Für Informationen, die weniger statisch sind, empfiehlt sich auch ein Blick in
das (im Aufbau befindliche) Wiki.
% Dritte Innenseite - zusammen mit vierter Innenseite zur Vertiefung.
\newpage
\section{Allgemeine Tipps}
\begin{itemize}
\item { Die Konfiguration unter NetBSD läuft im wesentlichen ab wie
unter Linux bzw. jedem Unix. Alle Konfigurationsdateien liegen in {\ttfamily
/etc} (bzw. die zusätzlichen unter {\ttfamily /usr/pkg/etc}.
Default-Werte werden entsprechend unter {\ttfamily /etc/default}
abgelegt und sollten nicht editiert werden (wie es bei Debian getan wird). Was
hier abgespeichert ist, wird dann idR von den richtigen Konfigurationsdateien
überschrieben.}
\item { {\ttfamily sysctl(7)} ist ein Interface, mit dem man zahlreiche
Parameter des Kernels setzen kann. Es ist grö�tenteils wie Linux' procfs.
Linux hat zwar auch das Kommando sysctl, das ungefähr gleich funktioniert,
aber bei Linux nur ein anderes Interface zu eben jenem procfs ist.
sysctl unter NetBSD ist in der Regel aufgeräumter und enthält Beschreibungen
der Parameter. Mit {\ttfamily sysctl(8)} kann man diese, genauso wie die Werte,
abfragen.
Eine ausführliche Beschreibung einiger sysctls findet sich in {\ttfamily
sysctl(7)}. Ein Blick hier rein empfiehlt sich so oder so, da man als
erfahrener User darüber einiges an Kernel-Tuning vornehmen kann.}
\item AuÃ?er zur Konfiguration kan man sysctl auch noch verwenden, um
sich einige Systeminformationen anzuzeigen. Mit {\ttfamily sysctl -a} lässt
man sich alle sysctl-Parameter anzeigen, mit {\ttfamily sysctl -d OPTION} kann
man sich die Beschreibung eines einzelnen Parameters anzeigen lassen.
\item Ein weiteres nützliches �quivalent zu Linux' lspci ist
{\ttfamily pcictl(8)}. Mit {\ttfamily pcictl /dev/pci0 list} kann man sich eine
Liste aller PCI-Geräte auf dem ersten PCI-Bus (auf x86 üblicherweise der
einzige) anzeigen lassen.
\item Um Informationen anzugucken, die der Kernel während des Bootens
ausgab (und dmesg zu vollgespamt wurde von sonstigem), sollte man in {\ttfamily
/var/run/dmesg.boot} nachgucken. Hier findet man vor allem viele Informationen
zum Prozessor, welche Geräte gefunden wurden.
Besonders, wenn man einen Bug meldet, ist immer ein angehängter dmesg von
Vorteil.
\item Der Guide hat mehrere Kapitel dazu, wie man das System aus den
Quellen baut, was unter NetBSD deutlich einfacher als mit allen anderen
Plattformen ist. Man kann NetBSD auf nahezu jedem Unix auf jeder Plattform für
jede Plattform bauen, kann also problemlos krosskompilieren, wenn man eine
starke Maschine dafür hat, und muss das nicht auf den langsamen Clients machen.
\item NetBSD benennt die meisten Geräte nach dem Hersteller, wie es
der klassische Unix-Weg ist. Am ehesten merkt man das bei den Namen der
Netzwerk-Interfaces, aber auch das {\ttfamily wd} für PATA-Fesplatten hat hier
seinen Ursprung.
\item Wenn man eine NetBSD-CD hat, aber das Betriebssystem gerne von
USB-Stick aus installieren kann, dann gibt es dafür das Tool {\ttfamily
sysutils/mkmemstick}. Dieses wendet man einfach auf eine CD an und es gibt
einem ein fertiges Image für einen USB-Stick aus.
\item Wie Linux' logrotate gibt es unter NetBSD {\ttfamily
newsyslog(8)}, das in {\ttfamily /etc/newsyslog.conf} konfiguriert wird. Es ist
per default aktiviert.
\item Um zu verstehen, wo man nachfragen sollte, wenn man ein Problem
hat, oder wo man mit der Fehlersuche anfangen kann, empfiehlt es sich, die
Organisation und das Entwicklungsmodell von NetBSD zu verstehen. Dieser Punkt
sei hier nur hervorgehoben, unter \url{netbsd.org/contrib} wird das Thema
genauer abgehandelt.
\item NetBSD verschickt täglich Mails. Diese sollte man sich zustellen
lassen und wenigstens gelegentlich überfliegen, da sie Infos über
Sicherheitslücken und weitere Infos enthalten.
\item Man sollte, wenn man einen Rechner mit Internet verbindung hat,
in seine {\ttfamily /etc/daily.conf} die Zeile {\ttfamily
fetch\_pkg\_vulnerabilities=YES} eintragen. Damit werden täglich Listen von
Sicherheitslücken runtergeladen und mit den installierten Paketen verglichen.
\end{itemize}
% Vierte Innenseite, gleichwertig zur dritten Innenseite
% Die dritte Seite floatet einfach über auf die vierte. Es werden ohnehin
immer beide gleichzeitig gesehen (die eine verdeckt die andere), daher kann man
das so machen.
%\newpage
% Zweite Innenseite, wird mit der ersten Innenseite beim Aufklappen als erstes
gesehen
\newpage
\section{Community/Bugreports}
Wenn die Dokumentation nicht mehr weiterhilft, sollte man in der Community
nachfragen oder einen Bug melden. Dafür gibt es viele Möglichkeiten, die
schnellsten sind die folgenden.
\subsection{Mailinglisten}
Nahezu die gesamte NetBSD-Kommunikation wird über Mailinglisten abgewickelt.
Man kann sie abonnieren (die meisten haben nicht allzu viel Traffic, oder man
kann auch die gesamten Archive online lesen oder auch alle per Netnews bedienen.
\subsection{Ankündigungen}
Für Sicherheitslücken und generelle Informationen wie neue Releases gibt es
die Liste netbsd-announce. Dies sind nur sehr selten Nachrichten (ca. eine pro
Monat), und auch wirklich nur die dringendsten. Diese Liste sollte man
abonnieren, wenn man NetBSD benutzt.
\subsection{Bug Reports}
Wer ein Problem entdeckt, dann kann man dazu einen PR (problem report)
ausfüllen. Zuerst sollte man in die PR-Datenbank gucken, ob der Bug schon
gemeldet wurde, evtl. findet man dort einen Workaround. Wenn noch kein Bug
gemeldet wurde, dann kann man einfach einen mit dem Online-Formular oder mit
dem bei jedem NetBSD mitgelieferten Tool {\ttfamily send-pr(1)} melden.
\subsection{IRC}
Dezentral gibt es auch noch NetBSD-Channels in den groÃ?en IRC-Netzen EFnet,
IRCnet und Freenode (der grö�te) unter dem Namen {\ttfamily \#netbsd}.
\subsection{Veranstaltungen}
NetBSD ist auf vielen Veranstaltungen im Open Source-Bereich vertreten. Falls
man Kontakt sucht, lohnt es sich, dort nach Ständen Ausschau zu halten oder zu
speziellen BSD-Veranstaltungen zu fahren, auf denen NetBSD immer ist.
% Rückseite, ist gedacht für Adressen oder abschlie�ende Informationen
\newpage
\section{Nützliche Links}
%{\small
\begin{itemize}
\item NetBSD-Webseite: \url{netbsd.org}
\item NetBSD-Guide: \url{netbsd.org/docs/guide/en}
\item NetBSD Artikel: \url{netbsd.org/docs}
\item NetBSD-Manpages: \url{man.netbsd.org}
\item NetBSD-Wiki: \url{wiki.netbsd.org}\\
\item Bugs durchsuchen:\\ \url{netbsd.org/support/query-pr.html}
\item Bugs melden:\\ \url{netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd}\\
\item Zusätzliche Software installieren:\\
\url{netbsd.org/docs/guide/en/chap-boot.html#chap-boot-pkgsrc}
\item NetBSD Guide -- NetBSD kompilieren:\\
\url{netbsd.org/docs/guide/en/part-compile.html}
\item NetBSD auf USB-Stick:\\
\url{www.bsdnexus.com/NetBSD_onastick/install_guide.php}
\item pkgsrc Guide: \url{netbsd.org/docs/pkgsrc}
\item pkgsrc make targets:\\ \url{wiki.netbsd.org/pkgsrc/targets}
\item Entwicklung: \url{netbsd.org/contrib}\\
\item Mailinglisten: \url{netbsd.org/mailinglists}
\item Mailinglisten-Archive: \url{mail-index.netbsd.org}
\item Mailinglisten per gmane:
\url{dir.gmane.org/index.php?prefix=gmane.os.netbsd}\\
\item Veranstaltungen:\\ \url{netbsd.org/gallery/events.html}
\item IRCNet: \url{ircnet.org}
\item Freenode: \url{freenode.net}
\end{itemize}
%}
\end{document}
Attachment:
de-wechsel.pdf
Description: Adobe PDF document
\documentclass[notumble,nofoldmark]{leaflet}
%\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{hyperref}
\begin{document}
% Titelseite - enthält Logo und Einleitung
\vspace*{\fill}
\begin{center}
\includegraphics[width=.7\textwidth ]{NetBSD}
\huge \bfseries NetBSD für Umsteiger
\end{center}
Heutzutage gibt es nur noch wenige, die mit Unix auf der Shell anfangen. Die
meisten installieren ihr Betriebssystem grafisch, und in den allermeisten
Fällen ein GNU/Linux, das wohl am weitesten verbreitete Unix.
Diese Einleitung ist für Leute gedacht, die schon Linux benutzen, und die
wissen, wie es funktioniert und auf welchen Prinzipien es basiert, und
beschreibt die Unterschiede denen man in der täglichen Benutzung begegnen wird.
Im folgenden wird der Begriff \emph{Linux} äquivalent zum Begriff
\emph{GNU/Linux} benutzt.
\vspace*{\fill}
% Erste Innenseite - zusammen mit zweiter Innenseite das erste, was der Leser
beim Aufklappen sieht
\newpage
\section{Startskripte, init}
Einer der groÃ?en historischen Unterschiede zwischen BSD und dem Rest der
Unixwelt war das Init-System init(8), das erste vom Kernel geladene Programm.
Dieses liest seine aus der Datei {\ttfamily rc.conf(5)} seine Konfiguration,
die im wesentlichen aus Optionen und (De"~)Aktivierungen von Diensten besteht
(üblicherweise als {\ttfamily dienst=YES}, z.B. {\ttfamily sshd=YES}).
In {\ttfamily /etc/rc.d} liegen die Startskripte (wie Linux' {\ttfamily
/etc/init.d}). Aus denen baut sich init eine Abhängigkeitsliste zusammen und
eine Liste, in welcher Reihenfolge die aktivierten Dienste dann gestartet
werden.
Das Starten/Stoppen von Diensten läuft wie unter Linux, nur mit anderem Pfad.
Ein {\ttfamily /etc/rc.d/sshd start} startet den sshd, analog gibt es noch
mindestens die Optionen {\ttfamily start}, {\ttfamily restart}, {\ttfamily
stop}, {\ttfamily status}.
Wenn ein Dienst nicht in der rc.conf aktiviert ist, dann muss man ein
{\ttfamily one} vor den Parameter hängen, also wenn man kein {\ttfamily
sshd=YES} oder sogar ein {\ttfamily sshd=NO} hat, den sshd aber starten will,
dann macht man das mit {\ttfamily /etc/rc.d/sshd onestart}.
\section{Netzwerk}
Das Netzwerk von NetBSD wird auch in der {\ttfamily rc.conf} mit dem
Schlüsselwort {\ttfamily ifconfig\_IFNAME} konfiguriert. {\ttfamily
defaultroute} setzt das Default-Gateway, {\ttfamily hostname} den Hostnamen des
Systems. Zusätzliche IP-Adressen können mit {\ttfamily
ifconfig\_IFNAME\_alias} konfiguriert werden, genaueres steht in der Manpage
rc.conf(5).
Manuell konfiguriert man das Netzwerk mit {\ttfamily ifconfig(8)}, dessen
Unterschiede zu dem von Linux gering sind. Zusätzlich übernimmt es noch die
Funktion von Linux' iwconfig mit einigen zusätzlichen Optionen.
Die Routen werden wie unter Linux mit {\ttfamily route(8)} konfiguriert,
welches sich aber stark anders als die Linux-Variante bedient. Einiges kann
bzw. muss man auch mit dem Tool {\ttfamily netstat(1)} erledigen, das sich
grö�tenteils wie sein Linux-�quivalent verhält.
% Dritte Innenseite - zusammen mit vierter Innenseite zur Vertiefung
\newpage
\section{Das Paketmanagement}
Zusatzsoftware kann man bei NetBSD entweder als Binärpakete, die man sich aus
einem Repository holt, oder als selbstkompilierte Software verwalten.
Beide Wege sind gleichwertig, die Binärpakete sind genau so kompiliert, wie
man es mit pkgsrc selber täte.
Zusätzlich zu diesem Text ist ein kurzer Blick in das entsprechenden Kapitel
im \emph{NetBSD Guide} zu empfehlen, und es gibt sogar einen \emph{pkgsrc
Guide}, der nochmal auf die Einzelheiten des Paketmanagements eingeht.
\subsection{pkgsrc}
Das System zur Verwaltung von Quellpaketen unter NetBSD heiÃ?t {\ttfamily
pkgsrc}. Es stammt von FreeBSDs \emph{ports} ab, aber hat sich dann davon
gelöst und stellt heute ein plattform- und architekturübergreifendes
Paketmanagement dar, und kann sogar als unprivilegierter User benutzt werden.
Normalerweise liegen die pkgsrc-Quellen unter {\ttfamily /usr/pkgsrc},
installiert werden die Pakete nach {\ttfamily /usr/pkg} (beides kann angepasst
werden). Im Installationspfad hat man wieder eine Struktur ähnlich zu der in
{\ttfamily /}: {\ttfamily bin/}, {\ttfamily sbin/}, {\ttfamily etc/}, usw.
pkgsrc installiert keine Pakete auÃ?erhalb seines Installationspfades. Das
hei�t, dass jegliche zusätzliche Software auch in {\ttfamily /usr/pkg/etc}
konfiguriert wird. Dort gibt es auch wieder ein Verzeichnis {\ttfamily rc.d},
welches die Startskripte für zusätzliche Software enthält. Man muss aber
darauf achten, dass man den Start weiterhin auch \emph{nur} in der rc.conf in
/etc konfiguriert.
pkgsrc ist unterteilt in Kategorien wie \emph{www}, \emph{chat}, \emph{mail},
usw., und in diesen Kategorien liegen dann die jeweiligen Pakete. Um ein Paket
zu installieren, ruft man aus dem entsprechenden Verzeichnis (z.B. {\ttfamily
misc/bsdstats}) ein {\ttfamily make install} auf, welches das Paket kompiliert
und danach als Binärpaket installiert.
Um nach einem Paket zu suchen, empfiehlt sich entweder {\ttfamily find(1)}
({\ttfamily cd /usr/pkgsrc; find . -maxdepth 2 -name PKGNAME}, wenn man nur den
Paketnamen sucht, oder ein einfaches {\ttfamily grep(1)}.
Jedes Paketverzeichnis enthält die Datei {\ttfamily DESCR}, die eine
Beschreibung enthält, eine Volltextsuche wäre dann z.B. mit {\ttfamily cd
/usr/pkgsrc; grep STRING */*/DESCR} möglich.
Nach jedem Installieren sollte man noch die Ã?berreste vom Kompilieren
beseitigen, was man mit {\ttfamily make clean} erledigt (bzw. primitiver
{\ttfamily rm -r work/}). Falls man es mal vergessen haben sollte, kann man
dies auch vom pkgsrc-Verzeichnis oder nur in einer Kategorie aufrufen, alle
untergeordneten Verzeichnisse werden dann gesäubert.
\subsection{Binärpakete}
Die eigentliche Paketverwaltung (pkgsrc ist quasi nur Paketquelle) besteht aus
den Tools {\ttfamily pkg\_info(1)}, {\ttfamily pkg\_add(1)}, {\ttfamily
pkg\_admin(1)}, {\ttfamily pkg\_delete(1)} und {\ttfamily pkg\_create(1)}.
pkg\_add und pkg\_delete (de-)installieren die als Parameter übergebenen
Pakete, wobei man bei pkg\_delete darauf achten muss, dass man immer auch die
Version dazu angibt. pkg\_info listet alle Pakete auf bzw. gibt einem
Informationen zum speziellen Paket aus (z.B. enthaltene Dateien, Beschreibung,
Version, etc.). pkg\_admin übernimmt allgemeinere Aufgaben zur Administration
von Paketen und der Paketdatenbank (diese liegt in {\ttfamily /var/db/pkg})
oder dem Checken von Sicherheitslücken.
\subsection{mk.conf}
pkgsrc wird über die Datei {\ttfamily mk.conf(5)} konfiguriert (diese
existiert per default nicht, sie muss angelegt werden). pkgsrc selber zeigt
einem bei der Installation oder mit {\ttfamily make show-options} an, welche
Optionen man für es setzen kann.
\subsection{Andere Tools}
Es gibt zahlreiche weitere Tools, die einem das Paketmanagement erleichtern.
Man kann sich einfach die pkgsrc-Kategorie {\ttfamily pkgtools} angucken, diese
enthält einige Tools, die einem dies erleichtern, vor allem {\ttfamily nih},
{\ttfamily pkg\_chk} und {\ttfamily pkgin} seien hier erwähnt.
% Vierte Innenseite, gleichwertig zur dritten Innenseite
% Die dritte Seite floatet einfach über auf die vierte. Es werden ohnehin
immer beide gleichzeitig gesehen (die eine verdeckt die andere), daher kann man
das so machen. Das Paketmanagement muss irgendwo zwei Seiten Platz haben.
% Eigentlich hätten wir das Paketmanagement natürlich wichtiger, aber das ist
schwer zu machen, ohne sich dabei auf eine Seite zu beschränken.
%\newpage
% Zweite Innenseite, wird mit der ersten Innenseite beim Aufklappen als erstes
gesehen
\newpage
\section{Festplatten / Blockdevices}
Unix gab es urpsrünglich auf anderen Plattformen als Intels x86, daher hatte
es auch traditionell \emph{Disk Labels} statt einem Master Boot Record (MBR).
NetBSD hat dies beibehalten, und einige Plattformen (z.B. Sparc) benutzen immer
noch nativ nur Disk Label und keinen MBR. Es ergeben sich dadurch einige
Unterschiede bei der Adressierung von Partitionen.
\subsection{Partitionierung}
Zwar wird oft {\ttfamily gpt(8)} statt eines MBRs/Disk Labels benutzt, da es
für gro�e Platten geeignet ist, aber {\ttfamily disklabel(8)} trifft man
trotzdem noch oft.
Diese editiert man mit dem Tool {\ttfamily disklabel(5)}. Man kann dabei das
Disk Label direkt auf die Festplatte schreiben, wenn nicht davon gebootet
werden soll oder die Plattform das unterstützt (z.B. sparc), oder man bettet
es in eine native Partition (meist MBR) ein.
In diesem Fall wird zuerst eine MBR-Partition erstellt (\emph{slice} genannt),
und in diesem Slice wird ein Disk Label erstellt. Die Disk Label enthalten bis
zu 16 Partitionen, mit \emph{a}--\emph{n} durchnummeriert.
Dabei haben Partition \emph{c} und ggf. \emph{d} eine Sonderrolle: \emph{c}
wird zum Ansprechen des Slices benutzt, in dem das Disk Label liegt, oder bei
nicht eingebetteten Disk Labels die gesamte Platte. \emph{d} wird, falls
\emph{c} für das Slice benutzt wurde, für die gesamte Platte verwendet.
\subsection{Raw Devices}
NetBSD unterscheidet bei der Adressierung (bzw. der Abstraktionsebene) je
nachdem, welche Device Nodes verwendet werden. Jedes Blockdevice (im folgenden
sei immer {\ttfamily /dev/sd0} verwendet) ist entweder roh (raw) als Character
Device (mit DMA) ansprechbar, dann mit einem \emph{r} davor ({\ttfamily
/dev/rsd0}), oder als Block Device normal.
Daher sollte man zum Mounten etc. immer das Block Device benutzen, aber für
Operationen unter dem Dateisystem das Raw Device, z.B. zum Nullen einer Platte
{\ttfamily dd of=/dev/rsd0d} (nicht {\ttfamily rsd0} oder {\ttfamily sd0d}).
% Rückseite, ist gedacht für Adressen oder abschlie�ende Informationen
\newpage
\section{Ã?berwachung/Monitoring}
\subsection{Monitoring-Tools}
NetBSD hat einige sehr mächtige Monitoring-Tools per Default mitgeliefert, die
Linux so einheitlich nicht hat, bzw. nur mit dem relativ schwer benutzbaren
Tool sar.
\begin{itemize}
\item {\ttfamily sysstat(1)} -- zeigt eine �bersicht über alle
möglichen Daten. Man kann auch die einzelnen Subsysteme aussuchen, die man
monitoren will.
\item {\ttfamily iostat(8)} -- zeigt Statistiken über den I/O von
Festplatten, Terminals und CPUs an
\item {\ttfamily netstat(1)} -- zeigt verschiedene Informationen, z.B.
von Diensten geöffnete Ports oder die aktuelle Routing-Tabelle an;
funktioniert grö�tenteils wie sein Linux-�quivalent
\item {\ttfamily vmstat(1)} -- zeigt Informationen zur Speicherbelegung
an
\item {\ttfamily fstat(1)} und {\ttfamily sockstat(1)} -- äquivalent
zu lsof zeigt fstat Informationen über offene Dateien an, sockstat hingegen
über offene Sockets.
\end{itemize}
Man kann zwar alle Tools auch ohne Parameter aufrufen, aber ein Blick in die
Manpage gibt einem deutlich mehr Optionen, das Monitoring anzupassen.
\subsection{Monitoring-Mails}
Die Standard-Crontab von NetBSD hat drei Einträge: {\ttfamily daily},
{\ttfamily weekly} und {\ttfamily monthly}, die jeweils nachts ausgeführt
werden.
Sie enthalten Informationen über Speicherplatzverbrauch, Systemmeldungen,
Sicherheitslücken, Loginzeiten, etc. Man kann über ihre Konfigurationsdateien
{\ttfamily daily.conf(5)} bzw. {\ttfamily weekly.conf(5)} und {\ttfamily
monthly.conf(5)} konfigurieren, was für Checks sie machen, was sie anzeigen,
wie sie den Output mailen.
Man sollte diese Mails wenigstens überfliegen, sonst nicht monitort, da
wichtige Informationen wie bspw. Plattenausfälle im Raid oder
Sicherheitslücken hierüber gemeldet werden.
V.a. bei Rechnern mit Internetanbindung sollte man sie anpassen, da sonst keine
Sicherheitslücken gemeldet werden.
\end{document}
Attachment:
de-wickelfalz.pdf
Description: Adobe PDF document
\documentclass[notumble,nofoldmark]{leaflet}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{hyperref}
\begin{document}
% Titelseite - enthält Logo und Einleitung
\vspace{4cm}
\begin{center}
{\huge \bfseries Das NetBSD-Projekt}
{\large \scshape ``Of course it runs NetBSD''}
\vspace{1cm}
\includegraphics[width=\textwidth ]{NetBSD}
\vspace{1cm}
\end{center}
\subsection{Was ist NetBSD?}
NetBSD ist eines der ältesten, noch aktiven freien Unixe. Anders als Linux hat
es dabei seine Wurzeln im originalen Unix von Bell, und seinen Ursprung im
universitären Bereich, aus dem es sich 1993 in eine offene Entwicklung löste;
und diese professionelle Ausrichtung hält sich bis heute.
``Of course it runs NetBSD'' -- NetBSD achtet sehr stark auf die Sauberkeit und
Portabilität des Codes. Es läuft auf vielen Plattformen, die andere
Betriebssysteme schon vor Jahren abgeschrieben haben, sei es ein kleiner HP
Jornada Palmtop oder ein 40kg schwerer DEC Alpha-Server -- auf allen kann man
ein aktuelles NetBSD mit aktueller Software installieren.
Aber gerade auch für moderne Plattformen ist NetBSD gut geeignet und stellt
ein modernes, aber klassisches universelles Unix, das als Desktop- und auch als
Server-Betriebssystem benutzt werden kann.
% Erste Innenseite - zusammen mit zweiter Innenseite das erste, was der Leser
beim Aufklappen sieht
\newpage
\subsection{NetBSD ist Kontinuität}
Verglichen mit Linux, aber gerade auch im Vergleich zu anderen BSDs ist NetBSD
ein sehr \emph{konservatives} Betriebssystem. Das bedeutet nicht etwa
Rückständigkeit, sondern nur, dass Entwicklungen mit Bedacht ausgewählt
werden. NetBSD folgt wie wohl kein anderes freies Unix den klassischen
Unix-Traditionen und -Prinzipien, und erreicht damit eine sehr einheitliche
Bedienung.
Wo andere Betriebssysteme oft so viele Features wie möglich in ein Programm
implementieren, achtet man bei NetBSD mehr als bei allen anderen darauf, dass
diese Features auch sinnvoll und nicht redundant sind, und dass das System
stabil läuft und keine ungare Software aufgenommen wird.
Implementierte Features gammeln dann aber nicht einfach ungepflegt weiter im
Code rum, sondern können nach einer Weile auch wieder rausfliegen, wenn sie
sich nicht als sinnvoll erwiesen, sie ein Sicherheitsrisiko darstellen oder
ihre Umsetzung mangelhaft oder redundant ist.
NetBSD hat den Anspruch, auf jeder Hardware-Plattform zu laufen, und auch wenn
man nur ein aktuelles x86-System benutzt, profitiert man davon. Der Code ist
dadurch sehr sauber und portabel geschrieben und auch immer gut dokumentiert,
damit jeder in den Code gut einsteigen kann.
Trotzdem wird dadurch keine Entwicklung gebremst, dies macht es nur möglich,
moderne Features auch auf alten Rechnern zu benutzen. Erst kürzlich wurde eine
neue Firewall -- {\ttfamily npf} -- entwickelt, die die Nachteile von
bisherigen Firewalls ausgleichen soll, oder einzigartige
Userland-Virtualisierungslösungen wie {\ttfamily rump} machen nicht nur die
aktuellsten Rechner, sondern auch alte vergessene Maschinen den Branchenriesen
auf aktuellen Servern gegenüber konkurrenzfähig.
Vor allem auch die Einheitlichkeit von Kernel und Userland grenzen NetBSD
gegenüber Linux ab. Wo bei Linux viele kleine Einzelteile irgendwie zusammen
arbeiten, stecken bei NetBSD Entwicklungen, die aus einer Hand kommen, deren
Zusammenarbeit und Einheitlichkeit garantiert ist.
% Dritte Innenseite - zusammen mit vierter Innenseite zur Vertiefung
\newpage
\subsection{Für alle Plattformen}
NetBSDs Slogan ist ``Of course it runs NetBSD'', und der ist Programm. Auch
wenn Linux viele Plattformen unterstützt, hat man dabei keine einheitliche
Plattform, jede Distribution für eine spezielle Plattform ist anders.
% 11 - 57
NetBSD bietet auf über 10 Architekturen und über 55 Plattformen ein aktuelles
Betriebssystem mit einheitlichem (gleichem) Userland, gleichem Paketmanagement
und aktiver Entwicklung. Man erhält dabei nicht etwa eine abgespeckte
Variante, sondern immer das volle Betriebssystem mit allen Features.
Genau aus diesem Grund wird NetBSD sehr häufig für Embedded-Lösungen
verwendet: Die Portierung auf eine neue Plattform ist oft nur Anpassung von
Treibern, oder die Plattform existiert sogar schon. Und auch falls es eine neue
Plattform sein sollte, so macht es der Code einem möglichst leicht, diesen
auch für neue Hardware anzupassen.
NetBSD bietet au�erdem als Virtualisierungslösung Xen als Host-, wie auch als
Gastsystem an, sodass man andere Betriebssysteme virtualisieren oder selber als
virtuelle Maschine auf anderen gehosteten Rechnern laufen lassen kann.
\subsection{Einfache Möglichkeit zum Crosskompilieren}
NetBSD läuft auf vielen sehr alten Plattformen, die oft zu leistungsschwach
sind, grö�ere Mengen Code zu kompilieren. Daher hat NetBSD ein sehr
ausgereiftes und komfortables System zum Kompilieren des ganzen Betriebssystems
oder auch nur der Crosskompilierungs-Toolchains selber.
Man kann generell auf fast jedem Unix (inkl. MacOSX) und jeder Platfform NetBSD
und Toolchains für jede unterstützte Plattform bauen, auch als
unprivilegierter Nutzer. Das Skript {\ttfamily build.sh} erledigt das Bauen
einer Toolchain für sparc z.B. mit einem Aufruf {\ttfamily build.sh -m sparc
tools}, und durch Auswechseln des Ziels (also {\ttfamily build.sh -m sparc
distribution}) kann man auch gleich das ganze Betriebssystem kompilieren, ohne
weitere Schritte unternehmen zu müssen.
% Vierte Innenseite, gleichwertig zur dritten Innenseite
\newpage
\subsection{Eine aktive Community}
NetBSD hat eine sehr aktive, relativ zentral organisierte Community.
Die NetBSD Foundation stellt nicht nur die Webseiten und die Infrastruktur zur
Entwicklung und Verteilung von NetBSD, sondern auch die Mailinglisten, über
die die Kommunikation der NetBSD-User abläuft. Mit einer Mail an diese Liste
erreicht man einen GroÃ?teil aller User und bekommt schnell Hilfe.
Weiterhin hat auch NetBSD in den groÃ?en IRC-Netzen (v.a. im IRCNet und
Freenode) Channels (\#netbsd), in denen man Kontakt zu anderen NetBSD-Usern
aufnehmen kann und fast rund um die Uhr Hilfe bekommt.
Auf den Mailinglisten wie auch im IRC trifft man häufig Entwickler an, sodass
für sehr spezielle Probleme manchmal auch gleich der Verantwortliche die
Probleme mitliest.
NetBSD-User sind weit gestreut, daher gibt es regionale Mailinglisten
(regional-de%NetBSD.org@localhost), auf denen man deutschsprachige Hilfe
findet. Alternativ gibt es auch bei allen grö�eren Open Source-Events
(Froscon, Linuxtag, Chemnitzer Linuxtage, etc.) einen NetBSD-Stand, an dem man
sich Hilfe holen oder über aktuelle Entwicklungen informieren kann.
\subsection{Einfache Teilhabe}
Die NetBSD-Community ist sehr eng verbandelt, auch als Einsteiger hat man
schnell direkten Kontakt mit Entwicklern.
Eingesendete Code-Vorschläge werden schnell diskutiert und bearbeitet (ggf.
eingepflegt, oder Probleme anderweitig gelöst).
Wer an NetBSD mitarbeiten will, findet auf den Mailinglisten oder im IRC
schnell Kontakt zu Entwicklern, die �berblick haben und Vorschläge liefern,
an was gearbeitet werden kann und auch selber Hilfe anbieten, falls man mit der
Entwicklung nicht weiter kommt.
Natürlich muss man nicht selber Code schreiben, um teilzuhaben. Es gibt viele
sehr wichtige Arbeiten, bei denen man auch ohne groÃ?es technisches Vorwissen
helfen kann, vor allem, was die Dokumentation betrifft. Auch hier kann man
einfach nachfragen, was es zu tun gibt, Arbeit lässt sich meist schnell finden.
% Zweite Innenseite, wird mit der ersten Innenseite beim Aufklappen als erstes
gesehen
\newpage
\subsection{Ein komplettes Betriebssystem}
NetBSD verwendet das Paketmanagement {\ttfamily pkgsrc}, das nicht nur auf fast
allen Unix-/Linux-Plattformen funktioniert, sondern gerade auch NetBSD immer
mit aktuellen Paketen versorgt. DragonFlyBSD und MirOS haben aufgrund der
Portabilität auch pkgsrc als eigenes Paketmanagement übernommen und
vergrö�ern so nochmal die Benutzer- und Entwicklerbasis von pkgsrc.
Man kann NetBSD so minimal konfigurieren, aber auch so viel Software
nachinstallieren, wie man will.
Gerade was Firewall-Lösungen betrifft, bringt NetBSD mehr mit als alle anderen
freien Unixe. Weitere Sicherheitsfeatures wie {\ttfamily veriexec}, das nur die
Ausführung von registrierten Binaries erlauben, machen NetBSD nicht nur für
Server, sondern auch für embedded Umgebungen tauglich.
Ob man einen KDE-, Gnome- oder Xfce-Desktop haben will, alles findet man in
aktueller Version auch für NetBSD. Fast jede Open Source Software gibt es auch
für NetBSD, und wenn diese nicht für NetBSD vorhanden ist, dann kann man
immer noch die integrierte Emulation von Linux, FreeBSD oder vielen anderen
Systemen zurückgreifen. Diese ist dabei fast ohne Geschwindigkeitsverlust
benutzbar, da nichts virtualisiert wird, sondern nur die Syscalls entsprechend
umgesetzt werden.
Natürlich muss man nicht alle Pakete selber kompilieren, was auf alten
Rechnern oft auch schwer fallen würde: Man kann auf zahlreiche Repositories
zurückgreifen und sich Binärpakete bequem mit dem Kommando {\ttfamily
pkg\_add} innerhalb von Sekunden (oder auch Minuten, je nach Paketgrö�e)
installieren. Alle Abhängigkeiten und Konflikte werden dabei automatisch
aufgelöst bzw. dem User zur Auswahl angezeigt, und sind mit wenigen
Handgriffen lösbar.
NetBSD gibt einem komplette Kontrolle über die Lizenzen der verwendeten
Pakete. Während das Basissystem selber nur aus BSD-lizensiertem Code besteht,
kann man für zusätzliche Software in der Konfigurationsdatei {\ttfamily
mk.conf} kann man genau festlegen, welche Lizenzen für das System erlaubt sind
und welche nicht.
% Rückseite, ist gedacht für Adressen oder abschlie�ende Informationen
\newpage
\subsection{Vollständige Dokumentation}
NetBSD hat, wie alle anderen BSDs auch, eine sehr gute und vollständige
Dokumentation.
Es gibt ein zentrales (freies) NetBSD-Buch, den NetBSD Guide (siehe Links). Er
enthält eine detaillierte Anleitung zur Installation und Einrichtung von
NetBSD, wie man Software dazuinstalliert, allgemein das System administriert,
aber auch alle wichtigen Subsysteme wie z.B. das Software-RAID, Bluetooth oder
die Festplattenverschlüsselung sind dadrin ausführlich beschrieben.
Zum anderen ist NetBSD fast vollständig mit Manpages durchdokumentiert. Zu
jedem Programm und jedem Kerneltreiber gibt es eine Manpage, die die Benutzung,
den Sinn und die Funktionsweise beschreibt. Damit ist NetBSD vor allem auch
für Entwickler gut geeignet, die nicht lange nach Dokumentation suchen,
sondern diese schnell und einfach mit einem Tool lokal finden wollen. Auch
wurde gerade in einem GSoC-Projekt das neue Tool XXX zur besseren Durchsuchung
von Manpages entwickelt.
Auch im Vergleich mit den Linux-Manpages (für generische Unix-Systeme) sind
die BSD-Manpages oft vollständiger und ausführlicher.
Doch auch für Anfänger ist NetBSD sehr gut geeignet. Das System gibt einem
alle Möglichkeiten an die Hand, Probleme selber zu finden und mit der
Dokumentation zu lösen.
Auch für Nicht-NetBSD-Benutzer hat die Dokumentation oft gro�en Nutzen. Die
Grundmechanismen von Unix (z.B. einem vfs) sind gut beschrieben, und die
NetBSD-Installationshinweise für einige ältere Plattformen sind auch
allgemein als Hardware-Referenzen weit verbreitet.
\subsection{Einstiegspunkte in die Dokumentation}
Webseite: \url{http://netbsd.org/}\\
Guide: \url{http://netbsd.org/docs/guide/en/}\\
Artikel: \url{http://netbsd.org/docs/}\\
Mailinglisten: \url{http://netbsd.org/mailinglists/}\\
Manpages: \url{http://man.netbsd.org/}
\end{document}
Attachment:
signature.asc
Description: PGP signature