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}이제 작업을 트리거하려는 문자열이 포함된 경우 테스트를 통해 실행 파일을 확장할 수 있습니다 .

관련 정보