/usr/src installieren

piotr

Well-Known Member
Hallo

Habe gerade freeBSD 6.0 installiert, aber mein /usr/src ist leer:
Code:
# cd /usr/src
# ls -la
total 4
drwxr-xr-x   2 root  wheel  512 Nov  3 09:09 .
drwxr-xr-x  18 root  wheel  512 Mar 18 04:25 ..

Mein system jetzt:
Code:
 uname -a
FreeBSD bsd.home 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Thu Nov  3 09:36:13 UTC 2005     root@x64.samsco.home:/usr/obj/usr/src/sys/GENERIC  i386

Ist das der korrekte weg, um aktuelle gepatchte freeBSD 6.0 Stable zu beommein (kein beta) ?
Code:
# cat /etc/cvsup.base

*default host=cvsup6.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_6_0
*default release=cvs delete use-rel-suffix compress
*default delete use-rel-suffix

*default compress

*src-all

Brauche ich noch anschliessend ?
Code:
# make -j 5 buildworld
# make buildkernel
# make installkernel
# make installkernel
# make installworld

Piotr
 
ist alles schön unter wiki.bsdforen.de beschrieben
in /usr/share/examples/cvsup/stable-supfile sollte der richtige tag enthalten sien
 
1.) Du mußt die FreeBSD-Sourcen installieren. Entweder von der CD holen und dann updaten oder gleich via cvsup aus dem Netz ziehen.
2.) der richtige Tag ist RELENG_6
3.) Warum zweimal 'make installkernel'?
4.) Da fehlt mindestens mergemaster. /usr/src/UPDATING kennt den genauen Weg zum Update.
5.) Mit mergemaster mußt Du etwas vorsichtig sein, sonst behälst Du ein inkonsistentes System zurück, dass möglicherweise nicht mehr uneingeschränkt lauffähig ist.
 
Hab ich richtig verstanden keine Beta?
Wenn keine Beta dann ist der tag richtig.

*default release=cvs tag=RELENG_6_0

Bei

RELENG_6

kriegt er die 6.1 Beta.

Richtig oder bin ich falsch.

Gruss Menuhin
 
@soul_rebel:
Es empfiehlt sich gar nicht mergemaster-Läufe "einzusparen".
Kürzlich ist z.b. die Gruppe 'audit:*:77:' hinzugekommen.
Wenn du also nicht die mergemaster-Operationen durchführst hast du nachher Probleme, weil dir diese Gruppe fehlt, weil du kein mergemaster ausgeführt hast.

In /usr/src/UPDATING ist übrigens der kanonische Update-Verlauf beschrieben.

Darum lieber nicht solche "Tips" abgeben.
 
Danke für die hilfreiche Infos.

Habe /usr/src/UPDATING angeschaut.
Ich glaube mich betrifft folgender Abschnitt::
Code:
To rebuild everything and install it on the current system.
	-----------------------------------------------------------
	# Note: sometimes if you are running current you gotta do more than
	# is listed here if you are upgrading from a really old current.

	<make sure you have good level 0 dumps>
	make buildworld
	make kernel KERNCONF=YOUR_KERNEL_HERE
							[1]
	<reboot in single user>				[3]
	mergemaster -p					[5]
	make installworld
	mergemaster					[4]
	<reboot>
ist das korrekt ?
 
Wenn du dein /usr/src hast und deine CVSup-Konfiguration jetzt stimmt,
wie das geht konntest du ja im Wiki nachlesen, dann ist genau dieser Abschnitt richtig.

Er betrifft übrigens alle, die ihr komplettes System korrekt aktualisieren wollen.

P.S.
Wenn du mit 'mergemaster' unsicher bist, dann kannst du dir während dem Mergen
mit '?' eine Hilfe anzeigen lassen. Und schaue immer die gemergte Datei an, bevor du sie
schreibst, so hast du wenigstens noch eine Chance, falls du einen Fehler machst.
Bei fortgeschrittener Paranoia, kannst du auch das ganze /etc wegsichern, bevor
du mergemasterst, mergemaster macht das zwar auch, aber vielleicht gibt's dir mehr Sicherheit.

Und spare auch keine Reboots ein. Meistens klappt's bei Updates innerhalb einer Major-Version,
hier also die 6, ohne den Reboot in Single User, aber wenn's nicht klappt, hast du ein ziemliches
Problem. Es ist schlussendlich die eingesparte Zeit nicht wert, aber bei Remote Servern eventuell
nicht anders möglich.
 
Zuletzt bearbeitet:
Ich habe eine Frage dazu.

Soll ich nach dem:
Code:
# make KERNCONF=MYCONF installkernel
in Single-Usermode resterten, um weiterzumachen:
Code:
# make installworld
oder bei bereits installierten 6.0-RELEASE ist nicht mehr nötig,
sondern nur bei Upgrade von der älteren Versionen ?

ich mache buildworld auf dem 6.0-RELEASE mit RELENG_6_0
 
Zuletzt bearbeitet:
Lt UPDATING ist das immer notwendig. Der Praxisbetrieb zeigt, dass es auch anders geht, aber ich gehe das Risiko nicht ein. Auf meinem Remote-Server (ohne serielle Konsole) bleibe ich - zwangsläufig - im Multiuserbetrieb, an der Heimkiste wechsel ich vorher in den SingleUser-Mode. Letzterer frißt kein Brot und es dauert kaum länger.
 
soul_rebel schrieb:
brauch man aber eher selten...
also ich machs nie bei kleinen upgrades (von 5.3 auf 5.4 oder 6.0 auf 6-stable) und hab nie probleme gehabt...
Beim Update auf die 6.1-Beta hatte ich das mergemaster -p vergessen und die Installation ist gescheitert, weil eine Gruppe gefehlt hat.
 
Ich habe mein freeBSD nach dem Manual von:

http://wiki.bsdforen.de/index.php/FreeBSD_-_Make_World

aktualisiert und es hat wunderbar funktioniert.


Ich bedauere nur, dass ich anstatt:
Code:
# make KERNCONF=MYCONF GENERIC installkernel
nur:
Code:
# make KERNCONF=MYCONF installkernel
gemacht habe.

Jetzt kann ich keine security updates einfach mit:
Code:
freebsd-update fetch
freebsd-update install
draufspielen.
Gemäss Beschreibung das funktioniert nur mit dem GENERIC kernel.
 
Übrigens, wenn du den GENERIC kompilieren und installieren willst,
musst du GENERIC nicht angeben.

Es reicht dann:
Code:
# cd /usr/src
# make kernel
 
Zurück
Oben