
“ 目录RHCA - 6 软件仓库 - 11 源码包安装和卸载 ”源码包所有源代码的压缩包后缀.tar.gz或.tar.bz2任何人都可以通过源代码查看该软件的设计架构和实现方法无法直接安装需要编译源码为C语言编写的需要安装gcc编译器如果是C需要安装gcc-c可直接安装软件包组Development Tools解决依赖configure是源码包软件自带的程序执行时需要加./语法格式./configure [参数]参数作用--prefix安装路径指定安装路径--help查询支持的功能--sysconfdirDIR指定配置文件路径--localstatedirDIR指定运行状态的配置文件存放位置--with-modulesLIST指定添加的功能模块--enable-memcache支持缓存--enable-nls支持多语言环境中文等--enable-openssl支持TLS加密--enable-shadow支持用/etc/shadow验证账密编译语法格式make [参数]参数作用不带命令把源码程序转为可执行文件保存在当前目录下install安装编译后的软件clean清理编译时产生的二进制模块文件mrproper清理编译步骤产生的任何临时文件包括配置文件一、安装[rootwuzuniao ~]# yum -y install openssl openssl-devel libxml2-devel libxslt-devel perl-devel perl-ExtUtils-Embed libtool zlib zlib-devel pcre pcre-devel patch #安装依赖包[rootwuzuniao ~]# yum -y install rpm-build gcc gcc-c make redhat-lsb-core libuuid-devel #安装gcc编译器等工具[rootwuzuniao ~]# yum -y install flex bison #安装libpcap的依赖[rootwuzuniao ~]# ll -h #上传文件并授权源代码保存位置/usr/src保存内核源代码/usr/local/src保存用户下载的源代码这里图方便在家目录安装-rwxrwxrwx. 1 root root 930K May 16 22:23 libpcap-1.10.4.tar.gz-rwxrwxrwx. 1 root root 1.9M May 16 22:23 tcpdump-4.99.4.tar.gz[rootwuzuniao ~]# tar -zxvf libpcap-1.10.4.tar.gz #解压libpcap[rootwuzuniao ~]# cd libpcap-1.10.4/ #进入对应目录下[rootwuzuniao libpcap-1.10.4]# ./configure #配置软件并检查作用如下可通过./configure --help查看支持的功能1、检测系统环境是否符合安装要求源码包、函数库、编译器、汇编器、链接器等2、定义需要的功能选项3、把系统环境检测结果和定义好的功能写入makefile文件后续编译和安装依赖此文件[rootwuzuniao libpcap-1.10.4]# make #make调用gcc编译器读取Makefile中定义的信息进行编译。此步骤是把源码程序转为可执行文件保存在当前目录下上面两步若失败使用make clean命令可以清空Makefile文件或编译生成的.o开头文件chmod ax pcap-config[rootwuzuniao libpcap-1.10.4]# make install #正式安装软件[rootwuzuniao libpcap-1.10.4]# make clean #清理源码包临时文件[rootwuzuniao libpcap-1.10.4]# cd .. #退回上级目录[rootwuzuniao ~]# tar -zxvf tcpdump-4.99.4.tar.gz #解压软件包[rootwuzuniao ~]# cd tcpdump-4.99.4/ #进入对应目录下[rootwuzuniao tcpdump-4.99.4]# ./configuremake make install #编译安装[rootwuzuniao tcpdump-4.99.4]# make clean #清理源码包临时文件[rootwuzuniao tcpdump-4.99.4]# tcpdump #测试命令执行结果已成功tcpdump: verbose output suppressed, use -v[v]... for full protocol decodelistening on eno16777736, link-type EN10MB (Ethernet), snapshot length 262144 bytes22:49:32.631527 IP 192.168.1.100.ssh 192.168.1.3.56806: Flags [P.], seq 3234649162:3234649386, ack 1114685329, win 330, length 224[rootwuzuniao tcpdump-4.99.4]#二、卸载源码包方式安装的软件所有安装文件都保存在/usr/local/的各子目录中找到他们删除即可完成卸载删除安装时的安装包和解压文件不影响安装后的软件使用三、自定义目录编译安装后的系统配置1、使新安装软件的二进制命令被识别修改PATH环境变量① 修改/etc/profile文件② 在/etc/profile.d/目录建立一个以.sh为名称后缀的文件在里面定义export PATH$PATH:/path/to/somewhere2、使软件被其他程序调用自身的库文件按需默认系统搜索库文件的路径/lib、/usr/lib可在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件而后把要增添的路径直接写到此文件中即可增添额外搜寻路径使用ldconfig -v命令通知系统重新搜寻库文件-v参数可显示重新搜寻库的过程3、将库的定义声明给系统和第2步一起使用默认系统搜索头文件的路径/usr/include可将本程序的头文件目录创建软链接到/usr/include/目录下即可被系统搜索到例ln -s /usr/local/tengine/include /usr/include/tengine4、共享帮助文档使man命令能直接读取默认系统搜索的man文件路径/usr/share/man编译安装在--prefix指定的目录下的man目录① 在/etc/man.config中添加一条MANPATH把程序的帮助文档加进来就行② man -M 帮助文档路径 命令 #临时添加