From: "Jason St. John" <jstjohn@purdue.edu> This commit improves/corrects the spelling and grammar in script comments, messages that get printed to the terminal (stat_busy, etc.), and in two man pages. Some of the notable changes are listed below: -- 'UDev' -> 'udev' -- 'filesystems' -> 'file systems' -- 'BTRFS' -> 'Btrfs' -- 'api' -> 'API' -- 'timezone' -> 'time zone' -- 'http://' -> 'https://' (in the archlinux.org URL) -- 'bash' -> 'Bash' (although obviously not in the shebang) -- 'startup' -> 'start-up' -- changed messages printed to the terminal to use sentence case exclusively --- PKGBUILD | 3 +-- bash-completion | 2 +- functions | 46 +++++++++++++++++++++++----------------------- netfs | 6 +++--- network | 8 ++++---- rc.conf.5.txt | 44 ++++++++++++++++++++++---------------------- rc.d.8.txt | 6 +++--- rc.local | 2 +- rc.shutdown | 26 +++++++++++++------------- rc.single | 4 ++-- rc.sysinit | 50 +++++++++++++++++++++++++------------------------- 11 files changed, 98 insertions(+), 99 deletions(-) diff --git a/PKGBUILD b/PKGBUILD index 0c63e59..7a45797 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,7 +3,7 @@ pkgver=$(date +%Y%m%d) pkgrel=$(git log -1 --pretty=format:%h) pkgdesc="System initialization/bootup scripts" arch=('any') -url="http://www.archlinux.org" +url="https://www.archlinux.org" license=('GPL') groups=('base') conflicts=('initscripts') @@ -16,7 +16,6 @@ optdepends=('net-tools: legacy networking support' 'bridge-utils: Network bridging support' 'dhcpcd: DHCP network configuration' 'wireless_tools: Wireless networking') -makedepends=(asciidoc) source=() sha256sums=() diff --git a/bash-completion b/bash-completion index 4b4593b..333e339 100644 --- a/bash-completion +++ b/bash-completion @@ -1,4 +1,4 @@ -# rc.d bash completion by Seblu <seblu@seblu.net> +# rc.d Bash completion by Seblu <seblu@seblu.net> _rc_d() { diff --git a/functions b/functions index 4a8ba7b..daf8d83 100644 --- a/functions +++ b/functions @@ -2,7 +2,7 @@ # initscripts functions # -# sanitize PATH (will be overridden later when /etc/profile is sourced, but is useful for UDev) +# sanitize PATH (will be overridden later when /etc/profile is sourced but is useful for udev) export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" localevars=(LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY @@ -13,7 +13,7 @@ vconsolevars=(KEYMAP KEYMAP_TOGGLE FONT FONT_MAP FONT_UNIMAP) if [[ $1 == "start" ]]; then if [[ $STARTING ]]; then - echo "A daemon is starting another daemon, this is unlikely to work as intended." + echo "A daemon is starting another daemon; this is unlikely to work as intended." else export STARTING=1 fi @@ -334,13 +334,13 @@ kill_all_wait() { } kill_all() { - stat_busy "Sending SIGTERM To Processes" + stat_busy "Sending SIGTERM to processes" kill_all_wait 15 40 if (( $? == 0 )); then stat_done else stat_fail - status "Sending SIGKILL To Processes" kill_all_wait 9 60 + status "Sending SIGKILL to processes" kill_all_wait 9 60 fi } @@ -358,23 +358,23 @@ load_modules() { return $rc } -# Start/trigger UDev, load MODULES and settle UDev +# Start/trigger udev, load MODULES and settle udev udevd_modprobe() { # $1 = where we are being called from. # This is used to determine which hooks to run. - status "Starting UDev Daemon" /usr/lib/systemd/systemd-udevd --daemon + status "Starting udev daemon" /usr/lib/systemd/systemd-udevd --daemon run_hook "$1_udevlaunched" - stat_busy "Triggering UDev uevents" + stat_busy "Triggering udev uevents" udevadm trigger --action=add --type=subsystems udevadm trigger --action=add --type=devices stat_done # Load modules from the MODULES array and modules-load.d - status -v "Loading User-specified Modules" load_modules + status -v "Loading user-specified modules" load_modules - status "Waiting for UDev uevents to be processed" \ + status "Waiting for udev uevents to be processed" \ udevadm settle run_hook "$1_udevsettled" @@ -484,13 +484,13 @@ read_crypttab() { return $failed } -set_timezone() { +set_time_zone() { local tz=$1 zonefile=/usr/share/zoneinfo/$1 [[ $tz ]] || return 1 if [[ ! -e $zonefile ]]; then - printf "error: \`%s' is not a valid timezone\n" "$tz" + printf "error: \`%s' is not a valid time zone\n" "$tz" return 1 fi @@ -501,11 +501,11 @@ set_timezone() { fi } -# Filesystem functions +# File system functions # These can be overridden/reused for customizations like shutdown/loop-fsck. NETFS="nfs,nfs4,smbfs,cifs,codafs,ncpfs,shfs,fuse,fuseblk,glusterfs,davfs,fuse.glusterfs" -# Check local filesystems +# Check local file systems fsck_all() { if [[ -f /forcefsck ]] || in_array forcefsck $(< /proc/cmdline); then FORCEFSCK="-f" @@ -534,12 +534,12 @@ fsck_reboot() { sleep 15 else echo - echo "***************** FILESYSTEM CHECK FAILED ****************" + echo "**************** FILE SYSTEM CHECK FAILED ****************" echo "* *" echo "* Please repair manually and reboot. Note that the root *" echo "* file system is currently mounted read-only. To remount *" - echo "* it read-write type: mount -o remount,rw / *" - echo "* When you exit the maintenance shell the system will *" + echo "* it read-write, type: mount -o remount,rw / *" + echo "* When you exit the maintenance shell, the system will *" echo "* reboot automatically. *" echo "* *" echo "************************************************************" @@ -562,12 +562,12 @@ umount_all() { findmnt -mrunRo TARGET,FSTYPE,OPTIONS / | { while read -r target fstype options; do - # match only targetted fstypes + # match only targeted fstypes if [[ $1 && $1 != "$fstype" ]]; then continue fi - # don't unmount API filesystems + # do not unmount API file systems if [[ $target = /@(proc|sys|run|dev|dev/pts) ]]; then continue fi @@ -589,7 +589,7 @@ umount_all() { } remove_leftover() { - status -v 'Removing Leftover Files' systemd-tmpfiles --create --remove + status -v 'Removing leftover files' systemd-tmpfiles --create --remove } bootlogd_stop() { @@ -626,14 +626,14 @@ bootlogd_stop() { # single_udevlaunched: after udev has been launched in rc.single # sysinit_udevsettled: after uevents have settled in rc.sysinit # single_udevsettled: after uevents have settled in rc.single -# sysinit_premount: before local filesystems are mounted, but after root is mounted read-write in rc.sysinit -# sysinit_postmount: after local filesystems are mounted +# sysinit_premount: before local file systems are mounted, but after root is mounted read-write in rc.sysinit +# sysinit_postmount: after local file systems are mounted # shutdown_prekillall: before all processes are being killed in rc.shutdown # single_prekillall: before all processes are being killed in rc.single # shutdown_postkillall: after all processes have been killed in rc.shutdown # single_postkillall: after all processes have been killed in rc.single -# shutdown_preumount: after last filesystem write, but before filesystems are unmounted -# shutdown_postumount: after filesystems are unmounted +# shutdown_preumount: after last file system write, but before file systems are unmounted +# shutdown_postumount: after file systems are unmounted # shutdown_poweroff: directly before powering off in rc.shutdown # # Declare add_hook and run_hook as read-only to prevent overwriting them. diff --git a/netfs b/netfs index bd459ef..a3b9ab9 100755 --- a/netfs +++ b/netfs @@ -1,12 +1,12 @@ #!/bin/bash -# sourcing our current rc.conf requires this to be a bash script +# sourcing our current rc.conf requires this to be a Bash script . /etc/rc.conf . /etc/rc.d/functions case "$1" in start) - stat_busy "Mounting Network Filesystems" + stat_busy "Mounting network file systems" mount -a -t "$NETFS" rc=$? mount -a -O _netdev @@ -15,7 +15,7 @@ case "$1" in stat_done ;; stop) - stat_busy "Unmounting Network Filesystems" + stat_busy "Unmounting network file systems" umount -a -f -O _netdev rc=$? umount -a -f -t "$NETFS" diff --git a/network b/network index 322082c..5fe19e2 100755 --- a/network +++ b/network @@ -235,10 +235,10 @@ case "$1" in # deprecation check need_legacy && deprecated if ! ck_daemon network; then - echo "Network is already running. Try 'network restart'" + echo "Network is already running. Try 'network restart'" exit fi - stat_busy "Starting Network" + stat_busy "Starting network" error=0 if need_legacy; then # bring up bridge interfaces @@ -271,11 +271,11 @@ case "$1" in # deprecation check need_legacy && deprecated if [[ $NETWORK_PERSIST =~ yes|YES && $RUNLEVEL == [06] ]]; then - status "Skipping Network Shutdown" true + status "Skipping network shutdown" true exit 0 fi - stat_busy "Stopping Network" + stat_busy "Stopping network" rm_daemon network error=0 if need_legacy; then diff --git a/rc.conf.5.txt b/rc.conf.5.txt index 726ba23..bfde2e3 100644 --- a/rc.conf.5.txt +++ b/rc.conf.5.txt @@ -15,22 +15,22 @@ SYNOPSIS DESCRIPTION ----------- The /etc/rc.conf file is the system configuration file for Arch-specific -settings. The format is bash. It contains several commonly-edited settings such -as timezone; keymap; kernel modules; daemons to load at start-up; etc. It is +settings. The format is Bash. It contains several commonly edited settings such +as time zone, keymap, kernel modules, daemons to load at start-up, etc. It is split up in a few sections to categorize configuration settings: localization, -hardware, networking and daemons. +hardware, networking, and daemons. LOCALIZATION[[L]] ----------------- *TIMEZONE=* -Specifies the timezone. The setting takes effect on boot by ensuring that /etc/localtime is a symlink -to the correct zoneinfo file. Possible timezones are the relative path to a zoneinfo file starting -from the directory /usr/share/zoneinfo. For example, a German timezone would be Europe/Berlin, +Specifies the time zone. The setting takes effect on boot by ensuring that /etc/localtime is a symlink +to the correct zoneinfo file. Possible time zones are the relative path to a zoneinfo file starting +from the directory /usr/share/zoneinfo. For example, a German time zone would be Europe/Berlin, which refers to the file /usr/share/zoneinfo/Europe/Berlin. -Note: if empty, /etc/localtime is not changed. This is useful if /etc/localtime is maintained manually -or by a third-party tool; or if there is no reason to change it from what was set during install. +Note: If empty, /etc/localtime is not changed. This is useful if /etc/localtime is maintained manually +or by a third-party tool, or if there is no reason to change it from what was set during install. Default: empty @@ -43,9 +43,9 @@ Options: - empty: fall back to the value in /var/lib/hwclock/adjtime, which defaults to UTC. This is recommended as other users of hwclock might change the adjtime file and hence cause rc.conf and adjtime to be out of sync. - "UTC": most robust, allows operating systems to abstract local time and ease DST. - - "localtime": apply timezone (and DST) in hardwareclock: discouraged. - Choose this if you dualboot with an OS which cannot handle UTC BIOS times correctly, like Windows (note - that recent Windows'es can use UTC, which is preferable). + - "localtime": apply time zone (and DST) in hardwareclock: discouraged. + Choose this if you dual-boot with an OS which cannot handle UTC BIOS times correctly, like Windows (note + that recent Windows releases can use UTC, which is preferable). - any other value will result in the hardware clock being left untouched (useful for virtualization) Default: empty @@ -87,14 +87,14 @@ Default: empty *DAEMON_LOCALE=* - - If set to 'yes', use $LOCALE as the locale during daemon startup and during the boot process. + - If set to 'yes', use $LOCALE as the locale during daemon start-up and during the boot process. - If set to 'no', the C locale is used. Default: "yes" *USECOLOR=* -Use ANSI color sequences in startup messages +Use ANSI color sequences in start-up messages Default: "yes" @@ -109,19 +109,19 @@ Default: (). *USEDMRAID=* -Scan for FakeRAID (dmraid) Volumes at startup. +Scan for FakeRAID (dmraid) volumes at start-up. Default: "no" *USEBTRFS=* -Scan for BTRFS volumes at startup. +Scan for Btrfs volumes at start-up. Default: "no" *USELVM=* -Scan for LVM volume groups at startup, required if you use LVM. +Scan for LVM volume groups at start-up. This is required if you use LVM. Default: "no" @@ -138,7 +138,7 @@ The following settings help you setting up a wired network. *interface=* -Name of device. Use 'ip addr' or 'ls /sys/class/net/' to see all available interfaces. +Name of device. Use `ip addr` or `ls /sys/class/net/` to see all available interfaces. Default: empty @@ -191,7 +191,7 @@ Required for manual configuration, ignored for DHCP. netmask= gateway= -The following options might be needed for advanced use-cases. +The following options might be needed for advanced use cases. *NETWORK_PERSIST=* @@ -201,7 +201,7 @@ Default: "no" *NETWORKS=* -This functionality is deprecated, please refer to the 'netcfg' documentation. +This functionality is deprecated; please refer to 'man 8 netcfg'. DAEMONS[[D]] ------------ @@ -212,10 +212,10 @@ Daemons to start at boot-up (in this order) - prefix a daemon with a @ to start it up in the background If you are sure nothing else touches your hardware clock (such as ntpd or -a dual-boot), you might want to enable 'hwclock'. Note that this will only +dual-booting), you might want to enable 'hwclock'. Note that this will only make a difference if the hwclock program has been calibrated correctly. -If you use a network filesystem you should enable 'netfs'. +If you use a network file system, you should enable 'netfs'. Default: (syslog-ng network crond) @@ -226,4 +226,4 @@ hostname(5), vconsole.conf(5), locale.conf(5), hwclock(8) AUTHORS ------- -Written by Dieter Plaetinck, Tom Gundersen and others. +Written by Dieter Plaetinck, Tom Gundersen, and others. diff --git a/rc.d.8.txt b/rc.d.8.txt index d0bbcce..c648e29 100644 --- a/rc.d.8.txt +++ b/rc.d.8.txt @@ -25,7 +25,7 @@ The actions supported by a rc scripts may be different from script to script, bu commonly supported actions include: *start*:: - Starts the script if it's not already running. + Starts the script if it is not already running. *stop*:: Stops a running script. @@ -73,13 +73,13 @@ Examples[[E]] Starts *sshd* and *gpm* scripts. *rc.d start --auto --stopped*:: - Starts all stopped scripts which are started at startup. + Starts all stopped scripts which are started at start-up. *rc.d stop crond*:: Stops the *crond* script. *rc.d stop --noauto*:: - Stop all script which are not runned at startup + Stops all scripts which are not started at start-up *rc.d restart crond*:: Restarts the *crond* script. diff --git a/rc.local b/rc.local index 4950cba..21254f1 100755 --- a/rc.local +++ b/rc.local @@ -1,6 +1,6 @@ #!/bin/bash # -# /etc/rc.local: Local multi-user startup script. +# /etc/rc.local: Local multi-user start-up script. # diff --git a/rc.shutdown b/rc.shutdown index c708b92..36ce5bd 100755 --- a/rc.shutdown +++ b/rc.shutdown @@ -10,7 +10,7 @@ stty onlcr echo " " -printhl "Initiating Shutdown..." +printhl "Initiating shutdown..." echo " " run_hook shutdown_start @@ -19,19 +19,19 @@ run_hook shutdown_start stop_all_daemons -status 'Saving Random Seed' /usr/lib/systemd/systemd-random-seed save +status 'Saving random seed' /usr/lib/systemd/systemd-random-seed save -[[ $TIMEZONE ]] && status "Configuring Time Zone" set_timezone "$TIMEZONE" +[[ $TIMEZONE ]] && status "Configuring time zone" set_time_zone "$TIMEZONE" # Write to wtmp file before unmounting halt -w -# stop monitoring of lvm2 groups before unmounting filesystems +# stop monitoring of LVM2 groups before unmounting file systems [[ $USELVM = [Yy][Ee][Ss] && -x $(type -P lvm) ]] && status "Deactivating monitoring of LVM2 groups" vgchange --monitor n # any future uevents can and should be ignored -status "Shutting down UDev" udevadm control --exit +status "Shutting down udev" udevadm control --exit run_hook shutdown_prekillall @@ -41,15 +41,15 @@ run_hook shutdown_postkillall run_hook shutdown_preumount -# unmount any non-api partitions that are backed by swap, we don't want to +# Unmount any non-API partitions that are backed by swap; we don't want to # move their contents into memory (waste of time and might caues OOM). -status "Unmounting Swap-backed Filesystems" umount_all "tmpfs" +status "Unmounting swap-backed file systems" umount_all "tmpfs" # almost everything is dead now, so the swap should hopefully be relatively # empty, and quick to switch off -status "Deactivating Swap" swapoff -a +status "Deactivating swap" swapoff -a -status "Unmounting Non-API Filesystems" umount_all +status "Unmounting non-API file systems" umount_all run_hook shutdown_postumount @@ -90,14 +90,14 @@ if [[ -x /run/initramfs/shutdown ]]; then fi fi - # make /run/initrafs a mount + # make /run/initramfs a mount mount --bind /run/initramfs /run/initramfs # in case someone has shared our mountpoints, unshare them mount --make-private /run/initramfs mount --make-private / - # bind all api mounts + # bind all API mounts mkdir -p /run/initramfs/{sys,proc,dev,run,oldroot} mount --bind /sys /run/initramfs/sys mount --bind /proc /run/initramfs/proc @@ -108,7 +108,7 @@ if [[ -x /run/initramfs/shutdown ]]; then cd /run/initramfs pivot_root . oldroot - #reexec init + # reexec init /oldroot/sbin/init u # run /shutdown in the new root @@ -116,7 +116,7 @@ if [[ -x /run/initramfs/shutdown ]]; then else - status "Remounting Root Filesystem Read-only" \ + status "Remounting root file system read-only" \ mount -o remount,ro / # Power off or reboot diff --git a/rc.single b/rc.single index aec026c..32bbcd8 100755 --- a/rc.single +++ b/rc.single @@ -1,6 +1,6 @@ #!/bin/bash # -# /etc/rc.single: Single-user startup script. +# /etc/rc.single: Single-user start-up script. # . /etc/rc.conf @@ -18,7 +18,7 @@ if [[ $PREVLEVEL != N ]]; then run_hook single_postkillall - # Start/trigger UDev, load MODULES and settle UDev + # Start/trigger udev, load MODULES and settle udev udevd_modprobe single # Removing leftover files diff --git a/rc.sysinit b/rc.sysinit index 71eea91..8a4605c 100755 --- a/rc.sysinit +++ b/rc.sysinit @@ -8,10 +8,10 @@ echo " " printhl "Arch Linux\n" -printhl "${C_H2}http://www.archlinux.org" +printhl "${C_H2}https://www.archlinux.org" printsep -# mount the api filesystems +# mount the API file systems # /proc, /sys, /run, /dev, /run/lock, /dev/pts, /dev/shm mountpoint -q /proc || mount -t proc proc /proc -o nosuid,noexec,nodev mountpoint -q /sys || mount -t sysfs sys /sys -o nosuid,noexec,nodev @@ -30,7 +30,7 @@ if [[ ! -e /run/initramfs/root-fsck ]]; then # remount root ro to allow for fsck later on, we remount now to # make sure nothing can open files rw on root which would block a remount findmnt / --options ro &>/dev/null || - status "Mounting Root Read-Only" mount -o remount,ro / + status "Mounting root read-only" mount -o remount,ro / fi run_hook sysinit_start @@ -47,14 +47,14 @@ case $HARDWARECLOCK in esac if [[ $HWCLOCK_PARAMS ]]; then - stat_busy "Adjusting system time and setting kernel timezone" + stat_busy "Adjusting system time and setting kernel time zone" - # Adjust the system time for timezone offset if rtc is not in UTC + # Adjust the system time for time zone offset if rtc is not in UTC # 1. Make creation time on device nodes sane (FS#8665) - # 2. Filesystem checks can depend on system time + # 2. File system checks can depend on system time # 3. This also sets the kernel time zone, used by e.g. vfat - # If TIMEZONE is not set in rc.conf, the timezone stored in /etc/localtime - # is used. If HARDWARECLOCK is not set in rc.conf, the value in + # If TIMEZONE is not set in /etc/rc.conf, the time zone stored in /etc/localtime + # is used. If HARDWARECLOCK is not set in /etc/rc.conf, the value in # /var/lib/hwclock/adjfile is used (in this case /var can not be a separate # partition). [[ $TIMEZONE ]] && export TZ=$TIMEZONE @@ -62,7 +62,7 @@ if [[ $HWCLOCK_PARAMS ]]; then unset TZ fi -# Start/trigger UDev, load MODULES and settle UDev +# Start/trigger udev, load MODULES, and settle udev udevd_modprobe sysinit if [[ -s /etc/locale.conf ]]; then @@ -70,9 +70,9 @@ if [[ -s /etc/locale.conf ]]; then [[ $LANG ]] && LOCALE=$LANG fi -status 'Configuring Virtual Consoles' /usr/lib/systemd/systemd-vconsole-setup +status 'Configuring virtual consoles' /usr/lib/systemd/systemd-vconsole-setup -# bring up the loopback interface +# Bring up the loopback interface [[ -d /sys/class/net/lo ]] && status "Bringing up loopback interface" ip link set up dev lo @@ -80,11 +80,11 @@ status 'Configuring Virtual Consoles' /usr/lib/systemd/systemd-vconsole-setup [[ $USEDMRAID = [Yy][Ee][Ss] && -x $(type -P dmraid) ]] && status "Activating FakeRAID arrays" dmraid -i -ay -# BTRFS devices detection +# Btrfs devices detection [[ $USEBTRFS = [Yy][Ee][Ss] && -x $(type -P btrfs) ]] && - status "Activating BTRFS volumes" btrfs device scan + status "Activating Btrfs volumes" btrfs device scan -# Activate LVM2 groups if any +# Activate LVM2 groups, if any activate_vgs # Set up non-root encrypted partition mappings @@ -96,10 +96,10 @@ if [[ -f /etc/crypttab ]] && type -p cryptsetup >/dev/null; then (( crypto_unlocked )) && activate_vgs fi -# Check filesystems +# Check file systems run_hook sysinit_prefsck if [[ -x $(type -P fsck) ]]; then - stat_busy "Checking Filesystems" + stat_busy "Checking file systems" fsck_all >|"${FSCK_OUT:-/dev/stdout}" 2>|"${FSCK_ERR:-/dev/stdout}" declare -r fsckret=$? (( fsckret <= 1 )) && stat_done || stat_fail @@ -111,25 +111,25 @@ run_hook sysinit_postfsck # Single-user login and/or automatic reboot if needed fsck_reboot $fsckret -status "Remounting Root and API filesystems" \ +status "Remounting root and API file systems" \ /usr/lib/systemd/systemd-remount-fs -# now mount all the local filesystems +# now mount all the local file systems run_hook sysinit_premount -status "Mounting Local Filesystems" \ +status "Mounting local file systems" \ mount_all run_hook sysinit_postmount -# enable monitoring of lvm2 groups, now that the filesystems are mounted rw +# Enable monitoring of LVM2 groups, now that the file systems are mounted rw [[ $USELVM = [Yy][Ee][Ss] && -x $(type -P lvm) && -d /sys/block ]] && status "Activating monitoring of LVM2 groups" \ vgchange --monitor y >/dev/null -status "Activating Swap" swapon -a +status "Activating swap" swapon -a -[[ $TIMEZONE ]] && status "Configuring Time Zone" set_timezone "$TIMEZONE" +[[ $TIMEZONE ]] && status "Configuring time zone" set_time_zone "$TIMEZONE" -status 'Initializing Random Seed' /usr/lib/systemd/systemd-random-seed load +status 'Initializing random seed' /usr/lib/systemd/systemd-random-seed load # Remove leftover files remove_leftover @@ -138,11 +138,11 @@ if [[ -s /etc/hostname ]]; then HOSTNAME=$(< /etc/hostname) fi if [[ $HOSTNAME ]]; then - stat_busy "Setting Hostname: $HOSTNAME" + stat_busy "Setting hostname: $HOSTNAME" echo "$HOSTNAME" >| /proc/sys/kernel/hostname && stat_done || stat_fail fi -stat_busy "Saving dmesg Log" +stat_busy "Saving dmesg log" if [[ -e /proc/sys/kernel/dmesg_restrict ]] && (( $(< /proc/sys/kernel/dmesg_restrict) == 1 )); then install -Tm 0600 <( dmesg ) /var/log/dmesg.log -- 1.7.11