An Improved unRAID web-interface, extensible, and easy to install


Recommended Posts

Yesterday, I upgraded to unRAID 4.4

 

I notice now that on the unMenu "Main" page - all drive temps are displayed as "*".  The drives are spinning and temps are displayed as expected on the unRAID main page.

 

Can someone confirm, or is this a problem with my unMenu installation?

 

Many thanks

I'll bet Tom forgot to include the library the "smartctl" command needs to work properly in 4.4 unraid.  What happens when you attempt to get a SMART status report on the disk-management page of unmenu?  I'll bet it is broken by the missing library it requires. (unmenu uses the smartctl program to read the disk temperatures)

 

I did not notice it being missing, since I have the missing library being auto-installed.  This is still in place by my package manager script from where it was missing in the 4.4beta releases.

 

I've attached a "package.conf" file for the missing library.  Use the unmenu package manager to install it, then press the button to have it auto-installed each time you reboot.  Put it in the same directory as your other unmenu plug-ins, it will be moved to your "packages" directory when you next run the package-manager plug-in page.

 

The auto-installer is written in a way so it will stop installing the missing library if Tom corrects his omission.   I see in my syslog that it installed itself, and I am on 4.4final, so it must still be missing.

 

( If  /usr/lib/stdc++.so.6.0.8 already exists, it will not install the downloaded library package)

 

Joe L.

 

Link to comment
  • Replies 552
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

That was it Joe!

 

You made it very easy for me to install the package and your instructions were very clear. 

 

Sorry to be so long getting back to you.  I had my unRAID down to install a Supermicro disk stacker.

 

Really happy to have my unMenu back and fully functional.  I use it a lot.  BTW, the "refresh button" issue discussed previously with Firefox was overcome by using a Firefox add-on called "IETab", which can display selected pages in Firefox using IE. 

 

Thanks again for all your help,

Bill

Link to comment

It did...    Basically, the console version used "tput" to set the cursor position.  That command is no longer in the stock distribution.

 

You can fix the console version if you are comfortable with editing it.

 

Change these lines from:

clearscreen=`tput clear`

goto_top=`tput cup 0 1`

goto_bot=`tput cup 24 1`

goto_menu10=`tput cup 10 3`

goto_menu11=`tput cup 11 3`

goto_menu12=`tput cup 12 3`

goto_menu13=`tput cup 13 3`

goto_menu1=`tput cup 18 3`

goto_menu2=`tput cup 19 3`

goto_menu3=`tput cup 20 3`

goto_menu4=`tput cup 21 3`

goto_command_line=`tput cup 23 1`

bold=`tput smso`

norm=`tput rmso`

ul=`tput smul`

noul=`tput rmul`

 

Replace the above lines with these:

clearscreen=`echo -n -e "\033[H\033[2J"`

goto_top=`echo -n -e "\033[1;2H"`

goto_bot=`echo -n -e "\033[25;2H"`

goto_menu10=`echo -n -e "\033[11;4H"`

goto_menu11=`echo -n -e "\033[12;4H"`

goto_menu12=`echo -n -e "\033[13;4H"`

goto_menu13=`echo -n -e "\033[14;4H"`

goto_menu1=`echo -n -e "\033[19;4H"`

goto_menu2=`echo -n -e "\033[20;4H"`

goto_menu3=`echo -n -e "\033[21;4H"`

goto_menu4=`echo -n -e "\033[22;4H"`

goto_command_line=`echo -n -e "\033[24;2H"`

bold=`echo -n -e "\033[7m"`

norm=`echo -n -e "\033[27m"`

ul=`echo -n -e "\033[4m"`

noul=`echo -n -e "\033[24m"`

 

 

Do this in an editor that does not change the newline characters to cr/nl.  Or, process it through "fromdos" as described in the wiki.

 

Joe L.

Link to comment

I am trying to install the UPS module in unMenu.  I am using unRAID 4.4.  I'm not sure what all this means.  Does the package manager in unMenu also install the required dependencies?  I have some old APC Back-UPS Pro units with serial cables I would love to put to good use.

 

Thanks for any info!

It indicates the file you were trying to download probably returned some error message instead of the expected file.

No, the package manager in unmenu does nothing to install the required dependencies.  Fortunately, the UPS package you are attempting to use has none that I am aware of.

 

Open up the package.tgz file in an editor and you might see what it is trying to say. (probably something like the file no longer exists at that URL, or you have no permission to get it...)

 

Joe L.

Link to comment

Thanks Joe,

 

I was unable to open the package as WinRAR said it was corrupt.  I suspect so since it was only 1KB in size.

 

Feeling brave, I downloaded the Slackware package of the exact same name: apcupsd-3.14.3-i486-1kjz.tgz  It is about 2.48 MB in size.

I placed it in the flash drive and tried to install it using the unMenu package manager.  Didn't work - package manager complains and syslog complains.  Weird too, that syslog mentions "USB", since the old APC Backups-Pro units like mine are serial port connect only.

 

Guess I goofed.

Link to comment

Thanks Joe,

 

I was unable to open the package as WinRAR said it was corrupt.  I suspect so since it was only 1KB in size.

 

Feeling brave, I downloaded the Slackware package of the exact same name: apcupsd-3.14.3-i486-1kjz.tgz  It is about 2.48 MB in size.

I placed it in the flash drive and tried to install it using the unMenu package manager.  Didn't work - package manager complains and syslog complains.  Weird too, that syslog mentions "USB", since the old APC Backups-Pro units like mine are serial port connect only.

 

Guess I goofed.

It appears as if you need to modify the install script, since it looks like it installed, but it is looking for the device in the wrong place.  Although apcupsd was originally developed using serial port connected devices, many newer ones are USB, and it handles them fine.

 

My downloaded package looks about the same size as you described...

ls -l apcupsd*.tgz
-rwx--x--x 1 root root 2603927 Oct 24 05:56 apcupsd-3.14.3-i486-1kjz.tgz*

Link to comment

Hi, I'm running 4.5 B1 and followed the instructions here to get the unMenu up and running. It's working partially for me.

 

I downloaded and installed it in the folder  "/boot/unmenu". I'm running it with a line in my Go script as follows:

 

# Executes unMenu

cd /boot/unmenu

nohup sh -c "while true;do awk -W re-internal -f /boot/unmenu/unmenu.awk; done" > /dev/null 2>&1 &

 

However the only menu entries I got working are the first three: Main, Array Mgmt and Disk Mgmt. All the other options display only the header with nothing after it.

 

My server is not named Tower, though the documentation says it can be named anything. I haven't tried changing the name to see if it fixes things as I'd like to keep the current name.

 

Although I'd like to get the other options working I have to say that the first page alone is worth the unMenu with all the statistics and information it provides. Of course I'd like to try to get the whole thing working.

 

Thanks in advance for any tips on what I'm doing wrong.

 

 

Link to comment

Hi, I'm running 4.5 B1 and followed the instructions here to get the unMenu up and running. It's working partially for me.

 

I downloaded and installed it in the folder  "/boot/unmenu". I'm running it with a line in my Go script as follows:

 

# Executes unMenu

cd /boot/unmenu

nohup sh -c "while true;do awk -W re-internal -f /boot/unmenu/unmenu.awk; done" > /dev/null 2>&1 &

 

However the only menu entries I got working are the first three: Main, Array Mgmt and Disk Mgmt. All the other options display only the header with nothing after it.

 

My server is not named Tower, though the documentation says it can be named anything. I haven't tried changing the name to see if it fixes things as I'd like to keep the current name.

 

Although I'd like to get the other options working I have to say that the first page alone is worth the unMenu with all the statistics and information it provides. Of course I'd like to try to get the whole thing working.

 

Thanks in advance for any tips on what I'm doing wrong.

 

 

 

remove cd /boot/unmenu from the go file.. it shouldn't be there

 

In terms of problem with start-up I have the same one... kill unmenu

 

ps -ef | grep awk

and kill the two process that aren't "grep awk"

by

kill #1 #2

and then restart unmenu... it should work now..

 

I added a sleep(10) into mine to have it wait before running.. but havn't had a chance to try it out.   I think that it gets run from the go script before unmenu is ready to start for some reason... after i restart it, everything is good.... 

 

The script page should be added to the main body of the unmenu.awk so that we could have access to the kill unmenu script if this happens again... right now it is running as a plug-in and doesn't get run when the startup fails.

 

Matt

 

Edit: added info

Link to comment

Hi, I'm running 4.5 B1 and followed the instructions here to get the unMenu up and running. It's working partially for me.

 

I downloaded and installed it in the folder  "/boot/unmenu". I'm running it with a line in my Go script as follows:

 

# Executes unMenu

cd /boot/unmenu

nohup sh -c "while true;do awk -W re-internal -f /boot/unmenu/unmenu.awk; done" > /dev/null 2>&1 &

 

However the only menu entries I got working are the first three: Main, Array Mgmt and Disk Mgmt. All the other options display only the header with nothing after it.

 

My server is not named Tower, though the documentation says it can be named anything. I haven't tried changing the name to see if it fixes things as I'd like to keep the current name.

 

Although I'd like to get the other options working I have to say that the first page alone is worth the unMenu with all the statistics and information it provides. Of course I'd like to try to get the whole thing working.

 

Thanks in advance for any tips on what I'm doing wrong.

 

 

I'm not sure I understand your problem.  Can you see the additional menu choices on the top of the form, but they do not work? Or, are they missing entirely.

 

If they are there, but do not work, to see the errors, simply invoke unmenu.awk without the surrounding "while" loop.

 

Like this (after "cd'ing" to he folder that has all the files)

awk -W re-interval -f unmenu.awk

 

Then, click on one of the other links and let me know what error message shows on the screen.  To stop unmenu.awk, you just need to type "Control-C".  You will return to the prompt.

 

Joe L.

Link to comment

Thanks Joel, sorry if I didn't explain myself properly. I see the options on the top, but clicking them accomplishes nothing. I did what you suggested and got this:

 

root@DooNAS:/boot/unmenu# awk -W re-interval -f unmenu.awk

awk: unmenu.awk:209: fatal: can't open two way socket `/inet/tcp/8080/0/0' for input/output (No such file or directory)

 

Not really sure what it means, but I will start googling it now. :-)

 

Thanks.

Link to comment

Thanks Joel, sorry if I didn't explain myself properly. I see the options on the top, but clicking them accomplishes nothing. I did what you suggested and got this:

 

root@DooNAS:/boot/unmenu# awk -W re-interval -f unmenu.awk

awk: unmenu.awk:209: fatal: can't open two way socket `/inet/tcp/8080/0/0' for input/output (No such file or directory)

 

Not really sure what it means, but I will start googling it now. :-)

 

Thanks.

It sounds as if you have another "awk" process already using the port.  It must be killed first before a different process can open up the same port. (only one can open it at a time)

 

I get exactly the same message as you if I attempt to re-start the "awk" process while another has the same port open.

See here (I already have the unmenu process running and I attempt to start it again before stopping the first instance):

root@Tower:/boot/unmenu# awk -W re-interval -f unmenu.awk

awk: unmenu.awk:237: fatal: can't open two way socket `/inet/tcp/8080/0/0' for input/output (No such file or directory)

 

To kill the first, type

ps -ef | grep awk

 

You will probably see multiple lines of output like this:

root@Tower:/boot/unmenu# ps -ef | grep awk

root    15031    1  0 22:07 pts/4    00:00:00 sh -c while true; do awk  -W re-interval -f ./unmenu.awk; done

root    15032 15031  0 22:07 pts/4    00:00:00 awk -W re-interval -f ./unmenu.awk

root    15037 14569  0 22:07 pts/4    00:00:00 grep awk

 

If you only see one line, the line for "grep awk," then no other "awk" process is running.  I'm fairly certain you will see multiple lines.

The second column of each line is the numeric process ID of the affiliated process.  make a note of them, especially those affiliated with the line that says "while true...."

 

Those processes for those lines must be killed first.  You may have more than one.  In my example above, it is process ID 15031.

To kill it I type:

kill 15031

 

You must do the same for however many "while true...done" lines you have in the "ps" output.  Killing each in turn.

 

Then, once they are killed, you can kill the actual "awk -W re-interval..." processes.  In my example here, it is process ID 15032.

I then type

kill 15032

 

Once you can type

ps -ef | grep awk

and get only the one process showing the "grep awk" you are ready to re-start the unmenu.awk server...

but FIRST, change directory to the directory with all the unmenu files.

 

cd /boot/unmenu

nohup sh -c "while true; do awk  -W re-interval -f ./unmenu.awk; done" >/dev/null 2>&1 &

 

Link to comment

Thanks again. Awesome explanation.

 

I was able to stop the other process and then run the following:

 

root@DooNAS:/boot/unmenu# awk -W re-interval -f unmenu.awk

 

smartctl: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

smartctl: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

smartctl: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

smartctl: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

gawk: ./990-unmenu-wget.awk:40: warning: escape sequence `\.' treated as plain `.'

 

 

I get the first 4 errors by just accessing the unmenu through the browser. The 5th line is when I try to go to other pages, which all work now by the way, but only when running it from the command line like I did above. When I run from my Go script I still can't access the other pages (only the first 3). Here's my go script again:

 

# Executes unMenu

cd /boot/unmenu

nohup sh -c "while true;do awk -W re-internal -f /boot/unmenu/unmenu.awk; done" > /dev/null 2>&1 &

 

Still stuck, but loving the pages I can access. :-)

 

Thanks again for your help and time.

 

 

Link to comment

Thanks again. Awesome explanation.

 

I was able to stop the other process and then run the following:

 

root@DooNAS:/boot/unmenu# awk -W re-interval -f unmenu.awk

 

smartctl: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

smartctl: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

smartctl: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

smartctl: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

gawk: ./990-unmenu-wget.awk:40: warning: escape sequence `\.' treated as plain `.'

 

 

I get the first 4 errors by just accessing the unmenu through the browser. The 5th line is when I try to go to other pages, which all work now by the way, but only when running it from the command line like I did above. When I run from my Go script I still can't access the other pages (only the first 3). Here's my go script again:

 

# Executes unMenu

cd /boot/unmenu

nohup sh -c "while true;do awk -W re-internal -f /boot/unmenu/unmenu.awk; done" > /dev/null 2>&1 &

 

Still stuck, but loving the pages I can access. :-)

 

Thanks again for your help and time.

 

 

The issue now is that a library needed by the "smartctl" program was not included on the new 4.4 or 4.5beta release by Tom.

You will need to install it for those error messages to go away.  unmenu.awk uses smartctl to get disk drive temperatures, so those will all show as "*" until you get that issue corrected.

 

I see the warning message about the escape sequence in 990-unmenu-wget.awk.  It is only a warning, and is expected, as the escape sequence is actually correct in my use of it.

 

You can use the "Package Manager" to install the missing library.  An older post has a link to the package.conf file for it, or you can wait till later today (probably) when I post a whole new set of files for unmenu.

 

It is time to zip up your "go" script so I can see it...    Obviously you are not changing directory to /boot/unmenu, so you are not finding the files there.  Where did you add these lines to the script?  At the top? or at the bottom?  (I guess I'll see myself when you zip it up and attach it next)

 

Joe L.

Link to comment

Hi, my go script is pretty small, so I will just paste it here:

 

#!/bin/bash

# Start the Management Utility

/usr/local/sbin/emhttp &

 

# Enhance Read Performance

sleep 30

for i in /dev/md*

do

    blockdev --setra 2048 $i

done

 

# Enhance Network Performance

echo nameserver 10.0.1.1 >/etc/resolv.conf

echo 10.0.1.190 >> /etc/hosts

 

# Configure Terminal

export TERM=xterm

 

# Executes unMenu

cd /boot/unmenu

nohup sh -c "while true;do awk -W re-internal -f /boot/unmenu/unmenu.awk; done" >/dev/null 2>&1 &

 

 

I also tried the following with no success (still only the 3 first pages are accessible):

 

# Executes unMenu

cd /boot/unmenu

nohup sh -c "while true;do awk -W re-internal -f /boot/unmenu/unmenu.awk; done" >/dev/null 2>&1 &

 

I downloaded your script to include the missing library, but since I was not able to reach the Package Manager in the menu I haven't done anything with it yet.

 

Thank you once again.

 

Link to comment

I also tried the following with no success (still only the 3 first pages are accessible):

 

# Executes unMenu

cd /boot/unmenu

nohup sh -c "while true;do awk -W re-internal -f /boot/unmenu/unmenu.awk; done" >/dev/null 2>&1 &

 

I had the same problem when using the above. I had all pages working perfectly when I launched unmenu via a telnet session so I attempted to figure out what was different between my my telnet session and the command in my go script. The only thing I could find that was different in the command above was the missing space between "true;" and "do awk". Once I added the space all pages worked as expected.

 

Jim

Link to comment

Now that we're past that, can anyone give me some easy instructions to install this on clean v4.4 of unraid. (like step 1, step2, step3, etc)  I've read through the thread and see different packages, installation versions and references to other items and don't want to mess anything.  Thanks in advance

Link to comment

I'm about to package up a full set of files...   I've been working up a different start up script that will eliminate some of the issues you ran into.  If you would like to be my "test case" I can get the zip-file in a spot you can get before the rest of the forum...

 

I've created a new start-up script.  It is just named "uu"   You just invoke it, no need to put it in the background, or use nohup.  It checks to see the path to the unmenu.awk and "cd's there for you.  In the same way, it prevents more than one instance from running at a time. (You see, I've learned from the difficulties you had, and am attempting to make it easier for all who follow.

 

In your case, you would just add a line to the "go" script like this:

/boot/unmenu/uu

 

It would take care of the rest.   

 

I'm about to add that exact line to my "go" script and reboot my server to ensure it works.  Once I do, it will be the "standard" to start unmenu.awk.   It will also make it much easier for the next release, as I will be changing to a model that uses shared libraries of "awk" procedures to eliminate the need to duplicate some of the code in plug-ins.  It actually makes the plug-ins easier, but does make the command line to start unmenu.awk a bit longer.  This will not matter though, as the extra options will be in the "uu" start-up script.

 

I should be able to put up a zip file in about 45 minutes... let me know if you are interested in being the first to try the new "uu" start-up script for unmenu.awk.

 

Joe L.

Link to comment

May 6th, 2010.  This set of installation instructions in the following post is very out of date.  unMENU is now available as a single zip file, downloadable from google.code.   The zip file contains a unmenu_install script that will download the newest versions of all the plug-ins and package-configuration files available.  

 

See this post for detail: http://lime-technology.com/forum/index.php?topic=5568.0

 

Joe L.

 

I'll post the new full version of unmenu files here, as attachments to this post.  I'll put them in the first post in this thread later when I have a bit more time.  (I need to get ready for a formal dinner-dance this evening, believe it or not, I'm not entirely a geek  ;D)  

 

The files in the attached zip file entirely replace the files you currently have.  If you have edited them, move them first before you unzip these files.  None of the old files are needed, and in fact, since "package config" files have been re-named without the leading numbers, the old will only get in the way.  Note: the old *.unmenu-package.conf files were moved to your /boot/packages directory if you ran an old version of the unmenu package manager.  The *unmenu-package.conf files will need to be removed from there, or at the least, moved elsewhere, and not exist in either the directory with all the unmenu.awk files or the /boot/packages directory..

 

There are three zip files attached.  You will want them all.   Unpack them all in the same directory where you want to put all the unmenu files. I suggest a folder name something like /boot/unmenu.

 

There is a "start-up" script included.  It is named "uu"  Leave it in the same directory as all the other unmenu files.  (As written, it must reside there)

 

Before you start up this new version of unmenu, you must stop any older version you might be running.  

Easiest way to stop (kill) the old version is to type:

killall -g awk

If you added a line in your "go" script to automatically start unmenu, change it as well.

 

To start up this newest version of unmenu, either "cd" to the directory with the unmenu files and then type:

uu

 

or, type the full path to the directory with the files (as an example, if your folder is /boot/unmenu)

/boot/unmenu/uu

 

After you start the unmenu server (by typing "uu" in the instruction above) you can see the improved interface in your browser by using the following URL:  

http://tower:8080

 

There have been many changes and improvements, a few to fix tiny bugs, other in preparation for future plug-ins

(unmenu.awk can now handle POST as well as GET)

 

The biggest addition is the new version of "myMain" a super piece of coding by Brian bjp999.  Wait until you see the "Smart" view.  If you are on version 4.4 or 4.5 of unmenu you will need to use the package manager to install the "cxxlibs" package before the "smartctl" program will function to let you see drive temperatures.  You will need to install the "bwm-ng" package to see the I/O performance on the "Performance" view in myMain.   I'll let Brian describe his work, but all I can say is that it is an example of exactly what I wanted when I developed the unmenu.awk plug-in system to explore ways to improve the unRAID user-interface.

 

On the user-scripts page is a button to kill the unmenu.awk server.   If you add a new plug-in after unmenu.awk is already started, you will need to kill it and then re-start it for it to see the new plug-in and add it to its top menu.  This button is an easy way to kill unmenu.awk  You no longer need to use "ps" to figure out the process IDs to kill.

 

I just went through the package configuration files and confirmed they all currently work.  I've discovered the servers hosting these files are constantly updating them, so the package conf files go out of date.  If you download a package and it does not match the md5 checksum, odds are the file was changed on the package server. (Sept. 22, 2009, some are out of date once more. Use following link for up-to-date package files)

 

You can get updated unMENU version 1.2 files including updated package .conf files from this link at google code

 

The files attached to this post are the older version 1.1 files.  Don't bother with them, the newer versions at google.code are for the newer version 1.2.  I'm leaving the older 1.1 files attached here for a while, at least until I know the 1.2 files are working as desired.

The new files completely replace the older ones.  If you've made local changes, be sure to save your older versions.  The same with the package .conf files, the new set has updated links to slackware repositories that are currently valid.  Many of the older links are not valid any more.  No problem if you already downloaded the install package, no need to download it again unless it has been update with a newer release and your older one is not working.

Joe L.

Link to comment
  • Squid locked this topic
Guest
This topic is now closed to further replies.