tazpanel view boot.cgi @ rev 148

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