Posts Tagged ‘Linux’

Ubuntu NFS Home Directory Issues

Saturday, May 24th, 2008
Horny Humpback

Image by Blyzz via Flickr

If you choose to mount over NFS just one of your user’s home directories (e.g. /home/jem) under Ubuntu, then you may come accross issues such as failure to log in, the screen freezing (but mouse still moving), loss of configuration data (e.g. icons in your panels), being told that your login session lasted under 10 seconds, and just general instability.

The reason for this is, in Ubuntu’s rush to get you to the Desktop quickly, it loads up GDM (and possibly auto-logs you in) *before* your home directory is mounted over NFS. This is a simple issue of priorities. However, if you log in before the home directory has been mounted, then gconfd-2 and other similar apps will load (or save) settings to your (supposedly empty) /home/jem on your hard drive. When you give up and log out (e.g. Control-Alt-Backspace, or a proper logout), and log back in again, these programs will still be accessing the wrong settings, because they continue to run in the background.

The solution is to abort Ubuntu’s Windows-like behaviour of allowing you to log in before everything has started running at boot time - change GDMs priority from 14 to 80 (or some other number). I chose to do this the lazy way, using “bum“. BUM, the Boot Up Manager, is a simple way to change all things related to booting. It is easy to use, though it does take quite a while (a few minutes!) to start the first time you run it. It must be run in a graphical environment. Simply tick the advanced box, go to the third tab, find gdm, and change its priority up to 80. Save, exit and reboot, and all is well again in the world… though you may have to restore your settings from a backup, or go through the long process of re-configuring your desktop the way you like it.

Good luck!

Bookmark and Share

MythWeb Aspect Ratio

Sunday, April 13th, 2008
The MythTV menu (default blue theme)Image via Wikipedia

It has bothered me a little for a while that the MythWeb (part of the fantastic MythTV package for Linux) aspect ratio is hard-coded to 4:3. Most of the TV that I watch (received over Freeview (DVB-T) in the UK) is in 16:9, so watching it back on 4:3 is a bit of a pain. Thus I was motivated to change the hard coding to 16:9. The process is quite simple:

  1. Modify line 102 of mythweb/modules/stream/handler.pl - change “3/4” to “9/16“.
  2. Modify lines 35 and 37 of mythweb/modules/mythweb/tmpl/default/set_flvplayer.php - change “3/4” to “9/16” and “4:3” to “16:9” respectively.
  3. Modify line 505 of mythweb/modules/tv/tmpl/default/detail.php - change “3/4” to “9/16“.
  4. Optional: I also added to the end of line 165 of mythweb/modules/stream/handler.pl (which detailed the ${width}x$height) - adding
    .’ -aspect ‘.shell_escape(”16:9″)

    (make sure you get the fullstop at the beginning!), though I am not sure if this modification is necessary or even beneficial!

There is a minor bug now where the player does not show the control bar at the bottom properly initially, but a click on the preview picture solves this.

I’m currently working on modifications to stream the video in 3gp format to my mobile (a Nokia 6120 Classic), however this seems a lot harder as I have to implement a RTSP server, and have to re-encode all jobs in advance (by using a MythTV User Job) which is not quite what I am after. There is a page about it in the MythTV wiki. I wonder if I can find a cunning way around it…

If this helps you, please let me know in the comments!

Bookmark and Share

More Partitioning - RAID6 This Time!

Sunday, April 13th, 2008
RAID 6 with fives disks (disk 0, 1, 2, 3, and 4) and each group of blocks (orange, yellow, green, and blue) have two distributed parity blocks that are distributed across the five disksImage via Wikipedia

I told you about moving my data over to a RAID1+0 and RAID5 system in this previous post, but, as expected, I never got round to finishing it. Until now, that is…

I went to London on business for a few days, and came back to find MythTV had stopped working. The disk was full, so it had given up, and wouldn’t even let me get in to view the recordings - so I couldn’t even delete some to get it working again! (I wonder why Auto-Expire wasn’t working.) Anyway, this spurred me on to finally finish partitioning/setting up my drives. The process was quite simple, really. The following steps generally assume you are root already (sudo su) because I am a “bad” sysadmin and don’t believe in all this constant sudo malarchy. Following my instructions is, as always, at your own risk. I highly recommend that you read the relevant documentation before proceeding (such as this).

  1. Reboot into Ubuntu LiveCD, don’t forget to upgrade the software on the LiveCD to prevent any issues!
  2. Disable swapspace (swapoff /dev/sd[abcd]1).
  3. Use cfdisk to finish formatting the drives (remembering to change partition types to the hexadecimal “fd” - Linux RAID Autodetect). Be careful NOT to modify ANY of the details of the partitions you are already using for data or you will probably lose data!
  4. Reboot back into your real system (not LiveCD - minimizes downtime).
  5. Optional: add hot spares to current RAID5 devices (mdadm /dev/md1 -a /dev/sdf5).
  6. Create the new RAID6 devices (mdadm -C /dev/md3 -l6 -n6 /dev/sd[abcdef]7).
  7. Optional: wait for the devices to finish resyncing (watch cat /proc/mdstat).
  8. Turn the new RAID devices into LVM physical volumes (pvcreate /dev/md3).
  9. Stop any services that depend on /data (/etc/init.d/mythtv-backend stop; /etc/init.d/mpd stop).
  10. Unmount the data drive (umount /data).
  11. Add the new physical volumes to the current LVM volume group, “raid5” (vgextend raid5 /dev/md3).
  12. Expand the logical volume to the full size of the volume group (use pvdisplay to find out the size [411.05GB], and then run lvextend -L+411.05G /dev/raid5/data).
  13. Expand the filesystem [ext3] to the full size of the logical volume (e2fsck -f /dev/raid5/data; resize2fs /dev/raid5/data) - running e2fsck on a 600GB drive does take a while… Took about 30 minutes for me with little else running.
  14. Remount the data drive (mount /data).
  15. Restart the services you stopped eariler (/etc/init.d/mythtv-backend start; /etc/init.d/mpd start).
  16. Remember to update (I prefer to re-create) your initramfs and update grub (update-initramfs -k all -c; update-grub)
  17. All done!

I chose RAID6 over 6 disks over RAID5 over 5 disk with one hot spare because it has better redundancy and similar performance. It was added to the kernel at the end of 2003 so I think it should be fairly stable by now.

This process was not too complicated, and all of this can be done with very little downtime (if you are clever/daring, you can even re-partition without rebooting, but that was too risky for me!). You can even do the LVM stuff without taking /data offline! I wouldn’t advise it though.

If this post helps you, please let me know in the comments.

Bookmark and Share

Synce-gnomevfs Install on Ubuntu

Sunday, April 6th, 2008
Ubuntu (Linux distribution)Image from Wikipedia

Windows MobileImage from Wikipedia

Yesterday I tried to install the latest version of synce in order to get Jem’s Dad’s Windows Mobile 6 phone to share files with Linux (Ubuntu Gutsy Gibbon in this case). After managing to get the software installed, I have been very impressed with it, however actually installing it was a bit of a challenge, though the solution is quite simple and I share it with you now.

  1. Uninstall everything synce related before starting.
  2. Follow the Synce with Ubuntu instructions.
  3. pls should work at this time.
  4. Follow the SynceVfs instructions.
    Use ./configure –prefix=/usr
    make; sudo make install
  5. Heres the important bit:
    cp /usr/etc/gnome-vfs-2.0/modules/synce-module.conf /etc/gnome-vfs-2.0/modules/
  6. killall gnome-vfs-daemon

I think that you can do step 5 alternatively by adding –sysconfdir=/etc to your ./configure command in step 4, however I have not tested this.

Once this is done you should be able to just plug your phone (or other Windows Mobile device) in to the USB, and type synce:/// into Nautilus’ address bar. Simple!

Bookmark and Share