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 30: Zeile 30:
  
 
=== Rootshell ändern ===
 
=== 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.
+
Dieser Schritt ist Geschmacksache und kann ausgelassen werden. Wichtig ist allerdings, dass die Standard-Rootshell /bin/csh kein Environment /usr/local/sbin/ Akennt, hier liegen allerdings die Tools aus dem portuprgade-Paket.
  
 
  # vipw
 
  # vipw
Zeile 41: Zeile 41:
 
* supfiles kopieren
 
* supfiles kopieren
 
  # mkdir /root/update/
 
  # mkdir /root/update/
  # cp /usr/share/examples/cvsup/ports-supfile /root/update/ports-supfile
+
  # cp /usr/share/examples/cvsup/ports-supfile /root/update/
  # cp /usr/share/examples/cvsup/stable-supfile /root/update/src-supfile
+
  # cp /usr/share/examples/cvsup/stable-supfile /root/update/
 
  # chmod +w /root/update/*
 
  # chmod +w /root/update/*
  
Zeile 51: Zeile 51:
  
 
* /usr/src updaten
 
* /usr/src updaten
  # csup -L 2 /root/update/src-supfile
+
  # csup -L 2 /root/update/stable-supfile
  
 
* /usr/ports updaten
 
* /usr/ports updaten
Zeile 62: Zeile 62:
 
  # portsdb -Fu  
 
  # portsdb -Fu  
  
<del>Alternativ kann man sich den INDEX auch selbst generieren, das kann aber je nach Rechner sehr lange dauern.</del>
+
Alternativ kann man sich den INDEX auch selbst generieren, das kann aber je nach Rechner sehr lange dauern.
  <del> # portsdb -u</del>
+
  # portsdb -u
  
 
Package-DB anhand von /var/db/pkg/ initialisieren:
 
Package-DB anhand von /var/db/pkg/ initialisieren:
 
  # pkgdb -fu
 
  # 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: