From: root Date: Thu, 24 Sep 2020 07:40:59 +0000 (+0200) Subject: committing changes in /etc made by "apt-get install smartmontools" X-Git-Url: https://git.hoellein.online/?a=commitdiff_plain;h=2c5920bbbeb6d6b4d5bbf29a25a12cf0eaedd6e5;p=zenbook committing changes in /etc made by "apt-get install smartmontools" Package changes: +smartmontools 7.1-1build1 amd64 --- diff --git a/.etckeeper b/.etckeeper index 627cebf..700ddc3 100755 --- a/.etckeeper +++ b/.etckeeper @@ -69,6 +69,7 @@ mkdir -p './psad/archive' mkdir -p './psad/snort_rules' mkdir -p './request-key.d' mkdir -p './security/namespace.d' +mkdir -p './smartmontools/smartd_warning.d' mkdir -p './ssh/ssh_config.d' mkdir -p './ssh/sshd_config.d' mkdir -p './systemd/network' @@ -1615,6 +1616,7 @@ maybe chmod 0644 'default/rcS' maybe chmod 0644 'default/rkhunter' maybe chmod 0644 'default/rsync' maybe chmod 0644 'default/saned' +maybe chmod 0644 'default/smartmontools' maybe chmod 0644 'default/ssh' maybe chmod 0644 'default/sysstat' maybe chmod 0644 'default/ufw' @@ -2088,6 +2090,7 @@ maybe chmod 0755 'init.d/screen-cleanup' maybe chmod 0755 'init.d/sendsigs' maybe chmod 0755 'init.d/single' maybe chmod 0644 'init.d/skeleton' +maybe chmod 0755 'init.d/smartmontools' maybe chmod 0755 'init.d/speech-dispatcher' maybe chmod 0755 'init.d/spice-vdagent' maybe chmod 0755 'init.d/ssh' @@ -3150,6 +3153,11 @@ maybe chmod 0644 'skel/.bash_logout' maybe chmod 0644 'skel/.bashrc' maybe chmod 0644 'skel/.profile' maybe chmod 0644 'skel/examples.desktop' +maybe chmod 0644 'smartd.conf' +maybe chmod 0755 'smartmontools' +maybe chmod 0755 'smartmontools/run.d' +maybe chmod 0755 'smartmontools/run.d/10mail' +maybe chmod 0755 'smartmontools/smartd_warning.d' maybe chmod 0644 'smi.conf' maybe chmod 0755 'snmp' maybe chmod 0644 'snmp/snmp.conf' diff --git a/default/smartmontools b/default/smartmontools new file mode 100644 index 0000000..6a8a6e2 --- /dev/null +++ b/default/smartmontools @@ -0,0 +1,9 @@ +# Defaults for smartmontools initscript (/etc/init.d/smartmontools) +# This is a POSIX shell fragment + +# List of devices you want to explicitly enable S.M.A.R.T. for +# Not needed (and not recommended) if the device is monitored by smartd +#enable_smart="/dev/hda /dev/hdb" + +# uncomment to pass additional options to smartd on startup +#smartd_opts="--interval=1800" diff --git a/init.d/smartmontools b/init.d/smartmontools new file mode 100755 index 0000000..7584d02 --- /dev/null +++ b/init.d/smartmontools @@ -0,0 +1,123 @@ +#!/bin/sh -e +# +# smartmontools init.d startup script +# +# (C) 2003,04,07 Guido Günther +# +# loosely based on the init script that comes with smartmontools which is +# copyrighted 2002 by Bruce Allen +# +### BEGIN INIT INFO +# Provides: smartmontools +# Required-Start: $syslog $remote_fs +# Required-Stop: $syslog $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: SMART monitoring daemon +### END INIT INFO + +SMARTCTL=/usr/sbin/smartctl +DAEMON=/usr/sbin/smartd +PIDFILE=/var/run/smartd.pid +[ -x $SMARTCTL ] || exit 0 +[ -x $DAEMON ] || exit 0 +. /lib/lsb/init-functions + +RET=0 + +[ -r /etc/default/rcS ] && . /etc/default/rcS +[ -r /etc/default/smartmontools ] && . /etc/default/smartmontools + +smartd_opts="--pidfile $PIDFILE $smartd_opts" + +enable_smart() { + log_action_begin_msg "Enabling S.M.A.R.T." + for device in $enable_smart; do + log_action_cont_msg "$device" + if ! $SMARTCTL --quietmode=errorsonly --smart=on $device; then + log_action_cont_msg "(failed)" + RET=2 + fi + done + log_action_end_msg 0 +} + +running_pid() +{ + # Check if a given process pid's cmdline matches a given name + pid=$1 + name=$2 + [ -z "$pid" ] && return 1 + [ ! -d /proc/$pid ] && return 1 + cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1` + # Is this the expected child? + [ "$cmd" != "$name" ] && return 1 + return 0 +} + +running() +{ +# Check if the process is running looking at /proc +# (works for all users) + # No pidfile, probably no daemon present + [ ! -f "$PIDFILE" ] && return 1 + # Obtain the pid and check it against the binary name + pid=`cat $PIDFILE` + running_pid $pid $DAEMON || return 1 + return 0 +} + +case "$1" in + start) + [ -n "$enable_smart" ] && enable_smart + log_daemon_msg "Starting S.M.A.R.T. daemon" "smartd" + if running; then + log_progress_msg "already running" + log_end_msg 0 + exit 0 + fi + rm -f $PIDFILE + if start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- $smartd_opts; then + log_end_msg 0 + else + log_end_msg 1 + RET=1 + fi + ;; + stop) + log_daemon_msg "Stopping S.M.A.R.T. daemon" "smartd" + start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE + log_end_msg 0 + ;; + reload|force-reload) + log_daemon_msg "Reloading S.M.A.R.T. daemon" "smartd" + if start-stop-daemon --stop --quiet --signal 1 \ + --pidfile $PIDFILE; then + log_end_msg 0 + else + log_end_msg 1 + RET=1 + fi + ;; + restart) + log_daemon_msg "Restarting S.M.A.R.T. daemon" "smartd" + start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $PIDFILE + rm -f $PIDFILE + if start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- $smartd_opts; then + log_end_msg 0 + else + log_end_msg 1 + RET=1 + fi + ;; + status) + status_of_proc $DAEMON smartd && exit 0 || exit $? + ;; + *) + echo "Usage: /etc/init.d/smartmontools {start|stop|restart|reload|force-reload|status}" + exit 1 +esac + +exit $RET diff --git a/rc0.d/K01smartmontools b/rc0.d/K01smartmontools new file mode 120000 index 0000000..c4259b5 --- /dev/null +++ b/rc0.d/K01smartmontools @@ -0,0 +1 @@ +../init.d/smartmontools \ No newline at end of file diff --git a/rc1.d/K01smartmontools b/rc1.d/K01smartmontools new file mode 120000 index 0000000..c4259b5 --- /dev/null +++ b/rc1.d/K01smartmontools @@ -0,0 +1 @@ +../init.d/smartmontools \ No newline at end of file diff --git a/rc2.d/S04smartmontools b/rc2.d/S04smartmontools new file mode 120000 index 0000000..c4259b5 --- /dev/null +++ b/rc2.d/S04smartmontools @@ -0,0 +1 @@ +../init.d/smartmontools \ No newline at end of file diff --git a/rc3.d/S04smartmontools b/rc3.d/S04smartmontools new file mode 120000 index 0000000..c4259b5 --- /dev/null +++ b/rc3.d/S04smartmontools @@ -0,0 +1 @@ +../init.d/smartmontools \ No newline at end of file diff --git a/rc4.d/S04smartmontools b/rc4.d/S04smartmontools new file mode 120000 index 0000000..c4259b5 --- /dev/null +++ b/rc4.d/S04smartmontools @@ -0,0 +1 @@ +../init.d/smartmontools \ No newline at end of file diff --git a/rc5.d/S04smartmontools b/rc5.d/S04smartmontools new file mode 120000 index 0000000..c4259b5 --- /dev/null +++ b/rc5.d/S04smartmontools @@ -0,0 +1 @@ +../init.d/smartmontools \ No newline at end of file diff --git a/rc6.d/K01smartmontools b/rc6.d/K01smartmontools new file mode 120000 index 0000000..c4259b5 --- /dev/null +++ b/rc6.d/K01smartmontools @@ -0,0 +1 @@ +../init.d/smartmontools \ No newline at end of file diff --git a/smartd.conf b/smartd.conf new file mode 100644 index 0000000..7c80e21 --- /dev/null +++ b/smartd.conf @@ -0,0 +1,149 @@ +# Sample configuration file for smartd. See man smartd.conf. + +# Home page is: http://www.smartmontools.org + +# smartd will re-read the configuration file if it receives a HUP +# signal + +# The file gives a list of devices to monitor using smartd, with one +# device per line. Text after a hash (#) is ignored, and you may use +# spaces and tabs for white space. You may use '\' to continue lines. + +# You can usually identify which hard disks are on your system by +# looking in /proc/ide and in /proc/scsi. + +# The word DEVICESCAN will cause any remaining lines in this +# configuration file to be ignored: it tells smartd to scan for all +# ATA and SCSI devices. DEVICESCAN may be followed by any of the +# Directives listed below, which will be applied to all devices that +# are found. Most users should comment out DEVICESCAN and explicitly +# list the devices that they wish to monitor. +DEVICESCAN -d removable -n standby -m root -M exec /usr/share/smartmontools/smartd-runner + +# Alternative setting to ignore temperature and power-on hours reports +# in syslog. +#DEVICESCAN -I 194 -I 231 -I 9 + +# Alternative setting to report more useful raw temperature in syslog. +#DEVICESCAN -R 194 -R 231 -I 9 + +# Alternative setting to report raw temperature changes >= 5 Celsius +# and min/max temperatures. +#DEVICESCAN -I 194 -I 231 -I 9 -W 5 + +# First ATA/SATA or SCSI/SAS disk. Monitor all attributes, enable +# automatic online data collection, automatic Attribute autosave, and +# start a short self-test every day between 2-3am, and a long self test +# Saturdays between 3-4am. +#/dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03) + +# Monitor SMART status, ATA Error Log, Self-test log, and track +# changes in all attributes except for attribute 194 +#/dev/sdb -H -l error -l selftest -t -I 194 + +# Monitor all attributes except normalized Temperature (usually 194), +# but track Temperature changes >= 4 Celsius, report Temperatures +# >= 45 Celsius and changes in Raw value of Reallocated_Sector_Ct (5). +# Send mail on SMART failures or when Temperature is >= 55 Celsius. +#/dev/sdc -a -I 194 -W 4,45,55 -R 5 -m admin@example.com + +# An ATA disk may appear as a SCSI device to the OS. If a SCSI to +# ATA Translation (SAT) layer is between the OS and the device then +# this can be flagged with the '-d sat' option. This situation may +# become common with SATA disks in SAS and FC environments. +# /dev/sda -a -d sat + +# A very silent check. Only report SMART health status if it fails +# But send an email in this case +#/dev/sdc -H -C 0 -U 0 -m admin@example.com + +# First two SCSI disks. This will monitor everything that smartd can +# monitor. Start extended self-tests Wednesdays between 6-7pm and +# Sundays between 1-2 am +#/dev/sda -d scsi -s L/../../3/18 +#/dev/sdb -d scsi -s L/../../7/01 + +# Monitor 4 ATA disks connected to a 3ware 6/7/8000 controller which uses +# the 3w-xxxx driver. Start long self-tests Sundays between 1-2, 2-3, 3-4, +# and 4-5 am. +# NOTE: starting with the Linux 2.6 kernel series, the /dev/sdX interface +# is DEPRECATED. Use the /dev/tweN character device interface instead. +# For example /dev/twe0, /dev/twe1, and so on. +#/dev/sdc -d 3ware,0 -a -s L/../../7/01 +#/dev/sdc -d 3ware,1 -a -s L/../../7/02 +#/dev/sdc -d 3ware,2 -a -s L/../../7/03 +#/dev/sdc -d 3ware,3 -a -s L/../../7/04 + +# Monitor 2 ATA disks connected to a 3ware 9000 controller which +# uses the 3w-9xxx driver (Linux, FreeBSD). Start long self-tests Tuesdays +# between 1-2 and 3-4 am. +#/dev/twa0 -d 3ware,0 -a -s L/../../2/01 +#/dev/twa0 -d 3ware,1 -a -s L/../../2/03 + +# Monitor 2 SATA (not SAS) disks connected to a 3ware 9000 controller which +# uses the 3w-sas driver (Linux). Start long self-tests Tuesdays +# between 1-2 and 3-4 am. +# On FreeBSD /dev/tws0 should be used instead +#/dev/twl0 -d 3ware,0 -a -s L/../../2/01 +#/dev/twl0 -d 3ware,1 -a -s L/../../2/03 + +# Same as above for Windows. Option '-d 3ware,N' is not necessary, +# disk (port) number is specified in device name. +# NOTE: On Windows, DEVICESCAN works also for 3ware controllers. +#/dev/hdc,0 -a -s L/../../2/01 +#/dev/hdc,1 -a -s L/../../2/03 +# +# Monitor 2 disks connected to the first HP SmartArray controller which +# uses the cciss driver. Start long tests on Sunday nights and short +# self-tests every night and send errors to root +#/dev/sda -d cciss,0 -a -s (L/../../7/02|S/../.././02) -m root +#/dev/sda -d cciss,1 -a -s (L/../../7/03|S/../.././03) -m root + +# Monitor 3 ATA disks directly connected to a HighPoint RocketRAID. Start long +# self-tests Sundays between 1-2, 2-3, and 3-4 am. +#/dev/sdd -d hpt,1/1 -a -s L/../../7/01 +#/dev/sdd -d hpt,1/2 -a -s L/../../7/02 +#/dev/sdd -d hpt,1/3 -a -s L/../../7/03 + +# Monitor 2 ATA disks connected to the same PMPort which connected to the +# HighPoint RocketRAID. Start long self-tests Tuesdays between 1-2 and 3-4 am +#/dev/sdd -d hpt,1/4/1 -a -s L/../../2/01 +#/dev/sdd -d hpt,1/4/2 -a -s L/../../2/03 + +# HERE IS A LIST OF DIRECTIVES FOR THIS CONFIGURATION FILE. +# PLEASE SEE THE smartd.conf MAN PAGE FOR DETAILS +# +# -d TYPE Set the device type: ata, scsi, marvell, removable, 3ware,N, hpt,L/M/N +# -T TYPE set the tolerance to one of: normal, permissive +# -o VAL Enable/disable automatic offline tests (on/off) +# -S VAL Enable/disable attribute autosave (on/off) +# -n MODE No check. MODE is one of: never, sleep, standby, idle +# -H Monitor SMART Health Status, report if failed +# -l TYPE Monitor SMART log. Type is one of: error, selftest +# -f Monitor for failure of any 'Usage' Attributes +# -m ADD Send warning email to ADD for -H, -l error, -l selftest, and -f +# -M TYPE Modify email warning behavior (see man page) +# -s REGE Start self-test when type/date matches regular expression (see man page) +# -p Report changes in 'Prefailure' Normalized Attributes +# -u Report changes in 'Usage' Normalized Attributes +# -t Equivalent to -p and -u Directives +# -r ID Also report Raw values of Attribute ID with -p, -u or -t +# -R ID Track changes in Attribute ID Raw value with -p, -u or -t +# -i ID Ignore Attribute ID for -f Directive +# -I ID Ignore Attribute ID for -p, -u or -t Directive +# -C ID Report if Current Pending Sector count non-zero +# -U ID Report if Offline Uncorrectable count non-zero +# -W D,I,C Monitor Temperature D)ifference, I)nformal limit, C)ritical limit +# -v N,ST Modifies labeling of Attribute N (see man page) +# -a Default: equivalent to -H -f -t -l error -l selftest -C 197 -U 198 +# -F TYPE Use firmware bug workaround. Type is one of: none, samsung +# -P TYPE Drive-specific presets: use, ignore, show, showall +# # Comment: text after a hash sign is ignored +# \ Line continuation character +# Attribute ID is a decimal integer 1 <= ID <= 255 +# except for -C and -U, where ID = 0 turns them off. +# All but -d, -m and -M Directives are only implemented for ATA devices +# +# If the test string DEVICESCAN is the first uncommented text +# then smartd will scan for devices. +# DEVICESCAN may be followed by any desired Directives. diff --git a/smartmontools/run.d/10mail b/smartmontools/run.d/10mail new file mode 100755 index 0000000..f921a33 --- /dev/null +++ b/smartmontools/run.d/10mail @@ -0,0 +1,13 @@ +#!/bin/bash -e + +# Send mail if /usr/bin/mail exists +if ! [ -x /usr/bin/mail ]; then + echo "Your system does not have /usr/bin/mail. Install the mailx or mailutils package" + exit 1 +fi + +input=$1 +shift + +/usr/bin/mail "$@" < $input + diff --git a/systemd/system/multi-user.target.wants/smartmontools.service b/systemd/system/multi-user.target.wants/smartmontools.service new file mode 120000 index 0000000..a7af774 --- /dev/null +++ b/systemd/system/multi-user.target.wants/smartmontools.service @@ -0,0 +1 @@ +/lib/systemd/system/smartmontools.service \ No newline at end of file diff --git a/systemd/system/smartd.service b/systemd/system/smartd.service new file mode 120000 index 0000000..a7af774 --- /dev/null +++ b/systemd/system/smartd.service @@ -0,0 +1 @@ +/lib/systemd/system/smartmontools.service \ No newline at end of file