Bearbeiten von „FreeBSD/QuickStart“

Aus UUGRN

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und speichere dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 3: Zeile 3:
 
== Vorbereitung ==
 
== Vorbereitung ==
 
Ziel der Vorbereitung ist, ein passendes Installationsmedium für FreeBSD zu bekommen.
 
Ziel der Vorbereitung ist, ein passendes Installationsmedium für FreeBSD zu bekommen.
 
Da dieser Artikel einen Weg beschreibt, wie man von einer Minimal-Installation von CD ausgehend sich ein System an den Start bringt, mit dem man dann alles selbst einrichten kann, reicht das erste Installationsmedium, insbesondere ein DVD Image wird nicht benötigt!
 
 
Für i386 (Intel 32 Bit) reicht [ftp://ftp.de.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/7.1/7.1-RELEASE-i386-disc1.iso 7.1-RELEASE-i386-disc1.iso] vollkommen aus, weitere gibt es unter [[FreeBSD/FTP]].
 
 
Das passende ISO-Image auf CD brennen und prüfen, dass das Zielsystem bootfähig ist.
 
  
 
== Grundsystem installieren ==
 
== Grundsystem installieren ==
Zeile 14: Zeile 8:
  
 
* Vom Installationsmedium booten
 
* Vom Installationsmedium booten
* Im Installationsmenü die Distributionsauswahl "[x] Minimal" verwenden.
+
* ...
* Keine Systemsourcen und keine Ports installieren, da diese im Zweifel ohnehin veraltet sind.
 
* Alle anderen Einstellungen wie gewohnt vornehmen.
 
* Nach der Installation und vor dem Reboot noch alle erforderlichen Grundeinstellungen durchführen (Console, Zeitzone, Netzwerk, ...)
 
* Reboot ins neue System.
 
  
 
== Post-Install ==
 
== Post-Install ==
 
Ziel der Nachinstallation ist es, die Grundlagen für sie Softwareinstallation zu bekommen. Hierfür werden zum einen die System-Sourcen als auch die [[FreeBSD/Ports]] so eingerichtet, dass sie einfach aktualisiert werden können. Außerdem soll hier die gesamte Hilfssoftware installiert werden, die einem das spätere Softwaremanagement erleichtert.
 
Ziel der Nachinstallation ist es, die Grundlagen für sie Softwareinstallation zu bekommen. Hierfür werden zum einen die System-Sourcen als auch die [[FreeBSD/Ports]] so eingerichtet, dass sie einfach aktualisiert werden können. Außerdem soll hier die gesamte Hilfssoftware installiert werden, die einem das spätere Softwaremanagement erleichtert.
 
 
=== Ein paar nützliche Packages installieren ===
 
# pkg_add -r -v portupgrade
 
# pkg_add -r -v bash
 
# pkg_add -r -v vim-lite
 
 
=== Rootshell ändern ===
 
Dieser Schritt ist Geschmacksache und kann ausgelassen werden. Wichtig ist allerdings, dass die Standard-Rootshell /bin/csh kein Environment /usr/local/sbin/ kennt, hier liegen allerdings die Tools aus dem portuprgade-Paket.
 
 
# vipw
 
(Ändern von /bin/csh nach /usr/local/bin/bash)
 
(Neu einloggen)
 
 
=== Sourcen und Ports ===
 
Die hier bevorzugte Methode für das Update von /usr/src und /usr/ports ist csup (ehem. cvsup). Dieser Artikel geht davon aus, dass eine breitbandige Anbindung (mind 2MBit) zum Internet möglich ist.
 
 
* supfiles kopieren
 
# mkdir /root/update/
 
# cp /usr/share/examples/cvsup/ports-supfile /root/update/ports-supfile
 
# cp /usr/share/examples/cvsup/stable-supfile /root/update/src-supfile
 
# chmod +w /root/update/*
 
 
* Anpassen: In beiden Dateien die Zeile
 
*default host=CHANGE_THIS.FreeBSD.org
 
ersetzen durch einen cvsup-mirror
 
*default host=cvsup.de.freebsd.org
 
 
* /usr/src updaten
 
# csup -L 2 /root/update/src-supfile
 
 
* /usr/ports updaten
 
# csup -L 2 /root/update/ports-supfile
 
 
Das Update kann regelmäßig, z.B. täglich erfolgen.
 
 
=== Initialisieren von portupgrade ===
 
Aktuelle /usr/ports/INDEX* vom Master-Server herunterladen und anlegen:
 
# portsdb -Fu
 
 
<del>Alternativ kann man sich den INDEX auch selbst generieren, das kann aber je nach Rechner sehr lange dauern.</del>
 
<del> # portsdb -u</del>
 
 
Package-DB anhand von /var/db/pkg/ initialisieren:
 
# pkgdb -fu
 
 
== Basissystem neu bauen ==
 
Je nachdem, welches Release in /root/update/src-supfile angegeben wird, existieren auf dem System die aktuellen Sourcen unter /usr/src/
 
 
# The following line is for 7-stable.  If you want 6-stable, 5-stable,
 
# 4-stable, 3-stable, or 2.2-stable, change to "RELENG_6", "RELENG_5",
 
# "RELENG_4", "RELENG_3", or "RELENG_2_2" respectively.
 
*default release=cvs tag=RELENG_7
 
 
* RELENG_7 entspricht zum Beispiel 7-STABLE oder 7.1-STABLE oder 7.2-PRERELEASE
 
* RELENG_7_1 entspricht 7.1-RELEASE
 
 
=== Exkurs: Kernel Config ===
 
Normalerweise braucht man nichts anderes als den GENERIC-Kernel. Die allermeisten Dinge lassen sich als Modul laden und zwar anders als bei Linux nicht per initrd oder sysimage (?), sondern direkt vom Bootloader. Das Beispiel soll exemplarisch eine minimale Anpassung des GENERIC-Kernels zeigen
 
 
# cd /usr/src/sys/i386/conf/
 
# vi FOO
 
... mit folgendem Inhalt:
 
# Meine Foo-Config
 
include GENERIC
 
ident  FOO
 
nodevice plip
 
 
Dieses Setup unterdrückt den Build des "printer port Internet Protocol driver" (grob gesagt: Ethernet-Layer für die Parallele Schnittstelle). Das braucht heute eigentlich niemand mehr und man bekommt es anders nicht aus dem System heraus.
 
 
 
=== buildworld, buildkernel ===
 
Jetzt alles erstmal nur bauen. Das ist selbst auf schnellen Rechnern relativ zeitintensiv!
 
# cd /usr/src
 
# time make -j8 buildworld buildkernel KERNCONF=FOO
 
 
Der Zahlenwert hinter "-j" gibt die maximale Anzahl der Parallelen Buildprozesse an, soweit sie sich parallelisieren lassen. Ein gutes Ergebnis bekommt man bei "2*Anzahl Prozessorkerne", -j8 also für einen Quadcore oder 2x DualCore System.
 
 
;Erfahrungswerte für die Dauer:
 
* ein derzeit aktueller "Intel Core[tm]2 Quad" mit 4x2.82GHz und insgesamt 12MB L2-Cache, 4GB DDR2, schafft mit halbwegs schnellen SATA-Platten das "buildworld buildkernel" in knapp über 20min.
 
* ein etwas in die Tage gekommener Laptop mit 1.8GHz AMD CPU, 1GB RAM und einer 7200er Platte benötigt für den gleichen Build mit -j2 210min oder 3,5 Stunden
 
 
=== installkernel ===
 
Als erstes will der Kernel installiert werden:
 
# time make installkernel KERNCONF=FOO
 
 
Anschließend reboot
 
# reboot
 
 
=== installworld ===
 
Nach dem reboot
 
# cd /usr/src
 
# mergemaster -p (ergänzt etwaig erforderliche Systemuser, bei 7.1 -> 7.2-PRERELESE allerdings nicht erforderlich)
 
# time make installworld (kann ein paar Minuten dauern)
 
# mergemaster -U (das -U geht allerdings nicht nach einer Neuinstallation)
 
(alle Änderungen übernehmen, aufpassen bei /etc/passwd /etc/group /etc/master.passwd!)
 
# reboot
 
  
 
== Fremdsoftware (Ports) installieren ==
 
== Fremdsoftware (Ports) installieren ==
An diesem Punkt angekommen entscheidet sich, was das System einmal werden soll. Denkbar wären verschiedene Grundkonfigurationen wie etwa "Webserver", "Desktop System mit KDE"
+
Ziel dieses Tasks ist es, den Rechner für den späteren Einsatzzweck vorzubereiten. Je nachdem, ob es ein Server oder ein Desktopsystem werden soll, unterscheidet sich die Auswahl der Pakete doch erheblich.
 
 
Zur Installation der Ports wird - anders als im offiziellen FreeBSD Handbuch dokumentiert - ausschließlich das Tool ''portupgrade'' bzw ''portinstall'' verwendet. Die Tools dieses Paket operieren nicht direkt auf den Ports, sondern primär auf vorkompilierten DB-Files, was komplexere Abhängigkeitsanalysen und Untersuchung von Alternativen ermöglicht. ALs Hilfstools dienen ''portsdb'' und ''pkgdb'', welche die DB-Files nach Änderungen am System aktualisieren. Erforderliche Aufrufe werden in der Regel durch ''portupgrade'' oder ''portinstall'' selbst getriggert.
 
 
 
Die Ports werden zwar zu bestimmten RELEASES eingefroren und dann als insich konsistenter Snapshot mit einem RELEASE ausgeliefert (das ist das, was sysinstall bei der Installation mitinstallieren will), zwischen dem Port-Freeze und dem RELEASE-Termin liegen aber zuweilen einige Wochen, manchmal gar Monate.
 
 
 
Wer mit aktueller Software arbeiten will, sollte daher mit täglich aktuellen Ports arbeiten (Update per csup, siehe oben).
 
 
 
Nachteil von aktuellen Ports ist, dass sie niemals einen "in sich konsistenten" Zustand haben. Tools wie Portupgrade können damit in der Regel aber sehr gut umgehen. Es soll allerdings nicht verschwiegen werden, dass auch portupgrade mit seinen Standardmechanismen in manchen (komplexen) Situationen manchmal nicht mehr weiterkommt oder gar falsche Annahmen/Entscheidungen trifft.
 
 
 
Grundsätzlich empfiehlt sich vor Updates die Datei <code>/usr/ports/UPDATING</code> zu lesen. Hier wwerden Updates eschrieben, die einen manuellen Eingriff erfordern, häufig direkt mit konkreten Aufrufen von "portmaster" (Alternative zu portupgrade) oder eben "portupgrade" selbst, zum Beispiel:
 
 
 
20090328:
 
  AFFECTS: users of lang/perl*
 
  AUTHOR: skv@FreeBSD.org
 
 
  lang/perl5.10 is out. If you want to switch to it from, for example
 
  lang/perl5.8, that is:
 
 
  Portupgrade users:
 
    0) Fix pkgdb.db (for safety):
 
        pkgdb -Ff
 
 
    1) Reinstall perl with new 5.10:
 
        portupgrade -o lang/perl5.10 -f perl-5.8.\*
 
 
    2) Reinstall everything that depends on Perl:
 
        portupgrade -fr perl
 
 
  Portmaster users:
 
        portmaster -o lang/perl5.10 lang/perl5.8
 
        portmaster -r perl\*
 
  
Diese Hinweise sollten unbedingt befolgt werden!
 
  
== Portupgrade und pkg-Tools ==
 
In der Manpage zu portupgrade gibt es eine umfangreiche Liste von anderen Manpages, die man kennen sollte:
 
  
;SEE ALSO:
 
    {{man|freebsd|1|pkg_add}}, {{man|freebsd|1|pkg_deinstall}}, {{man|freebsd|1|pkg_delete}}, {{man|freebsd|1|pkg_glob}}, {{man|freebsd|1|pkg_info}},
 
    {{man|freebsd|1|pkg_sort}}, {{man|freebsd|1|pkgdb}}, {{man|freebsd|1|portcvsweb}}, {{man|freebsd|1|ports_glob}}, {{man|freebsd|1|portsclean}},
 
    {{man|freebsd|1|portsdb}}, {{man|freebsd|1|portversion}}, {{man|freebsd|5|pkgtools.conf}}, {{man|freebsd|7|ports}} und eben {{man|freebsd|1|portupgrade}}
 
  
 
[[Kategorie:FreeBSD]]
 
[[Kategorie:FreeBSD]]
 
[[Kategorie:Tipps und Tricks]]
 
[[Kategorie:Tipps und Tricks]]

Bitte kopiere keine Inhalte, die nicht Deine eigenen sind!

Du gibst uns hiermit Deine Zusage, dass
  • Du den Text nicht aus Wikipedia kopiert hast
  • Du den Text selbst verfasst hast
  • oder der Text entweder
    • Allgemeingut (public domain) ist
    • oder der Copyright-Inhaber seine Zustimmung gegeben hat.
Wichtig
  • Benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Copyright-Inhabers!
  • Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der 'Diskussion:'-Seite darauf hin.
  • Bitte beachte, dass alle UUGRN-Beiträge automatisch unter der der Creative Commons Lizenz stehen.
  • Falls Du nicht möchtest, dass Deine Arbeit hier von anderen verändert und verbreitet wird, dann drücke nicht auf "Artikel Speichern".

Bitte beantworte die folgende Frage, um diese Seite speichern zu können (weitere Informationen):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)

Folgende Vorlagen werden auf dieser Seite verwendet: