Filip Lyncker schrieb:
----- Original Message ----- From: "Thomas Hertweck"
To: "SuSE Linux ML" Sent: Wednesday, October 01, 2003 1:45 PM Subject: Re: Checkinstall meldet Paket installiert und Paket nicht installiert...
*seufz* Bitte, schau Dir mal http://learn.to/quote an, um so etwas zu vermeiden.
Das wirft bei mir jetzt eine grundsaetzliche frage auf. Klar openssh laesst sich einfach updaten per YOU. Was aber wenn ich ein Programm verwenden will , dass nicht in der neusten version oder garnicht von Suse gepflegt wird ?
YOU dient dazu, Updates (Bugfixes, etc.) einzuspielen, nicht neue Versionen von Software. Das wurde schon mehrfach diskutiert, das ist auch gut so. SuSE bleibt im Laufe des Supports einer Distribution stets bei der urspruenglich ausgelieferten Version, portiert Patches entsprechend auf diese Versionen zurueck. Das Einspielen von _neuen_ Versionen, nur um Bugs zu fixen, koennte ganz unangenhme Nebenfolgen haben. Christian hat vor kurzem sehr schon den Unterschied zwischen Update und Upgrade erklaert; den Text findest Du sicher im Archiv der Liste.
Zum beispiel ist bei der Suse 8.1 nur die IPSEC Version 1.97 oder so dabei , aktuell ist aber die 2.x , bei der sich einiges geaendert hat. Wenn ich die nun verwenden moechte , hab ich mit dieser Distri ein Problem, nicht? Ich muss es doch deshalb selbst kompilieren.
Entweder hat jemand bereits eine entsprechende Version fuer die von Dir verwendete SuSE-Version gebastelt und stellt ein RPM bereit (z.B. ist Packman[1] eine gute Anlaufstelle), oder aber Du musst die Soft- ware selbst compilieren und ein RPM bauen.
Angenommen dieses Programm benutzt jetzt Openssl, bei dem gerade die Sicherheitslöcher entdeckt worden sind. Wenn ich jetzt das Paket von Suse mit YOU update , sollte openssl anschliessend sicher sein.
Ja. Du behaeltst die Version bei, die mit der SuSE-Distribution kam. SuSE portiert aktuelle Patches zurueck auf diese Version. Durch YOU wird der Bug auf Deinem System gefixt. Die Release-Nummer des Paketes wird sich entsprechend erhoehen.
In wie weit greift jetzt das IPSEC Paket nur auf die natuerlich jetzt geaenderten shared libs zu ? Hat es denn nicht auch .h und .cpp files aus dem Include von dem alten openssl-devel mitgenommen und fest im eigenen Programmcode verbastelt , sodass mein IPSEC Programm immernoch nicht sicher ist?
Ich verstehe nicht, was Du meinst. SuSE hat sich die Patches besorgt, sie in den Quellcode (also die .h und die .c oder .cpp Dateien) ein- gearbeitet und ein neues RPM daraus gemacht. Die Teile der Software, die betroffen waren von dem Bug, werden nun durch YOU auf Deinem Sy- stem ausgetauscht. Damit sind die Loecher gefixt. Ebenso werden evtl. (falls bei Dir installiert) die *-devel Pakete gepatcht und angepasst.
Das IPSEC ist nur ein Beispiel bei dem ich weiss, dass bei der Suse nicht die aktelle version beiliegt, ich bin aber nicht ganz sicher ob das Openssl problem da zutifft. Sicherer bin ich da schon bei cyrus-sasl. Das hab ich kompiliert und es includiert definitiv die sourcen vom aktuell installierten openssl.
Weitere Software, die aufgrund eines Bugs in openssh eines Fix bedarfs, wird sicher auch per YOU gepacht. Wenn Du eigene Software compiliert hast, die Teile von openssh verwendet, dann musst Du schauen, ob die neu uebersetzt werden muss - das haengt davon ab, was genau diese Soft- ware einbindet. Wenn sie nur auf Bibliotheken zurueck greift, kann we- nig passieren, denn die Bibliotheken von openssh wurden ja gefixt. Wenn schon beim Compilieren openssh-spezifische Dinge eingebunden werden und statisch gelinkt wird, dann muss die Software sicher neu uebersetzt werden. Vorausgesetzt, ich habe Deine Frage nun richtig verstanden.
Also nochmal die Fragen :
1. Wenn die Distribution nicht die gewünschte Version meines Programms unterstützt - muss ich selbst kompilieren ?
Ja. Oder es hat jemand schon fuer Dich gemacht und stellt irgendwo Pa- kete bereit.
2. Wenn sowas passiert, reicht es wohl nicht mehr aus einfach mit YOU z.B. Openssl zu updaten, sondern ich muss anschliessend meine selbstkompilierten programme neu übersetzten.
Ja. Wenn sie vom Bug betroffenen Code beim Compilieren eingebunden ha- ben bzw. statisch gelinkt wurden.
3. Erkennt jemand in meiner Vorgehensweise einen grundsaetzlichen Fehler oder würde es anders machen ?
Nein, ist schon OK so. Bei openssh und so halte ich es fuer nicht noetig, die Software selbst zu compilieren, das sollte per YOU ohne Probleme ge- hen und ich weiss auch nicht, was da ein Upgrade bringen sollte. Mehr als Dich sicher verbinden wird auch eine neue Version nicht koennen... Wenn Du viel eigene Software compilierst, musst Du immer darauf achten, ob evtl. eingebundene Teile von einem Bug betroffen sind und dann ent- sprechend pruefen, ob Du Deine Software neu compilieren musst mit dem Fix. CU, Th. [1]http://packman.links2linux.de/