alien

Aus Foxwiki

alien - Konvertieren oder Installieren eines fremden Binärpakets

Beschreibung

alien ist ein Programm, das zwischen Red Hat rpm, Debian deb, Stampede slp, Slackware tgz, und Solaris pkg Dateiformaten konvertiert

  • Wenn Sie ein Paket aus einer anderen Linux-Distribution als Linux-Distribution verwenden möchten, können Sie alien verwenden, um es in Ihr bevorzugtes Paketformat zu konvertieren und es zu installieren
  • Es unterstützt auch LSB-Pakete
WARNUNG

alien sollte nicht verwendet werden, um wichtige Systempakete wie init, libc oder andere Dinge zu ersetzen die für das Funktionieren Ihres Systems unerlässlich sind

  • Viele dieser Pakete sind in den verschiedenen den verschiedenen Distributionen unterschiedlich eingerichtet, und Pakete aus den verschiedenen Distributionen können nicht austauschbar verwendet werden
  • Im Allgemeinen gilt: Wenn Sie ein Paket nicht entfernen können, ohne Ihr System zu zerstören, versuchen Sie nicht, es durch eine fremde Version zu ersetzen
HINWEISE ZUM PAKETFORMAT

rpm Für die Konvertierung in und aus dem rpm-Format muss der Red Hat Package Manager installiert sein

lsb Im Gegensatz zu den anderen Paketformaten kann alien mit den Abhängigkeiten von lsb-Paketen umgehen, wenn das Ziel-Paketformat Abhängigkeiten unterstützt

  • Beachten Sie, dass dies bedeutet, dass das Paket das aus einem lsb-Paket erzeugt wird, von einem Paket namens "lsb" abhängt -- Ihre Distribution sollte ein Paket mit diesem Namen bereitstellen, wenn es lsb-kompatibel ist
  • Die Skripte im lsb-Paket werden werden standardmäßig ebenfalls konvertiert

Um lsb-Pakete zu erzeugen, muss der Red Hat Package Manager installiert sein, und Alien verwendet vorzugsweise ein Programm namens lsb-rpm, wenn es existiert. Es wird nicht garantiert, dass die generierten lsb-Pakete vollständig LSB-konform sind, und es ist eher unwahrscheinlich, dass sie es sind, es sei denn Sie sie in der lsbdev-Umgebung bauen

Beachten Sie, dass im Gegensatz zu anderen Paketformaten, die Konvertierung eines LSB-Pakets in ein anderes Format nicht seine Minor-Versionsnummer nicht geändert wird

deb Für die Konvertierung ins (aber nicht vom) deb-Format müssen die Pakete gcc, make, debhelper, dpkg-dev und dpkg Pakete installiert sein

tgz Beachten Sie, dass Alien bei der Konvertierung aus dem tgz-Format einfach ein Ausgabepaket erzeugt erzeugt, das die gleichen Dateien enthält wie die tgz-Datei

  • Dies funktioniert nur dann gut, wenn die tgz-Datei vorkompilierte Binärdateien in einem Standard-Linux-Verzeichnisbaum enthält
  • Führen Sie alien NICHT auf tar Dateien mit Quellcode aus, es sei denn, Sie wollen, dass dieser Quellcode in Ihrem Root-Verzeichnis installiert wird, wenn Sie das Paket installieren! Verzeichnis installiert wird, wenn Sie das Paket installieren!

Wenn Sie alien verwenden, um ein tgz-Paket zu konvertieren, werden alle Dateien in /etc in als Konfigurationsdateien

pkg Um Packages im Solaris pkg-Format (eigentlich das SV Datastream-Package Format), benötigen Sie die Solaris-Werkzeuge pkginfo und pkgtrans

Installation

Anwendung

Konvertiert die Datei package.rpm in eine package.deb

alien --to-deb paket.rpm

Konvertiert das Paket.deb in ein Paket.rpm

alien --zu-rpm Paket.deb

Konvertiert das Paket.rpm in ein Paket.deb (die Konvertierung in ein .deb-Paket ist Standard, daher müssen Sie Sie müssen also nicht --to-deb angeben), und installieren Sie das erzeugte Paket

alien -i paket.rpm

Erzeugt 9 neue Pakete. Danach sind foo, bar und baz in allen 4 Paketformaten verfügbar. Formaten verfügbar

alien --to-deb --to-rpm --to-tgz --to-slp foo.deb bar.rpm baz.tgz

Syntax

alien [--to-deb] [--to-rpm] [--to-tgz] [--to-slp] [options] file [...]

Optionen

alien konvertiert alle Dateien, die Sie ihm übergeben, in alle von Ihnen angegebenen Ausgabetypen. Wenn kein Ausgabetyp angegeben wird, konvertiert es standardmäßig in das deb-Format

GNU Unix Parameter Beschreibung
--to-deb -d Erzeugt Debian-Pakete. Dies ist die Voreinstellung
--zu-rpm -r Erzeugt rpm-Pakete
--zu-tgz -t Erzeugt tgz-Pakete
--to-slp Erzeugt slp-Pakete
--zu-pkg -p Erzeugt Solaris pkg-Packages
--install -i Installiert automatisch jedes erzeugte Package und entfernt die Package-Datei, nachdem sie installiert wurde

installiert

--generate -g Erzeugt ein temporäres Verzeichnis, das für die Erstellung eines Packages geeignet ist, erstellt aber nicht das Paket erstellen. Dies ist nützlich, wenn Sie Dateien im Paket verschieben wollen, bevor Sie es bauen. Das Paket kann aus diesem temporären Verzeichnis gebaut werden, indem Sie "debian/rules binary", wenn Sie ein Debian-Paket erstellen, oder durch Ausführen von "rpmbuild -bb

<Paketname>.spec", wenn Sie ein Red Hat-Paket erstellen

--single -s Wie -g, aber erzeugt nicht das Verzeichnis packagename.orig. Dies ist nur nützlich, wenn Sie sehr wenig Speicherplatz haben und ein Debian-Paket erstellen
--scripts -c Versucht, die Skripte zu konvertieren, die ausgeführt werden sollen, wenn das Paket installiert und entfernt wird. Verwenden Sie dies mit Vorsicht, denn diese Skripte könnten für ein System entwickelt worden sein anders als auf Ihrem eigenen System und könnten Probleme verursachen. Es wird empfohlen, dass Sie die Skripte von Hand prüfen Skripte von Hand zu prüfen und zu sehen, was sie tun, bevor Sie diese Option verwenden. Diese Option ist bei der Konvertierung aus lsb-Paketen standardmäßig aktiviert
--patch=patch Geben Sie den zu verwendenden Patch an, anstatt automatisch in /var/lib/alien nach dem Patch zu suchen

Dies hat keinen Effekt, es sei denn, es wird ein Debian-Paket gebaut

--anypatch Weniger streng sein, was die zu verwendende Patch-Datei angeht, vielleicht versuchen, eine Patch-Datei für eine ältere Version des Pakets zu verwenden. Es ist nicht garantiert, dass dies immer funktioniert; ältere Patches funktionieren nicht nicht unbedingt mit neueren Paketen funktionieren
--nopatch Keine Patch-Dateien verwenden
--description=desc Geben Sie eine Beschreibung für das Paket an. Dies hat nur eine Auswirkung bei der Konvertierung aus dem tgz

Paketformat konvertiert werden, das keine Beschreibungen enthält

--version=version Geben Sie eine Version für das Paket an. Dies hat nur eine Auswirkung bei der Konvertierung aus dem tgz

Paketformat konvertiert wird, bei dem Versionsinformationen fehlen können

Beachten Sie, dass ohne ein Argument stattdessen die Version von alien angezeigt wird

--test -T Testet die erzeugten Pakete. Derzeit wird dies nur für Debian-Pakete unterstützt, die, wenn lintian installiert ist, mit lintian getestet werden und die Ausgabe von lintian angezeigt wird
--keep-version -k Standardmäßig fügt alien der Minor-Versionsnummer jedes Pakets, das es konvertiert, eine hinzu. Wenn diese

Option angegeben wird, wird alien dies nicht tun

--bump=number Anstatt die Versionsnummer des konvertierten Pakets um 1 zu erhöhen, wird sie um die angegebene Zahl
--fixperms Überprüft alle Dateibesitzer und -berechtigungen beim Erstellen einer Deb-Version. Dies kann nützlich sein, wenn das

Originalpaket ein Durcheinander ist. Auf der anderen Seite kann es einige Dinge kaputt machen, wenn man mit ihren Berechtigungen und Eigentümern in diesem Ausmaß zu verändern, daher ist diese Option standardmäßig ausgeschaltet. Dies kann nur verwendet werden wenn Sie in Debian-Pakete konvertieren

--target=architecture Erzwingt die Architektur des erzeugten Pakets mit der angegebenen Zeichenkette
--verbose -v Ausführlich sein: Zeigt jeden Befehl an, den Alien während der Konvertierung eines Pakets ausführt
--veryverbose Ausführlich wie --verbose, aber zusätzlich wird die Ausgabe jedes ausgeführten Befehls angezeigt. Einige Befehle können sehr viele Ausgaben erzeugen
--help -h Zeigt eine kurze Zusammenfassung der Verwendung an
--version -V Zeigt die Version von alien an

Parameter

file [...]

Die Liste der zu konvertierenden Paketdateien

Umgebungsvariablen

Variable Beschreibung
RPMBUILDOPT Options to pass to rpm when it is building a package
RPMINSTALLOPT Options to pass to rpm when it is installing a package
EMAIL If set, alien assumes this is your email address. Email addresses are included in generated

debian packages

Exit-Status

Konfiguration

Dateien

Anhang

Siehe auch

Dokumentation

Man-Pages
  1. perl v5.38.2
  2. ALIEN(1p)

Links

Projekt
Weblinks