我和postfix的纠结
[ 大恐龙 发表于 2010年9月 8日 19:55 ]
第一次和postfix是6年前,公司要架设一个电子邮件系统,当时刚毕业,颇好装B,大学4年,一直用turbo linux作为自己的工作平台,在一台破旧过时的pentium 133上,configure make makeinstall,自信可以搞定一切,也自得其乐。但是实际遇到问题是发现网上残缺不全的文档实在不够用,加上爪哇国的英文水品和对gnu gcc的一知半解,结果是make的时候看看一行一行的[error]一身冷汗,胡乱尝试,最后到了2个月大限交不了差,只有破解了一套imail做了一套模板了事......狼狈!
之后就明白基础重要性,坚持学英语,仔仔细细的学GNU miniGW 算法 linux的工作原理等等。一晃6年过去,略有所成,这次又遇到邮件,不敢怠慢,再次详细研读postfix源代码,sasl的工作原理,mysql结合clamav等,结合6年来的经验。2天时间就制作好了一套带垃圾过滤和病毒防护的邮件系统。又花了几天将老邮件系统的数据迁移到新的服务器。终于大功告成: http://mail.cnhubei.com.
其中postfix是我按需要修改源代码,并制作自行制作rpm。perl php部分使用源代码部分使用rpm安装,webmail在squirrelmail 和extmail中纠结,还是选择了extmail。由于对各个组件的工作原理有了了解,使我完全抛弃了step by setp文档,完全按需要安装,Clamav因为之前研究过win clamav 应用起来也得心应手。虽然系统维护不是我的主要工作,但是看到自己干啥啥行,不禁也要夸夸自己。
本人计划将postfix sasl courier等的安装使用,详细整理成文档,在step by step的基础上详细讲明原理,在本博客发布,供各位同行参考。
Tags:
'
linux
'
Linux命令备忘-sh
[ 大恐龙 发表于 2009年10月 7日 21:55 ]
du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况。
功能:统计目录(或文件)所占磁盘空间的大小。
语法:du [选项] [Names…]
说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。
该命令的各个选项含义如下:
-s 对每个Names参数只给出占用的数据块总数。
-a 递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b 以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。
-k 以1024字节为单位列出磁盘空间使用情况。
-c 最后再加上一个总计(系统缺省设置)。
-l 计算所有的文件大小,对硬链接文件,则计算多次。
-x 跳过在不同文件系统上的目录不予统计。
下面举例说明du命令的使用:
例1:查看/mnt目录占用磁盘空间的情况。 $ cd /mnt $ ls -lFR total 10 -rwxrwxrwx 2 root root ll0 Ju1 3l 00:33 aa*
drwxr-xr-x 2 root root l024 Ju1 20 14:16 dev/
-rw-r--r-- 1 root root 6229 Aug 2 0l:39 s1ack
drwxrwxrwx 2 root root 1024 Aug 2 02:09 var/
1rwxrwxrwx 1 root root l0 Aug 2 0l:51 wei->/home/wei/
dev:
tota1 0
lrwxrwxrwx 1 root root 8 Ju1 20 l4:l6 cdrom->/dev/hdb
var:
tata1 37
-r-xr-xr-x l root root 36064 Aug 2 02:09 rawrite. exe*
例2:列出各目录所占的磁盘空间,但不详细列出每个文件所占的空间。
$ du
l ./dev
38 ./var
48 .
输出清单中的第一列是以块为单位计的磁盘空间容量,第二列列出目录中使用这些空间的目录名称。
注意不带选项的du命令将从当前目录开始沿着目录结构向下工作直到列出所有目录的容量为止。这可能是一个很长的清单,有时只需要一个总数。这时可在du命令中加-s选项来取得总数:
$ du –s /mnt
/mnt
例3:列出所有文件和目录所占的空间(使用a选项),而且以字节为单位(使用b选项)来计算大小。
$ du -ab
8 ./dev/cdrom
l032 ./dev
36064 ./var/rawrite. exe
37088 ./var
6229 ./s1ack
1l0 ./aa
l0 ./wei
45493 .
du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况。
功能:统计目录(或文件)所占磁盘空间的大小。
语法:du [选项] [Names…]
说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。
该命令的各个选项含义如下:
-s 对每个Names参数只给出占用的数据块总数。
-a 递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b 以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。
-k 以1024字节为单位列出磁盘空间使用情况。
-c 最后再加上一个总计(系统缺省设置)。
-l 计算所有的文件大小,对硬链接文件,则计算多次。
-x 跳过在不同文件系统上的目录不予统计。
-h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G)
下面举例说明du命令的使用:
例1:查看/mnt目录占用磁盘空间的情况。 $ cd /mnt $ ls -lFR total 10 -rwxrwxrwx 2 root root ll0 Ju1 3l 00:33 aa*
drwxr-xr-x 2 root root l024 Ju1 20 14:16 dev/
-rw-r--r-- 1 root root 6229 Aug 2 0l:39 s1ack
wxrwx 2 root root 1024 Aug 2 02:09 var/
1rwxrwxrwx 1 root root l0 Aug 2 0l:51 wei->/home/wei/
dev:
tota1 0
lrwxrwxrwx 1 root root 8 Ju1 20 l4:l6 cdrom->/dev/hdb
var:
tata1 37
-r-xr-xr-x l root root 36064 Aug 2 02:09 rawrite. exe*
例2:列出各目录所占的磁盘空间,但不详细列出每个文件所占的空间。
$ du
l ./dev
38 ./var
48 .
输出清单中的第一列是以块为单位计的磁盘空间容量,第二列列出目录中使用这些空间的目录名称。
注意不带选项的du命令将从当前目录开始沿着目录结构向下工作直到列出所有目录的容量为止。这可能是一个很长的清单,有时只需要一个总数。这时可在du命令中加-s选项来取得总数:
$ du –s /mnt
/mnt
例3:列出所有文件和目录所占的空间(使用a选项),而且以字节为单位(使用b选项)来计算大小。
$ du -ab
8 ./dev/cdrom
l032 ./dev
36064 ./var/rawrite. exe
37088 ./var
6229 ./s1ack
1l0 ./aa
l0 ./wei
Tags:
'
linux
'
关于SElinux和mysql
[ 大恐龙 发表于 2009年7月31日 22:12 ]
一直不太喜欢SElinux,但是他确实能让系统更安全,今天安装mysql,以前修改配置就要禁用Selinux,这次准备尝试配置而不是简单禁用。
发现label和namespace配置确实复杂,仔细读man,发现一个简单的工具:
setsebool -P mysqld_disable_trans=1
就可以,实际就是对mysql禁用mysql,大家可以看这里http://linux.die.net/man/8/setsebool
Tags:
'
linux
'
Linux命令备忘-in cp mv rm
[ 大恐龙 发表于 2008年12月27日 00:36 ]
ln 命令
用途:链接文件
语法:将某个文件链接到一个文件上
ln [ -f | -n] [ -s ] SourceFile [ TargetFile ]
将一个或多个文件链接到一个目录上
ln [ -f | -n] [ -s ] SourceFile ... TargetDirectory
描述:
ln 命令将在 SourceFile 参数中指定地文件链接到在 TargetFile 参数中指定地文件,或将其链接到在 TargetDirectory 参数中指定地另一个目录中地文件。在缺省情况下,ln 命令会创建硬链接。如果需要运用 ln 命令来创建符号链接,请指明 -s 标志。
符号链接是指向文件地一个间接指针;它地目录项中包含了它所链接地文件名。符号链接可能会跨越文件系统,可能指向目录。
标志
-f 促使 ln 命令替换掉任何已经存在地目地路径。如果目地路径已经存在,而没有指定 -f 标志,ln 命令不会创建新地链接,而是向标准错误写一条诊断消息并继续链接剩下地 SourceFiles。
-n 指定,如果链接是一个现有地文件,那么不要覆盖文件地内容。 -f 标志重设了这个标志。这是缺省地行为。
-s 促使 ln 命令创建符号链接。符号链接中包含了它所链接地文件地名字。当对链接执行打开操作地时候,会运用到引用文件。对符号链接地 stat 调用会返回链接地目标文件;必须完成lstat 调用来获取链接地信息。可以运用 readlink 调用来读取符号链接地内容。符号链接可能跨越文件系统,指向目录。
注意:当为 -s 标志指定 SourceFile 参数地时候,必须运用绝对路径。如果没有指明绝对路径,那么当 SourceFile 和 TargetFile 参数位于不同地目录中地时候,可能会发生意外地结果。在创建符号链接原先,不需要存在源文件。
退出状态
此命令返回以下地退出值:
0 所有指定地文件都成功链接上了。
>0 出现一次错误。
cp 命令
使用权限:所有使用者
使用方式:
cp [options] source dest
cp [options] source... directory
说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
把计
-a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
范例:
将档案 aaa 复制(已存在),并命名为 bbb :
cp aaa bbb
将所有的C语言程式拷贝至 Finished 子目录中 :
cp *.c Finished
Tags:
'
linux
'
Squid配置以缓存大量图片-备忘
[ 大恐龙 发表于 2008年6月24日 01:29 ]
配置文件如下
http_port 59.175.238.60:80 defaultsite=219.140.171.194 vhost vport=80
cache_mem 2048 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 20 MB
maximum_object_size_in_memory 8 MB
cache_dir ufs /squid_cache 100000 128 512
cache_peer 219.140.171.194 parent 80 0 no-query originserver
cache_peer_domain 219.140.171.194 img.cnhubei.com
acl all src 0.0.0.0/0.0.0.0
acl Safe_ports port 80
acl Safe_ports port 443
acl AntiBaidu req_header User-Agent Baiduspider
acl cnhubei referer_regex -i cnhubei
acl nullref referer_regex -i ^$
http_access allow nullref
http_access deny !Safe_ports
http_access deny AntiBaidu
http_access deny !cnhubei
deny_info http://www.cnhubei.com/images/2007cnhubei04y002.jpg cnhubei
http_access allow all
visible_hostname www.w3cool.com
cache_mgr zhangweijie@gmail.com
#### Disable Logs
cache_store_log none
cache_vary on
logfile_rotate 0
refresh_pattern -i \.*$ 1440 90% 129600 reload-into-ims
参数设置的都很暴力,还设置了一个反盗链
使用Tor加快访问互联网的方法
[ 大恐龙 发表于 2008年3月27日 22:28 ]
Squid2.6反向代理的cache_peer配置
[ 大恐龙 发表于 2007年1月26日 14:29 ]
安装changelog应该这样写:
http_port 80 defaultsite=192.168.0.2 vhost transparent
cache_peer 192.168.0.2 parent 80 0 no-query originserver
但是实际上这样写是不行的
http_port 219.140.171.53:80 vhost
cache_peer 192.168.0.2 parent 80 0 no-query originserver
才可以。













![[Valid RSS]](http://www.w3cool.com//images/valid-rss.png)
![Validate my Atom 1.0 feed [Valid Atom 1.0]](http://www.w3cool.com//images/valid-atom.png)






[xxm] 于 10-07-13 发表: 现在是不是免费版本不能用了。 总提示我进行了不正确的封装....
[keke302] 于 10-07-02 发表: 做的不错,支持一个,中国人还是很牛滴 ...
[大恐龙
[大恐龙
[buno] 于 10-03-29 发表: 楼主快回来,你的http://speech.w3cool.com/swf/speech.js死链了~...
[123] 于 10-01-08 发表: 你的服务器端是自己开发的吗? 如果是用mut tts的话,就放开源吧。...
[淮安人生] 于 09-12-11 发表: 太ND了,不知如何使用,先看看~...
[武涛] 于 09-11-18 发表: 郁闷了我要免费试用拉,在哪排队...
[大恐龙
[ym] 于 09-10-18 发表: hi.你这个播放器的内容是怎么实现的?可否详细撰文介绍一下?...
[大恐龙
[大恐龙
[zi] 于 09-09-23 发表: 功能很不错,就是有的只读到一半就不给读了,一次最多能读多少字呢...
[ll] 于 09-09-23 发表: 可惜了 我测试俄语 不能朗读如果要是能的话就太好了...