Alien: Unterschied zwischen den Versionen
Zeile 3: | Zeile 3: | ||
== Beschreibung == | == Beschreibung == | ||
=== Dateiformate konvertiert === | === Dateiformate konvertiert === | ||
{| class="wikitable | {| class="wikitable options" | ||
|- | |- | ||
! Option !! Beschreibung | ! Option !! Beschreibung |
Version vom 30. Juni 2024, 11:53 Uhr
alien - Konvertieren oder Installieren eines fremden Binärpakets
Beschreibung
Dateiformate konvertiert
Option | Beschreibung |
---|---|
Red Hat | rpm |
Debian | deb |
Stampede | slp |
Slackware | tgz |
Solaris | pkg |
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
Dateien, die übergeben werden, in alle angegebenen Ausgabetypen
- Standard
Wenn kein Ausgabetyp angegeben wird, konvertiert es standardmäßig in das deb-Format
Optionen
GNU | Unix | Parameter | Beschreibung |
---|---|---|---|
--to-deb | -d | Debian-Pakete ersteller (Voreinstellung) | |
--to-rpm | -r | RPM-Pakete erstellen | |
--to-tgz | -t | Erzeugt tgz-Pakete | |
--to-slp | Erzeugt slp-Pakete | ||
--to-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
| |
--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.
| ||
--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 |
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
- perl v5.38.2
- ALIEN(1p)
Links
Projekt
Weblinks