Installation troubleshooting
From Amahi
If you do not install via the standard way (full DVD) or some packages did not install correctly for some reason, here are some tips to troubleshoot the Amahi installer:
Contents |
If you cannot connect to localhost:2000
Simply run as root (may have to run 'su -' first):
hda-install YOUR_INSTALL_CODE
(replace the second part with your actual install code)
If your installations freezes
Some times, package installation gets stuck at one number (10% or 30% ...).
This can be due to package installation from mirrors. The installer tries to pick the fastest mirror, but it may still slow. However, the installation still continues in the background. You can monitor it from a terminal as root as:
tail -f /root/hda-install.log
and wait until you see progress ... the last 3 lines of a complete log look like this:
Stopping NetworkManager daemon: [FAILED]
Stopping unused services done.
Amahi installed successfully! please reboot!
If they do, it worked we have a hard-to-trace bug in the installer - where it freezes at one percent number, but the installation works in the background!
Make sure you have all the packages
As root, type this:
yum -y install ruby ruby-libs ruby-libs ruby-rdoc
also make sure you have the sinatra package:
gem install --no-ri --no-rdoc --version 0.9.4 sinatra
Restart the amahi installer
service amahi-installer restart
To start the install process, make a connection to:
http://localhost:2000
And proceed from there!
If you already installed before, the installer will not start again. To force-start the installer you can do this:
rm -f /var/cache/hdactl.cache
service amahi-installer restart
Then connect to localhost:2000.
Checking the log files
When all else fails, there are some log files left in
/tmp/amahi*install.log
which may shed some light as to what's going on. You can pastebin it with:
egrep -v 'GET|POST|progress' /tmp/amahi-ruby-install.log | fpaste
You can also do:
tail -f /root/hda-install.log
To keep a watch on the gory details of the installer progress in real-time.
Also, check in /tmp/amahi-web-installer-log/ (in particular stdout) as well as /root/hda-install.log
Running behind a Proxy
To install sinatra behind a proxy, type this (as root):
gem --no-rdoc --no-ri --http-proxy http://yourproxyurl/ sinatra service amahi-installer restart
Installer is locked
Some people see "unable to connect from http://localhost:2000" when performing the initial Amahi install.
- To correct this and resume with install, open a terminal window.
- As root user, do the following:
rm -rf /var/lock/subsys/amahi-installer service amahi-installer start
- Now go back to your browser and try http://localhost:2000. You should now see the prompt for the install code.
A Log Checking Utility
Here is a simple script that displays all of the file updates and additions made to your hda and the date they happened. It simply reads the hda-updates.log file and parses out only the relevant changes.
I use this script periodically so I can see what might have changed recently.
Installation
Log into your hda and create a bin directory under your home directory (if you don't already have one). The reason for this is that ~/bin is already in your $PATH when you log in, so it will automatically find any scripts you put there:
cd /usr/bin
Open up your favorite editor (I suggest gedit for this) and copy the code that follows into the editor. Save the file as hda-updates (or whatever you want to name it) and exit the editor.
Code:
#!/usr/bin/python # # Dump update information from /var/log/hda-updates.log #!/usr/bin/python # # Display the date and files that were modified/installed. # # Reads the hda-updates log file and parses out just the file updates/additions. # It helps to see what has been modified and when. # # radioz # 11/8/2010 # log = '/var/log/hda-updates.log' f = open(log, 'r') lines = f.readlines() f.close() gotUpdates = False firstUpdate = False dateInfo = '' for ll in lines : l = ll.strip() # Ignore dependency heading if l == 'Installing for dependencies:' : continue if l == '' : # A blank line terminates the updates for a particular date if gotUpdates : # Display a blank line between dates print gotUpdates = False continue if gotUpdates : if firstUpdate : # Display the date above the first update print '%s:' % dateInfo firstUpdate = False # Reformat the file info slightly updateInfo = l.split() print ' %-16s %-6s %-20s %-16s %-5s %s' % (tuple(updateInfo)) if 'hda update attempt' in l : # This header appears once per hour in the log. Very few represent real updates. # Save the date information in case this is a real update. dateInfo = ' '.join(l.split()[5:]) if 'Updating:' in l : # This is a real update, set up the flags gotUpdates = True firstUpdate = True
Make the file executable:
chmod +x hda-updates
Now you can run it.
Example
hda-updates
Here is a snippet of its output on my system:
Sat Sep 4 15:02:32 PDT 2010: hdactl i386 3.5.1-1 amahi 218 k Sat Oct 30 22:02:14 PDT 2010: hda-greyhole i386 0.6.28-1 amahi 47 k hda-platform noarch 5.6-1 amahi 1.0 M hdactl i386 3.6-1 amahi 218 k Sun Nov 7 20:01:29 PST 2010: hda-platform noarch 5.6-8 amahi 1.0 M
