Mar 2, 2014

QNAP NAS - QDK開發環境架設

QNAP官網架設的wiki站台:QPKG Development Guidelines 提供想要開發QNAP Apps的參考資訊。
http://wiki.qnap.com/wiki/QPKG_Development_Guidelines
使用目前較穩定的QDK 2.0.1,要先下載。當然可以由Windows環境下載,再借由網芳放到QNAP NAS。但是有心要學習QNAP程式,就該從熟悉Linux開始。用SSH工具連線你的QNAP機器吧!
QNAP NAS - 把他當Linux玩
wget抓取QDK,QNAP應用程式都放在「/share/Public」,因此到此目錄工作。wget是Linux內建超好用的的「網路無所不抓」工具,熟悉wget可以方便開發QNAP Apps

cd /share/Public
wget http://files.qnap.com/download/Storage/QPKG/QDK_2.0.1.zip
unzip QDK_2.0.1.zip # 解壓縮

Archive: QDK_2.0.1.zip inflating: COPYING inflating: QDK_2.0.1.qpkg

chmod 755 QDK_2.0.1.qpkg  # 讓安裝檔具備「可執行」屬性,變成綠色
ls -l
-rwxrwxrwx 1 admin administ 17982 Feb26 10:04 COPYING*-rwxr-xr-x 1 admin administ 39552 Feb26 10:04 QDK_2.0.1.qpkg*-rw-r--r-- 1 admin administ 44436 Jul29 2011 QDK_2.0.1.zip

./QDK_2.0.1.qpkg # 執行安裝檔,./代表就在此路徑
Install QNAP package on TS-NAS...././qpkg.cfg./md5sum./package_routines./qinstall.sh2+1 records in2+1 records out28+0 records in28+0 records out
.....
Link service start/stop script: qdkSet QPKG information in /etc/config/qpkg.confQDK 2.0.1 has been installed in /share/MD0_DATA/.qpkg/QDK.

sh -x ./QDK_2.0.1.qpkg  # 顯示指令訊息

+ /bin/echo 'Install QNAP package on TS-NAS...'Install QNAP package on TS-NAS...+ /bin/grep /mnt/HDA_ROOT /proc/mounts+ _EXTRACT_DIR=/mnt/HDA_ROOT/update_pkg/tmp+ /bin/mkdir -p /mnt/HDA_ROOT/update_pkg/tmp+ script_len=627+ /bin/tar -xO+ /bin/dd if=./QDK_2.0.1.qpkg bs=627 skip=1+ /bin/tar -xzv -C /mnt/HDA_ROOT/update_pkg/tmp././qpkg.cfg./md5sum./package_routines./qinstall.sh++ /usr/bin/expr 627 + 10240+ offset=10867+ /bin/dd bs=1024 count=28 of=/mnt/HDA_ROOT/update_pkg/tmp/data.tar.gz
+ /bin/cat+ /bin/dd if=./QDK_2.0.1.qpkg bs=10867 skip=12+1 records in2+1 records out28+0 records in28+0 records out++ /usr/bin/expr 10867 + 28585+ offset=39452+ cd /mnt/HDA_ROOT/update_pkg/tmp+ /bin/sh qinstall.shQDK 2.0.1 is already installed. Setup will now perform package upgrading.
Link service start/stop script: qdkSet QPKG information in /etc/config/qpkg.confQDK 2.0.1 has been installed in /share/MD0_DATA/.qpkg/QDK.+ /bin/rm -fr /mnt/HDA_ROOT/update_pkg/tmp+ exit 10

cat /etc/config/qdk.conf

QDK_VERSION=2.0.1QDK_PATH=/share/HDA_DATA/.qpkg/QDK

上述路徑會因為NAS安裝硬碟狀況而變!

HDA: 代表單一顆HD若是用RAID,就會顯示MD0_DATA (不會顯示RAID 0, 1, 5, ...等資訊),路徑變成:QDK_PATH=/share/MD0_DATA/.qpkg/QDK

使用者用QNAP App Center手動裝的Apps都放在:/share/MD0_DATA/.qpkg/

[~] # cd /share/MD0_DATA/.qpkg/[/share/MD0_DATA/.qpkg] # lsBitTorrentSync/ MSV2/ QDK/ aria2/ photostation2/DSv3/ Optware/ SQLBuddy/ git/ ruby/HappyGet2/ PostgreSQL/ SignageStation/ musicstation/Hello/ Python/ VideoStation/ nodejs/

裝好後,就會在App Center出現在NAS的QDK App (2.0.1),可以click開啟此App。


看得出來QNAP App開發的重要工具就是:熟悉Linux shell scripts,如同很多Windows的安裝程式,表面是視窗安裝精靈,背後很多是 .bat 的 scripts 完成的。尤其是想開發嵌入式系統的人,更應該學好。因為在很陽春的Linux系統中,大部分的工作要以指令完成。
做中學:由範例慢慢熟悉指令,以及背後道理,藉此Google查資料搞懂吧!例如:chmod 755


No comments :

Post a Comment