Zum aktuellsten Beitrag
rpms unter suse 10.1 installierern (mit yast)
  • verfasst: 11.09.2006, 12:53
    Anonymous
    registriert:
     November 2003
    Status:
    offline
    letzter Besuch:
    05.02.09
    Beiträge:
    360
    hi,

    ich stehe vor folgendem problem. ich baue selber rpms und moechte sie unter SUSE 10.1 ueber yast installieren. aber wenn ich sie ueber yast installieren will, kommt die fehlermeldung: Folgende Pakete wurden auf dem Mediaum nicht gefunden: <paketname>

    koennt ihr mir vielleicht weiterhelfen? schon im voraus danke fuer eure antowrt,
    cu </paketname>
  • verfasst: 13.09.2006, 16:13
       
    Lars
    Forenrang:
    Site Admin Site Admin
    registriert:
     November 2003
    Status:
    offline
    letzter Besuch:
    27.11.09
    Beiträge:
    526
    Naja: die einfachste Methode ist sicherlich die Pakete über den Konqueror zu installieren. Also: in das Verzechnis "surfen" und auf das entsprechende RPM "draufklicken". Dann hast du die Möglichkeit, das Paket direkt über den Button "Paket mit YaST installieren" zu installieren.

    Ein wenig komplizierter wird es, wenn du deine RPMs als eigene Installationsquelle in YaST anmelden willst. Evtl. hilft dir dafür ja schon dieses HowTo hier weiter:
    http://www.linux-schulserver.de/Sections-article37-p1.phtml

    Da die 10.1 allerdings beim Thema Paketmanagement in Hinblick auf den Build Service ein wenig abgehärtet wurde, muss du da am Ende noch ein wenig "Signier-Arbeit" leisten, wenn du keine Warnmeldungen bekommen möchtest. Ich werde das demnächst mal ergänzen.

    ...und wo wir gerade beim Signieren sind:
    http://www.linux-schulserver.de/Sections-article32-p24.phtml
    zeigt dir, wie du dir ein RPM mit deinem eigenen GPG-Key erstellen kannst. Wenn ein Nutzer das RPM auf seinem System einspielt, kann er später die von dir signierten RPMs überprüfen...

    Viele Grü�e,
    Lars

  • verfasst: 17.10.2006, 08:53
    Anonymous
    registriert:
     November 2003
    Status:
    offline
    letzter Besuch:
    05.02.09
    Beiträge:
    360
    hi@all,

    ich wollten ur bescheid sagen, dass sich das mit der installquelle erledigt hat, ich habs hinbekommen ^_^. mit der vorlage hat es geklappt: http://de.opensuse.org/Installationsquellen_erstellen.

    jetzt steh ich aber vor einem anderen problem, ist es moeglich, wenn ich ein rpm ueber yast installiere und es trit irgend ein fehler auf, dass ich dann ein popup oder so was in der art aufpopen lassen kann? ist das moeglich?

    schon im voraus danke fuer eure antworten
  • verfasst: 17.10.2006, 11:30
    Anonymous
    registriert:
     November 2003
    Status:
    offline
    letzter Besuch:
    05.02.09
    Beiträge:
    360
    Anonymousjetzt steh ich aber vor einem anderen problem, ist es moeglich, wenn ich ein rpm ueber yast installiere und es trit irgend ein fehler auf, dass ich dann ein popup oder so was in der art aufpopen lassen kann? ist das moeglich?


    Sollte dein RPM mit einem anderen Exitcode als "0" aussteigen, zeigt YaST sowieso ein Popup-Fenster an, in welchem Fehlermeldungen (die evtl. auf der Konsole ausgegeben werden) angezeigt werden.

    Also wenn du z.B. in deinem RPM ein:
    Code
    1. %post
    2. if [ ! -d /etc ]; then
    3.  echo "Directory /etc does not exist"
    4.  exit 1
    5. fi


    machst, dann zeigt YaST das entsprechend an.
  • verfasst: 18.11.2006, 13:18
       
    Lars
    Forenrang:
    Site Admin Site Admin
    registriert:
     November 2003
    Status:
    offline
    letzter Besuch:
    27.11.09
    Beiträge:
    526
    Hi zurück

    Anonymousich stehe vor folgendem problem. ich baue selber rpms und moechte sie unter SUSE 10.1 ueber yast installieren. aber wenn ich sie ueber yast installieren will, kommt die fehlermeldung: Folgende Pakete wurden auf dem Mediaum nicht gefunden: <paketname>

    koennt ihr mir vielleicht weiterhelfen? schon im voraus danke fuer eure antowrt,


    Klaro - wäre ja wohl gelacht, wenn ich dir das nicht erklären könnte. icon_wink
    Ich habe auf die Schnelle im openSUSE Wiki leider nicht gefunden - deshalb jetzt erst mal eine "Schnellanleitung":

    Erzeuge erst einmal ein "passende" Verzeichnisstruktur - nehmen wir an, du willst zukünftig das Verzeichnis install bei dir als Installationsquelle anmelden. Dann schau dir mal hier die weitere Struktur ab:







    suse/{i586,x86_64,noarch,src}Sollte selbsterklärend sein: hier rein mit den passenden RPMs
    suse/setup/descrDas Verzeichnis enthält die sogenannte "packages" Datei - die braucht YaST2 um zu wissen, welche Pakete deine Installationsquelle enthält! (Ja, YaST2 schaut sich anfangs nicht jedes RPM-Paket an sondern verlä�t sich einzig auf diese Datei!)

    Diese packages Datei erzeugst du am einfachsen mit dem passenden SUSE-Skript "create_package_descr". Das findest du im Paket "inst-source-utils". (da sind noch ein paar andere Scripte drin - näheres dazu findest du hier).
    gpg-pubkey-f266f190-.. Dein armor-exportierter RPM-Key mit dem die Pakete gesigned sind
    contentAbschauen erlaubt (s.o.) allerdings brauchst du für 10.1 Installationsquellen ein paar weitere Einträge in dieser Datei, weil SUSE hier ein neues Sicherheitskonzept eingeführt hat (am einfachsten mal in der originalen CD nachschauen:

    Nahezu alles, was unter /suse/setup/descr/* liegt kommt hier mit SHA1-Summe hinein.


    CDROOT=install
    pushd /suse/setup/descr/ >/dev/null
    rm -f *.asc
    sha1sum * 2>/dev/null | grep -v "MD5SUMS" | grep -v "directory.yast" | sed -e "s@^@META SHA1 @&amp;amp;amp;quot; >> $CDROOT/content
    popd >/dev/null
    pushd $CDROOT >/dev/null
    sha1sum gpg-pubkey-* 2>/dev/null | sed -e "s@^@KEY SHA1 @&amp;amp;amp;quot; >> $CDROOT/content
    popd >/dev/null
    rm -f $CDROOT/content.asc


    Soweit, so gut - jetzt musst du das content und das /media.1/products File mit deinem GPG-Key signen.
    gpg -a -b --default-key $CDROOT/content

    Danach geht es weiter:

    pushd $CDROOT >/dev/null
    KEY_ID=`gpg --verify --no-default-keyring --keyring ./pubring.gpg $CDS_PRIM/content.asc $CDS_PRIM/content 2>&1 | sed -ne "s@.*key ID @@p" | tr [A-Z] [a-z]`
    KEY_FILE=`ls $CDS_PRIM/gpg-pubkey-$KEY_ID-* 2>/dev/null | tail -1`
    if [ -f "$KEY_FILE" ] ; then
    cp -a $KEY_FILE $CDROOT/media.1/products.key
    cp -a $KEY_FILE $CDROOT/content.key
    fi
    directory.yastJetzt noch die Dateien "directory.yast" in jedem Verzeichnis, dass von YaST2 ausgelesen wird (Hintergrund: einige Serverdienste erlauben kein Verzeichnislisting).
    create_directory.yast $CDROOT
    MD5SUMSUnd zum Schlu� - mehr für eine "menschliche" �berprüfung (denn YaST prüft RPMs mit deren eigener MD5SUMME und verlä�t sich ansonsten auf die Angaben im content-File) - kannst du noch MD5-Summen erzeugen lassen:
    create_md5sums $CDROOT


    Etwas "kompliziert" also - aber dafür EAL-4 konform icon_wink .

    Ich hoffe, ich habe nichts vergessen. Ansonsten melde dich nochmal.

    Tip: Wenn du deinen Nutzern noch ein eigenes "Pattern" mit deinen Paketen anbieten willst, dann lege unter /suse/setup/descr/ vorher (s.o.) noch eine Datei mypattern-10.1-0.1.pat an und erstelle mit ls -A1 *.pat > patterns eine Liste der zur Verfügung stehenden Patterns. Etwas zum Inhalt der Pattern-Datei findest du hier.

    Viel SpaÃ? beim Experimentieren - und - BTW: du kennst den SUSE Build-Service?
    http://de.opensuse.org/Build_Service

    => Damit kannst du deine Pakete für 32- und 64-Bit Architekturen und verschiedene Distributionen (u.a. sämtliche SUSE, aber auch RedHat, Mandriva und Debian) bauen lassen und deine Nutzer bekommen automatisch eine Installationsquelle generiert ohne dass du jedesmal die obigen Schritte machen musst.

    Lars</paketname>

 Suchen:


 Umfrage

(Nur für angemeldete Benutzer)

Was wird hier am meisten vermisst?

[ Ergebnis | Umfragen ]

Stimmen: 621
Kommentare: 0

 Zitate

Fehler sind menschlich - aber wer richtigen Mist bauen will, braucht einen Computer.

-- anonymous