zoukankan      html  css  js  c++  java
  • <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

  • 相关阅读:
    LeetCode 1245. Tree Diameter
    LeetCode 1152. Analyze User Website Visit Pattern
    LeetCode 1223. Dice Roll Simulation
    LeetCode 912. Sort an Array
    LeetCode 993. Cousins in Binary Tree
    LeetCode 1047. Remove All Adjacent Duplicates In String
    LeetCode 390. Elimination Game
    LeetCode 1209. Remove All Adjacent Duplicates in String II
    LeetCode 797. All Paths From Source to Target
    LeetCode 1029. Two City Scheduling
  • 原文地址:https://www.cnblogs.com/linux-super-meng/p/3792350.html
Copyright © 2011-2022 走看看