Verteilen von Software unter lInux/ Installer bauen

Von: , 15.06.2010 20:37 Uhr

Liebe/-r Experte/-in,

Ich habe bis jetzt nur unter Windowssystemen entwickelt und will jetzt auf Linux umsatteln. Eine entsprechende Entwicklungsumgebung habe ich mir schon zusammen gesucht und auch durchaus erfolgreich installiert und sogar schon ein kleines Programm geschrieben.

Meine große Frage vor der ich aber jetzt stehe ist, wie kann ich denn die Releaseversion meines programms anderen zur Verfügung stellen? Ich habe mich ein wenig mit rpms beschäftigt und das scheint mir ein guter Weg zu sein, dafür zu sorgen, das alle nötigen Libraries von denen meine Software abhängt auf dem Zielsystem mitinstalliert werden, bei der Installation meiner Software.

Zumindestens vermute ich, das ich das mit einem rpm Package machen kann. Ich arbeite unter openSUSE 11.2 und komme da aber im Moment keinen Schritt weiter. Ich habe schon alles mögliche versucht und werde einfach nicht schlau! Es gibt zwar viele Seiten im Internet die etwas zu rpm zu sagen haben, aber für mich keine Seite die mir verständlich und ausführlich erklärt, was ich brauche, bzw. wie ich denn jetzt mein Binary in ein schönes rpm package packen kann, wo alle Abhängigkeiten vermerkt sind.

Mein letzter Versuch war jetzt der openSUSE Build Service, aber aus dem werde ich auch nicht schlau.

Wie verpackt ihr denn Software die auch auf anderen Linuxrechener laufen soll?

Grüße,

Swen

2 Antworten zu dieser Frage

  1. Antwort von nach 6 Tagen 0 hilfreich
    Re: Verteilen von Software unter lInux/ Installer bauen

    Hallo Sven,

    unter "Linux" versteht man eigentlich nur den Kern, also das Betriebssystem. Darauf aufbauend gibt es diverse "Linux Distributionen". Diese bündeln ein Linux-Kernsystem mit meist einer Vielzahl von Software-Paketen. Neben Distributionen für besondere Aufgaben, wie spezialisierte Firewall-Distributionen oder Distrubutionen für die XBox, gibt es einige konkurrierende Desktop-Distributionen, für die Du dich vermutlich interessierst. Bekannte Distributionen sind OpenSuse, Redhat, Ubuntu (mein Favorit), Debian oder Mandrake.

    Prinzipiell ist allen Distributionen frei gestellt, welches Paketformat sie zum Verteilen ihrer Software verwenden, allerdings gibt es LSB (Linux Standard Base), die vorschreibt, dass alle Distributionen als Paketformat RPM unterstützen müssen. Was sich als nicht so geschickt herausgestellt hat, da dpkg als Paketformat viel besser funktionniert. Letzteres ist das Format, das bneispielsweise in Ubuntu, Debian oder Knoppix zur Anwendung kommt (Mehr dazu gibts hier nachzulesen: http://de.wikipedia.org/wiki/Linux-Distribution#Komp... )

    Nun zum Erzeugen von RPM-Pakete. Prinzipiell gehst Du so vor, dass Du Deine Files, wie sie später im System landen sollen in einem Verzeichnisbaum ablegst, dann ein sogenanntes Spec-File schreibst, in dem in einem speziellen Format alle möglichen Informationen über das Software-Paket und die enthaltenen Dateien sowie über Abhängigkeiten definiert sind. Und dann baut "rpm -b" mit einigen Optionen Dein Paket. Da gibts ein E-Buch über RPM, wos im zweiten Teil auch um den Build-Prozess geht: http://xinux.de/docs/linux/rpm/ und hier: http://www.rpm.org/wiki/Docs findest Du sicher darüber rausgehende Informationen und hier: http://www.linuxhaven.de/dlhp/HOWTO/DE-RPM-HOWTO-7.html gibts ein Howto mit ner Beispiel-Spec-Datei.

    hoffe das hat geholfen, Gruß Bruce

  2. Antwort von nach 56 Tagen 0 hilfreich
    Re: Verteilen von Software unter lInux/ Installer bauen

    Ich habe das immer mit .deb, .rpm und generischen
    Installern (z.B. einfache Tar-Archive) gemacht.
    Wir haben uns das in der Firma mehr oder weniger selbst
    beigebracht mit Dokumentation aus dem Internet und vor
    allem dadurch, daß wir uns angeguckt haben wie andere
    das machen (also Quellpakete von verschiedenen
    Distributionen und sowas).
    Richtig toll dokumentiert ist das leider nicht, aber als
    Links (Zeilenumbrüche ggf. entfernen):
    http://xinux.de/docs/linux/rpm/ oder
    http://docs.fedoraproject.org/en-
    US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/

    http://www.linuxfordevices.com/c/a/Linux-For-Devices-
    Articles/How-to-make-deb-packages/

    Ergänzend noch die Wikipedia Artikel zum Thema, aber
    ansonsten bist Du da am besten bedient, wenn Du einfach
    abguckst wie andere die control bzw. .spec Dateien
    erstellen.

Jetzt auf diese Frage antworten.