How to Convert DEB to RPM (RPM to DEB) Package Using Alien Command

by SathiyaMoorthy on November 17, 2010

Question: I have a *.deb file that I like to install on Red Hat. Is it possible to convert a *.deb to *.rpm package (and vice versa)?

Answer: You can use alien command to convert *.deb to *.rpm file. Also, if you have a *.rpm file that you want to install on a Debian or Ubuntu, you can convert the *.rpm to *.deb file using alien command as explained in this article.

1. Convert RPM to DEB

Install alien command on Debian / Ubuntu

Install alien command on Ubuntu as shown below.

# sudo apt-get install alien

Use alien command to convert rpm to deb file

The following example converts the linuxconf-devel rpm file to linuxconf-devel deb file. Once you generate the deb file, you can install it on Ubuntu or Debian.

# alien linuxconf-devel-1.16r10-2.i386.rpm
linuxconf-devel_1.16r10-3_i386.deb generated

Install deb packages using the dpkg command — Debian: How to Install or Remove DEB Packages Using dpkg

2. Convert DEB to RPM

Use alien to convert deb to rpm file

Use alient -r option to convert a deb file to rpm file. The following example converts libsox deb file to libsox rpm file. Once you generate the rpm file, you can install it on Red Hat, or CentOS.

# sudo alien -r libsox1_14.2.0-1_i386.deb
libsox1-14.2.0-2.i386.rpm generated

Install rpm packages using rpm command — RPM Command: 15 Examples to Install, Uninstall, Upgrade, Query RPM Packages

3. Convert to SLP, LSB, Slackware TGZ packages

You can also use alien command to convert files to Stampede slp package, LSB package, and Slackware tgz package. Do alien -h to see available options.

# alien -h
Usage: alien [options] file [...]
  file [...]                Package file or files to convert.
  -d, --to-deb              Generate a Debian deb package (default).
     Enables these options:
       --patch=      Specify patch file to use instead of automatically
                            looking for patch in /var/lib/alien.
       --nopatch	    Do not use patches.
       --anypatch           Use even old version os patches.
       -s, --single         Like --generate, but do not create .orig
                            directory.
       --fixperms           Munge/fix permissions and owners.
       --test               Test generated packages with lintian.
  -r, --to-rpm              Generate a Red Hat rpm package.
      --to-slp              Generate a Stampede slp package.
  -l, --to-lsb              Generate a LSB package.
  -t, --to-tgz              Generate a Slackware tgz package.
     Enables these options:
       --description= Specify package description.
       --version=  Specify package version.
  -p, --to-pkg              Generate a Solaris pkg package.
  -i, --install             Install generated package.
  -g, --generate            Generate build tree, but do not build package.
  -c, --scripts             Include scripts in package.
  -v, --verbose             Display each command alien runs.
      --veryverbose         Be verbose, and also display output of run commands.
  -k, --keep-version        Do not change version of generated package.
      --bump=number         Increment package version by this number.
  -h, --help                Display this help message.
  -V, --version		    Display alien's version number.

Linux Sysadmin Course Linux provides several powerful administrative tools and utilities which will help you to manage your systems effectively. If you don’t know what these tools are and how to use them, you could be spending lot of time trying to perform even the basic administrative tasks. The focus of this course is to help you understand system administration tools, which will help you to become an effective Linux system administrator.
Get the Linux Sysadmin Course Now!

If you enjoyed this article, you might also like..

  1. 50 Linux Sysadmin Tutorials
  2. 50 Most Frequently Used Linux Commands (With Examples)
  3. Top 25 Best Linux Performance Monitoring and Debugging Tools
  4. Mommy, I found it! – 15 Practical Linux Find Command Examples
  5. Linux 101 Hacks 2nd Edition eBook Linux 101 Hacks Book

Bash 101 Hacks Book Sed and Awk 101 Hacks Book Nagios Core 3 Book Vim 101 Hacks Book

{ 4 comments… read them below or add one }

1 Anubhav June 19, 2012 at 12:54 am

Realy helpful thx

2 Ankit September 26, 2012 at 3:45 am

Good informative article. :) Thanks

3 Johnny October 10, 2012 at 11:50 am

A nice touch to get strictly Red Hat stuff to work on Lenny. Or even the other way around. I wonder if I could make my kde 3 for Red Hat Vallhalla work in ubuntu 12?

4 Gip-Gip November 8, 2013 at 5:32 am

this is oly when your on ubuntu tho…. ):

Leave a Comment

Previous post:

Next post: