Archlinux: Erstellen Sie plattformübergreifende Pakete und aus .deb-Paketen

Vor ungefähr einem Jahr habe ich erklärt, wie Erstellen Sie Pakete für Archlinux. Nun, heute werde ich erklären, wie man sie aus Paketen erstellt . Deb, die in verwendet Debian / Mint / Ubuntu / etc..
Dieser Artikel entstand nach dem Lesen einer Frage des Benutzers im Forum jorggc weil ich ein Paket von AUR nicht installieren konnte, hauptsächlich weil es veraltet ist und eine Version verwendet abgesetzt des PKGBUILD (zum Glück habe ich zuvor Pakete auf diese Weise erstellt), werde ich auch erklären, wie Pakete von Programmen erstellt werden, die benötigt werden 32-Bit-Bibliothekenvon geschlossener Code o bereits kompiliert und dass es verschiedene Pakete zum Download hat.

Die Basis für das PKGBUILD ist dieselbe, nur mit wenigen Änderungen.
Die erste Änderung wird die Verwendung eines Satzes sein wenn elif von Bash


if [ "${CARCH}" = 'x86_64' ]; then
ARCH='amd64'
md5sums=('192a0a222893d59d95f00c34f3c8a674')
depends=('openal' 'lib32-openal')
elif [ "${CARCH}" = 'i686' ]; then
ARCH='i386'
md5sums=('047c670443124193c5cc3dd54da99925')
depends=('openal')
fi
source=("http://www.unaurl.com/files/${name}.$ARCH.deb")

In diesem Beispiel wurde eine Variable definiert, die später zum Ändern der verwendet wird URL Wo ist das Paket (in diesem Fall die Architektur des herunterzuladenden Pakets).
Darüber hinaus ist je nach Architektur die MD5-Summen also werden wir diese in die entsprechenden ändern.

Bei Verwendung von makepkg -g zum Generieren der MD5-Summen Dadurch wird nur diejenige generiert, die der von Ihnen verwendeten Architektur entspricht. Um die MD5-Summe des anderen Pakets zu ermitteln, laden Sie sie herunter und verwenden Sie den Befehl md5sum file.deb um deine zu kennen

Schließlich sehen wir, dass wir im Beispiel die Abhängigkeiten ändern. In einigen 64-Bit-Programmen ist eine Installation erforderlich 32-Bit-Versionen einiger Bibliotheken also müssen wir sie angeben. Wenn sie nicht notwendig sind, definieren Sie die Variable einfach wie gewohnt.

Für .deb-Pakete benötigen wir nur die folgenden Zeilen innerhalb der Funktion package ():

cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}

Wie Sie sehen können, benötigen wir in diesem Fall nur 3 Zeilen, um das Paket zu generieren. Wenn etwas anderes erforderlich ist (z. B. eine Datei kopieren, die nicht im Lieferumfang des Pakets enthalten ist, oder den Inhalt einer Datei ändern), müssen Sie es einfach wie bei jedem anderen Paket einfügen.

Das gleiche könnte (mit einigen Änderungen) gelten, wenn wir anstelle einer .deb-Pakete Pakete verwenden rpm oder andere Arten von Paketen. Die Funktion bauen () wird nicht benötigt, wir müssen es also nicht hinzufügen.

Und voila, wir haben bereits ein Multilib-Paket oder ein aus einem Deb-Paket erstelltes Produkt.
Ich hoffe es gefällt euch und es hat mir gut erklärt 😀


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Ulyss sagte

    Ist es nicht einfacher, checkinstall zu verwenden?

  2.   Luciano Lagassa sagte

    Hallo. Ich habe einige Bash-Skripte. Eine, um die grundlegenden Ordner und Dateien für ein Deb-Paket zu generieren. Und der letzte, der das Paket aus allen Dateien und Ordnern generiert. Wenn Sie interessiert sind, kann ich es teilen.

    1.    jorgecg sagte

      Natürlich interessiert es ... zumindest für mich.

      Jetzt, wo ich bei Manjaro bin, schätze ich alle möglichen Informationen.

  3.   jorgecg sagte

    Wie großartig du bist, Partner.

    Ich hätte dir im Forum sagen sollen, wenn du mir erklären könntest, wie man .deb-Pakete kompiliert, und ich habe dir nichts gesagt, um deine Großzügigkeit nicht zu missbrauchen…. und ich gehe zur Seite und sehe, dass Sie einen Artikel hochgeladen haben, der den gesamten Prozess erklärt.

    Dies zeigt, dass Sie eine großzügige Person sind.

    Ich sagte, du bist ein Riss.

    un saludo

  4.   Anibal sagte

    Es ist ein großartiger Freund, als ich einmal ein Soft ausprobiert habe, erinnere ich mich nicht an den Namen, der von .deb in .rpm konvertiert wurde, aber es hat bei mir nicht gut funktioniert.

    könnte jemand mit bogen testen, ob diese soft gut an rpm übergeben wird und die installation gut geöffnet wird?

    http://www.justcloud.com/download/linux-64

    Es ist in der Cloud zu sichern, ich habe schon eine Weile bezahlt und ich habe mehr als 40GB in der Cloud =)

  5.   Inspiron sagte

    Großartig! Ich habe mir immer gesagt, dass ich eines Tages ein Paket machen wollte, auch wenn es wissen soll, wie es geht :).

    Bei diesen Arten von Posts würde ich mich über die Möglichkeit freuen, Einträge wie diesen in "Favoriten" in meinem Konto hinzuzufügen.

    1.    Chinoloco sagte

      Stimme voll und ganz zu, ich habe es gepflanzt, aber nichts 🙂
      Es wäre auch gut, bestimmten Benutzern folgen zu können

  6.   Rabba sagte

    Großartiger alter Mann, ich benutze Manjaro seit ein paar Tagen und für Studien muss ich Packet Tracer von Cisco installieren, aber es hat nur ein .deb-Paket der neuesten Version und das ke in AUR gibt mir immer einen Fehler beim Kompilieren. Ich hoffe, mit diesen Schritten kann ich es installieren da ich mit Gewalt Linux Mint benutze, vielen Dank

  7.   Mitcoes sagte

    um zu sehen, ob sich jemand traut, AUR Multisystem einzusetzen

    hängt von Deb-Bibliotheken ab, die sich nicht in arch befinden

    Aber wenn es funktioniert, besteht seine Funktion darin, Multi-ISO-Pendrives mit grub2 besser zu erstellen als Unetbootin, das nur eines macht.

    Im Moment habe ich eine Ubuntu-ISO von ihr, mit der ich Bilder hinzufügen kann, wenn ich möchte, indem ich von dort auf dem USB selbst boote

    aber wenn sich niemand traut, mein Ticket zu retten

  8.   Mitcoes sagte

    Entschuldigung, es gibt bereits ein Multisystem, und ich denke nicht

    1.    Mitcoes sagte

      Im Multisystem ...

      aber Fatresize, da yaourt Probleme gibt, und sie haben es als optional gesetzt

  9.   Wahrzeichen sagte

    Hervorragend geeignet, um mit "Purrr" ein Programm zum Umbenennen von Dateien in großen Mengen zu genehmigen.

  10.   Apr4xas sagte

    Grüße,

    Derzeit werden in AUR die Pakete entfernt, die nicht über die Funktion package () verfügen. Wie kann ich wissen, welche Zeilen dort eingefügt werden sollen? Das heißt, ich habe mehrere Pakete und habe es so gemacht, aber ich weiß nicht, ob es in Ordnung ist https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD Was ich wirklich getan habe, ist, das, was in build () war, an package () zu übergeben, aber wie gesagt, ich weiß nicht, ob es in Ordnung ist ... Können Sie mir Ihre Kommentare und Vorschläge geben?

    Danke 😀

  11.   Azazel sagte

    Vielen Dank für die Informationen, die ich zum späteren Nachschlagen als Lesezeichen speichern werde.

  12.   Clerafel sagte

    Jemand kann mir erklären, was es ist, ich bin neu und ich weiß nicht, ob dies mir hilft, ein .deb-Paket zu installieren, aber lokal in Manjaro, einem Spiel, um genau zu sein. Ja es funktioniert?

    Ich schaue und sie sagen mir, ich soll das deb2targz-Paket installieren, aber ich erhalte eine Fehlermeldung, wenn ich es vom Terminal installiere, und ich weiß nicht, ob es sein kann

    1.    Germain sagte

      Das gleiche passiert mir; Ich muss Kademar installieren, das auf Arch basiert. ein paar pakete, die ich nur in .deb bekomme
      Kann mir jemand helfen?

      1.    valdo sagte

        Wenn Sie einen Fehler in der deb2targz-Installation meinen, habe ich die Installation gerade mit dem Befehl yaourt -S deb2targz abgeschlossen. Natürlich in ArchLinux.

  13.   Kostenloser Cloud-Speicher sagte

    Sehr informativer Beitrag. Danke für das Teilen.

  14.   Wütende Vögel sagte

    Guter Post. Vielen Dank, dass Sie diese nützlichen Informationen weitergegeben haben.

  15.   Apps für PC sagte

    Danke für diesen hilfreichen Beitrag. Es wird viel helfen.

  16.   Jacob sagte

    Hallo, kannst du das Skript für die Konvertierung verlassen und wie man es benutzt? Es ist so, dass es in Teilen etwas verwirrend ist, ich habe bereits das Deb, das ich konvertieren möchte, und ich weiß, dass es möglich ist, weil das Google Chrome von AUR ein Deb ist, aber ich weiß nicht, wie ich "MAKEPKG SI" damit machen soll eine weitere Debatte 🙁