objectif
Déployer des binaires/configs avec propriétaires et permissions exactes sans mkdir && cp && chmod manuels.
code minimal
# installe le binaire avec mode 0755 et propriétaire app:app
install -D -m 0755 -o app -g app ./build/mycli /usr/local/bin/mycli
utilisation
# installer une config 0640 avec owner root:app
install -D -m 0640 -o root -g app ./conf/app.conf /etc/myapp/app.conf
# copier un répertoire d'assets (préférer rsync pour arbres profonds)
install -d -m 0755 /var/lib/myapp/assets
cp -a ./assets/. /var/lib/myapp/assets/
variante(s) utile(s)
# tmp + mv atomique pour remplacements sensibles
tmp="$(mktemp)"; install -D -m 0644 new.service "$tmp" && mv -f "$tmp" /etc/systemd/system/new.service
notes
install -Dcrée les dossiers parents automatiquement.- utilisez
-o/-gseulement si root; sinon laissez le système.