上一篇 我提到 在QNAP ARM Base 設備的安裝,
接下來我要講的是 在 x86 Base的Synology NAS上安裝 ps3netsrv…
其實關於Synology NAS, 網路上有許多類似的教學,
我這邊的教學說明則有些不同,比照他人的教學,在我的NAS上是沒法使用的。
所以我這邊主要是給一些同樣使用Synology NAS ,
卻遇到問題而找不到方法解決的人有一條其他的方法參考
好吧..首先我承認我這篇文在xxxnology上安裝ps3netsrv的,
但我也的確擁有一台DS-411+II,只是這台是工作用,所以就不要湊合到娛樂的部份。
在這篇教學中 ps3netsrv 最後我是使用了別人編譯好的x86版本,
其實一開始我也曾自行按照別人的教學編譯過ps3netsrv,
但最後照著教程裡要運行ps3netsrv的時候,卻怎麼也無法成功運作,
然後我就直接改用編譯過的版本,再繼續尋找出答案。
而最後的事實證明,其實是那個教程內的指令並不適用於我這台XXXNOLOGY的系統。
接下來正式進入主題:
0.
跟QNAP / QTS一樣,DSM 後台內要開啟SSH / Telenet 連線,
然後在DSM新增一個 共用資料夾 ,存放於 儲存空間2 (volume2)
依個人喜好,在這邊我是命名為PS3,或是先不新增而使用既有的資料夾都OK。
檔名或權限的部份按照一般習慣即可,因為PS3在透過ps3netsrv讀取檔案時,
是不受NAS本身設定的讀寫權限或是資料夾名稱所限制的。
1-0.
DSM 要先手動安裝OPTWARE的環境,一般來說就是先安裝bootstrap去連帶。
這部份真的滿麻煩的,可能很多人看到這麼複雜就放棄了,
因為不像QNAP / QTS一樣,有現成的optware ipkg 的APP可以一鍵安裝。
我是參考這篇教學後才成功安裝好optware,
其實原文的作者已經講解的非常詳細,我在此就只大概說明一下主要的流程…
PS:我用的SSH工具是putty 並且流程上有些更改。
1-1.
使用putty來連線到NAS,要記得NAS已經是開好SHH連線,
跟 QNAP / QTS 不同 ,登入帳號為root , 密碼就是以admin登入後台時用的密碼。
1-2.
切換到@tmp目錄 cd /volume1/@tmp
1-3.
使用 WinSCP連線到NAS內,帳號為root ,密碼跟admin這個帳號用的一樣
1-4.
因為我用的是安裝在ESXi上的DSM,所以不管物理CPU用的是那一種,
其實骨子裡都算是x86的架構,因此我將此檔案解壓縮後,
得到syno-i686-bootstrap_1.2-7_i686.xsh 檔案,
並將syno-i686-bootstrap_1.2-7_i686.xsh檔案用WinSCP放到 /volume1/@tmp 底下,
這部分跟別人的教程不同處在於…
因為我懶得用 wget指令+上一大串可能會打錯的指令來 安裝 bootstrap (optware)。
1-5.
因為權限的問題,
所以不能執行放在/volume1/@tmp內的 syno-i686-bootstrap_1.2-7_i686.xsh檔案。
我是直接用WinSCP將這個檔案更改屬性為0777 (滑鼠右鍵 >屬性),
也可以下指令 chmod -x syno-i686-bootstrap_1.2-7_i686.xsh 去更改屬性。
(要注意是否仍在/volume1/@tmp目錄)
1-6.
下指令執行 sh syno-i686-bootstrap_1.2-7_i686.xsh
1-7.
執行完後 順便將syno-i686-bootstrap_1.2-7_i686.xsh這個檔案刪掉
(我是直接用WinSCP刪除,因為我真的很懶得去手KEY指令)
1-8.
為確保每次重開機都會正確運行bootstrap,所以要修改啟動配置,
指令 vi /root/.profile
然後在vi 編輯器狀況下 將 這兩行指令的前面加上#
PS:這兩張圖片來源為原教學..
加上#後 按下ESC
再鍵入 :wq (儲存並離開編輯)
至此 Bootstrap / optware 的部份才算是已經完成,進行DSM的後台重新開機。
2.
使用WinSCP連線登入NAS
這時在根目錄上已經可以看到opt的文件夾,這代表optware的環境已經部屬完成。
3-0.
若要用現成已編譯好的X86版ps3netsrv請跳過整個第3步。
將原始的 ps3netsrv 文件夾解壓縮後用WinSCP連線放到opt文件夾下。
使用WinSCP將ps3netsrv文件夾與 ps3netsrv檔案的屬性改為0777
這很重要,如果沒改執行權限的話,系統將無法執行ps3netsrv
3-1.
接下來用putty / ssh 連線進入NAS,開始先部署編譯 ps3netsrv的環境。
部署環境的指令如下:
X86版
- ipkg update
- ipkg install gcc
- ipkg install make
- ipkg install sudo
- mkdir /opt/i686-linux-gnu/lib_disabled
- mv /opt/i686-linux-gnue/lib/libpthread* /opt/i686-linux-gnu/lib_disabled
- cp /lib/libpthread.so.0 /opt/i686-linux-gnu/lib/
- cd /opt/i686-linux-gnu/lib/
- ln -s libpthread.so.0 libpthread.so
- ln -s libpthread.so.0 libpthread-2.5.so
- sudo ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so
arm版
- ipkg update
- ipkg install gcc
- ipkg install make
- mkdir /opt/arm-none-linux-gnueabi/lib_disabled
- mv /opt/arm-none-linux-gnueabi/lib/libpthread* /opt/arm-none-linux-gnueabi/lib_disabled
- cp /lib/libpthread.so.0 /opt/arm-none-linux-gnueabi/lib/
- cd /opt/arm-none-linux-gnueabi/lib/
- ln -s libpthread.so.0 libpthread.so
- ln -s libpthread.so.0 libpthread-2.5.so
3-2.
部署完後 開始編譯 ps3netsrv
切換目錄指令: cd /opt/ps3netsrv
編譯指令: make
沒出什麼錯的話就完成編譯。
3-3.
下執行指令: nohup ./ps3netsrv /volume2/PS3
其實第3-0~3-3步的部份我幾乎是照搬別人的教學…
在我的設備上沒有正確運作,所以我才直接改用已經編譯好的ps3netsrv,
有問題的朋友可能直接到原教學的論壇去爬會比較快。
4-0.
以現成編譯好的ps3netsrv 的安裝步驟,執行第3步重新編譯ps3netsrv請跳過。
4-1.
將編譯過的x86版的 ps3netsrv 用WinSCP放到opt文件夾下
4-2.
使用WinSCP將ps3netsrv的屬性改為0777
這很重要,如果沒改執行權限的話,系統將無法執行ps3netsrv
4-3.
運行指令 nohup /opt/ps3netsrv /volume2/PS3
這部份跟第3步有兩點不同…原本別人的指令為 nohup ./ps3netsrv /volume…..
我使用這個指令後 系統直接報錯 找不此資料夾 或是 指令錯誤…
經不斷實驗,直到 把./改成了 /opt/,才成功運行。
還有就是因我是在DSM後台 新建了一個 共用資料夾 命名為PS3 ,
並且是指定放在 儲存空間 2,所以 指令的後半是 /volume2/PS3 。
5.
下查詢指令: ps -w (QNAP ARM NAS是 ps -a)
查詢 ./ps3netsrv /volume2/PS3
或 /opt/ps3netsrv /volume2/PS3 有無存在於執行程緒中…
我是直接用別人編譯好的x86版ps3netsrv成功運行。
6.
接下來就在PS3上設定,這部份跟前一篇的 QNAP / QTS 一樣,就不再多說。
7.
開機後自動執行的修改方式
別人的教學中提到 rc.local這個檔案內 不需要 加上 nohup 指令,
但其實我因為我是直接使用編譯過的ps3netsrv程式,並且是放在/opt底下,
而後面經過我的實際測試成功的指令又跟別人的教學不一樣,
所以我在rc.local中 實際鍵入 的指令為 /opt/ps3netsrv /volume2/PS3
rc.local 這個檔案位於根目錄/etc內。
後記:
若以別人的教程 ./ps3netsrv /volume…這個指令來說,系統重開機後 ps -w 指令
可能查詢不到系統有在運行 ./ps3netsrv /volume…
或是有看到 ./opt/ps3netsrv /volum… 或 /opt/ps3netsrv… /volum…但PS3卻連不進來。