Упомянутый вами вариант GNU tar был частично улучшен кодом, взятым из star
. Это связано с улучшениями acl и xattr , которые существуют с 2001 и 2003 годов в star
.
Усовершенствования SELinux были написаны RedHat.
Обратите внимание, что эти усовершенствования в GNU tar реализованы некорректно.
Файлы могут не иметь ACL или атрибутов SELinux в архиве, но получать ACL или атрибуты SELinux по наследству, когда архив извлекается с помощью GNU tar.
Эта проблема не возникает, если используется старая оригинальная реализация из star
.
Недавние источники звезд находятся в пакете исходников schilytools
.
Если вы в это не верите, проверьте содержимое архива с acls, xattrs или SELinux, созданного GNU tar. Вы увидите, что внутри есть теги SCHILY , потому что использовалось расширение архива, представленное star
.
Итак, вчера я случайно наткнулся на эту ветку на askubuntu.com, и в одном из ответов используетсяdm-tool lock
(после установкиXDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
)для блокировки экрана из сценария в /lib/systemd/system-sleep/
.
Немного адаптировав это, я придумал следующий скрипт:
#!/bin/sh
if [[ "$1" == "pre" ]]; then
pkill intel-virtual
sleep 1
if [[ "$2" != "hibernate" ]]; then
XDG_SEAT_PATH="/org/freedesktop/DisplayManager/Seat0" dm-tool lock
fi
sleep 1
fi
(Примечание:pkill intel-virtual; sleep 1
необходимо только из-за моей конкретной настройки оборудования с использованием гибридной графики Nvidia. Большинство других людей должны иметь возможность удалить эти строки.)
Помещение этого в исполняемый скрипт в /lib/systemd/system-sleep/
решает мою проблему.