alien
Convert package files between different formats
TLDR
Convert a specific installation file to Debian format (.deb extension)
Convert a specific installation file to Red Hat format (.rpm extension)
Convert a specific installation file to a Slackware installation file (.tgz extension)
Convert a specific installation file to Debian format and install on the system
SYNOPSIS
alien [options] package_name [...]
PARAMETERS
-d, --to-deb
Convert to Debian .deb format (default).
-r, --to-rpm
Convert to Red Hat .rpm format.
-l, --to-lsb
Convert to LSB compliant .deb format.
-t, --to-tgz
Convert to Slackware .tgz format.
-p, --to-pkg
Convert to Solaris .pkg format.
-i, --install
Install the generated package after conversion.
-k, --keep-version
Do not change the package version during conversion.
-c, --scripts
Include package maintainer scripts in the converted package.
-v, --verbose
Display verbose output during the conversion process.
--fixdeps
Attempt to fix package dependencies after conversion.
--target=
Specify a specific architecture for the converted package.
--test
Test the created package (often by installing and removing).
--version
Show program's version number.
--help
Display a help message and exit.
DESCRIPTION
alien is a utility that converts between different Linux package formats.
It supports conversions between Red Hat RPM packages, Debian DEB packages, Slackware TGZ packages, and LSB (Linux Standard Base) packages. It is particularly useful when you need to install software that is only available in a package format not native to your distribution (e.g., installing a .deb on a Fedora system, or an .rpm on an Ubuntu system).
While alien attempts to create usable packages, it's not foolproof. Converted packages might sometimes lack proper dependencies, pre/post-installation scripts, or other metadata, potentially leading to issues. It's generally recommended to use native packages or build from source if possible.
CAVEATS
Converted packages might not always be fully functional or stable. Dependencies are often not handled correctly and may require manual resolution. Pre/post-installation scripts might not translate perfectly, leading to unexpected behavior. Using alien should be a last resort when a native package or source code isn't available. It's always recommended to back up your system before installing packages converted by alien.
SECURITY CONSIDERATIONS
Running alien often requires root privileges (or sudo), especially when using the -i option. Be cautious when converting packages from untrusted sources, as malicious scripts could be embedded and executed during installation.
TEMPORARY FILES
alien creates temporary directories and files during conversion. These are usually cleaned up automatically, but in case of errors, they might remain in locations like /tmp or the current working directory.
HISTORY
alien was created by Joey Hess. It has been a staple tool for users needing cross-distribution package conversion for many years, reflecting the ongoing need for interoperability in the Linux ecosystem despite varying package formats.