dpkg安裝後執行指令?

dpkg安裝後執行指令?

我剛剛受到這個專案的啟發:

http://www.opendesktop.org/content/show.php?content=145633

好吧,在 dpkg 在 /usr/share/applications 目錄中放置新內容之後,我想做類似的事情,但是我的腳本應該指向哪裡,以及要傳入的參數?

答案1

如果腳本不帶參數,請在 中新增一個文件/etc/apt/apt.conf.d/,例如92local(數字用於強制該目錄中腳本的執行順序),其內容如下:

DPkg::Post-Invoke { "/path-to/my-script"; };

並記住使其可執行。

目前無法找到有關如何將參數或輸入傳遞到腳本的資訊。
如果有幫助,apt在命令列上運行時,您應該在環境變數中找到命令列SUDO_COMMAND

答案2

我找到了一種方法來執行 APT 命令的命令列:

/etc/apt/apt.conf.d/90my_dpkg_post_invoke建立一個包含內容的文件

DPkg::Post-Invoke { "/usr/local/lib/my_dpkg_post_invoke.sh"; }

/usr/local/lib/my_dpkg_post_invoke.sh建立一個包含內容的可執行文件

#!/bin/bash
APTPID=$( ps -ho ppid "${PPID}" )
APTPID="${APTPID## }"   # trim leading spaces
APTCMD=$( ps -ho args "${APTPID}" )
APTCMD="${APTCMD## }"   # trim leading spaces
echo "#### APT Command: ${APTCMD}"

現在,您可以透過測試擴充功能執行檔是否包含${APTCMD}要觸發操作的字串。

相關內容