LinuxCommandLibrary

alien

Convert package files between different formats

TLDR

Convert a specific installation file to Debian format (.deb extension)

$ sudo alien [[-d|--to-deb]] [path/to/file]
copy

Convert a specific installation file to Red Hat format (.rpm extension)
$ sudo alien [[-r|--to-rpm]] [path/to/file]
copy

Convert a specific installation file to a Slackware installation file (.tgz extension)
$ sudo alien [[-t|--to-tgz]] [path/to/file]
copy

Convert a specific installation file to Debian format and install on the system
$ sudo alien [[-d|--to-deb]] [[-i|--install]] [path/to/file]
copy

SYNOPSIS

alien [options] <package_file> ...

PARAMETERS

-d, --to-deb
    Generate a Debian (.deb) package

-r, --to-rpm
    Generate an RPM package

-s, --to-slackware
    Generate a Slackware package

-t, --to-tgz
    Generate a tar.gz archive (default)

-i, --install
    Install generated package after conversion

-g, --generate
    Generate package without installing

-k, --keep-version
    Preserve original package version

-c, --scripts
    Generate install/uninstall scripts

-p, --print
    Print package information

-q, --query
    Query package details

-f, --force
    Overwrite existing files

-h, --help
    Show help

-V, --version
    Display version info

DESCRIPTION

alien is a versatile tool for converting Linux software packages across different formats, primarily RPM (Red Hat/Fedora), DEB (Debian/Ubuntu), and Slackware (TGZ or SLP). It enables users to repackage software for incompatible distribution formats, solving common cross-distro installation issues.

The process involves extracting files, metadata, and scripts from the source package, then reconstructing them for the target format. Alien preserves permissions, ownership, and some dependencies where feasible, but it's not foolproof—binary incompatibilities, complex deps, or architecture mismatches can cause failures.

Ideal for sysadmins or developers needing quick conversions without rebuilding from source. Install via your distro's repos (e.g., apt install alien). Always verify generated packages before deployment, as they may require manual tweaks for full functionality.

Supports querying, printing info, patching, and auto-installation options for streamlined workflows.

CAVEATS

Conversions may fail with architecture mismatches, complex dependencies, or proprietary binaries; always test generated packages. Not a substitute for native builds.

COMMON EXAMPLE

alien -d package.rpm
Converts package.rpm to package.deb and generates it.

INSTALL AND CONVERT

alien -i -d package.rpm
Converts RPM to DEB and installs it automatically.

HISTORY

Developed by LaMonte N. Anning starting in 1999; hosted on SourceForge. Widely used for legacy cross-distro compatibility; last major updates around 2010s, still maintained sporadically.

SEE ALSO

dpkg(1), rpm(8), rpmbuild(8), checkinstall(8)

Copied to clipboard