正想着如何把rpm package 安装到ubuntu上, 发现了这篇文章,转载一下
Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb。
sudo apt-get install alien #alien默认没有安装,所以首先要安装它
sudo alien xxxx.rpm #将rpm转换位deb,完成后会生成一个同名的xxxx.deb
sudo dpkg -i xxxx.deb #安装
注意,用alien转换的deb包并不能保证100%顺利安装,所以可以找到deb最好直接用deb
有时候,我们想要使用的软件并没有被包含到 Ubuntu 的仓库中,而程序本身也没有提供让 Ubuntu 可以使用的 deb 包,你又不愿从源代码编译。但假如软件提供有 rpm 包的话,我们也是可以在 Ubuntu 中安装的。
方法一:
1. 先安装 alien 和 fakeroot 这两个工具,其中前者可以将 rpm 包转换为 deb 包。安装命令为:
sudo apt-get install alien fakeroot
2. 将需要安装的 rpm 包下载备用,假设为 package.rpm。
3. 使用 alien 将 rpm 包转换为 deb 包:
fakeroot alien package.rpm
4. 一旦转换成功,我们可以即刻使用以下指令来安装:
sudo dpkg -i package.deb
方法二:
1.CODE:
sudo apt-get install rpm alien
2.CODE:
alien -d package.rpm
3.CODE:
sudo dpkg -i package.deb
1、安装alien命令行应用工具。
xxxxxxx@ubuntu:~$ sudo apt-get install alien
Password:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
读取状态信息... 完成
将会安装下列额外的软件包:
debhelper html2text intltool-debian libbeecrypt6 librpm4 po-debconf rpm
建议安装的软件包:
lsb-rpm lintian dh-make
推荐安装的软件包:
libmail-sendmail-perl libcompress-zlib-perl
下列【新】软件包将被安装:
alien debhelper html2text intltool-debian libbeecrypt6 librpm4 po-debconf rpm
共升级了 0 个软件包,新安装了 8 个软件包,要卸载 0 个软件包,有 24 个软件未被升级。
需要下载 2557kB 的软件包。
解压缩后会消耗掉 8274kB 的额外空间。
您希望继续执行吗?[Y/n]y
【警告】:下列的软件包不能通过验证!
html2text intltool-debian po-debconf debhelper libbeecrypt6 librpm4 rpm alien
不经验证就安装这些软件包么?[y/N] y
获取:1 http://debian.ustc.edu.cn feisty/main html2text 1.3.2a-3 [95.5kB]
获取:2 http://debian.ustc.edu.cn feisty/main intltool-debian 0.35.0+20060710.1 [31.6kB]
获取:3 http://debian.ustc.edu.cn feisty/main po-debconf 1.0.8 [111kB]
获取:4 http://debian.ustc.edu.cn feisty/main debhelper 5.0.42ubuntu1 [514kB]
获取:5 http://debian.ustc.edu.cn feisty/main libbeecrypt6 4.1.2-6build1 [108kB]
获取:6 http://debian.ustc.edu.cn feisty/main librpm4 4.4.1-14build1 [990kB]
获取:7 http://debian.ustc.edu.cn feisty/main rpm 4.4.1-14build1 [603kB]
获取:8 http://debian.ustc.edu.cn feisty/main alien 8.65 [104kB]
下载 2557kB,耗时 3s (844kB/s)
选中了曾被取消选择的软件包 html2text。
(正在读取数据库 ... 系统当前总共安装有 127050 个文件和目录。)
正在解压缩 html2text (从 .../html2text_1.3.2a-3_i386.deb) ...
选中了曾被取消选择的软件包 intltool-debian。
正在解压缩 intltool-debian (从 .../intltool-debian_0.35.0+20060710.1_all.deb) ...
选中了曾被取消选择的软件包 po-debconf。
正在解压缩 po-debconf (从 .../po-debconf_1.0.8_all.deb) ...
选中了曾被取消选择的软件包 debhelper。
正在解压缩 debhelper (从 .../debhelper_5.0.42ubuntu1_all.deb) ...
选中了曾被取消选择的软件包 libbeecrypt6。
正在解压缩 libbeecrypt6 (从 .../libbeecrypt6_4.1.2-6build1_i386.deb) ...
选中了曾被取消选择的软件包 librpm4。
正在解压缩 librpm4 (从 .../librpm4_4.4.1-14build1_i386.deb) ...
选中了曾被取消选择的软件包 rpm。
正在解压缩 rpm (从 .../rpm_4.4.1-14build1_i386.deb) ...
选中了曾被取消选择的软件包 alien。
正在解压缩 alien (从 .../archives/alien_8.65_all.deb) ...
正在设置 html2text (1.3.2a-3) ...
正在设置 intltool-debian (0.35.0+20060710.1) ...
正在设置 po-debconf (1.0.8) ...
正在设置 debhelper (5.0.42ubuntu1) ...
正在设置 libbeecrypt6 (4.1.2-6build1) ...
正在设置 librpm4 (4.4.1-14build1) ...
正在设置 rpm (4.4.1-14build1) ...
正在设置 alien (8.65) ...
xxxxxx@ubuntu:~$
2、aline的使用。
zhancang@ubuntu:~$ alien --help
Usage: alien [options] file [...]
file [...] Package file or files to convert.
-d, --to-deb Generate a Debian deb package (default).
Enables these options:
--patch=<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=<desc> Specify package description.
--version=<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.