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


Recommended Posts

Hi Joe,

 

Was looking over unMenu 1.2 packages comparing them to what I have to delete dups, and was wondering why you went with the ntfs 3.8 vs the ntfs 4.4?  I've been using 4.4 all along and it seems to be fine.  Perhaps whatever changes are minor?

 

--Bill

I was unable to find a working download link anywhere for the 4.4 version.  Keep using the 4.4 version....  Don't go backwards...

 

(4.4 was available, but only as a .txz file in version 13 of Slackware, not a tgz file.  Since we do not have the new version of the install tools, I elected to replace the link that was now broken in the older .conf file with one that was working, even though it went backwards a version and grabs the flie from a different site with a version 12 release of Slackware.)  The only release under version 12 from the usual slackware repository I use was the much older 1.5130 version...

 

I guess it will make sense to make a package file for the new slackware installer.  Then we can use .txz files too.

 

Joe L.

 

Link to comment
  • Replies 552
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

For those asking about specific changes...

Other than updating the package .conf files to point to currently valid links for download of package.tgz files, the unMENU 1.2 release changed as follows:

 

unmenu.awk

  Added missing ";" in error message when parity errors detected

  Now uses unmenu_local.conf file in addition to unmenu.conf when getting mount options for file-systems.

  Removes "scsi" devices from those not expected to have SMART features (some SAS devices show as scsi)

  Fixed disk temperature to compare numerically, not lexically.

  Removed "cache" drive file system from unprotected disk display as it has its own entry. (cleans up the display a tiny bit by removing a duplicate line)

 

07-unmenu-mymain.awk

  New version handling SMART reporting better.

 

08-unmenu-array_mgmt.awk

Array management now is a plug-in that overrides the built-in page.

  Adds ability to perform a Verify-Only parity check.  Parity disk is NOT updated, but errors are reported.

  Needed for unRAID-Web

  Better array Stop function to kill processes keeping disks busy.

 

09-unmenu-disk_mgmt.awk

Disk management is now a plug-in that overrides the built-in page.

  Needed for unRAID-Web

  Fixes to deal with changed name of SAMBA config files and  sharing of unprotected drives in recent versions of unRAID.

  Improvements to reiserfsck testing of disks. 

  Added ability to create reiserfs file-systems on un-assigned partitions.

 

10-unmenu-links.awk

  Fixed increment of link counter

 

10-unmenu_user_script_hello

  Changed wording to show it is a sample script.

 

16-unmenu-syslog.awk

  Added code to prevent html "meta" tags in syslog from being interperted by browser.

 

25-unmenu-dupe_files.awk

  Added code to deal with appostraphe in file name

 

30-unmenu-file_browser.awk

  Fixed handling of directory named with embedded spaces

 

Joe L.

Link to comment

Great job on the unMenu improvements and add-ons, Joe!  Really some nice touches.

 

FYI, a couple of console messages from when I started up the new uu.  Perhaps of no consequence.

 

When accessing array management:

gawk: ./08-unmenu-array_mgmt.awk:115: warning: escape sequence `\'' treated as plain `''

 

And ConfigView/Edit:

ls: cannot access /boot/custom/etc/rc.d/*: No such file or directory

 

--Bill

Link to comment

Great job on the unMenu improvements and add-ons, Joe!  Really some nice touches.

Thanks.

 

FYI, a couple of console messages from when I started up the new uu.  Perhaps of no consequence.

They are harmless. 

The first is almost embarrassing, as fixing it corrects the grammar.  On line 115 of 08-unmenu-array_mgmt.awk, change the word "disk\'s" to "disk"

When accessing array management:

gawk: ./08-unmenu-array_mgmt.awk:115: warning: escape sequence `\'' treated as plain `''

Change from

ArrayMgmtPageDoc = ArrayMgmtPageDoc "<br><br>In some circumstances, we suspect a specific data disk\'s to be wrong, and parity to be right.  "

to

ArrayMgmtPageDoc = ArrayMgmtPageDoc "<br><br>In some circumstances, we suspect a specific data disk to be wrong, and parity to be right.  "

 

This one is also harmless, but easy to fix.

And ConfigView/Edit:

ls: cannot access /boot/custom/etc/rc.d/*: No such file or directory

In file 600-unmenu-file_edit.awk, on line 47, adding the "2>/dev/null" as shown below in blue.

Change it from:

editable_files = GetEditableFiles(editable_files, CONFIG["AUTO_INSTALL_DIRECTORY"], "* | grep -v '*.zip'" )

to:

editable_files = GetEditableFiles(editable_files, CONFIG["AUTO_INSTALL_DIRECTORY"], "* 2>/dev/null | grep -v '*.zip'" )

 

I've made the fixes here... so they'll be in future releases...  Thanks

Joe L.

Link to comment

thx. I've made those changes. :)

Hopefully, you used an editor that does not add MS-DOS-STYLE carriage returns at the ends of lines.

 

You actually could use the built in Config View/Edit to first edit either unmenu.conf, or a local copy of it named unmenu_local.conf to add two lines at the bottom.

 

Those two lines would be

EDITABLE_FILE = /boot/unmenu/600-unmenu-file_edit.awk

EDITABLE_FILE = /boot/unmenu/08-unmenu-array_mgmt.awk

 

Then, once you save that changed file, the two files needing editing will be available as choices in the Config View/Edit drop-down select list.

Edit as needed and press save on each.   (if you named the folder they are in something other than "unmenu," change the line in the example above accordingly.)

Of course, you can use any unix friendly editor...

Edit: I crossed out the idea I had above... It looks like it uncovered a bug in the editor... it is really confused by something when trying to edit itself.

 

For now, use a different editor.

Joe L.

Link to comment

It turns out the "<textarea>" field I'm using in the browser to edit a file is confused when it encounters a closing "</textarea>" in the text of the file being edited.  And, of course, the editor has exactly that in itself.  It thinks the "<textarea>" in the text is the one at the end of the block to edit. It all goes downhill from there.

 

I'll need to handle that as a special case...

 

Figures... these "public" code reviews would uncover something...  :-[ :-[ :-[

 

Joe L.

Link to comment

Joe,

 

It appears as though something is still wrong with the apcupsd[.conf] installation.  It downloads correctly, but when you install it, at the top left of the screen it says it's installed correctly and displays all the details, but in orange just left of the install button it says 'installed, but version is different.  Current version='' expected '3.14.3'.  And the install button stays at install instead of changing to 'Enable Re-install on reboot'.

 

--Bill

Link to comment

Joe,

 

It appears as though something is still wrong with the apcupsd[.conf] installation.  It downloads correctly, but when you install it, at the top left of the screen it says it's installed correctly and displays all the details, but in orange just left of the install button it says 'installed, but version is different.  Current version='' expected '3.14.3'.  And the install button stays at install instead of changing to 'Enable Re-install on reboot'.

 

Also, a question.  In the install script itself, when you sed to change the device, why do you install it commented out?

 

--Bill

Let me take a look...  That .conf file has not been changed since I originally wrote it.  It works here...

What do you get when you enter the following on your command line?

/sbin/apcaccess status 2>&1 | grep RELEASE | awk '{print $3}'

if nothing, what do you get with

/sbin/apcaccess status

 

As far as the "sed" it is because apcupsd is smart enough to locate the USB HID device with the UPS as long as you do not force it to use the serial port with the line I am commenting out via the stream edit.

 

Joe L.

Link to comment

If by chance, your apcaccess program dies not emit a "status" display because it did not detect a UPS, then an alternative line for the .conf file

would be to replace the PACKAGE_VERSION_TEST line in the apcupsd-unmenu-package.conf file.

 

Change it from this:

PACKAGE_VERSION_TEST /sbin/apcaccess status 2>&1 | grep RELEASE | awk '{print $3}'

to this:

PACKAGE_VERSION_TEST strings /sbin/apcupsd 2>&1 | grep VERSION | awk '{ print $3 }'

 

It won't fix the underlying issue of it not starting, but it will detect apcupsd has been installed.

 

Joe L.

Link to comment

Let me take a look...  That .conf file has not been changed since I originally wrote it.  It works here...

What do you get when you enter the following on your command line?

/sbin/apcaccess status 2>&1 | grep RELEASE | awk '{print $3}'

if nothing, what do you get with

/sbin/apcaccess status

 

Nothing for the first, and 'Error contacting host localhost port 3551: Connection refused' for the second.  However, that is probably because apcupsd isn't actually running since it is unable to talk to my serial port.  It does really install everything as far as I can tell.

 

I've been trying to use a USB->serial adapter but all the necessary drivers for it don't seem to be a part of this kernel build.  I posed a question about all that in the apc thread but so far have gotten no responses.

 

As far as the "sed" it is because apcupsd is smart enough to locate the USB HID device with the UPS as long as you do not force it to use the serial port with the line I am commenting out via the stream edit.

 

Joe L.

 

I see.  Maybe it would be less confusing if UPSTYPE was also in that script, since the DEVICE's presence actually depends on UPSTYPE.  Currently it just assumes 'usb'.  Maybe even UPSCABLE as well to indicate those should be tuned there, in that script.  I understand it as do many others, but some may be confused by it.  Just a thought.

 

--Bill

Link to comment

I'm really excited about this enhancement Joe; I can't wait to get home and try it out!

 

Thanks!!

 

Robbie

Grab the three 1.2 version zip files from the google.code link.  (you can edit the unmenu.conf to show either marketing "GB" or real "GB"

 

Use the built in Config View/Edit function to edit unmenu.conf  or, better yet, make a exact copy named unmenu_local.conf and then edit it.  Values in it override the deployed unmenu.conf and will not be overwritten with a subsequent release.

 

The line to un-comment looks like this:

# Unmenu defaults to using a divisor of 1000 for disk sizes, including disk space free

# and disk space used.  If you prefer the more geek style 1024 byte sizes, rather than the

# marketing 1000 byte sizes, then uncomment the following line (remove the pound symbol)

#OneThousand = 1024

Link to comment

Let me take a look...  That .conf file has not been changed since I originally wrote it.  It works here...

What do you get when you enter the following on your command line?

/sbin/apcaccess status 2>&1 | grep RELEASE | awk '{print $3}'

if nothing, what do you get with

/sbin/apcaccess status

 

Nothing for the first, and 'Error contacting host localhost port 3551: Connection refused' for the second.  However, that is probably because apcupsd isn't actually running since it is unable to talk to my serial port.  It does really install everything as far as I can tell.

 

I've been trying to use a USB->serial adapter but all the necessary drivers for it don't seem to be a part of this kernel build.  I posed a question about all that in the apc thread but so far have gotten no responses.

 

As far as the "sed" it is because apcupsd is smart enough to locate the USB HID device with the UPS as long as you do not force it to use the serial port with the line I am commenting out via the stream edit.

 

Joe L.

 

I see.  Maybe it would be less confusing if UPSTYPE was also in that script, since the DEVICE's presence actually depends on UPSTYPE.  Currently it just assumes 'usb'.  Maybe even UPSCABLE as well to indicate those should be tuned there, in that script.  I understand it as do many others, but some may be confused by it.  Just a thought.

 

--Bill

Now I see why the version string was empty... the PACKAGE_VERSION_TEST was coming up empty since the process was not starting.  Check out the alternate line for the package.conf file I posted a few minutes ago.  It will not care if apcupsd is running or not.  The error message you showed seems to indicate it was trying to communicate with a LAN based port.
Link to comment

Now I see why the version string was empty... the PACKAGE_VERSION_TEST was coming up empty since the process was not starting.  Check out the alternate line for the package.conf file I posted a few minutes ago.  It will not care if apcupsd is running or not.   The error message you showed seems to indicate it was trying to communicate with a LAN based port.

 

Works perfectly now, Joe.  Thanks!

 

--Bill

 

Link to comment

actually running since it is unable to talk to my USB-serial port.  It does really install everything as far as I can tell.

Does your MB not have a built-in serial port?

 

It does, but only available on a header on the motherboard.  The only header-to-db9 cable I have doesn't seem to have the right pinout and doesn't seem to work.  I have the port configured as your typical COM 1 (irq 4, base address 0x3f8) and am using /dev/ttyS0 for it.  Before I even fiddled with the UPS I had a loopback plug installed (2-3, 1-4, 7-8 jumpered, same as on the PC end of the APC cable), so if the port was actually working I should be able to take minicom and get an echo on anything I type ... but there is none.  So unless I'm doing something wrong with the ttys, it's got to be the header cable.

 

USB serial was a bust as well, so far at least.

 

Any thoughts?

 

--Bill

 

 

--Bill

Link to comment

actually running since it is unable to talk to my USB-serial port.  It does really install everything as far as I can tell.

Does your MB not have a built-in serial port?

 

It does, but only available on a header on the motherboard.  The only header-to-db9 cable I have doesn't seem to have the right pinout and doesn't seem to work.  I have the port configured as your typical COM 1 (irq 4, base address 0x3f8) and am using /dev/ttyS0 for it.  Before I even fiddled with the UPS I had a loopback plug installed (2-3, 1-4, 7-8 jumpered, same as on the PC end of the APC cable), so if the port was actually working I should be able to take minicom and get an echo on anything I type ... but there is none.  So unless I'm doing something wrong with the ttys, it's got to be the header cable.

 

USB serial was a bust as well, so far at least.

 

Any thoughts?

 

--Bill

 

 

--Bill

Make sure you enable it in the MB bios.
Link to comment

I installed the new unMenu last night and got it up and running without a problem but I have noticed a line in my syslog that keeps repeating about every 5 minutes until something else on the tower starts up.  By something else starting I meant he mover script starting up, NTP checking its time, rtorrent kicking up some info, etc.

 

The line is:

Sep 24 21:36:46 Tower unmenu[7649]: cat: /sys/block/loo/stat: No such file or directory

 

THanks

Link to comment

I installed the new unMenu last night and got it up and running without a problem but I have noticed a line in my syslog that keeps repeating about every 5 minutes until something else on the tower starts up.  By something else starting I meant he mover script starting up, NTP checking its time, rtorrent kicking up some info, etc.

 

The line is:

Sep 24 21:36:46 Tower unmenu[7649]: cat: /sys/block/loo/stat: No such file or directory

 

THanks

Apparently coming from the myMain plug-iin as it self-refreshes every 5 minutes.  It is trying to collect I/O statistics for the devices in your array.

Can you type the following command and show me the output.  It will help figure out the best solution.

/root/mdcmd status| strings | grep rdevName | grep loo

 

Joe L.

Link to comment

Apparently coming from the myMain plug-iin as it self-refreshes every 5 minutes.  It is trying to collect I/O statistics for the devices in your array.

Can you type the following command and show me the output.  It will help figure out the best solution.

/root/mdcmd status| strings | grep rdevName | grep loo

 

Joe L.

 

When I run that command it just returns me straight to the command prompt and I see nothing on the screen.

Link to comment

Apparently coming from the myMain plug-iin as it self-refreshes every 5 minutes.  It is trying to collect I/O statistics for the devices in your array.

Can you type the following command and show me the output.  It will help figure out the best solution.

/root/mdcmd status| strings | grep rdevName | grep loo

 

Joe L.

 

When I run that command it just returns me straight to the command prompt and I see nothing on the screen.

I fully expected to see something like "loop"

 

Are you doing anything unusual configured with your "devices"? any loop-back devices mounted?

 

If you type this command, anything like "loo???" listed?

cat /proc/partitions | grep -v '^major' | grep -v '^$' 

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