summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'bin/rc-status')
-rwxr-xr-xbin/rc-status8
1 files changed, 8 insertions, 0 deletions
diff --git a/bin/rc-status b/bin/rc-status
index 7aba912..299383c 100755
--- a/bin/rc-status
+++ b/bin/rc-status
@@ -204,6 +204,7 @@ else
boot_crit="checkroot hostname modules checkfs localmount clock"
fi
+broken=""
for level in ${runlevelidxs} ; do
echo "Runlevel: ${HILITE}${level}${NORMAL}"
for service in ${runlevels[${arridx}]} ; do
@@ -212,6 +213,7 @@ for level in ${runlevelidxs} ; do
]] && [[ ${level} != "${BOOTLEVEL}" \
|| " ${boot_crit} " != *" ${service} "* ]]; then
print_msg "${service}" "${BAD}" 'broken '
+ broken="${broken} ${service}"
elif [[ -n ${inactive} && $(in_list "${inactive}" "${service}") -eq 1 ]] ; then
print_msg "${service}" "${WARN}" 'inactive'
elif [[ $(in_list "${started}" "${service}") -eq 1 ]] ; then
@@ -227,3 +229,9 @@ for level in ${runlevelidxs} ; do
let "arridx += 1"
[ -n "${UNUSED}" ] && exit 0
done
+
+if [[ -n ${broken} ]]; then
+ eerror "You have some broken symbolic links as reported by the broken"
+ eerror "status above. This can be fixed by removing the broken service"
+ eerror "from its runlevel and re-adding it back using rc-update."
+fi