September 24, 200817 yr i'm still using IE6. It crashes (or at least ends) the awk session. I have to restart it in order to get the web page to redisplay. I was rethinking the idea of having the list of open files display. It might create some "privacy" type concerns for some users, although I personally would find it useful. If we could show a list of real errors from the syslog, that would certainly be helpful. I will try and think of other options that would fit there. I might be able to fix it by sending the entire syslog as a single "write" to the connection, apparently, IE closes the connection when you cancel, and "awk" does not do well when writing to a closed connection. Currently, I'm sending the syslog line by line. Joe L.
September 24, 200817 yr @ReneV, lm_sensors requires ... After a bit of legwork (with perl), I gather that the P5B-VM DO motherboard has a w83627ehf sensor. From what I understand, I therefore only need to obtain the appropriate w83627ehf.ko file, put it in the right place (which appears to be /etc/modprobe.d), execute `modprobe w83627ehf', install lm_sensors, and I should be on my way. [using modprobe should mean that I do not need to mess with the kernel's .config file.] w83627ehf.ko is available in the kernel-modules-FOOBAR files that can be found in the slackware repository, but the 3 different ones I've tried have resulted in errors when modprobe'd, and I've concluded that this is a prudent time to admit that I've been attempting to follow instructions without any real sort of understanding. Would anyone care to comment on what I've tried doing? Do you have lm_sensors working bubbaQ?
September 24, 200817 yr Author Please start a new topic regarding lm_sensors and unRAID. That's a whole topic we should discuss separately from the new front end Joe has graced us with. It may come down to us asking tom to put this as part of the regular distribution or instructions on adding it ourselves.
September 24, 200817 yr Please start a new topic regarding lm_sensors ... You are, of course, right: http://lime-technology.com/forum/index.php?topic=2499.0
September 24, 200817 yr I didn't realize lsof and lspci are not in the stock unRAID distro. I'm rewriting the sysinfo plugin to be smarter, and check for existence of all apps, and disable buttons for unavailable apps.
September 24, 200817 yr Author Now we need a package manager using the help of wget or curl to grab files from urls and drop them into the /boot/custom/usr/share/packages directory. My thoughts on this was . option 1. Show local /boot/custom/usr/share/packages repository. option 2. Allow viewing the package with tar -tvzf on show it's files. option 3. Allow installing the package or removing the package. option 4. Allow enable/disable of boot time install at an individual package level by flipping the X bit. (this does require an external script to be installed and called from /boot/config/go upon startup). option 5. An entry field that would accepth the url of the package file, It would use curl or wget to grab the file and drop it into the package repository.
September 24, 200817 yr Author I didn't realize lsof and lspci are not in the stock unRAID distro. I'm rewriting the sysinfo plugin to be smarter, and check for existence of all apps, and disable buttons for unavailable apps. What other tools do you think we should have available to us. The reason I'm asking is for 1. To update my rc.unRAID script which does a diagnostic dump (using these tools) 2. To collect the tools we think belong on unRAID and present it in a consolidated feature request to Tom. (perhaps this should be in another thread, in the meantime provide some consideration and let's discuss externally).
September 24, 200817 yr I'm rewriting the sysinfo plugin to be smarter, and check for existence of all apps, and disable buttons for unavailable apps. I'm hoping that means disabled as in "greyed out"....
September 24, 200817 yr Bug report: If you press the link on the syslog page to download the entire syslog, and then press the "Cancel" button (to not download the file), it brings down the web server. So far, I have no "perfect" solution. I've tried several different approaches, but basically, when you cancel the upload, IE closes the connection to the server. In the meantime, it sends no other notification it has done so as an HTTP header. The very first "write" to the port to send data back to the browser results in a fatal error in awk with the error being: fatal: print to "/inet/tcp/8080/0/0" failed (Connection reset by peer) As of now, I have no elegant solution... I can't trap the error. I do have one in-elegant solution... make note of where the semi-colons go... invoke awk as: while true; do awk -W re-interval -f unmenu.awk; done Now, when it stops, it will just re-start itself for the next page. ;D ;D You'll never notice it re-starting itself in wait for the next page. Joe L.
September 24, 200817 yr Wget is not in the standard unRAID distro (last time i looked). We need something else (curl, an awk script) to do it, and it has to be something in the stock unRAID distro. With that, unMenu could include package management. If we can't find a way to d/l packages with the stock unRAID distro, I've figured out a way to distribute custom unRAID kernels and initramfs ... without the proprietary parts. I call it BubbaRAID. Because it does not contain the proprietary parts of unRAID, such as emhttp, it will ONLY work when installed along side a regular unRAID distro on the same flash. It is a zip that you extract to the root of your regular unRAID flash, that gives you a multiboot syslinux config... boot stock unRAID or BubbaRAID. BubbaRAID runs identically to the stock unRAID with additional packages and libraries installed (wget, PHP, perl, Apache, NZBGet, etc.) , and a few select kernel modules enabled, such as hardware monitoring and SYS V IPC. Config files are all symlinked back to the flash so they are persistent. It has a larger memory footprint now, and I am trying to reduce it by symlinking large libraries and such back to a supplementary location on the flash. In any event, since it has a full slate of utilities like wget and perl, and a lot of libraries, it is easier to script a lot of things that could have an unMenu interface.
September 24, 200817 yr Wget is not in the standard unRAID distro (last time i looked). We need something else (curl, an awk script) to do it, and it has to be something in the stock unRAID distro. With that, unMenu could include package management. I'm pretty sure a WGET plug-in is doable. Joe L.
September 24, 200817 yr Here is version 1.2 of the System Info plugin. * rewritten to use array of commands so mods are simpler (could even be in a config file) * added "List Devices" button * handles missing apps gracefully * buttons indicate if an app is missing (in red) Enjoy!
September 25, 200817 yr It is a zip that you extract to the root of your regular unRAID flash, that gives you a multiboot syslinux config... boot stock unRAID or BubbaRAID. BubbaRAID runs identically to the stock unRAID with additional packages and libraries installed (wget, PHP, perl, Apache, NZBGet, etc.) , and a few select kernel modules enabled, such as hardware monitoring and SYS V IPC. Config files are all symlinked back to the flash so they are persistent. It has a larger memory footprint now, and I am trying to reduce it by symlinking large libraries and such back to a supplementary location on the flash. Sounds pretty impressive!
September 25, 200817 yr In the context of other add-ons is there any way we can see the mean R/W transfer rates for each drive? Great for tracking down bottlenecks (like did I forget to remove the throttling jumper from my Seagate SATA drive )
September 25, 200817 yr bwm-ng is a great package for this. IIRC, it will install w/o additional libraries on stock unRAID.
September 25, 200817 yr Author bwm-ng is a great package for this. IIRC, it will install w/o additional libraries on stock unRAID. And there is an html output mode root@Atlas ~>bwm-ng -h Bandwidth Monitor NG (bmw-ng) v0.5 Copyright (C) 2004,2005 Volker Gropp <[email protected]> USAGE: bwm-ng [OPTION] ... [CONFIGFILE] displays current ethernet interfaces stats Options: -t, --timeout <msec> displays stats every <msec> (1msec = 1/1000sec) default: 500 -d, --dynamic [value] show values dynamicly (Byte KB or MB) -a, --allif [mode] where mode is one of: 0=show only up (and selected) interfaces 1=show all up interfaces (default) 2=show all and down interfaces -I, --interfaces <list> show only interfaces in <list> (comma seperated), or if list is prefaced with % show all but interfaces in list -S, --sumhidden [value] count hidden interfaces for total -A, --avglength <sec> sets the span of average stats (Default 30s) -D, --daemon [value] fork into background and daemonize -h, --help displays this help -V, --version print version info Input: -i, --input <method> input method, one of: proc netstat -f, --procfile <file> filename to read raw data from. (/proc/net/dev) Output: -o, --output <method> output method, one of: plain, curses, csv, html -u, --unit <value> unit to show. one of bytes, bits, packets, errors -T, --type <value> type of stats. one of rate, max, sum, avg -C, --csvchar <char> delimiter for csv -F, --outfile <file> output file for csv and html (default stdout) -R, --htmlrefresh <num> meta refresh for html output -H, --htmlheader show <html> and <meta> frame for html output -c, --count <num> number of query/output for plain & csv (ie 1 for one single output) Wish there was something like this for disks...
September 25, 200817 yr In the context of other add-ons is there any way we can see the mean R/W transfer rates for each drive? Great for tracking down bottlenecks (like did I forget to remove the throttling jumper from my Seagate SATA drive ) There is an easy way to add this to unmenu. Create a file named 40-unmenu_user_script_disk_speed in it put these 4 lines of text #define USER_SCRIPT_LABEL Disk Speed Test #define USER_SCRIPT_DESCR Run disk transfer speed tests (using hdparm -tT) echo "<pre>" hdparm -tT /dev/[hs]d? It will then show up in the "User Scripts" page as a button to run the tests. Be patient when you press the button. It will take about 10 seconds or more per drive on your array. If you have a large array, it might take several minutes before the page is rendered. In the interim, the unmenu web-server will appear to be frozen, and it will not be able to serve any other pages. I've attached a zipped version for your use. Joe L. It looks like this when run:
September 25, 200817 yr I have a suggestion for a slight change to the syslog plugin, to give you the option to pull several different (and useful) logs files: add at line 58: print buttons() and then add this function at the end: function buttons() { pageoptions = "<hr><form method='GET' ><table>" pageoptions = pageoptions "<tr>" pageoptions = pageoptions "<td>System log<br><input type=submit name='file' value='/var/log/syslog'></td>" pageoptions = pageoptions "<td>System messages<br><input type=submit name='file' value='/var/log/messages'></td>" pageoptions = pageoptions "<td>Security log<br><input type=submit name='file' value='/var/log/secure'></td>" pageoptions = pageoptions "<td>Debug log<br><input type=submit name='file' value='/var/log/debug'></td>" pageoptions = pageoptions "<td>Debug messages<br><input type=submit name='file' value='/var/log/dmesg'></td>" pageoptions = pageoptions "</tr></table></form>" return pageoptions } Also for html, you can use the single quote for property strings, instead of the \" ... and I think it reads easier that way.
September 25, 200817 yr Author bubbaQ this is a good topic for conversation, parts of this should be continued in a separate threads. I've quoted some of your messages so we can continue the conversation on focus of the concepts presented. BubbaRAID Here. http://lime-technology.com/forum/index.php?topic=2504.0 Packages and Kernel enabled modules we would like to see in the stock unRAID Here. http://lime-technology.com/forum/index.php?topic=2503.msg19709#msg19709
September 25, 200817 yr Author I have a suggestion for a slight change to the syslog plugin, to give you the option to pull several different (and useful) logs files: Good one!
September 25, 200817 yr Joe, I've worked out a way to download and save binaries from a web/ftp site with awk. Using this, I'm going to work on a package-manager plugin.
September 25, 200817 yr I have a suggestion for a slight change to the syslog plugin, to give you the option to pull several different (and useful) logs files: add at line 58: print buttons() and then add this function at the end: function buttons() { pageoptions = "<hr><form method='GET' ><table>" pageoptions = pageoptions "<tr>" pageoptions = pageoptions "<td>System log<br><input type=submit name='file' value='/var/log/syslog'></td>" pageoptions = pageoptions "<td>System messages<br><input type=submit name='file' value='/var/log/messages'></td>" pageoptions = pageoptions "<td>Security log<br><input type=submit name='file' value='/var/log/secure'></td>" pageoptions = pageoptions "<td>Debug log<br><input type=submit name='file' value='/var/log/debug'></td>" pageoptions = pageoptions "<td>Debug messages<br><input type=submit name='file' value='/var/log/dmesg'></td>" pageoptions = pageoptions "</tr></table></form>" return pageoptions } Also for html, you can use the single quote for property strings, instead of the \" ... and I think it reads easier that way. This is great, but a stock unRAID has NONE of those extra logs, so they all show as empty. Let me think how we can make this configurable... also, each log might require different line color coding. Might want to make that configurable too... And since different people will be installing different packages, with their own logs, might need to make it easy to add local files. For now, you will need to make this locally on your own plug-in. I suggest just giving the file name a higher number than 15 as the leading part of its file name, that way, it will not be overwritten when you unzip new "official" releases. 16-unmenu-syslog.awk would do it. Joe L.
September 25, 200817 yr Joe, I've worked out a way to download and save binaries from a web/ftp site with awk. Using this, I'm going to work on a package-manager plugin. I love it. Can't wait to see what you come up with... Be prepared for multiple revisions... we are a tough crowd, and with a lot of ideas once we get going and see something to build on. Joe L.
September 25, 200817 yr As to the log files, that's too bad. I'll boot up a clean stock and check the location of the logs. Display messages are in the kernel ring buffer, so they can be copied out to disk wth dmesg even if the display log is not maintained. As for a package manager, binary downloads work, except using getline they choke on eof characters.... my original testing was on some image files that apparently didn't have an imbeded eof. When I try the downloaded tar archive, it gets part way through and chokes on the "unexpected end of file."
September 25, 200817 yr As for a package manager, binary downloads work, except using getline they choke on eof characters.... my original testing was on some image files that apparently didn't have an imbeded eof. When I try the downloaded tar archive, it gets part way through and chokes on the "unexpected end of file." You need to use the same trick I did for the binary files. Basically you change the RS (record separator) to one not dependent upon line feeds AND use the -W re-interval option when invoking awk. Like this: # For this Regular Expression to work we need the -W re-interval option on the command line RS = ".{1,128}" # read 128 bytes at a time, this should allow us to handle binary data ORS="" # Probably need to set this to null so it does not add cr/lf as you print each piece. while (( cmd | getline html ) > 0 ) { print RT > "outfile" } close("outfile") close(cmd) Note, the matched 128 byte chunk of the file is in RT, not in the html argument of the getline command. Joe L.
Archived
This topic is now archived and is closed to further replies.