Aktuelle Bugs in 5.3 Release

Ensis

Active Member
Hi,

wie man an den zahlreichen Posts in den letzten Tagen sehen kann :), bin ich neu in FreeBSD und komme von Linux (hauptsächlich Debian).

Ich denke das Ports-System jetzt soweit verstanden zu haben. Allerdings kriege ich von portaudit auf einem aktuellen 5.3 Release noch immer 4 Pakete mit Sicherheitslücken gemeldet. Auf Current oder Stable möchte ich nicht wechseln, da sich ja beide noch verändern, mir Stabilität aber wichtiger ist. Für das 5.3 Release sollte es aber doch eigentlich Security Fixes geben. Brauchen die für die Bugs in:
- ruby
- 2x apache2
- linux-base
länger oder liegt es an etwas anderem?

Gruß
Ensis
 
Das hat nichts mit dem base-system zu tun, das sind Ports.
Mach einen cvsup der Ports und dann schau nach ob es eine neue version des Ports gibt und installier Dir diesen (portupgrade).
 
Insofern ich CVSup korrekt eingerichtet habe, habe ich das schon gemacht. Hier der wohl entscheidende Ausschnitt aus der Konfiguration:

release=CVS tag=RELENG_5_3
ports-all tag=.

Daraufhin habe ich CVSup nach dem Handbuch gestartet und der Ports-Tree ist komplett neu aufgebaut worden. Ein anschliessendes portupgrade hat hat einige Updates durchgeführt, aber die erwähnten 4 Bugs sind weiterhin offen.

Was mich zudem wundert, ist das alle 4 Bugs schon älter sind, um genau zu sein:

Ruby - 13.11.2004
Apache2 - 10.11.2004 & 21.10.2004
Linuxbase - 15.09.2004

Da müßte es doch schon etwas geben.
 
Das supfile für den Portstree muss so aussehen:

Code:
*default host=cvsup7.de.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
*default compress

ports-all
Es gibt keinen cvs-tag "RELENG_5_3" für den Portstree. Man kann an den Optionen noch ein wenig rumspielen um beispielsweise die koreanischen/chinesischen Portversionen wegzulassen und so. Als cvs-tag mußt du aber nen einfachen Punkt verwenden. ;)

Gruß, matze
 
Aber kriege ich mit deinen Angaben nicht die neueste Version der Ports? Es muss doch einen Unterschied geben zwischen Current, Stable und Release, oder? Falls ich mich da irre, wäre ich auch für Links zu entsprechender Doku dankbar.

Gruß
Ensis
 
Ensis schrieb:
Aber kriege ich mit deinen Angaben nicht die neueste Version der Ports?
Ja natürlich, das willst du ja auch. Beim Portstree wird nicht in Current, Stable und Release unterschieden. Die Ports erkennen von selbst welches FreeBSD du benutzt. Steht leider nicht so glasklar im Handbuch.

Gruß, matze

PS: Ich glaub hier im Forum im Howto-Bereich ist das in einem Thread erklärt.
 
Danke euch beiden, habs jetzt verstanden. :D

Ich bin einfach davon ausgegangen, dass eine allgemeine CVSup-Konfiguration direkt auf Current zugreift, da der Punkt tatsächlich nicht so genau im Handbuch beschrieben ist. Soweit ich das jetzt sehe sind PACKAGESITE und PKGSITE für die Bestimmung der Version zuständig und ich kann beruhigt alles nehmen, was mir CVSup bietet.

Gruß
Ensis
 
Maledictus schrieb:
Der Ausschnitt aus Ensis supfile war in Ordnung!
Bitte genau LESEN!
Na sieh an, das tag hinter ports-all wird von cvsup mit höherer Priorität behandelt? Ich nahm an wenn man ein supfile für beide zwecke benutzt müßte der tag für das System entsprechend hinter src-all gesetzt werden.

Gruß, matze
 
Maledictus, das heißt es muss doch ein Tag gesetzt werden?

Edit: Da oben sind zwei Postings in der Reihenfolge verrutscht, nur bevor es Verwirrung gibt.
 
Zuletzt bearbeitet:
Na ja, was heißt einfach? Ich möchte schon wissen, ob ein Tag nun gebraucht wird oder nicht. Vorgefertige Lösungen haben immer den Nachteil, dass sie nutzlos werden, sobald sich etwas ändert.

Nach dem Link von s-tlk habe ich das so verstanden, dass nur die Umgebungsvariablen für die Auswahl der Version zuständig sind.

Was nutzen dann eigentlich zwei verschiedene Tags bei Release und Ports?
 
Also in dem Link von s-tlk ist wohl die Information recht unübersichtlich. Kapitel 4 des Handbuchs erklärt das etwas übersichtlicher.

Die Umgebungsvariablen sind nur notwendig um Packages aus dem Netz installieren zu können ohne die Ports zu bemühen.

Um die Sourcen des Betriebssystems oder den Portstree auf den neuesten Stand zu bringen nutzt man üblicherweise das Programm cvsup (geht auch anders, aber egal). Und dieses Programm instruierst du durch supfiles. Wenn du dein System nach Handbuch eingerichtet hättest wären dann 2 supfiles vorhanden: eins für das Betriebsystem, das andere für die Ports. Das für die Ports sieht so aus wie ich weiter oben schrieb.
 
Also ich weiß nicht, vielleicht übersichtlicher, aber an Informationen ist mehr in dem Wiki drin. Ich kann im Kapitel 4 nichts finden, das auch den grundlegenden Unterschied zwischen Base- und Ports-Supfiles erklärt. In Kapitel 19 gibt es ein paar mehr Informationen zu den unterschiedlichen Versionen.
 
Hier mal ein Supfile für FreeBSD 5.3-STABLE:
Code:
*default host=cvsup.freebsd.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_5
*default delete use-rel-suffix

src-all
ports-all tag=.
doc-all tag=.

Der Portstree hat immer den tag "tag=." da dieser ja ständig in Bewegung ist. Auf das basesystem übertragen würde das "CURRENT" des Basesystems entsprechen.

Beim basesystem gibt man an welches RELEASE man haben möchte, oder eben ob man STABLE will oder CURRENT.
RELENG_5_3 wäre das RELEASE und beinhaltet security fixes. RELENG_5 die STABLE Branch da wird dann irgendwann 5.4 draus,...

Warum nun Dein Apache, ruby und linuxbase nicht up-to-date sind wundert mich auch etwas, kann ich aber gerade nicht nachvollziehen da kein FBSD zur Hand.
 
Wegen der Vollständigkeit:

Wenn irgendwann FreeBSD 5.4 kommt, kannst Du Dein basesystem mit tag=RELENG_5_4_0_RELEASE auf dieses Release updaten.
Siehe auch A.6. CVS-Tags im Handbuch.
 
Genau, das ist auch mein sonstiger Aufbau, außer das ich mich für RELENG_5_3 entschieden habe. Soweit denke ich schon, dass ich jetzt weiss was CVSup macht, nur bei der genauen Konfiguration war ich mir nicht sicher. Der zweite Wiki-Link war auch sehr interessant, auch wenn er ja dem ersten teilweise wiederspricht.

Eigentlich sind so nur noch drei Fragen für mich offen geblieben:
- Sind nun ein oder zwei Supfiles notwendig? Wenn ich das richtig sehe, geht es nur darum ob man src-all und ports-all in eine oder zwei Dateien packt, richtig?
- Wozu den Release-Tag, wenn das Release ja anscheinend schon vorgegeben ist? Ist der nur als doppelte Sicherung vorhanden oder liegt das erste Wiki hier falsch?
- Wie werden Fixes an der Base eingespielt, auch über über portupgrade?

Und was mir eben noch aufgefallen ist, ist es korrekt, das eine make install des Apache dafür sorgt, dass die Pakete direkt von dem jeweiligen Developer geholt werden und nicht vom FreeBSD-Repository? Ich habe hier z.B. gerade automatische Downloads von apache.org und sleepycat.com gehabt.
 
@Ensis
Kannst Du mal die genau versionsnummer der installierten Ports posten?
Also mal "portversion -v" aufrufen und dann nicht nur "ruby" posten sondern die Nummer die noch dabei steht.

Die links widersprechen sich? Welche meinst Du? Das sollte man anpassen...

Sind nun ein oder zwei Supfiles notwendig? Wenn ich das richtig sehe, geht es nur darum ob man src-all und ports-all in eine oder zwei Dateien packt, richtig?

Eines reicht.

- Wozu den Release-Tag, wenn das Release ja anscheinend schon vorgegeben ist? Ist der nur als doppelte Sicherung vorhanden oder liegt das erste Wiki hier falsch?

Das RELEASE ist nicht vorgegeben. Der cvsup-server ist "doof" du musste dem schon sagen was Du willst, und dann liefert er Dir dies wenn vorhanden, wenn nicht dann gibts current...

Wie werden Fixes an der Base eingespielt, auch über über portupgrade?

Nein, portupgrade ist für die Ports, nicht für das basesystem (dazu gehört auch bind, sendmail,..).
Alles was Du mit "portversion" oder "pkg_info" siehst kannst Du mit "portupgrade" updaten.
Das System an sich mit einem "make world" und den fixes. Oder nur die fixes einspielen, schau dazu mal unten rechts unter www.freebsd.org.
Daher auch der RELEASE tag, da werden dann die security fixes eingespielt. Oder eben die security mailingliste verfolgen, auf die FBSD Seite schauen, news auf bsdforen.de abwarten.
 
@Andreas, ich werde mir das Wiki sicher auch mal in Ruhe antun, aber das Handbuch beantwortet diese Fragen nun mal nicht ausreichend und das Wiki muss man erstmal kennen. Wie wäre es denn mit einem deutlicheren Hinweis auf der Portalseite oder einem Sticky-Thread in jeder Foren-Kategorie (z.B. "Vor dem Posten lesen!"), die das Wiki kurz vorstellen?
Zudem erwähnt z.B. der erste Wiki-Link von dir (portupgrade) die Release-Tags gar nicht, sondern weist auf die Verwendung von Umgebungsvariablen hin.
Der zweite ist da deutlich ergieber, danke. Aber ganz im allgemeinen hätte ich einfach gerne mehr Hintergrundinformationen. Die Faq aus dem alten Wiki sollte übrigens wirklich ins neue.

Ich habe aber inzwischen rausgefunden, dass die Man-Pages unheimlich viel Informationen enthalten. Das ist bei Linux oft genau anders herum. :D
Ich bevorzuge halt einfach eine Referenz, die alle Konfigurationsmöglichkeiten darstellt, anstatt Beispiele, die ohne Erläuterung nur für genau eine Situation passen.

@asg
Mit widersprechenden Artikeln meinte ich, dass es Texte gibt, die das Release-Tag ignorieren, direkt auf default (.) setzen oder darüber die Release-Bezeichnung angeben, wie es ja richtig ist. Auch hier im Forum gibt es ja unterschiedliche Meinungen dazu.

Die Sache mit Base und Ports ist jetzt klar. Security-Mailinglist ist natürlich Pflicht.
Eines wundert mich dabei aber. Ich habe hier eine FreeBSD-Version, die ich letzte Woche herunter geladen habe. Das Release ist vom 05.11.04, die Security Advisories liefern mir allerdings noch einen Patch vom 01.12.04. Werden die Repositories nicht automatisch gepatcht? Es gibt wohl kein Tool, dass speziell die Base im Auge behält?

Die Sache mit den Updates habe ich inzwischen hingekriegt. Nachdem ich den Ports-Tree noch einmal neu gebaut habe läuft alles.

Vielen Dank für die Hilfe.
 
Zudem erwähnt z.B. der erste Wiki-Link von dir (portupgrade) die Release-Tags gar nicht, sondern weist auf die Verwendung von Umgebungsvariablen hin.
Bin mit dieser Aussage nicht einverstanden! Wenn Du nach der oben erwähnten portupgrade-Anleitung vorgehst, nimmst Du die supfile-Vorlage unter:
/usr/share/examples/cvsup/ports-supfile
bei welcher der Tag schon korrekt gesetzt ist. Die Umgebungsvariablen werden nur für die Installation von Packages über das Internet benutzt. Aber das alles steht genau beschrieben in der Anleitung => Man muss nur lesen :rolleyes:

Allgemein:
Für Programme musst Du /usr/ports aktualisieren. Das kannst Du mit dem (langsamen) cvsup oder mit dem schnellen portsnap erledigen. Beide Varianten werden unter:
http://wiki.bsdforen.de/index.php/FreeBSD_-_Ports_und_Programme_aktualisieren
aufgezeigt. Zudem wird auch aufgezeigt, wie man Programmsicherheitslöcher erkennt und stopft.

Für das Betriebssystem musst Du /usr/src aktualisieren. /usr/src kannst Du nur mit cvsup aktualisieren. Wie man /usr/src aktualisiert und wie man Betriebssystemlöcher schliesst, erläutert:
http://wiki.bsdforen.de/index.php/FreeBSD_-_Make_World

Und wenn Du Freude an cvsup hast, kannst Du mit einem einzigen supfile /usr/src und /usr/ports aktualisieren. Wie das geht, erklärt Dir:
http://wiki.bsdforen.de/index.php/FreeBSD_-_cvsup_in_einem_Rutsch

Und noch ein Detail zum Schluss:
tag=RELENG_5_3_0_RELEASE
enthält im Gegensatz zu:
tag=RELENG_5_3
keine Fixes für Betriebssystemsicherheitslöcher!
 
Zuletzt bearbeitet:
Zurück
Oben