My ongoing experiences with Ubuntu, and later Mythbuntu, as a media center with MythTV. I'm also using the system for a virtual machine server, a mediawiki server and a general all around home infrastructure base.

Showing posts with label bad idea. Show all posts
Showing posts with label bad idea. Show all posts

Saturday, April 25, 2009

Upgrading Ubuntu 8.04 Desktop VM to 9.04

Short version: Don't try upgrading a 8.04 Ubuntu Desktop VM with only 4GB of disk to 8.10 - there isn't enough disk space.

I decided to start playing with Ubuntu 9.04 by upgrading a 8.04 Ubuntu Desktop VM I had. Since it was two version behind I followed the upgrade directions to bring it up to 8.10 first. A key bit in the directions is opening Software Sources and selecting "Normal releases" under the Updates tab, otherwise Update Manager won't show the update version.

I fired up the Update Manager, upgraded a number of packages, and then fired up the upgrade to 8.10. Unfortunately it died with the following message:
The upgrade aborts now. The upgrade needs a total of 649M free space on disk '/'. Please free at least an additional 243M of disk space on '/'. Empty your trash and remove temporary packages of former installations using 'sudo apt-get clean'.
So I did as it suggested and ran 'apt-get clean', which seemed to free up ~720MB of disk space:
# apt-get clean
# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 3920768 2993528 729644 81% /
...
Now I trued Update Manager again, but it failed again with a similar message:
The upgrade aborts now. The upgrade needs a total of 975M free space on disk '/'. Please free at least an additional 306M of disk space on '/'. Empty your trash and remove temporary packages of former installations using 'sudo apt-get clean'.
So now I need 975MB of space. I give up.

Lesson learned, give Ubuntu more than 4GB if you think you might want to upgrade it.

Sunday, September 14, 2008

Time synchronization in VMs



This post is the wrong way to go about things, see this article for details, but basically what you want to do is make sure you have the following in the VM's .vmx file:

tools.syncTime = "TRUE"



I'm noticed some serious time drift in my VMs (almost a day over a couple of weeks). Since I'm not running VMWare tools (I'm not running X), I needed a way to keep things in sync.

According to this page, time is synchronized at boot, which seems to be true, but isn't enough in my case.

So as suggested on the page, I installed ntp, but apparently the ntp-simple package no longer exists:
# apt-get install ntp-simple
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package ntp-simple is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
ntp
E: Package ntp-simple has no installation candidate


So I installed ntp instead:
# apt-get install ntp


Then I edit /etc/ntp.conf to use all the North American servers:
# vi /etc/ntp.conf
# grep ^server /etc/ntp.conf
server ntp.ubuntu.com
server 0.north-america.pool.ntp.org
server 1.north-america.pool.ntp.org
server 2.north-america.pool.ntp.org
server 3.north-america.pool.ntp.org

Wednesday, September 3, 2008

Running MythWeb remotely



DO NOT FOLLOW THESE DIRECTIONS: They've messed with my MythTV install, causing it to become unstable and forget all its recording scheduling information.
I strongly suspect it has to do with the database tweaking I did at the end, but I'm not going to try and fix it. I'm just going to run MythWeb locally, probably on a fest mythbuntu install.



This describes my installation of MythWeb on a server (192.168.1.11) that was separate from the system running my MythTV front end, back end and mysql database (192.168.1.10)

First, on the mythtv system, configure MySQL to accept remote connections:

# grep bind /etc/mysql/my.cnf
bind-address = 0.0.0.0
# /etc/init.d/mysql restart
* Stopping MySQL database server mysqld [ OK ]
* Starting MySQL database server mysqld [ OK ]
* Checking for corrupt, not cleanly closed and upgrade needing tables.


Now create a mythweb user in the mysql database. Replace "XXXXXXXX" here with an actual password you'll use again later. (I think you could get away with skipping this step and then using the mythtv user later. I'm also not sure you need to "grant all" permissions.)

# mysql --user=root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 163
Server version: 5.0.51a-3ubuntu5.2 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> grant all privileges on mythconverg.* to mythweb@192.168.1.11 identified by 'XXXXXXXX';
Query OK, 0 rows affected (0.06 sec)
mysql> select host,user from user;
+--------------+------------------+
| host | user |
+--------------+------------------+
| 192.168.1.11 | mythweb |
| casey | root |
| localhost | debian-sys-maint |
| localhost | mythtv |
| localhost | root |
+--------------+------------------+
5 rows in set (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.04 sec)


Mythweb uses the MasterServerIP value from the settings table to find the backend. In my case this was set to 127.0.0.1, which was fine if Mythweb is on the same system, but breaks things if they are are different systems. So change that to tell mythweb where to find the mythtv back end:

mysql> update settings set data='192.168.1.10' where value='MasterServerIP';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select data from settings where value='MasterServerIP';
+--------------+
| data |
+--------------+
| 192.168.1.10 |
+--------------+
1 row in set (0.00 sec


Ok, now on web server system install mythweb:

# apt-get install mythweb


And tell mythweb where to find the mysql database. Replace 'XXXXXXXX' here with the password for the mythweb user you created in the mysql database previously. (If you skipping creating the mythweb user earlier, this is where you would put in your mysql mythtv login and password instead.)

# cd /etc/apache2/sites-available/
# vi mythweb.conf
# grep db_ mythweb.conf
setenv db_server "192.168.1.10"
setenv db_name "mythconverg"
setenv db_login "mythweb"
setenv db_password "XXXXXXXX"
# apache2ctl restart


And things should be working. Don't forget to require authentication.