Você pode obter uma lista de todos os comandos chown
para emitir assim:
tar --numeric-owner -tvjf backup.tar.bz2 |
perl -e 'while (<STDIN>) { s|/|:|; @t = split(" "); print "chown $t[1] \x27$t[5]\x27\n"; }' |
tee /tmp/chown_cmds
A saída será como:
chown 0:119 './var/cache/jockey/driverdb-OpenPrintingDriverDB.cache'
chown 0:119 './var/cache/jockey/check'
chown 0:7 './var/cache/cups/'
chown 7:7 './var/cache/cups/ppds.dat'
...
Dê uma olhada em /tmp/chown_cmds
, verifique se ela está boa e execute-a para restaurar todos os uids / gids do backup:
$ cd / ; sudo bash /tmp/chown_cmds
Você pode filtrar arquivos de propriedade do root para tornar a lista mais curta.