tazpanel annotate boot.cgi @ rev 137

boot.cgi: anchors in logs
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Apr 16 15:00:24 2011 +0200 (2011-04-16)
parents 2b8fdf8a45aa
children a758062d41a6
rev   line source
pankso@50 1 #!/bin/sh
pankso@50 2 #
paul@82 3 # Boot CGI script - All what happens before login (grub, rcS, slim)
pankso@50 4 #
pankso@112 5 # Copyright (C) 2011 SliTaz GNU/Linux - BSD License
pankso@50 6 #
pankso@50 7
pankso@50 8 # Common functions from libtazpanel and source main boot config file.
pankso@50 9 . lib/libtazpanel
pankso@50 10 . /etc/rcS.conf
pascal@81 11 header
pankso@50 12 get_config
pankso@50 13
pankso@109 14 TITLE="- Boot"
pankso@50 15
pankso@50 16 #
pankso@50 17 # Commands
pankso@50 18 #
pankso@50 19
pascal@81 20 case " $(GET) " in
pascal@130 21 *\ log\ *)
pascal@130 22 xhtml_header
pascal@130 23
pascal@130 24 cat << EOT
pascal@130 25 <div id="wrapper">
pascal@130 26 <h2>`gettext "Boot log files"`</h2>
pascal@130 27 </div>
pascal@137 28 <div>
pascal@137 29 <a class="button" href="#kernel">
pascal@137 30 <img src="$IMAGES/edit.png" />`gettext "kernel messages"`</a>
pascal@137 31 <a class="button" href="#boot">
pascal@137 32 <img src="$IMAGES/edit.png" />`gettext "boot scripts"`</a>
pascal@137 33 <a class="button" href="#slim">
pascal@137 34 <img src="$IMAGES/edit.png" />`gettext "X server"`</a>
pascal@137 35 </div>
pascal@137 36 <a name="kernel"></a>
pascal@130 37 <h3>`gettext "kernel messages"`</h3>
pascal@130 38 <pre>
pascal@130 39 $(cat /var/log/dmesg.log)
pascal@130 40 </pre>
pascal@137 41 <a name="boot"></a>
pascal@130 42 <h3>`gettext "boot scripts"`</h3>
pascal@130 43 <pre>
pascal@130 44 $(sed 's/\[^Gm]*.//g' < /var/log/boot.log)
pascal@130 45 </pre>
pascal@137 46 <a name="slim"></a>
pascal@137 47 <h3>`gettext "X server"`</h3>
pascal@137 48 <pre>
pascal@137 49 $(cat /var/log/slim.log)
pascal@137 50 </pre>
pascal@130 51 EOT
pascal@130 52 ;;
pascal@81 53 *\ daemons\ *)
pankso@51 54 #
pankso@51 55 # Everything until user login
pankso@51 56 #
paul@52 57 # Start and stop a daemon. I think we dont need restart since 2
paul@52 58 # clicks and you are done
pascal@81 59 daemon=$(GET daemons)
pascal@81 60 case "$daemon" in
pascal@81 61 start=*)
pankso@51 62 sleep 1
pascal@81 63 /etc/init.d/${daemon#start=} start | log ;;
pascal@81 64 stop=*)
pascal@81 65 /etc/init.d/${daemon#stop=} stop | log ;;
pankso@51 66 esac
pankso@51 67 . /etc/rcS.conf
pankso@51 68 xhtml_header
pankso@67 69
pankso@51 70 cat << EOT
pankso@51 71 <div id="wrapper">
paul@52 72 <h2>`gettext "Manage daemons"`</h2>
pankso@51 73 <p>
paul@52 74 `gettext "Check, start and stop daemons on SliTaz"`
pankso@51 75 </p>
pankso@51 76 </div>
pankso@51 77 EOT
pankso@51 78 # Demon list
pankso@51 79 table_start
pankso@51 80 cat << EOT
pankso@51 81 <thead>
pankso@51 82 <tr>
pankso@51 83 <td>`gettext "Name"`</td>
pankso@51 84 <td>`gettext "Description"`</td>
pankso@51 85 <td>`gettext "Status"`</td>
pankso@51 86 <td>`gettext "Action"`</td>
pankso@51 87 <td>`gettext "PID"`</td>
pankso@51 88 </tr>
pankso@51 89 </thead>
pankso@51 90 EOT
pankso@51 91 cd /etc/init.d
pankso@51 92 list="`ls | sed -e /.sh/d -e /rc./d -e /RE/d -e /daemon/d \
pankso@51 93 -e /firewall/d`"
pankso@51 94 for name in $list
pankso@51 95 do
pankso@51 96 pkg=""
pankso@51 97 pid=""
pankso@51 98 status=""
pankso@51 99 SHORT_DESC=""
pankso@51 100 echo '<tr>'
pankso@51 101 # Name
pankso@51 102 echo "<td>$name</td>"
paul@52 103 # First check if daemon is started at bootime
pankso@51 104 [ echo "RUN_DAEMONS" | fgrep $name ] && boot="on boot"
paul@52 105 # Standard SliTaz busybox daemons and firewall
pankso@51 106 case "$name" in
pankso@51 107 firewall)
pankso@51 108 gettext "<td>SliTaz Firewall with iptable rules</td>" ;;
pankso@51 109 httpd)
pankso@51 110 gettext "<td>Small and fast web server with CGI support</td>" ;;
pankso@51 111 ntpd)
paul@52 112 gettext "<td>Network time protocol daemon</td>" ;;
pankso@51 113 ftpd)
pankso@51 114 gettext "<td>Anonymous FTP server</td>" ;;
pankso@51 115 udhcpd)
pankso@51 116 gettext "<td>Busybox DHCP server</td>" ;;
pankso@51 117 syslogd|klogd)
pankso@51 118 gettext "<td>Linux Kernel log daemon</td>" ;;
pankso@76 119 crond)
pankso@76 120 gettext "<td>Execute scheduled commands</td>" ;;
pankso@76 121 dnsd)
pankso@76 122 gettext "<td>Small static DNS server daemon</td>" ;;
pankso@76 123 tftpd)
pankso@76 124 gettext "<td>Transfer a file on tftp request</td>" ;;
pankso@76 125 inetd)
pankso@76 126 gettext "<td>Listen for network connections and launch programs</td>" ;;
pankso@76 127 zcip)
pankso@76 128 gettext "<td>Manage a ZeroConf IPv4 link-local address</td>" ;;
pankso@51 129 *)
pankso@51 130 # Descrition from receipt
pankso@51 131 [ -d "$LOCALSTATE/installed/$name" ] && pkg=$name
pankso@51 132 [ -d "$LOCALSTATE/installed/${name%d}" ] && pkg=${name%d}
pankso@51 133 [ -d "$LOCALSTATE/installed/${name}-pam" ] && pkg=${name}-pam
pankso@51 134 if [ "$pkg" ]; then
pankso@51 135 . $LOCALSTATE/installed/$pkg/receipt
pankso@51 136 echo "<td>$SHORT_DESC</td>"
pankso@51 137 else
pankso@51 138 echo "<td>----</td>"
pankso@51 139 fi ;;
pankso@51 140 esac
pankso@51 141 # Attemp to get daemon status
pankso@51 142 pidfile=`find /var/run -name *$name*.pid`
pankso@51 143 [ "$pidfile" ] && pid=`cat $pidfile`
pankso@51 144 # dbus
pankso@51 145 [ -f /var/run/${name}/pid ] && pid=`cat /var/run/${name}/pid`
pankso@51 146 # apache
pankso@51 147 [ "$name" = "apache" ] && pid=`cat /var/run/$name/httpd.pid`
pankso@51 148 # Pidof works for many daemon
pankso@51 149 [ "$pid" ] || pid=`pidof $name`
pankso@51 150 if [ "$pid" ]; then
pankso@51 151 echo "<td><img src='$IMAGES/started.png' /></td>"
pankso@51 152 echo "<td><a href='$SCRIPT_NAME?daemons=stop=$name'>
pankso@51 153 <img src='$IMAGES/stop.png' /></a></td>"
pankso@51 154 echo "<td>$pid</td>"
pankso@51 155 else
pankso@51 156 echo "<td>-</td>"
pankso@51 157 echo "<td><a href='$SCRIPT_NAME?daemons=start=$name'>
pankso@51 158 <img src='$IMAGES/start.png' /></a></td>"
pankso@51 159 echo "<td>-----</td>"
pankso@51 160 fi
pankso@51 161 echo '</tr>'
pankso@51 162 done
pankso@51 163 table_end ;;
pankso@50 164 *)
pankso@50 165 #
pankso@51 166 # Default content with summary
pankso@50 167 #
pankso@50 168 . /etc/rcS.conf
pankso@50 169 xhtml_header
pankso@67 170
pankso@50 171 cat << EOT
pankso@50 172 <div id="wrapper">
pankso@51 173 <h2>`gettext "Boot &amp; Start services"`</h2>
pankso@50 174 <p>
paul@82 175 `gettext "Everything that happens before user login"`
pankso@50 176 </p>
pankso@50 177 </div>
pankso@51 178 <div>
pascal@130 179 <a class="button" href="$SCRIPT_NAME?log">
pascal@130 180 <img src="$IMAGES/edit.png" />`gettext "Boot logs"`</a>
pascal@124 181 <a class="button" href="$SCRIPT_NAME?daemons">
pascal@124 182 <img src="$IMAGES/recharge.png" />`gettext "Manage daemons"`</a>
pankso@51 183 </div>
pankso@51 184
pankso@57 185 <h3>`gettext "Configuration files"`</h3>
pankso@57 186 <ul>
pankso@57 187 <li>`gettext "Main configuration file:"`
pankso@57 188 <a href="index.cgi?file=/etc/rcS.conf">rcS.conf</a></li>
pankso@57 189 <li>`gettext "Grub menu:"`
pankso@57 190 <a href="index.cgi?file=/boot/grub/menu.lst">menu.lst</a></li>
pankso@57 191 <li>`gettext "Login manager settings:"`
pankso@57 192 <a href="index.cgi?file=/etc/slim.conf">slim.conf</a></li>
pankso@73 193 </ul>
pankso@57 194
pankso@50 195 <h3>`gettext "Kernel cmdline"`</h3>
pankso@50 196 <pre>
pankso@50 197 `cat /proc/cmdline`
pankso@50 198 </pre>
pankso@50 199 <h3>`gettext "Local startup commands"`</h3>
pankso@50 200 <pre>
pankso@75 201 $(cat /etc/init.d/local.sh | syntax_highlighter sh)
pankso@50 202 </pre>
pankso@105 203 <a class="button" href="index.cgi?file=/etc/init.d/local.sh&amp;action=edit">
pankso@105 204 <img src="$IMAGES/edit.png" />$(gettext "Edit script")</a>
pankso@50 205 EOT
pankso@50 206 ;;
pankso@50 207 esac
pankso@50 208
pankso@50 209 xhtml_footer
pankso@50 210 exit 0