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


Recommended Posts

hey joe, just installed and am having a problem getting the page to show.. did everything you said too, i think  :-\.. unziped files onto flash into a boot folder a made on the root of the flash. telneted in, cd to boot, and copy and pasted that nohup xxxx line into telnet, it returned with some numbers. tried to connect //sever:8080..(i've got mine called server) no go, tried tower:8080 just in case, no go.. restarted.. tried again, no go, telneted back in and redid the nohup thing, and still no go ??? ???

Link to comment
  • Replies 552
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Last time somebody reported the same type of symptom, it was their firewall.  Do you have a firewall on your PC?

 

If not, to see any error messages, invoke the process just as

awk -W re-interval -f /boot/unmenu.awk

that way you can see any error messages.

 

Joe L.

 

Link to comment

total 30484

drwxr-xr-x 2 root root    4096 Nov 16 19:49 boot/

-rwxr-xr-x 1 root root  1735152 Oct  1 02:11 bzimage*

-rwxr-xr-x 1 root root 29233595 Oct  1 02:11 bzroot*

drwxr-xr-x 3 root root    4096 Oct 27 22:23 config/

-r-xr-xr-x 1 root root    10835 Apr 13  2008 ldlinux.sys*

-rwxr-xr-x 1 root root    5124 Mar 18  2008 license.txt*

-rwxr-xr-x 1 root root    99256 Mar 18  2008 memtest*

-rwxr-xr-x 1 root root    33404 Mar 18  2008 menu.c32*

-rwxr-xr-x 1 root root    4053 Apr  5  2008 readme.txt*

-rwxr-xr-x 1 root root    2870 Aug 27 02:07 sysctl.conf*

drwxr-xr-x 2 root root    4096 Apr 10  2008 syslinux/

-rwxr-xr-x 1 root root      196 Apr 13  2008 syslinux.cfg*

-rwxr-xr-x 1 root root    53572 Sep 23 13:30 syslog.txt*

 

Link to comment

Apparently, you made a sub-folder named "boot" on your flash drive, and that is what you are looking at from windows.

 

When the flash drive is mounted under Linux, its top level folder is mounted at /boot.

If the files were at /boot, you would see them in the listing, they are not there, so you are getting an accurate error message.  You actually put them in a sub folder named (from windows perspecive) \\tpwer\flash\boot.  You would see them logged in via telnet if you typed:

ls -l /boot/boot/

 

Either move the files to \\tower\flash  (from window's perspective) or if logged in via telnet you can type

mv /boot/boot/* /boot

rmdir /boot/boot

 

or,

under windows, drag the files to \\tower\flash from \\tower\flash\boot

 

Then try invoking it again.

 

Joe L.

Link to comment

Oh yes, one more thing...

 

If you originally typed the "while true..... done"  line in to invoke unmenu, it is probably still looping as fast as it can... eating up CPU cycles.

 

Type

ps -ef

to see it in a process listing, then type

kill pid

(where pid = the numberic process ID shown in the process listing)

 

Example:  I just did a ps -ef command and the tail end of it looked like this:

[pre]

root      6000    2  0 Nov13 ?        00:00:00 [reiserfs/0]

root      6031    1  1 Nov13 ?        01:12:39 /usr/local/sbin/shfs /mnt/user

root      7497 14416  0 Nov15 ?        00:01:48 /usr/sbin/smbd -D

root      9233 14416  0 Nov15 ?        00:03:16 /usr/sbin/smbd -D

root    11596    1  0 Nov14 ?        00:00:00 sh -c while true; do awk  -W re-interval -f /boot/unmenu.awk; done

root    14414    1  0 Nov14 ?        00:00:04 /usr/sbin/nmbd -D

root    14416    1  0 Nov14 ?        00:00:00 /usr/sbin/smbd -D

root    14417 14416  0 Nov14 ?        00:00:00 /usr/sbin/smbd -D

root    16390 11596  0 Nov14 ?        00:00:23 awk -W re-interval -f /boot/unmenu.awk

root    24310 14416  1 18:45 ?        00:03:20 /usr/sbin/smbd -D

root    25989 31570  0 22:17 pts/0    00:00:00 ps -ef

root    30992 14416  0 Nov14 ?        00:22:05 /usr/sbin/smbd -D

root    31569  1667  0 Nov14 ?        00:00:02 in.telnetd: 192.168.2.10

root    31570 31569  0 Nov14 pts/0    00:00:00 -bash

root@Tower:/boot#

[/pre]

The line in RED above is the "while loop"  It is process ID 11596 on my server... It would have a different process ID on yours.

To kill it on mine, I would type

kill 11596

 

Once you kill the while loop, after you move the files to the correct folder, you can re-invoke it.

 

Joe L.

Link to comment

kewl, thanks joe.. seeing you put it into a folder named boot, i just did the same. but didn't realise the root folder was actuall the boot folder ;)

 

all done and working

 

thanks for the help

Glad  to  help.

 

The 1.0 version of unmenu uses mount  options correct for NTFS drives.  The 1.1 version (not yet released by me, but soon) will allow you to specify mount options per file-system type.  In fact, they  are already in place for many.   If you attempt to mount a "fat" drive, you might get an error because of invalid options.

 

The new unmenu.conf file has these defines:

# Define per-filesystem mount options.
MOUNT_OPTIONS reiserfs = -r -o noatime,nodiratime -t reiserfs
MOUNT_OPTIONS ntfs-3g  = -r -o umask=111,dmask=000 -t ntfs-3g
MOUNT_OPTIONS vfat     = -r -t vfat
MOUNT_OPTIONS msdos    = -r -t msdos
MOUNT_OPTIONS ext2     = -r -t ext2
# This option for "other" is used for fs-types not specifically defined.
# the file system type is added by common code since it can not be specified here.
MOUNT_OPTIONS other    = -r
# the built-in ntfs driver is read only... DO NOT atttempt to use it as r/w
MOUNT_OPTIONS ntfs     = -r -o umask=111,dmask=000 -t ntfs

 

 

The new "mount" code looks like this, and takes advantage of the old read-only NTFS driver supplied with unRAID, but not normally loaded. It will be used if you do not have the ntfs-3g package loaded that allows read/write access.

     if ( PARAM[i] ~ "mount-" ) {
          delete d
          split(PARAM[i],d,"[=-]")
          if ( d[3] == "ntfs" ) {
             # if we have ntfs-3g, use it.
             if (system("test -f /bin/ntfs-3g")==0) {
                 d[3] = "ntfs-3g"
             } else {
                # load the old read-only driver, if it is not already loaded into memory.
                 system("lsmod | grep 'ntfs' >/dev/null 2>&1 || modprobe ntfs");
             }
          }
          system("mkdir /mnt/disk")
          mountpoint= "/mnt/disk/" d[2]
          system("mkdir " mountpoint )
          system("hdparm -S242 /dev/" substr(d[2],1,3) " >/dev/null")


          if ( d[3] in MOUNT_OPTIONS) {
             MountOptions = MOUNT_OPTIONS[d[3]]
          } else {
              if ( "other" in MOUNT_OPTIONS ) {
                 MountOptions = MOUNT_OPTIONS["other"] " -t " d[3]
              } else {
                 MountOptions = "-r -t " d[3]
              }
          }

          cmd="mount " MountOptions " /dev/" d[2] " " mountpoint " 2>&1"
          DiskCommandOutput = "<b><u><font size=\"+1\">/dev/" d[2] " mounted on " mountpoint "</font></u></b><br>"
          DiskCommandOutput = DiskCommandOutput "Using command: <b>" cmd "</b><br><pre>"
          RS="\n"
          while (( cmd | getline f ) > 0)  {
              DiskCommandOutput = DiskCommandOutput f ORS
          }
          close(cmd);
          DiskCommandOutput = DiskCommandOutput "</pre>"
          break;
      }

 

I also have a new function to load the MOUNT_OPTIONS array

function GetMountOptions(cfile) {
   RS="\n"
   while (( getline line < cfile ) > 0 ) {
      if ( line ~ "MOUNT_OPTIONS" ) {
          delete c;
          match( line , /^(MOUNT_OPTIONS)([\t ]*)([^\t =]*)([=\t ]*)(.*)/, c)
          #print c[1,"length"] " " c[2,"length"] " " c[3,"length"] " "  c[4, "length"] " " c[5, "length"] " " line
          if ( c[1,"length"] > 0 && c[3,"length"] > 0 && c[4, "length"] > 0 && c[5, "length"] > 0 ) {
               MOUNT_OPTIONS[substr(line, c[3,"start"],c[3,"length"])] = substr(line,c[5,"start"],c[5,"length"])
          }
      }
   }
   close(cfile);
}

 

It is invoked at the start of the function that sest up the Disk-Management page  (the added line is shown in RED below)

[pre]

function SetUpDiskMgmtPage( theMenuVal ) {

  GetMountOptions(ScriptDirectory "/" ConfigFile);

 

  if ( GETARG["disk_device"] == "" && GETARG["hdparm"] == "HDParm+Info" ) {

    DiskCommandOutput = "You must first select a disk before running hdparm on it."

    delete GETARG;

  }

[/pre]

 

So.. good things coming, allowing you to easiliy mount the USB drives you share with your brother.  These are not in the protected array, but great for migrating data from other PCs to your protected disks in the unRAID array.

 

Joe L.

Link to comment

kewl, actually having a problem atm with the ntfs suport thing... tried downloading the package but it came back saying it may be corrupt and it wont' install it, so i can't mount the drive ect... i've deleted the packages folder and restarting the server.. see how i go downloading it again

 

ok completely reinstalled unmenu and redownloaded the ntfs-3g package and still no go

 

i get this after download.... md5 Checksum: 7d6b633fe359fc2503a7e3c0c027a9ce (NOT matched - download may be corrupted.)

 

then when i hit install i get.... ntfs-3g-1.2216-i486-1McD.tgz installation:

 

Cannot install ntfs-3g-1.2216-i486-1McD.tgz: package is corrupt (failed 'gzip -l ntfs-3g-1.2216-i486-1McD.tgz')

 

ntfs-3g-1.2216-i486-1McD.tgz apparently did not install properly, /bin/ntfs-3g does not exist.

Link to comment

The version keeps changing... there is now a newer versoin of the ntfs-3g driver..., apparently, the link to the older version was no longer valid.

Attached is a newer package .conf file for the 1.2412 version of  ntfs-3g.

 

Edit: Oops, there was an even newer version, available as of just a few days ago apparently

It is version 1.5012.  An updated .conf file is attached.

 

Joe L.

Link to comment

all good... got stuff moving over now..

 

thanks for all the help.

 

ps. great work on your app, has opened up a whole new level to unraid features

 

anychance of the file browser being expanded to allow moving of files as well?, wouldn't have to telnet in to use mc anymore

Link to comment

all good... got stuff moving over now..

 

thanks for all the help.

 

ps. great work on your app, has opened up a whole new level to unraid features

Thanks.

anychance of the file browser being expanded to allow moving of files as well?, wouldn't have to telnet in to use mc anymore

Let me think of how I could do that from a user-interface perspective...  Might be possible, needs to wait till I get some other things done first...  Nice idea though, for simple tasks.

 

Joe L.

 

 

Link to comment

anychance of the file browser being expanded to allow moving of files as well?, wouldn't have to telnet in to use mc anymore

Mounting HD out of the parity and copiing files from it to the parity.

Then, when the files are all protected, you can add the new HD to the parity and format it.

This would be faster then using LAN for it.

 

Good idea.

 

I vote for it.

Link to comment

anychance of the file browser being expanded to allow moving of files as well?, wouldn't have to telnet in to use mc anymore

Mounting HD out of the parity and copiing files from it to the parity.

Then, when the files are all protected, you can add the new HD to the parity and format it.

This would be faster then using LAN for it.

 

Good idea.

 

I vote for it.

The ability to mount an existing NTFS drive to copy files from it to protected drives in the unRAID array already exists in unmenu.awk. (I voted for it too  ;))

 

Joe L.

Link to comment

It doesn't seem worthwhile to recreate some of the functionality of MC, especially in a scripting language like awk.  A better idea would be to run MC from within UnMENU, in a future version.  Or a button to run MC, near the Mount option, with folders auto opening to the just mounted drive(s).  However it may be too difficult to integrate the GUI of a console program into a web page.

 

It's only a few extra steps to mount the drive in UnMENU, then open a PuTTY or Telnet box, and run MC, and change to the mounted drive(s).

 

How-To's

Transferring Files Within the unRAID Server  (using PuTTY and MC)

Copy files from a NTFS drive  (will help you understand the process, if you were to do it manually, without UnMENU)

Link to comment

I am continuing work and testing of myMain.  I am running it on both my "prod" array and a test array.

 

As I do testing and tweaks on each system, it is becoming a PITA keeping the versions synchronized.

 

Is there a way I can link the "unmenu" directory between the two unRaid servers so that they are both working on the same physical directory.  That would make my task much easier!

 

Thanks!

 

 

Link to comment

I am continuing work and testing of myMain.  I am running it on both my "prod" array and a test array.

 

As I do testing and tweaks on each system, it is becoming a PITA keeping the versions synchronized.

 

Is there a way I can link the "unmenu" directory between the two unRaid servers so that they are both working on the same physical directory.  That would make my task much easier!

 

Thanks!

 

 

I'm sure it is possible, but perhaps an "rsync" command might keep them in sync with little effort otherwise.  I prefer to control deployment, that way, I can compare the current behavior with the new.

 

If you really want a shared drive, you could set up an SMB share on the development machine for the myMain folder, then on the test box do an smbmount.

Link to comment

I am having a problem with unmenu... none of the plugins are loading. I am getting the page, but only the basic 6 links at the top. I am loading it by doing 

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

 

the unmenu files are in a folder on the usb stick called unmenu. Its loading without any errors or anything, the plugins and scripts just arent available. Any ideas?

Link to comment

If the plugins and unmenu files are in a folder named "unmenu" on the usb flash drive, then you need to "cd" to that folder before starting unmenu

Instead of "cd /boot" use "cd /boot/unmenu"

 

You will probably need to kill the currently running unmenu.awk program and then re-start it AFTER you cd to the correct directory.

use

ps -ef | grep awk

to see the processes... (there are two you will need to kill, the "while loop" and the "awk -W ....." itself.

 

Use kill process_id for each, using the process_id as shown in the "ps -ef" command.

 

here is how it looks on my server:[pre]

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

root      3384     1  0 22:24 tty1     00:00:00 sh -c while true; do awk  -W re-interval -f ./unmenu.awk; done

root      3385  3384  0 22:24 tty1     00:00:00 awk -W re-interval -f ./unmenu.awk

root      4344  4330  0 22:45 pts/0    00:00:00 grep awk

root@Tower:/boot# kill 3384 3385

[/pre]

 

Once you've killed the program you currently have running, you can cd to /boot/unmenu and then re-issue the nohup command to start it again.  It will then find the plug-ins and its own unmenu.conf file.

 

try:

 

cd /boot/unmenu

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

 

Joe L.

 

 

Link to comment

I am having a strange quirk with unMenu. 

 

When displayed in Firefox 2.0.0.18, the "refresh" button in unMenu does nothing.  However, if I browse to the standard unRAID menu (not port 8080), the refresh button works as expected.

 

When viewed in IE6, the refresh button works as expected.

 

I first noticed this last night running unRAID 4.3.3 and it continues after upgrade to 4.4

 

None of this is any kind of issue for my using unMenu.  Just thought I would report it.

 

Thanks for this great add-on,

 

Bill = Inexperienced unRAID user / Linux moron

Link to comment

I am having a strange quirk with unMenu. 

 

When displayed in Firefox 2.0.0.18, the "refresh" button in unMenu does nothing.  However, if I browse to the standard unRAID menu (not port 8080), the refresh button works as expected.

 

When viewed in IE6, the refresh button works as expected.

 

I first noticed this last night running unRAID 4.3.3 and it continues after upgrade to 4.4

 

None of this is any kind of issue for my using unMenu.  Just thought I would report it.

 

Thanks for this great add-on,

 

Bill = Inexperienced unRAID user / Linux moron

If you are referring to the "Refresh" button in the Lime-Technology supplied management page displayed through unmenu, then I've seen the same behavior. 

 

Apparently, Firefox does not think the management page on the inline frame I'm using to display it has changed, and therefore, does nothing to to re-submit the form...

 

If you are referring to any other "refresh" button on a different screen, then I'm not sure of what you are referring to, since I did not put one on the main page of unmenu.awk.  (Every browser has one, I did not need to add another, besides, it "refreshes itself")

 

Glad you like the unmenu.awk interface.  It has turned into a very nice tool to help prototype new features for unRAID.

 

Joe L.

Link to comment

 

If you are referring to the "Refresh" button in the Lime-Technology supplied management page displayed through unmenu, then I've seen the same behavior. 

 

Apparently, Firefox does not think the management page on the inline frame I'm using to display it has changed, and therefore, does nothing to to re-submit the form...

 

That's it Joe (the in-line frame).  Thanks for confirming.

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