Tinc должен обновляться как блок systemd, а не посылать прямые сигналы. Для этого необходимо настроить свои файлы юнитов на цепочку с соответствующими строками Require=
, Before=
и After=
в разделе [Unit]
. Также убедитесь, что вы установили правильное значение WantedBy=
для сетевых служб. (т.е. WantedBy=
{ network.target
, network-online.target
, network-pre.target
} вместо multi-user.target
)
Это позволяет выполнить systemctl restart systemd-networkd.service
для перезапуска сети. В сочетании с systemd-resolvd
, udev
/dbus
(плюс wpa_supplicant@nic.service
при работе с wifi) сеть просто работает.
Обязательно прочитайте статьи о переходе на systemd-networkd и зависимости юнитов. Это также способ посылать сигналы вашим systemd. service
с помощью команды systemctl kill
, как описано в systemd for administartors guide
Проблема заключается в использовании .
в качестве источника в сочетании с указанием tar исключить элементы, начинающиеся с .
. Попробуйте использовать абсолютный путь, например /home/user
или "$PWD"
, если вы уже находитесь в каталоге, и он должен работать нормально.
Лучшее решение — создать файл с оскорбительными именами и пойти:
tar cf my-precious.tar -X file-of-offenders.
(Не знаю, является ли -X GNU-измом... но вы, похоже, все равно используете GNU tar ).
У меня те же проблемы, --exclude='. *' отлично работает в MacOS, но не в Linux. Вы можете сделать,
tar -vcf everything.tar. --exclude='./.*' --exclude='test_tree'
Или
tar -vcf everything.tar. --exclude='.[^/]*' --exclude='test_tree'
Чтобы сопоставить "скрытые файлы" с использованием шаблона стиля оболочки -, используйте .[^.]*
.
Использование .*
соответствует специальной записи каталога .
(, а также..
). Обычно это не то, что вы хотите.