En av våra tidigare artiklar har redan täckt den grundläggande användningen av alien att konvertera från .deb till rpm-format. Medan Alien är ett bra verktyg som erbjuder RPM-distro-användare tillgång till de mycket mer omfattande DEB-paketen, är dess användningar inte begränsade till omvandlingar från omvandling till rpm.

Verktyget själv kan mycket mer än det. Förutom sin mer avancerade funktionalitet på en grundläggande nivå kan alien konvertera något av följande förpackningsformat:

  • DEB - det välkända Debian-paketformatet som alla Debian-derivat, alltså hela Ubuntu-familjen, använder. Eventuellt det mest använda förpackningssystemet på Linux
  • RPM - DedHats eget anspråk på förpackning, som används av RHL, Fedora, CentOS, Mageia, OpenSUSE och många andra
  • SLP - Stampede Linux Packaging format. Det här är ett intressant tillägg, eftersom Stampede Linux endast har varit aktiv mellan 1997 och 2002, vilket aldrig kommer att bli vanligt populär eller blir "basdistro" som andra trots sin riktigt framåtblickande utvecklingsstrategi tillbaka 1997
  • LSB - Försök att skapa ett helt LSB-kompatibelt RPM-paket, även om som den utländska mansidan anger, "Inga garantier görs för att de genererade lsb-paketen kommer att vara fullständigt LSB-kompatibla och det är ganska osannolikt att de kommer om du inte bygger dem i lsbdev miljö."
  • TGZ - tjära eller tar.gz arkiv. Omvandling från dessa arkiv fungerar bara om den innehåller binärer. (Det kommer inte att fungera med källkodsarkiv, med andra ord.)

Från 32- till 64-bitars

När du arbetar på ett 64-bitars system kan du komma över 32-bitars RPM-paket som du vill konvertera till DEB (eller omvänd). I sådana fall kommer främling sannolikt att göra ett fel.

Försök att konvertera 32-bitars RPM-fil på ett 64-bitars Debian-system kommer att resultera i felet ".rpm är för arkitektur i386; Paketet kan inte byggas på det här systemet. "

Lösningen är en liten lösning. Du kan använda aliens förmåga att konvertera till helt enkelt TGZ-arkiv, som mellanhand.

För detta skulle du använda -t omkopplaren (eller --to-tgz ). Använda sig av

 sudo alien-somepackage.rpm 

eller

 sudo alien -c - to-tgz somepackage.rpm 

sedan konvertera från tgz till DEB. Detta behöver ingen ytterligare omkopplare, eftersom omvandling till DEB är standardbeteendet.

 sudo alien -c somepackage.tgz 

Slutsats

Alien har förmågan att smidigt konvertera mellan olika förpackningsformat. Även om 32-bitars paketkonverteringar på 64-bitarssystem kan tyckas omöjliga, blir det enkelt med en liten lösning, en tvåstegsprocess. Lite mer obekvämt, men ändå enkelt och lätt, med det här enkla tricket kan du konvertera 32-bitars RPM-paket till DEB, även på 64-bitarssystem.