ExtMail升级文档(for linux)
关于此文
本文档用于升级
ExtMail
,
ExtMan
版本,升级自
ExtMail 0.24(
含以下版本)到
1.0.5
稳定版
,
本文档只能适用于数据库是
mysql
的版本
,
假设安装邮局的域名
为
extmail
.org
,读者请根据自身实际情况予以修改。
升级步骤
1.
停止服务:
postifx,http,mysql,pop3
service httpd stop
service mysqld stop
service postfix stop
/etc/init.d/courier-imap stop
2.
备份文件:
mysql,mail
,extmail,extman
备份邮件
数据
mkdir –p /home/domains/mailbackup
mkdir –p /opt/extmailbak #
存放此次升级过程中的备份文件,确保此分区有足够空间
mv /home/domains/extmail.org /home/domains/mailbackup
cd /home/domains #
确保此分区有足够空间
tar cvf mailbackup.tar mailbackup
mv mailbackup.tar /opt/extmailbak
备份
mysql
cd /var/lib/mysql
tar cvf extmail.tar extmail
mv extmail.tar /opt/extmailbak
备份
extmail,extman
cd /var/www/extsuite
tar cvf extmail.tar extmail
tar cvf extman.tar extman
mv extmail.tar /opt/extmailbak
mv extman.tar /opt/extmailbak
3.
转换编码
格式:从
gb2312
转成
utf-8
注意事项:如读者的
ExtMail
版本已经在
1.0
版本之后,则不需要执行这一步骤
因
ExtMail1.0
版本以后的字符编码使用了
utf-8,ExtMail1.0
版本之前使用的是
gb2312,
因此要对编码进行转换:
a.
在此使用
Extmail
项目组负责编写
的一个升级脚本
: maildir_upgrade_mysql-1.0,
此文件可以在
ExtMail
的官方网站上下载到
,
下载地址
是
:
http://www.extmail.org/cgi
-bin/download.cgi
在此我们将其下载到
/opt
目录下,解压。
b.
解压后,编辑
functions
文件
将下面三行:
BASEDIR="/home/domains"
ICONV="/usr/bin/iconv -f gb2312 -t utf-8"
fromCHAR="gb2312"
更改为:
BASEDIR="/home/domains/mailbackup
"
ICONV="/usr/bin/iconv -f gbk
-t utf-8"
fromCHAR="gbk
"
注意:此步骤很重要,请确保
function
文件配置如上
相关文档:
硬件技术一直和软件技术相依相随,随着服务器硬件和芯片技术的进步,推动着服务器操作系统技术的变革。
芯片技术的发展:从x86到龙芯
2009年,各大芯片厂商都推出了多款芯片产品:如Intel公司基于Nehalem架构发布的桌面端芯片产品酷睿i7;AMD公司也推出了基
于新Fiorano平台的代号为“伊斯坦布尔”的六 ......
需要让你的虚拟机Guest OS(Linux)能自动识别U盘。
方法如下:
保持焦点在Linux上,插入U盘,这时宿主操作系统Windows会弹出“找到新设备的提示”,然后一步一步
的点下一步,结束以后,就可以在linux使用fdisk -l /dev/sdb命令查看到/dev/sdb1。
在虚拟机识别出USB之后,用
fdisk -l /dev/sdb
或
fdisk -l ......
转贴自http://alexanderlaw.blog.hexun.com/8968771_d.html
二、ipt_table数据结构和表的初始化
2.1 include/linux/netfilter_ipv4/ip_tables.h struct ipt_table 表结构
struct ipt_table
{
struct list_head list;
/* 表链 */
char name[IPT_TABLE_MAXNAMELEN];
/* 表名,如"fil ......
转贴自:http://alexanderlaw.blog.hexun.com/8968782_d.html
三、ipt_table表的注册
init()函数初始化时调用了ipt_register_table函数进行表的注册
3.1 ip_tables.c 表的注册 ipt_register_table
int ipt_register_table(struct ipt_table *table)
{
......