/
githubmirror
/
initscripts
Обзор
Документация
Войти
/
githubmirror
/
initscripts
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
usr/libexec/import-state
39 строк
1 KB
David Kaspar [Dee'Kej]
specfile: services from /usr/lib/systemd moved to /usr/libexec
14 июн 2018, 17:11
14 июн 2018, 17:11
ead5bff
Код
Авторство
О чём код?
#!/bin/bash # import-state: import state files from initramfs (e.g. network config) # Copy state into root folder: # ============================ cd /run/initramfs/state IFS_backup=$IFS IFS=$'\n' # Process find's results line by line dirs_found=$(find . -type d) for dir in $dirs_found; do pushd "$dir" > /dev/null # Remove initial '.' char from the find's result: dest_dir="${dir/\./}" # Create destination folder if it does not exist (with the same rights): if [[ -n "$dest_dir" && ! -d "$dest_dir" ]]; then mkdir -p "$dest_dir" chmod --reference="$PWD" "$dest_dir" chown --reference="$PWD" "$dest_dir" fi # Copy all files that are not directory: find . -mindepth 1 -maxdepth 1 -not -type d -exec cp -av -t "$dest_dir" {} \; > /dev/null popd > /dev/null done IFS=$IFS_backup # Run restorecon on the copied files: # =================================== if [ -e /sys/fs/selinux/enforce ] && [ -x /usr/sbin/restorecon ]; then find . -mindepth 1 -print0 | { cd / && xargs --null restorecon -iF; } fi