【Linux】不同操作系统的差异还真大
2010-11-11 17:49
274 查看
这段时间分别在 CentOS、Ubuntu 和 Enterprise Linux 上安装配置了邮件系统,结果发现除了相关配置文件存放位置不同外,就连配置文件里的配置信息也有差异。
一、所使用软件
数据库/目录服务:MySQL
Web服务:apache + php
邮件传输代理(MTA):postfix
邮件投递代理(MDA):maildrop
IMAP/POP3服务:courier-imap
SMTP认证库:Cyrus-SASL
其他数据认证库:Courier-Authlib
WebMail系统:ExtMail
二、安装说明
CentOS 利用 yum 和 rpm 安装,Ubuntu 利用 apt-get 安装,所有软件都安装在默认位置。
EL 采用源码编译安装,所有软件指定安装位置。
三、配置文件存放区别
Courier-Authlib 配置文件 authdaemonrc,authmysqlrc
CentOS:/etc/authlib
Ubuntu:/etc/courier
Cyrus-SASL 配置文件 smtpd.conf
CentOS:/usr/lib/sasl2
Ubuntu:/etc/postfix/sasl
—— 当时在配置 Ubuntu 时,就为 smtpd.conf 文件耽误了很多时间,还好有一个办法是特别实用的,就是当找不到想找的文件时,可以通过下面的方法获得信息:
* 有默认配置文件的,如:authdaemonrc
CentOS:
# rpm -qa | grep courier-authlib -- 查找 courier-authlib
# rpm -ql courier-authlib-0.63.0-1 -- 查找 courier-authlib-0.63.0-1 的文件安装位置,其中的 courier-authlib-0.63.0-1 就是由前一指令查出
Ubuntu:
# dkpg -l | grep sasl -- 查找 Cyrus-SASL
# dpkg -L sasl2-bin -- 查找 Cyrus-SASL 的文件安装位置
* 无默认配置文件的,如:smtpd.conf
只能通过网上搜索,看看有没有相关的资料。只要能找到,哪怕在一个大篇幅文章里就只有一句提到,也算幸运了。
四、文件配置差异
在配置 Ubuntu 时花费时间最多的就是遇到 /etc/log/mail.log 里的这个错误:
postfix/trivial-rewrite[985]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
开始认为是 /var/run/mysqld/mysqld.sock 的授权问题,但设置了 777 不行,接着给这文件作了一个连接,也不行,想想干脆更改了这个 mysqld.sock 的存放位置,错误结果还是一样。
在网上查了很久,看到有提到将配置文件里的 localhost 更改为 127.0.0.1,花了很多时间重新将各配置文件重做一遍,将所有的 localhost 都更改为 127.0.0.1,终于解除了错误,完成安装。
—— 老实说:到现在也没想明白,这是什么原因,系统配置文件 /etc/hosts 里清清楚楚地指明 127.0.0.1 localhost,而其他不管是 ping,还是 telnet 都是 ok 的,就是这个邮件系统不认账,郁闷!
由于 EL 采用指定安装位置的方式,因此没有可比性,不过 EL 的配置跟 CentOS 的配置没有区别,可以直接复制过去使用。
一、所使用软件
数据库/目录服务:MySQL
Web服务:apache + php
邮件传输代理(MTA):postfix
邮件投递代理(MDA):maildrop
IMAP/POP3服务:courier-imap
SMTP认证库:Cyrus-SASL
其他数据认证库:Courier-Authlib
WebMail系统:ExtMail
二、安装说明
CentOS 利用 yum 和 rpm 安装,Ubuntu 利用 apt-get 安装,所有软件都安装在默认位置。
EL 采用源码编译安装,所有软件指定安装位置。
三、配置文件存放区别
Courier-Authlib 配置文件 authdaemonrc,authmysqlrc
CentOS:/etc/authlib
Ubuntu:/etc/courier
Cyrus-SASL 配置文件 smtpd.conf
CentOS:/usr/lib/sasl2
Ubuntu:/etc/postfix/sasl
—— 当时在配置 Ubuntu 时,就为 smtpd.conf 文件耽误了很多时间,还好有一个办法是特别实用的,就是当找不到想找的文件时,可以通过下面的方法获得信息:
* 有默认配置文件的,如:authdaemonrc
CentOS:
# rpm -qa | grep courier-authlib -- 查找 courier-authlib
# rpm -ql courier-authlib-0.63.0-1 -- 查找 courier-authlib-0.63.0-1 的文件安装位置,其中的 courier-authlib-0.63.0-1 就是由前一指令查出
Ubuntu:
# dkpg -l | grep sasl -- 查找 Cyrus-SASL
# dpkg -L sasl2-bin -- 查找 Cyrus-SASL 的文件安装位置
* 无默认配置文件的,如:smtpd.conf
只能通过网上搜索,看看有没有相关的资料。只要能找到,哪怕在一个大篇幅文章里就只有一句提到,也算幸运了。
四、文件配置差异
在配置 Ubuntu 时花费时间最多的就是遇到 /etc/log/mail.log 里的这个错误:
postfix/trivial-rewrite[985]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
开始认为是 /var/run/mysqld/mysqld.sock 的授权问题,但设置了 777 不行,接着给这文件作了一个连接,也不行,想想干脆更改了这个 mysqld.sock 的存放位置,错误结果还是一样。
在网上查了很久,看到有提到将配置文件里的 localhost 更改为 127.0.0.1,花了很多时间重新将各配置文件重做一遍,将所有的 localhost 都更改为 127.0.0.1,终于解除了错误,完成安装。
—— 老实说:到现在也没想明白,这是什么原因,系统配置文件 /etc/hosts 里清清楚楚地指明 127.0.0.1 localhost,而其他不管是 ping,还是 telnet 都是 ok 的,就是这个邮件系统不认账,郁闷!
由于 EL 采用指定安装位置的方式,因此没有可比性,不过 EL 的配置跟 CentOS 的配置没有区别,可以直接复制过去使用。
相关文章推荐
- 不同的Linux操作系统下安装PCL的方法
- 跨平台C++软件开发中,由于不同操作系统对Unicode的支持差异,而导致的一些问题及解决方案。
- java File的getLastModified在不同操作系统下面存在差异
- 跨平台C++软件开发中,由于不同操作系统对Unicode的支持差异,而导致的一些问题及解决方案
- Linux操作系统下以不同颜色命名的文件类型
- 一个跟操作系统linux和windows差异有关的问题:通过soap的无wsdl实现php程序通信的程序(经典的吐血)
- Socket监听在不同操作系统下的差异
- Linux操作系统下以不同颜色命名的文件类型
- Linux操作系统与Windows操作系统目录结构差异
- [转]Linux操作系统下以不同颜色命名的文件类型
- ANT 脚本根据windows 和linux操作系统的不同,自动采用不同的编译方式
- 不同linux 系统之间差异记录
- windows、linux、mac操作系统间换行符的编码差异
- 前言 我们知道不同的操作系统有各自的文件系统,这些文件系统又存在很多差异,而Java 因为是跨平台的,所以它必须要统一处理这些不同平台文件系统之间的差异,才能往上提供统一的入口。 关于FileSy
- Linux驱动开发之 一 (有、无操作系统的差异)
- [转]如何整理Linux磁盘碎片,竟与Windows的方式大不同 返回操作系统首页
- 不同的操作系统之间拷贝文件(windows、linux、mac)
- 不同发行版Linux操作系统如何实现共存
- Unix 和 Linux 操作系统的差异
- java File的getLastModified在不同操作系统以下存在差异