• 10

免拆機、不破壞保固之 LinkStation 軟體改機 -- 免接電腦, 單獨掛 BT、eDonkey。Web、Mail、FTP、DNS 伺服器、XOOPS、Blog一手包

之前看到有人問 LinkStation 如何改機, 我們已經改成功了。
同時建立了一個 Kuro-Box / LinkStation 改機同好 討論區, 原本想將文章投稿到雜誌社, 不過他們好像沒什麼興趣。文章排版可能無法像 PDF 那麼好, 若你需要 PDF 版, 可到討論區下載。以下文章我會找時間好好排版的, 請大家忍耐一下吧

======== 廢話結束 ======== 廢話結束 ======== 廢話結束 ======== 廢話結束 ========

為何我會寫關於 Buffalo LinkStation 如何改機的文章呢?而且為何沒事要冒著破壞保固的危險來改機呢?這個是一個有關同事國標男的悲情故事, 說來話長, 稍後再來講這個故事。先讓我們來看Buffalo 的 LinkSataion 是何方神聖, 它主要的功能是 NAS (Network Attached Storage), 大小就跟最近很熱門的 Mac mini 差不多大。其實它是一台小電腦, 配備有 64MB 記憶體、MIPS 400 Mhz 的 CPU, 而硬碟的部分則依等級不同有 120G ~ 250G 的差別。詳細產品規格及功能你可以參考 Buffalo 公司的網頁 http://www.buffalo-tech.com.tw/producta.asp?M=29。

一、改機的好處

Buffalo 在 LinkStation 的硬碟裡安裝了一個小型的 Linux, 提供了網路芳鄰、網頁伺服器 (管理介面) 和 FTP 的功能。雖然它的系統是 Linux, 但是因為執行了 Samba 伺服程式, 使用與微軟網路芳鄰相容的 SMB/CIFS 通訊協定, 所以在辦公室或是家裡區域網路的環境下, 不管是 Windows 或是 Mac 的電腦都可以看到 LinkStation 所分享出來的硬碟。使用者可以將要分享的 MP3、電影、資料存放於 LinkStation 上, 進而達到檔案交換的目的。同時它也可以接一台 USB 介面的印表機, 並分享給區域網路上的電腦使用。

因為 LinkStation 的耗電量只有 17 ~ 25W, 在電費高居不下的時代, 它絕對比你用一般的 PC 來做專職的檔案分享伺服器還省電。

目前市面上有多以 Linux 為嵌入式系統的產品, 例如 IOGEAR 的 boss GNS-1000 及 V-Gear 的 LANDISK, 它們大多也有提供 FTP、Web 伺服器或是 NAS 的功能, 但因為 Linux 是放在大約 2MB ~ 4MB 的 Flash RAM 中, 因此其功能就受到限制, 以 Web 伺服器的功能來說, 它們大概就只能放置靜態的 html 網頁, 你若想在上面執行以 PHP 寫成的網頁, 它們就做不到。因為礙於 Flash Ram 及韌體的限制, 除非廠商能夠加大 Flash RAM 的空間及擴充韌體的功能, 否則你是無法使用其他的功能, 自然也無法自行增加。

Buffalo 的 LinkStation 雖然也是將 Linux 的核心放在 4MB 的 Flash RAM 中, 但是因為它在開機載入 Linux 核心之後會執行 chroot 將系統切換到安裝於硬碟的 Linux 環境中, 所以它就提供了無限的擴充功能。你可以在上面安裝 Apache (網頁) 伺服器、郵件伺服器、FTP 伺服器和安裝 Blog 軟體來寫個人的網誌。甚至可以將它改裝為一台專門抓 BT 及 eDonkey 的 P2P 伺服器。

那麼到底哪些人適合拿 LinkStation 來改機呢?若你:

1.需要一台整天開機的檔案分享伺服器, 但擔心電腦過於耗電, 晚上睡覺又怕吵。LinkStation 的特色就是耗電量低及低噪音, 當它開機後只有硬碟及小風扇會發出聲音, 而風扇又可以透過指令強迫關閉運轉。你該不會連硬碟的運轉聲都無法忍受吧, 雖然它的硬碟是 SAMSUNG SP1604N 7200 轉。

2.除了檔案分享的功能之外, 你已經受不了免費的網頁空間, 想有個 XOOPS 的個人網站或是 Blog 網誌提供親朋好友來觀看。

3.除了個人網站之外, 你還想有個不受空間限制及有專屬網域名稱的 E-mail 位址。

4.想要養小動物。有了寬頻的 ADSL 之後, 當然要充分的應用這些頻寬。大部分人的做法當然是整天開機執行 BT 或是 eDonkey、eMule 等 P2P 軟體。若 LinkStation 已經整天開機了, 那何不透過網頁管理介面來使用 P2P 軟體呢?讓你不管是在家裡、公司或是學校, 只要透過網頁瀏覽器就可以監控下載狀況及隨時隨地增加新的下載。

5.不想破壞保固、不想拆機器。改機方式是將 Linux 安裝在資料碟的分割區中, 你隨時可以切換回原來 Buffalo所附的系統。若想拍賣或是回原廠維修, 只要將資料碟分割區的 Linux 刪除即可。完全不動螺絲起子, 不拆機器。

6.它比一台 PC 還便宜, 以 160G 的型號為例, 目前光華商場的報價約在台幣 7200 ~ 7500 之間。若以單純的檔案伺服器來說, 是嫌稍貴。但若加上前面所說的 5 項優點, 就物超所值了。

7.你想學習 Linux, 入門書、架站書買了一堆, 但卻是虎頭蛇尾, 中斷了很多次。透過本篇文章, 藉由 LinkStation 的改機過程你除了可以享受改機的樂趣之外, 更可以實際練習架站的技巧。若你對 Linux 沒興趣只是想改機, 擴充 LinkStation 的功能 , 那也不用擔心。因為本文章是以 Step by Step 的方式說明, 務求您照著做也可以無痛改機成功。

至於我為什麼想要拿 Buffalo 的 LinkStation 來改機呢?這純粹是個偶然的因素。我有一個同事, 聽說國標舞跳的很好, 姑且稱他為國標男好了。話說有一天國標男跟我提起 LinkStation 是一台以 Linux 為嵌入式系統的機器, 且可以改機增加許多功能, 在日本已經流行很久了。對於本來就有在玩 Linux 的我們來說當然是眼睛一亮, 於是開始在網路上找資料。後來發現原來日本還有出一款專門為改機所設計的 Kuro-Box, 它的主機板與 LinkStation 一樣是 Buffalo 公司的, 但是較容易改機, 完全沒有任何限制。因為台灣沒有人代理, 若要買則需請網路上專門幫人從日本帶東西回台灣的店家購買。湊足了兩台的錢之後, 由國標男匯錢給那個老闆, 因為老闆本身是親自到日本幫客戶帶貨, 可能是因為要買的東西太多, 因此老闆第一次只帶了一台回來。國標男就自願把那台 Kuro-Box 先給我用, 他自己則願意再等老闆下一次出國。在我使用 Kuro-Box 期間, 有同事覺得很好用也想買, 但有鑒於之前找的代購服務不是很好, 於是我們就找了另一家代購商家, 這次找的是直接幫客戶從網路上訂, 大約等 12 ~ 14 天就可以拿到貨了。這期間我們已經陸續又購買了 2 台 Kuro-Box, 但悲情的國標男還是一直沒有拿到兩個月前訂的 Kuro-Box。

後來他乾脆找老闆退了錢, 直接購買的 Buffalo 的 LinkStation。其實在台灣的 mobile01 或是 pcdvd討論區都有人在問如何改 LinkStation, 但是一直都沒有人寫出中文的教學文章。因為 Kuro-Box 與 LinkStation 的改法是差不多的, 但是在台灣 LinkStation 比較好買, 因此我才會想寫文章來教大家解除 LinkStation 的封印。

二、更新 LinkStation 的韌體

Buffalo 的 LinkStation 提供了強大的擴充功能, 但是它並沒有提供任何可以連線進入修改的方法。但因為它可以更新韌體, 所以網路上已經有專門的網站替它修改增加 telnet 伺服器功能的韌體。只要以此韌體更新之後, 你就可以 telnet 進 LinkStation, 並在資料碟分割區安裝新的 Linux, 而不破壞原本的系統。

本文章接下來要做的修改筆者已測試無誤可以執行, 雖然可以不破壞保固, 但你若修改錯誤而導致無法開機, 還是得拆開 LinkStation, 將硬碟裝到 PC 上修復。如此一來就破壞保固了, 因此在修改前請三思。

首先我們必須先下載包含 telnet 伺服器的韌體, 請到 http://linkstationwiki.org/downloads/openlink/mipsel-openlink-052b.zip 下載, 我所使用的是 mipsel-openlink-052b.zip 版。跟新韌體前, 你必須先完成下列設定:

1.關防 Windows 的火牆。

2.參考 LinkStation 的手冊設定好 IP 位址。若你的區域網路沒有 DHCP 伺服器, LinkStation 預設會使用 192.168.11.150 的 IP, 請將 Windows 的 IP 改為 192.168.11.1 的 IP 後才可進入網頁管理介面。

3.將 LinkStation 的 IP 設為固定 IP, 因為安裝自己的 Linux 會複製相關的網路設定。而我發現, 若將 LinkStation 設為自動取得 IP, 會導致進入自己的 Linux 時無法正常取得 IP, 而將自己鎖在外面 (已知是 dhcp 用戶端程式的問題)。

就緒之後, 你可在解開 openlink-052b.zip 的 openlink-052b 目錄下找到 HD-HLAN FWUpdate.exe 程式, 它就是韌體更新程式。在同目錄下會有一個 linkstation_version.txt 檔案, 是否可以更新韌體的依據取決於 LinkStation 的版本與 linkstation_version.txt 檔的內容。LinkSstation 預設的韌體版本為 2.05, 因此在更新前 HD-HLAN FWUpdate.exe 會檢查同目錄下 linkstation_version.txt 的版本, 若沒有高於 LinkStation 的版本則無法更新。因此請將 linkstation_version.txt 的內容改為 2.06。

你執行 HD-HLAN FWUpdate.exe 會出現如下的畫面:

免拆機、不破壞保固之 LinkStation 軟體改機 -- 免接電腦, 單獨掛 BT、eDonkey。Web、Mail、FTP、DNS 伺服器、XOOPS、Blog一手包

按 【Renew Firmware】 鈕後, 會檢查韌體版本:

免拆機、不破壞保固之 LinkStation 軟體改機 -- 免接電腦, 單獨掛 BT、eDonkey。Web、Mail、FTP、DNS 伺服器、XOOPS、Blog一手包

按 【OK】 鈕即可更新。

更新完後, 你就可以使用 Windows 內建的 telnet 程式 telnet 入 LinkStation 了, 預設是不需要輸入帳號與密碼, 它會直接出現提示字元:

bash-2.05a# ← 直接顯示提示字元

你可如下檢查 CPU 資訊:

bash-2.05a# cat /proc/cpuinfo ← 檢視 CPU 資訊
system type : MIPS IDT32434
processor : 0
cpu model : MIPS 4Kc V0.10 ← MIPS 的 CPU
BogoMIPS : 399.76 ← 頻率為 400 MHz
wait instruction : yes
microsecond timers : yes
tlb_entries : 16
extra interrupt vector : yes
hardware watchpoint : yes
VCED exceptions : not available
VCEI exceptions : not available

原廠硬碟會有三個分割區:

bash-2.05a# mfdisk -p /dev/hda ← 檢查分割區
Units = /dev/hda, 1073MB
/dev/hda1 = Linux, ext3 ← 原廠的 Linux 是安裝在此分割區
/dev/hda2 = Linux swap, swap ← 此分割區為置換分割區
/dev/hda3 = Linux, ext3 ← 資料碟分割區, 存放資料用 (如網路芳鄰)

而各分割區的使用狀況如下:

bash-2.05a# df -h ← 檢視硬碟分割區掛載狀況
Filesystem Size Used Avail Use% Mounted on
rootfs 365M 135M 211M 39% /
/dev/root 365M 135M 211M 39% / ← 第一個分割區約 365 MB
/dev/ram0 9.5M 138k 8.8M 2% /mnt/ram
/dev/hda3 146G 33M 146G 1% /mnt/hda ← 第三個分割區約 146G

三、設定網路相關資訊

因為你的 LinkStation 不是以 DHCP的方式取得 IP, 而是透過網路管理介面手動設定, 所以它將不會有 DNS 及閘道的相關設定。而後面的 Linux 安裝需透過網路, 所以我們必須先讓 LinkStation 可以上網。

你可如下檢查是否已設定 DNS 相關資訊:

bash-2.05a# cat /etc/resolv.conf ← 檢視 DNS 設定
#
# resolv.conf This file is the resolver configuration file
# See resolver(5).
#

若得到的資料都是以 # 號註解的說明, 表示沒有設定 DNS 資料, 請如下新增 DNS 伺服器:

bash-2.05a# echo "nameserver 168.95.192.1" > /etc/resolv.conf ← 增加 Hinet 的 DNS 伺服器
bash-2.05a# cat /etc/resolv.conf ← 再次檢查
nameserver 168.95.192.1 ← 已經設定好了

接著檢查是否設定好閘道:

bash-2.05a# cat /etc/network/interfaces ← 檢視網路設定
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.131
netmask 255.255.255.0

若沒看到 gateway 的資訊, 表示沒有設定閘道, 請如下增加:

bash-2.05a# echo "gateway 192.168.0.3" >> /etc/network/interfaces ← 我的閘道為 192.168.0.3
bash-2.05a# cat /etc/network/interfaces ← 再次檢查
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.131
netmask 255.255.255.0
gateway 192.168.0.3 ← 已經增加了

都設定好後, 就可以重新開機了:

bash-2.05a# reboot ← 重新開機

開完機後, 同樣以 Windows 內建的 telnet 程式連到 LinkStation:

bash-2.05a# ping www.google.com.tw -c4 ← 測試是否可以連上網路
PING www.l.google.com (66.249.89.104) from 192.168.0.131 : 56(84) bytes of data.
64 bytes from 66.249.89.104: icmp_seq=1 ttl=243 time=121 ms
64 bytes from 66.249.89.104: icmp_seq=2 ttl=243 time=113 ms
64 bytes from 66.249.89.104: icmp_seq=3 ttl=243 time=79.2 ms
64 bytes from 66.249.89.104: icmp_seq=4 ttl=243 time=78.5 ms
...

四、設定 SSH 伺服器

因為由 Windows 使用 telnet 連到 LinkStation 時會導致按一個 [Enter] 鍵但送出兩個訊號的問題, 這是我以前直接由 Linux 直接連到 LinkStation 上所沒遇過的。這個 [Enter] 鍵的問題會導致稍後在安裝 Linux 時失敗, 但我們藉由啟動 LinkStation 上的 SSH 伺服器, 並改由 SSH 連線可以解決此問題。

請先下載 http://www.geishuettner.de/docs/Linkstation/mipsbins.tgz 檔案, 並透過網路芳鄰將它上傳到 LinkStation 上的 share 目錄, 它有一些在安裝過程會需要的程式。

因為預設的管理者帳號 root 是沒有設定密碼的, 所以無法透過 SSH 連線, 因此要先設定 root 的密碼:

bash-2.05a# passwd
Enter new UNIX password: ←┐
Retype new UNIX password: ←┴ 輸入兩次密碼, 預設不會顯示任何字元
passwd: password updated successfully ← 密碼更新成功

接著產生 SSH 伺服器的金鑰:

bash-2.05a# dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key ← 產生 DSS 金鑰
bash-2.05a# dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key ← 產生 RSA 金鑰
bash-2.05a# /etc/init.d/dropbear start ← 啟動 SSH 伺服器
Starting Dropbear SSH server: dropbear.

在 Windows 上你可以使用 PieTTY 透過 SSH 連上 LinkStation, 其官方網址為 http://ntu.csie.org/~piaip/pietty/ 我所下載的程式是http://ntu.csie.org/~piaip/pietty/stable/pietty0327.exe。你可如下操作:

免拆機、不破壞保固之 LinkStation 軟體改機 -- 免接電腦, 單獨掛 BT、eDonkey。Web、Mail、FTP、DNS 伺服器、XOOPS、Blog一手包

使用的 port 記得選擇 22, 並使用 SSH 連線。連上後以 root 帳號跟剛才設定的密碼登入即可。

五、安裝 Linux

現在已經解決 [Enter] 鍵的問題了, 我們將在資料碟分割區安裝自己的 Linux 系統, 所使用的 Linux 發行版為 Debian, 因為它支援了很多的 CPU 類型。因為 LinkStation 沒有光碟機, 因此我們會執行 Debian 的前端安裝程式, 然後透過網路安裝。目前已經有人將它寫成半自動化的安裝程式, 因此不需擔心很複雜。請先如下操作:

root@HD-HLAN0FE:/mnt/hda/debil-0.1# cd /mnt/hda/share ← 切換到此目錄
root@HD-HLAN0FE:/mnt/hda/debil-0.1# tar zxvf mipsbins.tgz ← 解開之前透過網路芳鄰所上傳的檔案
root@HD-HLAN0FE:/mnt/hda/debil-0.1# cp bins/* /bin/ ← 將所有的指令複製到 /bin 目錄下
root@HD-HLAN0FE:/mnt/hda/debil-0.1# cd /mnt/hda ← 切換到此目錄
root@HD-HLAN0FE:/mnt/hda/debil-0.1# wget http://www.geishuettner.de/docs/Linkstation/debil-0.1.tgz
───────────┬───────────
取得安裝 debian 所需的程式
root@HD-HLAN0FE:/mnt/hda/debil-0.1# tar zxvf debil-0.1.tgz ← 解開壓縮檔
root@HD-HLAN0FE:/mnt/hda/debil-0.1# mkdir -p /mnt/hda/debil-0.1/debinst/var/cache/apt/archives
───────────┬──────────
建立下載套件存放的目錄
root@HD-HLAN0FE:/mnt/hda/debil-0.1# cd debil-0.1 ← 切換到此目錄
root@HD-HLAN0FE:/mnt/hda/debil-0.1# cp swappart_mipsel /bin ← 此指令可以將硬碟的第一個與第三個分割區的資訊交換, 我們將它複製到 /bin 目錄下
root@HD-HLAN0FE:/mnt/hda/debil-0.1# ./debil.sh ← 執行安裝 debian 的指令稿
debil.sh/mipsel 0.1 by marge
see http://www.geishuettner.de/docs/Linkstation/ for updates

(if you uant to collect error messages created outside this script
you should rerun with a redirect of handle 2)
./debil.sh: arch: command not found ← 找不到此指令, 不過不影響安裝
Press enter to begin installation ← 按 [Enter] 鍵繼續
...

連上網路下載基本所需的套件後會出現下列的 Debian 安裝畫面:

免拆機、不破壞保固之 LinkStation 軟體改機 -- 免接電腦, 單獨掛 BT、eDonkey。Web、Mail、FTP、DNS 伺服器、XOOPS、Blog一手包

因為安裝的過程很多, 不適合把所有的圖片都放到此份文件中, 我已將大部分的安裝過程抓圖放到 http://www.kurobox.info/linkstation/ 網站中。你只需照上圖的項目依序設定即可, 我只針對須注意的部分特別說明。在安裝過程到 【Select and install packages】 項目時, 請如下圖所示,
不要選擇任何套件:

免拆機、不破壞保固之 LinkStation 軟體改機 -- 免接電腦, 單獨掛 BT、eDonkey。Web、Mail、FTP、DNS 伺服器、XOOPS、Blog一手包

所有套件都不選的好處是可以節省從網路下載的時間, 等安裝好後我們再依需求自行安裝所需的套件即可。在安裝到最後的時候, 會出現如下圖的 webmin 設定畫面:

免拆機、不破壞保固之 LinkStation 軟體改機 -- 免接電腦, 單獨掛 BT、eDonkey。Web、Mail、FTP、DNS 伺服器、XOOPS、Blog一手包

它叫你按 [Enter] 鍵進入 vi 編輯器, 按了 [Enter] 鍵之後會進入 vi 編輯器, 因為一般人幾乎沒用過此編輯器, 所以我特別說明:

免拆機、不破壞保固之 LinkStation 軟體改機 -- 免接電腦, 單獨掛 BT、eDonkey。Web、Mail、FTP、DNS 伺服器、XOOPS、Blog一手包

請直接如上圖輸入 :wq 後不做任何修改後離開, 因為稍後我們會移除 webmin。

root@LinkStation://sbin# apt-get remove webmin ← 移除 webmin 套件
root@LinkStation://sbin# apt-get clean ← 清除所有下載的套件以節省硬碟空間
root@LinkStation://sbin# exit ← 離開目前的 chroot 環境
root@HD-HLAN0FE:/mnt/hda/debil-0.1#cp -dpRvx /mnt/hda/debil-0.1/debinst/* /mnt/hda ← 將安裝好的 debian 複製到第三個硬碟分割區的根目錄下
root@HD-HLAN0FE:/mnt/hda/debil-0.1# cd /mnt/hda ← 切換到此目錄
root@HD-HLAN0FE:/mnt/hda# cp debil-0.1/swappart_mipsel /mnt/hda/bin ← 將交換硬碟分割區的指令複製到 debian 的 /bin 目錄下
root@HD-HLAN0FE:/mnt/hda# rm -rf bins debil-0.1 debil-0.1.tgz debil.2.sh debil.old.log ← 刪除不需要的檔案
root@HD-HLAN0FE:/mnt/hda# tar zcvf linkstation-debian.tgz ./ ← 將剛安裝好的 debian 系統壓縮
root@HD-HLAN0FE:/mnt/hda# mv linkstation-debian.tgz share ← 將此壓縮檔複製到 share 目錄

你可以連到網路芳鄰上的 LinkStation, 在 share 目錄下可以下載到 linkstation-debian.tgz 的系統壓縮檔。萬一以後需要重新安裝, 就不需執行這麼多的步驟了, 你只需上傳此系統壓縮檔, 並將它解開即可。

root@HD-HLAN0FE:/mnt/hda# reboot ← 重新開機

開完機後, 重新 telnet 進入 LinkStation, 如下掃描資料碟分割區的硬碟:

bash-2.05a# cd / ← 切換到跟目錄
bash-2.05a# umount /dev/hda3 ← 卸載第三個分割區 (之前安裝 debian 的分割區)
bash-2.05a# e2fsck /dev/hda3 ← 進行硬碟掃描, 以防止進入 debian 時需花很多時間掃描
e2fsck 1.27 (8-Mar-2002)
2002/01/01_09:00 has been mounted 51 times without being checked, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
2002/01/01_09:00: 50051/19464192 files (0.4% non-contiguous), 848032/38909430 blocks

掃描完畢後, 請執行下列的指令將硬碟的第一和第三個分割區交換, 如此系統重新開機後會進入到你所安裝的 Linux 環境:

bash-2.05a# /bin/swappart_mipsel /dev/hda /dev/hda ← 執行此指令
swappart 0.1 by marge 2005-06-12

short partition dump:

partition 0 = type 83
partition 1 = type 82
partition 2 = type 83
partition 3 = type 0
Swapping partitions 0 and 2
bash-2.05a# reboot ← 重新開機

這時系統應該會開到 debian 系統下, 開完機後請用 pieTTY 以 SSH 連線到 LinkStation:

root@LinkStation:/# df -h ← 檢查硬碟掛載資訊
Filesystem Size Used Avail Use% Mounted on
/dev/hda1 147G 922M 146G 1% / ← 原本的資料碟分割區已經變成第一個分割區了
/dev/hda3 365M 138M 209M 40% /mnt/hda

若你已經很熟悉 Linux, 那麼目前的階段已經跟你以往所使用的 Linux 環境沒有什麼不同了, 你可以依照自己的需求更改各項設定與安裝所需的伺服器, 將 LinkStation 的功能發揮到極至。若你不熟悉 Linux, 可以繼續參考文後的說明來進行各項修改與安裝所需的伺服器。

因為 LinkStation 並沒有視訊輸出及鍵盤輸入功能, 所以為了避免以後你因為設定錯誤而將自己鎖在外面, 而無法回到原廠的系統, 所以建議您馬上執行下列指令將第一個和第三個分割區交換:

LinkStation:~# /bin/swappart_mipsel /dev/hda /dev/hda ← 交換分割區資訊

當你下次重新開機後, LinkStation 會進到原廠的系統中。然後如下設定每次進入 debian 時都會自動執行此指令:

LinkStation:~# cd /etc/init.d
LinkStation:~# nano switchhd.sh

輸入如下的內容:

#!/bin/bash
/bin/swappart_mipsel /dev/hda /dev/hda
echo "$(date) -- swaphd ok" >> /var/log/swaphd.log

存檔後執行下列指令:

LinkStation:~# chmod a +x switchhd.sh ← 加上執行權限
LinkStation:~# update-rc.d swaphd.sh start 99 2 3 4 5 . ← 設定開機自動執行 (別忘了最後的 ".")
Adding system startup for /etc/init.d/swaphd.sh ...
/etc/rc2.d/S99swaphd.sh -> ../init.d/swaphd.sh
/etc/rc3.d/S99swaphd.sh -> ../init.d/swaphd.sh
/etc/rc4.d/S99swaphd.sh -> ../init.d/swaphd.sh
/etc/rc5.d/S99swaphd.sh -> ../init.d/swaphd.sh

如此每次開機進入 debian 之後都會將硬碟分割區資訊再次交換, 下次重開機之後都會進入原廠的系統。你只需連線進原廠的系統, 重新執行 /bin/swappart_mipsel /dev/hda /dev/hda 指令, 再重新開機就會進入自己安裝的 Linux。這樣的好處是不會因為不小心設定錯誤將自己鎖在外面 (通常是更改網路設定所造成的錯誤) 而須拆機器來修改。

六、新增使用者帳號

若你在安裝的過程中沒有建立一般使用者帳號, 可以如下新增:

root@LinkStation:/# adduser wyw ← 新增使用者帳號
Adding user `wyw'...
Adding new group `wyw' (1000).
Adding new user `wyw' (1000) with group `wyw'.
Creating home directory `/home/wyw'.
Copying files from `/etc/skel'
Enter new UNIX password: ←┐
Retype new UNIX password: ←┴ 輸入兩次密碼
passwd: password updated successfully
Changing the user information for wyw
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [y/N] y ← 輸入 "y"

因為在安裝自己的 Linux 時安裝程式會將原廠系統的基本設定也一起複製, 因此也會把不需要密碼的 telnet 程式複製到新的系統中。若你的 LinkStation 是直接連到網路上而不是使用 IP 分享器將埠號轉送, 那麼任何人都可以直接 telnet 進來。請如下移除 telnet 程式:

root@LinkStation:/# update-rc.d -f telnet remove ← 設定 telnet 伺服器開機不啟動
update-rc.d: /etc/init.d/telnet exists during rc.d purge (continuing)
Removing any system startup links for /etc/init.d/telnet ...
/etc/rc2.d/S05telnet

root@LinkStation:/# rm -f /etc/init.d/telnet ← 刪除 telnet 相關檔案
root@LinkStation:/# reboot ← 重新開機

自行登入原廠系統更改分割區資訊再次重新開機後, 請登入 debian, 接著如下升級套件資訊與升級系統套件, 然後安裝常用的程式:

LinkStation:~# apt-get update ← 更新系統套件資訊
LinkStation:~# apt-get upgrade ← 升級系統套件
LinkStation:~# apt-get install bzip2 ← 安裝 bzip2 解壓縮程式
LinkStation:~# apt-get install ncftp ← 安裝好用的 ftp 用戶端程式
LinkStation:~# apt-get install rcconf ← 透過它你可以決定哪些伺服器在開機時要啟動
LinkStation:~# apt-get install nmap ← 可掃描伺服器開了哪些埠號
LinkStation:~# apt-get install psmisc ← 檢視某些系統資訊時會用到
LinkStation:~# apt-get install ntpdate ← 校時伺服器
LinkStation:~# apt-get install screen ← 好用的終端機程式

七、安裝Apache + MySQL + PHP

你將 LinkStation 改機, 目的可能就是將它改為一個精簡的 Web 伺服器, 讓你可以在上面架設自己的 XOOPS 網站或是 Blog。首先請如下修改 /etc/hosts 檔:

LinkStation:~# nano /etc/hosts

依自己的 IP 與主機名稱修改:

127.0.0.1 localhost.localdomain localhost
192.168.0.131 linkstation ← 依自己的情況修改

1.安裝 Apache

接著如下安裝所需的套件:

LinkStation:~# apt-get install apache2 ← 安裝 Apache 套件
LinkStation:~# nano /etc/apache2/apache2.conf ← 修改 Apache 設定

請如下修改:

...
AddDefaultCharset Big5 ← 刪除此行的註解, 並將設定值改為 Big5
...


再來是修改 /etc/apache2/sites-available/default 設定檔:

LinkStation:~# nano /etc/apache2/sites-available/default
...
<Directory /var/www/>
Options -Indexes FollowSymLinks MultiViews ← 在 Intexes 前加上 "-" 號
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
#RedirectMatch ^/$ /apache2-default/ ← 於此行前加上 # 號
</Directory>

存檔後, 重新啟動 Apache 伺服器:

LinkStation:~# /etc/init.d/apache2 restart

2.安裝MySQL

因為不管是 XOOPS 或是 Blog 都需要用到資料庫, 請如下安裝 MySQL 資料庫:

LinkStation:~# apt-get install mysql-server-4.1 ← 安裝 MySQL
LinkStation:~# mysqladmin -u root password "123456" ← 將資料庫管理者的密碼設為 "123456"
LinkStation:~# mysql -u root -p ← 測試是否可登入
Enter password:123456 ← 輸入剛才設定的密碼, 預設不會出現任何字元
Welcome to the MySQL monitor. Commands end with ; or \g. ← 成功登入
Your MySQL connection id is 6 to server version: 4.1.11-Debian_4-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> exit ← 離開
Bye

3.安裝PHP

有了 Apache 與 MySQL 資料庫之後, 再安裝 PHP 就完成 Web 環境的設定了:

LinkStation:~# apt-get install php4 ┐
LinkStation:~# apt-get install php4-mysql ├ 安裝 PHP 與所需的模組
LinkStation:~# apt-get install libapache2-mod-php4 ┘
LinkStation:~# nano /etc/php4/apache2/php.ini ← 編輯 PHP 設定檔

請如下修改:

...
; Example lines:

extension=mysql.so ← 刪除此行前面的分號註解
;extension=gd.so
...

存檔後如下重新啟動 Apache:

LinkStation:~# /etc/init.d/apache2 restart
LinkStation:~# nano /var/www/test.php ← 建立 PHP 測試網頁

內容如下:

<?php
phpinfo();
?>

存檔後請開啟瀏覽器, 瀏覽 http://你的 ip/test.php 網頁, 例如 http://192.168.0.131/test.php。你應該可以看到很多 PHP系統資訊, 表示你所有的設定都是正確的。若你以前已經有現成的網頁或是有安裝 XOOPS 或是類似程式的經驗, 只要將網頁上傳到 /var/www 目錄即可。

八、安裝 P2P 軟體 ─ BitTorrent 及 Web 前端管理介面

你改機也有可能是為了要用來透過 BT 抓檔案, 因為 BT 的通訊協定是開放的, 所以在 Linux 上當然也有對應的軟體。

玩電腦的人都很有愛心, 相信你們應該都養了一堆如驢子、騾子...等等的小動物。既然有已經改機, 且安裝了 Linux, 那麼應該有人也會想在上面養小動物。這當然是沒問題的, 不過我們考量的重點是能夠以 Web 介面來操作的軟體為主, 這樣才不需在 LinkStation 上裝 X Window, 然後透過 VNC 來管理, 因為這樣應該會很浪費資源。首先讓我們先安裝 BT 軟體, 請到 http://www.torrentflux.com/ 網站下載 torrentflux-1.5.tar.gz,它是一套 PHP 的前端管理介面, 下載完後使用 WinSCP (http://winscp.net/eng/download.php) 透過 SSH 上傳到 LinkStation 上。因為它會用到 Web、MySQL 伺服器及 PHP, 所以你一定要照前面的說明設定好它們。傳完後, 請如下安裝:

LinkStation:~# apt-get install bittornado ← 安裝 BT 軟體
LinkStation:~# cd /var/tmp
LinkStation:/var/tmp# tar zxvf torrentflux-1.5.tar.gz ← 解開 PHP 所寫的 BT 前端網頁介面
LinkStation:/var/tmp# cd torrentflux_1.5
LinkStation:/var/tmp/torrentflux_1.5# cp -r html /var/www/bt ← 將它複製到 Apache 的目錄
LinkStation:/var/tmp/torrentflux_1.5# cp -r TF_BitTorrent /usr/local/ ← 複製相關指令到 /usr/local 目錄
LinkStation:/var/tmp/torrentflux_1.5# mysqladmin create torrentflux -p ← 建立 torrentflux 資料庫
Enter password:123456 ← 輸入管理者密碼
LinkStation:/var/tmp/torrentflux_1.5# cd sql
LinkStation:/var/tmp/torrentflux_1.5/sql# mysql -u root torrentflux < torrentflux.sql -p ← 匯入資料庫設定
Enter password:123456 ← 輸入管理者密碼
LinkStation:/var/tmp/torrentflux_1.5/sql# cd /var/www/bt
LinkStation:/var/www/bt# nano config.php ← 編輯設定檔

請如下修改相關設定:

...
/**************************************************************************/
// YOUR DATABASE CONNECTION INFORMATION
/**************************************************************************/
$cfg["db_host"] = "localhost"; // DB host computer name or IP
$cfg["db_name"] = "torrentflux"; // Name of the Database
$cfg["db_user"] = "root"; // username for your MySQL database
─┬
改為資料庫管理者帳號
$cfg["db_pass"] = "123456"; // password for database
──┬
資料庫管理者密碼
/**************************************************************************/

/**************************************************************************/
// Define the PATH where the downloads will go (note that it ends with a / [sla$
// Note this can be anywhere (not where TorrentFlux is installed)
// must be chmod'd to 777 (DO NOT MAKE THIS THE PATH TO YOUR PHP FILES!)
$cfg["path"] = "/share/bt/";
─┬─
改為 BT 檔案欲存放的目錄 (稍後會建立)
/**************************************************************************/

/**************************************************************************/
// Specify the path to the btphptornado.py or btphptorrent.py python script
// Only change the path to this file as needed.
// You may use 'btphptornado.py' for BitTornado Client or 'btphptorrent.py'
// for the original BitTorrent Client (read the INSTALL file for more).
$cfg["btphpbin"] = "/usr/local/TF_BitTorrent/btphptorrent.py";
───────┬───────
改成此檔案路徑
/**************************************************************************/

/**************************************************************************/
// Specify the btshowmetainfo.py file name
// Use the full path to this file -- change as needed.
$cfg["btshowmetainfo"] = "/usr/local/TF_BitTorrent/btshowmetainfo.py";
────────┬────────
改成此檔案路徑
/**************************************************************************/
...

接著建立存放 BT 暫存及存檔的目錄:

LinkStation:/var/www/bt# mkdir /share/bt
LinkStation:/var/www/bt# chmod 777 /share/bt ← 設定權限

存檔後請開啟瀏覽器, 瀏覽 http://你的 ip/bt 網頁, 例如 http://192.168.0.131/bt:

免拆機、不破壞保固之 LinkStation 軟體改機 -- 免接電腦, 單獨掛 BT、eDonkey。Web、Mail、FTP、DNS 伺服器、XOOPS、Blog一手包

當畫面出現時, 你一定會覺得很奇怪, 剛剛不是沒設帳號跟密碼嗎?那這裡要填什麼?你
只要隨便取個帳號跟設定密碼即可。以後這組帳號與密碼將會是管理者帳號及密碼, 若你要建立一般使用者的帳號, 可由網頁管理介面來建立。檔案下載的使用畫面如下:

免拆機、不破壞保固之 LinkStation 軟體改機 -- 免接電腦, 單獨掛 BT、eDonkey。Web、Mail、FTP、DNS 伺服器、XOOPS、Blog一手包

九、設定網路芳鄰

裝好 BT 軟體及前端網頁介面之後, 我們可以設定 Samba, 讓其他的電腦可以透過網路芳鄰存取我們所下載的 BT 檔案:

LinkStation:~# apt-get install samba ← 安裝 Samba
LinkStation:~# nano /etc/samba/smb.conf ← 修改設定檔

請如下修改:

...
# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/ServerType.html in the samba-doc
# package for details.
security = share ← 將此設定的值改為 "share"
...
[share] ┐
comment = share folder │
path = /share ├ 加入這些設定
guest ok = yes │
writable = yes ┘

存檔後, 重新啟動 Samba:

LinkStation:~# /etc/init.d/samba restart ← 重新啟動 Samba
LinkStation:~# mkdir /share ← 預設應該就有 /share 目錄了, 若沒有, 請建立
LinkStation:~# chmod 777 /share ← 設定目錄權限

這時, 其他的電腦就可以透過網路芳鄰存取 LinkStation 了。

前面說到 LinkStation 還可以架設 FTP、Mail、DNS 伺服器以及EDonkey/eMule 的 Web 前端介面, 不過這些將留待下次再說明。
2005-09-14 13:36 發佈
大感謝! 之前對這台機子很有興趣, 找了一些資料, 不過還沒有時間好好研讀, 現在您寫出了這麼詳細的介紹, linkstation的愛用者有福了, 期待您的續集, 謝謝!
寫的真的很棒,期待下一篇

下各月準備入手囉
超棒的解說,加分加分....
等待下一篇....

(USB 的使用也要說一下喔....)
文山小藍謅記: http://thomas-lan.blogspot.com 癲癇進修劄記: http://nyepilepsy.blogspot.com
太強了! 不給分說不過去 ...

加油! 期待下一篇...
ywwang wrote:
原本想將文章投稿到雜誌社,
不過他們好像沒什麼興趣。


對這樣的文章居然會不感興趣!?
這樣也好,把買雜誌的錢省下來了。
哇! 好文章,寫的真的很好,期待後續...
ywwang wrote:
LinkStation:~# chmod a +x switchhd.sh ← 加上執行權限
LinkStation:~# update-rc.d swaphd.sh start 99 2 3 4 5 . ← 設定開機自動執行 (別忘了最後的 ".")


這邊有錯誤
1.第一行a +x不能有空格
2.第一行switchhd.sh 檔名怎麼會跟第二行swaphd.sh 檔名不同呢?

修正如下
LinkStation:~# cd /etc/init.d
LinkStation:~# nano swaphd.sh ←(這行檔名也要改)

輸入如下的內容:

#!/bin/bash
/bin/swappart_mipsel /dev/hda /dev/hda
echo "$(date) -- swaphd ok" >> /var/log/swaphd.log

存檔後執行下列指令:

LinkStation:~# chmod a+x swaphd.sh ← 加上執行權限
LinkStation:~# update-rc.d swaphd.sh start 99 2 3 4 5 . ← 設定開機自動執行 (別忘了最後的 ".")

如有錯誤請糾正
好利害喔
雖然我沒有買這個機子
不過看了你的介紹
還有用心的說明
也開始想來敗一台喔
樓主您好:現在雜誌社都是只要一些通俗的文章!不必理會!就像小弟自從來到01之後,已經很少逛店家了!因為覺得店家為了營利總是擺一些好賣通俗的產品!順便請問一下可以自己換硬碟嗎?tks
ywwang wrote:
原本想將文章投稿到雜誌社, 不過他們好像沒什麼興趣。
  • 10
內文搜尋
X
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 10)
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?