* All variables are now embraced: ${foo}
* All comparisons against some value now take the form:
[ "${foo}" ? "value" ]
where ? is a comparison operator
* All empty string tests now take the form:
[ -z "${foo}" ]
* All non-empty string tests now take the form:
[ -n "${foo}" ]
Submitted by: jkh
automagically find all the partitions. This is to be preferred to the
somewhat emetic usage of vinum_slices and the equally obnoxious 'vinum
read' command.
log_in_vain:
log_in_vain turns on logging for packets to ports for which
there is no listener.
rc.sysctl:
A generic way to set sysctl values. It reads /etc/syslog.conf
and sets values based on that. No /etc/syslog.conf has been
checked in yet, and I've not added this to the makefile yet
until I get more feedback.
Reviewed by: -current, -hackers and bde especially
enable_quotas - use quotas on your system
check_quotas - check for violations on startup
By assuming that a system was neat and without violation before it booted
we can skip a long (and at that point needless) process.
Submitted by: Alex Perel <veers@disturbed.net>
suitable defaults pointing to the FreeBSD-shipped versions. This will allow
for easier integration of third-party replacements for these daemons.
Reviewed by: Several members of -committers
we set in rc.conf.
Background: the `vinum read' command has changed. For a short period
of time, it required the names of the slices on which vinum was
stored. Now it requires the names of the drives.
about this becase that makes it get run *before* the filesystems are
mounted. If people have added stuff to their rc.conf or rc.conf.local
that uses stuff outside of /bin and /sbin, this will break.
since the kernel must be booted from something ( like a floppy ). This
script must occur near the beginning of the rc file in order to support
read-only NFS mounts, which in turn allows all the BOOTP machines to use
the same / and /usr.
The companion rc.diskless script is forthcoming.
vinum_slices to the names of all slices (block device) which are under
the control of vinum. The configuration will be read in from each in
turn, starting with the most recently updated.
Reviewed-by: jkh
to be written to /etc.
The only essential change is in paths.h, so any third-party software
written correctly will pick it up in the next rebuild.
Reviewed by: the committers list (actually an old version)
Commit changes to rc and rc.local, removing the remaining minimal
functionality of rc.local into rc and commenting it out of rc.local
prior to the deletion of rc.local from the CVS tree.
Disable building tickadj(8) by removing util from SUBDIR in the xntpd
Makefile. Note that the sources are still there and tickadj can still
be built and installed by doing:
# cd /usr/src/usr.sbin/xntpd/util
# make all install
There are enough references to tickadj in e.g. the xntpd documentation
(not to mention the sysctl variables it uses etc.) that I don't feel
up to implementing the final solution right now.
Kinda-approved-by: phk
file formats. I have added a new rc.conf variable ${ldconfig_paths_aout}
which is like ${ldconfig_paths}, but only for a.out shared libraries.
On a "standard" ELF system, the ELF ldconfig path is taken from
${ldconfig_paths}, while the a.out ldconfig path is taken from
${ldconfig_paths_aout}.
On a not-yet-converted a.out system, only the a.out ldconfig path
is set, and it is taken from ${ldconfig_paths_aout}. If that
variable is unset, /etc/rc defaults it to the value of ${ldconfig_paths},
on the assumption that the system's "/etc/rc.conf" file hasn't been
updated.
unless /var is nfs-mounted.
This was removing ppps device lock (when ppp's started in
/etc/start_if.tun0 in -ddial or -dedicated mode) and allowing
other programs (such as mgetty) to confuse ppp by playing with
the modem while ppp's using it.
People that nfs-mount /var had better not start ppp in this
way....
use this.
Requested by: max, andreas
Note: This change just provides a convenient way to exercise existing
functionality. Whether `kern.securelevel' is effective in increasing
system security is another issue, and one that has been well thrashed
out in the lists.
Move a.out libraries to /usr/lib/aout to make space for ELF libs.
Make rtld usr /usr/lib/aout as default library path.
Make ldconfig reject /usr/lib as an a.out library path.
Fix various Makefiles for LIBDIR!=/usr/lib breakage.
This will after a make world & reboot give a system that no
longer uses /usr/lib/*, infact one could remove all the old
libraries there, they are not used anymore.
We are getting close to an ELF make world, but I'll let this
all settle for a week or two...
properly. Only users of 4 MB machines might not want it this way (to
prevent accidentally clobbering the coredump), but they are somewhat
in the minority these days.
Enable this by setting clear_tmp_enable in rc.conf to YES. Beware
there can be serious side-effects of enabling this, so use at you own
risk.
PR: misc/4982, misc/5054
(if firewall = "somefilename").
Fix typo fixes and URLs which were accidently nuked out of this
file (submitted by: soil@quick.net via PR#3501).
Submitted by: "Danny J. Zerkel" <dzerkel@phofarm.com>
nfs requests from non-privileged ports.
Change mountd such that it does never set this variable, but only clears
it when run with -n. Also document this in the man page.
Leave dumpdev, but kill the savecore variable. Thus, it's still off
by default, but all you need is enabling dumpdev now.
phk's old argument that savecore might inadvertendly fill up the disk
no longer counts, savecore now correctly obeyes a `minfree' file, and
we ship our systems with such a file that even has a reasonable
default.
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
wondering what the hw-config of a machine is, and the logs have been
rotated many times since reboot already.
Added:
/sbin/dmesg > /var/tmp/dmesg.boot
to /etc/rc
2.2 candidate
This is a lot more robust and handles errors a lot better. It also cleans
up stray, hopeless, or unmodified files rather than leaving them there
forever.
. crate the symlink for /dev/log if required, then
. remove the old socket (savecore might have already created it
accidentally), then
. start syslogd.
(Btw., our test(1) misses an option to test for a socket.)
- split the "starting network daemons" in half.
- The first half starts things necessary to get full name service up.
- The quota check etc moved from "before network" to after the name
services are running. quotacheck does a while(p=getpwent()) which
isn't real good without YP running...
- moved rwhod a little later to put it with the other network stuff.
- deferred inetd a tad so that it's after ldconfig and dev_mkdb,
otherwise you get logins before you're ready.
Unresolved: named is started before ypserv/ypbind still, but named does
a while(s = getservent()) and while (p=getprotoent()) to suck in the
entire database into memory. This means you cannot have a "+" in the
/etc/services or /etc/protocols files or you get a long hang at boot.
Reviewed by: phk
Submitted by: Tatsumi Hosokawa <hosokawa@mt.cs.keio.ac.jp> & BSD Nomads
I re-wrote alot of this, but the ideas are based on the code from the
most recent pccard-snapshot.
While I'm at it, add a commented-out sample amd flags line to sysconfig
and drop a sample amd.map file in this directory for easy copying.
I know that this file's contents are highly site-variable, but the one I've
chosen for an example is also the one I've seen on 99.9% of the amd-using
sites I've visited. I think it's a fair default.
directories to check in looking for port startup scripts. The specific gunge
for apache httpd, gated and pcnfsd in /etc/sysconfig and /etc/netstart is
gone now. Note that pcnfsd's troubles aren't necessarily over (and probably
why NetBSD brought it into their sources) - anyone adding pcnfsd will STILL
have to tweak /etc/sysconfig in order to set the new variable
`weak_mountd_authentication' to YES. The flags to mountd are directly affected
by pcnfsd's requirements for non-root mounts, unfortunately! :-(
Submitted by: paul & jkh
in FreeBSD and should never have got in here.
Removed hard-coded /etc/rc.local.d hacks and implemented a more flexible
solution.
Added a local configuration area to sysconfig.
don't like it, they don't have to use it. The check makes sure that
/etc/rc.local.d exists before attempting to do anything with it. Now
packages will be able to add their startups as /etc/rc.local.d/<pkgname>.sh
in order to get local startup behavior. Maybe we can stop adding
knobs to /etc/sysconfig for ports/packages now?
Submitted by: wollman & jkh
Add nis_ypsetflags sysconfig entry and appropriate code in rc to call
ypset if needed. Should probably automatically add `-ypsetme' to ypbind
flags if this is set.
have non-critical nfs volumes in /etc/fstab they should have option bg
on them. The behavior of the system is more tuneable this way, and
allows a slow mounting /usr over nfs to work.
Submitted by: bde
when the single user shell was terminated. These changes disallow mounting
or R/W upgrading filesystems that are dirty unless "-f" (force) option
is used with mount. /etc/rc has been modified to abort the startup if
one or more non-nfs partitions fail to mount.
Reviewed by: Poul-Henning Kamp, Rod Grimes
Have netstart directly source sysconfig so that it stands on its own.
Do not source netstart in rc, run it with sh.
Rework the dangerous /etc/hostname.* so that it uses a variable with
a list of interfaces and a variable for each interface in that list.
The files /etc/hostname.* become obsolete with this change, the
information is now stored in /etc/sysconfig.
Source any /etc/start_if.${ifn} files so they can export things to
netstart (plans for future enhancements in this area.)
Obsolete /etc/defaultrouter, this is now down with $defaultrouter from
sysconfig.
changes to it based upon other outstanding bug reports and commits made
after his work.
Comments:
(a) sysconfig is still used to do all configuration. I was not going to
change that out from under you.... a user never need edit netstart
or rc* unless they're being very weird.
(b) rc.maint has been folded back into rc. It is just unworkable as
a separate chunk because of ordering bogosities
(c) netstart does what it says... it starts up enough of the network to
get up, it doesn't start every bloody daemon that might talk to a
socket... netstart ifconfig's the devices and sets up routing if
configured to do so.
(d) nfs disks are mounted immediately after netstart completes
(e) syslog is started as early as possible (right after nfs) so that error
messages can get logged to remote syslog servers properly
(f) named is started (there is an argument that says that named should be
started before syslogd because if you are the dns server for your domain,
you'd like named to resolve remote hosts in syslog.conf, but this is
a minority case and the trivial workarround is to put the syslog host
in /etc/hosts or use an /etc/resolv.conf -- why? because you want syslog
to catch named errors, which is a MUCH more important and likely occurance)
(g) NOW all of the rest of the network daemons such as the time stuff, RPC,
NIS, NFS, Kerberos and inetd are started
(h) the rest of the generic stuff is done (cron/printer/sendmail)
(i) shared libraries are set
(j) /etc/rc.i386 is run (this does FreeBSD/386 specific stuff like ibcs2,
xtend, and all of the syscons stuff
(this is actually started as /etc/rc.`uname -m`
(k) the syscons stuff has gotten a serious cleaning to make it consistent
with rc conventions
(l) rc.local has had the comments about syscons removed (they are not relevant
to this file now) and the full name of the kernel has been restored to
/etc/motd
Submitted by: pts
before the rest of the system daemons are brought up and *after* the
network interfaces have been configured.
Also fix one other potential problem: the NIS services need to be started
relavively early since some of the other daemons might need them. The
automounter is a good example: if you use amd with NIS-based maps, you'd
better have NIS running before you start it. :) I think mountd might
need it too, now that netgroups can be read via NIS as well.
1. Move all system configuration variables into /etc/sysconfig
2. Adapt other files to use it.
3. Add a host of new variables for micro-managing your system in various
ways. For 2.1, /etc/sysconfig will be machine-edited so that the user
doesn't even have to care at all about the various funny names we picked.
4. Enable dset. We won't get it debugged if we never use it, and no one
has said anything negative about it yet, so here goes!
5. Try to use one consistent style throughout.
- Do ntp right
- Move recenrly-added and long-standing junk from rc.local into rc, so
. that rc.local truly is LOCAL.
- Fix named invocation to use the correct boot file location.