linux 常见的应用安装方式
来自:http://blog.chinaunix.net/uid-24612962-id-3181499.html
安装包类型
解析Linux应用软件安装包,通常Linux应用软件的安装包有四种:
- tar 包,如 software-1.2.3-1.tar.gz。它是使用 UNIX 系统的打包工具 tar 打包的。
- rpm 包,如 software-1.2.3-1.i386.rpm。它是 Redhat Linux 提供的一种包封装格式。
- dpkg 包,如 software-1.2.3-1.deb。它是 Debain Linux 提供的一种包封装格式。
- bin 包,如 jdk-1_5_0_05-linux-i586.bin,有些 Linux 软件不公开源代码,只发布二进制可执行程序,这类程序一般会以 bin 来标记。
而且,大多数 Linux 应用软件包的命名也有一定的规律,它遵循:名称-版本-修正版-类型。例如:
安装包名 | 软件名称 | 版本号 | 修正版本号 | 可用平台 | 类型 |
---|---|---|---|---|---|
software-1.2.3-1.tar.gz | software | 1.2.3 | 1 | tar.gz,说明是个 tar 包。 | |
software-1.2.3-1.i386.rpm | software | 1.2.3 | 1 | i386,适用于 Intel 80x86 平台。 | rpm,说明是个 rpm 包。 |
注:由于rpm格式的通常是已编译的程式,所以需指明平台。
了解包里的内容
一个 Linux 应用程式的软件包中能包含两种不同的内容:
- 一种就是可执行文件,也就是解开包后就能直接运行的。在视窗系统中所 有的软件包都是这种类型。安装完这个程式后,你就能使用,但你看不到源程式。而且下载时要注意这个软件是否是你所使用的平台,否则将无法正常安装。
- 另一种则是源程式,也就解开包后,你还需要使用编译器将其编译成为可执行文件。这在视窗系统系统中是几乎没有的,因为视窗系统的思想是不开放源程式的。
通常,用 tar 打包的,都是源程式;而用 rpm、bin、dpkg 打包的则常是可执行程式。一般来说,自己动手编译源程式能够更具灵活性,但也容易遇见各种问题和困难。而相对来说,下载那些可执行程式包,反而是更容易完成软件的安装,当然那样灵活性就差多了。所以一般一个软件总会提供多种打包格式的安装程式的。你能根据自己的情况来选择。
使用 tar 打包的应用软件
搞定使用 tar.gz(bz 或 bz2 等)打包的应用软件,这种软件包里面都是源程序,没有编译过,需要编译后才能安装。
安装
整个安装过程能分为以下几步:
- 取得应用软件:通过下载、购买光盘的方法获得;
- 解压缩文件:一般 tar 包,都会再做一次压缩,如 gzip、bz2 等,所以你需要先解压。如果是最常见的 gz 格式,则能执行:
tar -xvzf 软件包名
,就能一步完成解压和解包工作。如果不是,则先用解压软件,再执行tar -xvf 解压后的tar包
进行解包; - 阅读附带的 INSTALL 文件、README 文件;
- 执行
./configure
命令为编译做好准备; - 执行
make
命令进行软件编译; - 执行
make install
完成安装; - 执行
make clean
删除安装时产生的临时文件。
好了,到此大功告成。我们就能运行应用程式了。但这时,有的读者就会问,我怎么执行呢?这也是个 Linux 特色的问题。其实,一般来说,Linux 的应用软件的可执行文件会存放在 /usr/local/bin 目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的 INSTALL 和 README 文件,一般都会有说明。
卸载
- 打开一个 SHELL,即终端
- 用
cd
命令进入配置后的软件目录,即安装时的目录 - 执行反安装命令:
make uninstall
安装目录:留意 make install
命令过程中的安装目录,或者阅读安装目录里面的 README 文件,当然最好的办法是在安装的过程中指定安装目录,即在 ./configure
命令后面加参数 --prefix=/**
,
如: ./configure --prefix=/usr/local/aaaa
即把软件装在 /usr/local/ 路径的 aaaa 这个目录里。一般的软件的默认安装目录在 /usr/local 或者 /opt 里,可以到那里去找找。
注:通常软件的研发者非常少考虑到怎么卸载自己的软件,而 tar 又仅是完成打包的工作,所以并没有提供良好的卸载方法。那么是不是说就不能够卸载呢!其实也不是,有两个软件能够解决这个问题,那就是 Kinstall 和 Kife,它们是 tar 包安装、卸载的黄金搭档。
使用 rpm 打包的应用软件
rpm 可谓是 Redhat 公司的一大贡献,它使 Linux 的软件安装工作变得更加简单容易。
安装
rpm -ivh 软件包名
,更高级的,请见下表:
rpm 参数 | 参数说明 |
---|---|
-i |
安装软件 |
-t |
测试安装,不是真的安装 |
-p |
显示安装进度 |
-f |
忽略所有错误 |
-U |
升级安装 |
-v |
检测套件是否正确安装 |
这些参数能同时采用。更多的内容能参考RPM的命令帮助。
卸载
rpm -e 软件名
,不过要注意的是,后面使用的是软件名,而不是软件包名。
例如,要安装 software-1.2.3-1.i386.rpm 这个包时,应执行:rpm -ivh software-1.2.3-1.i386.rpm
,而当卸载时,则应执行:rpm -e software
。
查看
查看安装了哪些软件 rpm -qa |grep software
使用 deb 打包的应用程式
这是 Debian Linux 提供的一个包管理器,它和 RPM 十分类似。但由于 RPM 出现得更早,所以在各种版本的 Linux 都常见到。而 debian 的包管理器 dpkg 则只出目前 Debina Linux 中,其它 Linux 版
本一般都没有。我们在此就简单地说明一下:
安装
dpkg -i deb软件包名
,如:dpkg -i software-1.2.3-1.deb
卸载
dpkg -e 软件名
,如:dpkg -e software
依赖关系
虽然我们在使用 dpkg 时,已经解决掉了 软件安装过程中的大量问题,但是当依赖关系不满足时,仍然需要手动解决,而 apt 这个工具解决了这样的问题,linux distribution 先将软件放置到对应的服务器中,然后分析软件的依赖关系,并且记录下来,然后当客户端有安装软件需求时,通过清单列表与本地的 dpkg 以存在的软件数据相比较,就能从网络端获取所有需要的具有依赖属性的软件了。引用来源
bin 文件
安装
- 打开一个 SHELL,即终端
- 用
cd
命令进入源代码压缩包所在的目录 - 给文件加上可执行权限:
chmod +x ******.bin
(中间是字母x
,小写) - 执行命令:
./******.bin
(realplayer for linux 就是这样的安装包),执行安装过程中可以指定安装目录,类似于 Windows 下安装。
卸载
把安装时选择的安装目录删除就 OK
执行软件
安装完软件后如何执行。安装完软件后可以有好多种方法执行软件:
- 有些软件安装后会自动在应用程序列表里加上快捷链接,和 Windows 一样,到那里找就行了。
- 如果在应用程序列表里找不到的话,可以直接在 开始/运行命令 里输入命令。启动命令一般就是软件名,如 firefox、realplay、xmms 等。
- 也可以打开一个 shell 终端,输入软件名,和在“运行命令”里一样。如果不知道命令全称的话,可以输入开头的字母,然后按 tab 键查找,系统会自动显示以输入字母开头的所有命令。
- 你也可以直接到安装目录下运行启动文件,Linux 下的可执行图标和 shell 终端图标很像。
- 到 /usr/bin 目录里寻找。Linux 系统在 /usr/bin 目录里为所有可执行文件都作了启动连接,你可以去那个目录寻找你安装的文件的启动命令,双击启动。
rpm.bin 与 bin 文件的区别
- 用 bin 文件和用 windows 的 exe 一样
- rpm 就像 rar 不管愿意与否,都解在同一个地方,好的是只用点确定。
- 有些 Linux 软件不公开源代码,只发布二进制可执行程序,这类程序一般会以 bin 来标记;
- 另一类软件是二进制安装程序和源代码一起发布,二进制程序文件以 bin.rpm 标记(以 RedHat 包为例),源代码以 source.rpm 标记。
- bin 是可以直接运行的二进制文件,rpm 是红帽公司用的软件包管理器,一般来说,双击也可以直接安装,不过只限于支持 RPM 的发行版,如红帽等。Ubuntu 就不可以,它支持 deb 包
- jdk-1_5_0_16-linux-i586-rpm.bin 运行后会解压出来一个 rpm 包,可用
rpm -iUh
命令安装。 - jdk-1_5_0_16-linux-i586.bin 运行后会直接把所有文件解压到当前目录的 jdk 子目录下。