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 查询