Linux系统,一个文件能不能执行看的是有没有可执行权限x,不过真正的可执行文件是二进制文件(binary file),举例来说Linux上的c语言源码编写完后,通过gcc程序编译后就可以创建一个可执行的二进制文件。

 

1、什么是make 与configure

 make是一个程序,会去找makefile(记录了源码如何编译的详细信息),通常这个检测程序文件名为configure或config;基本的makefile规则是:

    目标:目标文件1 目标文件2

    <tab> gcc -o 欲建立的执行文件 目标文件1 目标文件2

 

2、Tarball套件安装

    Tarball文件其实就是将套件的所有源码文件先以tar打包,然后再压缩,最常见的就是以gzip来压缩了。解压后的文件里通常有源码文件、检测程序文件(configure)、安装说明(install)

    安装步骤:

        1)将tarball文件在目录下解压缩

        2)进入新建的目录,查看install与readme等相关文件内容

        3)根据install/readme查看并安装

        4)以自动检测程序检测工作环境,并建立makefile文件

        5)使用make及该目录下的makefile作为参数设置文件,来进行make

        6)以make程序和Makefile参数设置文件,根据install的指定安装到正确路径

    说明tarball文件软件安装的命令执行方式:

        1)./configure 是在建立Makefile文件,这个步骤的相关信息应该参考目录下的readme文件

        2)make clean make会读取Makefile中关于clean的工作,不是必须的步骤,但最好执行一下,为了避免前一次保留下来的数据可能影响到这一次编译的结果

        3)make 就是要将源码编译为可以执行的可执行文件(主要是进行gcc将源码编译为可执行的目标文件),而这个可执行文件会放在当前所在目录下

        4)make intall 

以上步骤都是一步步来的,如果在./configure就不成功,就表示Makefile无法建立,后续步骤都是根据Makefile来进行的

一般考虑卸载方便(删除套件时直接删除套件的目录就行)建议:

    最好将tarball的原始数据解压缩到/usr/local/src中;

    安装时,最好安装到/usr/local默认路径下;

    最好将每个套件单独安装在/usr/local下

 

3、rpm与srpm套件管理

    RPM(RedHat Package Manager)是一种数据库记录的方式 将 所需要的套件 安装到Linux主机的 一套管理程序。特点是将要安装的套件先编译并打包;缺点是安装环境必须与打包时的环境一致。

    SRPM是这个RMP文件里面包含了源码,后缀是.src.rpm

    安装:

        rpm -ivh 包名/http://xxxx.rpm

 

4、yum(网上摘抄)

    是一个在Fedora RedHat CentOS中的shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包

    yum install xx.rpm  安装

    yum remove xx.rpm 卸载

    yum upgrade/update xx 升级

    yum info xx 信息

    yum search xx 查询