2009-07-09

更換網域: abintech.twidv.com

本站更換網域名稱啦!更換網域的「心路歷程」和廢話請參考我發表在另一個 Blog: Abin's Note這一篇文章

我手上所有 *.azhai.org,即日起統統轉成 *.twidv.com 啦!本 Blog 的網址變更成為 abintech.twidv.com,如果把本站紀錄到書籤(我的最愛)或其他 Bookmarklet 的人,請麻煩更新一下,如果有訂閱 RSS 的朋友,那不用改、Feedburner 會自動調整轉向到新網址。而舊的 azhai.org 因為續約沒多久,所以自動轉址會持續到明年底,中間這段時間就等網路上的各種服務和 Search Engine 更新連結,而到期後舊網址就終止不用了,希望舊雨新知繼續捧場啦!

2009-07-08

本站留言板 (Message Board)

這邊是 Abin's Tech Note Blog 的留言板!

用了一段時間的 cbox,雖然這個留言板服務很不錯,但我自己常常沒在看,有留言一擺大概一兩個月都沒注意到,如果留言板還要搞到 e-mail 通知又太 over,而且這也不支援 RSS 訂閱,不去注意的留言板應該也失去了它的效用吧!所以乾脆就取消掉了!但是如果對 Blog 有些非關特定主題的留言(來打招呼簽到?!)、或是不知道該在哪個地方發問的主題,沒有了這樣的留言版似乎又很不方便,所以我就發了本篇文章,打算利用 Blogger 的文章留言功能充當留言板,一方面可以提供 RSS 訂閱提醒、另一方面也可以用 Blogger 的郵件訂閱讓讀者來關注,功能性和實用性上比起 cbox 有過之而無不及。如果有空的話,我會針對這篇文章做一個留言板的 Hack,一樣可以放在 Sidebar 上、一樣可以是一個 widget-look 的模組,修改和使用上應該就更有彈性啦!

所以,要打屁就在這邊留言吧!如果是要發問,不好意思,還是請先善用「搜尋」功能,說不定就可以找到答案、要不也可以在正確的主題上發問,如果非關特定主題、或是想問的問題實在 Google 不到,那就在本文後面回應吧!不過留言的禮貌還是要注意一下,不然留言是會被無視的,畢竟公開的網路上,一種米養百種人啊!最後,還是歡迎鄉民路人在這留言,想私密留言 PM 的,還是請寄 e-mail 吧!

回應: 5

 

2009-06-15

站內搜尋的「Google 搜尋框」(Search Box Gadget)

很久以前我做了一個給 Blogger 使用、能套用三種搜尋引擎的站內文章搜尋功能,原理很簡單,就是用 Blogger 自己的站內搜尋語法(Navibar 裡的那一個,參考這一篇)、Google 的自訂搜尋以及 Technorati 的 Blog 搜尋來實現,讓自己能從關鍵字快速找到特定文章。最快的應該是 Blogger 自己提供的站內搜尋吧,Google 自訂搜尋的要看「Google 機器人」什麼時候來訪才有紀錄,而 Technorati 則是端看你站內 RSS 更新的速度決定。這三種方法各有優缺點,但具有「指標性」意義的還是 Google 的自訂搜尋,因為任何人用 Google 找關鍵字時,如果在自訂搜尋找得到,代表一般的 Google Search 也才有進入排名的機會。最近 Blogger 官方「終於」推出給 Blog 專用的「Google 搜尋框」,這是一個「網頁元素」、用拖拉的就能加進 Blog 裡成為一個元件,提供使用者做快速的站內搜尋。(新增方法:登入管理介面,版面配置->網頁元素->新增小工具,把新增的「搜尋框」加進去就行了)

元件新增以後的設定畫面

問題來了,到底這個元件和我之前做的三合一 Combo 有什麼差別呢?能不能找到更快、更多呢?看來還是要裝來實測一下。我用相同的關鍵字下搜尋,Blogger 自己的站內搜尋完全不破壞版面、直接將結果出現在本文區域內,速度最快也不漏勾,不用擔心什麼機器人或 RSS 更新的問題,缺點是搜尋範圍窄、關鍵字不夠精準會找不到。接下來用 Google 自訂搜尋,和一般 Google Search 一樣強大,但要跳轉頁面顯示、還要看機器人有沒有來你的站台「臨幸」過,所以新開張或少更新的 Blog、剛發的新文章很容易都搜尋不到。而 Technorati 的 Blog 搜尋也接近 Google 的能力,新文章出現的頻率也「應該」比 Google 快(端看 RSS 更新的結果),不過這項服務好像國內知道的人少、用的也少,我單純就是自己裝來找爽用的。以上三種和這個新增的「搜尋框」比起來,搜尋效果的確等同於 Google 自訂搜尋,而且還能多幾種分類,效果還不錯,而且為了配合 Blogger、不需要跳轉頁面顯示,直接就給你塞入 Blogger 的本文區域,而且提供純 CSS 的 Tab 分頁來切換搜尋結果,還會自動配合你 Blogger 的樣板顏色和樣式,真的是很強大、很簡單哩!

站內搜尋比一比!上面這塊是我 Combo 的三種站內搜尋,下面的模組是新增的「Google 搜尋框」,顏色樣式和圖示會配合樣板調整,真強!

偷看網頁原始碼,其實這個模組和許多 Blogger 外掛模組一樣,是用外嵌的 Javascript 達成,使用很簡單,但沒有什麼修改的彈性,而且載入需要一點點時間(所以會看到「載入中..」),我想我還是會用自己做的自訂搜尋吧!因為搜尋效果一樣、載入速度快,而且應該沒有人會沒事一直在做站內搜尋吧!但如果是一般使用者、懶得自己做搜尋介面,又希望在 Blogger 塞入 Google 搜尋的模組,這個搜尋框的確是很讚的選擇。越來越發現 Google 和 Blogger 整合後的強大,放在 Blogger 上的文章似乎曝光率也比較高、Google 也容易找到,現下越來越多與 Search Engine 結合的模組和機制,只要拖拉選取就能塞進 Blog 裡,免 Hack 馬上就能用,這實在是支持 Google 服務者的福音啊~

內嵌式的搜尋結果,有分頁、CSS 樣式也會自動配合版型!

Technorati Profile

回應: 4

 

2009-05-07

Blogger 放檔的好選擇 - Google Code

之前發現,Google Page Creator (Google Pages) 要倒店關門的消息,我就一直在找更好的地方,用來放我 Blog 會用到的各種小圖和外連檔案(不然每次登入 Google Pages,都要恐嚇我一次,我所有的資料都要被強制移到 Google Sites 了),試用了一陣,本來覺得即將取而代之的 Google Sites 也不錯用,正打算大舉遷移,把檔案和連結都搬過去之際,突然緊急煞車,發現 Google Sites 不能這樣用啊!目前它有兩個關鍵性的障礙:

  1. 不准上傳 HTML 或 Javascript 之類的程式碼。對很多朋友來講,這可是嚴重的缺陷,因為有不少人習慣把外掛 Blogger 的模組,都寫成獨立的 js 檔,載入頁面時再用 include 的方式呼叫,改版時只要兼顧相容性,不用再動到網頁樣板的原始碼,維護也比較獨立和方便。原先的 Google Pages 並不阻擋,但到了 Google Sites 卻拒絕上傳(說是安全性考量),這一點就讓不少人打退堂鼓了。
  2. 不支援 GIF。這一點我就非常非常不能接受了,Google Sites 是用來建立「個人網站」、來做協作的平台,有聽過提供這類服務但不支援 GIF 圖檔的嗎?!一開始我還沒發現,因為 GIF 圖檔是可以上傳的,一般靜態標準的 GIF 圖檔看起來都沒事,但嵌入網頁外連所有圖片時才發現,不正常的情況來了!首先是透明底圖 (Transparent GIF),在 Firefox 沒事,但用 IE (IE6) 看卻不再透明了,就算你想換成透明底圖的 PNG 檔,舊版 IE 不支援、新版 IE 照樣不能透明!其次,動態圖片 (Animated GIF) 照樣沒作用,這次連用 Firefox 也沒效果,Google 找了半天,得到的竟然官網的回答:「Google 協作平台目前不支援動畫 GIF。如果要使用動畫 GIF,則需要將它裝載在協作平台外部,並使用它的裝載網址進行連結。」看到這句,檔案還要放在「外部」,我真的無言了~(據說還是安全性考量.. XD)

以前還一度以為是外連檔案後面那個謎字串 ?attredirects=0 搞的鬼,因為之前測試加了該字串好像會正常,但其實是因為當下我有登入 Google Sites 的關係。至此,我想我是完全放棄用 Google Sites 來取代 Google Pages 了(這狀況已經一段時間,我也上 Google Groups 去反應,看來還是沒進度)!在尋找其他解的過程中,看到了有人推薦使用 Google Code、一項 Google 提供給使用者用來公佈及開放程式碼的平台,為了讓用戶能自由下載、修改和分享程式和專案的原始碼,該服務平台也有提供 File Hosting 的機制,讓專案主人能放置檔案公開分享和連結使用。當然,這些公開的原始碼檔案也提供像是版本控制、描述分類等專案控管的機制,還有 Wiki 和 Issues 讓管理者和使用者能控制和掌握專案的進度和變動(還支援 Google Analytics 來監看存取流量),算是一個相當簡單、又配備大部分該有功能的程式碼控管平台。

對我來說,現階段最重要的當然是小圖檔的 Image Hosting,還有少部份幾個外連用的小檔案。既然是該服務是分享「Code」,未來我也考慮把自己的樣板原始碼公佈出來,甚至將有在用的 Blogger Hack 抽離成一隻隻的 js 檔,這樣用 Google Code 來放置檔案,也才更理所當然,是吧?仔細看看 Google Code 的限制:一個專案空間限制單檔最大 100MB、總容量 2GB、不限網路流量、使用 *.googlecode.com 格式二級域名(但不支援自訂網域)、一個帳號最多可以開十個專案,哇!拿來做我 Blog 的 File Hosting 絕對是綽綽有餘啊!實際試了一下圖片外連,不管什麼格式,顯示下載都很快很正常,測試幾天後,沒想太多我就把檔案統統都搬過去啦!透過之前介紹過的技巧,我大概只改了三行原始碼,就讓所有的 Blog 小圖檔統統轉向到 Google Code 去,果真是 Blogger 放檔的好選擇啊!如果不介意,還可以公佈自己的 Blog 樣板(透過版本控制當備份)和用到的所有 js 檔(不要再盜連了),這樣也符合 Blog 原始碼開放的需要,速度和反應都很不錯,除了擔心對岸會「牆」掉 Google 服務的疑慮(沒差,反正我的 Blog 也是在 Google 的 Blogger 上),不用擔心它會倒掉或關閉(現下用的人很多),看來可以好好頂一陣子了!

我想 Google Code 應該不用教學怎麼使用,只要有 Google 帳號、連到 Google Code 首頁 、選擇「專案託管」、在畫面中央直接選 Create a new project,填好 Project 名稱(這名稱會決定你的二級網域名)和相關資料,專案就開好啦!接著玩一玩專案設定,切到到 Downloads 的分頁,就可以上傳下載自己的檔案了。申請前有興趣可以參考我 Blog 都已經換用的專案:abinlink。推薦因應 Google Pages 倒閉、Google Sites 又不濟事,和我一樣需要空間來放置小檔案的人來參考~(希望不要被拿來愛亂分享大檔的人搞爛就行了~)

回應: 13

 

2009-04-29

Debian 的安裝與設定 (下)

(接續前篇)順利登入後,接下來要替新裝好的 Debian 系統做一些軟體安裝和更新。在安裝軟體之前,由於 Debian 是用 apt-get 來管理程式安裝,我們要先確定下載的伺服器位置。接下來編輯下載伺服器的列表:

nano /etc/apt/sources.list

裡面的資料都刪掉,直接取代成下面這一段:

deb-src ftp://opensource.nchc.org.tw/debian/ stable main
deb ftp://debian.linux.org.tw/debian/ stable main
deb-src ftp://debian.linux.org.tw/debian/ stable main
deb ftp://opensource.nchc.org.tw/debian/ stable main
deb-src ftp://opensource.nchc.org.tw/debian/ stable main
deb http://security.debian.org/ stable/updates main

隨著時間更迭,以上的列表常常可能失效或是更新,所以在使用上有發生類似下載不到或是伺服器沒有回應,可以再去找找看最新的 apt-get 伺服器列表並且更新。有了列表,接下來第一件事情是更新已知所有最新的 Package List,用以下命令進行更新列表,並更新系統現有的元件:

apt-get update
apt-get upgrade

問題來啦,更新系統所有現存元件並不一定會很順利,不是部份依存的元件沒裝、導致更新失敗,不然就是模組之間的依存關係沒建好,就算裝好也不能動,在排除這些問題之前,系統都不能算是穩定和最新的,除了上面用的命令 apt-get upgrade,也可以換用 apt-get dist-upgrade 來試試看(這兩個命令的差異比較可以參考這篇文章)。如果還有問題,可以根據錯誤訊息 Google 一下解法來處理,例如我在更新系統時,碰到下面的訊息「dpkg: error processing .. trying to overwrite `/usr/sbin/add-shell’」,參照網路上的說法,這應該是權限的問題,只要用下面的命令開放權限、並強迫安裝和更新,就能迎刃而解:

dpkg -r --force all passwd
apt-get -f install

如果過程還有短少什麼元件,那就補安裝 (apt-get install '元件名稱') 再繼續,補到 apt-get upgrade 都沒東西要更新,那就搞定了(有點像 Windows Update 一樣)。照我的經驗,系統元件都升級完畢,就連 Debian 也被推到新版才是(從原來的 sarge 3.1 到 etch 4.0,最後是 lenny 5.0,詳細版號和更新可以參閱這篇文章),一樣可以用以下命令檢查升級後的 Debian 版本:

cat /etc/debian_version

系統更新完畢就可以安裝軟體了,這裡安裝的第一套軟體是 SSH Server,用以下的命令:

apt-get install ssh

安裝過程會要求你安裝其他相關套件,或是更新 Library,都用 Y 確認就是了,有不懂的設置問題也都直接按 Enter 繼續就好。

裝好 SSH,建議最好重開系統測試一下(重新開機記得選對分割區,要開在 Debian 上),這時候不管 root 或是新開的帳號,應該都要能夠用 SSH 登入。登入順利的話,為了安全,預設的那個 Telnet Daemon 就該關掉了,可以用下面的命令移除預設的 Telnet daemon:

update-rc.d -f utelnetd remove
rm -f /etc/init.d/utelnetd

現在只剩 SSH 了,如果想改登入的提示訊息,可以編輯 /etc/issue.net 的內容,不過預設 SSH 會關閉,因此還要編輯 SSH 的設定檔 (/etc/ssh/sshd_config),找到這一行:Banner /etc/issue.net,移掉前面的 # 標記。如果想馬上生效,可以 kill 掉 SSH 的 Daemon (sshd),然後重跑 /usr/sbin/sshd 即可。

接下來開始安裝基本軟體和服務,安裝軟體前都要有好習慣,先更新最新的軟體列表,然後安裝基本工具(安裝中如果有 [Y/n] 一律按 y 然後 Enter,有不確定的選項就都用預設值):

apt-get update
apt-get upgrade
apt-get install screen nmap less w3m lynx bzip2 zip unzip host make gcc ncftp ntpdate

以後可以用 dpkg -l 來查看到底系統裡裝了哪些套件。如果想知道還有哪些套件 Package 能夠安裝,可以上官網的連結,有很詳細的分類。接下來是設定台北時區,先刪除舊的時區設定,再連結台北的,最後一個 date 命令會顯示目前日期和時間,檢查看看對不對:

cd /etc
rm -f localtime
ln -s /usr/share/zoneinfo/Asia/Taipei localtime
date

接下來是設定 Host 記錄,讓 Domain Name 能讓系統認得(有自己 Domain 的可以加進去,或是當作手動的 DNS record)

nano /etc/hosts

基本內容如下:

127.0.0.1 LinkStation localhost localhost.localdomain

# The following lines are desirable for IPv6 capable hosts
# (added automatically by netbase upgrade)

::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

再來還有一個重要的設定,就是語系和中文化支援。目前的狀況應該連打中文、顯示中文都有問題,因此要做調整、能夠完整處理中文目錄和檔名。為了支援全中文和 UTF-8 (Unicode) 的套件和環境,這裡建議預設用中文 UTF-8(不用 Big5 了),首先,要先安裝中文相對應的 Locale (語系):

apt-get install locales

這樣會跳出一個文字選單,裡面記得至少要選擇 en_US.UTF-8 UTF-8、en_US ISO-8859-1、zh_TW BIG5 和 zh_TW.UTF-8 UTF-8(用空白鍵選擇、Tab 鍵切換到 OK、Default Locale 選 zh_TW.UTF-8)。安裝完畢,可以 cat /etc/locale.gen 這個檔案內容對不對(如果要新增刪除其他語系,請用 dpkg-reconfigure locales)。接下來設定使用者預設的 Locale,輸入 nano ~/.bashrc,增加下面這兩行:

export LC_ALL=zh_TW.UTF-8
export LANG=zh_TW.UTF-8

登出再登入一次(可以用 locale 這個命令確認是否系統已經更改,SSH Client 程式連線前記得也要換編碼成 UTF-8 unicode 才行,PuTTY 有支援),如此,在登入後命令列的操作就可以看到中文字了。如果 Shell 裡面還是不能輸入,這時候更改使用者的輸入設定,建立檔案 nano ~/.inputrc,確定有下列四行:

set input-meta on
set output-meta on
set convert-meta off
set meta-flag on

同樣登出再登入後就生效了。以上兩個檔案 .bashrc & .inputrc 都是針對一個特定使用者的,如果希望每個新增的帳號都可以免去手動建立的話,那可以去改 /etc/profile 和 /etc/inputrc,可以順便加入一些 alias 和顯示設定,以下是我在預設 /etc/profile 裡面新增的範例(主要是改提示符號、設定別名和中文語系輸出):

export PS1='\u@\h[\w]:'
umask 022

# You may uncomment the following lines if you want `ls' to be colorized:
alias ls='ls --color=auto'

# Some more alias to avoid making mistakes:
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Added aliases
alias cls='clear'
alias dir='ls -al'
alias ftp="ncftp"
alias lo="exit"
alias md="mkdir"
alias rd="rmdir"

# Added for Chinese supported
export LC_ALL=zh_TW.UTF-8
export LANG=zh_TW.UTF-8

搞定中文、語系和登入問題,最後別忘了系統時間的同步。Debian 是一台伺服器,所有的 Log 紀錄都有參考意義,所以紀錄裡的系統時間同步與否就額外重要。和一般電腦一樣,LinkStation 有兩種時間,一個是硬體的 BIOS Clock,另外一個是作業系統的時間日期。你可以用命令 date 來看系統時間,還可以用 hwclock 來看 BIOS 時間(兩邊不一定會一模一樣),手動調整很麻煩,不過只要網路是通的,我們可以直接透過網路來對時。上面裝的基本軟體裡有一項叫 ntpdate,作用就是提供你做網路對時的,只要用下列命令:

ntpdate clock.stdtime.gov.tw

就會幫你連到中央標準局的 Time Server 取得正確時間,並且自動調整。如果此時還想把該時間「同步」到 BIOS 裡,也可以用命令:

hwclock -w

剛剛更新的系統時間就會和 BIOS 同步了。當然沒事要手動做以上動作其實也很累,我們可以做一個時間同步的程式,讓系統每天執行一次,那麼時間不就會一天更新一次保持同步了?首先建立一個程式:timesync

nano /etc/cron.daily/timesync

填入以下的程式碼:

#!/bin/sh
# Synchronize time via NTP daily
/usr/sbin/ntpdate clock.stdtime.gov.tw && /sbin/hwclock -w

最後記得改執行檔屬性:

chmod a+x /etc/cron.daily/timesync

這樣系統每天就會自己同步一次系統和 BIOS 時間了。同樣的,也可以像上一篇修改主機名稱(用 hostname 指定名稱、在 /etc/hosts 加一行記錄)、更改登入後訊息(登入後畫面 Telnet 用 /etc/issue、SSH 登入用 /etc/motd)。如果未來 Debian 有開放對外服務,偏偏那個服務的 Port 在韌體分割區開機也有提供(像是 Web、SSH),為求安全、怕機器重開被人家連進韌體,建議這兩個分割區指定不同的 IP 位址(都用固定 IP),這樣就可以避免機器因故重開卻讓外面使用者連到另一個分割區去。

到這裡基本的 Debian 環境就完成了。如果和我一樣有舊資料在 USB 硬碟裡、打算全部複製回來,那就可以開始做資料復原的工作。首先準備你的硬碟,插入 USB,先檢查看看 USB 硬碟有沒有抓到,可以用 dmesg 來檢視:

dmesg | grep sda

以上命令是從 dmesg 裡找出所有的硬碟分割出來,內接的硬碟應該都是 hda (hda1, hda2, hda3 ..),外接的 USB 碟則會用 sda。接下來決定你要掛載的分割區,因為我的 USB 碟裝的是之前拿來裝 LinkStation 的 500GB 硬碟,資料都在 hda3,因此我就要 Mount 第三個分割區(這時候變 sda3),掛載的目錄是 /usb/ (沒這個目錄的話要自己建立):

mount -t ext3 /dev/sda3 /usb/

我隨身碟裡面用的檔案系統是 ext3,如果 Format 成 NTFS 或 FAT32,上面就不能用 ext3 這個參數囉!因為現在已經完全改用 UTF-8 的環境,原來有中文的資料大多還是用 Big5 的(目錄、檔名),所以接下來要準備編碼轉換程式,把 Big5 的目錄和檔名都改成 UTF-8 的格式,這裡安裝的工具是 convmv:

apt-get install convmv

裝好後就有這個編碼轉換工具了。只要指定編碼,指定的目錄檔名就可以轉換成你要的格式,假設要從 Big5 轉成 UTF-8,命令如下:

convmv -f big5-eten -t utf8 -r --notest /目錄名稱

這個命令會把指定目錄下原來是 Big5 (ANSI 中文) 的中文目錄和檔名,直接改編碼轉換成對應的 UTF-8 名稱。改完檔名,如果有些檔案內容的註解文字以前是 Big5 的中文(舊的中文文字檔),也可以手動針對檔案內容編碼做轉換,讓你在 UTF-8 的環境下能看到轉換過的正確中文字:

iconv -f big5 -t utf-8 檔案名稱 -o 轉換後另存新檔名稱

這個動作完成之後,整個檔案系統環境就都是純的 UTF-8 了。把所有資料還原前,你可能也會想對整個系統先做備份,因為現在是用 Debian 開機,所以比較好備份的是位於 hda1 的原廠韌體,可以先把 /dev/hda1 Mount 到 /mnt 上,然後備份整個原廠韌體到一個檔案(就是把整個 /mnt TAR 起來壓縮),接下來用原廠韌體開機 (hda1),然後 Mount hda3 到 /mnt,就可以備份整個 Debian 了!動作大同小異,端看你想備份哪個分割區,步驟如下:

cd /
mkdir backups
tar -zcvf /backups/my_backup.tgz /mnt

以上是在根目錄下建立一個 backups 目錄,然後把整個 /mnt 目錄壓縮備份成一個檔案:my_backup.tgz。要注意備份前要放備份檔的地方空間夠不夠,假設你想備份整個 Debian,那麼想必 hda1 下所剩的空間一定不夠,這時候你可能要備份到外接硬碟上才行了!不想備份的特定目錄可以用參數 --exclude '目錄名稱' 來排除。有了備份檔未來要怎麼重灌還原呢?只要用韌體分割區開機,砍掉整個要還原的根目錄 (rm -r /mnt/*,不想砍的目錄可以先改目錄名稱像是 mv /mnt/share /mnt/.share,這樣就砍不到,還原完再把目錄名稱改回來)、或是用 Web 介面進行 Format(hda1 的官方韌體有提供,會清除整個 hda3 分割區),這樣就清掉了整個分割區,再用剛剛的備份檔,在根目錄下解壓縮進行還原:

cd /mnt
tar xzfv /backups/my_debian_backup.tgz

以上就是整個備份和還原的步驟(要很清楚的知道,你開機的分割去是哪一個,然後去 Mount 你要備份或還原的分割區到 /mnt,接著進行備份或還原的再操作,做完再切換開機分割區用你要的分割區開機來使用)。

至此,我們更新了軟體列表、並讓系統元件都維持在最新的版本,安裝了 SSH 和一些基本工具、移掉 Telnet Daemon、修改 Local Host 紀錄、解決語系和中文環境設定(使用 UTF-8),最後還有搞定登入和網路對時的問題,連資料複製、備份還原的步驟都交代清楚,這樣總算是完成重灌及還原的工作了。

回應: 4

 

OTHER RECENT POSTS