sysrc -- a sysctl(8)-like utility for managing /etc/rc.conf et. al.

Devin Teske dteske at vicor.com
Sat Oct 9 17:37:04 UTC 2010


On Oct 9, 2010, at 10:03 AM, Garrett Cooper wrote:

> On Thu, Oct 7, 2010 at 12:54 AM, Julian Elischer <julian at freebsd.org> wrote:
>>  On 10/7/10 12:23 AM, jhell wrote:
>>> 
>>> Alright thank you for your explanation. I do not normally see this usage
>>> and this just sort of stood out at me and I did not want to assume what
>>> you were trying to accomplish, without asking.
>> 
>> three useage cases come to mind immediately.
>> 
>> 1/ use within other scripts..
>>  instead of the dozens of homegrown solutions people have written for puting
>> something
>> into /etc/rc.conf  one can use this.
>> 
>> 2/ what is the value of X on machines a,b,c
>>  foreach machine in a b c
>>  do
>>      ssh $machine sysrc X
>>  done
>> 
>>    you may well say "you could have used grep" bu tgrep doesn't give the
>> default value vie the
>>   hierachy of .rc files.
>> 2A is of course to correc teh values found to be wrong with (2)
>> 
>> 3/ on a really small system, without an editor this may do a cleaner job
>> than the usual
>>  "grep -v X /etc/rc.conf >/tmp/x;echo X >> /tmp/x; mv /tmp/x /etc/rc.conf"
> 
>    I was going to say...
> 
> 3A On a system where you're logged in via singleuser, sometimes
> terminal settings don't work correctly with editors (these days it's
> mostly because /usr isn't available so it can't load ncurses apps,
> some libs, termcap, etc). That would be a lifesaver in this case.

I hadn't realized that. That's stupendous!

Though I do believe that `/rescue/vi' exists these days as a statically-linked binary (built using crunchgen(1) via `rescue/rescue/Makefile' in the FreeBSD source tree).


>    But then I realized that this command probably would live in
> /usr/sbin and would probably need other apps in /usr/bin // /usr/sbin
> to run this command :).

I envisioned it living in `/sbin' and it's actually free of dependencies to external executables. If you execute it with the "-d" option ('d' for 'dependencies'), you can see that it uses only shell internals. The only thing this script truly depends on is `/bin/sh'. So it sounds like it would fit the ability of working within single-user mode quite well (remember, I developed it for embedded systems -- where things like grep/sed/awk may even be missing).


> Thanks!
> -Garrett
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"

--
Cheers,
Devin Teske

-> CONTACT INFORMATION <-
Business Solutions Consultant II
FIS - fisglobal.com
510-735-5650 Mobile
510-621-2038 Office
510-621-2020 Office Fax
909-477-4578 Home/Fax
devin.teske at fisglobal.com

-> LEGAL DISCLAIMER <-
This message  contains confidential  and proprietary  information
of the sender,  and is intended only for the person(s) to whom it
is addressed. Any use, distribution, copying or disclosure by any
other person  is strictly prohibited.  If you have  received this
message in error,  please notify  the e-mail sender  immediately,
and delete the original message without making a copy.

-> FUN STUFF <-
-----BEGIN GEEK CODE BLOCK-----
Version 3.1
GAT/CS d(+) s: a- C++(++++) UB++++$ P++(++++) L++(++++) !E--- W++ N? o? K- w O
M+ V- PS+ PE Y+ PGP- t(+) 5? X+(++) R>++ tv(+) b+(++) DI+(++) D(+) G+>++ e>+ h
r>++ y+ 
------END GEEK CODE BLOCK------
http://www.geekcode.com/

-> END TRANSMISSION <-



More information about the freebsd-hackers mailing list