mirror of
https://github.com/OpenRC/openrc.git
synced 2024-11-23 01:43:37 +08:00
parent
f81bb7e2c4
commit
3054046e18
2
NEWS.md
2
NEWS.md
@ -110,7 +110,7 @@ using modules-load in your dependencies.
|
||||
|
||||
The consolefont, keymaps, numlock and procfs service scripts no longer
|
||||
have a dependency on localmount.
|
||||
If you are a linux user and are still separaating / from /usr,
|
||||
If you are a linux user and are still separating / from /usr,
|
||||
you will need to add the following line to the appropriate conf.d files:
|
||||
|
||||
rc_need="localmount"
|
||||
|
@ -8,7 +8,7 @@
|
||||
# We can also specify the passno in /etc/fstab to check
|
||||
# If you multiplex fsck (ie ln -s fsck /etc/init.d/fsck.late) then you can
|
||||
# do an fsck outside of the normal scope, say for /home.
|
||||
# Here are some exampes:-
|
||||
# Here are some examples:-
|
||||
#fsck_passno="=1 =2"
|
||||
#fsck_passno=">1"
|
||||
#fsck_passno="<2"
|
||||
|
@ -1,6 +1,6 @@
|
||||
# ipfw provides a stateful firewall.
|
||||
# This means we allow everything out, and if we have a connection we allow it
|
||||
# back in. This is very flexable and quite secure.
|
||||
# back in. This is very flexible and quite secure.
|
||||
|
||||
# For ease of use, we allow auth and ssh ports through as well.
|
||||
# To override the list of allowed ports
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Assign static IP addresses and run custom scripts per interface.
|
||||
# Seperate commands with ;
|
||||
# Separate commands with ;
|
||||
# Prefix with ! to run a shell script.
|
||||
# Use \$int to represent the interface
|
||||
#ifconfig_eth0="192.168.0.10 netmask 255.255.255.0"
|
||||
|
@ -3,5 +3,5 @@
|
||||
powerd_ac_mode="maximum"
|
||||
#powerd_battery_mode="minimum"
|
||||
|
||||
# Addiditonal arguments for powerd - see the man page for details
|
||||
# Additional arguments for powerd - see the man page for details
|
||||
powerd_args=""
|
||||
|
@ -26,7 +26,7 @@ getmedia() {
|
||||
if [ ! -e /etc/init.d/"$1" -a ! -e /usr/local/init.d/"$1" ]; then
|
||||
base=${1%%.*}
|
||||
if [ "${base}" = "net" ]; then
|
||||
# We only create links for pyhsical interfaces
|
||||
# We only create links for physical interfaces
|
||||
[ -n "$(getmedia ${1#*.})" ] || exit 1
|
||||
base="net.lo0"
|
||||
fi
|
||||
|
@ -106,7 +106,7 @@ start()
|
||||
_abort
|
||||
fi;;
|
||||
4) if [ "$RC_UNAME" = Linux ]; then
|
||||
ewend 1 "Fileystem errors left uncorrected, aborting"
|
||||
ewend 1 "Filesystem errors left uncorrected, aborting"
|
||||
_abort
|
||||
else
|
||||
ewend 1 "Filesystems repaired, but reboot needed"
|
||||
|
@ -122,7 +122,7 @@ start() {
|
||||
ipfw add deny { tcp or udp } from any to any $p in
|
||||
done
|
||||
|
||||
# Broadcasts and muticasts
|
||||
# Broadcasts and multicasts
|
||||
ipfw add deny ip from any to 255.255.255.255
|
||||
ipfw add deny ip from any to 224.0.0.0/24
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
# This file may not be copied, modified, propagated, or distributed
|
||||
# except according to the terms contained in the LICENSE file.
|
||||
|
||||
description="Re-mount filesytems read-only for a clean reboot."
|
||||
description="Re-mount filesystems read-only for a clean reboot."
|
||||
|
||||
depend()
|
||||
{
|
||||
|
@ -76,7 +76,7 @@ Stop all services, kill all processes and reboot the system.
|
||||
.It Fl s , -single
|
||||
Stop all services, kill all processes and move to single user mode.
|
||||
.It Fl w , -write-only
|
||||
Wrrite a wtmp shutdown record and do nothing else.
|
||||
Write a wtmp shutdown record and do nothing else.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr openrc-init 8 ,
|
||||
|
@ -20,7 +20,7 @@ info
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
gathers and displays information about the status of services supervised
|
||||
by s6 then runs rc-status to show info about nnormal OpenRC services.
|
||||
by s6 then runs rc-status to show info about normal OpenRC services.
|
||||
.Pp
|
||||
.Sh EXIT STATUS
|
||||
.Nm
|
||||
|
@ -35,7 +35,7 @@
|
||||
OpenRC uses named runlevels. Rather than editing some obscure
|
||||
file or managing a directory of symlinks,
|
||||
.Nm
|
||||
exists to quickly add or delete services to and from from different runlevels.
|
||||
exists to quickly add or delete services to and from different runlevels.
|
||||
All services must reside in the
|
||||
.Pa /etc/init.d
|
||||
or
|
||||
|
@ -31,7 +31,7 @@ returns RC_PIDLIST, a structure based on the LIST macro from
|
||||
which contains all the pids found matching the given criteria.
|
||||
If
|
||||
.Fa pid
|
||||
is given then only that pid is returned if it is running. Otherise we check
|
||||
is given then only that pid is returned if it is running. Otherwise we check
|
||||
all instances of
|
||||
.Fa argv
|
||||
with a process name of
|
||||
|
@ -145,7 +145,7 @@ When
|
||||
.Fa service
|
||||
starts, it starts
|
||||
.Fa service_to_start
|
||||
afterswards as directed by
|
||||
afterwards as directed by
|
||||
.Fn rc_service_schedule_start .
|
||||
.Fn rc_services_scheduled
|
||||
returns a list of services that will be started when
|
||||
|
@ -193,7 +193,7 @@ If respawn-delay, respawn-max and respawn-period are not set correctly,
|
||||
it is possible to trigger a situation in which the supervisor will
|
||||
infinitely try to respawn a daemon. To avoid this, if you change the
|
||||
values of --respawn-delay, --respawn-max or --respawn-period, always
|
||||
make sure the settings mmake sense. For example, a respawn period of 5
|
||||
make sure the settings make sense. For example, a respawn period of 5
|
||||
seconds with a respawn max of 10 and a respawn delay of 1 second leads
|
||||
to infinite respawning since there can never be 10 respawns within 5
|
||||
seconds.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* checkpath.c
|
||||
* Checks for the existance of a file or directory and creates it
|
||||
* Checks for the existence of a file or directory and creates it
|
||||
* if necessary. It can also correct its ownership.
|
||||
*/
|
||||
|
||||
@ -67,7 +67,7 @@ const char * const longopts_help[] = {
|
||||
"Create a named pipe (FIFO) if not exists",
|
||||
"Mode to check",
|
||||
"Owner to check (user:group)",
|
||||
"follow symbolic links (irrelivent on linux)",
|
||||
"follow symbolic links (irrelevant on linux)",
|
||||
"Check whether the path is writable or not",
|
||||
longopts_help_COMMON
|
||||
};
|
||||
|
@ -30,7 +30,7 @@
|
||||
#include "einfo.h"
|
||||
#include "helpers.h"
|
||||
|
||||
/* usecs to wait while we poll the file existance */
|
||||
/* usecs to wait while we poll the file existence */
|
||||
#define WAIT_INTERVAL 20000000
|
||||
|
||||
const char *applet = NULL;
|
||||
|
@ -75,7 +75,7 @@ const struct option longopts[] = {
|
||||
longopts_COMMON
|
||||
};
|
||||
const char * const longopts_help[] = {
|
||||
"Mounts the filesytem from the mountpoint",
|
||||
"Mounts the filesystem from the mountpoint",
|
||||
"Remounts the filesystem based on the information in fstab",
|
||||
"Extract the block device",
|
||||
"Show arguments needed to mount the entry",
|
||||
|
@ -108,7 +108,7 @@ int ebegin(const char * EINFO_RESTRICT, ...) EINFO_PRINTF(1, 2);
|
||||
* eend places [ ok ] or [ !! ] at the end of the terminal line depending on
|
||||
* retval (0 or ok, anything else for !!)
|
||||
*
|
||||
* ebracket allows you to specifiy the position, color and message */
|
||||
* ebracket allows you to specify the position, color and message */
|
||||
/*@{*/
|
||||
int eend(int, const char * EINFO_RESTRICT, ...) EINFO_PRINTF(2, 3);
|
||||
int ewend(int, const char * EINFO_RESTRICT, ...) EINFO_PRINTF(2, 3);
|
||||
|
@ -186,7 +186,7 @@ rc_config_list(const char *file)
|
||||
if (token && (strlen(token) > 1)) {
|
||||
/* If not variable assignment then skip */
|
||||
if (strchr(token, '=')) {
|
||||
/* Stip the newline if present */
|
||||
/* Strip the newline if present */
|
||||
if (token[strlen(token) - 1] == '\n')
|
||||
token[strlen(token) - 1] = 0;
|
||||
|
||||
|
@ -201,7 +201,7 @@ bool rc_service_add(const char *, const char *);
|
||||
/*! Remove the service from the runlevel
|
||||
* @param runlevel to remove from
|
||||
* @param service to remove
|
||||
* @return true if sucessful, otherwise false */
|
||||
* @return true if successful, otherwise false */
|
||||
bool rc_service_delete(const char *, const char *);
|
||||
|
||||
/*! Save the arguments to find a running daemon
|
||||
@ -304,7 +304,7 @@ RC_STRINGLIST *rc_services_in_runlevel_stacked(const char *);
|
||||
* @return NULL terminated list of services */
|
||||
RC_STRINGLIST *rc_services_in_state(RC_SERVICE);
|
||||
|
||||
/*! List the services shceduled to start when this one does
|
||||
/*! List the services scheduled to start when this one does
|
||||
* @param service to check
|
||||
* @return NULL terminated list of services */
|
||||
RC_STRINGLIST *rc_services_scheduled(const char *);
|
||||
@ -450,9 +450,9 @@ RC_STRINGLIST *rc_deptree_depend(const RC_DEPTREE *, const char *, const char *)
|
||||
RC_STRINGLIST *rc_deptree_depends(const RC_DEPTREE *, const RC_STRINGLIST *,
|
||||
const RC_STRINGLIST *, const char *, int);
|
||||
|
||||
/*! List all the services that should be stoppned and then started, in order,
|
||||
/*! List all the services that should be stopped and then started, in order,
|
||||
* for the given runlevel, including sysinit and boot services where
|
||||
* approriate.
|
||||
* appropriate.
|
||||
* @param deptree to search
|
||||
* @param runlevel to change into
|
||||
* @param options to pass
|
||||
@ -528,7 +528,7 @@ bool rc_yesno(const char *);
|
||||
/*! @name String List functions
|
||||
* Every string list should be released with a call to rc_stringlist_free. */
|
||||
|
||||
/*! Create a new stringlinst
|
||||
/*! Create a new stringlist
|
||||
* @return pointer to new list */
|
||||
RC_STRINGLIST *rc_stringlist_new(void);
|
||||
|
||||
|
@ -363,7 +363,7 @@ svc_exec(const char *arg1, const char *arg2)
|
||||
* We do this instead of mapping pipes to stdout, stderr so that
|
||||
* programs can tell if they're attached to a tty or not.
|
||||
* The only loss is that we can no longer tell the difference
|
||||
* between the childs stdout or stderr */
|
||||
* between the child's stdout or stderr */
|
||||
master_tty = slave_tty = -1;
|
||||
if (prefix && isatty(fdout)) {
|
||||
tcgetattr(fdout, &tt);
|
||||
@ -1045,7 +1045,7 @@ svc_stop(void)
|
||||
static void
|
||||
svc_restart(void)
|
||||
{
|
||||
/* This is hairly and a better way needs to be found I think!
|
||||
/* This is hairy and a better way needs to be found I think!
|
||||
* The issue is this - openvpn need net and dns. net can restart
|
||||
* dns via resolvconf, so you could have openvpn trying to restart
|
||||
* dnsmasq which in turn is waiting on net which in turn is waiting
|
||||
|
@ -50,7 +50,7 @@ struct init_request_bsd {
|
||||
|
||||
/*
|
||||
* Because of legacy interfaces, "runlevel" and "sleeptime"
|
||||
* aren't in a seperate struct in the union.
|
||||
* aren't in a separate struct in the union.
|
||||
*
|
||||
* The weird sizes are because init expects the whole
|
||||
* struct to be 384 bytes.
|
||||
|
@ -562,7 +562,7 @@ do_stop_services(RC_STRINGLIST *types_nw, RC_STRINGLIST *start_services,
|
||||
continue;
|
||||
}
|
||||
|
||||
/* If the service has crashed, skip futher checks and just stop
|
||||
/* If the service has crashed, skip further checks and just stop
|
||||
it */
|
||||
if (crashed &&
|
||||
rc_service_daemons_crashed(service->value))
|
||||
@ -584,7 +584,7 @@ do_stop_services(RC_STRINGLIST *types_nw, RC_STRINGLIST *start_services,
|
||||
continue;
|
||||
}
|
||||
|
||||
/* We got this far. Last check is to see if any any service
|
||||
/* We got this far. Last check is to see if any service
|
||||
* that going to be started depends on us */
|
||||
if (!svc1) {
|
||||
tmplist = rc_stringlist_new();
|
||||
@ -877,7 +877,7 @@ int main(int argc, char **argv)
|
||||
setenv("RC_RUNLEVEL", newlevel, 1);
|
||||
setenv("RC_GOINGDOWN", "YES", 1);
|
||||
} else {
|
||||
/* We should not use krunevel in sysinit or boot runlevels */
|
||||
/* We should not use krunlevel in sysinit or boot runlevels */
|
||||
if (!newlevel ||
|
||||
(strcmp(newlevel, RC_LEVEL_SYSINIT) != 0 &&
|
||||
strcmp(newlevel, getenv("RC_BOOTLEVEL")) != 0))
|
||||
@ -913,7 +913,7 @@ int main(int argc, char **argv)
|
||||
#ifdef __FreeBSD__
|
||||
/* FIXME: we shouldn't have todo this */
|
||||
/* For some reason, wait_for_services waits for the logger
|
||||
* proccess to finish as well, but only on FreeBSD.
|
||||
* process to finish as well, but only on FreeBSD.
|
||||
* We cannot allow this so we stop logging now. */
|
||||
rc_logger_close();
|
||||
#endif
|
||||
|
@ -64,7 +64,7 @@ if [ -z $TERM -o $TERM = "dumb" ]; then
|
||||
fi
|
||||
|
||||
# Gather list of candidate services s6-supervise may be supervising
|
||||
# filter for folders and symlinks at /run/openrc/s6-scan/* ommiting output starting with '.'
|
||||
# filter for folders and symlinks at /run/openrc/s6-scan/* omitting output starting with '.'
|
||||
services="$(find $scandir -maxdepth 1 -mindepth 1 \( -type d -or -type l \) | awk -F'/' '{ if ( $NF !~ "^\\." ) print $NF}')"
|
||||
if [ -z "$services" ]; then
|
||||
printf "s6 found no services configured for supervision\n"
|
||||
@ -72,7 +72,7 @@ if [ -z "$services" ]; then
|
||||
fi
|
||||
|
||||
# Gather status for each service from s6-svstat
|
||||
# write to tmp file in memory for non I/O bound repeatative access
|
||||
# write to tmp file in memory for non I/O bound repetitive access
|
||||
rm -f $statfile 2>/dev/null
|
||||
for service in $services ; do
|
||||
echo "$service $(s6-svstat ${scandir}/${service})" >> $statfile
|
||||
|
@ -18,7 +18,7 @@
|
||||
#ifndef __LIBRC_PLUGIN_H__
|
||||
#define __LIBRC_PLUGIN_H__
|
||||
|
||||
/* A simple flag to say if we're in a plugin proccess or not.
|
||||
/* A simple flag to say if we're in a plugin process or not.
|
||||
* Mainly used in atexit code. */
|
||||
extern bool rc_in_plugin;
|
||||
|
||||
|
@ -664,7 +664,7 @@ struct { \
|
||||
*/
|
||||
|
||||
/*
|
||||
* __launder_type(): We use this ugly hack to work around the the compiler
|
||||
* __launder_type(): We use this ugly hack to work around the compiler
|
||||
* noticing that two types may not alias each other and elide tests in code.
|
||||
* We hit this in the CIRCLEQ macros when comparing 'struct name *' and
|
||||
* 'struct type *' (see CIRCLEQ_HEAD()). Modern compilers (such as GCC
|
||||
@ -675,7 +675,7 @@ struct { \
|
||||
* Do not use for assignment.
|
||||
*
|
||||
* If we ever choose to change the ABI of the CIRCLEQ macros, we could fix
|
||||
* this by changing the head/tail sentinal values, but see the note above
|
||||
* this by changing the head/tail sentinel values, but see the note above
|
||||
* this one.
|
||||
*/
|
||||
static __inline const void * __launder_type(const void *);
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* supervise-daemon
|
||||
* This is a supervisor for daemons.
|
||||
* It will start a deamon and make sure it restarts if it crashes.
|
||||
* It will start a daemon and make sure it restarts if it crashes.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -13,7 +13,7 @@ The following is a brief guide on using this capability.
|
||||
functions.
|
||||
|
||||
* Daemons must not fork
|
||||
Any deamon that you would like to have monitored by supervise-daemon
|
||||
Any daemon that you would like to have monitored by supervise-daemon
|
||||
must not fork. Instead, it must stay in the foreground. If the daemon
|
||||
forks, the supervisor will be unable to monitor it.
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
# we're using a decent dns cache/forwarder like dnsmasq and NOT nscd/libc.
|
||||
# nscd/libc users will get the VPN nameservers before their other ones
|
||||
# and will use the first one that responds - maybe the LAN ones?
|
||||
# non resolvconf users just the the VPN resolv.conf
|
||||
# non resolvconf users just the VPN resolv.conf
|
||||
|
||||
# FIXME:- if we have >1 domain, then we have to use search :/
|
||||
# We need to add a flag to resolvconf to say
|
||||
|
@ -12,7 +12,7 @@ TMPDIR="${BUILD_ROOT}"/tmp-"$(basename "$0")"
|
||||
|
||||
# Please note that we added this unit test because the function
|
||||
# should really be called is_newer_than as it's what it's really testing.
|
||||
# Or more perversly, returning 0 on failure and 1 and success.
|
||||
# Or more perversely, returning 0 on failure and 1 and success.
|
||||
|
||||
# bool is_older_than(reference, files/dirs to check)
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user