Amanda-Users

Re: numeric-owner problem

2006-02-01 23:36:25
Subject: Re: numeric-owner problem
From: Frank Smith <fsmith AT hoovers DOT com>
To: amanda-users AT amanda DOT org
Date: Wed, 01 Feb 2006 22:31:00 -0600
Jon LaBadie wrote:
> On Tue, Jan 31, 2006 at 04:48:31PM +0100, Geert Uytterhoeven wrote:
>> On Tue, 31 Jan 2006, Jon LaBadie wrote:
>>> On Tue, Jan 31, 2006 at 10:56:13AM +0100, Geert Uytterhoeven wrote:
>>>> I saw a similar thing when the disk of my backup server died last month.
>>>> The machine ran Debian testing, and I used an Ubuntu Live CD (the Knoppix 
>>>> I had
>>>> lying around didn't support SATA) to do the restore.
>>>>
>>>> After the restore, some services didn't work because some configuration 
>>>> files
>>>> were owned by the wrong user.
>>>>
>>>> I ended up comparing the uids and gids in /etc/passwd and /etc/group on the
>>>> restored image and on the Ubuntu Live CD, and for all differences, manually
>>>> verifying all uids and gids of all restored files and directories. 
>>>> Fortunately
>>>> this took much less time than expected :-)
>>>>
>>>> I noticed one very strange thing though: uids and gids were not changed in 
>>>> a
>>>> consistent way: some files had the incorrect uid or gid from Ubuntu, while
>>>> other related files that should have the same uid/gid had the one from the
>>>> original system. So sometimes uids/gids were remapped during restore, but 
>>>> not
>>>> always...
>>> My understanding, subject to correction, is that by default guntar
>>> restores by trying to match text names (user and group) between the
>>> archive and the recovery system.  If a match is found, then the
>>> restore is to the numeric uid/gid of the recovery system, thus
>>> matching the names, but not the necessarily the numeric ids in the
>>> archive.  If matching text names are not found, then the archive's
>>> numeric ids are used.
>> Exactly my understanding as well.
>>
>>> So you could easily get a real hodge-podge of names and numeric ids
>>> by recovering to a different system.
>>>
>>>    Archived System       Recovery System        Result of Recovery
>>>      name   id #          name     id #            name    id #
>>>
>>>      AAA    111           AAA      111              AAA    111
>>>      BBB    222           BBB      234              BBB    234
>>>      CCC    333          (no CCC) (no 333)         (none)  333
>>>      DDD    444          (no DDD) (EEE is 444)      EEE    444
>>>
>>> Note, 3 of the 4 cases result in a recovery that doesn't match the
>>> originally archived system.  May or may not be what was wanted.
>> But as soon as /etc/passwd and /etc/group have been restored from backup as
>> well and you boot from the restored medium, CCC and DDD become correct again,
>> right?
>>
>> But this is not what I saw. Some files that should be owned by user BBB had
>> uid 222, while others had 234. It was not consistent.
>>
>>> If the --numeric-owner option was used, only the second case would
>>> change, the recovered result using an id of "222" rather than "234"
>>> with a text name of either "none" or whatever name matchs id "222".
>> Which is what you want (assumed you backup OS files, instead of doing a clean
>> reinstall of the OS)...
>>
> 
> In such a case, a temporary workaround during restore could be to wrap gnutar:
> 
>       # mv /bin/tar /bin/tar.real
>       # echo 'exec /bin/tar --numeric-owner "$@"' > /bin/tar
>       # chmod +x /bin/tar
> 
Since you renamed the real /bin/tar, perhaps you meant:
echo 'exec /bin/tar.real --numeric-owner "$@"' > /bin/tar

Also, a reminder to restore the original after you're done might be
worth noting (as someone whose done tricks like that in the past and
forgot to undo them).

Frank

<Prev in Thread] Current Thread [Next in Thread>
  • Re: numeric-owner problem, Frank Smith <=