From: Frank Brehm Date: Mon, 18 Jan 2016 17:48:15 +0000 (+0100) Subject: saving uncommitted changes in /etc prior to emerge run X-Git-Url: https://git.uhu-banane.de/?a=commitdiff_plain;h=e16926319783cb72168b9a4d84a7df3f2de624ce;p=config%2Fsamara%2Fetc.git saving uncommitted changes in /etc prior to emerge run --- diff --git a/._cfg0000_rc.conf b/._cfg0000_rc.conf new file mode 100644 index 0000000..9209bc6 --- /dev/null +++ b/._cfg0000_rc.conf @@ -0,0 +1,241 @@ +# Global OpenRC configuration settings + +# Set to "YES" if you want the rc system to try and start services +# in parallel for a slight speed improvement. When running in parallel we +# prefix the service output with its name as the output will get +# jumbled up. +# WARNING: whilst we have improved parallel, it can still potentially lock +# the boot process. Don't file bugs about this unless you can supply +# patches that fix it without breaking other things! +#rc_parallel="NO" + +# Set rc_interactive to "YES" and you'll be able to press the I key during +# boot so you can choose to start specific services. Set to "NO" to disable +# this feature. This feature is automatically disabled if rc_parallel is +# set to YES. +#rc_interactive="YES" + +# If we need to drop to a shell, you can specify it here. +# If not specified we use $SHELL, otherwise the one specified in /etc/passwd, +# otherwise /bin/sh +# Linux users could specify /sbin/sulogin +rc_shell=/sbin/sulogin + +# Do we allow any started service in the runlevel to satisfy the dependency +# or do we want all of them regardless of state? For example, if net.eth0 +# and net.eth1 are in the default runlevel then with rc_depend_strict="NO" +# both will be started, but services that depend on 'net' will work if either +# one comes up. With rc_depend_strict="YES" we would require them both to +# come up. +#rc_depend_strict="YES" + +# rc_hotplug controls which services we allow to be hotplugged. +# A hotplugged service is one started by a dynamic dev manager when a matching +# hardware device is found. +# Hotplugged services appear in the "hotplugged" runlevel. +# If rc_hotplug is set to any value, we compare the name of this service +# to every pattern in the value, from left to right, and we allow the +# service to be hotplugged if it matches a pattern, or if it matches no +# patterns. Patterns can include shell wildcards. +# To disable services from being hotplugged, prefix patterns with "!". +#If rc_hotplug is not set or is empty, all hotplugging is disabled. +# Example - rc_hotplug="net.wlan !net.*" +# This allows net.wlan and any service not matching net.* to be hotplugged. +# Example - rc_hotplug="!net.*" +# This allows services that do not match "net.*" to be hotplugged. + +# rc_logger launches a logging daemon to log the entire rc process to +# /var/log/rc.log +# NOTE: Linux systems require the devfs service to be started before +# logging can take place and as such cannot log the sysinit runlevel. +#rc_logger="YES" + +# Through rc_log_path you can specify a custom log file. +# The default value is: /var/log/rc.log +#rc_log_path="/var/log/rc.log" + +# If you want verbose output for OpenRC, set this to yes. If you want +# verbose output for service foo only, set it to yes in /etc/conf.d/foo. +#rc_verbose=no + +# By default we filter the environment for our running scripts. To allow other +# variables through, add them here. Use a * to allow all variables through. +#rc_env_allow="VAR1 VAR2" + +# By default we assume that all daemons will start correctly. +# However, some do not - a classic example is that they fork and return 0 AND +# then child barfs on a configuration error. Or the daemon has a bug and the +# child crashes. You can set the number of milliseconds start-stop-daemon +# waits to check that the daemon is still running after starting here. +# The default is 0 - no checking. +#rc_start_wait=100 + +# rc_nostop is a list of services which will not stop when changing runlevels. +# This still allows the service itself to be stopped when called directly. +#rc_nostop="" + +# rc will attempt to start crashed services by default. +# However, it will not stop them by default as that could bring down other +# critical services. +#rc_crashed_stop=NO +#rc_crashed_start=YES + +# Set rc_nocolor to yes if you do not want colors displayed in OpenRC +# output. +#rc_nocolor=NO + +############################################################################## +# MISC CONFIGURATION VARIABLES +# There variables are shared between many init scripts + +# Set unicode to YES to turn on unicode support for keyboards and screens. +unicode="YES" + +# This is how long fuser should wait for a remote server to respond. The +# default is 60 seconds, but it can be adjusted here. +#rc_fuser_timeout=60 + +# Below is the default list of network fstypes. +# +# afs ceph cifs coda davfs fuse fuse.sshfs gfs glusterfs lustre ncpfs +# nfs nfs4 ocfs2 shfs smbfs +# +# If you would like to add to this list, you can do so by adding your +# own fstypes to the following variable. +#extra_net_fs_list="" + +############################################################################## +# SERVICE CONFIGURATION VARIABLES +# These variables are documented here, but should be configured in +# /etc/conf.d/foo for service foo and NOT enabled here unless you +# really want them to work on a global basis. +# If your service has characters in its name which are not legal in +# shell variable names and you configure the variables for it in this +# file, those characters should be replaced with underscores in the +# variable names as shown below. + +# Some daemons are started and stopped via start-stop-daemon. +# We can set some things on a per service basis, like the nicelevel. +#SSD_NICELEVEL="-19" + +# Pass ulimit parameters +# If you are using bash in POSIX mode for your shell, note that the +# ulimit command uses a block size of 512 bytes for the -c and -f +# options +#rc_ulimit="-u 30" + +# It's possible to define extra dependencies for services like so +#rc_config="/etc/foo" +#rc_need="openvpn" +#rc_use="net.eth0" +#rc_after="clock" +#rc_before="local" +#rc_provide="!net" + +# You can also enable the above commands here for each service. Below is an +# example for service foo. +#rc_foo_config="/etc/foo" +#rc_foo_need="openvpn" +#rc_foo_after="clock" + +# Below is an example for service foo-bar. Note that the '-' is illegal +# in a shell variable name, so we convert it to an underscore. +# example for service foo-bar. +#rc_foo_bar_config="/etc/foo-bar" +#rc_foo_bar_need="openvpn" +#rc_foo_bar_after="clock" + +# You can also remove dependencies. +# This is mainly used for saying which servies do NOT provide net. +#rc_net_tap0_provide="!net" + +############################################################################## +# LINUX SPECIFIC OPTIONS + +# This is the subsystem type. Valid options on Linux: +# "" - nothing special +# "docker" - Docker container manager +# "lxc" - Linux Containers +# "openvz" - Linux OpenVZ +# "prefix" - Prefix +# "rkt" - CoreOS container management system +# "uml" - Usermode Linux +# "vserver" - Linux vserver +# "systemd-nspawn" - Container created by the systemd-nspawn utility +# "xen0" - Xen0 Domain +# "xenU" - XenU Domain +# If this is commented out, automatic detection will be used. +# +# This should be set to the value representing the environment this file is +# PRESENTLY in, not the virtualization the environment is capable of. +#rc_sys="" + +# This is the number of tty's used in most of the rc-scripts (like +# consolefont, numlock, etc ...) +rc_tty_number=12 + +############################################################################## +# CGROUPS RESOURCE MANAGEMENT + +# If you have cgroups turned on in your kernel, this switch controls +# whether or not a group for each controller is mounted under +# /sys/fs/cgroup. +# None of the other options in this section work if this is set to "NO". +#rc_controller_cgroups="YES" + +# The following settings allow you to set up values for the cgroup +# controllers for your services. +# They can be set in this file;, however, if you do this, the settings +# will apply to all of your services. +# If you want different settings for each service, place the settings in +# /etc/conf.d/foo for service foo. +# The format is to specify the names of the settings followed by their +# values. Each variable can hold multiple settings. +# For example, you would use this to set the cpu.shares setting in the +# cpu controller to 512 for your service. +# rc_cgroup_cpu=" +# cpu.shares 512 +# " +# +#For more information about the adjustments that can be made with +#cgroups, see Documentation/cgroups/* in the linux kernel source tree. + +# Set the blkio controller settings for this service. +#rc_cgroup_blkio="" + +# Set the cpu controller settings for this service. +#rc_cgroup_cpu="" + +# Add this service to the cpuacct controller (any value means yes). +#rc_cgroup_cpuacct="" + +# Set the cpuset controller settings for this service. +#rc_cgroup_cpuset="" + +# Set the devices controller settings for this service. +#rc_cgroup_devices="" + +# Set the hugetlb controller settings for this service. +#rc_cgroup_hugetlb="" + +# Set the memory controller settings for this service. +#rc_cgroup_memory="" + +# Set the net_cls controller settings for this service. +#rc_cgroup_net_cls="" + +# Set the net_prio controller settings for this service. +#rc_cgroup_net_prio="" + +# Set the pids controller settings for this service. +#rc_cgroup_pids="" + +# Set this to YES if yu want all of the processes in a service's cgroup +# killed when the service is stopped or restarted. +# This should not be set globally because it kills all of the service's +# child processes, and most of the time this is undesirable. Please set +# it in /etc/conf.d/. +# To perform this cleanup manually for a stopped service, you can +# execute cgroup_cleanup with /etc/init.d/ cgroup_cleanup or +# rc-service cgroup_cleanup. +# rc_cgroup_cleanup="NO" diff --git a/conf.d/bootmisc b/conf.d/bootmisc index d79706c..5371209 100644 --- a/conf.d/bootmisc +++ b/conf.d/bootmisc @@ -8,3 +8,8 @@ wipe_tmp="YES" # Write the initial dmesg log into /var/log/dmesg after boot # This may be useful if you need the kernel boot log afterwards log_dmesg="YES" + +# Save the previous dmesg log to dmesc.old +# This may be useful if you need to compare the current boot to the +# previous one. +#previous_dmesg=no diff --git a/conf.d/net-online b/conf.d/net-online new file mode 100644 index 0000000..bf0b09a --- /dev/null +++ b/conf.d/net-online @@ -0,0 +1,15 @@ +# The interfaces setting controls which interfaces the net-online +# service considers in deciding whether the network is active. By +# default, it is all ethernet or wireless LAN interfaces. +#interfaces="" + +# This setting controls whether a ping to the default gateway is +# included in the test for network connectivity after all interfaces +# are active. +#ping_default_gateway=no + +# The timeout setting controls how long the net-online service waits +# for the network to be configured. +# The default is 120 seconds. +# if this is set to 0, the wait is infinite. +#timeout=120 diff --git a/conf.d/netmount b/conf.d/netmount index fc19fd4..53717fc 100644 --- a/conf.d/netmount +++ b/conf.d/netmount @@ -25,11 +25,11 @@ #rc_need="net.eth1 net.eth2" # # If you are using a dynamic network management tool like -# networkmanager, dhcpcd in standalone mode, wicd, badvpn-ncd, etc, to +# NetworkManager, dhcpcd in standalone mode, wicd, badvpn-ncd, etc, to # manage the network interfaces with the routes to your netmounts, you # should list that tool. # -#rc_need="networkmanager" +#rc_need="NetworkManager" #rc_need="dhcpcd" #rc_need="wicd" # diff --git a/init.d/bootmisc b/init.d/bootmisc index c8c0cf5..03f8924 100755 --- a/init.d/bootmisc +++ b/init.d/bootmisc @@ -216,6 +216,9 @@ start() case "$RC_SYS" in VSERVER|OPENVZ|LXC|SYSTEMD-NSPAWN) ;; *) + if yesno ${previous_dmesg:-no}; then + mv /var/log/dmesg /var/log/dmesg.old + fi dmesg > /var/log/dmesg chmod 640 /var/log/dmesg ;; diff --git a/init.d/net-online b/init.d/net-online new file mode 100755 index 0000000..3ef1481 --- /dev/null +++ b/init.d/net-online @@ -0,0 +1,69 @@ +#!/sbin/openrc-run +# Copyright (C) 2015 William Hubbs +# Released under the 2-clause BSD license. + +description="Delays until the network is online or a specific timeout" + +depend() +{ + after modules + need sysfs + keyword -jail -lxc -openvz -prefix -systemd-nspawn -uml -vserver +} + +get_interfaces() +{ + local ifname iftype + for ifname in /sys/class/net/*; do + read iftype < ${ifname}/type + [ "$iftype" = "1" ] && printf "%s " ${ifname##*/} + done +} + +get_default_gateway() +{ + local cmd gateway + if command -v ip > /dev/null 2>&1; then + cmd="ip route show" + else + cmd=route + fi + set -- $($cmd | grep default) + [ "$2" != via ] && gateway="$2" || gateway="$3" + printf "%s" $gateway +} + +start () +{ + local carriers configured dev gateway ifcount infinite interfaces + local rc state timeout x + + ebegin "Checking to see if the network is online" + rc=0 + interfaces=${interfaces:-$(get_interfaces)} + timeout=${timeout:-120} + [ $timeout -eq 0 ] && infinite=true || infinite=false + while $infinite || [ $timeout -gt 0 ]; do + carriers=0 + configured=0 + ifcount=0 + for dev in ${interfaces}; do + : $((ifcount += 1)) + read x < /sys/class/net/$dev/carrier + [ $x -eq 1 ] && : $((carriers += 1)) + read x < /sys/class/net/$dev/operstate + [ "$x" = up ] && : $((configured += 1)) + done + [ $configured -eq $ifcount ] && [ $carriers -ge 1 ] && break + sleep 1 + : $((timeout -= 1)) + done + ! $infinite && [ $timeout -eq 0 ] && rc=1 + if [ $rc -eq 0 ] && yesno ${ping_default_gateway:-no}; then + gateway="$(get_default_gateway)" + if [ -n "$gateway" ] && ! ping -c 1 $gateway > /dev/null 2>&1; then + rc=1 + fi + fi + eend $rc "The network is offline" +} diff --git a/init.d/sysfs b/init.d/sysfs index 70eaaa9..24b781e 100755 --- a/init.d/sysfs +++ b/init.d/sysfs @@ -61,16 +61,6 @@ mount_misc() fi fi - # set up kernel support for cgroups - if [ -d /sys/fs/cgroup ] && ! mountinfo -q /sys/fs/cgroup; then - if grep -qs cgroup /proc/filesystems; then - ebegin "Mounting cgroup filesystem" - local opts="${sysfs_opts},mode=755,size=${rc_cgroupsize:-10m}" - mount -n -t tmpfs -o ${opts} cgroup_root /sys/fs/cgroup - eend $? - fi - fi - # set up kernel support for fusectl if [ -d /sys/fs/fuse/connections ] \ && ! mountinfo -q /sys/fs/fuse/connections; then @@ -108,6 +98,16 @@ mount_misc() mount_cgroups() { + # set up kernel support for cgroups + if [ -d /sys/fs/cgroup ] && ! mountinfo -q /sys/fs/cgroup; then + if grep -qs cgroup /proc/filesystems; then + ebegin "Mounting cgroup filesystem" + local opts="${sysfs_opts},mode=755,size=${rc_cgroupsize:-10m}" + mount -n -t tmpfs -o ${opts} cgroup_root /sys/fs/cgroup + eend $? + fi + fi + mountinfo -q /sys/fs/cgroup || return 0 if ! mountinfo -q /sys/fs/cgroup/openrc; then