Beth Barrett writes:
> I have customer who would like to have ssh and telnet start earlier, say 
> in milestone multi-user instead of multi-user-server or all.

The fact that telnet is not in multi-user is simply a bug.

  http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6399735

If your customer wants to see that fixed in a patch, I'd encourage 
escalating it -- it isn't hard to fix.  In fact,  I've marked it as 
bite-sized for folks to give a try.

I don't see a reason ssh has to be in multi-user-server rather than 
multi-user (ssh guys can comment further), but make sure to read to the
end of the mail for commentary on moving services between milestones.

> I see from Liane's blog 
> (http://blogs.sun.com/roller/page/lianep?entry=starting_ssh_early_in_boot) 
> , the dependencies to remove in order to get ssh to start as early as 
> single user.
> As far as the telnet service, it has no dependencies but is part of the 
> inetd restarter which does have dependencies.
> 
> Is it safe to remove any of inetd's dependencies in order to start 
> telnet earlier say in milestone-user ?
> Is there a means thru svccfg to change what milestone a service starts in ?

It's not necessary to remove dependencies from inetd to change the 
milestone.  inetd is already started as part of multi-user.

$ svcs -D inetd 
STATE          STIME    FMRI
online         14:16:51 svc:/milestone/multi-user:default

What you'd need is to *add* a dependency from multi-user on the services 
you require.  e.g.

# svccfg -s multi-user
svc:/milestone/multi-user>  addpg site-telnet dependency
svc:/milestone/multi-user> setprop site-telnet/entities = fmri: 
"svc:/network/telnet"
svc:/milestone/multi-user> setprop site-telnet/external = boolean: true
svc:/milestone/multi-user> setprop site-telnet/grouping = astring: optional_all
svc:/milestone/multi-user> setprop site-telnet/restart_on = astring: none
svc:/milestone/multi-user> setprop site-telnet/type = astring: service
# svcadm refresh multi-user

(Yeah, it's too hard.  Working on a proposal for making it easier now...)

Now, all of that said... SMF works differently than the old run-levels.
If you're bringing the system all the way up, services will start as soon
as their dependencies are satisfied.  Just because telnet isn't part of 
multi-user doesn't mean it won't start coincident with other services 
in that milestone.  In most scenarios, it does, so adding the 
multi-user dependency on telnet won't have any effect on when it starts 
up -- in the svcs listing on the machines I run, telnet always comes
before multi-user.  Adding this dependency only changes the fact that if
you "init 2", telnet will keep running.

If the request is due to a perception that 'telnet could start late', 
you can easily point to the fact that it (probably) already starts 
before milestone/multi-user. :)

liane
-- 
Liane Praza, Solaris Kernel Development
liane.praza at sun.com - http://blogs.sun.com/lianep



Reply via email to