[QPKG] sherpa:迷你套件管理器(指令列介面)

謝謝你!你這麼多年來的支持真的太棒了!

按照你的指導操作後,我只需要執行一次 sherpa fix,現在一切都運作正常了。

我有個問題,可能會暴露我的無知。不過 SABnzbd 為什麼會停止運作呢?明明我既沒有更新韌體,也沒有更新 SABnzbd。本地有些檔案或資料會每次自動更新嗎?如果真的會,有沒有辦法能阻止呢(如果這樣做真的合理)?你知道一句老話:能運作的系統別碰 :slight_smile: 。

是的,這是有可能的。長期以來預設是在每次服務腳本重啟時會更新應用程式檔案(「自動更新」)。我今年稍早改掉這個預設值,現在的預設是不會自動更新應用程式檔案。不過,這只適用於新的安裝。

你可以用以下指令來檢查 SABnzbd 的目前設定:

/etc/init.d/sabnzbd.sh status

輸出中會有一行叫 application auto-update,設定會是 true 或 false。

要停用自動更新功能:

/etc/init.d/sabnzbd.sh disable-auto-update

想看有哪些其他選項,可以用:

/etc/init.d/sabnzbd.sh

嗨,

很高興聽到修復在很多人身上都有效,但似乎我這邊還是不行……

[~] # sherpa upgrade new
sherpa v260811-stable (i64)
done: actions complete.

• 套件操作開始於 10:37:15 PM,結束於 10:37:46 PM,總共耗時 31 秒

• 以下套件操作完成正常:
下載 SABnzbd QPKG 少於 1 秒
停用 SABnzbd QPKG 1 秒
重新啟用 Par2turbo QPKG 少於 1 秒
重新啟用 Unrar QPKG 少於 1 秒
重新啟用 Entware QPKG 1 秒
升級 SABnzbd QPKG 13 秒(v260620 -> v260811)
啟用 SABnzbd QPKG 1 秒

• 此套件操作失敗(原因如下):
清理 SABnzbd QPKG 少於 1 秒(未找到)

[~] # sherpa start inactive
sherpa v260811-stable (i64)
done: actions complete.

• 套件操作開始於 10:38:01 PM,結束於 10:38:13 PM,總共耗時 12 秒

• 以下套件操作完成正常:
啟用 SABnzbd QPKG 1 秒
啟用 SickGear QPKG 1 秒

• 沒有任何套件操作被略過。

• 此套件操作失敗(原因如下):
啟用 nzbToMedia QPKG 少於 1 秒(未找到)

[~] # sherpa status
sherpa v260811-stable (i64)
done: actions complete.
QPKG 名稱:    狀態:                  最後操作(結果):     QPKG 版本:    應用程式版本:    位置:
ClamAV      * 不相容的作者          N/A                    N/A          **N/A**          **/share/MD0_DATA/.qpkg/ClamAV
Entware     • 已啟用,活動中        不支援追蹤             1.03a        1.03a           /share/MD0_DATA/.qpkg/Entware
nzbToMedia  • 已啟用,未活動        重新安裝(OK)          260620       dynamic         /share/MD0_DATA/.qpkg/nzbToMedia
Par2turbo   • 已啟用,活動中        不支援追蹤             1.2.0        1.2.0           /share/MD0_DATA/.qpkg/Par2turbo
SABnzbd     • 已啟用,未活動        升級(OK)              260811       static          /share/MD0_DATA/.qpkg/SABnzbd
sherpa      • 已啟用,活動中        啟動(OK)              251212       251212          /share/MD0_DATA/.qpkg/sherpa
SickGear    • 已啟用,未活動        停止(OK)                  260620      dynamic         /share/MD0_DATA/.qpkg/SickGear
Unrar       • 已啟用,活動中        不支援追蹤              7.0.8        7.01 beta 1     /share/MD0_DATA/.qpkg/Unrar

• 報告資訊:
「未活動」                - 應用程式進程已終止或未啟動。請試著啟動它。
「作者不相容」         - QPKG 與 sherpa QPKG 同名但不相容的副本。
「*」                    - QPKG 無法透過 sherpa 管理。
「已啟用」              - QPKG 會在開機時自動啟動。
「(OK)」              - 前一次動作成功。
「活動中」                - 應用程式正在運行(如果是守護程式則可回應)。
「dynamic」             - 應用程式版本是最新版本。
「static」              - 應用程式版本自動更新已停用或不支援。
「N/A」                 - 不適用。
「不支援追蹤」             - 此 QPKG 不支援動作追蹤。

想要關閉此報告資訊面板:
# sherpa report-info off

[~] # sherpa fix
sherpa v260811-stable (i64)
done: actions complete.

• 套件操作開始於 10:39:32 PM,結束於 10:39:55 PM,總共耗時 23 秒

• 以下套件操作完成正常:
安裝輔助 PIP 7 秒
重新啟用 SABnzbd QPKG 2 秒
重新啟用 SickGear QPKG 2 秒

• 以下套件操作被略過(原因如下):
「簽名」Entware QPKG 少於 1 秒(已簽名)
「簽名」Par2turbo QPKG 少於 1 秒(已簽名)
「簽名」sherpa QPKG 少於 1 秒(已簽名)
「簽名」Unrar QPKG 少於 1 秒(已簽名)
「簽名」nzbToMedia QPKG 少於 1 秒(已簽名)
「簽名」SABnzbd QPKG 少於 1 秒(已簽名)
「簽名」SickGear QPKG 少於 1 秒(已簽名)
重新啟用 ClamAV QPKG 少於 1 秒(未安裝)

• 此套件操作失敗(原因如下):
重新啟用 nzbToMedia QPKG 少於 1 秒(未找到)

請執行一份 about 報告:

sherpa about

…然後把結果貼回這裡並用程式碼區塊包住。選取文字後點擊 </> 編輯器圖示。這樣我就不用編輯你的貼文來讓它更容易閱讀啦。:wink:

[~] # sherpa about
sherpa v260811-stable (i64)
dbug: (II) --------------------------------------------------------------------------------------------------------
dbug: (**)  硬體:                NAS 型號: TS-253A
dbug: (**)  硬體:                      CPU: Intel(R) Celeron(R) CPU N3150 @ 1.60GHz
dbug: (**)  硬體:    可用 CPU 執行緒數: 4
dbug: (**)  硬體:         CPU 架構: x86_64 (64b)
dbug: (**)  硬體: 基本 CPU SHA1 基準測試: 50.9MB/s
dbug: (**)  硬體:                      RAM: 7.69GiB
dbug: (**)    核心:                     名稱: GNU/Linux
dbug: (**)    核心:                  版本: 5.10.60-qnap
dbug: (**)    核心:                頁面大小: 4096B
dbug: (**)  韌體:                       作業系統: QTS
dbug: (**)  韌體:                  版本: 5.2.10.3568
dbug: (**)  韌體:               建構日期: 20260722 (星期三 2026年7月22日)
dbug: (**)  韌體:                 平台: X86_BRASWELL
dbug: (**)        作業系統:                    狀態: 線上
dbug: (**)        作業系統:                   運作時間: 59時11分28秒
dbug: (**)        作業系統:            負載平均值: 1.17 (1分鐘), 0.88 (5分鐘), 0.82 (15分鐘)
dbug: (**)   儲存裝置:    基本寫入基準測試: 660MB/s
dbug: (**)   儲存裝置:                     /opt: /share/MD0_DATA/.qpkg/Entware
dbug: (**) 使用者空間:                     libc: (GNU libc) 2.21
dbug: (**) 使用者空間:           libc 版權: Copyright (C) 2015 Free Software Foundation, Inc.
dbug: (**) 使用者空間:                    $EUID: 0
dbug: (NA) 使用者空間:                $SUDO_UID: N/A
dbug: (**) 使用者空間:          BusyBox 版本: BusyBox v1.24.1 (2026-07-22 02:14:35 CST) multi-call binary.
dbug: (**) 使用者空間:        BusyBox 版權: BusyBox 由多位作者共同擁有,期間為 1998-2015 年。
dbug: (**) 使用者空間:   BusyBox 功能數: 166
dbug: (**)    腳本:             QPKG 版本: 251212 (星期五 2025年12月12日)
dbug: (**)    腳本:          管理程式版本: v260811-stable (i64)
dbug: (**)    腳本:            管理程式紀元: 1786406239 (星期二 2026年8月11日 2:57:19 AM EEST)
dbug: (**)    腳本:            物件紀元: 1786406233 (星期二 2026年8月11日 2:57:13 AM EEST)
dbug: (**)    腳本:           套件紀元: 1786406107 (星期二 2026年8月11日 2:55:07 AM EEST)
dbug: (**)      QPKG:          套件釋出: v260811 (星期二 2026年8月11日)
dbug: (NA)      QPKG:         允許非官方: N/A
dbug: (**)      QPKG:           需要簽名: 否
dbug: (**)      QPKG:             架構: i64 (Intel x86-64)
dbug: (**)      QPKG:   Entware 安裝日期: 2026-08-09 (星期日 2026年8月9日)
dbug: (**)      QPKG:             Entware 類型: std
dbug: (NA)      QPKG:              SortMyQPKGs: N/A
dbug: (NA)      QPKG:         IncreaseTimeouts: N/A
dbug: (II) --------------------------------------------------------------------------------------------------------

好多了。:slight_smile:

另外請確認:你在嘗試啟動 SABnzbd 時,是否仍然收到「unbound variable」錯誤?

/etc/init.d/sabnzbd.sh start debug

是的…

[~] # /etc/init.d/sabnzbd.sh start debug
/share/MD0_DATA/.qpkg/SABnzbd/service.lib: line 1819: service_action: 未綁定變數

糟了。:disappointed_face:

可以請你對 service-script 檔案執行 checksum,然後把結果貼回來嗎?

md5sum $(getcfg SABnzbd install_path -f /etc/config/qpkg.conf)/*.{sh,lib}
[~] # md5sum $(getcfg SABnzbd install_path -f /etc/config/qpkg.conf)/*.{sh,lib}
af4a85cbbab3d8be81ae99f4a91543c2  /share/MD0_DATA/.qpkg/SABnzbd/sabnzbd.sh
afa193e89bce76f6b4533a068826e3a1  /share/MD0_DATA/.qpkg/SABnzbd/service.lib

所以,和我的完全一樣,而且也正是它們應該有的樣子。:+1:

下一步:請提供你的環境變數(這可能會有很多文字,一頁可能裝不下):

set
[~] # set
BASH=/bin/sh
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="3" [1]="2" [2]="57" [3]="1" [4]="release" [5]="x86_64-QNAP-linux-gnu")
BASH_VERSION='3.2.57(1)-release'
CHECK_OPT_PATH=0
COLUMNS=167
DIRSTACK=()
DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
EDITOR=/bin/vi
EUID=0
GROUPS=()
HISTFILE=/root/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
HOME=/root
HOSTNAME=QNAP-TS253A
HOSTTYPE=x86_64
IFS=' 	
'
INPUTRC=/etc/inputrc
JAVA_HOME=/usr/local/jre
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LINES=42
LOGNAME=admin
LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.png=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:'
MACHTYPE=x86_64-QNAP-linux-gnu
MAIL=/var/mail/admin
MAILCHECK=60
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PAGER='/bin/more '
PATH=/opt/bin:/opt/sbin:/share/MD0_DATA/.qpkg/container-station/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin:/usr/local/jre/bin:/Apps/bin:/Apps/sbin
PIPESTATUS=([0]="0")
POSIXLY_CORRECT=y
PPID=18664
PS1='[\w] # '
PS2='> '
PS4='+ '
PWD=/root
SHELL=/bin/sh
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor:posix
SHLVL=1
SSH_CLIENT='192.168.255.21 49437 22'
SSH_CONNECTION='192.168.255.21 49437 192.168.255.250 22'
SSH_TTY=/dev/pts/0
TEMP=/opt/tmp
TERM=xterm
TERMINFO=/opt/share/terminfo
TMP=/opt/tmp
UID=0
USER=admin
_=/share/MD0_DATA/.qpkg/SABnzbd/service.lib

看起來也不錯。:+1:

我不清楚為什麼會發生這種情況。:confounded_face:

我們先關閉 service.lib 裡未綁定變數的檢查,看看能走到哪一步。

編輯 service.lib 的話,第一行可執行的程式碼是:

set -o nounset

請把這行註解掉,讓它變成:

#set -o nounset

……儲存 service.lib 後,再嘗試啟動 SABnzbd:

/etc/init.d/sabnzbd.sh start debug
[/share/MD0_DATA/.qpkg/SABnzbd] # /etc/init.d/sabnzbd.sh start debug
/share/MD0_DATA/.qpkg/SABnzbd/service.lib: 第1944行: : 找不到檔案或目錄
bugr: fstack: main() > source() > InitLibrary($test_backup_path: '未定義路徑') > ConfirmVarIsDefined() > ShowAsBug()
= source: sabnzbd.sh, action: , time: , result: 失敗, elapsed: 496245小時:10分:07秒, load: 0.69 
/share/MD0_DATA/.qpkg/SABnzbd/service.lib: 第1944行: : 找不到檔案或目錄

啊,這樣好多了。給我幾分鐘,我看看能不能在這裡重現這個錯誤……

請你接下來檢查的項目:

getcfg SHARE_DEF defVolMP -f /etc/config/def_share.info

我猜 def_share.info 不會在那裡。

賓果,什麼都沒有

你遇到檔案未找到的錯誤嗎?還是只是得到空白結果?

空白

那我們來檢查一下這個檔案吧:

cat /etc/config/def_share.info