• <postfix邮件服务下mysql的升级>


    本片服务的环境的红帽的企业版6.5 的,6.3的测试可能会略有不一样,不过方法大致是一样的。

    当前系统的postfix的版本为 postfix-2.6.6-2.2.el6_1.x86_64

    我们要向使用最新的就要去网上dow下最新的。获取新的postfix的包 postfix-2.11.0.tar.gz

    解压 后会生成一个目录,切换到此目录下。  cd postfix-2.11.0

    我们之前的文章提到过要是有.spec的文件可以打装成安装包,直接安装就很方便了 find -name '*.spec',发现没有.spec这样的文件。

    我们知道很多源码包的编译安装都是从INSTALL这个文件中获取帮助。

    vim INSTALL //可以查看到安装升级的帮助,下面是文件里的关键行模板。

    $ make -f Makefile.init makefiles

    找到关键的行,生成编译文件,进行编译 make -f Makefile.init makefiles 缺少库文件,安装库文件。

    6.3的版本mysql-devel这个包包。要是6.5的话,直接装 yum install db*-devel -y这样就ok了

    然后重新编译 make -f Makefile.init makefiles,编译完成后会发现mysql这个插件消失了,显然这不是我们想要的结果。

    可以查看到到mail服务所支持的服务和插件

    postconf -a

    postconf -A

    postconf -m

    make tidy //编译完成或失败都会产生很多临时文件,会造成我们日后其他服务的障碍,清除编译生成的临时文件

    cd README_FILES/  //我们也知道很多源码包都一样,除了INSTALL可以获取帮助,下一个就是 README_FILES目录,里面写了很多关于mail其他插件的升级方案。

    less MYSQL_README //查看mail下mysql的编译帮助

    找到下面的行:他会提示说,如果你是其他linux版本使用上面这个,要是 Solaris就使用下面这个,当然下面的只是模板。

    /*

    In order to build Postfix with mysql map support, you will need to add - DHAS_MYSQL and -I for the directory containing the mysql headers, and the mysqlclient library (and libm) to AUXLIBS, for example:

        make -f Makefile.init makefiles         'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include'         'AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm'

    On Solaris, use this instead:

        make -f Makefile.init makefiles         'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include'         'AUXLIBS=-L/usr/local/mysql/lib -R/usr/local/mysql/lib             -lmysqlclient -lz -lm'

    */

    下面的版本是6.5的,6.3的略有不一样,不过方法一样

    rpm -ql mysql-devel  //查看mysql的编译/库 路径,为什么需要下面的路径,上面的编译会调用gcc和库文件,很多软件都是c写的,它需要找到c和库的头文件。.h开头的都是c文件。

    这个是6.5 的,上面mysql编译,把这两个路径粘贴过去就ok了,

    /usr/include/mysql/sslopt-case.h

    /usr/lib64/mysql/libmysqlclient.so

    6.3

    /usr/include/mysql/typelib.h
    /usr/lib/mysql/libmysqlclient.so
    的是下面的样子:

    mkae tidy  //清除上次上次编译失败的文件,

    make -f Makefile.init makefiles

    CCARGS表示宏。用于替换makefile中的默认值 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql' //-I路径   表示在指定路径搜索头文件

    -lz        表示搜索libz.so或者libz.a,这里用了缩写的形式,只写了一个z,同理lmysqlclient就表示libmysqlclient.so/libmysqlclient.a

    'AUXLIBS=-L/usr/lib64/mysql -lmysqlclient -lz -lm'

     make upgrade //编译完要升级

      postconf -m  //这次可以看到mysql插件了

    下面的属于测试,发封邮件测试下ok不?

    postconf -n //可以查看到mail的一些参数

    postconf -e inet_interfaces=all //所有人可以使用mail服务 postfix reload //重新载入

    postfix stop postfix start netstat -antple

  • 相关阅读:
    关于2019-nCoV事件中新媒体的作用
    评估移民宇宙计划
    关于2019-nCoV事件,分析自己的焦虑心理
    肺炎阴云仍未散去,今天捡到一个贝壳
    关于新型肺炎,重点是毒性
    提高效率的方法
    《白说》读书笔记
    MIPS下载运行busybox
    camera模组笔记
    求知领域
  • 原文地址:https://www.cnblogs.com/linux-super-meng/p/3792350.html
Copyright © 2020-2023  润新知