unMENU 1.5 ... now available for download.


Recommended Posts

  • Replies 1.3k
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Thanks for the updates Joe.. ISO and File browser work fine now!

Glad it is working.  It took a bit of analysis, and you helped.

 

Having everything in SVN under google.code makes it easy now for me.

(and hopefully easier for users of unMENU to keep up to date too)

 

Is the built-in button to check-for-updates working for you, or are you doing it on the command line?

 

Link to comment

Thanks for the updates Joe.. ISO and File browser work fine now!

Glad it is working.   It took a bit of analysis, and you helped.

 

Having everything in SVN under google.code makes it easy now for me.

(and hopefully easier for users of unMENU to keep up to date too)

 

Is the built-in button to check-for-updates working for you, or are you doing it on the command line?

 

 

I did my last update via the unmenu button and it seemed to work fine.

 

I do have a question though.  If we download a new conf that has stuff changed does a new .auto_install get created so that the new lines in the install are run?  If not i think an "rm" on the .manual_install and .auto_install files might be in order.  Present some text that then lets the user know he has downloaded and updated .conf and needs to reinstall with the new settings.

Link to comment

Thanks for the updates Joe.. ISO and File browser work fine now!

Glad it is working.   It took a bit of analysis, and you helped.

 

Having everything in SVN under google.code makes it easy now for me.

(and hopefully easier for users of unMENU to keep up to date too)

 

Is the built-in button to check-for-updates working for you, or are you doing it on the command line?

 

I used the built in button.. (which did disappear again but came back after a reboot..??)

Link to comment

I do have a question though.  If we download a new conf that has stuff changed does a new .auto_install get created so that the new lines in the install are run?  If not i think an "rm" on the .manual_install and .auto_install files might be in order.  Present some text that then lets the user know he has downloaded and updated .conf and needs to reinstall with the new settings.

Yes, you need to disable the auto-install on reboot, and re-enable auto-install on reboot for it to create new .auto_install files with newly updated contents based on the new downloaded package.conf files.

 

(You can always "rm" the files too, but you don't need to resort to the command line.)

 

Joe L.

Link to comment

Some feedback on the mysql package:

 

I saw some discussion in this thread back on 3/10 about issues with installing mysql, and I ran into similar problems that could only be solved by modifying the script.

 

1.  The original script has the user "mysql" both installing and starting the mysql daemon.  Although the directory that was created for the installation had its ownership changed earlier in the script to the "mysql" user, the installation would not complete because the tables would not populate due to ownership issues.  Since unraid uses root as its primary user anyway, rather than troubleshoot the "mysql" user issues, I changed the script to do everything as root.  Doing this also eliminated the need to chown the installation directory.

 

2.  I had problems with the daemon start command as well.  Using the "echo ... | at now" method wouldn't work.  I had to change it to the normal start method (using root, not mysql) and putting a 'sleep 10' following the start command.  The issue being that the mysqladmin commands would kick off before the service started.

 

 

I also made some other adjustments to the script due to my particular situation, but one thing I was not aware of prior to trying to install via unMenu was the install happens on disk1, and at the time, I didn't have a disk1 assigned.  I also didn't want it to install on disk1 anyway, so I modified it to install on a user share I had setup.

 

Below is the script I used.  A user share named "mysql" was setup prior to running the script, so the mkdir and chown commands at the start were removed.  Also, as you can see, the default Helium database was replaced with xbmc_videos along with an xbmc user since that was the database I needed.  I also changed localhost to Tower.

 

installpkg mysql-5.0.67-i486-1.tgz
cp /etc/my-medium.cnf /etc/my.cnf
sed -i -e "s/#innodb_data_home_dir = \/var\/lib\/mysql\//innodb_data_home_dir = \/mnt\/user\/mysql\//" /etc/my.cnf
sed -i -e "s/#innodb_log_group_home_dir = \/var\/lib\/mysql\//innodb_log_group_home_dir = \/mnt\/user\/mysql\//" /etc/my.cnf
sed -i -e "s/#innodb_log_arch_dir = \/var\/lib\/mysql\//innodb_log_arch_dir = \/mnt\/user\/mysql\//" /etc/my.cnf
[ ! -d /mnt/user/mysql/mysql ] && /usr/bin/mysql_install_db --datadir=/mnt/user/mysql/ --user=root
cd /usr ; /usr/bin/mysqld_safe --datadir=/mnt/user/mysql/ --user=root &
sleep 10
[ ! -e /mnt/user/mysql/.unmenu ] && /usr/bin/mysqladmin -u root password 'your_password'
[ ! -e /mnt/user/mysql/.unmenu ] && /usr/bin/mysqladmin -u root -h Tower --password=your_password password 'your_password'
[ ! -d /mnt/user/mysql/xbmc_videos ] && /usr/bin/mysqladmin -u root -h Tower --password=your_password create xbmc_videos
[ -d /mnt/user/mysql/xbmc_videos ] && mysql -u root -h Tower --password=your_password --database=xbmc_videos -e "GRANT ALL PRIVILEGES ON xbmc_videos.* TO xbmc@'%' IDENTIFIED BY 'xbmc_password';"
[ -d /mnt/user/mysql/test ] && /usr/bin/mysqladmin -u root -h Tower -f --password=your_password drop test
touch /mnt/user/mysql/.unmenu

 

 

 

 

Link to comment

Some feedback on the mysql package:

 

I saw some discussion in this thread back on 3/10 about issues with installing mysql, and I ran into similar problems that could only be solved by modifying the script.

 

1.  The original script has the user "mysql" both installing and starting the mysql daemon.  Although the directory that was created for the installation had its ownership changed earlier in the script to the "mysql" user, the installation would not complete because the tables would not populate due to ownership issues.  Since unraid uses root as its primary user anyway, rather than troubleshoot the "mysql" user issues, I changed the script to do everything as root.  Doing this also eliminated the need to chown the installation directory.

 

2.  I had problems with the daemon start command as well.  Using the "echo ... | at now" method wouldn't work.  I had to change it to the normal start method (using root, not mysql) and putting a 'sleep 10' following the start command.  The issue being that the mysqladmin commands would kick off before the service started.

 

 

I also made some other adjustments to the script due to my particular situation, but one thing I was not aware of prior to trying to install via unMenu was the install happens on disk1, and at the time, I didn't have a disk1 assigned.  I also didn't want it to install on disk1 anyway, so I modified it to install on a user share I had setup.

 

Below is the script I used.  A user share named "mysql" was setup prior to running the script, so the mkdir and chown commands at the start were removed.  Also, as you can see, the default Helium database was replaced with xbmc_videos along with an xbmc user since that was the database I needed.  I also changed localhost to Tower.

 

installpkg mysql-5.0.67-i486-1.tgz
cp /etc/my-medium.cnf /etc/my.cnf
sed -i -e "s/#innodb_data_home_dir = \/var\/lib\/mysql\//innodb_data_home_dir = \/mnt\/user\/mysql\//" /etc/my.cnf
sed -i -e "s/#innodb_log_group_home_dir = \/var\/lib\/mysql\//innodb_log_group_home_dir = \/mnt\/user\/mysql\//" /etc/my.cnf
sed -i -e "s/#innodb_log_arch_dir = \/var\/lib\/mysql\//innodb_log_arch_dir = \/mnt\/user\/mysql\//" /etc/my.cnf
[ ! -d /mnt/user/mysql/mysql ] && /usr/bin/mysql_install_db --datadir=/mnt/user/mysql/ --user=root
cd /usr ; /usr/bin/mysqld_safe --datadir=/mnt/user/mysql/ --user=root &
sleep 10
[ ! -e /mnt/user/mysql/.unmenu ] && /usr/bin/mysqladmin -u root password 'your_password'
[ ! -e /mnt/user/mysql/.unmenu ] && /usr/bin/mysqladmin -u root -h Tower --password=your_password password 'your_password'
[ ! -d /mnt/user/mysql/xbmc_videos ] && /usr/bin/mysqladmin -u root -h Tower --password=your_password create xbmc_videos
[ -d /mnt/user/mysql/xbmc_videos ] && mysql -u root -h Tower --password=your_password --database=xbmc_videos -e "GRANT ALL PRIVILEGES ON xbmc_videos.* TO xbmc@'%' IDENTIFIED BY 'xbmc_password';"
[ -d /mnt/user/mysql/test ] && /usr/bin/mysqladmin -u root -h Tower -f --password=your_password drop test
touch /mnt/user/mysql/.unmenu

May I incorporate the changes to fix the original script?  I think it will help everybody.

 

Thanks so much for figuring out what needed to be done.  (especially since I have XBMC running here too, and as soon as I get the HTPC upgraded/converted to use it, I'll be looking to have one database for the movie catalog.)

 

Joe L.

Link to comment

May I incorporate the changes to fix the original script?  I think it will help everybody.

 

Thanks so much for figuring out what needed to be done.  (especially since I have XBMC running here too, and as soon as I get the HTPC upgraded/converted to use it, I'll be looking to have one database for the movie catalog.)

 

Joe L.

 

I'll do even better than that.  I did a re-write of the original unMENU conf file to include variables, but will leave the #UNMENU_RELEASE info at the top for you.  If you see anything that needs to be changed/fixed, feel free.  I have tested this several times on my server and it works for me just fine.

 

Here are the variables:

Hostname

Disk for Databases

MySQL Root Password

First Database

Database User (specifically for the First Database created)

Database User Password

 

 

A few items to note: 

 

1. The installation is done by root.  There is no 'mysql' user since this was the cause of my ownership problems.

 

2.  The MySQL user 'root' is granted all privileges on all databases from anywhere (with the grant option).  This allows root to remotely access MySQL (a big need for me).  Likewise, the Database User is granted all privileges for only the database that is added, but has remote access from anywhere as well (no grant option given).

 

3. The disk can be a user share, but the user share needs to be set up beforehand.  I would imagine it probably is not wise to allow it to split either.  In the future, when I get a cache drive, I may use that instead by using a '.mysql' directory.

 

4.  To stop the array, mysqld needs to be stopped/killed.

 

I am completely new to unRAID, and therefore unMENU as well, but so far love both.  With that said, I tried looking for guidelines for setting up an unMENU package and came up empty, so I am not sure how the "manual" and "auto" installers work in regards to the packages conf file and variables.  Are these created manually as well, or is there a process that you/unMENU does to create them from the conf file?  Also, is there a process that can be done to keep from needing to manually kill the mysqld process when the array is stopped?

 

I have both attached the file and provided it in the below code snippet.

 

#UNMENU_RELEASE $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $
PACKAGE_NAME mysql (SQL-based relational database server)
PACKAGE_DESCR MySQL is a fast, multi-threaded, multi-user, and robust SQL
PACKAGE_DESCR (Structured Query Language) database server.  It comes with a nice API
PACKAGE_DESCR which makes it easy to integrate into other applications.
PACKAGE_DESCR The home page for MySQL is http://www.mysql.com/
PACKAGE_URL http://slackware.cs.utah.edu/pub/slackware/slackware-12.2/slackware/ap/mysql-5.0.67-i486-1.tgz
PACKAGE_FILE mysql-5.0.67-i486-1.tgz
PACKAGE_MD5 2152772395c13f5af16874760105a33d
PACKAGE_INSTALLED /usr/bin/mysql
PACKAGE_DEPENDENCIES none
PACKAGE_VARIABLE Hostname||vHOSTNAME=Tower||Hostname of unRAID server
PACKAGE_VARIABLE Disk Label||vDISKLABEL=disk1||Disk for installation and databases, e.g. disk1, disk2, etc
PACKAGE_VARIABLE MySQL root Password||vROOTPWD=your_password||Password for user 'root'
PACKAGE_VARIABLE First Database||vDATABASE=Tower||First Database to create
PACKAGE_VARIABLE Database User||vDBUSER=root||User for First Database (GRANT ALL PRIVILEGES)
PACKAGE_VARIABLE Database User Password||vDBUSERPWD=your_password||Password for Database User
PACKAGE_INSTALLATION killall mysqld
PACKAGE_INSTALLATION installpkg mysql-5.0.67-i486-1.tgz
PACKAGE_INSTALLATION [ ! -d /mnt/${vDISKLABEL-disk1}/mysql ] && mkdir /mnt/${vDISKLABEL-disk1}/mysql
PACKAGE_INSTALLATION cp /etc/my-medium.cnf /etc/my.cnf
PACKAGE_INSTALLATION sed -i -e "s/#innodb_data_home_dir = \/var\/lib\/mysql\//innodb_data_home_dir = \/mnt\/${vDISKLABEL-disk1}\/mysql\//" /etc/my.cnf
PACKAGE_INSTALLATION sed -i -e "s/#innodb_log_group_home_dir = \/var\/lib\/mysql\//innodb_log_group_home_dir = \/mnt\/${vDISKLABEL-disk1}\/mysql\//" /etc/my.cnf
PACKAGE_INSTALLATION sed -i -e "s/#innodb_log_arch_dir = \/var\/lib\/mysql\//innodb_log_arch_dir = \/mnt\/${vDISKLABEL-disk1}\/mysql\//" /etc/my.cnf
PACKAGE_INSTALLATION [ ! -d /mnt/${vDISKLABEL-disk1}/mysql/mysql ] && /usr/bin/mysql_install_db --datadir=/mnt/${vDISKLABEL-disk1}/mysql/ --user=root
PACKAGE_INSTALLATION cd /usr ; /usr/bin/mysqld_safe --datadir=/mnt/${vDISKLABEL-disk1}/mysql/ --user=root &
PACKAGE_INSTALLATION sleep 10
PACKAGE_INSTALLATION [ ! -e /mnt/${vDISKLABEL-disk1}/mysql/.unmenu ] && /usr/bin/mysqladmin -u root password ${vROOTPWD-your_password}
PACKAGE_INSTALLATION [ ! -e /mnt/${vDISKLABEL-disk1}/mysql/.unmenu ] && /usr/bin/mysqladmin -u root -h ${vHOSTNAME-Tower} --password=${vROOTPWD-your_password} password ${vROOTPWD-your_password}
PACKAGE_INSTALLATION mysql -u root --password=${vROOTPWD-your_password} -e "GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '${vROOTPWD-your_password}' WITH GRANT OPTION;"
PACKAGE_INSTALLATION [ ! -d /mnt/${vDISKLABEL-disk1}/mysql/${vDATABASE-Tower} ] && /usr/bin/mysqladmin -u root -h ${vHOSTNAME-Tower} --password=${vROOTPWD-your_password} create ${vDATABASE-Tower}
PACKAGE_INSTALLATION [ -d /mnt/${vDISKLABEL-disk1}/mysql/${vDATABASE-Tower} ] && mysql -u root -h ${vHOSTNAME-Tower} --password=${vROOTPWD-your_password} --database=${vDATABASE-Tower} -e "GRANT ALL PRIVILEGES ON ${vDATABASE-Tower}.* TO ${vDBUSER-root}@'%' IDENTIFIED BY '${vDBUSERPWD-your_password}';"
PACKAGE_INSTALLATION [ -d /mnt/${vDISKLABEL-disk1}/mysql/test ] && /usr/bin/mysqladmin -u root -h ${vHOSTNAME-Tower} -f --password=${vROOTPWD-your_password} drop test
PACKAGE_INSTALLATION touch /mnt/${vDISKLABEL-disk1}/mysql/.unmenu
PACKAGE_VERSION_TEST mysql --version 2>&1 | grep Distrib | awk '{print $5}'
PACKAGE_VERSION_STRING 5.0.67,
PACKAGE_MEMORY_USAGE May be huge

mysql-custom-unmenu-package.conf

Link to comment

Wow... wonderful...

 

As far as the .manual_install file.  It is created and executed when you press the "Install packagename" button on the unMENU Package-manager.  It is never used again, but it is available in the /boot/packages directory for you to use if you ever need to perform the same installation via the command line.

 

The .auto_install file is an exact duplicate file, but put into place when you request that the package be re-installed on re-boot.

 

If you elect to disable re-install on re-boot, the .auto_install file is just deleted.

 

All the .auto_install files are invoked on re-boot by a line added to the bottom of the config/go script that looks like this:

cd /boot/packages && find . -name '*.auto_install' -type f -print | sort | xargs -n1 sh -c

 

It invokes each of the .auto_install files it finds in /boot/packages in turn when you reboot.

 

Most of the .auto_install files in /boot/packages are from the package-manager in unMENU, but I do have a few that I just hand-coded.

root@Tower:/boot/packages# ls /boot/packages/*.auto_install

/boot/packages/apcupsd-3.14.3-i486-1kjz.tgz.auto_install*  /boot/packages/powerdown-1.02-noarch-unRAID.tgz.auto_install*

/boot/packages/bash_init.auto_install*                      /boot/packages/rc_files.auto_install*

/boot/packages/bwm-ng-0.6-i486-2bj.tgz.auto_install*        /boot/packages/ssmtp_2.61.orig.tar.gz.auto_install*

/boot/packages/file-4.21-i486-1.tgz.auto_install*          /boot/packages/unmenu.auto_install*

/boot/packages/htop-0.8.3-i486-1sl.tgz.auto_install*        /boot/packages/unraid-status-email.auto_install*

/boot/packages/iftop-0.17-i486-1kan.tgz.auto_install*      /boot/packages/unraid_addon_control.auto_install*

/boot/packages/inotify-tools-3.13-i486-1.tgz.auto_install*  /boot/packages/vi_keymap.auto_install*

/boot/packages/monthly_parity_check.auto_install*          /boot/packages/vm_free_kbytes.auto_install*

/boot/packages/pciutils-2.2.10-i486-2.tgz.auto_install*

 

Those in bold above were hand coded.  One example is unmenu.auto_install

It has as its contents:

root@Tower:/boot/packages# cat unmenu.auto_install

cd /boot/unmenu_dist13

./uu

It re-starts my unMENU instance each time I reboot the server.  Yes, I could add lines to my "go" script to start it, but I like all the .auto_install scripts in one place.

 

I'll be happy to answer any questions you have on unMENU or the package-manager.  The "config variables" in version 1.3 are new, and I'm finding them a very nice addition.  They make it very easy for a beginner.

 

I'll check out your mysql script.  I'll probably replace the one  I have with it. (The old version was submitted by a different user who had written it for their use before the Config-Variable feature was ever even thought of)

 

We might want to add to the script the creation of two buttons on the user-scripts page.  One to stop the mysql server, the other to start it.  Let me do that as I have a script that will allow me to start the mysql server after the array is on-line and stop it before the array is stopped.  We probably need that logic in the script you submitted... Otherwise it will potentially attempt to start the mysqld even before its database files are accessible.

 

Thanks again... I really appreciate the help.

 

Joe L.

Link to comment

I tried just pressing the "Install" button and got this at the end of the install processing:

 

Starting mysqld daemon with databases from /mnt/disk1/mysql/

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

/usr/bin/mysqladmin: connect to server at 'Tower' failed

error: 'Access denied for user 'root'@'localhost' (using password: YES)'

 

Something is still not as needed.  (I did not yet look at the .manual_install script the package created, but will do it later this evening)

Link to comment

Interesting... :-[

 

I did change the variables before posting here from my personal edits, but don't think I touched anything else.  After seeing your post, I was about to run another test with this very file I uploaded, but when I went to remotely reboot my server (I'm currently at work), the server decided it didn't want to come back up.  So I'll have to wait until tonight.

 

Just a question....did you by chance run the install over an existing install, or a fresh boot with no existing /mnt/disk1/mysql?  Only reason I ask is that I ran into an issue during testing where it was pulling in older 'root' credentials because I didn't do a fresh clear and reboot from a prior install.  Then again, I was also having issues with the password variables inside single quotes inside a mysql -e query (it would take the name of the variable as the password rather than the contents of the variable).  Who knows...I very well may have hosed something when I was changing the variables prior to uploading.

 

I'll see what I can find when I get home since who knows what my server is doing now  ;D

Link to comment

Wow... wonderful...

 

As far as the .manual_install file.  It is created and executed when you press the "Install packagename" button on the unMENU Package-manager.  It is never used again, but it is available in the /boot/packages directory for you to use if you ever need to perform the same installation via the command line.

 

The .auto_install file is an exact duplicate file, but put into place when you request that the package be re-installed on re-boot.

 

If you elect to disable re-install on re-boot, the .auto_install file is just deleted.

 

All the .auto_install files are invoked on re-boot by a line added to the bottom of the config/go script that looks like this:

cd /boot/packages && find . -name '*.auto_install' -type f -print | sort | xargs -n1 sh -c

 

It invokes each of the .auto_install files it finds in /boot/packages in turn when you reboot.

 

Most of the .auto_install files in /boot/packages are from the package-manager in unMENU, but I do have a few that I just hand-coded.

root@Tower:/boot/packages# ls /boot/packages/*.auto_install

/boot/packages/apcupsd-3.14.3-i486-1kjz.tgz.auto_install*  /boot/packages/powerdown-1.02-noarch-unRAID.tgz.auto_install*

/boot/packages/bash_init.auto_install*                      /boot/packages/rc_files.auto_install*

/boot/packages/bwm-ng-0.6-i486-2bj.tgz.auto_install*        /boot/packages/ssmtp_2.61.orig.tar.gz.auto_install*

/boot/packages/file-4.21-i486-1.tgz.auto_install*          /boot/packages/unmenu.auto_install*

/boot/packages/htop-0.8.3-i486-1sl.tgz.auto_install*        /boot/packages/unraid-status-email.auto_install*

/boot/packages/iftop-0.17-i486-1kan.tgz.auto_install*      /boot/packages/unraid_addon_control.auto_install*

/boot/packages/inotify-tools-3.13-i486-1.tgz.auto_install*  /boot/packages/vi_keymap.auto_install*

/boot/packages/monthly_parity_check.auto_install*          /boot/packages/vm_free_kbytes.auto_install*

/boot/packages/pciutils-2.2.10-i486-2.tgz.auto_install*

 

Those in bold above were hand coded.  One example is unmenu.auto_install

It has as its contents:

root@Tower:/boot/packages# cat unmenu.auto_install

cd /boot/unmenu_dist13

./uu

It re-starts my unMENU instance each time I reboot the server.  Yes, I could add lines to my "go" script to start it, but I like all the .auto_install scripts in one place.

 

I'll be happy to answer any questions you have on unMENU or the package-manager.  The "config variables" in version 1.3 are new, and I'm finding them a very nice addition.  They make it very easy for a beginner.

 

I'll check out your mysql script.  I'll probably replace the one  I have with it. (The old version was submitted by a different user who had written it for their use before the Config-Variable feature was ever even thought of)

 

We might want to add to the script the creation of two buttons on the user-scripts page.  One to stop the mysql server, the other to start it.  Let me do that as I have a script that will allow me to start the mysql server after the array is on-line and stop it before the array is stopped.  We probably need that logic in the script you submitted... Otherwise it will potentially attempt to start the mysqld even before its database files are accessible.

 

Thanks again... I really appreciate the help.

 

Joe L.

 

Thanks for all the info!  It clears up a lot of questions I had.  I did notice the added line in the go script after installing unMENU, and love the idea of using the packages folder with mini scripts rather than making my go script into a novel.  I actually plan on using the .auto_install naming for any custom boot items I do outside of unMENU.

 

I like the idea of adding the buttons to the script page and agree that your script for starting and stopping after the array is online and before it goes offline is the right approach.

Link to comment

As I said, I did not look into it at all.  I did not explicitly create a mysql directory on disk1 this time, but I see I have a directory there from when I last tried the .conf file.  The files in it are all owned by mysql. Perhaps that was it.

 

Ah...no worries.  It was just reminiscent of the troubles I had, but that sounds like that may be the issue.  The 'mysql' database that is in that directory would have the user/password credentials from the previous install.

Link to comment

The new version isn't installing for me...

I must be doing something wrong.  I downloaded from here: http://code.google.com/p/unraid-unmenu/

 

It contains a single unmenu_install file.  I put that in my unmenu folder and ran it like: unmenu_install -u

It finished.  I killed and restarted uu.  Open a browser and in the About page it still says version 1.2.

 

So I killed it again.  renamed the unmenu folder and created a new unmenu folder.  Ran unmenu_install -i -d /boot/umenu

There isn't any /boot/unmenu/uu file. 

 

root@Queeg:/boot/unmenu# ls

apcupsd-unmenu-package.conf*  pciutils-unmenu-package.conf*

bwm-ng-unmenu-package.conf*    php-unmenu-package.conf*

cxxlibs-unmenu-package.conf*  powerdown_ctlaltdel-unmenu-package.conf*

file-unmenu-package.conf*      proftp-unmenu-package.conf*

lighttpd-unmenu-package.conf*  rsync-unmenu-package.conf*

lsof-unmenu-package.conf*      smartctl-unmenu-package.conf*

mysql-unmenu-package.conf*    unmenu_install*

openssh-unmenu-package.conf*  unrar-unmenu-package.conf*

openssl-unmenu-package.conf*  zip-unmenu-package.conf*

 

Link to comment

I never said to kill "uu"

I said to use

killall awk

 

What happens when you run unmenu_install -u  ?

 

Do you see a set of about 80 files being downloaded?

 

You said you installed it by running

unmenu_install -i -d /boot/umenu

 

yet you looked for the files in /boot/unmenu

umenu != unmenu

 

 

Link to comment

I did exactly as described below.  I tried the unmenu_install -u first.  Yes lots of stuff flashed as it was running.  After rebooting the About page still said version 1.2.  Then I tried doing a clean install by making an empty unmenu folder and trying it again with the (as described below) correct parameters.  Yes I used killall awk (as described below).  Yes I read your instructions.  

 

There isn't any /boot/unmenu/uu file.   This is after running "unmenu_install -i -d /boot/unmenu " with an empty /boot/unmenu folder.

 

root@Queeg:/boot/unmenu# ls

apcupsd-unmenu-package.conf*   pciutils-unmenu-package.conf*

bwm-ng-unmenu-package.conf*    php-unmenu-package.conf*

cxxlibs-unmenu-package.conf*   powerdown_ctlaltdel-unmenu-package.conf*

file-unmenu-package.conf*      proftp-unmenu-package.conf*

lighttpd-unmenu-package.conf*  rsync-unmenu-package.conf*

lsof-unmenu-package.conf*      smartctl-unmenu-package.conf*

mysql-unmenu-package.conf*     unmenu_install*

openssh-unmenu-package.conf*   unrar-unmenu-package.conf*

openssl-unmenu-package.conf*   zip-unmenu-package.conf*

 

 

 

Unmenu is an improved, extensible web interface to supplement the web-based management console on Lime-Technology's unRAID Network Attached Storage OS.

Unmenu is a web-server and a set of web-pages written in GNU Awk. It is restricted in that it can only handle one "request" connection at a time. Plug-in pages can be written in "awk" or in any interpreted text language.

To install this on an unRAID server Create a /boot/unmenu directory

mkdir /boot/unmenu

 

Download the unmenu_install zip file. Unzip and move unmenu_install to the /boot/unmenu directory.

Then

cd /boot/unmenu

unmenu_install -i -d /boot/unmenu

If you already have an older unmenu version installed type

unmenu_install -u

To check an existing installation for available updates, type

unmenu_install -c

 

To start unmenu running, invoke it as

/boot/unmenu/uu

or

cd /boot/unmenu

./uu

 

Once running you can view the unMENU pages in your web-browser by browsing to

//tower:8080

 

If you had a prior version of unMENU running, you'll need to restart it to see the new version. This will typically do it:

killall awk

/boot/unmenu/uu

 

Link to comment

So Joe, if no /boot/unmenu/uu shows up I'm wondering if a clean install isn't working?  I tried very hard to follow your install guidelines.  

OK, I just did the following in "blue" with the resulting output in brown to double-check.   The text in RED are my comments describing what I am doing.

 

Everything worked as expected.

 

Please do the same and we'll compare output

cd /boot

root@Tower:/boot# ls unmenu             --- this is my existing set of files

07-unmenu-mymain.awk*                            50-unmenu-user_scripts.cgi*             myMain_local.conf*

08-unmenu-array_mgmt.awk*                        50-unmenu_user_script_smarthist-graph*  myMain_local.conf.sample*

09-unmenu-disk_mgmt.awk*                         600-unmenu-file_edit.awk*               myMain_local.conf.sample2*

10-unmenu-links.awk*                             70-unmenu_user_script_samba_mask*       mysql-unmenu-package.conf*

10-unmenu_user_script_hello*                     80-unmenu_user_script_swapfile_off*     ntfs-3g-2009-4.4-unmenu-package.conf*

10-unmenu_user_script_update_check_unmenu*       80-unmenu_user_script_swapfile_on*      ntfs-3g-2010.3.6-unmenu-package.conf*

10-unmenu_user_script_update_unmenu*             85-unmenu_user_script_sleep*            openssh-unmenu-package.conf*

100-unmenu_user_script_unraid_version*           95-unmenu_user_script_test_email*       openssl-unmenu-package.conf*

1000-unmenu_user_script_kill*                    99-unmenu-utility.awk*                  pciutils-unmenu-package.conf*

1000-unmenu_user_script_restart*                 990-unmenu-wget.awk*                    perl-unmenu-package.conf*

15-unmenu-disk_perf.cgi*                         999-unmenu-unraid_main.awk*             php-unmenu-package.conf*

16-unmenu-syslog.awk*                            apcupsd-unmenu-package.conf*            powerdown_ctlaltdel-unmenu-package.conf*

17-unmenu-syslog.awk*                            apcupsd3-unmenu-package.conf*           proftp-unmenu-package.conf*

18-unmenu-lsof.awk*                              bwm-ng-unmenu-package.conf*             rsync-unmenu-package.conf*

20-unmenu-usage.awk*                             compiler-unmenu-package.conf*           screen-unmenu-package.conf*

200-unmenu-smarthistory.cgi*                     cpio-unmenu-package.conf*               smartctl-unmenu-package.conf*

25-unmenu-dupe_files.awk*                        cxxlibs-unmenu-package.conf*            socat-unmenu-package.conf*

29-unmenu-sysinfo.awk*                           drivedb.lib.awk*                        svn-unmenu-package.conf*

30-unmenu-file_browser.awk*                      ds_store_cleanup-unmenu-package.conf*   syslog_match.conf*

30-unmenu_user_script_getra*                     file-unmenu-package.conf*               unmenu.awk*

30-unmenu_user_script_setra-0256*                htop-unmenu-package.conf*               unmenu.base.lib.awk*

30-unmenu_user_script_setra-1024*                iftop-unmenu-package.conf*              unmenu.conf*

30-unmenu_user_script_setra-2048*                inotify-tools-unmenu-package.conf*      unmenu_install*

40-unmenu-iso_share.awk*                         istat-unmenu-package.conf*              unmenu_local.conf*

40-unmenu_user_script_disk_speed*                jre-unmenu-package.conf*                unmenu_old_2010-04-20_0750/

40-unmenu_user_script_stop_crashplan*            lighttpd-unmenu-package.conf*           unmenu_old_2010-04-20_1342/

40-unmenu_user_script_tar_crashplan*             lsof-unmenu-package.conf*               unraid-swapfile-unmenu-package.conf*

45-unmenu_user_script_scheduler__current_value*  mail-ssmtp-unmenu-package.conf*         unraid-web-unmenu-package.conf*

45-unmenu_user_script_scheduler_anticipatory*    mail_status-unmenu-package.conf*        unrar-unmenu-package.conf*

45-unmenu_user_script_scheduler_cfq*             md5deep-unmenu-package.conf*            utility.lib.awk*

45-unmenu_user_script_scheduler_deadline*        monthly-parity-unmenu-package.conf*     uu*

45-unmenu_user_script_scheduler_noop*            myMain.conf*                            zip-unmenu-package.conf*

root@Tower:/boot# killall awk       <-- I killed the existing process

root@Tower:/boot# rm -rf unmenu             <-- I removed the existing unmenu directory and everything in it.

root@Tower:/boot# cd /boot/unmenu    <-- I tried to change directory, but it does not exist

-bash: cd: /boot/unmenu: No such file or directory

root@Tower:/boot# head -4 unmenu_install  <-- verify you have the same version of unmenu_install

#  This script is used to setup or update unmenu.

#UNMENU_RELEASE $Revision: 62 $ $Date: 2010-04-20 11:11:40 -0400 (Tue, 20 Apr 2010) $

 

version=1.2

root@Tower:/boot# unmenu_install -i -d /boot/unmenu    <-- I invoke the unmenu_install command, lots of files are downloaded

Downloading 07-unmenu-mymain.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 07-unmenu-mymain.awk

Downloading 08-unmenu-array_mgmt.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 08-unmenu-array_mgmt.awk

Downloading 09-unmenu-disk_mgmt.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 09-unmenu-disk_mgmt.awk

Downloading 10-unmenu-links.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 10-unmenu-links.awk

Downloading 10-unmenu_user_script_hello

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 10-unmenu_user_script_hello

Downloading 10-unmenu_user_script_update_check_unmenu

rev $Revision: 31 $ $Date: 2010-04-05 14:01:51 -0400 (Mon, 05 Apr 2010) $

Installed 10-unmenu_user_script_update_check_unmenu

Downloading 10-unmenu_user_script_update_unmenu

rev $Revision: 32 $ $Date: 2010-04-05 14:02:17 -0400 (Mon, 05 Apr 2010) $

Installed 10-unmenu_user_script_update_unmenu

Downloading 100-unmenu_user_script_unraid_version

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 100-unmenu_user_script_unraid_version

Downloading 1000-unmenu_user_script_kill

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 1000-unmenu_user_script_kill

Downloading 1000-unmenu_user_script_restart

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 1000-unmenu_user_script_restart

Downloading 15-unmenu-disk_perf.cgi

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 15-unmenu-disk_perf.cgi

Downloading 16-unmenu-syslog.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 16-unmenu-syslog.awk

Downloading 17-unmenu-syslog.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 17-unmenu-syslog.awk

Downloading 18-unmenu-lsof.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 18-unmenu-lsof.awk

Downloading 20-unmenu-usage.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 20-unmenu-usage.awk

Downloading 200-unmenu-smarthistory.cgi

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 200-unmenu-smarthistory.cgi

Downloading 25-unmenu-dupe_files.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 25-unmenu-dupe_files.awk

Downloading 29-unmenu-sysinfo.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 29-unmenu-sysinfo.awk

Downloading 30-unmenu-file_browser.awk

rev $Revision: 60 $ $Date: 2010-04-20 11:03:49 -0400 (Tue, 20 Apr 2010) $

Installed 30-unmenu-file_browser.awk

Downloading 30-unmenu_user_script_getra

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 30-unmenu_user_script_getra

Downloading 30-unmenu_user_script_setra-0256

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 30-unmenu_user_script_setra-0256

Downloading 30-unmenu_user_script_setra-1024

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 30-unmenu_user_script_setra-1024

Downloading 30-unmenu_user_script_setra-2048

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 30-unmenu_user_script_setra-2048

Downloading 40-unmenu-iso_share.awk

rev $Revision: 66 $ $Date: 2010-04-20 13:36:12 -0400 (Tue, 20 Apr 2010) $

Installed 40-unmenu-iso_share.awk

Downloading 40-unmenu_user_script_disk_speed

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 40-unmenu_user_script_disk_speed

Downloading 40-unmenu_user_script_stop_crashplan

rev $Revision: 47 $ $Date: 2010-04-11 09:34:45 -0400 (Sun, 11 Apr 2010) $

Installed 40-unmenu_user_script_stop_crashplan

Downloading 40-unmenu_user_script_tar_crashplan

rev $Revision: 47 $ $Date: 2010-04-11 09:34:45 -0400 (Sun, 11 Apr 2010) $

Installed 40-unmenu_user_script_tar_crashplan

Downloading 45-unmenu_user_script_scheduler__current_value

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 45-unmenu_user_script_scheduler__current_value

Downloading 45-unmenu_user_script_scheduler_anticipatory

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 45-unmenu_user_script_scheduler_anticipatory

Downloading 45-unmenu_user_script_scheduler_cfq

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 45-unmenu_user_script_scheduler_cfq

Downloading 45-unmenu_user_script_scheduler_deadline

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 45-unmenu_user_script_scheduler_deadline

Downloading 45-unmenu_user_script_scheduler_noop

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 45-unmenu_user_script_scheduler_noop

Downloading 50-unmenu-user_scripts.cgi

rev $Revision: 61 $ $Date: 2010-04-20 11:09:34 -0400 (Tue, 20 Apr 2010) $

Installed 50-unmenu-user_scripts.cgi

Downloading 50-unmenu_user_script_smarthist-graph

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 50-unmenu_user_script_smarthist-graph

Downloading 600-unmenu-file_edit.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 600-unmenu-file_edit.awk

Downloading 70-unmenu_user_script_samba_mask

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 70-unmenu_user_script_samba_mask

Downloading 80-unmenu_user_script_swapfile_off

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 80-unmenu_user_script_swapfile_off

Downloading 80-unmenu_user_script_swapfile_on

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 80-unmenu_user_script_swapfile_on

Downloading 85-unmenu_user_script_sleep

rev $Revision: 58 $ $Date: 2010-04-17 09:13:05 -0400 (Sat, 17 Apr 2010) $

Installed 85-unmenu_user_script_sleep

Downloading 95-unmenu_user_script_test_email

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 95-unmenu_user_script_test_email

Downloading 99-unmenu-utility.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 99-unmenu-utility.awk

Downloading 990-unmenu-wget.awk

rev $Revision: 56 $ $Date: 2010-04-15 19:54:44 -0400 (Thu, 15 Apr 2010) $

Installed 990-unmenu-wget.awk

Downloading 999-unmenu-unraid_main.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed 999-unmenu-unraid_main.awk

Downloading drivedb.lib.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed drivedb.lib.awk

Downloading myMain.conf

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed myMain.conf

Downloading myMain_local.conf

rev $Revision: 51 $ $Date: 2010-04-13 14:27:16 -0400 (Tue, 13 Apr 2010) $

Installed myMain_local.conf

Downloading myMain_local.conf.sample

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed myMain_local.conf.sample

Downloading myMain_local.conf.sample2

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed myMain_local.conf.sample2

Downloading syslog_match.conf

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed syslog_match.conf

Downloading unmenu.awk

rev $Revision: 11 $ $Date: 2010-04-01 13:13:15 -0400 (Thu, 01 Apr 2010) $

Installed unmenu.awk

Downloading unmenu.base.lib.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed unmenu.base.lib.awk

Downloading unmenu.conf

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed unmenu.conf

Downloading unmenu_install

rev $Revision: 62 $ $Date: 2010-04-20 11:11:40 -0400 (Tue, 20 Apr 2010) $

Installed unmenu_install

Downloading utility.lib.awk

rev $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

Installed utility.lib.awk

Downloading uu

rev $Revision: 48 $ $Date: 2010-04-11 10:07:35 -0400 (Sun, 11 Apr 2010) $

Installed uu

root@Tower:/boot# cd unmenu   <-- I now find the directory exists and I can cd to it.

root@Tower:/boot/unmenu# ls   <-- I get a file-listing, lots of files, including "uu"

07-unmenu-mymain.awk*                            45-unmenu_user_script_scheduler_noop*   monthly-parity-unmenu-package.conf*

08-unmenu-array_mgmt.awk*                        50-unmenu-user_scripts.cgi*             myMain.conf*

09-unmenu-disk_mgmt.awk*                         50-unmenu_user_script_smarthist-graph*  myMain_local.conf*

10-unmenu-links.awk*                             600-unmenu-file_edit.awk*               myMain_local.conf.sample*

10-unmenu_user_script_hello*                     70-unmenu_user_script_samba_mask*       myMain_local.conf.sample2*

10-unmenu_user_script_update_check_unmenu*       80-unmenu_user_script_swapfile_off*     mysql-unmenu-package.conf*

10-unmenu_user_script_update_unmenu*             80-unmenu_user_script_swapfile_on*      ntfs-3g-2009-4.4-unmenu-package.conf*

100-unmenu_user_script_unraid_version*           85-unmenu_user_script_sleep*            ntfs-3g-2010.3.6-unmenu-package.conf*

1000-unmenu_user_script_kill*                    95-unmenu_user_script_test_email*       openssh-unmenu-package.conf*

1000-unmenu_user_script_restart*                 99-unmenu-utility.awk*                  openssl-unmenu-package.conf*

15-unmenu-disk_perf.cgi*                         990-unmenu-wget.awk*                    pciutils-unmenu-package.conf*

16-unmenu-syslog.awk*                            999-unmenu-unraid_main.awk*             perl-unmenu-package.conf*

17-unmenu-syslog.awk*                            apcupsd-unmenu-package.conf*            php-unmenu-package.conf*

18-unmenu-lsof.awk*                              apcupsd3-unmenu-package.conf*           powerdown_ctlaltdel-unmenu-package.conf*

20-unmenu-usage.awk*                             bwm-ng-unmenu-package.conf*             proftp-unmenu-package.conf*

200-unmenu-smarthistory.cgi*                     compiler-unmenu-package.conf*           rsync-unmenu-package.conf*

25-unmenu-dupe_files.awk*                        cpio-unmenu-package.conf*               screen-unmenu-package.conf*

29-unmenu-sysinfo.awk*                           cxxlibs-unmenu-package.conf*            smartctl-unmenu-package.conf*

30-unmenu-file_browser.awk*                      drivedb.lib.awk*                        socat-unmenu-package.conf*

30-unmenu_user_script_getra*                     ds_store_cleanup-unmenu-package.conf*   svn-unmenu-package.conf*

30-unmenu_user_script_setra-0256*                file-unmenu-package.conf*               syslog_match.conf*

30-unmenu_user_script_setra-1024*                htop-unmenu-package.conf*               unmenu.awk*

30-unmenu_user_script_setra-2048*                iftop-unmenu-package.conf*              unmenu.base.lib.awk*

40-unmenu-iso_share.awk*                         inotify-tools-unmenu-package.conf*      unmenu.conf*

40-unmenu_user_script_disk_speed*                istat-unmenu-package.conf*              unmenu_install*

40-unmenu_user_script_stop_crashplan*            jre-unmenu-package.conf*                unraid-swapfile-unmenu-package.conf*

40-unmenu_user_script_tar_crashplan*             lighttpd-unmenu-package.conf*           unraid-web-unmenu-package.conf*

45-unmenu_user_script_scheduler__current_value*  lsof-unmenu-package.conf*               unrar-unmenu-package.conf*

45-unmenu_user_script_scheduler_anticipatory*    mail-ssmtp-unmenu-package.conf*         utility.lib.awk*

45-unmenu_user_script_scheduler_cfq*             mail_status-unmenu-package.conf*        uu*

45-unmenu_user_script_scheduler_deadline*        md5deep-unmenu-package.conf*            zip-unmenu-package.conf*

root@Tower:/boot/unmenu# ./uu   <-- I invoke "uu"

 

The new unMENU is running, and it shows version 1.3

 

Let's see where you differ.

 

Joe L.

Link to comment

Not the same unmenu_install.

The difference between my version and yours was the addition of a test to ensure your name-server and network gateway were configured and a test to ensure you have a version of unRAID with "wget" installed.  Other than that, they are the same.

 

I just updated google.code with the latest version with those tests included.  You can download it and see if they detect the reason for your difficulties.

 

You can get it here: http://code.google.com/p/unraid-unmenu/

 

Joe L.

Link to comment

It worked finally but still with a bump or two.

I got the latest version.  I copied it to the flash drive config folder.  Then in telnet I copied it to the /boot folder.  Doing the head showed the older file.  So I checked the downloaded version on my Win machine.  It was the later copy.  I decided to remove the /boot/unmenu_install and /boot/config/unmenu_install and copied it again.  This time the head showed the newer version.  For some reason the copy or cp wasn't overwriting the existing file.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.