2010年11月17日 星期三

OpenBSD 4.6 + Postfix + Mysql + Dovecot + Amavisd + ClamAV + Spamassassin + Roundcubemail (三)

3. Dovecot

Dovecot 提供 IMAP 和 POP3 的服務,並且在開發中很重視安全性的需求,當然同時也有提供 SSL 的加密連線。Dovecot 同時還支援多種認證方式和多種資料庫連結,對於 Postfix 的支援也相當的好。Dovecot 不只提供 IMAP 和 POP3 的服務,並且還提供了 LDA (Local Deliver Agent) 作為信件傳遞功能。在 LDA 啟動時,可以提供 Quota 的功能,還支援 Sieve Script ( 一種郵件過濾的腳本 )。

3.1.1 安裝程式 (支援 Managesieve)

在 4.6 版的 Ports 裡,Dovecot 只支援 Sieve 功能,也就是說你可以寫好腳本,由 LDA 幫你作郵件過濾的工作。但是用戶如果想要自行上傳自已的規則時,就必須用 Ftp 上傳自已的腳本,這非常的不方便。於是出現了 Managesieve 的伺服器,這讓你可以不用透過設定 Ftp 也可以上傳腳本。重點是,在之後的 Roundcube Webmail 系統中,有支援 Managesieve 的套件可以使用。

不過目前的 Ports 中並不支援 Managesieve ,如果我們要使用它的話,必須手動方式匯入更新檔,並且編譯程式,才能夠支援。當然如果你選擇不要使用 Managesieve 功能的話,可以直接看 3.1.2。

首先,我們先下載 Managesieve 的 patch 檔和原始碼。因為我們用 Ports 安裝的 Dovecot 的版本是1.1.19,所以我們要下載對應版本的patch 檔和原始碼,路徑如下:
http://www.rename-it.nl/dovecot/1.1/dovecot-1.1.19-managesieve-0.10.7.diff.gz
http://www.rename-it.nl/dovecot/1.1/dovecot-1.1-managesieve-0.10.7.tar.gz

# lynx http://www.rename-it.nl/dovecot/1.1/dovecot-1.1.19-managesieve-0.10.7.diff.gz
# lynx http://www.rename-it.nl/dovecot/1.1/dovecot-1.1-managesieve-0.10.7.tar.gz
在這裡,我們要先作一次 Dovecot 的編譯,然後再將 diff 檔匯入,再安裝 Dovecot。記得我們要支援 Mysql。

# cd /usr/ports/mail/dovecot
# env FALVOR="mysql" make
[...]
# cd /usr/ports/obj/dovecot-1.1.19-mysql/dovecot-1.1.19
# gzip -dc /path/to/patchfile.diff.gz | patch -p1
[...]
# cd /usr/ports/mail/dovecot
# env SUBPACKAGE="-server" FLAVOR="mysql" make install
# env SUBPACKAGE="-sieve" FLAVOR="mysql" make install

接下來把 Managesieve 原始碼解壓並編譯
# tar xzvf dovecot-1.1-managesieve-0.10.7.tar.gz
# cd dovecot-1.1-mamagesieve-0.10.7
# ./configure --with-dovecot=/usr/ports/obj/dovecot-1.1.19-mysql/dovecot-1.1.19/  \
   --with-dovecot-sieve=/usr/ports/obj/dovecot-1.1.19-mysql/dovecot-sieve-1.1.7/
[...]
# make
[...]
# make install

3.1.2 安裝程式 (不支援 Managesieve)
# cd /usr/ports/mail/dovecot
# env SUBPACKAGE="-server" FLAVOR="mysql" make install

3.2 設定配置檔

接下來要設定 Dovecot 的設定檔,我們預計啟用 imap pop3 和它們的 ssl 連線。我們也同時開啟了 Dovecot 自帶的 Managesieve 務,還另外設定了 LDA 的 deliver 服務,這樣才能幫我們控制 quota 和 sieve 的功能。設定完主要設定檔之後,我們還要設定供 userdb 和 passdb 存取的 sql 設定檔 dovecot-mysql.conf。
/etc/dovecot.conf
# 設定 chroot 目錄
base_dir = /var/dovecot/
# 設定要啟用的服務 ( 沒打算使用 managesieve 請刪掉)
protocols = imap imaps pop3 pop3s managesieve
# 指定要監聽的 ip 和 port 這裡用預設就可以
listen = *, [::]
#禁止明碼認證,這裡要選 no
disable_plaintext_auth = no
# ssl cert 存放的位置
ssl_cert_file = /etc/ssl/dovecotcert.pem
# 登入時使用的目錄
login_dir = /var/dovecot/login
# 是否使用 chroot ,這裡選 yes
login_chroot = yes
# 認證時預設的user
login_user = _dovecot
# 郵件存放的位置
mail_location = maildir:/var/vmail/%d/%n
# 有存取郵件權限的 uid 和 gid
mail_uid = 2000
mail_gid = 2000

protocol imap {
  # 使用 quota 套件
  mail_plugins = quota imap_quota
}

protocol pop3 {
  # 使用 quota 套件
  mail_plugins = quota
}

protocol lda {
  # 設定deliver 預設的管理者信箱
  postmaster_address = postmaster@skycat.no-ip.org
  # 使用 quota 和 sieve 套件 (不使用 sieve 的請刪除)
  mail_plugins = quota cmusieve
  # 指定 sendmail 的位置
  sendmail_path = /usr/local/sbin/sendmail
  # 指定auth-master socket 的位置
  auth_socket_path = /var/dovecot/auth-master
}

# 設定 managesive 監聽的 port (不使用 managesieve 的請刪除)
protocol managesieve {
  listen = *:2000
}

# 預設的登入網址
auth_default_realm = skycat.no-ip.org
# 認證過程和除錯,有問題再開吧
auth_verbose = no
auth_debug = no

auth default {
  # 使用明碼,沒辦法,讓outlook收信的話只能用這個
  mechanisms = plain
  # 設定 userdb 和 passdb 的 sql 設定檔
  passdb sql {
    args = /etc/dovecot-mysql.conf
  }
  userdb sql {
    args = /etc/dovecot-mysql.conf
  }
  # auth-login 預設的使用者
  user = root
  socket listen {
    master {
      # 供 LDA 用的 socket,預設擁有者要有存取 /var/vmail 的權限
      path = /var/dovecot/auth-master
      mode = 0600
      user = vmail
      group = vmail
    }
    client {
     # 供 postfix sasl 認證的socket 建立在 /var/spool 裡,這樣 postfix 就能在chroot 下存取它
      path = /var/spool/postfix/private/auth
      mode = 0660
      # 要有被 postfix 存取的權限
      user = _postfix
      group = wheel
    }
  }
}

plugin {
  quota = maildir
  # 設定預設執行的script,在這裡的設定是by user的 (不使用 sieve的請刪除)
  sieve = /var/vmail/%u.sieve
}


/etc/dovecot-mysql.conf
driver = mysql
connect = host=127.0.0.1 dbname=mail user=vmail password=vmail
default_pass_scheme = CRYPT
password_query = SELECT CONCAT(account, '@', domain) AS user, password FROM users \
       WHERE account = '%n' AND domain = '%d' AND active = 1
user_query = SELECT uid, gid, home, maildir AS mail, CONCAT('*:storage=', quota) \
       AS quota_rule FROM users WHERE  account = '%n' AND domain = '%d' AND active = 1

然後設定 /etc/ssl/dovecot-openssl.cnf 檔,建立 /etc/ssl/dovecotcert.pem

/etc/ssl/dovecot-openssl.cnf
[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no

[ req_dn ]
# country (2 letter code)
C=TW

# State or Province Name (full name)
ST=Taiwan

# Locality Name (eg. city)
L=Taoyuan

# Organization (eg. company)
O=HOME

# Organizational Unit Name (eg. section)
OU=IMAP server

# Common Name (*.example.com is also possible)
CN=mail.skycat.no-ip.org

# E-mail contact
emailAddress=postmaster@skycat.no-ip.org

[ cert_type ]
nsCertType = server

# /usr/local/sbin/dovecot-mkcert.sh

最後我們可以設定在開機時啟動 Dovecot
/etc/rc.local
if [ -x /usr/local/sbin/dovecot ]; then
        echo -n ' dovecot';       /usr/local/sbin/dovecot >/dev/null 2>&1
fi

3.3 設定Postfix 使用 Dovecot deliver

要讓 Postfix 使用 Dovecot 作為 deliver ,這樣我們的quota 和 sieve 功能才能生效,要在 main.cf 和 master.cf 增加設定值:
/etc/postfix/main.cf
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1

/etc/postfix/master.cf
dovecot unix    -       n       n       -       -       pipe
    flags=DRhu  user=vmail:vmail argv=/usr/local/libexec/dovecot/deliver  -f ${sender} -d ${recipient}

記得重新啟動 Postfix
# postfix reload

OpenBSD 4.6 + Postfix + Mysql + Dovecot + Amavisd + ClamAV + Spamassassin + Roundcubemail (二)

2. MySQL

設定好 Postfix 之後,我們再來就是要設定 MySQL 當作 Postfix 的多網域和虛擬用戶的資料來源。MySQL 是開源軟體中最多人使用的資料庫軟體,有著高效能和設定簡單的方便性。設定好資料庫之後,可以讓 Postfix 和 Dovecot 當作資料來源。

用 Ports 安裝 MySQL:

# cd /usr/ports/databases/mysql
# env SUBPACKAGE="-server" make install

MySQL 初始設定:

# /usr/local/bin/mysql_install_db
[ ... ]
# mysqld_safe &
[ ... ]
# /usr/local/bin/mysql_secure_installation
[ ... ]
Enter current password for root (enter for none): 
OK, successfully used password, moving on...
[ ... ]
Set root password? [Y/n] Y
New password: root
Re-enter new password: root
Password updated successfully!
[ ... ]
Remove anonymous users? [Y/n] Y
... Success!
[ ... ]
Disallow root login remotely? [Y/n] Y
... Success!
[ ... ]
Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
[ ... ]
Reload privilege tables now? [Y/n] Y
... Success!
[ ... ]

設定開機啟動 MySQL,這裡特別要說明的是,我們特別在 /var/www/var/run/mysql 裡建立一個mysql.sock 的連結,這樣可以讓我們的Web Server 存取 MySQL時可以使用 localhost 而不是127.0.0.1。

/etc/rc.local
if [ -x /usr/local/bin/mysqld_safe ]; then
  echo -n ' MySQL'
  /usr/local/bin/mysqld_safe > /dev/null 2>&1 &


  for i in 1 2 3 4 5 6 ;do
  if [ -S /var/run/mysql/mysql.sock ]; then
    break
  else
    sleep 1
    echo -n "."
  fi
  done
  ln -f /var/run/mysql/mysql.sock /var/www/var/run/mysql/mysql.sock
fi

接下來,修改 Postfix 設定檔,讓它可以去讀 Mysql 的資料:

/etc/postfix/main.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailboxes.cf
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf

接下來我們要建立 Postfix 和 Dovecot 存取的資料庫:

# mysql -u root -p
password: root
mysql> CREATE DATABASE mail;
Query OK, 1 row affected (0.01 sec)

mysql> use mail;
Database changed
mysql> CREATE TABLE domains (
->              id         INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
->              domain     VARCHAR(255) NOT NULL UNIQUE);
Query OK, 0 rows affected (0.02 sec)


mysql> CREATE TABLE users (
->              id          INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
->              account     VARCHAR(255) NOT NULL,
->              domain      VARCHAR(255) NOT NULL,
->              name        VARCHAR(255) NOT NULL,
->              password    CHAR(13) NOT NULL,
->              uid         SMALLINT NOT NULL DEFAULT 2000,
->              gid         SMALLINT NOT NULL DEFAULT 2000,
->              home        VARCHAR(255) NOT NULL DEFAULT '/var/vmail',
->              maildir     VARCHAR(255) NOT NULL,
->              quota       VARCHAR(10) NOT NULL DEFAULT '10MB');
Query OK, 0 rows affected (0.01 sec)


mysql> CREATE TABLE alias_maps (
->              id         INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
->              account    VARCHAR(255) NOT NULL UNIQUE,
->              alias      VARCHAR(255) NOT NULL);
Query OK, 0 rows affected (0.00 sec)


mysql> GRANT SELECT ON mail.* to 'vmail'@'localhost' IDENTIFIED BY 'vmail';
Query OK, 0 rows affected (0.01 sec)


mysql> INSERT INTO domains (domain) VALUES ('skycat.no-ip.org');
Query OK, 1 row affected (0.01 sec)


mysql> INSERT INTO users (account, domain, name, password, maildir)
-> VALUES ('sfyeng', 'skycat.no-ip.org', 'Syfeng Lu', ENCRYPT('password'),
-> 'skycat.no-ip.org/syfeng/');
Query OK, 1 row affected (0.01 sec)


mysql> INSERT INTO alias_maps (account, alias)
-> VALUES ('postmaster@skycat.no-ip.org', 'syfeng@skycat.no-ip.org');
Query OK, 1 row affected (0.00 sec)


mysql> INSERT INTO alias_maps (account, alias)
-> VALUES ('abuse@skycat.no-ip.org', 'syfeng@skycat.no-ip.org');
Query OK, 1 row affected (0.00 sec)

然後,我們要建立在 Postfix 中所指定的三個設定檔,一樣是放在 /etc/postfix 下面

/etc/postfix/mysql_virtual_domains.cf
user = vmail
password = vmail
hosts = 127.0.0.1
dbname = mail
query = SELECT domain FROM domains WHERE domain='%s'


/etc/postfix/mysql_virtual_alias_maps.cf
user = vmail
password = vmail
hosts = 127.0.0.1
dbname = mail
query = SELECT alias FROM alias_maps WHERE account='%s'


/etc/postfix/mysql_virtual_mailboxes.cf
user = vmail
password = vmail
hosts = 127.0.0.1
dbname = mail
query = SELECT maildir FROM users WHERE account='%s'

好了,我們已經完成所有的設定,現在我們可以重新啟動 Postfix

# postfix reload


OpenBSD 4.6 + Postfix + Mysql + Dovecot + Amavisd + ClamAV + Spamassassin + Roundcubemail (一)

0. 前言

OpenBSD 可以說是目前公認最安全的作業系統,而且它的結構非常的簡捷有力,不會拖泥帶水,所以變成是我最喜歡的作業系統。很多專注在防火牆的工程師都很愛用它,不過因為網路上的文章比較少,導致讓很多對它有興趣的人望之卻步。希望藉由我的一些經驗分享,讓大家都能夠對這個系統有更深的了解。

Mail Server 是目前我認為最複雜的網路服務的一種,因為它必需要結合多種軟體,來達到我們所要提供的功能。在這裡,我要特別介紹一個網站,http://www.kernel-panic.it/,作者很顯然的也是OpenBSD的愛好者。本篇教學最主要的來源就是根據此網站上的Mail Server 而來的,你可以說是這篇就是它的中文版本。不過原文章用的是Courier-IMAP 和 SquirrelMail ,我把它改為用 Dovecot 和 Roundcubemail。

在這篇教學中,我們不會去討論如何安裝OpenBSD ,也許之後我會再發一篇有關OpenBSD 的安裝教學,不過在這裡先預設你已經安裝好OpenBSD了。所有的軟體都是用Ports安裝,因為我覺得BSD 的Ports 還蠻酷的,而且有的時候Package 並沒有你要的功能,必須用 Ports 才能把你要的功能安裝上去。

1. Postfix

Postfix 由 Wietse Venema 所開發,目的是為了取代安全性低、效能不佳且設定檔非常難懂的 Sendmail。所以它也提供了一個叫作 Sendmail程式,來處理原本 Sendmail應該要處理的事情。

在正式進入安裝之前,要特別說明的是:Mail Server 跟 DNS關係很重要,DNS沒設定好的話,Mail Server 也就無法運作了。在這裡,我們預設的網域是 skycat.no-ip.org,主機名稱是 mail.skycat.no-ip.org,記得網址的MX記錄要設定好,不然就收不到信了

1.1 安裝和設定

我們要設定 Postfix 使用 SMTP驗證和要支援Mysql。在預設的Package 裡並沒有同時支援兩個的套件,所以我們要用Ports來安裝。用Mysql 來處理我們的帳號資料和實現多網域,而且之後用 Dovecot透過Mysql 來驗證登入。

# cd /usr/ports/mail/postfix/snapshot
# env FLAVOR="mysql sasl2" make install

安裝完後,設定檔會儲存在 /etc/postfix 之下。主要的設定檔是 main.cf ,設定參數共有幾百個可以設定,不過我們只要看主要幾個設定就好。

/etc/postfix/main.cf
# Directory containing all the post* commands
command_directory = /usr/local/sbin
# Directory containing all the Postfix daemon programs
daemon_directory = /usr/local/libexec/postfix


# Full pathnames of various Postfix commands
sendmail_path = /usr/local/sbin/sendmail
newaliases_path = /usr/local/sbin/newaliases
mailq_path = /usr/local/sbin/mailq


# Directories containing documentation
html_directory = /usr/local/share/doc/postfix/html
manpage_directory = /usr/local/man
readme_directory = /usr/local/share/doc/postfix/readme


# The owner of the Postfix queue and of most Postfix daemon processes
mail_owner = _postfix
# The group for mail submission and queue management commands
setgid_group = _postdrop


# The myhostname parameter specifies the internet hostname of this mail system. It is used as default for many other configuration parameters (default = system's FQDN)
myhostname = mail.skycat.no-ip.org


# The internet domain name of this mail system. Used as default for many other configuration parameters (default = $myhostname minus the first component)
mydomain = skycat.no-ip.org


# The domain name that locally-posted mail appears to come from, and that locally posted mail is delivered to. As you can see, a parameter value may refer to other parameters
myorigin = $mydomain


# Network interface addresses that this mail system receives mail on
inet_interfaces = all


# List of domains that this machine considers itself the final destination for. Virtual domains must not be specified here
mydestination = $myhostname, localhost.$mydomain, localhost


# List of "trusted" SMTP clients allowed to relay mail through Postfix.
mynetworks = 127.0.0.0/8


# What destination (sub)domains this system will relay mail to
relay_domains = $mydestination


# List of alias databases used by the local delivery agent
alias_maps = hash:/etc/postfix/aliases


# Alias database(s) built with "newaliases" or "sendmail -bi". This is a separate configuration parameter, because alias_maps may specify tables that are not necessarily all under control by Postfix
alias_database = hash:/etc/postfix/aliases


# SMTP greeting banner
smtpd_banner = $myhostname ESMTP $mail_name


# Postfix is final destination for the specified list of "virtual" domains
virtual_mailbox_domains = skycat.no-ip.org


# Virtual mailboxes base directory
virtual_mailbox_base = /var/vmail


# Optional lookup tables with all valid addresses in the domains that match
# $virtual_mailbox_domains.
virtual_mailbox_maps = hash:/etc/postfix/vmailbox


# The minimum user ID value accepted by the virtual(8) delivery agent
virtual_minimum_uid = 2000


# User ID that the virtual(8) delivery agent uses while writing to the recipient's mailbox
virtual_uid_maps = static:2000


# Group ID that the virtual(8) delivery agent uses while writing to the recipient's mailbox
virtual_gid_maps = static:2000


# Optional lookup tables that alias specific mail addresses or domains to other local or remote address
virtual_alias_maps = hash:/etc/postfix/virtual

我們將會使用虛擬用戶(非系統用戶),所以我們要建立一個帳號來供存取虛擬用戶的信箱。我們預設的路徑是 /var/vmail ,指定的 uid 和 gid 是2000 ,並且在 main.cf 中的 virtual_uid_maps 和 virtual_gid_maps 參數中設定它。

# useradd -d /var/vmail -g =uid -u 2000 -s /sbin/nologin \
> -c "Virutal Mailboxes Owner" -m vmail

我們希望所有的信箱都能集中在同一個目錄中,也就是 /var/vmail 。我們在 main.cf 中設定 virtual_mailbox_base 的參數為 /var/vmail 。
在我們設定的 virtual_mailbox_maps 參數中,指向 /etc/postfix/vmailbox 檔。在這個檔中設定我們的虛擬用戶資料,每行一筆資料,資料格式是:帳號 信箱路徑。

/etc/postfix/vmailbox
syfeng@skycat.no-ip.org         skycat.no-ip.org/syfeng/
[...]

virtual_alias_maps 參數中可以讓我們建立帳號的別名,也就是寄到別名的信箱,會同步的寄到所指向的信箱中,你可以想做是信箱的群組。這裡我們建立兩個別名,也就是預設應該要 有的帳號 postmaster 和 abuse。

/etc/postfix/virtual
postmaster@skycat.no-ip.org     syfeng@skycat.no-ip.org
abuse@skycat.no-ip.org          syfeng@skycat.no-ip.org
[...]

修改 /etc/postfix/aliases :在這個檔裡已經預先幫我們建立了一些預設的帳號,在這個檔裡是給本機帳號用的別名,我們只要修改 root: 那一行就可以了。這裡指的是,只要寄到本機帳號 root 的信,都會傳給 syfeng@skycat.no-ip.org 。

/etc/postfix/aliases
root:                           syfeng@skycat.no-ip.org
[...]

最後,我們要建立索引檔供 Postfix 使用:

# /usr/local/sbin/postmap /etc/postfix/vmailbox
# /usr/local/sbin/postmap /etc/postfix/virtual
# /usr/local/sbin/newaliases

啟用 Postfix:

# /usr/local/sbin/postfix-enable

將原先的 Sendmail 排程註解掉

# crontab -e

# sendmail clientmqueue runner
#*/30 * * * * /usr/sbin/sendmail -L sm-msp-queue -Ac -q

接著編輯 /etc/rc.conf.local 啟動 Postfix

/etc/rc.conf.local
# Specify a location where syslogd(8) should place an additional log socket for Postfix
syslogd_flags="-a /var/spool/postfix/dev/log"

# Make Postfix start in background and process queued messages every 30 min
sendmail_flags="-bd"



現在,我們可以重開機了。

7zip 打包工具

【軟體名稱】:7zip 打包工具
【軟體語言】:繁體中文
【檔案格式】:EXE
【檔案大小】:600KB
【檔案下載】:MegaUpload

【軟體介紹】:

因為常常要打包檔案,7zip又是最高的壓縮率的格式,所以特別常用
但是因為指令太長,本來是寫成批次檔作壓縮,不過每次都要改檔名很煩
用Autoit 寫了一個很簡單的程式,用的是最高高高的壓縮率
內含7zr.exe 只能選擇資料夾來壓縮,但是壓縮是不含資料夾的~~
希望有人能懂我在說什麼
使用時直接把要壓的資料夾拉進去就可以了,夠簡單吧…
配合 7-Zip SFX Maker 可以做成自解壓縮並執行程式的檔案
我很多工具都是這樣打包的,有興趣或是有其他提議的話可以再跟我聯絡



IE8 + 修正 安裝包

【軟體名稱】:IE8 + 修正 安裝包
【軟體語言】:繁體中文
【檔案格式】:EXE
【檔案大小】:27MB
【檔案下載】:MegaUpload

【軟體介紹】:


安裝 IE8 以及之後的四個修正
一樣,裝完之後再上網去看就已經看不到有關IE8的修正了
執行之後會先安裝IE8,接下來會重開機,然後會再自動裝修正
因為裝完IE8之後沒重開機的話修正安裝不上去
給有需要的人


2010年11月16日 星期二

Windows XP SP3, Windows Server 2003 SP2 修正補完包

【軟體名稱】:Windows XP SP3, Windows Server 2003 SP2 修正補完包
【軟體語言】:繁體中文
【檔案格式】:EXE
【檔案大小】:73MB, 56MB
【檔案下載】:MegaUpload
【軟體介紹】:

不用多說,就是XP SP3 之後的修正包,和 Server2003 SP2 之後的修正包
共修正到最新 2010/11 的更新

XP 共有 88個,SERVER 2003 共有102個
XP一定要SP3才能執行,SERVER 2003的話要SP2才能執行

為什麼我的修正包才88、102個,別人的都13X個呢?
別問我,我也想知道他們包了些什麼
總之,用原版XPSP3和SERVER2003SP2光碟灌完之後
再執行我的修正包,然後再上網更新的話…
只會看到三個更新:
一個是890830,太煩了,每月都要更新,所以不想放
一個是WGA的修正,這個不用說,大家不會希望我放吧
一個是安裝IE8,這個給要裝的人再去弄修正吧 = =

另外附上,如果有抓我的2010紀念版的話,可以下載2010FIX_1011補完包
好像只有44個修正,比較小,也比較快

過幾天應該會再發英文版的修正,有興趣的人再來抓吧


Win2003SP2_1011.exe
WinXPSP3_1011.exe
2010Fix_1011.exe