在Ubuntu使用alien安装非deb文件

时间:2022-05-19 06:31:37

作者:雕啸长空

声明:本文所提的软件安装方法不能100%替代正规的软件安装方法

前言:
linux下的软件安装向来对新手来说是个头痛的问题,特别是需要从源码安装的时候,本文主要介绍如何通过alien安装常见linux软件包;
linux下常的见软件包所指的是tar.gz,tar.bz2,rpm,deb等几种
alien简述
alien似乎是debian系统下的一个安装工具,查看它的帮助:
代码:
fideas@zerone:~$ 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.

一般情况下只需要使用到它的下面几个参数:
-i, --install Install generated package.#安装软件包
-c, --scripts Include scripts in package.#将软件包里的一些脚本包含进去,似乎可以降低依赖性。具体用法我也不是非常清楚
-r, --to-rpm Generate a Red Hat rpm package.#创建rpm格式的包
-d, --to-deb Generate a Debian deb package (default).#创建deb格式的包
rpm格式包的安装:
alien用于安装rpm格式的包其实还是挺有效的
1.直接安装:
alien -i -c filename.rpm
2.转换成deb包再安装
alien -d -c filename.rpm #会生成一个filename.deb包
alien/dpkg -i filename.deb
deb格式包的安装:
alien/dpkg -i filename.deb
tar.gz格式包的安装:
alien -d -c filename.tar.gz #生成一个filename.deb,安装参见上文
tar.bz2格式包的安装:
将软件包转换为tar.gz,再转成deb,命令熟练后可以一步到位,下面是分解操作
tar -jxvf #解压
tar -zcvf #创建tar.gz包
alien -d -c #转换为deb包
同理,其他格式的包也可以通过这样最终转换为deb包,然后就可以通过alien -i /dpkg -i安装了
包依赖问题的解决:
制作本地源,将上述制作好的deb包全部制作成本地源,本地源的制作请参考我的另一篇贴子:
http://forum.ubuntu.org.cn/viewtopic.php?t=32554&highlight=
这样,如果被依赖的包存在于系统盘或是网络源中,系统将会自动安装所需要的包,如果不存在,则可以将依赖包源码下载,依样制作成本地源,以解决依赖问题

再次强调,本文的方法不对所有的软件有效,比如我的freemind通过这种办法可以正常安装,但gnome-2.17.X的试验则没有通过