Lunix下软件安装

1. Tarball 的产生和使用

1.1 make与configure

make是能够对文件进行编译的简化指令。通常软件开发商都会写一支文件名为 configure 或者是 config 的侦测程序来侦测用户的作业环境,侦测完毕后主动的建立记录了原始码如何编译的Makefile 的规则文件。执行 make 时,make 会在当时的目录下搜寻Makefile (or makefile) 文本文件进行编译。

Lunix下软件安装

1.2 tarball软件

1.2.1 什么是tarball软件

所谓的 Tarball 文件,其实就是将软件的所有原始码文件先以 tar 打包,然后再以压缩技术来压缩,通常最常见的就是以 gzip 来压缩了。因为利用了 tar 与 gzip 的功能,所以 tarball 文件一般的扩展名就会写成 *.tar.gz 或者是简写为 *.tgz !
Tarball 本质上是一个软件包, 妳将他解压缩之后,里面的文件通常就会有:

1. 源代码文件;

2. 侦测程序文件 (可能是 configure 或 config 等檔名);

3. 本软件的简易说明与安装说明 (INSTALL 或 README)

1.2.2 如何安装一个Tarball软件 

1. 将 Tarball 由厂商的网页下载下来;

2. 将 Tarball 解开,产生很多的原始码文件;

3. 开始以 gcc 进行原始码的编译 (会产生目标文件 object files);

4. 然后以 gcc 进行函式库、主、子程序的链接,以形成主要的 binary file;

5. 将上述的 binary file 以及相关的配置文件安装至自己的主机上面。

上面第 3, 4 步骤当中,我们可以透过 make 这个指令的功能来简化他,但前提是需要你至少有 gcc 以及 make 这两个软件在你的 Linux 系统里面才行。

1.2.3 makefile文件规则与make示例

makefile文件规则为:

Lunix下软件安装

1. 在 makefile 当中的 # 代表批注;
2. <tab> 需要在命令行 (例如 gcc 这个编译程序指令) 的第一个字符;
3. 目标 (target) 与相依文件(就是目标文件)之间需以『:』隔开。

创建一个clean动作的make:

Lunix下软件安装

在makefile中使用变量:

Lunix下软件安装

变量的基本语法为:

1. 变量与变量内容以『=』隔开,同时两边可以具有空格;

2. 变量左边不可以有 <tab> ,例如上面范例的第一行 LIBS 左边不可以是 <tab>;

3. 变量与变量内容在『=』两边不能具有『:』;

4. 在习惯上,变数最好是以『大写字母』为主;

5. 运用变量时,以 ${变量} 或 $(变量) 使用;

6. 在该 shell 的环境变量是可以被套用的,例如提到的 CFLAGS 这个变数!

7. 在指令列模式也可以给予变量。

2 软件安装RPM、SRPM与YUM

2.1 常见的软件安装方式

目前在 Linux 界软件安装方式最常见的有两种,分别是:

1. dpkg:

这个机制最早是由 Debian Linux 社群所开发出来的,透过 dpkg 的机制, Debian 提供的软件就能够简单的安装起来,同时还能提供安装后的软件信息。 只要是衍生于 Debian 的其他 Linux distributions 大多使用 dpkg 这个机制来管理软件的, 包括 B2D, Ubuntu 等等。文件后缀为.deb。

2. RPM:

这个机制最早是由 Red Hat 这家公司开发出来的,后来实在很好用,因此很多 distributions 就使用这个机制来作为软件安装的管理方式。包括 Fedora, CentOS, SuSE 等等知名的开发商。文件后缀为.rpm。

Lunix下软件安装

2.2 RPM与SRPM

RPM 全名是『 RedHat Package Manager 』简称则为 RPM 啦!顾名思义,当初这个软件管理的机制是由 Red Hat 这家公司发展出来的。 RPM 是以一种数据库记录的方式来将你所需要的软件安装到你的 Linux 系统的一套管理机制。

他最大的特点就是将你要安装的软件先编译过, 并且打包成为 RPM 机制的包装文件。

SRPM 是 Source RPM 的意思,也就是这个 RPM 文件里面含有原始码!特别注意的是,这个 SRPM 所提供的软件内容『并没有经过编译』, 它提供的是原始码!通常 SRPM 的扩展名是以 ***.src.rpm 这种格式来命名的。

Lunix下软件安装

yum 可以直接用来进行安装的动作,基本上 rpm 这个指令真的就只剩下查询与检验的功能了! 

2.3 RPM的使用

2.3.1 安装

rpm -ivh package_name

选项与参数:

-i :install 的意思

-v :察看更细部的安装信息画面

-h :以安装信息列显示安装进度

2.3.2 升级与更新

使用 -Uvh 或 -Fvh 来升级。

Lunix下软件安装

2.3.4 查询

Lunix下软件安装

2.4 YUM使用

yum 是透过分析 RPM 的标头资料后, 根据各软件的相关性制作出属性相依时的解决方案,然后可以自动处理软件的相依属性问题,以解决软件安装或移除与升级的问题。 

由于 distribution 必须要先释出软件,然后将软件放置于 yum 服务器上面,以提供客户端来要求安装与升级之用的。 因此我们想要使用 yum 的功能时,必须要先找到适合的 yum server 才行!而每个 yum server 可能都会提供许多不同的软件功能,那就是我们之前谈到的『软件库』!因此,你必须要前往 yum server 查询到相关的软件库网址后,再继续处理后续的设定事宜。

查询功能:yum [list|info|search|provides|whatprovides] 参数

Lunix下软件安装

安装/升级功能:yum [install|update] 软件

Lunix下软件安装

移除功能:yum [remove] 软件

Lunix下软件安装

2.5 SRPM 

略过