<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>4wei-diary</title><link>http://blog.ntut.idv.tw/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/4wei" /><description>生活就如同手中的那一杯咖啡，有苦澀也有甘美！懂得調配手中那杯咖啡的人，就懂得如何享受生活。</description><language>en</language><managingEditor>noreply@blogger.com (4wei-diary)</managingEditor><lastBuildDate>Sat, 19 May 2012 09:23:45 PDT</lastBuildDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">268</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="4wei" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><itunes:explicit>no</itunes:explicit><itunes:subtitle>生活就如同手中的那一杯咖啡，有苦澀也有甘美！懂得調配手中那杯咖啡的人，就懂得如何享受生活。</itunes:subtitle><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">4wei</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item><title>[ FBSD ] 最常用的兩個 SHELL 中文環境設定</title><link>http://blog.ntut.idv.tw/2012/02/fbsd-shell.html</link><category>FreeBSD</category><category>FreeNAS</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Tue, 21 Feb 2012 23:06:13 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-8338201183111045594</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;使用 Pietty 最常用到，卻最常需要 Google，還是將它們做個筆記，最常用的兩個 SHELL 及 Vim&amp;nbsp;中文環境設定。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: blue;"&gt;#vi etc/profile&lt;/span&gt;&lt;/b&gt;    # for BASH&lt;br /&gt;&lt;span style="color: #38761d;"&gt;LC_CTYPE=en_US.ISO8859-1; export LC_CTYPE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;LC_CTYPE=zh_TW.UTF-8; export LC_ALL&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;LANG=zh_TW.UTF-8; export LANG&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: blue;"&gt;#source /etc/profile&lt;/span&gt;&lt;/b&gt;   # 立即生效&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: blue;"&gt;#vi etc/csh.cshrc&lt;/span&gt;&lt;/b&gt;    # for CSH&lt;br /&gt;&lt;span style="color: #38761d;"&gt;setenv LC_CTYPE en_US.ISO8859-1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;setenv LC_ALL zh_TW.UTF-8&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;setenv LANG zh_TW.UTF-8&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: blue;"&gt;# cd /usr/ports/editors/vim&lt;/span&gt;&amp;nbsp;&lt;/b&gt;    # 安裝 vim 編輯器&lt;br /&gt;&lt;b&gt;&lt;span style="color: blue;"&gt;# make -DWITHOUT_X11 install clean&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: blue;"&gt;# cd ~&lt;/span&gt;&lt;/b&gt; &amp;nbsp; # &amp;nbsp;切換到家目錄&lt;br /&gt;&lt;b&gt;&lt;span style="color: blue;"&gt;# vi .vimrc &lt;/span&gt;&lt;/b&gt;&amp;nbsp; &amp;nbsp; # for VIM&lt;br /&gt;&lt;span style="color: #38761d;"&gt;set enc=utf-8&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;set fenc=utf-8&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;set fileencodings=utf-8,ucs-bom,big5,latin1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;set cindent&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;set hls&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;set nocompatible&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;set sw=2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;set background=dark&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;set nomodeline&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;syntax on&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;highlight Comment ctermfg=darkcyan&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;highlight Search term=reverse ctermbg=4 ctermfg=7&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-8338201183111045594?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ FBSD ] Find and delete all Thumbs.db files</title><link>http://blog.ntut.idv.tw/2010/09/fbsd-find-and-delete-all-thumbsdb-files.html</link><category>FreeBSD</category><category>FreeNAS</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Fri, 10 Sep 2010 01:07:07 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-4493997340806297368</guid><description>Windows XP 在瀏覽網芳的開放資料夾時會自動產生圖檔的縮圖暫存檔 Thunbs.db，這個資料夾會因使用者的不同而建立擁有者權限，當使用者想刪除資料夾時就會被拒絕，解決方式如下： &lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. 在 samba 中設定不允許 nt acl &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# vi smb.conf&lt;/b&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;nt acl support = no&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. 手動刪除全部的 Thunbs.db&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Unix/Linux 下操作：&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# find /mnt/soft/ -name "Thunbs.db" -exec rm '{}' \;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Windows 下操作：&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;C:\del D:\Thumb.db /f /s /q /a&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # D代表你的硬碟D槽&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-4493997340806297368?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ FBSD ] FreeNAS mount WinXP folder by mount_smbfs</title><link>http://blog.ntut.idv.tw/2010/09/fbsd-freenas-mount-winxp-folder-by.html</link><category>FreeBSD</category><category>FreeNAS</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Mon, 06 Sep 2010 23:53:58 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-666279456440810659</guid><description>將 Windows XP上網芳協定所分享出來的資料夾掛載到 FreeBSD/FreeNAS 中，而要如何將它自動掛載起來？其設定方式如下：&lt;br /&gt;&lt;b&gt;&lt;br /&gt;(1) Windows XP 端&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;在使用者管理內新增一個測試使用者 USERA 密碼相同，同時將分享的資料夾 D:\Share 設定給 USERA 這個使用者，USERA擁有可讀寫的權限(WinXP資料夾設定預設為簡易，在資料夾選項&amp;gt;檢視中可勾選掉使用簡易檔案共用)。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;(2) FreeBSD/FreeNAS 端&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mkdir /mnt/win&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 建立一個欲掛載使用的資料夾取名為 win&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #0b5394;"&gt;# vi /etc/nsmb.conf&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 編寫自動掛載資訊用於主要是除去互動式密碼輸入&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;[default]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;workgroup=WORKGROUP&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;[SERVER-NAME]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;addr=10.10.10.6&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;[SERVER-NAME:USERA]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;password=USERA&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# vi /etc/rc.d/smb_mount&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp; 編寫開機執行檔，讓開機自動掛載 windows 網芳&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;#!/bin/csh&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;# 參數：-I 為指定主機名稱或IP、-N 則為不要詢問密碼&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;mount_smbfs -I 10.10.10.6 -N //USERA@SERVER-NAME/Share /mnt/win&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="background-color: white; color: #0b5394;"&gt;# chmod 755 /etc/rc.d/smb_mount&lt;/b&gt;&lt;span style="background-color: white; color: #0b5394;"&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp; # 改變為可執行權限&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mount_smbfs -I 10.10.10.6 -N //USERA@SERVER-NAME/Share&amp;nbsp; /mnt/win&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 手動掛載&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;&lt;span style="color: #0b5394;"&gt;# df&lt;/span&gt;&amp;nbsp;&lt;/b&gt;&amp;nbsp; # 查看掛載資訊&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Filesystem&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1K-blocks&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Used&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Avail Capacity&amp;nbsp; Mounted on&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;/dev/ad0s1a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1008590&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 94828&amp;nbsp;&amp;nbsp;&amp;nbsp; 833076&amp;nbsp;&amp;nbsp;&amp;nbsp; 10%&amp;nbsp;&amp;nbsp;&amp;nbsp; /&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;devfs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 100%&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;procfs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 100%&amp;nbsp;&amp;nbsp;&amp;nbsp; /proc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;//USERA@SERVER-NAME/SHARE 385977656 226092876 159884780&amp;nbsp;&amp;nbsp;&amp;nbsp; 59%&amp;nbsp;&amp;nbsp;&amp;nbsp; /mnt/win&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# umount&amp;nbsp; //USERA@SERVER-NAME/SHARE&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 手動卸載&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ref:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.unix.com/man-page/FreeBSD/8/mount_smbfs/"&gt;http://www.unix.com/man-page/FreeBSD/8/mount_smbfs/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://static.closedsrc.org/articles/dn-articles/backingUpFreeBSD.html"&gt;http://static.closedsrc.org/articles/dn-articles/backingUpFreeBSD.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-666279456440810659?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ LOS ] Set Up Software RAID1 On CentOS Linux</title><link>http://blog.ntut.idv.tw/2010/04/los-set-up-software-raid1-on-centos.html</link><category>CentOS</category><category>Linux</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Fri, 30 Apr 2010 00:00:10 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-5013740622733015536</guid><description>這是在 CentOS Linux上的 SoftRAID 設定方式，比起FreeBSD稍微覆雜些，原系統主硬碟安裝時parttion是沒有使用LVM(Logical Volume Manager)而是直接採用etx3格式，下面紀錄了 SoftRAID1 的安裝過程。&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# fdisk&amp;nbsp; -l&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 查看系統上的磁區，總共兩顆 hda 及 hdb&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&lt;span style="color: red;"&gt;Disk /dev/hda: 20.5 GB&lt;/span&gt;, 20547841536 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;255 heads, 63 sectors/track, 2498 cylinders&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Units = cylinders of 16065 * 512 = 8225280 bytes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp; Device Boot&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Blocks&amp;nbsp;&amp;nbsp; Id&amp;nbsp; System&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;/dev/hda1&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128488+&amp;nbsp; 83&amp;nbsp; Linux&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;/dev/hda2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 147&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1052257+&amp;nbsp; 82&amp;nbsp; Linux swap / Solaris&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;/dev/hda3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 148&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2498&amp;nbsp;&amp;nbsp;&amp;nbsp; 18884407+&amp;nbsp; 83&amp;nbsp; Linux&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&lt;span style="color: red;"&gt;Disk /dev/hdb: 20.5 GB&lt;/span&gt;, 20547841536 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;16 heads, 63 sectors/track, 39813 cylinders&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Units = cylinders of 1008 * 512 = 516096 bytes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp; Device Boot&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Blocks&amp;nbsp;&amp;nbsp; Id&amp;nbsp; System&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# yum install mkinitrd mdadm&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 安裝 softraid 管理軟體&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# modprobe linear&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 載入 raid 的 kernel modules（先別重開機）&lt;br /&gt;&lt;b&gt;&lt;span style="color: #0b5394;"&gt;# modprobe multipath&lt;/span&gt;&lt;br style="color: #0b5394;" /&gt;&lt;span style="color: #0b5394;"&gt;# modprobe raid0&lt;/span&gt;&lt;br style="color: #0b5394;" /&gt;&lt;span style="color: #0b5394;"&gt;# modprobe raid1&lt;/span&gt;&lt;br style="color: #0b5394;" /&gt;&lt;span style="color: #0b5394;"&gt;# modprobe raid5&lt;/span&gt;&lt;br style="color: #0b5394;" /&gt;&lt;span style="color: #0b5394;"&gt;# modprobe raid6&lt;/span&gt;&lt;br style="color: #0b5394;" /&gt;&lt;span style="color: #0b5394;"&gt;# modprobe raid10&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# sfdisk -d /dev/hda | sfdisk /dev/hdb --force&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 將第一顆硬碟 hda 的 parttion 複製到 hdb&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# fdisk -l&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 查看磁區資訊&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Disk /dev/hda: 20.5 GB, 20547841536 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;255 heads, 63 sectors/track, 2498 cylinders&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Units = cylinders of 16065 * 512 = 8225280 bytes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp; Device Boot&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Blocks&amp;nbsp;&amp;nbsp; Id&amp;nbsp; System&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;/dev/hda1&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128488+&amp;nbsp; 83&amp;nbsp; Linux&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;/dev/hda2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 147&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1052257+&amp;nbsp; 82&amp;nbsp; Linux swap / Solaris&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;/dev/hda3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 148&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2498&amp;nbsp;&amp;nbsp;&amp;nbsp; 18884407+&amp;nbsp; 83&amp;nbsp; Linux&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Disk /dev/hdb: 20.5 GB, 20547841536 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;16 heads, 63 sectors/track, 39813 cylinders&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Units = cylinders of 1008 * 512 = 516096 bytes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp; Device Boot&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Blocks&amp;nbsp;&amp;nbsp; Id&amp;nbsp; System&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;/dev/hdb1&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128488+&amp;nbsp; 83&amp;nbsp; Linux&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;/dev/hdb2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 256&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2343&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1052257+&amp;nbsp; 82&amp;nbsp; Linux swap / Solaris&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;/dev/hdb3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2343&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 39812&amp;nbsp;&amp;nbsp;&amp;nbsp; 18884407+&amp;nbsp; 83&amp;nbsp; Linux&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# fdisk /dev/hdb&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 對第二棵硬碟進行parttion規劃&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Command (m for help): &lt;b style="color: #0b5394;"&gt;t&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Partition number (1-4): &lt;b style="color: #0b5394;"&gt;1&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Hex code (type L to list codes): &lt;b style="color: #0b5394;"&gt;fd&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Changed system type of partition 1 to fd (Linux raid autodetect)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Command (m for help): &lt;b style="color: #0b5394;"&gt;t&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Partition number (1-4): &lt;b style="color: #0b5394;"&gt;2&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Hex code (type L to list codes): &lt;b style="color: #0b5394;"&gt;fd&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Changed system type of partition 2 to fd (Linux raid autodetect)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Command (m for help): &lt;b style="color: #0b5394;"&gt;t&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Partition number (1-4): &lt;b style="color: #0b5394;"&gt;3&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Hex code (type L to list codes): &lt;b style="color: #0b5394;"&gt;fd&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Changed system type of partition 3 to fd (Linux raid autodetect)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Command (m for help):&lt;b style="color: #0b5394;"&gt; w&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;The partition table has been altered!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mdadm --zero-superblock /dev/hdb1&lt;br /&gt;# mdadm --zero-superblock /dev/hdb2&lt;br /&gt;# mdadm --zero-superblock /dev/hdb3&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/hdb1&lt;/b&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/hdb2&lt;/b&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/hdb3&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# cat /proc/mdstat&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 查看資訊 hdb 這顆硬碟已經加入 md RAID 中&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;md2 : active raid1 hdb3[1]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 18884288 blocks [2/1] [_U]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;md1 : active raid1 hdb2[1]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1052160 blocks [2/1] [_U]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;md0 : active raid1 hdb1[1]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128384 blocks [2/1] [_U]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;unused devices: &lt;none&gt;&lt;/none&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mkfs.ext3 /dev/md0&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 格式化&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mkfs.ext3 /dev/md2&lt;br /&gt;# mkswap /dev/md1&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mdadm --examine --scan &amp;gt;&amp;gt; /etc/mdadm.conf&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # RAID的文件配置&lt;br /&gt;# cat /etc/mdadm.conf&amp;nbsp;&amp;nbsp;&amp;nbsp; # 查看raid設定檔&lt;br /&gt;&lt;span style="color: #741b47;"&gt;ARRAY /dev/md0 level=raid1 num-devices=2 UUID=99f34a09:5928203e:48d5bb08:74e32d59&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;ARRAY /dev/md1 level=raid1 num-devices=2 UUID=1e1f6fdc:c7ccbdf0:ef6ede01:cea22d9e&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;ARRAY /dev/md2 level=raid1 num-devices=2 UUID=c3db9ae6:23891592:55838167:40aa1172&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mkdir /mnt/md0&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 建立資料夾 &lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mkdir /mnt/md2&lt;/b&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mount /dev/md0 /mnt/md0&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 掛載 md&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mount /dev/md2 /mnt/md2&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mount&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 查看掛載資訊&lt;br /&gt;&lt;span style="color: #741b47;"&gt;/dev/hda3 on / type ext3 (rw)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;proc on /proc type proc (rw)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;sysfs on /sys type sysfs (rw)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;devpts on /dev/pts type devpts (rw,gid=5,mode=620)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;/dev/hda1 on /boot type ext3 (rw)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;tmpfs on /dev/shm type tmpfs (rw)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;/dev/md0 on /mnt/md0 type ext3 (rw)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;/dev/md2 on /mnt/md2 type ext3 (rw)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# vi /etc/fstab&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 編輯&amp;nbsp; fstab 檔&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/dev/md2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ext3&amp;nbsp;&amp;nbsp;&amp;nbsp; defaults&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/dev/md0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /boot&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ext3&amp;nbsp;&amp;nbsp;&amp;nbsp; defaults&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;tmpfs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev/shm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmpfs&amp;nbsp;&amp;nbsp; defaults&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;devpts&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev/pts&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; devpts&amp;nbsp; gid=5,mode=620&amp;nbsp; 0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;sysfs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /sys&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sysfs&amp;nbsp;&amp;nbsp; defaults&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;proc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /proc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc&amp;nbsp;&amp;nbsp;&amp;nbsp; defaults&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/dev/md1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; swap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; swap&amp;nbsp;&amp;nbsp;&amp;nbsp; defaults&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# vi /etc/mtab&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 編輯 mtab 檔&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/dev/md2 / ext3 rw 0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;proc /proc proc rw 0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;sysfs /sys sysfs rw 0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;devpts /dev/pts devpts rw,gid=5,mode=620 0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/dev/md0 /boot ext3 rw 0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;tmpfs /dev/shm tmpfs rw 0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;#/dev/md0 /mnt/md0 ext3 rw 0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;#/dev/md2 /mnt/md2 ext3 rw 0 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# vi /boot/grub/menu.lst&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 在 default=0 之後加入 fallback=1 同時將hd0改hd1以及修改root為/dev/md2&lt;br /&gt;&lt;span style="color: #38761d;"&gt;default=0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;timeout=5&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;splashimage=(&lt;span style="color: red;"&gt;hd1&lt;/span&gt;,0)/grub/splash.xpm.gz&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;hiddenmenu&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;title CentOS (2.6.18-164.el5)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root (&lt;span style="color: red;"&gt;hd1&lt;/span&gt;,0)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kernel /vmlinuz-2.6.18-164.el5 ro root=&lt;span style="color: red;"&gt;/dev/md2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initrd /initrd-2.6.18-164.el5-raid.img&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img_orig&lt;/b&gt;&amp;nbsp; #備份 &lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mkinitrd /boot/initrd-`uname -r`.img `uname -r`&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 將 Software RAID Module 載入 initrd.img&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# cp -dpRx / /mnt/md2&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 將第一顆硬碟裡的資料全數複製到第二顆硬碟&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# cd /boot&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 切換目錄&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# cp -dpRx . /mnt/md0&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 將第一顆硬碟裡的boot複製到第二顆硬碟&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# grub&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 修改開機設定檔&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; grub&amp;gt;&lt;span style="color: #0b5394;"&gt;root (hd0,0)&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; grub&amp;gt;&lt;span style="color: #0b5394;"&gt;setup (hd0)&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; grub&amp;gt;&lt;span style="color: #0b5394;"&gt;root (hd1,0)&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; grub&amp;gt;&lt;span style="color: #0b5394;"&gt;setup (hd1)&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; grub&amp;gt;&lt;span style="color: #0b5394;"&gt;quit&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# quit&lt;br /&gt;# reboot&lt;/b&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# df -h&lt;/b&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;檔案系統&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 容量&amp;nbsp; 已用 可用 已用% 掛載點&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;/dev/md2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 18G&amp;nbsp; 1.3G&amp;nbsp;&amp;nbsp; 16G&amp;nbsp;&amp;nbsp; 8% /&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;/dev/md0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 122M&amp;nbsp;&amp;nbsp; 14M&amp;nbsp; 102M&amp;nbsp; 12% /boot&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;tmpfs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 252M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp; 252M&amp;nbsp;&amp;nbsp; 0% /dev/shm&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# cat /proc/mdstat&lt;/b&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Personalities : [raid1]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;md0 : active raid1 hdb1[1]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128384 blocks [2/1] [_U]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;md1 : active raid1 hdb2[1]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1052160 blocks [2/1] [_U]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;md2 : active raid1 hdb3[1]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 18884288 blocks [2/1] [_U]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# fdisk /dev/hda&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 規劃 parttion 為 fd（Linux raid auto）格式 &lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mdadm --add /dev/md0 /dev/hda1&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 新增加 Parttion 到 md 軟體RAID中&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mdadm --add /dev/md1 /dev/hda2&lt;br /&gt;# mdadm --add /dev/md2 /dev/hda3&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# cat /proc/mdstat&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 查看兩個UU表示兩顆硬碟都ok ===&amp;gt; 為同步進度&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Personalities : [raid1]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;md0 : active raid1 hda1[0] hdb1[1]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128384 blocks [2/2] [UU]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;md1 : active raid1 hda2[2] hdb2[1]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1052160 blocks [2/1] [_U]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [====&amp;gt;................]&amp;nbsp; recovery = 24.6% (259456/1052160) finish=0.6min speed=21621K/sec&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;md2 : active raid1 hda3[2] hdb3[1]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 18884288 blocks [2/1] [_U]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resync=DELAYED&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;unused devices: &lt;none&gt;&lt;/none&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# watch cat /proc/mdstat&lt;/b&gt;&amp;nbsp; # 即時查看同步進度&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# vi /boot/grub/menu.lst&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 修改 menu.lst 增加一筆 hd0&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;default=0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;fallback=1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;timeout=5&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;splashimage=(hd1,0)/grub/splash.xpm.gz&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;hiddenmenu&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;title CentOS (2.6.18-164.el5)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root (hd1,0)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/md2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initrd /initrd-2.6.18-164.el5.img&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;title CentOS (2.6.18-164.el5)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root (hd0,0)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/md2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initrd /initrd-2.6.18-164.el5.img&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #0b5394;"&gt;# mdadm --examine --scan &amp;gt; /etc/mdadm.conf&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 完成同步後再進行第二次掃描建立 mdadm.conf 檔&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img_orig2&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 備份&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mkinitrd /boot/initrd-`uname -r`.img `uname -r`&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 將 Software RAID Module 載入 initrd.img&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# reboot&amp;nbsp; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;※ 模擬狀況測試&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. 下指令模擬摘除某個parttion再重新掛回：&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mdadm --manage /dev/md0 --fail /dev/hdb1 --remove /dev/hdb1&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 移除第二顆硬碟hdb的第一個parttion&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mdadm --add /dev/md0 /dev/hdb1&amp;nbsp;&lt;/b&gt;&amp;nbsp; # 重新加入 hdb1 要下指令 sync&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# cat /proc/mdstat&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 觀察是否正在進行 sync 動做&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　&lt;br /&gt;2. 實際關機後摘除其中一顆硬碟，開機一樣可以正常運作，接著再關機重新插回硬碟，開機後執行：&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# cat /proc/mdstat&lt;/b&gt;&amp;nbsp; # 查看&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mdadm --add /dev/md0 /dev/hda1&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 必須手動將 parttion 重新加到 md0&lt;br /&gt;&lt;b&gt;&lt;span style="color: #0b5394;"&gt;# mdadm --add /dev/md1 /dev/hda2&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 必須手動將 parttion 重新加到 md1 &lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mdadm --add /dev/md2 /dev/hda3&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 必須手動將 parttion 重新加到 md2 &lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# cat /proc/mdstat&lt;/b&gt; # 可看到系統正在進行 sync&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　&lt;br /&gt;3. 關機後實際摘除其中一顆硬碟(hdb)，以另一顆全新硬碟取代(新硬碟當第二顆)，開機後執行：&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# sfdisk -d /dev/hda | sfdisk /dev/hdb&lt;br /&gt;# mdadm --add /dev/md0 /dev/hdb1&lt;br /&gt;# mdadm --add /dev/md1 /dev/hdb2&lt;/b&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# cat /proc/mdstat&lt;/b&gt;&amp;nbsp; # 靜候 sync 作業完成&lt;br /&gt;&lt;br /&gt;&lt;b&gt;※ 監控管理&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# mdadm --monitor --scan --mail= your-email@address.com&amp;nbsp; /dev/md0 -t -1&lt;/b&gt;　#手動測試監控發信通知&lt;br /&gt;&lt;b style="color: #0b5394;"&gt;# crontab -e&lt;/b&gt;　　# 加入 crontab 每隔一段時間監控發信通知&lt;br /&gt;&lt;span style="color: #38761d;"&gt;*/5&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp; /sbin/mdadm --monitor --scan --mail= your-email@address.com /dev/md0 -1&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ref.&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.howtoforge.com/how-to-set-up-software-raid1-on-a-running-system-incl-grub-configuration-centos-5.3"&gt;http://www.howtoforge.com/how-to-set-up-software-raid1-on-a-running-system-incl-grub-configuration-centos-5.3&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-5013740622733015536?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ LOS ] Install eGroupware On CentOS Linux</title><link>http://blog.ntut.idv.tw/2010/04/los-install-egroupware-on-centos-linux.html</link><category>CentOS</category><category>Linux</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Wed, 28 Apr 2010 02:12:33 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-2955208186782573721</guid><description>這是在 CentOS 5.4 中安裝 eGroupware-1.6.003-2 的過程同時修改甘特圖中文亂碼問題，做個紀錄方便以後有用到可參考。&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# /etc/rc.d/init.d/sendmail stop&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 關閉原本的MTA&lt;br /&gt;&lt;span style="color: purple;"&gt;正在關閉 sm-client:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;正在關閉 sendmail:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# yum -y install postfix dovecot&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 安裝25port及143port的 e-mail 服務&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# vi /etc/postfix/main.cf&amp;nbsp;&amp;nbsp;&lt;/b&gt;&amp;nbsp; # 設定 postfix 主設定檔&lt;br /&gt;&lt;span style="color: #38761d;"&gt;myhostname = mail.ntut.idv.tw&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;myorigin = $myhostname&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;inet_interfaces = all&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;mydestination = $myhostname, localhost.$mydomain, localhost, ntut.idv.tw&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;mynetworks = 127.0.0.0/8, 10.88.88.0/24&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;home_mailbox = Maildir/ &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# /etc/init.d/postfix start&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 啟動 postfix&lt;br /&gt;&lt;span style="color: purple;"&gt;正在啟動 postfix:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# alternatives --config mta&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 修改主要 MTA&lt;br /&gt;&lt;span style="color: purple;"&gt;有 2 程式提供 'mta'。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;&amp;nbsp; 選擇&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 指令&lt;/span&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;-----------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;*+ 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/sbin/sendmail.sendmail&lt;/span&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/sbin/sendmail.postfix&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;請輸入以保留目前的選擇[+]，或輸入選擇號碼:&lt;/span&gt;&lt;b style="color: blue;"&gt;2&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# vi /etc/dovecot.conf&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 開啟 imap 及 pop3&lt;br /&gt;&lt;span style="color: #38761d;"&gt;protocols = imap pop3&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;mail_location = maildir:~/Maildir &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# chkconfig postfix on&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 設定開機啟動 postfix&lt;br /&gt;&lt;b style="color: blue;"&gt;# chkconfig dovecot on&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 設定開機啟動 dovecot&lt;br /&gt;&lt;b style="color: blue;"&gt;# /etc/init.d/dovecot start&lt;/b&gt;&amp;nbsp; # 手動啟動 dovecot&lt;br /&gt;&lt;span style="color: purple;"&gt;正在啟動 Dovecot Imap:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# yum -y install httpd mysql-server php php-mysql php-mbstring php-imap php-gd php-pear cron&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 安裝相關軟體&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# /etc/init.d/mysqld start&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 啟動 mysql-server&lt;br /&gt;&lt;span style="color: purple;"&gt;正在啟動 httpd:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# mysql -p&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 建立 mysql DB 和 User&lt;br /&gt;&lt;b&gt;mysql&amp;gt;&lt;/b&gt; &lt;b style="color: blue;"&gt;CREATE DATABASE egroupware;&lt;/b&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;Query OK, 1 row affected (0.00 sec)&lt;/span&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;&lt;span style="color: black;"&gt;mysql&amp;gt;&lt;/span&gt; GRANT ALL ON egroupware.* TO egroupware@localhost IDENTIFIED BY 'Password';&lt;/b&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;Query OK, 0 rows affected (0.01 sec)&lt;/span&gt;&lt;br /&gt;&lt;b&gt;mysql&amp;gt;&lt;/b&gt; &lt;b style="color: blue;"&gt;exit&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# /etc/init.d/httpd start&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 啟動 apache&lt;br /&gt;&lt;span style="color: purple;"&gt;正在啟動 httpd:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# chkconfig httpd on&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 設定開機自動啟動 httpd&lt;br /&gt;&lt;b style="color: blue;"&gt;# chkconfig mysqld on&amp;nbsp;&amp;nbsp;&lt;/b&gt;&amp;nbsp; # 設定開機自動啟動 mysql&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# cd /var/www/html/&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 切換目錄&lt;br /&gt;&lt;b style="color: blue;"&gt;# wget http://sourceforge.net/projects/egroupware/files/egroupware/eGroupware-1.6.003-2/eGroupware-1.6.003-2.tar.gz/download&lt;/b&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# wget http://sourceforge.net/projects/egroupware/files/egroupware/eGroupware-1.6.003-2/eGroupware-egw-pear-1.6.003-2.tar.gz/download&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 這個套件是FelaMiMail要用的&lt;br /&gt;&lt;b style="color: blue;"&gt;# tar -xzvf eGroupware-1.6.003-2.tar.gz&lt;/b&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# tar -xzvf eGroupware-egw-pear-1.6.003-2.tar.gz&lt;/b&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# chown -R apache:apache egroupware&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# vi /etc/php.ini&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 檢查 php 設定檔&lt;br /&gt;&lt;span style="color: #38761d;"&gt;display_errors = Off&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;memory_limit = 32M&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;file_uploads = On&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;mbstring.func_overload = 7&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# /etc/init.d/httpd restart&amp;nbsp;&lt;/b&gt;&amp;nbsp; # 重新啟動 apache&lt;br /&gt;&lt;br /&gt;&lt;b&gt;http://10.88.88.88/egroupware/setup/&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 開個瀏覽器開始檢查所缺的軟體&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# pear install Auth_SASL&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 加裝 egroupware 所需要的 pear 套件&lt;br /&gt;&lt;b style="color: blue;"&gt;# pear install Net_IMAP&lt;br /&gt;# pear install Net_Sieve&lt;br /&gt;# pear install channel://pear.php.net/HTTP_WebDAV_Server-1.0.0RC4&lt;br /&gt;# pear install Log&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# mkdir -p /var/lib/egroupware/default/files&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 建立 egroupware 資料 files 目錄&lt;br /&gt;&lt;b style="color: blue;"&gt;# mkdir -p /var/lib/egroupware/default/backup&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 建立 egroupware 資料 backup 目錄&lt;br /&gt;&lt;b style="color: blue;"&gt;# chown -R apache:apache /var/lib/egroupware/default/files&lt;br /&gt;# chown -R apache:apache /var/lib/egroupware/default/backup&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# cd /var/www/html&amp;nbsp;&lt;/b&gt;&amp;nbsp; # 切換到egroupware的相同目錄安裝甘特圖所需套件&lt;br /&gt;&lt;b style="color: blue;"&gt;# wget http://hem.bredband.net/jpgraph2/jpgraph-3.0.7.tar.bz2&lt;/b&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# tar jxvf jpgraph-3.0.7.tar.bz2 /var/www/html/jpgraph&amp;nbsp;&lt;/b&gt; # 將 jpgraph-3.0.7.tar.bz2，解壓縮到 /var/www/html 下&lt;br /&gt;&lt;b style="color: blue;"&gt;# chown -R apache:apache jpgraph&lt;/b&gt;&amp;nbsp; # 更改權限&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# wget http://www.study-area.org/apt/firefly-font/fireflysung-1.3.0.tar.gz&lt;/b&gt;&amp;nbsp; # 下載字型&lt;br /&gt;&lt;b style="color: blue;"&gt;# tar -xzvf fireflysung-1.3.0.tar.gz&lt;/b&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# cd fireflysung&lt;br /&gt;# cp fireflysung.ttf /usr/share/fonts/chinese/TrueType/&lt;br /&gt;# cd /var/www/html/egroupware/projectmanager/inc/ttf-bitstream-vera-1.10&lt;br /&gt;# ln /usr/share/fonts/chinese/TrueType/fireflysung.ttf&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# vi /var/www/html/jpgraph/src/jpgraph_ttf.inc.php&amp;nbsp;&lt;/b&gt; # 修改甘特圖中文亂碼問題&lt;br /&gt;&amp;nbsp; &lt;br /&gt;// 找到下面整段Mark起來&lt;br /&gt;&lt;span style="color: #38761d;"&gt;//&amp;nbsp; elseif( $aFF === FF_BIG5 ) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( !function_exists('iconv') ) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JpGraphError::RaiseL(25006);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ('Usage of FF_CHINESE (FF_BIG5) font family requires that your PHP setup has the iconv() function. By default this is not compiled into PHP (needs the "--width-iconv" when configured).');&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return iconv('BIG5','UTF-8',$aTxt);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;//&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;// 將 bkai00mp.ttf 改 fireflysung.ttf&lt;br /&gt;&lt;span style="color: #38761d;"&gt;//define('CHINESE_TTF_FONT','bkai00mp.ttf');&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;define('CHINESE_TTF_FONT','fireflysung.ttf');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;// 將 FF_CHINESE 改成下面樣子&lt;br /&gt;// 原本&lt;br /&gt;&lt;span style="color: #38761d;"&gt;// FF_CHINESE&amp;nbsp; =&amp;gt;&amp;nbsp;&amp;nbsp; array(&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; FS_NORMAL =&amp;gt;CHINESE_TTF_FONT,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; FS_BOLD =&amp;gt;' ',&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; FS_ITALIC =&amp;gt;' ',&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; FS_BOLDITALIC =&amp;gt;' ' ),&lt;/span&gt;&lt;br /&gt;// 修改後&lt;br /&gt;&lt;span style="color: #38761d;"&gt;FF_CHINESE&amp;nbsp; =&amp;gt;&amp;nbsp;&amp;nbsp; array(&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FS_NORMAL =&amp;gt;CHINESE_TTF_FONT,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FS_BOLD =&amp;gt;CHINESE_TTF_FONT,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FS_ITALIC =&amp;gt;CHINESE_TTF_FONT,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FS_BOLDITALIC =&amp;gt;CHINESE_TTF_FONT ),&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# cd /var/www/html/egroupware/projectmanager/inc/&lt;/b&gt;&lt;br /&gt;&lt;b style="color: blue;"&gt;# vi class.projectmanager_ganttchart.inc.php&lt;/b&gt;&amp;nbsp; # 修改下面&lt;br /&gt;// 將 gantt_char_encode 這行 Mark 起來&lt;br /&gt;&lt;span style="color: #38761d;"&gt;//if ($this-&amp;gt;gantt_char_encode) $text = preg_replace('/[^\x00-\x7F]/e', '"&amp;amp;#".ord("$0").";"',$text);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;//甘特圖中日期中文亂碼問題解決,將 setlocale() 這行 Mark 起來&lt;br /&gt;&lt;span style="color: #38761d;"&gt;//$graph-&amp;gt;scale-&amp;gt;SetDateLocale(common::setlocale());&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;專案管理員 &amp;gt;&amp;gt; 網站設定 &amp;gt;&amp;gt; 字型&amp;gt;&amp;gt;選(chinese(Chinese)) &amp;gt;&amp;gt; 字型字集&amp;gt;&amp;gt;改utf-8&lt;/b&gt;&amp;nbsp; # 更改設定&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ref&lt;/b&gt;&lt;b&gt;︰&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.egroupware.org/%20"&gt;http://www.egroupware.org/ &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ihao.org/dz5/viewthread.php?tid=259"&gt;http://www.ihao.org/dz5/viewthread.php?tid=259&lt;/a&gt;&lt;br /&gt;&lt;a href="http://twpug.net/modules/newbb/viewtopic.php?topic_id=2877"&gt;http://twpug.net/modules/newbb/viewtopic.php?topic_id=2877&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Add︰&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;帳號、密碼有誤時，表示你的 IMAP 與 egroupware 的帳號、密碼不一致，可以到 FelaMiMail 的喜好設定中調整。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. 系統管理 &amp;gt;&amp;gt; emailadmin(編輯)啟用 &amp;gt;&amp;gt; (登出再登入)&lt;br /&gt;2. emailadmin &amp;gt;&amp;gt; 點選 default profile (created by setup) &amp;gt;&amp;gt; 勾選(使用者可以自行定義郵件帳號)後儲存&lt;br /&gt;3. FelaMiMail &amp;gt;&amp;gt; Manage eMail Accounts and Identities&amp;nbsp; &amp;gt;&amp;gt; 新增 &amp;gt;&amp;gt; 填寫IMAP欄位設定即 ok&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-2955208186782573721?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ LOS ] CentOS Update ClamAV Amavisd-new Spamassassin</title><link>http://blog.ntut.idv.tw/2010/04/los-centos-update-clamav-amavisd-new.html</link><category>CentOS</category><category>Linux</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Mon, 19 Apr 2010 01:18:32 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-7373527968690127683</guid><description>這陣子 Linux 中的 Mail Gateway 遇到這樣的問題︰ (一) ClamAV 0.95 之前的版本無法更新病毒碼，手動將原本的 ClamAV 升級到 0.96同時重建 Virus DB 。(二) amavisd-new 中介軟體中產生大量的暫存檔讓 amavisd 無法正常過濾病毒，造成大量的 Mail 被 Queue 住，解決方式手動砍掉/var/amavis/ tmp下的所有暫存檔接著再升級 amavisd-new 軟體 。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;(一)&amp;nbsp; ClamAV&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# cat /var/log/clamav/clamd.log&lt;/b&gt;&amp;nbsp;  # 第一個問題查到本機 clamav 的 log 病毒無法更新&lt;br /&gt;&lt;span style="color: #663366;"&gt;Sat Apr 17 01:05:06 2010 -&amp;gt;  Reading databases from /var/clamav&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;Sat Apr 17 01:05:07 2010  -&amp;gt; &lt;span style="color: red;"&gt;ERROR: reload db failed:  Malformed database&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;Sat Apr 17 01:05:07 2010 -&amp;gt;  Terminating because of a fatal error.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;Sat Apr 17 01:05:07  2010 -&amp;gt; Socket file removed.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;Sat Apr 17 01:05:07 2010 -&amp;gt;  Pid file removed.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;Sat Apr 17 01:05:07 2010 -&amp;gt; ---  Stopped at Sat Apr 17 01:05:07 2010&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# rm -rf /var/clamav/*&lt;/b&gt;&amp;nbsp;  # 刪除 Virus DB &lt;br /&gt;&lt;b style="color: #000099;"&gt;#  /etc/init.d/clamd stop&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 暫停  Service&lt;br /&gt;&lt;b style="color: #000099;"&gt;# yum update clamav&amp;nbsp; &lt;/b&gt;# 使用 yum 手動 update clamav&lt;br /&gt;&lt;b style="color: #000099;"&gt;# freshclam&lt;/b&gt;&amp;nbsp;  #&amp;nbsp; 更新 Virus DB&lt;b style="color: #000099;"&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# /etc/init.d/clamd start&lt;/b&gt; &amp;nbsp;  # 重新啟動 clamav &amp;nbsp; &lt;b style="color: #000099;"&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;(二) Amavisd-new / SpamAssassin&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# cd /var/amavis/&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 查到第二個問題  amavis 中的 tmp 暫存檔過多3萬8千個導致Mail無法過濾&lt;br /&gt;&lt;b style="color: #000099;"&gt;# ls  -l&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: #663366;"&gt;總計 16&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;-rw-r-----&amp;nbsp; 1 amavis amavis&amp;nbsp;&amp;nbsp;&amp;nbsp;  0&amp;nbsp; 4月 19 14:53 amavisd.lock&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;-rw-r-----&amp;nbsp; 1 amavis amavis&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;nbsp; 4月  19 13:46 amavisd.pid&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;srwxr-x---&amp;nbsp; 1 amavis amavis&amp;nbsp;&amp;nbsp;&amp;nbsp;  0&amp;nbsp; 4月 19 13:46 amavisd.sock&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;drwxr-x---&amp;nbsp; 2 amavis amavis 4096&amp;nbsp; 4月  19 13:46 db&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;drwxr-x--- &lt;span style="color: red;"&gt;38000&lt;/span&gt; amavis amavis 4096&amp;nbsp; 4月 19 14:57 tmp&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;drwxr-x---&amp;nbsp; 2 amavis amavis 4096&amp;nbsp; 7月 19&amp;nbsp; 2009 var&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# rm -rf /var/amavis/tmp/*&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #  手動刪掉 tmp 所有檔案&lt;br /&gt;&lt;b style="color: #000099;"&gt;# /etc/init.d/amavisd stop&amp;nbsp;&amp;nbsp; &lt;/b&gt;# 暫停  Service&lt;br /&gt;&lt;b style="color: #000099;"&gt;# /etc/init.d/spamassassin stop&amp;nbsp;&amp;nbsp; &lt;/b&gt;# 暫停  Service&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# yum update clamd amavisd-new  spamassassin&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 手動將所有套件升級&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;#  /etc/init.d/clamd start&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 重新啟動 clamav&lt;span style="color: #663366;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;Starting Clam AntiVirus  Daemon:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# /etc/init.d/amavisd start&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp;  #  重新啟動 amavisd&lt;span style="color: #663366;"&gt;&lt;/span&gt; 失敗&lt;br /&gt;&lt;span style="color: #663366;"&gt;正在啟動 Mail Virus Scanner  (amavisd):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; &lt;/span&gt;&lt;span style="color: #663366;"&gt;失敗&lt;/span&gt;&lt;span style="color: #663366;"&gt; ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# amavisd debug&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 失敗所以用 debug  模式查問題,錯誤訊息說要執行 sa-update&lt;br /&gt;&lt;span style="color: #663366;"&gt;Apr 19 14:38:52.391 ntut.idv.tw  /usr/sbin/amavisd[6795]: (!!)TROUBLE in pre_loop_hook: config: no rules  were found!&amp;nbsp; Do you need to run 'sa-update'?&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;Suicide () TROUBLE in  pre_loop_hook: config: no rules were found!&amp;nbsp; Do you need to run '&lt;span style="color: red;"&gt;sa-update&lt;/span&gt;'?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# sa-update&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 手動執行 sa-update&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# /etc/init.d/amavisd start&amp;nbsp;&lt;/b&gt;&amp;nbsp; #  再次啟動 amavisd 成功 !&lt;br /&gt;&lt;span style="color: #663366;"&gt;正在啟動 Mail  Virus Scanner (amavisd):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# /etc/init.d/spamassassin start&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  #  啟動 spamassassin&lt;br /&gt;&lt;span style="color: #663366;"&gt;正在啟動  spamd:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# /etc/init.d/postfix restart&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #  重新啟動 postfix&lt;br /&gt;&lt;span style="color: #663366;"&gt;正在關閉  postfix:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;正在啟動  postfix:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# netstat -nat |grep LISTEN&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  #  查看 service 是否啟動&amp;nbsp; port 10024,10025,783,25&lt;br /&gt;&lt;span style="color: #663366;"&gt;tcp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 127.0.0.1:10024&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  0.0.0.0:*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LISTEN&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;tcp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 127.0.0.1:10025&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  0.0.0.0:*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LISTEN&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;tcp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 127.0.0.1:783&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  0.0.0.0:*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LISTEN&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;tcp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 0.0.0.0:25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  0.0.0.0:*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LISTEN&lt;/span&gt;&lt;span style="color: #663366;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# telnet 127.0.0.1 10024&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #  手動測試&lt;br /&gt;&lt;span style="color: #663366;"&gt;Trying 127.0.0.1...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;Connected to ntut.idv.tw  (127.0.0.1).&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;Escape character is '^]'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;220 [127.0.0.1] ESMTP amavisd-new  service ready&lt;/span&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;MAIL FROM: &amp;lt; bob@ntut.idv.tw &amp;gt;&lt;jim@ntut.idv.tw&gt;&lt;/jim@ntut.idv.tw&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;250 2.1.0 Sender &lt;jim@ntut.idv.tw&gt;  OK&lt;/jim@ntut.idv.tw&gt;&lt;/span&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;RCPT TO: &lt;/b&gt;&lt;b style="color: #000099;"&gt;&amp;lt; tetralet &amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;250 2.1.5 Recipient &lt;tetralet&gt;  OK&lt;/tetralet&gt;&lt;/span&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;DATA&lt;/b&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;354 End data with  &lt;cr&gt;&lt;lf&gt;.&lt;cr&gt;&lt;lf&gt;&lt;/lf&gt;&lt;/cr&gt;&lt;/lf&gt;&lt;/cr&gt;&lt;/span&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;Subject:Virus Test Pattern&lt;/b&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;&lt;br /&gt;X5O!P%@AP[4\PZX54(P^)7CC)7}$&lt;wbr&gt;&lt;/wbr&gt;EICAR-STANDARD-ANTIVIRUS-TEST-&lt;wbr&gt;&lt;/wbr&gt;FILE!$H+H*&lt;/b&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;.&lt;/b&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;250 2.0.0 Ok, id=06865-01, from MTA([127.0.0.1]:10025): 250  2.0.0 Ok: queued as AEF07A0035&lt;/span&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;quit&lt;/b&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;221 2.0.0 [127.0.0.1] amavisd-new closing  transmission channel&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;Connection closed by foreign host.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# amavisd -V&amp;nbsp;&amp;nbsp; &lt;/b&gt;# 查看升級之後軟體的版本&lt;br /&gt;&lt;span style="color: #663366;"&gt;amavisd-new-2.6.4 (20090625)&lt;/span&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# clamd -V&lt;/b&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;ClamAV 0.96/10757/Mon Apr 19 10:29:28 2010&lt;/span&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# spamassassin -V&lt;/b&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;SpamAssassin version 3.3.1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #663366;"&gt;&amp;nbsp; running on Perl version 5.8.8&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #000099;"&gt;# postsuper -r ALL&amp;nbsp;&amp;nbsp; &lt;/b&gt;# 手動強迫送出 Queue 住的 Mail&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-7373527968690127683?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ FBSD ] FreeBSD Soft Raid1 by Gmirror</title><link>http://blog.ntut.idv.tw/2010/03/fbsd-freebsd-soft-raid1-by-gmirror.html</link><category>FreeBSD</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Sun, 28 Mar 2010 23:19:48 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-1012460333876775495</guid><description>軟體RAID還是硬體RAID好呢？這要端看所使用的地方以及其用途，我個人覺得想省錢的中小企業就蠻適合採用軟體Raid機智，軟體Raid的優點是在於免花錢購買Raid卡也因此就沒有Raid卡掛點的擔優，而硬體Raid卡若掛點恐怕重要資料要救援就麻煩。軟體Raid也有缺點它會損耗CPU的運算資源，因此其效能會比較差些所以比較適合想省錢又不需要高效能的環境。我個人比較偏愛軟體Raid，雖然它犧牲掉一些CPU資源但對系統管理者來說往後的維護也較能自行掌握。FreeBSD 是一套設計相當優良的OS它所納入的軟體Raid相當穩定同時也非常便利使用，下面紀錄了如何在FreeBSD中使用 gmirror 建立軟體Raid 1格式的FreeBSD開機系統。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. 建立第一顆&lt;/b&gt;&lt;b&gt;HD為&lt;/b&gt;&lt;b&gt; Raid-1 mirror 型態&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;※ 安裝完 FreeBSD 後先別重開機按 Alt + F4 便可進入 commend mode 下。&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# csh&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp; 接著給個 C SHELL&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# sysctl kern.geom.debugflags=17&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 設 17 才能將 Metadata 寫入 ad0&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;kern.geom.debugflags: 0 -&amp;gt; 17&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# gmirror label -v -b round-robin gm0 /dev/ad0&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 建立 gm0 同時寫入 Metadata&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# echo geom_mirror_load="YES" &amp;gt; /boot/loader.conf&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 建立開機立即載入 /boot/kernel/geom_mirror.ko&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# cp /etc/fstab /etc/fstab.orig&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 備份原本 fstab&lt;br /&gt;&lt;b style="color: #073763;"&gt;# vi /etc/fstab&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 將所有 ad 改為 gm 同時添加 mirror 修改後如下&lt;br /&gt;&lt;span style="color: #274e13;"&gt;# Device&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mountpoint&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FStype&amp;nbsp; Options&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dump&amp;nbsp;&amp;nbsp;&amp;nbsp; Pass#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;/dev/mirror/gm0s1b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; none&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; swap&amp;nbsp;&amp;nbsp;&amp;nbsp; sw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;/dev/mirror/gm0s1a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ufs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;/dev/mirror/gm0s1d&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /home&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ufs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# reboot&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 重開機&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# mount&lt;/b&gt;&lt;span style="color: #073763;"&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; # 查看掛載的 HD&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;/dev/mirror/gm0s1a on / (ufs, local)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;devfs on /dev (devfs, local, multilabel)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;/dev/mirror/gm0s1d on /home (ufs, local, soft-updates)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. 插入第二顆 HD ad1 到 gm0 中&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# gmirror forget gm0&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 忽略 gm0 中沒有連線的實體裝置&lt;br /&gt;&lt;b style="color: #073763;"&gt;# gmirror insert gm0 /dev/ad1&amp;nbsp;&lt;/b&gt;&amp;nbsp; # 將新的硬碟(eg. ad0) 加入 gm0&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# gmirror status&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 剛 insert 新硬碟時會顯示 DEGRADED 因為還在同步，同步完成後顯示 COMPLETE&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name&amp;nbsp;&amp;nbsp;&amp;nbsp; Status&amp;nbsp; Components&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;mirror/gm0&amp;nbsp; &lt;span style="color: #cc0000;"&gt;DEGRADED&lt;/span&gt;&amp;nbsp; ad0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ad1 (4%)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# gmirror list&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # ad1 的 Flags: 會 SYNCHRONIZING 一段時間要看硬碟大小決定&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Geom name: gm0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;State: DEGRADED&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Components: 2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Balance: round-robin&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Slice: 4096&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Flags: NONE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;GenID: 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;SyncID: 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;ID: 2949628385&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Providers:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;1. Name: mirror/gm0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Mediasize: 20546759168 (19G)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Sectorsize: 512&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Mode: r4w3e8&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Consumers:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;1. Name: ad0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Mediasize: 20546759680 (19G)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Sectorsize: 512&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Mode: r1w1e1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; State: ACTIVE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Priority: 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Flags: NONE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; GenID: 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; SyncID: 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; ID: 2966051479&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;2. Name: ad1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Mediasize: 20547841536 (19G)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Sectorsize: 512&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Mode: r1w1e1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; State: SYNCHRONIZING&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Priority: 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Flags: DIRTY, &lt;span style="color: #cc0000;"&gt;SYNCHRONIZING&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; GenID: 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; SyncID: 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Synchronized: 67%&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; ID: 2490835271&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. 永久移除 gmirror 中的某顆 HD&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #073763;"&gt;# gmirror remove gm0 ad0　&lt;/span&gt;&lt;/b&gt;　# 移除實體裝置(eg. ad0)&lt;br /&gt;&lt;b style="color: #073763;"&gt;# gmirror status&amp;nbsp;&lt;/b&gt;&amp;nbsp; # 查看狀態&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name&amp;nbsp;&amp;nbsp;&amp;nbsp; Status&amp;nbsp; Components&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;mirror/gm0&amp;nbsp; COMPLETE&amp;nbsp; ad1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# gmirror list&lt;/b&gt;&amp;nbsp;&amp;nbsp; # gm0 中只剩下 ad1，系統依然持續運作&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Geom name: gm0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;State: COMPLETE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Components: 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Balance: round-robin&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Slice: 4096&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Flags: NONE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;GenID: 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;SyncID: 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;ID: 2949628385&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Providers:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;1. Name: mirror/gm0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Mediasize: 20546759168 (19G)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Sectorsize: 512&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Mode: r3w3e8&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Consumers:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;1. Name: ad1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Mediasize: 20547841536 (19G)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Sectorsize: 512&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Mode: r1w1e1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; State: ACTIVE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Priority: 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Flags: DIRTY&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; GenID: 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; SyncID: 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; ID: 2490835271&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. 永久清除某個 gmirror 的設定&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# gmirror stop -v gm0&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 停止 gmirror 運作&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# gmirror clear -v ad0 ad1&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 清除實體硬碟上 gmirror 的 Metadata (Metadata 存在硬碟的最後一個 sector , 清除該 gmirror 的設定，而原本在 gmirror 上的資料並不會被消除，還是會存在於ad0跟ad1上面。)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Reference:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.freebsd.org/doc/handbook/geom-mirror.html"&gt;http://www.freebsd.org/doc/handbook/geom-mirror.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://onlamp.com/pub/a/bsd/2005/11/10/FreeBSD_Basics.html"&gt;http://onlamp.com/pub/a/bsd/2005/11/10/FreeBSD_Basics.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-1012460333876775495?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></item><item><title>[ LOS ] CentOS Install  Ajax Webmail Roundcube</title><link>http://blog.ntut.idv.tw/2010/03/los-centos-install-roundcube-ajax.html</link><category>CentOS</category><category>Linux</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Tue, 23 Mar 2010 01:22:49 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-5495773329101141640</guid><description>寫下紀錄這是最近所安裝的東西，要如何在 CentOS 5.4 Linux 中安裝 Postfix + Roundcube Ajax Webmail ？&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. 安裝 Postfix + Dovecot&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# netstat -nutlp |grep 25&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 查看原本 25 port 服務預設都是 sendmail&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;tcp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 127.0.0.1:25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0:*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LISTEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2098/sendmail: acce&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;udp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 fe80::250:4ff:fec3:7d59:123 :::*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2403/ntpd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# service sendmail stop&lt;/b&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;正在關閉 sm-client:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;正在關閉 sendmail:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chkconfig sendmail off&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 關閉 sendmail&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chkconfig sendmail --list&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 查看是否關閉&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;sendmail&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:關閉&amp;nbsp; 1:關閉&amp;nbsp; 2:關閉&amp;nbsp; 3:關閉&amp;nbsp; 4:關閉&amp;nbsp; 5:關閉&amp;nbsp; 6:關閉&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# yum -y install postfix&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 安裝另一套 Mail&amp;nbsp; Transfer Agent (MTA)&amp;nbsp; postfix&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# vi /etc/postfix/main.cf&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 設定 postfix 主設定檔&lt;br /&gt;&lt;span style="color: #274e13;"&gt;myhostname = mail.xxx.com.tw&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 設定本機的 host name&lt;br /&gt;&lt;span style="color: #274e13;"&gt;mydomain = xxx.com.tw&lt;/span&gt;&amp;nbsp;&amp;nbsp; # 設定 domain 網域&lt;br /&gt;&lt;span style="color: #274e13;"&gt;mynetworks = 10.99.99.0/24, 127.0.0.0/8&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 設定幫忙可 relay 的 hosts&lt;br /&gt;&lt;span style="color: #274e13;"&gt;inet_interfaces = all&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp; # 設定服務 interface&lt;br /&gt;&lt;span style="color: #274e13;"&gt;#inet_interfaces = localhost&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #這一行加上# 號才能對外做 SMTP 服務 &lt;br /&gt;&lt;span style="color: #274e13;"&gt;mydestination = xxx.com.tw&lt;/span&gt;&amp;nbsp;&amp;nbsp; # 設定本機要接收的 mail, 同 sendmail 的 local-host-names&lt;br /&gt;&lt;span style="color: #274e13;"&gt;home_mailbox = Maildir/&lt;/span&gt;&amp;nbsp;&amp;nbsp; # 開啟使用 Maildor 格式&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# postalias hash:/etc/aliases&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 建立 aliases db&lt;br /&gt;&lt;b style="color: #073763;"&gt;# postmap hash:/etc/postfix/access&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 建立 access db&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #073763;"&gt;# alternatives --config mta&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 更改系統 MTA&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;有 2 程式提供 'mta'。&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp; 選擇&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 指令&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;-----------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;*+ 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/sbin/sendmail.sendmail&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/sbin/sendmail.postfix&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;請輸入以保留目前的選擇[+]，或輸入選擇號碼:&lt;/span&gt;&lt;b style="color: #073763;"&gt; 2&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chkconfig postfix on&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 設定開機啟動 postfix&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chkconfig postfix --list&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 查看開機啟動 postfix&lt;br /&gt;&lt;div style="color: #4c1130;"&gt;postfix&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:關閉&amp;nbsp; 1:關閉&amp;nbsp; 2:開啟&amp;nbsp; 3:開啟&amp;nbsp; 4:開啟&amp;nbsp; 5:開啟&amp;nbsp; 6:關閉&lt;/div&gt;&lt;b style="color: #073763;"&gt;# service postfix start&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  # 啟動 postfix&lt;br /&gt;&lt;div style="color: #4c1130;"&gt;正在啟動 postfix:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/div&gt;&lt;b style="color: #073763;"&gt;# netstat -ntulp | grep :25&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 再次查看 25 port&lt;br /&gt;&lt;div style="color: #4c1130;"&gt;tcp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 0.0.0.0:25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0:*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LISTEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15949/master&lt;/div&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# yum -y install dovecot&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 安裝 dovecot&lt;br /&gt;&lt;b style="color: #073763;"&gt;# vi /etc/dovecot.conf&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 設定 dovecot&lt;br /&gt;&lt;div style="color: #274e13;"&gt;protocols = imap imaps pop3 pop3s&lt;br /&gt;mail_location = maildir:~/Maildir&lt;br /&gt;pop3_uidl_format = %08Xu%08Xv&lt;br /&gt;# Required on x86_64 kernels&lt;br /&gt;login_process_size = 64&lt;/div&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chkconfig dovecot on&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 設定開機啟動 dovecot&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chkconfig dovecot --list&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 查看開機啟動 dovecot&lt;br /&gt;&lt;div style="color: #4c1130;"&gt;dovecot&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:關閉&amp;nbsp; 1:關閉&amp;nbsp; 2:開啟&amp;nbsp; 3:開啟&amp;nbsp; 4:開啟&amp;nbsp; 5:開啟&amp;nbsp; 6:關閉&lt;/div&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# service dovecot start&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 手動啟動 dovecot&lt;br /&gt;&lt;div style="color: #4c1130;"&gt;正在啟動 Dovecot Imap:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/div&gt;&lt;b&gt;&lt;span style="color: #073763;"&gt;# netstat -ntulp |grep tcp&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 查看 dovecot 所開的四個 port&lt;br /&gt;&lt;div style="color: #4c1130;"&gt;tcp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 :::993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :::*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LISTEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16023/dovecot&lt;br /&gt;tcp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 :::995&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :::*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LISTEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16023/dovecot&lt;br /&gt;tcp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 :::110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :::*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LISTEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16023/dovecot&lt;br /&gt;tcp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 :::143&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :::*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LISTEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16023/dovecot&lt;/div&gt;&lt;b style="color: #073763;"&gt;# mkdir /home/jim/Maildir&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 建立使者 Maildir 目錄，用以存放 mail&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chown jim.jim /home/jim/Maildir&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 修改擁有者&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. 升級 PHP 到 5.2.x 版之後版本&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;※ 這是因為我安裝的roundcube1.3.1版要求的，而原本 CentOS 5.4 中 yum 所裝的PHP為5.1.6版&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# vi /etc/yum.repos.d/CentOS-Base.repo&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 新增測試版 Server 套件庫&lt;br /&gt;&lt;div style="color: #274e13;"&gt;[c5-testing]&lt;br /&gt;name=CentOS-5 Testing&lt;br /&gt;baseurl=http://dev.centos.org/centos/5/testing/$basearch/&lt;br /&gt;enabled=1&lt;br /&gt;gpgcheck=1&lt;br /&gt;gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing&lt;/div&gt;&lt;b style="color: #073763;"&gt;# yum update php*&lt;/b&gt;&amp;nbsp; # 更新升級套件&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# php -v&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 查看升級後版本&lt;br /&gt;&lt;div style="color: #4c1130;"&gt;PHP 5.2.10 (cli) (built: Nov 13 2009 11:24:03)&lt;br /&gt;Copyright (c) 1997-2009 The PHP Group&lt;br /&gt;Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies&lt;/div&gt;&lt;b style="color: #073763;"&gt;# rpm -q php php-mysql php-pecl-Fileinfo php-mcrypt php-xml php-gd php-mbstring&lt;/b&gt; &amp;nbsp; # 查看安裝 roundcube 必安裝的 php 套件&lt;br /&gt;&lt;div style="color: #4c1130;"&gt;php-5.2.10-1.el5.centos&lt;br /&gt;php-mysql-5.2.10-1.el5.centos&lt;br /&gt;php-pecl-Fileinfo-1.0.4-3.el5.centos&lt;br /&gt;php-mcrypt-5.2.9-2.el5.centos.3&lt;br /&gt;php-xml-5.2.10-1.el5.centos&lt;br /&gt;php-gd-5.2.10-1.el5.centos&lt;br /&gt;php-mbstring-5.2.10-1.el5.centos &lt;/div&gt;&lt;b style="color: #073763;"&gt;# vi /etc/php.ini&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 查看 php 參數是否正確設定&lt;br /&gt;&lt;div style="color: #4c1130;"&gt;&lt;div style="color: #274e13;"&gt;file_uploads = On&lt;/div&gt;&lt;div style="color: #274e13;"&gt;session.auto_start = 0&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;3. 安裝 roundcube &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;※ 到官網&lt;a href="http://www.roundcube.net/"&gt;http://www.roundcube.net&lt;/a&gt;下載最新版本 roundcubemail-0.3.1.tar.gz 套件到 Server 的 /var/www/html 中&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# cd /var/www/html&amp;nbsp;&lt;/b&gt;&amp;nbsp; # 切換目錄&lt;br /&gt;&lt;b style="color: #073763;"&gt;# tar -xzvf roundcubemail-0.3.1.tar.gz&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 解壓縮套件&lt;br /&gt;&lt;b style="color: #073763;"&gt;# mv roundcubemail-0.3.1 webmail&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 更改目錄名稱&lt;br /&gt;&lt;b style="color: #073763;"&gt;# cd /var/www/html/webmail&amp;nbsp;&lt;/b&gt;&amp;nbsp; # 切換目錄&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chown -R apache.apache logs temp&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 更改兩個目錄擁有者&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chmod 0700 logs temp&lt;/b&gt;&amp;nbsp; # 更改兩個目錄權限&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# mysql -p&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 進入 mysql&lt;br /&gt;&lt;div style="color: #4c1130;"&gt;Enter password:&lt;br /&gt;Welcome to the MySQL monitor.&amp;nbsp; Commands end with ; or \g.&lt;br /&gt;Your MySQL connection id is 163&lt;br /&gt;Server version: 5.0.77 Source distribution&lt;br /&gt;Type 'help;' or '\h' for help. Type '\c' to clear the buffer.&lt;/div&gt;&lt;b&gt;mysql&amp;gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color: #073763;"&gt;create database roundcubemail;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 建立 roundcubemail 這個資料庫&lt;br /&gt;&lt;div style="color: #4c1130;"&gt;Query OK, 1 row affected (0.00 sec)&lt;/div&gt;&lt;b&gt;mysql&amp;gt;&lt;/b&gt; &lt;b style="color: #073763;"&gt;GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcubemail@localhost IDENTIFIED BY 'Your-Password';&amp;nbsp;&lt;/b&gt; # 設roundcubemail這個資料庫權限&lt;br /&gt;&lt;div style="color: #4c1130;"&gt;Query OK, 0 rows affected (0.01 sec)&lt;/div&gt;&lt;b&gt;mysql&amp;gt;&lt;/b&gt; &lt;b style="color: #073763;"&gt;FLUSH PRIVILEGES;&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 立即更新&lt;br /&gt;&lt;div style="color: #4c1130;"&gt;Query OK, 0 rows affected (0.00 sec)&lt;/div&gt;&lt;b&gt;mysql&amp;gt;&lt;span style="color: #073763;"&gt;exit&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 離開&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# cd /var/www/html/webmail/SQL/&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 切換目錄&lt;br /&gt;&lt;b style="color: #073763;"&gt;# mysql -u roundcubemail -p -h localhost roundcubemail &amp;lt; mysql.initial.sql&amp;nbsp;&lt;/b&gt;&amp;nbsp; # 建立資料庫 roundcubemail 的 table&lt;br /&gt;&lt;div style="color: #4c1130;"&gt;Enter password:&lt;/div&gt;&lt;b style="color: #073763;"&gt;# cd /var/www/html/webmail/config/&amp;nbsp;&lt;/b&gt;&amp;nbsp; # 切換目錄&lt;br /&gt;&lt;b style="color: #073763;"&gt;# cp db.inc.php.dist db.inc.php&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # copy DB 設定檔&lt;br /&gt;&lt;b style="color: #073763;"&gt;# cp main.inc.php.dist main.inc.php&lt;/b&gt;&amp;nbsp;&amp;nbsp; # copy 主設定檔&lt;br /&gt;&lt;div style="color: #073763;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;b style="color: #073763;"&gt;# vi db.inc.php&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 修改連接DB資訊&lt;br /&gt;&lt;span style="color: #274e13;"&gt;//$rcmail_config['db_dsnw'] = ‘mysql://帳號:密碼@localhost/資料庫名稱;&lt;/span&gt;&amp;nbsp; # 格式如左&lt;br /&gt;&lt;div style="color: #274e13;"&gt;$rcmail_config['db_dsnw'] = 'mysql://roundcubemail:Your-Password@localhost/roundcubemail';&lt;/div&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# vi main.inc.php&lt;/b&gt;&amp;nbsp; # 修改主要設定檔&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;$rcmail_config['default_host'] = '&lt;/span&gt;&lt;span style="color: #274e13;"&gt;10.99.99.8&lt;/span&gt;&lt;span style="color: #274e13;"&gt;';&amp;nbsp;&lt;/span&gt;&amp;nbsp; #郵件伺服器的位置或DNS名稱&lt;br /&gt;&lt;span style="color: #274e13;"&gt;$rcmail_config['mail_domain'] = 'xxx.com.tw';&lt;/span&gt;&amp;nbsp; #網域名稱&lt;br /&gt;&lt;span style="color: #274e13;"&gt;$rcmail_config['smtp_server'] = '10.99.99.8';&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #郵件伺服器的位置或DNS名稱&lt;br /&gt;&lt;span style="color: #274e13;"&gt;$rcmail_config['auto_create_user'] = true;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 自動 create user&lt;br /&gt;&lt;span style="color: #274e13;"&gt;$rcmail_config['create_default_folders'] = TRUE;&lt;/span&gt; &amp;nbsp;&amp;nbsp; # 建立預設資料夾 &lt;br /&gt;&lt;span style="color: #274e13;"&gt;$rcmail_config['language'] = ' zh_TW ';&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 預設語系&lt;br /&gt;&lt;span style="color: #274e13;"&gt;$rcmail_config['timezone'] = '8';&lt;/span&gt;&amp;nbsp;&amp;nbsp; # 時區台灣是8&lt;br /&gt;&lt;span style="color: #274e13;"&gt;$rcmail_config['default_charset'] = 'UTF-8';&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 預設編碼&lt;br /&gt;&lt;br /&gt;http://Your-IP/webmail/installer&amp;nbsp;&amp;nbsp; # 開個 Browse 查看安裝 roundcube 還缺哪些套件&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# rm -rf /var/www/html/webmail/installer&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 如果完成安裝，為安全理由請移除安裝目錄&lt;br /&gt;&lt;br /&gt;http://Your-IP/webmail/&amp;nbsp;&amp;nbsp; # 整個安裝完成後使用帳號登入&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ref:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://wiki.centos.org/HowTos/postfix"&gt;http://wiki.centos.org/HowTos/postfix&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.roundcube.net/"&gt;http://www.roundcube.net&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Add: &lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.linuxmail.info/poppassd-setup-howto-centos-5/"&gt;http://www.linuxmail.info/poppassd-setup-howto-centos-5/&lt;/a&gt;&amp;nbsp;&amp;nbsp; # 安裝 poppassd 修改密碼 Plugin 外掛方式&lt;br /&gt;&lt;br /&gt;※ roundcube 中通訊錄匯出時為 UTF-8 編碼，若要轉為 Outlook 看得懂得格式請先用記事本將 rcube_contacts.vcf 轉存成 ANSI 編碼後再匯入。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-5495773329101141640?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ LOS ] CentOS Install dotProject</title><link>http://blog.ntut.idv.tw/2010/03/los-centos-install-dotproject.html</link><category>CentOS</category><category>Linux</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Fri, 19 Mar 2010 02:04:44 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-3264287387194831284</guid><description>最近剛好有朋友提到需要用到專案管理軟體所以上網找到了dotProject這套專案管理軟體，下面為裝在CentOS 5.4 Linux 上的安裝紀錄，dotProject 比起微軟M$的Project方案真的是太優了不但是OpenSource而且完全免費，這真要感謝其背後為它默默付出的人們，今日我們才能有這麼棒又免費的軟體可以使用。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. CentOS 系統調校&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# yum -y install ntp&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp; 安裝 CentOS 5.4 後進入 OS 先做時間校正及安全更新所以要先安裝 ntp&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chkconfig ntpd on&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 設定 ntpd 開機啟動&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chkconfig --list | grep ntpd&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 檢查開機啟動&lt;br /&gt;&lt;span style="background-color: #4c1130;"&gt;&lt;/span&gt;&lt;span style="color: #4c1130;"&gt;ntpd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 3:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 4:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 5:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 6:off&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# vi /etc/ntp.conf&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp; 加入國內校時 Server&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;server time.stdtime.gov.tw&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;server clock.stdtime.gov.tw&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;server tick.stdtime.gov.tw&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;server tock.stdtime.gov.tw&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# ntpdate -u&amp;nbsp; time.stdtime.gov.tw&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 做第一次網路校時&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;1 Sep 15:13:22 ntpdate[2261]: step time server 220.130.158.52 offset -26064.456555 sec&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# service ntpd start&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 開啟 ntp&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# yum -y update&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 第一次安全更新&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #990000;"&gt;※套件安全更新後立即安裝 rpmforge，其用意為可以不用替 yum 手動增加新的站台就會有非常多的第三方套件可以使用。請參考: https://rpmrepo.org/RPMforge/Using&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 取得 RHEL5/CentOS5 i386 第三方套件庫&lt;br /&gt;&lt;b style="color: #073763;"&gt;# rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 使用 rpm 直接安裝&lt;br /&gt;&lt;br /&gt;&lt;b style="color: black;"&gt;2. 安裝 Apache+MySQL+PHP+phpMyAdmin&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# yum -y install mysql mysql-server &lt;/b&gt;&amp;nbsp; #  Installing MySQL5&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chkconfig --levels 235 mysqld on&lt;br /&gt;# vi /etc/my.cnf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt; #調整MySQL預設編碼&lt;br /&gt;&lt;div style="color: #274e13;"&gt;[mysqld]&lt;br /&gt;default-character-set=utf8&lt;br /&gt;[client]&lt;br /&gt;default-character-set=utf8&lt;/div&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# /etc/init.d/mysqld start&lt;br /&gt;# mysqladmin -u root password yourrootsqlpassword&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# yum install httpd&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Installing Apache2 &lt;br /&gt;&lt;b style="color: #073763;"&gt;# chkconfig --levels 235 httpd on&lt;br /&gt;# /etc/init.d/httpd start&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# yum install php&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Installing PHP5&lt;br /&gt;&lt;b style="color: #073763;"&gt;# /etc/init.d/httpd restart&lt;br /&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# vi /var/www/html/index.php&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 寫個查看php有無啟動語法&lt;br /&gt;&lt;span style="color: #274e13;"&gt;&amp;lt; ?php&lt;br style="color: #274e13;" /&gt;&lt;span style="color: #274e13;"&gt;phpinfo();&lt;/span&gt;&lt;br style="color: #274e13;" /&gt;&lt;span style="color: #274e13;"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# yum search php&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 可搜尋 PHP 擁有的擴充應用程式&lt;br /&gt;&lt;b style="color: #073763;"&gt;# yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;# 安裝所需的 extesion 套件&lt;br /&gt;&lt;b style="color: #073763;"&gt;# /etc/init.d/httpd restart&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# yum install phpmyadmin&amp;nbsp;&lt;/b&gt;&amp;nbsp; # 安裝 phpMyAdmin&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #073763;"&gt;# vi /etc/httpd/conf.d/phpmyadmin.conf&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 將 Deny from all 改為 Allow from all&lt;span style="color: #274e13;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;#&amp;nbsp; Web application to manage MySQL&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;&lt;directory phpmyadmin="" share="" usr=""&gt;&lt;/directory&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;&amp;nbsp; Order Deny,Allow&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;&amp;nbsp; &lt;span style="color: #990000;"&gt;Allow&lt;/span&gt; from all&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;&amp;nbsp; Allow from 127.0.0.1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;Alias /phpmyadmin /usr/share/phpmyadmin&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;Alias /phpMyAdmin /usr/share/phpmyadmin&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;Alias /mysqladmin /usr/share/phpmyadmin&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# vi /usr/share/phpmyadmin/config.inc.php&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 將 cookie 改成 http&lt;br /&gt;&lt;span style="color: #274e13;"&gt;[...]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;/* Authentication type */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;$cfg['Servers'][$i]['auth_type'] = '&lt;span style="color: #990000;"&gt;http&lt;/span&gt;';&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;[...]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# /etc/init.d/httpd restart&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 重新啟動 apache&lt;br /&gt;&lt;br /&gt;http://IP/phpmyadmin/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 開個Browse使用 root 及 mysql 密碼登入&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. 安裝 dotproject&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;下載中文 dotproject 版本 dotProject_2.1_RC2_20070529_UTF-8_Chinese_by_Markwu.zip 將檔案上傳到 /var/www/html 目錄&lt;br /&gt;&lt;br /&gt;&lt;a href="http://of.openfoundry.org/projects/238/download"&gt;http://of.openfoundry.org/projects/238/download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# cd /var/www/html&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 切換目錄&lt;br /&gt;&lt;b style="color: #073763;"&gt;# unzip dotProject_2.1_RC2_20070529_UTF-8_Chinese_by_Markwu.zip&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 解壓縮 .zip 檔&lt;br /&gt;&lt;b style="color: #073763;"&gt;# mv dotProject_2.1_RC2_20070529_UTF-8_Chinese_by_Markwu dotproject&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 更改目錄名稱&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chown -R apache /var/www/html/dotproject/files&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 更改目錄擁有者&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chmod -R 0700 /var/www/html/dotproject/files&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 更改目錄權限&lt;br /&gt;&lt;b style="color: #073763;"&gt;# cd /var/www/html/dotproject/includes/&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 切換目錄&lt;br /&gt;&lt;b style="color: #073763;"&gt;# cp config-dist.php config.php&lt;/b&gt;&amp;nbsp;&amp;nbsp; # copy 設定檔&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chmod 777 config.php&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 更改設定檔為可寫入設定完後再改回只可讀&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# vi /etc/php.ini&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 更改 PHP 設定檔&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;session.auto_start = 1&lt;/span&gt;&amp;nbsp; # 將 0 改為 1&lt;br /&gt;&lt;span style="color: #274e13;"&gt;memory_limit = 32M&lt;/span&gt;&amp;nbsp; # 將 16M 改 32M 甘特圖才能 run&lt;br /&gt;&lt;span style="color: #274e13;"&gt;file_uploads = On&amp;nbsp;&lt;/span&gt;&amp;nbsp; # 看看上傳是否開啟&lt;br /&gt;&lt;span style="color: #274e13;"&gt;upload_max_filesize = 100M&amp;nbsp;&lt;/span&gt;&amp;nbsp; # 調整自己想要的大小&lt;br /&gt;&lt;span style="color: #274e13;"&gt;max_execution_time = 300&lt;/span&gt;&amp;nbsp;&amp;nbsp; # 由 30 秒調整為 5 分鐘(因為檔案變大時間也要調大否則還是會被drop掉)&lt;br /&gt;&lt;span style="color: #274e13;"&gt;max_input_time = 600&lt;/span&gt;&amp;nbsp;&amp;nbsp; # 由 60 秒調整為 10 分鐘(可因需求自行調整)&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# /etc/init.d/httpd restart&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 重跑 apache 讓 php 設定生效&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;正在停止 httpd:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;正在啟動 httpd:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; 確定&amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# mysql -p&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 進入MySQL&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Enter password:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Welcome to the MySQL monitor.&amp;nbsp; Commands end with ; or \g.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Your MySQL connection id is 13&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Server version: 5.0.77 Source distribution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Type 'help;' or '\h' for help. Type '\c' to clear the buffer.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;mysql&amp;gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color: #073763;"&gt;CREATE DATABASE dotproject;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 建立 dotproject 資料庫 (現在不建也行在Web安裝時也可自動 Create)&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Query OK, 1 row affected (0.00 sec)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;mysql&amp;gt;&lt;span style="color: #073763;"&gt; GRANT ALL PRIVILEGES ON dotproject.* TO dotproject@localhost IDENTIFIED BY "YOUR-PASSWORD" WITH GRANT OPTION;&lt;/span&gt;&lt;/b&gt; # 建立 dotproject DB user&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Query OK, 0 rows affected (0.00 sec)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;http://YourIP/dotproject/&amp;nbsp;&amp;nbsp; # 進入Web安裝&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# rm -rf /var/www/html/dotproject/install&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 安裝完成後刪除安裝目錄&lt;br /&gt;&lt;b style="color: #073763;"&gt;# chmod 644 /var/www/html/dotproject/includes/config.php&lt;/b&gt;&amp;nbsp; # 將權限改回&lt;br /&gt;&lt;br /&gt;http://YourIP/dotproject/&amp;nbsp;&amp;nbsp; # 進入登入畫面預設帳號/密碼 admin/passwd&lt;br /&gt;&lt;br /&gt;進入畫面後點選 System Admin &amp;gt;&amp;gt; Default User Preferences &amp;gt;&amp;gt; Locale: Tranditional Chinse(Taiwan) &amp;gt;&amp;gt; submit之後登出再登入就是中文介面&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Reference :&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotproject.net/"&gt;http://www.dotproject.net/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://of.openfoundry.org/projects/238/download"&gt;http://of.openfoundry.org/projects/238/download&lt;/a&gt;&lt;br /&gt;&lt;a href="http://rhyous.com/2009/11/22/how-to-install-dotproject-2-1-2-on-freebsd-7-2-with-apache-2-2-php5-and-mysql-5-1-server/"&gt;http://rhyous.com/2009/11/22/how-to-install-dotproject-2-1-2-on-freebsd-7-2-with-apache-2-2-php5-and-mysql-5-1-server/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-3264287387194831284?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>[ LOS ] CentOS Linux Format/Mount Etx3 Partition</title><link>http://blog.ntut.idv.tw/2010/03/los-centos-linux-formatmount-etx3.html</link><category>CentOS</category><category>Linux</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Mon, 15 Mar 2010 23:43:30 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-3484771280112845871</guid><description>如何在 CentOS Linux 上掛載一顆 etx3 格式的硬碟 ? 為何要掛載這顆硬碟 ? 主要是當備份碟每天零晨可以使用 crontab+shellscript 自動備份資料 , 當做普通重要資料還原用 , 沒錢買好的硬體RAID只好用這最省錢的方式。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. 查看有哪些硬碟掛在機器上&lt;/b&gt;&lt;br /&gt;&lt;span style="background-color: blue; color: #0b5394;"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;b style="background-color: #073763; color: #0b5394;"&gt;&lt;/b&gt;&lt;b style="color: #073763;"&gt;# fdisk -l&lt;/b&gt; &amp;nbsp; #除了系統主硬碟 hda 40G外我已經多放了 hdc 第二顆3G大小的硬碟&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #741b47;"&gt;Disk /dev/hda: 41.1 GB, 41171288064 bytes&lt;/span&gt;&lt;br style="color: #741b47;" /&gt;&lt;span style="color: #741b47;"&gt;255 heads, 63 sectors/track, 5005 cylinders&lt;/span&gt;&lt;br style="color: #741b47;" /&gt;&lt;span style="color: #741b47;"&gt;Units = cylinders of 16065 * 512 = 8225280 bytes&lt;/span&gt;&lt;br style="color: #741b47;" /&gt;&lt;br style="color: #741b47;" /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp; Device Boot&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Blocks&amp;nbsp;&amp;nbsp; Id&amp;nbsp; System&lt;/span&gt;&lt;br style="color: #741b47;" /&gt;&lt;span style="color: #741b47;"&gt;/dev/hda1&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 104391&amp;nbsp;&amp;nbsp; 83&amp;nbsp; Linux&lt;/span&gt;&lt;br style="color: #741b47;" /&gt;&lt;span style="color: #741b47;"&gt;/dev/hda2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5005&amp;nbsp;&amp;nbsp;&amp;nbsp; 40098240&amp;nbsp;&amp;nbsp; 8e&amp;nbsp; Linux LVM&lt;/span&gt;&lt;br style="color: #741b47;" /&gt;&lt;br style="color: #741b47;" /&gt;&lt;span style="color: #741b47;"&gt;Disk /dev/hdc: 3228 MB, 3228696576 bytes&lt;/span&gt;&lt;br style="color: #741b47;" /&gt;&lt;span style="color: #741b47;"&gt;128 heads, 63 sectors/track, 782 cylinders&lt;/span&gt;&lt;br style="color: #741b47;" /&gt;&lt;span style="color: #741b47;"&gt;Units = cylinders of 8064 * 512 = 4128768 bytes&lt;/span&gt;&lt;br style="color: #741b47;" /&gt;&lt;br style="color: #741b47;" /&gt;&lt;span style="color: #741b47;"&gt;&amp;nbsp;&amp;nbsp; Device Boot&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Blocks&amp;nbsp;&amp;nbsp; Id&amp;nbsp; System&lt;/span&gt;&lt;br style="color: #741b47;" /&gt;&lt;span style="color: #741b47;"&gt;/dev/hdc1&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 782&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3152992+&amp;nbsp;&amp;nbsp; b&amp;nbsp; W95 FAT32&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. 硬碟 partition 規劃&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# fdisk &lt;/b&gt;&lt;b style="color: #073763;"&gt;/dev/hdc&lt;/b&gt;&amp;nbsp;&amp;nbsp; #使用 fdisk 工具切割規劃 hdc 這顆硬碟&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Command (m for help): &lt;/span&gt;&lt;b style="color: #660000;"&gt;d&lt;/b&gt;&amp;nbsp;&amp;nbsp; #刪除 hdc1 partition&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Command (m for help):&lt;/span&gt;&lt;b style="color: #660000;"&gt; n&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #新增 hdc1 partition&lt;span style="background-color: #4c1130; color: #4c1130;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Command action&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; e&amp;nbsp;&amp;nbsp; extended&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; p&amp;nbsp;&amp;nbsp; primary partition (1-4)&lt;/span&gt;&amp;nbsp; &lt;b style="color: #660000;"&gt;p&lt;/b&gt; # 打入p規劃為 primary 格式&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Partition number (1-4):&lt;/span&gt; &lt;b&gt;&lt;span style="color: #660000;"&gt;1&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 因為欲規劃為 hdc1 所以選擇編號1&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;First cylinder (1-782, default 1):&amp;nbsp;&lt;/span&gt;&amp;nbsp; # 開始的磁區default &amp;gt;&amp;gt; Enter&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Using default value 1&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;Last cylinder or +size or +sizeM or +sizeK (1-782, default 782): &lt;span style="color: black;"&gt;# 結束的磁區default &amp;gt;&amp;gt; Enter&lt;/span&gt;&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;Using default value 782&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Command (m for help):&lt;/span&gt; &lt;b style="color: #660000;"&gt;w&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 將剛剛的規劃 save&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;The partition table has been altered!&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;Calling ioctl() to re-read partition table.&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;Syncing disks.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="background-color: #073763;"&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #073763;"&gt;# fdisk -l&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&amp;nbsp; # 再次查看&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Disk /dev/hdc: 3228 MB, 3228696576 bytes&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;128 heads, 63 sectors/track, 782 cylinders&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;Units = cylinders of 8064 * 512 = 4128768 bytes&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp; Device Boot&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Blocks&amp;nbsp;&amp;nbsp; Id&amp;nbsp; System&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;/dev/hdc1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 782&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3152992+&amp;nbsp; 83&amp;nbsp; Linux&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Format 硬碟&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# mkfs.ext3 /dev/hdc1&amp;nbsp;&amp;nbsp;&lt;/b&gt; # 將 partition 格式化為 linux ext3 檔案系統格式&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;mke2fs 1.39 (29-May-2006)&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;Filesystem label=&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;OS type: Linux&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;Block size=4096 (log=2)&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;Fragment size=4096 (log=2)&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;394400 inodes, 788248 blocks&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;39412 blocks (5.00%) reserved for the super user&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;First data block=0&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;Maximum filesystem blocks=809500672&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;25 block groups&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;32768 blocks per group, 32768 fragments per group&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;15776 inodes per group&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;Superblock backups stored on blocks:&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32768, 98304, 163840, 229376, 294912&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;Writing inode tables: done&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;Creating journal (16384 blocks): done&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;Writing superblocks and filesystem accounting information: done&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;This filesystem will be automatically checked every 34 mounts or&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;180 days, whichever comes first.&amp;nbsp; Use tune2fs -c or -i to override.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# mkdir /disk2&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 建立 disk2 掛載資料夾&lt;br /&gt;&lt;b style="color: #073763;"&gt;# mount /disk2&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 手動掛載資料夾&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# df&amp;nbsp;&lt;/b&gt; # 查看 disk2 是否掛上&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;檔案系統&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1K-區段&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 已用&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 可用 已用% 掛載點&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;/dev/mapper/VolGroup00-LogVol00&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 37803504&amp;nbsp;&amp;nbsp; 1830008&amp;nbsp; 34022164&amp;nbsp;&amp;nbsp; 6% /&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;/dev/hda1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 101086&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 18863&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 77004&amp;nbsp; 20% /boot&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;tmpfs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 257668&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 257668&amp;nbsp;&amp;nbsp; 0% /dev/shm&lt;/span&gt;&lt;br style="color: #4c1130;" /&gt;&lt;span style="color: #4c1130;"&gt;/dev/hdc1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3103444&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 70240&amp;nbsp;&amp;nbsp; 2875556&amp;nbsp;&amp;nbsp; 3% /disk2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# umount /disk2&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 卸載 disk2&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #073763;"&gt;# vi /etc/fstab&lt;/b&gt;&amp;nbsp;&amp;nbsp; # 加入開機自動掛載 hdc1&lt;br /&gt;&lt;span style="color: #274e13;"&gt;/dev/hdc1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /disk2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ext3&amp;nbsp;&amp;nbsp;&amp;nbsp; defaults&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 1&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-3484771280112845871?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ FBSD ] How to Join Windows 7 to Samba PDC</title><link>http://blog.ntut.idv.tw/2010/02/fbsd-how-to-join-windows-7-to-samba-pdc.html</link><category>FreeNAS</category><category>Windows</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Tue, 23 Mar 2010 01:19:15 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-6706166550312557623</guid><description>近來 Windows 7 已經越來越普遍, 之前使用 FreeNAS 架設網域伺服器的用戶端也開始升級使用 Windows 7, 而用戶端為 Windows 7 時要如何 Join 到使用 Samba 的 PDC 網域 ? 必須要修改 Windows 7 的 regedit 登入檔 , 方式如下。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(1) 增加 DomainCompatibilityMode 及 DNSNameResolutionRequired 兩個 DWORD 值一個為1另一個為0&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters]&lt;br /&gt;“DomainCompatibilityMode”=dword:00000001&lt;br /&gt;“DNSNameResolutionRequired”=dword:00000000&lt;br /&gt;&lt;br /&gt;(2) 改變 RequireSignOnSeal 及 RequireStrongKey 的值由 1 變 0&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Netlogon\Parameters]&lt;br /&gt;“RequireSignOnSeal”=dword:00000000&lt;br /&gt;“RequireStrongKey”=dword:00000000&lt;br /&gt;&lt;br /&gt;Reference :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.1stbyte.com/2009/05/31/join-windows-7-to-samba-pdc"&gt;http://www.1stbyte.com/2009/05/31/join-windows-7-to-samba-pdc&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-6706166550312557623?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ C/C++ ] Matrix Multiplication by Pointers</title><link>http://blog.ntut.idv.tw/2009/11/cc-matrix-multiplication-use-pointers.html</link><category>C/C++</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Tue, 23 Mar 2010 00:43:44 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-5441806652011768699</guid><description>矩陣乘法  Matrix Multiplication&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: c++"&gt;// matrixMultiplication.cpp&lt;br /&gt;//&lt;br /&gt;// It's a 2x3 matrices program of matrix multiplication using pointers in C++&lt;br /&gt;//&lt;br /&gt;// Console-based&lt;br /&gt;// Retruns real as well as comples roots.&lt;br /&gt;// Author Jim.lin 2009&lt;br /&gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;    int i, j, k, sum;&lt;br /&gt;    // matrix space&lt;br /&gt;    const int ROW_A = 2, COL_A = 3;&lt;br /&gt;    const int ROW_B = 3, COL_B = 2;&lt;br /&gt;&lt;br /&gt;    // define matrix value&lt;br /&gt;    int a[ROW_A][COL_A] = {{1,3,1},{1,2,3}};&lt;br /&gt;    int b[ROW_B][COL_B] = {{1,3},{3,5},{3,3}};&lt;br /&gt;    int c[ROW_A][COL_B];&lt;br /&gt;&lt;br /&gt;    // define 3 pointers to first address&lt;br /&gt;    int *pa, *pb, *pc;&lt;br /&gt;&lt;br /&gt;    pa = &amp;amp;a[0][0];&lt;br /&gt;    pb = &amp;amp;b[0][0];&lt;br /&gt;    pc = &amp;amp;c[0][0];&lt;br /&gt;&lt;br /&gt;    // caclulation&lt;br /&gt;    for ( i=0; i&amp;lt;ROW_A; ++i ) {&lt;br /&gt;        for (j=0; j&amp;lt;COL_B; ++j) {&lt;br /&gt;            sum = 0;&lt;br /&gt;            for( k=0; k&amp;lt;COL_A; ++k ) {&lt;br /&gt;                sum += *(pa+i*COL_A+k) * *(pb+k*COL_B+j);&lt;br /&gt;            }&lt;br /&gt;            *(pc+i*COL_B+j) = sum;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    // print matrix a&lt;br /&gt;    for ( i=0; i&amp;lt;ROW_A; ++i) {&lt;br /&gt;        for (j=0; j&amp;lt;COL_A; ++j) {&lt;br /&gt;            cout &amp;lt;&amp;lt; *(pa+i*COL_A+j) &amp;lt;&amp;lt; " ";&lt;br /&gt;        }&lt;br /&gt;        cout &amp;lt;&amp;lt; endl;&lt;br /&gt;    }&lt;br /&gt;    cout &amp;lt;&amp;lt; '\n';&lt;br /&gt;&lt;br /&gt;    // print matrix b&lt;br /&gt;    for (i=0; i&amp;lt;ROW_B; ++i) {&lt;br /&gt;        for (j=0; j&amp;lt;COL_B; ++j) {&lt;br /&gt;            cout &amp;lt;&amp;lt; *(pb+i*COL_B+j) &amp;lt;&amp;lt; " ";&lt;br /&gt;        }&lt;br /&gt;        cout &amp;lt;&amp;lt; endl;&lt;br /&gt;    }&lt;br /&gt;    cout &amp;lt;&amp;lt; '\n';&lt;br /&gt;&lt;br /&gt;    //print multiple matrix c&lt;br /&gt;    for (i=0; i&amp;lt;ROW_A; ++i) {&lt;br /&gt;        for (j=0; j&amp;lt;COL_B; ++j) {&lt;br /&gt;            cout &amp;lt;&amp;lt; *(pc+i*COL_B+j) &amp;lt;&amp;lt; " ";&lt;br /&gt;        }&lt;br /&gt;        cout &amp;lt;&amp;lt; endl;&lt;br /&gt;    }&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Ref.&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Matrix_multiplication"&gt;http://en.wikipedia.org/wiki/Matrix_multiplication&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-5441806652011768699?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ C/C++ ] Insertion Sort by C++</title><link>http://blog.ntut.idv.tw/2009/11/cc-insertion-sort-by-c.html</link><category>C/C++</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Tue, 23 Mar 2010 00:44:41 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-6016211653704013924</guid><description>Insertion sort is an elementary sorting algorithm. The time complexity of Θ(n2).&lt;br /&gt;&lt;pre class="brush: c++"&gt;// insertSort.cpp&lt;br /&gt;//&lt;br /&gt;// Sorting Algorithm (insertion sort) .&lt;br /&gt;//&lt;br /&gt;// Console-based&lt;br /&gt;// Retruns real as well as comples roots.&lt;br /&gt;// Author Jim.lin 2009&lt;br /&gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;#include &amp;lt;vector&amp;gt;&lt;br /&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;    unsigned int i, j, k, tmp;&lt;br /&gt;    cout &amp;lt;&amp;lt; &amp;quot;Please Input a Number :&amp;quot;;&lt;br /&gt;    cin &amp;gt;&amp;gt; k;&lt;br /&gt;    vector&amp;lt;int&amp;gt; data(k); //定義一個整數型態k大小的向量陣列&lt;br /&gt;&lt;br /&gt;    cout &amp;lt;&amp;lt; &amp;quot;Please Input &amp;quot; &amp;lt;&amp;lt; k &amp;lt;&amp;lt; &amp;quot; Number :&amp;quot;;&lt;br /&gt;    for ( i=0; i &amp;lt; data.size(); ++i )&lt;br /&gt;    cin &amp;gt;&amp;gt; data[i];&lt;br /&gt;&lt;br /&gt;    // Begin Sorting&lt;br /&gt;    for ( i=1; i &amp;lt; data.size(); ++i )&lt;br /&gt;    {&lt;br /&gt;        for (j=i; j&amp;gt;0; --j)&lt;br /&gt;        {&lt;br /&gt;            if (data[j] &amp;gt;= data[j-1] )&lt;br /&gt;                break;&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                tmp = data[j];&lt;br /&gt;                data[j] = data[j-1];&lt;br /&gt;                data[j-1] = tmp;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    // Output Sorted&lt;br /&gt;    cout &amp;lt;&amp;lt; &amp;quot;\n Sorted Resulte:&amp;quot;;&lt;br /&gt;    for ( i=0; i&amp;lt;data.size(); ++i )&lt;br /&gt;    cout &amp;lt;&amp;lt; data[i] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;    cout &amp;lt;&amp;lt; endl;&lt;br /&gt;&lt;br /&gt;    return 0;&lt;br /&gt;}  &lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-6016211653704013924?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ C/C++ ] Transfer to Binary</title><link>http://blog.ntut.idv.tw/2009/11/cc-transfer-to-binary.html</link><category>C/C++</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Tue, 23 Mar 2010 00:45:06 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-1280595156684523139</guid><description>將輸入整數值轉換成二進位數值&lt;br /&gt;&lt;pre class="brush: c++"&gt;// Binary.cpp&lt;br /&gt;//&lt;br /&gt;// transfer to binary&lt;br /&gt;//&lt;br /&gt;// Console-based&lt;br /&gt;// Author Jim.lin 2009&lt;br /&gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;  &lt;br /&gt;using namespace std;&lt;br /&gt;  &lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;int N;&lt;br /&gt;int v = 1;&lt;br /&gt;cin &gt;&gt; N;&lt;br /&gt;while(v &lt;= N/2)&lt;br /&gt;    v = 2*v;   // 此時 v 值為 &lt;= N 的最大次方&lt;br /&gt;  &lt;br /&gt;int n = N;&lt;br /&gt;while(v &gt; 0)&lt;br /&gt;    {&lt;br /&gt;        if (n &lt; v) { cout &lt;&lt; "0"; }&lt;br /&gt;        else { cout &lt;&lt; "1"; n -= v; }&lt;br /&gt;        v = v/2;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-1280595156684523139?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ C/C++ ] Powers Of Two by C++</title><link>http://blog.ntut.idv.tw/2009/10/cc-powers-of-two-by-c.html</link><category>C/C++</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Tue, 23 Mar 2010 00:45:32 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-9126940743775261454</guid><description>使用 C++ 輸出 2 的次方值 Power Of Two&lt;br /&gt;&lt;pre class="brush: c++"&gt;// powersOfTwo.cpp&lt;br /&gt;//&lt;br /&gt;// Powers of Two, 2^i &lt;br /&gt;//&lt;br /&gt;// Console-based&lt;br /&gt;// Author Jim.lin 2009&lt;br /&gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;    int N;&lt;br /&gt;    int v = 1;&lt;br /&gt;    int i = 0;&lt;br /&gt;    cin &gt;&gt; N;&lt;br /&gt;    while(i &lt;= N)&lt;br /&gt;    {&lt;br /&gt;        cout &lt;&lt; i &lt;&lt; " " &lt;&lt; v &lt;&lt; endl;&lt;br /&gt;        v = 2 * v;&lt;br /&gt;        i = i + 1;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-9126940743775261454?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><title>[ C/C++ ] Leap Year Check</title><link>http://blog.ntut.idv.tw/2009/10/cc-leap-year-check.html</link><category>C/C++</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Tue, 23 Mar 2010 00:46:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-9195968925876871915</guid><description>閏年定義(leap year or intercalary year) : 四年一閏，百年不閏，四百年閏，四千年閏&lt;br /&gt;&lt;br /&gt;英文字典 leap year ?&lt;br /&gt;A leap year is a year which has 366 days. The extra day is the 29th February. There is a leap year every four years.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: c++"&gt;// leapyear.cpp&lt;br /&gt;//&lt;br /&gt;// This program to determine leap year.&lt;br /&gt;//&lt;br /&gt;// Console-based&lt;br /&gt;// Retruns real as well as comples roots.&lt;br /&gt;// Author Jim.lin 2009&lt;br /&gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;    int year;&lt;br /&gt;        cin &gt;&gt; year;&lt;br /&gt;    if(( year%4==0 &amp;&amp; year%100!=0 ) || year%400==0 )&lt;br /&gt;        cout &lt;&lt; "Leap Year ";&lt;br /&gt;    else&lt;br /&gt;        cout &lt;&lt; "Not Leap Year ";&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Ref.  &lt;a href="http://www.google.com"&gt;By Google&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-9195968925876871915?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ C/C++ ] Quadratic by C++</title><link>http://blog.ntut.idv.tw/2009/10/cpp-quadratic-by-c.html</link><category>C/C++</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Tue, 23 Mar 2010 00:46:21 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-4372725219731247704</guid><description>使用 C++ 解一元二次方程式&lt;br /&gt;&lt;pre class="brush: c++"&gt;// quadratic.cpp&lt;br /&gt;//&lt;br /&gt;// This program solves a quadratic equation in standard form.&lt;br /&gt;// ax^2 + bx + c = 0&lt;br /&gt;//&lt;br /&gt;// Console-based&lt;br /&gt;// Retruns real as well as comples roots.&lt;br /&gt;// Author Jim.lin 2009&lt;br /&gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;math.h&amp;gt;&lt;br /&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;double a,b,c;&lt;br /&gt;double x1,x2;&lt;br /&gt;double i;&lt;br /&gt;&lt;br /&gt;// main function&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;    cout&lt;&lt;"Please Input Number a,b,c:\n";&lt;br /&gt;    cin&gt;&gt;a&gt;&gt;b&gt;&gt;c;&lt;br /&gt;    i=sqrt(b*b-4*a*c);&lt;br /&gt;    if(i&lt;0)&lt;br /&gt;        cout&lt;&lt;"This is imaginary roots";&lt;br /&gt;    else if(i==0)&lt;br /&gt;    {&lt;br /&gt;        x1=-b/(2*a);&lt;br /&gt;        cout&lt;&lt;"The quadratic equation has one root" &lt;&lt; x1 &lt;&lt; endl;&lt;br /&gt;    }&lt;br /&gt;    else&lt;br /&gt;    {&lt;br /&gt;        x1=(-b+i)/(2*a);&lt;br /&gt;        x2=(-b-i)/(2*a);&lt;br /&gt;        cout&lt;&lt;"The quadratic equation has two roots" &lt;&lt; endl;&lt;br /&gt;        cout&lt;&lt;"x1=" &lt;&lt; x1 &lt;&lt; "  x2=" &lt;&lt; x2 &lt;&lt; endl;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Best Code : &lt;a href="http://jblanco_60.tripod.com/c_pp_quadratic.html"&gt;http://jblanco_60.tripod.com/c_pp_quadratic.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-4372725219731247704?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ FBSD ] FreeNAS Soft RAID 1 Operator</title><link>http://blog.ntut.idv.tw/2009/06/fbsd-freenas-soft-raid-1-operation.html</link><category>FreeBSD</category><category>FreeNAS</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Thu, 18 Jun 2009 20:30:35 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-1381934535301961221</guid><description>FreeNAS 軟體 RAID 的建立及操作，測試環境為 FreeNAS 0.69.2 Stable&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;(一) 建立 Soft RAID 1 ( Mirror 1 + 1 = 1 ) , 步驟如下：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1) 除了主系統碟 ad0 之外另外再裝入兩棵 1T  Sata 介面的 HD 其磁碟代號為 ad2 及 ad3&lt;br /&gt;2) 開起瀏覽器進入 FreeNAS 的 WebGUI 管理介面&lt;br /&gt;3) 磁碟 &gt; 管理 &gt; + &gt; ( 磁碟 : 選 ad2 , 描述 : 輸入 ad2 disk , S.M.A.R.T. : 打勾, 已格式化之檔案系統 : 選 Software RAID ) &gt; 增加&lt;br /&gt;4) 磁碟 &gt; 管理 &gt; + &gt; ( 磁碟 : 選 ad3 , 描述 : 輸入 ad3 disk , S.M.A.R.T. : 打勾, 已格式化之檔案系統 : 選 Software RAID ) &gt; 增加&lt;br /&gt;5) 套用 : 會看到二棵 HD 都已經 ONLINE&lt;br /&gt;6) 磁碟 &gt; 軟體RAID &gt; + &gt; RAID 1 &gt; ( RAID 名稱 : 輸入 sr1, 提供者 : 按 Ctrl 點選 ad2 及 ad3, 初始化 :  打勾 建立並初始 RAID ) &gt; 增加&lt;br /&gt;7) 套用 : 會看到 sr1 顯示 COMPLETE&lt;br /&gt;8) 磁碟 &gt; 格式化 &gt; ( 磁碟 : 選 sr1, 檔案系統 : 選 UFS(GPT and soft Update), 磁碟標籤 : 輸入 mirror1 )  &gt; 格式化磁碟&lt;br /&gt;9) 磁碟 &gt; 掛載點 &gt; 管理 &gt; + &gt; ( 類別 : 選 Disk, Partition type : GPT partition, Partion number : 輸入 1, 檔案系統 : 選 UFS, Mount point name : 輸入 disk2 ) &gt; 增加&lt;br /&gt;10) 套用 : 會看到 OK 即完成&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;(二) 更換 Soft RAID1 壞掉的一棵硬碟 , 方式如下：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;說明：當 Soft RAID 1 的硬碟 ad3 掛點時我們可以看到在 ( 磁碟 &gt; 軟體RAID &gt; RAID1 &gt; 管理 &gt; 狀態 : 會顯示 DEGRADED )。停機後換上新的硬碟，軟體 RAID 並不會自動重建，所以我們需要自己手動重建 Soft RAID 才行。&lt;br /&gt;&lt;br /&gt;1) 完成更換新的硬碟動作，進入 FreeNAS 的網頁管理介面&lt;br /&gt;2) 磁碟 &gt; 軟體RAID &gt; RAID 1 &gt; 工具 ( 執行以下操作 )&lt;br /&gt;&lt;br /&gt;Volume 名稱 : 選軟體 RAID 1 的那棵硬碟名稱 sr1&lt;br /&gt;磁碟 : 選原本沒有壞的那一顆 ad2，給它下一個「forget」的命令&lt;br /&gt;接著將換好的新硬碟 ad3 下一個「insert」的命令&lt;br /&gt;最後將換好的新硬碟 ad3 下一個「rebuild」的命令&lt;br /&gt;&lt;br /&gt;3)  磁碟 &gt; 軟體RAID &gt; RAID 1 &gt; 工具 &gt; 資訊，就會看到有兩顆硬碟囉！換好的那一顆會有一個訊息 State: SYNCHRONIZING&lt;br /&gt;&lt;br /&gt;PS : 會同步很久 @@&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-1381934535301961221?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><title>[ FBSD ] FreeNAS Samba PDC Domain Logon Setup</title><link>http://blog.ntut.idv.tw/2009/05/fbsd-freenas-samba-pdc-domain-logon.html</link><category>FreeBSD</category><category>FreeNAS</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Tue, 16 Jun 2009 00:31:06 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-2299567373053794108</guid><description>讓 FreeNAS 中的 Samba 當 PDC 網域管理者的設定方式&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. 新增讓 Windows 登入 Samba 網域的管理者帳號&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(一) 於 Group 中加入一個名稱為 machines 的群組：存取權限 &gt; 群組 &gt;  + 名稱 (machines)&lt;br /&gt;(二) 於 User 中加入一個 admin 的使用者：存取權限 &gt; 使用者 &gt;  + 登入 (admin) (主要群組 admin 其餘群組 wheel 及 machines)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. 在 Samba 的全域 Global 環境需設定以下參數&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;服務 &gt; CIFS/SMB/網芳 &gt; 設定 &gt; 附屬參數(添加下面參數)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;add machine script = /usr/sbin/pw useradd %u -g machines -s /sbin/nologin -d /nonexistent&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;admin users = @wheel&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;domain admin group = @wheel&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;domain admin users = admin&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;domain logons = yes&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;domain master = yes&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;dos charset = CP950&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;encrypt passwords = yes&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;os level = 64&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;preferred master = yes&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PS：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;※ 在 FreeNAS 中 Samba 的使用者密碼所在檔在 /var/etc/private/smbpasswd 有別一般 FreeBSD 在 /usr/local/etc/samba/smbpasswd，當 Windows 已經 join 到 samba 時可查看是否有建立機器帳號，機器帳號為有加 $ 號的 Windows電腦名稱&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# cat /var/etc/private/smbpasswd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ref.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mail.lsps.tp.edu.tw/%7Egsyan/freebsd2001/samba.html"&gt;http://mail.lsps.tp.edu.tw/~gsyan/freebsd2001/samba.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://daniel.fiser.cz/?samba"&gt;http://daniel.fiser.cz/?samba&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-2299567373053794108?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><title>[ FBSD ] FreeNAS Hack Chinese UTF-8</title><link>http://blog.ntut.idv.tw/2009/05/fbsd-freenas-hack-chinese-utf-8.html</link><category>FreeBSD</category><category>FreeNAS</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Wed, 20 May 2009 18:49:32 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-2908841516467356150</guid><description>FeaaNAS 微調能讓 Pietty 終端軟體也可以顯示出中文：&lt;br /&gt;&lt;br /&gt;用 &lt;a href="http://www.csie.ntu.edu.tw/%7Epiaip/pietty/"&gt;Pietty&lt;/a&gt; 連到 FreeNAS 想要讓 Pietty 可顯示中文，必需修改 /etc/csh.cshrc 的設定，我們必需要準備一台 FreeBSD Server，再把 FreeNAS 中的 mfsroot.gz 檔傳到 FreeBSD Server 中解開，接著重新做設定檔，為甚何要這樣做 ? 因為 FreeNAS 為 embed 型態，直接連進去 FreeNAS 修改設定雖可馬上生效但重開機後便重新回到 msfsroot.gz 內的所有設定，因此我們必須直接修改 mfsroot.gz 檔才能讓設定永久生效。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;BSD#&lt;span style="color: rgb(0, 0, 153);"&gt; cd /home/user&lt;/span&gt;&lt;/span&gt;    # 切換到 FreeBSD Server 中自己的家目錄&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;BSD#&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;sftp 192.168.10.5&lt;/span&gt;   # 連到 FreeNAS Server&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sftp&gt;&lt;span style="color: rgb(0, 0, 153);"&gt; cd /cf &lt;/span&gt;&lt;/span&gt;    # 在 FreeNAS 中切換到 /cf 目錄&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sftp&gt;&lt;span style="color: rgb(0, 0, 153);"&gt; get mfsroot.gz  &lt;/span&gt;&lt;/span&gt; # 在 FreeNAS 中取得 mfsroot.gz 檔&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sftp&gt;&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;exit&lt;/span&gt;   # 離開 FreeNAS&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;BSD#&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;gzip -d mfsroot.gz&lt;/span&gt;    # 解壓縮 mfsroot.gz&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;BSD#&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;mdconfig -a -t vnode -f /home/user/mfsroot&lt;/span&gt;  # 以RAM DISK 方式將 mfsroot 載入 /dev/md0&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;BSD#&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;mount /dev/md0 /mnt&lt;/span&gt;/    # 將 RAM DISK md0 掛載到 /mnt 目錄下&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;BSD#&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;cd /mnt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;BSD#&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt; vi /etc/csh.cshrc&lt;/span&gt;   # 建立 csh.cshrc 檔並寫入下面設定檔&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;setenv PAGER more&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;setenv BLOCKSIZE K&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;setenv EDITOR nano&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;setenv LANG zh_TW.UTF-8&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;setenv LC_ALL en_US.UTF-8&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;setenv PACKAGEROOT ftp://ftp4.freebsd.org&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;alias ls 'ls -wG'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;setenv LSCOLORS ExGxFxdxCxDxDxBxBxExEx&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;BSD#&lt;/span&gt; umount md0&lt;/span&gt;   # 卸載 md0&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;BSD#&lt;/span&gt; mdconfig -d -u 1&lt;/span&gt;  # 卸除 /dev/md0 RAM DISK&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;BSD#&lt;/span&gt; gzip -9 mfsroot&lt;/span&gt;  # 重新將 mfsroot 壓縮成 mfsroot.gz&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;BSD#&lt;/span&gt;&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;ssh 192.168.10.5&lt;/span&gt;   # 連到 NAS 機器上&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NAS#&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;umount /cf&lt;/span&gt;  # 將 cf 磁區卸載&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NAS#&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;mkdir /mnt/temp&lt;/span&gt;   # 建個臨時資料夾&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NAS#&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;mount /dev/ad0s1 /mnt/temp&lt;/span&gt;   # 將 /dev/ad0s1 也就是 /cf 區域掛到 /mnt/temp 臨時資料夾&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NAS#&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;exit&lt;/span&gt;  # 離開 NAS&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;BSD# &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;sftp 192.168.10.5 &lt;/span&gt; # 回到 BSD 後再用 sftp 連到 NAS&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sftp&gt; &lt;span style="color: rgb(0, 0, 153);"&gt;cd /mnt/temp&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sftp&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;put mfsroot.gz&lt;/span&gt;   # 將修改完的 mfsroot.gz 回傳到 NAS 蓋調原本那個 mfsroot.gz 檔&lt;br /&gt;&lt;br /&gt;最後重開 FreeNAS 這台機器即可套用新設定&lt;br /&gt;&lt;br /&gt;PS：Pietty 編碼也必需設定 UTF-8 萬國碼&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ref.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.ctl.tw/2007/02/hack-freenas.html"&gt;http://blog.ctl.tw/2007/02/hack-freenas.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mobile01.com/topicdetail.php?f=110&amp;amp;t=727507&amp;amp;last=7497811"&gt;http://www.mobile01.com/topicdetail.php?f=110&amp;amp;t=727507&amp;amp;last=7497811&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-2908841516467356150?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total></item><item><title>[ FBSD ] FreeBSD ZFS filesystem</title><link>http://blog.ntut.idv.tw/2009/04/fbsd-freebsd-zfs-filesystem.html</link><category>FreeBSD</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Thu, 09 Apr 2009 10:05:54 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-5638591234050521040</guid><description>ZFS(Zettabyte File System) 一個打破過去思維的檔案系統，是昇陽 Sun Microsystems 這家公司所開發出來的全新型態檔案系統，因為 License 的問題所以目前只有在 Solaris、Mac、BSD 上看得到，ZFS 是 128bit 的檔案系統而它到底有多強呢？別再等待了馬上用了你就知道，只能說 ZFS 真是一個上帝賜給IT人員的好禮物。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;優點：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. 簡易管理(Ease of Management)：只需透過簡易的兩個指令 zpool 及 zfs 即可操作管理增加及縮減檔案系統容量。&lt;br /&gt;2. 高延展性(Scalability)：可以線上動態的增加容量給檔案系統而不需停機。&lt;br /&gt;3. 資料完整性(Data Integrity)：再也不需要 fsck 修復資料，任何在 ZFS 裡面進行的動作都會經過同位檢查(Everything is checksummed)確認後才寫入/讀出。&lt;br /&gt;4. 驚人的高效能表現(Breathtaking Performance)：資料寫入磁碟機時，首先會將資料先寫入第一個未使用的區塊(first free block)，不需等待實體磁碟機轉速的延遲及磁頭移動的時間。同時具有智慧預備讀取功能(Intelligent Prefetch)可自動預測下筆讀取資料並將其預先放置在快取記憶體裡。&lt;br /&gt;5. 擁有企業級的操作功能：具備 Quota(磁碟配額)、Reservation(磁碟預留)、Compression(磁碟壓縮)、Snapshot(磁碟快照)、Clone(磁碟復製)等強大的功能。&lt;br /&gt;6. ZFS是免費使用檔案系統：Apple 的 Mac OS 將在下一版 10.6 Snow Leopard 即內建支援 ZFS，而 FreeBSD 7.X 環境下也已經開始支援 ZFS 也將於 8.0 之後的版本列入為主要檔案系統的一部份。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;測試環境：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;i386 P4-1.6&lt;br /&gt;Real RAM 512M&lt;br /&gt;OS FreeBSD 7.1R&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. 啟動 ZFS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# vi /etc/rc.conf &lt;/span&gt;  #加入開機自動啟動&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;zfs_enable="YES"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# vi /boot/loader.conf&lt;/span&gt;   # 針對  ZFS FreeBSD 核心的最佳化調整&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;vm.kmem_size="330M"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;vm.kmem_size_max="330M"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;vfs.zfs.arc_max="40M"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;vfs.zfs.vdev.cache.size="5M"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# /etc/rc.d/zfs start&lt;/span&gt;   # 手動啟動 ZFS&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# reboot&lt;/span&gt;   # 重新啟動讓調整的參數開機載入&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. ZFS 的 zpool 指令&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zpool create storage mirror ad2 ad3&lt;/span&gt;   # 建立 Raid1(1+1=1) Mirror 格式，資料會同時寫入兩棵 HD。&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# df -h&lt;/span&gt;  # 查看 storage pool 是有已經建立&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Filesystem     Size    Used   Avail Capacity  Mounted on&lt;/span&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage        5.8G    6.9M    5.8G     0%    /storage&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zpool status&lt;/span&gt;     # 查看本機 ZFS 的狀態，這個系統中有一個 pool 名稱為 storage 是由兩棵代號 ad2 及 ad3 的實體硬碟 mirror 而成&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;pool: storage&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt; state: ONLINE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt; scrub: none requested&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;config:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;        NAME        STATE     READ WRITE CKSUM&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;        storage     ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;          mirror    ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;            ad2     ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;            ad3     ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;errors: No known data errors&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zpool list&lt;/span&gt;   # 查看 pool 的空間使用狀態&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage                5.94G   7.00M   5.93G     0%  ONLINE     -&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zpool offline storage ad2 &lt;/span&gt;  # 讓 storage 這個 pool 的 ad2 硬碟暫時離線&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Bringing device ad2 offline&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zpool status storage&lt;/span&gt;     # 查看狀態會有 DEGRADED 警告&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;pool: storage&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt; state: DEGRADED&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;status: One or more devices has been taken offline by the administrator.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;        Sufficient replicas exist for the pool to continue functioning in a&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;        degraded state.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;action: Online the device using 'zpool online' or replace the device with&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;        'zpool replace'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt; scrub: none requested&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;config:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;        NAME        STATE     READ WRITE CKSUM&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;        storage     DEGRADED     0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;          mirror    DEGRADED     0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;            ad2     OFFLINE      0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;            ad3     ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;errors: No known data errors&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zpool online storage ad2&lt;/span&gt;   # 讓 storage 這個 pool 的 ad2 硬碟重新上線&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Bringing device ad2 online&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zpool status storage&lt;/span&gt;    # 查看狀態 DEGRADED 警告已解除&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;pool: storage&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt; state: ONLINE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt; scrub: resilver completed with 0 errors on Thu Apr  9 13:49:50 2009&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;config:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;        NAME        STATE     READ WRITE CKSUM&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;        storage     ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;          mirror    ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;            ad2     ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;            ad3     ONLINE       0     0     0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;errors: No known data errors&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zpool export -f storage&lt;/span&gt;    # 卸除(umount) storage 這個 pool 參數 -f (Force) 為強制卸除&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# df -h&lt;/span&gt;    # 查看是否 umount，已無 storage 這個 pool&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Filesystem     Size    Used   Avail Capacity  Mounted on&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;/dev/ad0s1a     11G    1.4G    8.5G    14%    /&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;devfs          1.0K    1.0K      0B   100%    /dev&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zpool import storage&lt;/span&gt;     # 掛載(mount) storage 這個 pool&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# df -h&lt;/span&gt;    # 查看是否 mount，已重新掛載 storage pool&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Filesystem     Size    Used   Avail Capacity  Mounted on&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;/dev/ad0s1a     11G    1.4G    8.5G    14%    /&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;devfs          1.0K    1.0K      0B   100%    /dev&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage        5.8G    6.9M    5.8G     0%    /storage&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zpool scrub storage&lt;/span&gt;   # 手動驗證 storage 這個 pool 中所有資料的完整性&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zpool replace storage ad4 ad5&lt;/span&gt;   # 在 storage pool 中用新的 ad4 ad5 取代原本的 ad2 ad3 兩棵 HD&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. ZFS 的 zfs 指令&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zfs create storage/compressed&lt;/span&gt;    # 在 storage 這個 pool 中建立一個檔案目錄叫 compressed&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zfs list&lt;/span&gt;  # 查看 ZFS 檔案狀態&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;NAME                 USED  AVAIL  REFER  MOUNTPOINT&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage             7.02M  5.84G  6.91M  /storage&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed    18K  5.84G    18K  /storage/compressed&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zfs set compression=gzip storage/compressed&lt;/span&gt;  # 將 compressed 目錄設定成 gzip 壓縮格式&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zfs set compression=off storage/compressed&lt;/span&gt;    # 解除 compressed 目錄設的壓縮格式&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zfs mount&lt;/span&gt;   # 查看所有 ZFS 掛載的磁區&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage                         /storage&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed              /storage/compressed&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zfs get all storage/compressed&lt;/span&gt;    # 查看 storage/compressed 檔案目錄屬性&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;NAME                PROPERTY       VALUE                  SOURCE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  type           filesystem             -&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  creation       Thu Apr  9 14:14 2009  -&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  used           18K                    -&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  available      5.84G                  -&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  referenced     18K                    -&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  compressratio  1.00x                  -&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  mounted        yes                    -&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  quota          none                   default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  reservation    none                   default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  recordsize     128K                   default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  mountpoint     /storage/compressed    default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  sharenfs       off                    default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  checksum       on                     default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  compression    gzip                   local&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  atime          on                     default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  devices        on                     default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  exec           on                     default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  setuid         on                     default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  readonly       off                    default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  jailed         off                    default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  snapdir        hidden                 default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  aclmode        groupmask              default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  aclinherit     secure                 default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  canmount       on                     default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  shareiscsi     off                    default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  xattr          off                    temporary&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed  copies         1                      default&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zfs set quota=3G storage/compressed &lt;/span&gt; # 可設定檔案空間大小為 3G 但 storage 這個 pool 總大小為 5.8G 如果 3G 滿了而 5.8 還未用完會 share 給 /storage/compressed 繼續使用&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# df -h&lt;/span&gt;   # 查看 storage/compressed 的 Avail 變成 3G&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Filesystem                       Size    Used   Avail Capacity  Mounted on&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage                          5.8G    7.0M    5.8G     0%    /storage&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed               3.0G    128K    3.0G     0%    /storage/compressed&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zfs set reservation=3g storage/compressed&lt;/span&gt;  # 設定保留了 3G 給 /storage/compressed&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# df -h&lt;/span&gt; # 查看 storage 的 Size 變成 2.8G，這是因為保留了 3G 給 /storage/compressed，代表 /storage/compressed 真正擁有 3G 別的 filesystem 是不能跟它 share 的&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Filesystem                       Size    Used   Avail Capacity  Mounted on&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage                          2.8G    7.0M    2.8G     0%    /storage&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed               3.0G    128K    3.0G     0%    /storage/compressed&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zfs create storage/data&lt;/span&gt;    #  於 storage pool 中再建立一個 data 檔案目錄&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zfs set mountpoint=/data storage/data&lt;/span&gt;    # 設定真實掛載點原本 Mounted on 會由 /storage/data 變成到 /data&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# df&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Filesystem                    1K-blocks    Used   Avail Capacity  Mounted on&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;/dev/ad0s1a                    11294270 1468766 8921964    14%    /&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;devfs                                 1       1       0   100%    /dev&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage                         2982656    7040 2975616     0%    /storage&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed              3145728     128 3145600     0%    /storage/compressed&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/compressed@2009-04-09   3145728     128 3145600     0%    /storage/compressed/.zfs/snapshot/2009-04-09&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;storage/data                    2975616       0 2975616     0%    /data&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zfs set sharenfs=rw storage/data&lt;/span&gt;    # 設定分享權限可讀及寫，通常用在 NFS 分享上&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# touch /storage/compressed/1234&lt;/span&gt;    # 建一個檔案到 compressed 目錄下&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# md5 /storage/compressed&lt;/span&gt;     # 用 md5 去 hash snapshot 之前的目錄，會得到一個 hash 值&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;MD5 (/storage/compressed) = 7bffed2808dfba7915f89f8f42b09f83&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zfs snapshot storage/compressed@2009-04-09&lt;/span&gt;  # snapshot compressed 目錄，取個隨便名稱就用今天日期&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# md5 /storage/compressed/.zfs/snapshot/2009-04-09&lt;/span&gt;     # 再次用 hash 去驗證 snapshot 前後所得到的檔案是否一樣&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;MD5 (/storage/compressed/.zfs/snapshot/2009-04-09) = 7bffed2808dfba7915f89f8f42b09f83&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# zfs destroy storage/compressed&lt;/span&gt;   # 可刪除 storage/compressed 檔案目錄&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ref.&lt;/span&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/ZFS"&gt;http://en.wikipedia.org/wiki/ZFS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opensolaris.org/os/community/zfs/"&gt;http://opensolaris.org/os/community/zfs/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://wiki.freebsd.org/ZFS"&gt;http://wiki.freebsd.org/ZFS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/filesystems-zfs.html"&gt;http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/filesystems-zfs.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-5638591234050521040?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ FBSD ] Lagg Interface Setup</title><link>http://blog.ntut.idv.tw/2009/04/fbsd-lagg-interface-setup.html</link><category>FreeBSD</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Wed, 01 Apr 2009 21:49:28 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-5175289940161502989</guid><description>FreeBSD 插雙(多)網卡方式，用意在針對網路卡容錯及增加網路卡效能。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# vi /etc/rc.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;defaultrouter="192.168.1.254"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;ifconfig_vr0="up"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;ifconfig_vr1="up"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;cloned_interfaces="lagg0"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;ifconfig_lagg0="laggproto failover laggport vr0 laggport vr1 inet 192.168.1.9 netmask 255.255.255.0"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# reboot&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;可套用的 Protocols&lt;/span&gt;：&lt;br /&gt;&lt;br /&gt;failover&lt;br /&gt;Sends and receives traffic only through the master port. If the master port becomes unavailable, the next active port is used. The first interface added is the master port; any interfaces added after that are used as failover devices.&lt;br /&gt;&lt;br /&gt;fec&lt;br /&gt;Supports Cisco EtherChannel. This is a static setup and does not negotiate aggregation with the peer or exchange frames to monitor the link.&lt;br /&gt;&lt;br /&gt;lacp&lt;br /&gt;Supports the IEEE 802.3ad Link Aggregation Control Protocol (LACP) and the Marker Protocol. LACP will negotiate a set of aggregable links with the peer in to one or more Link Aggregated Groups. Each LAG is composed of ports of the same speed, set to full-duplex operation. The traffic will be balanced across the ports in the LAG with the greatest total speed, in most cases there will only be one LAG which contains all ports. In the event of changes in physical connectivity, Link Aggregation will quickly converge to a new configuration.&lt;br /&gt;&lt;br /&gt;loadbalance&lt;br /&gt;Balances outgoing traffic across the active ports based on hashed protocol header information and accepts incoming traffic from any active port. This is a static setup and does not negotiate aggregation with the peer or exchange frames to monitor the link. The hash includes the Ethernet source and destination address, and, if available, the VLAN tag, and the IP source and destination address.&lt;br /&gt;&lt;br /&gt;roundrobin&lt;br /&gt;Distributes outgoing traffic using a round-robin scheduler through all active ports and accepts incoming traffic from any active port.&lt;br /&gt;&lt;br /&gt;none&lt;br /&gt;This protocol is intended to do nothing: it disables any traffic without disabling the lagg interface itself.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ref.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cyberciti.biz/faq/freebsd-network-link-aggregation-trunking/"&gt;http://www.cyberciti.biz/faq/freebsd-network-link-aggregation-trunking/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-5175289940161502989?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ FBSD ] FreeNAS Rsync to Operate (Pull/Push)</title><link>http://blog.ntut.idv.tw/2009/03/fbsd-freenas-rsync-to-oprate-pullpush.html</link><category>FreeBSD</category><category>FreeNAS</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Thu, 14 May 2009 09:46:03 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-4711355893284669012</guid><description>&lt;a href="http://www.samba.org/rsync/"&gt;rsync&lt;/a&gt; 是一套非常棒的 OpenSource 檔案備份同步軟體，因為 rsync 在備份資料時有方向性(Pull/Push)，因此將此測試做個簡單的記錄以方便未來使用，過程是在兩台&lt;a href="http://www.freenas.org/"&gt;FreeNAS&lt;/a&gt; (Server/Client) 下操作，備份方式直接使用 SSH 連進 Client 端那台機器下 command 操作，FreeNAS 為 FreeBSD 所打包的嵌入式 &lt;a href="http://zh.wikipedia.org/wiki/%E7%B6%B2%E8%B7%AF%E5%84%B2%E5%AD%98%E8%A8%AD%E5%82%99"&gt;NAS&lt;/a&gt; 系統因此基本操作都跟 FreeBSD 一樣。為何不用 FreeNAS WebGUI 上直接設定 rsync ？因為小弟在使用 FreeNAS 的 WebGUI 設定 rsync 時上遇到權限上的備份問題，且 WebGUI 對方向性(Pull/Push)的設定沒那麼彈性，因此我的用戶端才改為 command 操作，待測試 Ok 便可寫個 shell script 加入 crontab 就可用定時去同步備份。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;環境：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;B (192.168.1.8) Server 端&lt;br /&gt;使用 WebGUI 開啟Port 873 的 rsync 服務，同時分享出名稱為 office 的備份目錄。&lt;br /&gt;A (192.168.1.9) Client 端&lt;br /&gt;用 SSH 直接連進機器使用 commnad line 操作。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;操作方式：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A 機器上操作( 將 A 機器上要備份的 /mnt/office/main 目錄檔案送到 B 機器的 office 分享資料夾中)。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# rsync -avzrtopg  --delete-after /mnt/office/main 192.168.1.8::office&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A 機器上操作( 將 B 機器上分享的 office 檔案夾取回到 A 機器的 /mnt/office/main  分享資料夾中)。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# rsync -avzrtopg --delete-after 192.168.1.8::office /mnt/office/main/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;下 command 的基本原則。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# rsync  (參數)  (Source來源端)  (Destination目的端)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;參數說明：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;*  -a, –archive archive mode，檔案模式。&lt;br /&gt;* -v, –verbose increase verbosity，觀看過程。&lt;br /&gt;* -z, –compress compress file data，壓縮資料。&lt;br /&gt;* -P, – equivalent to –partial –progress，顯示程序進度%。&lt;br /&gt;* -delete , –delete files that don't exist on the sending side (參數 -after 表示完成同步後再刪除)，保持二台機器資料的一致性。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ref.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.samba.org/ftp/rsync/rsync.html"&gt;http://www.samba.org/ftp/rsync/rsync.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-4711355893284669012?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ FBSD ] The System File Types atime mtime ctime</title><link>http://blog.ntut.idv.tw/2009/03/fbsd-system-file-types-atime-mtime.html</link><category>FreeBSD</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Sun, 28 Jun 2009 19:07:34 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-3289967672262852589</guid><description>在系統中所有的檔案文件都有3種時間狀態保存於檔案中，我們可利用檔案時間的特性來寫 Shell Script 程式做定時清空目錄資料夾。&lt;br /&gt;&lt;br /&gt;atime (Access Time) 是檔案文件最後一次讀的時間或執行文件的時間。&lt;br /&gt;mtime (Modified Time) 是檔案文件最後一次寫的時間，是會在我們寫入檔案文件時隨文件的內容更改而更改。&lt;br /&gt;ctime (Create Time) 是檔案建立或狀態改變的時間，當有寫入文件、更改擁有者、權限或link設定時 i-node 會隨著內容的更改而更改。&lt;br /&gt;&lt;br /&gt;下面的 Script 是使用 Create Time 來判斷網路磁碟上的檔案文件是否放置超過1小時，如果檔案文件超過1小時就刪除，我們使用 cmin 用分鐘來計算。&lt;br /&gt;&lt;pre name="code" class="c"&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;echo "Begin find and delete one hour files."&lt;br /&gt;find /FS2/ftp/*/* -name "*" -cmin +60 -exec rm -rf {} \;&lt;br /&gt;echo "The one hour before ftp files had delete."&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;PS：甚麼是 i-node？當一個檔案要儲存於硬碟的時候，會分配到一個 i-node 指標，它指示檔案存放在硬碟上的實體位置，以及其它的一些相關資訊。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-3289967672262852589?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[ FBSD ] FreeBSD iSCSI Setup</title><link>http://blog.ntut.idv.tw/2009/03/fbsd-freebsd-iscsi-setup.html</link><category>FreeBSD</category><author>noreply@blogger.com (4wei-diary)</author><pubDate>Wed, 08 Apr 2009 08:50:15 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9084082.post-3493743841895794634</guid><description>iSCSI, Internet SCSI(Small Computer System Interface) 應用越來越普遍，在 FreeBSD上裝來玩看看，環境為兩台主機，伺服器端 target 的 IP 為 192.168.1.9，用戶端 initiator 的 IP 則相同網段的任意 IP。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. 安裝 FreeBSD iSCSI 的伺服器端 target &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# cd /usr/ports/net/iscsi-target&lt;/span&gt;   # 使用 ports 直接安裝&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# make install clean; rehash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# vi /usr/local/etc/iscsi/targets&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# extents       file                    start   length&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;extent0         /tmp/iscsi-target0      0       2GB&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# target        flags   storage         netmask&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;target0         rw      extent0         192.168.1.0/26&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# vi /etc/rc.conf&lt;/span&gt;     # 開機自動啟動 iSCSI target&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;iscsi_target_enable="YES"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# /usr/local/etc/rc.d/iscsi_target start&lt;/span&gt;    # 手動啟動 iSCSI target&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Starting iscsi_target.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Reading configuration from `/usr/local/etc/iscsi/targets'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;target0:rw:192.168.1.0/26&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;        extent0:/tmp/iscsi-target0:0:2147483648&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;DISK: 1 logical unit (4194304 blocks, 512 bytes/block), type iscsi fs&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;DISK: LUN 0: 2048 MB disk storage for "target0"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;TARGET: TargetName is iqn.1994-04.org.netbsd.iscsi-target&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# ls -l /tmp&lt;/span&gt;   # 查看 tmp 目錄下是否多了個 2G 大小的 iscsi-target0 檔&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;-rw-r--r--  1 root  wheel  2147483648 Mar 19 09:33 iscsi-target0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. 設定 FreeBSD iSCSI 的用戶端 initiator&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# vi /boot/loader.conf&lt;/span&gt;     # 讓開機可以自動載入 iscsi_initiator 核心模組&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;iscsi_initiator_load="YES"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# kldload iscsi_initiator &lt;/span&gt;    # 手動載入 iscsi_initiator 核心模組&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# kldstat&lt;/span&gt;    # 查看有無載入  iscsi_initiator.ko&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Id Refs Address    Size     Name&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt; 1    6 0xc0400000 97f830   kernel&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt; 2    1 0xc4c71000 f000     iscsi_initiator.ko&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# iscontrol -d -t 192.168.1.9&lt;/span&gt;      # 測試 iSCSI 連線&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;TargetName=iqn.1994-04.org.netbsd.iscsi-target:target0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;TargetAddress=192.168.1.9:3260,1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# iscontrol -c /etc/iscsi.conf -n target0&lt;/span&gt;     # 啟動 iSCSI session&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;iscontrol[2664]: running&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;iscontrol[2664]: (pass0:iscsi0:0:0:0):  tagged openings now 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;iscontrol[2664]: cam_open_btl: no passthrough device found at 0:0:1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;iscontrol[2664]: cam_open_btl: no passthrough device found at 0:0:2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;iscontrol[2664]: cam_open_btl: no passthrough device found at 0:0:3&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;iscontrol: supervise starting main loop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;#cat /var/log/messages&lt;/span&gt;    # 會有下面兩行訊息表示 /dev/da0 介面已經被建立&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Mar 19 09:45:11 ntut kernel: da0 at iscsi0 bus 0 target 0 lun 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Mar 19 09:45:11 ntut kernel: da0: &lt;netbsd&gt; Fixed Direct Access SCSI-3 device&lt;/netbsd&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# newfs /dev/da0&lt;/span&gt;    # 格式化 /dev/da0 檔案系統&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;/dev/da0: 2048.0MB (4194304 sectors) block size 16384, fragment size 2048&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;        using 12 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;super-block backups (for fsck -b #) at:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt; 160, 376512, 752864, 1129216, 1505568, 1881920, 2258272, 2634624, 3010976, 3387328, 3763680, 4140032&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# mkdir /mydata&lt;/span&gt;    # 建立目錄&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 153);"&gt;# mount /dev/da0 /mydata&lt;/span&gt;     # 掛載檔案系統&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# df&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Filesystem  1K-blocks    Used    Avail Capacity  Mounted on&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;/dev/da0      2026030       4  1863944     0%    /mydata&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. 用戶端 FreeBSD 如何開機自動掛載 iSCSI 硬碟？參考網路上前人所寫的&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; Shell Script &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;開機可以自動掛載啟動檔&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# vi /etc/rc.d/iscsi&lt;/span&gt;&lt;br /&gt;&lt;pre name="code" class="c"&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;# PROVIDE: iscsi&lt;br /&gt;# REQUIRE: NETWORKING&lt;br /&gt;# BEFORE: mountcritremote&lt;br /&gt;# KEYWORD: shutdown&lt;br /&gt;&lt;br /&gt;. /etc/rc.subr&lt;br /&gt;&lt;br /&gt;name="iscsi"&lt;br /&gt;start_cmd="iscsi_start"&lt;br /&gt;stop_cmd="iscsi_stop"&lt;br /&gt;rcvar="iscsi_enable"&lt;br /&gt;required_modules="iscsi_initiator:iscsi"&lt;br /&gt;&lt;br /&gt;iscsi_start()&lt;br /&gt;{&lt;br /&gt;        ${iscsi_command} -c ${iscsi_config} -n ${iscsi_nickname}&lt;br /&gt;        if [ -f ${iscsi_fstab} ]; then&lt;br /&gt;                devs=`sed -e '/^#/d' &lt; ${iscsi_fstab} | cut -f 1`&lt;br /&gt;                for xdev in $devs&lt;br /&gt;                do&lt;br /&gt;                        i=10&lt;br /&gt;                        echo "Wait for $xdev"&lt;br /&gt;                        while [ $i -ne 0 ]&lt;br /&gt;                        do&lt;br /&gt;                                [ -c $xdev ] &amp;&amp; break&lt;br /&gt;                                sleep 1&lt;br /&gt;                                i=$(($i-1))&lt;br /&gt;                        done&lt;br /&gt;                done&lt;br /&gt;&lt;br /&gt;                echo "mount -a -F ${iscsi_fstab}"&lt;br /&gt;                mount -a -F ${iscsi_fstab}&lt;br /&gt;        fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;iscsi_stop()&lt;br /&gt;{&lt;br /&gt;        if [ -f ${iscsi_fstab} ]; then&lt;br /&gt;                echo "umount -a -F ${iscsi_fstab}"&lt;br /&gt;                umount -a -F ${iscsi_fstab}&lt;br /&gt;        fi&lt;br /&gt;        killall -HUP ${iscsi_command}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;load_rc_config $name&lt;br /&gt;&lt;br /&gt;: ${iscsi_enable="NO"}&lt;br /&gt;: ${iscsi_command="iscontrol"}&lt;br /&gt;: ${iscsi_nickname="target0"}&lt;br /&gt;: ${iscsi_config="/etc/iscsi.conf"}&lt;br /&gt;: ${iscsi_fstab="/etc/iscsi.fstab"}&lt;br /&gt;&lt;br /&gt;run_rc_command "$1"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# chmod 555 /etc/rc.d/iscsi&lt;/span&gt;    #  改變權限&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# vi /etc/iscsi.fstab&lt;/span&gt;     # 設定開機掛載 HD&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;/dev/da0             /mydata         ufs     rw              3       3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# vi /etc/rc.conf    &lt;/span&gt;# 加入開機自動執行&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;iscsi_enable="YES"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4. 如何使用 AES 加密檔案系統掛載 iSCSI&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# kldload geom_eli.ko&lt;/span&gt;    # 載入核心加密模組 GEOM_ELI&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# kldstat&lt;/span&gt;     # 查看載入的核心模組&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Id Refs Address    Size     Name&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt; 1    9 0xc0400000 97f830   kernel&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt; 2    1 0xc4c71000 f000     iscsi_initiator.ko&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt; 3    1 0xc4f93000 10000    geom_eli.ko&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt; 4    1 0xc4fa3000 23000    crypto.ko&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt; 5    1 0xc4fc6000 a000     zlib.ko&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# geli init /dev/da0&lt;/span&gt;    # 初始化 /dev/da0 需輸入密碼 , 這邊採用 AES 加密&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Enter new passphrase:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Reenter new passphrase:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# geli attach /dev/da0&lt;/span&gt;    # 加密 /dev/da0 輸入剛剛加密密碼&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Enter passphrase:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# cat /var/log/message&lt;/span&gt;    # 查看核心 log&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Mar 19 09:54:43 ntut kernel: cryptosoft0: &lt;software&gt; on motherboard&lt;/software&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Mar 19 09:59:48 ntut kernel: GEOM_ELI: Device da0.eli created.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Mar 19 09:59:48 ntut kernel: GEOM_ELI: Encryption: AES-CBC 128&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Mar 19 09:59:48 ntut kernel: GEOM_ELI:     Crypto: software&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# /boot/loader.conf&lt;/span&gt;    # 加入開機自動載入 GEOM_ELI  加密模組&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;geom_eli_load="YES"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# newfs -U -L mydata /dev/da0.eli&lt;/span&gt;     # 格式化加密檔案系統&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;/dev/da0.eli: 2048.0MB (4194300 sectors) block size 16384, fragment size 2048&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;        using 12 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;        with soft updates&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;super-block backups (for fsck -b #) at:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt; 160, 376512, 752864, 1129216, 1505568, 1881920, 2258272, 2634624, 3010976, 3387328, 3763680, 4140032&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# cat /var/log/message&lt;/span&gt;    # 查看核心 log 可發現多了區塊標籤 ufs/mydata&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Mar 19 10:04:58 ntut kernel: GEOM_LABEL: Label for provider da0.eli is ufs/mydata.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# mkdir /mydata&lt;/span&gt;    # 建立檔案目錄&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;# mount /dev/ufs/mydata /mydata &lt;/span&gt;    # 掛載檔案目錄&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;# df&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;    # 查看檔案目錄&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;Filesystem      1K-blocks    Used    Avail Capacity  Mounted on&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;/dev/ufs/mydata   2026028       4  1863942     0%    /mydata&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Add.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;如何在 Windows 運行 Initiator 用戶端 ?&lt;br /&gt;&lt;br /&gt;Vista/2K8 已經內建支援 iSCSI 用戶端軟體 XP/2K 則需到微軟官網下載軟體安裝方可運行 iSCSI&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=12cb3c1a-15d6-4585-b385-befd1319f825&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=12cb3c1a-15d6-4585-b385-befd1319f825&amp;amp;displaylang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ref.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ivoras.sharanet.org/freebsd/iscsi-eli.html"&gt;http://ivoras.sharanet.org/freebsd/iscsi-eli.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cyberciti.biz/faq/freebsd-iscsi-initiator-howto/"&gt;http://www.cyberciti.biz/faq/freebsd-iscsi-initiator-howto/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://shell.peach.ne.jp/aoyama/archives/45"&gt;http://shell.peach.ne.jp/aoyama/archives/45&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9084082-3493743841895794634?l=blog.ntut.idv.tw' alt='' /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><media:rating>nonadult</media:rating></channel></rss>

