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