В пакете Debian это можно сделать либо удалив файлы после установки (в исходном пакете ), но до сборки пакета, либо не указав их в списках файлов для установки, или исключив их из установки (только для определенных типов файлов ).
Если вы используете краткий -стильdh
-на основе debian/rules
, вы, вероятно, будете использовать (неявно)
dh_auto_install
, который запускает исходную установку для размещения файлов в debian/tmp
(, поскольку вы собираете несколько пакетов ); dh_install
, который копирует файлы из debian/tmp
в соответствующую цель установки(debian/foobar
и т. д. )на основе содержимого файлов .install
вdebian
(debian/foobar.install
и т. д. ). Три перечисленных выше варианта означают следующее.
Чтобы удалить файлы после их копирования в debian/tmp
, выполните что-то вроде
override_dh_intall:
rm -f debian/tmp/bin/printjob_svr.bin
dh_install
Чтобы указать dh_install
пропускать файлы, не перечисляйте их в .install
файлах; это означает, что вы не можете использовать подстановочные знаки или простые имена каталогов (bin
,bin/*
). Вы также должны перечислить пропущенные файлы в debian/not-installed
, но см. предостережение в man dh_missing
.
Чтобы явно исключить файлы, переопределите цели и добавьте параметры -X
; это будет работать только для dh_
команд, которые поддерживают это:
override_dh_installdocs:
dh_installdocs -Xprintjob_svr.bin
(это не соответствует вашему варианту использования -, я перечисляю его для полноты картины ).
Демон rsync не следит за файловой системой, он просто слушает. Он ожидает запуска других заданий rsync и подключения для перемещения файлов.
Для вашей цели вам нужно что-то, чтобы следить за изменениями (а-ля inotify )и использовать эту информацию для запуска процесса rsync. Эти другие ответы могут быть хорошей отправной точкой.