分類
Windows

Outlook Express升級到Live Mail

這篇主要是因為從 Windows XP 升級到 Windows 7 時, 若用戶有用原來的 Outlook Express 也要升到 Windows 7 沒有內建 mail client 的做法.

相信微軟也知道大多數的用戶已經習慣了 Web Mail 這樣好用的工具, 所以在 Vista 中有內建 Windows Mail, 而到了 Windows 7 就沒有 mail client 可用了. 但大家應該有發現, 其實在下載 Live Messenger 時, 就有個 Live Mail 可用, 這個就是 Outlook Express (Windows XP) 升到 Windows Mail (Windows Vista) 之後再升到 Live Mail (Windows 7)的狀況了.

由於這次是 Windows XP 改到 Windows 7, 所以需要從 Outlook Express 中的用戶信件存檔先 copy 出來, 再到重灌好的 Windows 7 (或另一台電腦), 再利用匯入的方式進行即可. 而用戶信件存檔的目錄在哪裡呢? 可以參考這篇: http://support.microsoft.com/kb/977197/zh-tw

另外要再補充的一點, 就是帳戶的部分也是可以由 outlook express 匯出的 *.iaf 檔, 在 Live Mail 中匯入的, 簡單地說, Live Mail 是可以整個承接原來在 Windows XP 下的 Outlook Express 的.

下載 Live Mail 可以到這裡: http://download.live.com/wlmail

分類
Windows

好用工具svchost viewer

偶然在 windows server 上會發現記憶體愈來愈少. 但是又是無法重新開機的狀況, 利用 task manager 會發現有個吃記憶體的怪獸, svchost.exe

這個 svchost.exe 望文生義, 就是個 host 服務的程式, 所以本身並無特別的執行項目, 而必須看他 host 什麼樣的服務, 這裡有個工具, svchost viewer: http://www.codeplex.com/svchostviewer , 就是專門用來看 svchost 的每個服務使用了多少記憶體及服務名稱, 方便在 svchost.exe 吃大量記憶體時, 查找原因所在.

這個 svchost viewer 是專查 svchost.exe 這個 process 的工具, 其實還有另一個功能更強大的工具, process explorer: http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx , 這個工具原本是在 sysinternal 這家公司, 早些年因為它的 utility 很豐富, 而且功能又都很強大(看它的名字叫 sysinternal 就能明白), 所以被微軟收購下來. 這個 process explorer 功能更多, 但若是拿來看 svchost 的 process 也能查找對應 svchost viewer 的功能, 但多更多其他的功能就是了.

這篇文章介紹了 svchost viewer 的介面及用法, 可以參考看看: 對一堆正在執行的 svchost.exe 好奇嗎?Svchost Viewer 可以給你答案 http://blog.joaoko.net/archives/1070

利用這樣的工具, 之前 svchost.exe 吃掉了 1g多的記憶體, 原來是 remote register 這個 service 用掉 1.06g 的記憶體, 真是太嚇人了, 停掉該服務後, 果然記憶體就還回來囉, 再次啟動這個服務, 又讓系統有充裕的記憶體可用了.

分類
Windows

微軟的防毒軟體-MSE

Microsoft Security Essentials (MSE), 微軟的防毒軟體, 可以在這裡下載: http://www.microsoft.com/security_essentials/?mkt=zh-tw

這個防毒軟體是微軟自己出的, 所以相對應該可信任防毒的能力或效果應該不差, 而且最重要的是免費. 只要他的病毒碼更新速度夠快, 相信應該是不錯用的.

看看這裡有對這個 MSE 的介紹: http://steachs.com/archives/943

目前支援的作業系統共有以下:

Windows XP 32-bit
Windows Vista/7 32-bit/64-bit

其他的OS目前還沒有, 不過對於 Client OS 來說, 有這套免費的防毒軟體, 而且又是微軟出的, 相信對於 Windows 加分不少.

分類
系統技術

免費SSL申請憑證-StartSSL

在寫作 web application 後, 最後一步就是部署發行了.

不過這端往往會有問題(其實也不是問題)的地方在於自己的網站, 若是要使用 SSL 加密通道, 走 https 通訊協議時, 會需要申請一個 SSL 的憑證.

今天剛好在這裡看到一篇文章: http://blog.s135.com/startssl/ 裡有提到有關免費申請的 SSL 憑證. 這家公司是 startcom, 其網站在: http://www.startssl.com , 提供了線上免費申請 SSL 的憑證, 十分方便而且實用.

其實 SSL 憑證是可以自己簽發的, 在自家網路內部還不成問題, 可以將 CA 加入在公司內的電腦主機上, 但是在公眾網路上, 若是瀏覽器沒有內建的 CA 時, 就會發生不信任警告, 而現在的瀏覽器更是主動直接拒絕連結, 需要使用者自行手動加入信任才行. 對於一般的應用上, 自行簽發的憑證真的不是很方便(雖然一樣可以用, 只是信任度就下降了, 不然何必要第三方公證單位的CA呢). 而一般的申請單位像是 Verisign 也都可以申請, 只是費用就不是市井小民負擔的起的.

好. 廢話不多說, 我們就來申請試看看吧, 首先上 http://www.startssl.com 進行申請, 首先到右上有個門有鑰匙的符號進行申請, 之後出現三個功能, Authenticaion, Sign-up, express line, 時選擇 Sign-up, 填入基本資料後, 就可以利用 email 完成驗證身份的動作了.

接下來就可以在 control panel 上的 Validations Wizard 進行 web ssl 憑證申請囉, 畫面如下:

分類
Windows

真好用的VMWare Import (P2V)

先簡單說明一下, VMWare 相信大家都不陌生, 是個虛擬系統, 也就是可以跑個虛擬環境的軟體, 然而, 從以往的 LAB 應用, 到現在的可供工作的虛擬伺服器, 虛擬化的重要性也日益增加, 不過, 通常是要在安裝作業系統時, 就必須準備好虛擬環境, 再進行安裝, 不過, 後來有個 P2V 的功能, 讓實體主機, 能轉成虛擬主機, 這個 P2V 是得用開機光碟來達成, 讓現有的主機, 利用 P2V 的開機光碟來抓到硬碟, 並且虛擬化. 但問題在於需要重新開機以及影響線上服務, 相信這樣的作法有更好的解決方案.

是的, 現在就要來介紹這個很棒的作法. “線上”在不重開機, 讓來源主機不關機, 可以提供線上服務的狀況下, 進行虛擬化, 這個功能在 VMWare 6.5 版本上有提供(至於之前是否有這個功能, 恕我無法確認, 當然也不是這篇介紹的重點), 接下來看看怎麼實作這個部分.

首先開啟 VMWare Workstation, 並選擇 File -> Import and Export… 如下:
接下來會出現一個精靈畫面, 如下:

下一步之後, 會出現選擇來源, 請選擇 PHYSICAL COMPUTER, 也就是實體主機:

再來就是輸入來源端的主機 IP (或主機名), 對應有管理權限的帳號密碼:

接下來成功連入後, 會詢問要安裝一個 convert agent 到來源主機, 第一項是作業後就移除, 第二個選項則是不要移除, 之後再手動移除, 基本上選第一個比較方便, 即使之後不真的虛擬化, 程式也會將這個 agent 移除的.

再來就是安裝好 agent 後, 會列舉出該主機的所有 disk …
(待續)

[2011/6/21 18:50]
請參考這裡有更完整的操作:
http://www.dotblogs.com.tw/walter/archive/2011/06/19/vmware-p2v.aspx

分類
Windows

裝了windows 7 RC

今天心血來潮來裝了一下 windows 7 RC 的版本, 趕搭一下這個風潮, 之前都是裝在 VM 裡, 今天特別用了老電腦來裝, 所謂老電腦是筆者目前用的電腦的前一台, 原本是要用來當 server 的, 不過已經有兩台了, 所以就暫時 idle 在旁邊.

它的規格其實不差, 不過真的有點舊, 大約配備如下:
P4-2.6G
2G DDR RAM
SATA 80G
NVIDIA FX5700 Ultra 128MB
Gigabyte 8IK1100 主機板 (on board Intel VE NIC 掛了)
3Com 3c905c-TX (NIC)
Sound Blaster Live (on board 不想用)
大略是這樣的配備.

於是開始安裝, 記錄一下時間.
21:58 起開始安裝(開機光碟)
21:59 讀完後 start windows (感覺還蠻快進入 GUI)
開始進行真正安裝, 其中第二步驟最久, 大約是在 22:14左右第一次 reboot.
22:16 左右第二次 reboot. (想說看 20分鐘內能不能完成安裝, 正在期待時, 又再做第三次 reboot )
這次 reboot 就在準備第一次桌面了, 這樣看來應該是勉強算 21分鐘安裝完成, 而且進入 windows 7 了.

不過有趣的來了, 因為之前都安裝在 VM, 驅動程式沒什麼問題, 不過這次比較麻煩, 雖然說 windows 7 內建也不少 drivers, 不過這次安裝在實體主機上, 所以會有一些小問題, 看起來就是顯示卡, 3COM 網卡及 sound blaster live 音效卡未能順利被驅動, 於是先驅動網卡, 使用舊的 driver, 很順利可以被支援, 然後到 nvidia 的網站找 FX5700Ultra driver, 結果 5以下的沒有 windows 7 的 driver, 只好使用 vista 的 driver , 也很順利可用, 而且沒有問題, 不過音效卡就不想去驅動了, 因為也用不到.

接下來就是評比一下, 利用內建功能評分結果為 3.4, 果然還是敗在顯示卡, 如下:

不過其實 CPU 也好不到哪去, 但那個時期已經是很頂級的了(呃.. 硬體就是這樣啦), 不過話說回來, 要好好來試一下跑起來的順暢度, 使用者經驗等, 相信應該很不錯. (因為 Windows Flip 3D之前在 Vista 時, 同樣的環境, 真的不如 Windows 7 的狀況來得順, 看起來應該會好蠻多的)

另外還蠻好用的工具就是這個 “剪取工具” (附屬應用程式中的):

其實就是個截取畫面加可以加註圈選及螢光筆工具的小程式, 而且做得真的是又方便又順手, 對於要說明畫面的操作來說, 真的是很好用, 如下:

其中紅色是手繪圈選, 而螢光黃則是螢光筆功能, 很好用, 一定要去試看看.
——————————————–
[2009/5/17 23:38]
剛才發現這個剪貼工具, 原來是在 Vista 時就有了的, 現在才發現, 真的是太不好意思了. 因為比較常用的系統是 XP, 雖然也有 Vista, 但時間較少, 今天是因為要找個功能時, 進到附屬應用程式時, “赫然”發現, 原來在 Vista 內就已經有了.
——————————————–

另外還有計算機強化版:

神奇的手寫數學符號輸入工具:

整個就是方便, 很開心在 windows 7 內建的多項功能有這麼多方便工具及設計, 相信這會是一個很成功的版本.

分類
FreeBSD/Linux

apache deny ip設定

想要將 apache 的站台, 拒絕讓某個(某群ip)存取的方式, 有幾個方法, 其中最單純最俱體的方式就是直接利用 <Directory></Directory> 這個 tag 中的限制存取來操作最為單純方便 (當然, 虛擬主機可不行, 可以直接利用 .htaccess 設定該層目錄的存取權限)

一般來設, 設定如下:

<Directory "/usr/home/website1">
  order deny,allow
</Directory>

這樣即可. 就是判斷 deny , 預設為 allow 的條件, 也就是所謂公開站台的設定, 若有要限制某些 ip 存取, 可以這樣下:

<Directory "/usr/home/website1">
  order deny,allow
  deny from 1.2.3.4
  deny from 11.22.33.
</Directory>

其中的 deny from 1.2.3.4 是限制某個單一 ip, 而 deny from 11.22.33. 是指 11.22.33.* 都是拒絕存取的, 如此一來, 便能有效管理不想讓某些 ip (例如爬蟲類或是一些吃資源的 ip, 又或是攻擊的 ip)訪問做好限制.

不過發生了一個有趣的狀況, 也就是之前設了, 發現沒有用, 在多次交叉比對檢查後, 發現是這個原因, 就是在 <VirtualHost> 內的 DocumentRoot 指定為 /home/website1 而在 <Directory> 內的目錄指向是 /usr/home/website1 , 這樣一來, apache 在存取該 website1 的檔案時, 是走 /home/website1 下的檔案, 雖然和 /usr/home/website1 一樣, 不過對 apache 來說卻是不同, 這個要特別注意才行, 否則可能會有設定好的 <Directory> 的限制 ip, 但實際上沒有作用, 原因就有可能發生在這裡了.

又或反過來說, 設定的路徑一定要一致, 而且儘量用完整路徑, 不要用簡化的 link 路徑指向檔案, 也比較容易除錯一些. 所以原則上是這樣的:

<VirtualHost *:80>
  ServerName test.diary.tw
  Document /usr/home/www/test
.....
</VirtualHost>

<Directory "/usr/home/www/test">
  order deny,allow
  deny from 1.2.3.4
</Directory>

這樣就 ok 啦, 千萬要注意紅字部分要一致的這件事, 否則可能設了沒有作用, 原因就在這裡了..

另外補充一下, 若是這種方式限制存取的話, client 會拿到 403 的存取失敗代碼.

分類
Windows

快速kill process的方式(Windows)

手邊剛好在處理一個大量 process 未結束於系統上的一個問題. 該 server 不知什麼原因, 在起動 cgi 程式時, 發生了這個現象, 偶發的不會自行結束, 於是在系統內就留下了許多該 process 的名稱. 利用 task manager 會看到大量的 process, 雖未佔用 cpu, 不過會吃掉一部分的記憶.

在不方便重開 server 的狀況下, 如何快速地將相同名稱的 process 一起刪除呢? 於是上網想查看看有沒有什麼方便的小工具可以做這件事. 結果很順利地找到系統內建的一個指令: taskkill

這個指令是給定要刪除的 pid 或 image name (就是執行檔名稱), 來進行 process kill 的動作. 簡單研究一下, 進行了測試, 效果相當不錯, 800多個 process 一下就刪完了, 使用的指令如下:

taskkill /IM mytest.exe /F

如此一來, 所有 mytest.exe 的 process 一口氣就被 kill 完成了.

另外有許多方便的參數可供使用, 詳情可以利用 taskkill /? 來取得說明, 列表如下:

TASKKILL [/S system [/U username [/P [password]]]]
{ [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]

Description:
This tool is used to terminate tasks by process id (PID) or image name.

Parameter List:
/S system Specifies the remote system to connect to.

/U [domain\]user Specifies the user context under which the
command should execute.

/P [password] Specifies the password for the given user
context. Prompts for input if omitted.

/FI filter Applies a filter to select a set of tasks.
Allows “*” to be used. ex. imagename eq acme*

/PID processid Specifies the PID of the process to be terminated.
Use TaskList to get the PID.

/IM imagename Specifies the image name of the process
to be terminated. Wildcard ‘*’ can be used
to specify all tasks or image names.

/T Terminates the specified process and any
child processes which were started by it.

/F Specifies to forcefully terminate the process(es).

/? Displays this help message.

Filters:
Filter Name Valid Operators Valid Value(s)
———– ————— ————————-
STATUS eq, ne RUNNING |
NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne Image name
PID eq, ne, gt, lt, ge, le PID value
SESSION eq, ne, gt, lt, ge, le Session number.
CPUTIME eq, ne, gt, lt, ge, le CPU time in the format
of hh:mm:ss.
hh – hours,
mm – minutes, ss – seconds
MEMUSAGE eq, ne, gt, lt, ge, le Memory usage in KB
USERNAME eq, ne User name in [domain\]user
format
MODULES eq, ne DLL name
SERVICES eq, ne Service name
WINDOWTITLE eq, ne Window title

NOTE
—-
1) Wildcard ‘*’ for /IM switch is accepted only when a filter is applied.
2) Termination of remote processes will always be done forcefully (/F).
3) “WINDOWTITLE” and “STATUS” filters are not considered when a remote
machine is specified.

Examples:
TASKKILL /IM notepad.exe
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
TASKKILL /F /IM cmd.exe /T
TASKKILL /F /FI “PID ge 1000” /FI “WINDOWTITLE ne untitle*”
TASKKILL /F /FI “USERNAME eq NT AUTHORITY\SYSTEM” /IM notepad.exe
TASKKILL /S system /U domain\username /FI “USERNAME ne NT*” /IM *
TASKKILL /S system /U username /P password /FI “IMAGENAME eq note*”

給大家參考!

參考資料: XP: kill a Windows process from the command line with taskkill

分類
Windows

好用netstat指令

在 windows 下使用 netstat 指令來查詢已開啟的 listen port (-a), 以及已建立的連線 (active connection) 是十分方便的工具. 不過若是要知道該 connection 或 listen port 是由哪個 process 建立的, 在 netstat 指令下是無法達成的, 必須藉由另一個 sysinternals (被 ms 併入了)的 tcpview 工具.

不過, 現在可以不用這麼麻煩了, netstat 工具已經增加了這個功能, 指令是 (-b), 例如:

netstat -nb

可 以找出目前建立 connection 的不解析名稱(即使用ip及port number, -n)的方式, 列出對應的執行檔名稱及 process id (PID), 如此一來, 對於要快速追蹤 active connection 及 listen port 的 process (或執行檔名) 可以更快速的利用指令來取得.

常用的方式如下:

netstat -na

netstat -nab

為什麼使用 -n, 因為可以不用反查 hostname, 直接顯示 ip, 速度較快啦.
另外使用 -b 的功能應該是要在 windows 2003 sp2 及以上, windows xp sp3, windows vista 以上才有.

分類
FreeBSD/Linux

ssh登入緩慢問題

最近的一次更新, 讓 FreeBSD 主機在登入時, 速度變得很慢, 這對操作上有蠻大的影響, 於是問了同事, 也著手進行查詢相關的可能, 原來是 OpenSSH 的名稱反查問題, 簡單處理方式如下:

修改 /etc/ssh/sshd_config 檔內的一個 UseDNS 參數, 設為 no 即可.

官方說明連結: http://www.openssh.org/faq.html#3.3

3.3 – ssh(1) takes a long time to connect or log in

 

Large delays (more that 10 seconds) are typically caused a problem with name resolution:

  • Some versions of glibc (notably glibc 2.1 shipped with Red Hat 6.1) can take a long time to resolve “IPv6 or IPv4” addresses from domain names. This can be worked around with by specifying AddressFamily inet option in ssh_config.
  • There may be a DNS lookup problem, either at the client or server. You can use the nslookup command to check this on both client and server by looking up the other end’s name and IP address. In addition, on the server look up the name returned by the client’s IP-name lookup. You can disable most of the server-side lookups by setting UseDNS no in sshd_config.

下面還有如何判定是 “slow”

CPUTime (SSHv1)[1]Time (SSHv2)
170MHz SPARC/sun4m0.74 sec1.25 sec
236MHz HPPA/8200[2]0.44 sec0.79 sec
375MHz PowerPC/604e0.38 sec0.51 sec
933MHz VIA Ezra0.34 sec0.44 sec
2.1GHz Athlon XP 2600+0.14 sec0.22 sec

參考看看吧!