2013/01/13

網樂通使用 shpkg 實例 - 安裝 transmission

[2013/11/04 更新]
因為 shpkg 目前僅支援簡單套件相依性處理(-E 選項), 因此相依性要靠自己. 本篇列出找出相依性的方法。若不想知道原理,請直接參考新版範例

安裝前注意, 在網樂通裡面要安裝 shpkg-st 而不是 shpkg 套件

先說結論, 最後找出需要指令, 此處加上 -n 目的是已經安裝過就不重複安裝.
  1. shpkg -Sn transmission-cli stlinux23-sh4-libevent stlinux23-sh4-glibc stlinux23-sh4-curl
  2. shpkg 自 130126-2 版之後提供 -E 選項, 可用來自動並安裝查詢本站手動提供的列表, 運作範例如下:
# shpkg -E  # 自動查詢套件
** search executable in /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
** generating so pathname listing
沒有任何需要安裝的套件
# shpkg -S transmission-cli # 安裝主要程式
# shpkg -E # 再查詢相依性套件(因為這動作很費時, 所以建議等多套想裝的程式裝好後再一起執行)
** search executable in /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
** generating so pathname listing
** generating package listing#提示以下三個程式需要安裝
libcrypto.so.1.0.0 stlinux23-sh4-openssl
libcurl.so.4 stlinux23-sh4-curl
libevent-2.0.so.5 stlinux23-sh4-libevent
libssl.so.1.0.0 stlinux23-sh4-openssl
Press [Enter] to install found 4 packages, ctrl-c to break 此處按 Enter 確定安裝
st23sh4 stlinux23-sh4-openssl 1.0.0j-20.sh4 installed
st23sh4 stlinux23-sh4-curl 7.20.0-7.sh4 installed
sh4twbox stlinux23-sh4-libevent 2.0.21 installed

找出需要相依性列表的方法

# shpkg -Syy # 更新系統套件列表, 剛編譯出來, 舊的列表沒有
# shpkg -Ss transmission # 先搜尋套件名稱

sh4twbox transmission-cli 2.76-1
# shpkg -S transmission-cli # 下載安裝
# shpkg -Ql  transmission-cli |grep bin
usr/bin/
usr/bin/transmission-cli
usr/bin/transmission-daemon
usr/bin/transmission-create
usr/bin/transmission-edit
usr/bin/transmission-remote
usr/bin/transmission-show
# shpkg -S stlinux23-sh4-libevent  # 因為編譯時有使用到 libevent, 所以先裝
# shpkg -S stlinux23-sh4-glibc #  ldd 工具放在這套件裡面
# ldd /usr/bin/transmission-cli # 查還缺哪些函式庫
librt.so.1 => /lib/librt.so.1 (0x29580000)
libevent-2.0.so.5 => /opt/STM/STLinux-2.3/devkit/sh4/target/usr/lib/libevent-2.0.so.5 (0x29598000)
libcurl.so.4 => not found
libssl.so.1.0.0 => /lib/libssl.so.1.0.0 (0x295e8000)
libcrypto.so.1.0.0 => /opt/STM/STLinux-2.3/devkit/sh4/target/usr/lib/libcrypto.so.1.0.0 (0x29644000)
libz.so.1 => /opt/STM/STLinux-2.3/devkit/sh4/target/usr/lib/libz.so.1 (0x297c0000)
libm.so.6 => /lib/libm.so.6 (0x297e4000)
libpthread.so.0 => /lib/libpthread.so.0 (0x29864000)
libc.so.6 => /lib/libc.so.6 (0x2988c000)
/lib/ld-linux.so.2 (0x29558000)
libdl.so.2 => /lib/libdl.so.2 (0x29988000)
# shpkg -Ss curl # 再搜尋套件名稱

st23sh4 stlinux23-sh4-curl 7.20.0-7.sh4
st23sh4 stlinux23-sh4-curl-dev 7.20.0-7.sh4
# shpkg -S stlinux23-sh4-curl
st23sh4 stlinux23-sh4-curl-7.20.0-7.sh4 7.20.0-7.sh4 installed

至於如何找出 ldd 是使用哪個套件, 則必須在 STLinux cross compiler 環境, 以 root 執行
# find /opt/STM -name 'ldd'
/opt/STM/STLinux-2.3/devkit/sh4/target/usr/bin/ldd
/opt/STM/STLinux-2.3/host/bin/ldd
# rpm -qf /opt/STM/STLinux-2.3/devkit/sh4/target/usr/bin/ldd
stlinux23-sh4-glibc-2.6.1-74.sh4

7 則留言:

匿名 提到...

請問安裝完以後, 還是不能以ip:9091的方式進入管理頁面, 是還需要安裝什麼套件嗎?

派樂靈丹 提到...

你有打指令啟動嗎?

匿名 提到...

請問若我要開機自動執行 transmission
要修改那裡...

派樂靈丹 提到...

1. 你用的是 sh4twbox 嗎? 若是的話 /etc/rc.local
2. 若不是從 /etc/inittab or /etc/inittabBB 一步步往下查看是哪個 script 合適 有些是 /etc/init.d/rcS or /etc/init.d/rcSBB

匿名 提到...

安裝transmission 的時候出現了,
tar: write error: No space left on device
請問該如何解決?

派樂靈丹 提到...

可能原因為直接使用安裝碟安裝套件,(未先將空間放大).
建議若是初學者,安裝到網樂通後移除 usb 碟再試看看.

緯緯 提到...

請問一下安裝完是要怎麼使用?