Version von FreeBSD anhand des Quellcodes ermitteln

kraileth

Steht noch ganz am Anfang
Hallo zusammen,

ich hätte gleich mal eine Frage. Kürzlich war ich in folgender Situation: Ein altes Relikt, seit Längerem nicht mehr genutzt, wurde mir als Server zum üben bereitgestellt. Es soll sein Leben mit 4.x begonnen haben; inzwischen meldet „uname -a“ ein FreeBSD 7.1. Der Quellcode des Systems ist unter /usr/src vorhanden. Updates wurden in der Vergangenheit offenbar mit cvsup durchgeführt. Im entsprechenden supfile ist allerdings version RELENG_7_3 eingetragen. Wahrscheinlich wurde also ein Update auf 7.3 vorbereitet, aber nicht mehr durchgeführt.

So weit, so gut. Davon abgesehen, daß ich das System eher auf 8.4 bringen möchte, fragte ich mich, wie ich eigentlich herausfinden kann, von welcher Version der vorgefundene Quellcode stammt? Als Anfänger kam mir letztlich nur ein „make buildworld“, „make buildkernel“ und anschließendes Installieren in den Kopf, da dann nach dem Neustart offensichtlich wäre, welche Version sich meldet. *g*

Unsere BSD-Experten waren nicht greifbar und der Rest der Kollegen sind Linuxer mit oberflächlichen BSD-Fähigkeiten, so daß mir niemand meine Frage beantworten konnte. Eine Recherche im Netz lief auch ins Leere (es fiel mir aber auch nicht leicht, halbwegs eindeutige Suchanfragen dazu zu formulieren!).

Nun ließ mich aber die ins verlängerte Wochenende mitgenommene Frage nicht los. In den Dateien README, UPDATING, usw. habe ich keine konkreten Versionsnummern gefunden und ein „grep -R 10.1 *“ auf meinem privaten Testrechner, von dem ich weiß, daß der Quellcode der von 10.1 (inzwischen RC1, wenn ich nicht irre) stammt, erbrachte zwar etliche Treffer, aber die schienen mit der FreeBSD-Version nicht viel zu tun zu haben.

Irgendwo muß ja zumindest der Versionsstring definiert werden, mit dem sich der Kernel später identifiziert! Auch weiteres Greppen (insbesondere unter /usr/src/sys/kern) brachte leider keinen Erfolg.

Hat irgendjemand eine einfache Antwort auf die Frage, wie ich die Version herausfinde, welche der gegenwärtig vorhandene Quellcode ergeben würde?
 
Hallo, die Versionsnummer wird beim Bauen durch das Script "newvers.sh" in Form eines Headers bereitgestellt, den die Sourcen anschließend an anderen Stellen einbinden. Du findest es unter sys/conf/newvers.sh, die von ihm gesetzte Version steht sehr weit oben direkt unter der Lizenz. Bei mir derzeit:
Code:
TYPE="FreeBSD"
REVISION="10.1"
BRANCH="BETA3"
Dort kann man auch den Namen des Systems ändern. Ist aber gar keine gute Idee, da dann so ziemlich jede Software dort draußen auf interessante Weise explodiert. :) Davon einmal abgesehen ist die Frage, ob sich ein Update überhaupt lohnt. Auf FreeBSD 8.4 müsste es noch einigermaßen schmerzfrei gehen, aber wenn du auf 9.3 oder 10.1 hoch möchtest, ist eine Reinstallation sicher der Weg des geringen Widerstands.
 
Zurück
Oben