[comp.sys.apollo] registry problem

pschenk%cernapo.cern.ch@PUCC.PRINCETON.EDU (P.R.Schenk) (02/20/91)

Hello. We have a slight problem here. We have a small network ( 3 machines )
and while someone was editing the master ( only ) registry, another person
EX'd the node on which the registry resides. Now rgyd will not start on
the node ( interactively if gives the message "Cannot initialize registry
database " ). The question is, how do we get the registry back.
We have no slaves, and no backup of the registry. I fear it's rgy_create time.
If I do need to re-create the registry, is there a way to set the
uid's back to what they were. ( We only have 3 user accounts + the default
ones ). If I could find out the existing uid's could I use
adopt in edrgy to do this?
Thanks.
Ciao,
Casper

Paul Schenk       |   University of Victoria
                  |   CERN PPE / OPAL
pschenk%cernapo@cernvax.cern.ch <- Pref.
pschenk@cernvm.cern.ch
schenk@uvvm.bitnet

" I have never seen anything fill up a vacuum so fast and still suck "

                          -Rob Pike on X

thompson@PAN.SSEC.HONEYWELL.COM (John Thompson) (02/20/91)

> ...while someone was editing the master ( only ) registry, another person
> EX'd the node on which the registry resides. Now rgyd will not start on
> the node ....  The question is, how do we get the registry back.
You might want to try '/etc/rgyd -restore_master'.  In the help file, this
is listed for use when something catastrophic has happened....  It may be that
it expects a back-up to have been placed there, but it can't hurt.

> If I do need to re-create the registry, is there a way to set the uid's back 
> to what they were. ( We only have 3 user accounts + the default ones ). 
Well, with only 3 non-default accounts, it might be easiest to run rgy_create
and add 3 accounts.  
> If I could find out the existing uid's could I use adopt in edrgy to do this?
You should be able to, for the person, group, and org parts.  The accounts don't
have this, however (being built up of a p,g,o triplet).  You might be able to
find the UIDs by using edrgy on a/the local registry (/etc/edrgy -l).  Then, a
'view -f' should give you lots of info.  On my node, part of it reads
        thompson[.sys_admin.sys_org]:Not-My-Passwd:100:10::/user/thompson:/com/sh:
          created by: root.sys.none  1990/05/10.17:44
          changed by: thompson.sys_admin.sys_org  1991/02/04.08:50
          password is: valid, was last changed: 1991/01/24.13:33
          account expires:  1991/02/25  account is: valid
          logged in from: BC86    
          person:    100   40130AEA.3000BCF0
          group:      10   00800042.00000000
          org:        10   00000582.00000000
The last parts, of course, give you the Unix number and the UID for the adoption.
My registry was up at the time, so it might have gotten some stuff from there, but I
told it to do local-only.

Suggestion to HP/Apollo-types out there.  As long as the local registry is around,
would it be possible to have a utility that did a 'merge' of the local back into
the real registry????   Pretty please?

-- jt --
John Thompson
Honeywell, SSEC
Plymouth, MN  55441
thompson@pan.ssec.honeywell.com

Me?  Represent Honeywell?  You've GOT to be kidding!!!

pcc@apollo.HP.COM (Peter Craine) (02/21/91)

In article <9102191833.AA12326@dxmint.cern.ch>,
pschenk%cernapo.cern.ch@PUCC.PRINCETON.EDU (P.R.Schenk) writes:
|> Hello. We have a slight problem here. We have a small network ( 3 machines )
|> and while someone was editing the master ( only ) registry, another person
|> EX'd the node on which the registry resides. Now rgyd will not start on
|> the node ( interactively if gives the message "Cannot initialize registry
|> database " ). The question is, how do we get the registry back.

Well, you can try
    /etc/rgyd -restore_master
This may fix your problem.  If not, then it's almost certainly rgy_create time.

|> If I do need to re-create the registry, is there a way to set the
|> uid's back to what they were. ( We only have 3 user accounts + the default
|> ones ). If I could find out the existing uid's could I use
|> adopt in edrgy to do this?

This is actually very simple.

/systest/ssr_util/acluid <file>

will show all the UID's associated with a file's ACL's.
You'll see something like this:

% acluid stcodes
Acl for stcodes:
3F041A5A.2000B623 00000000.00000000 00000000.00000000 pcc.%.%
00000000.00000000 00800040.00000000 00000000.00000000 %.none.%
00000000.00000000 00000000.00000000 14E54ABB.60000021 %.%.r_d
00000000.00000000 00000000.00000000 00000000.00000000 %.%.%
%

This says that the person "pcc" has uid 3f041a5a.2000b623,
group "none" has uid 00800040.00000000, etc.
With this information, you can get the UID's of each person's
accounts.  (Of course, if somebody doesn't own any files, then
you don't have to bother adopting UID's.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Peter Craine                +  "Agent Cooper, I am thrilled to pieces that
    Hewlett-Packard             +    the Dharma came to Hohoho, I really am."
    Chelmsford Response Center  +  *I* don't want my opinions.  Why would HP?