Showing posts with label System.Aministration.Networking. Show all posts
Showing posts with label System.Aministration.Networking. Show all posts

Tuesday, March 18, 2008

The Difficulty in Creating the Easy Home Network

My home has a lot of computers, if you consider seven for a two-room apartment a lot. Getting everything to work together isn't as easy as it should be, and that's what I'm going to discuss in this post.

Login


Obviously, getting an easy solution to network /home with a single sign-on for services is desired, but the kind of thing you don't even see in small businesses. Why? It's just too hard to set up. My attempts at LDAP have been hit-and-miss over the years. Sometimes, everything works, but most times, either I can't successfully set up the OpenLDAP server or the clients don't get configured correctly. It has been made easier in the last couple of years by things like the Samba/LDAP Installer script, but I've even failed with that, on occasion. Let's not even get started talking about adding Kerberos to the mix.

There are a couple of bright spots on the horizon, though. The Fedora Directory Server looks good, but I'm not into compiling major software for my computer and trying to keep up-to-date with patches. eBox is another promising project, including an LDAP setup by default along with its other services.

Yeah, and there's Samba-ng acting as an AD server. I'll get into Samba in the next session.

Still, I sit with seperate /etc/passwd files on each of my computers. Oh for the days when I just ran thin clients and everything worked without any setup at all!

Since Ubuntu Home Server wants to make my life easy, I'm asking them to have a pre-configured LDAP-Kerberos setup for me, administered via web. Include a single package for clients to install to reconfigure.

File Sharing


Documents


Why doesn't there seem to be a beter choice than Samba? NFS needs to be mounted. FTP is ugly. I'm generally left with Samba so that I can move my shares around and still have my gal figure out where they went. There should be a better way. Right now, I use Samba to share documents. WebDAV would probably be a better choice for that. I'll look into it.

Since a lot of the stuff I share comes from the server doing double duty as a BT server, I have permission problems. I solve those by forcing read/writes as the www-data user. That's an ugly way around the problem, but it works.

The desktops with Hardy Alpha still can't easily add a Samba share by right-clicking. Sure, everything looks like it works, but it doesn't, and I still need to go into the smb.conf file and edit everything manually just like I did eight years ago.

Audio Files


I serve audio files using -- gasp -- Samba and DAAP. I added mt-daapd (now Firefly Media Server) to my setup a couple of years ago, and it works transparently with Rhythmbox. There are no hiccoughs. No errors. Nothing. OK, well ... once in a blue moon the daemon exits without notification. :P Except for that, it is the perfect method. The files on the server get shared and can be dragged and dropped into a personal music collection or onto a protable music player. Beautiful and easy.

This is my new standard for file sharing, which bring us to ...

Video Files


Last weekend, I decided that sharing my video should be as easy as my audio is. Now that I have the BT server, the gal's Naruto collection, and my Miro setup, sharing videos has become more important than it was last year.

And we're still stuck using ... you guessed it ... Samba.

Well, in the Wikipedia entry for Firefly, it states that the server can share video. It can. I got that undocumented feature activated by searching for an hour through their forums. It turns out that mp3_directory can take multiple arguments and that they can include video. I wouldn't have guessed that from the variable name.

The only problem is that Firefly shares them all in one batch. It doesn't separate audio from video, which is OK for iTunes, I guess, but I don't use it. Rhythmbox now has an extra 2000 entries which are useless unless you want to listen to the soundtrack of the movie.

I could have dealt with that, since I use genres and artists to select my music anyway, but there is no video player which handles DAAP. VLC says it does, and it has a "Bonjour" service discovery item in the playlist, but it doesn't detect anything, even though RB sitting behind it has the full listing. Nothing. No players. I was WAAAY disappointed.

"Well," said I, "there has to be another way!" There is, of course. uPnP is a security nightmare of a protocol which shares video well. I'll admit that I knew nothing about before last night except the name, that it was a Microsoft deal, and the whole router reprogramming scandal it caused. There are quite a few uPnP servers in the respositories, including MediaTomb, GMediaServer, and uShare. I tried them all out for sharing my Miro content, and they appeared to share well, but I ran into a problem with clients again. VLC promised again, but disappointed ... again.

Finally, I busted out a copy of Geexbox and installed it behind Xubuntu on a laptop. It booted, recognized the share, and played the content with no problem. Hurray! The TV-out on the laptop doesn't work, though. I found no other workable options.

So, Mr. Ubuntu Home Server man, this is what I want from you on the file-sharing front:

  • A nice document sharing system, set to share /home/Documents and user homes. I don't care what it is, but it would preferably use Avahi for auto-discovery. Samba? Fine, just make sure it actually works without digging through the text file to figure out what's broken. WebDAV would probably be good, as long as it's tied into the directory server.
  • Firefly Media Server installed by default and set to share /home/Music. There needs to be a method to write to the directory, as well, since we'll have to fill that up. Name the server "DAAP Music Server" or something informative.
  • Since uPnP sucks so badly, let's have a second instance of Firefly sharing /home/Videos (notice how I'm sort of following the XDG specification, here?) so that music and videos don't get all muddled together.

Beautiful, but now I need some way to deal with these services on the desktop.

  • RB will do for music.
  • We should really have a Nautilus plugin for the document sharing system and for DAAP. If users don't install/activate the plugin, then nothing will happen. With the plugins, though, these services automatically appear in the sidebar. DAAP offers an HTTP address for files, which can be clicked and played.
  • Totem needs to be able to play these files. It should already play the files using "Open Location," so there needn't be any modifications, but let's test it just to be sure.
  • It would be really nice if there were an additional plugin alongside the local search and YouTube (WTF?) plugins to detect DAAP shares. Originally, I thought this would duplicate the functionality of Rhythmbox's DAAP, but then I realized that Totem already does that for music in a small way, anyway. When you open a music file in Nautilus, Totem plays the file so we can state that Totem is for playing single files or browsing, while RB is for music management.


Printer Sharing


CUPS is great, but the web administration interface sucks. I hate using it, kind of the way I hate Webmin's interface. (That's another great backend program with a terrible frontend, by the way).

What do I need from Ubuntu Home Server? Not much. Just make sure sharing is on.

Chat


I used to think I wanted a jabber server. I don't. Empathy and Pidgin both have Avahi services to automatically discover the folks on your network. They work really well, too.

To UHS:

  • Throw in a Jabber server authenticating from the LDAP, just in case I change my mind.


Groupare


UHS has this as a bullet on their wiki. Get real. Do you know how many times I've installed groupware on my servers? More than you'd think. Do you know how many times my household has used it? Never. That's right. Never. I was installing phpgroupware back before they were 1.0 (oh, wait ...). They are putting together UHS, not USBS. Groupware for a small business is important. It's not for home users. Drop it.

Conclusion


While I'm at it, let me tell tham to make UHS integrate well with Ubuntu -- you know -- like MS did with its products and Apple did with its? Make everything work well together in a completely Ubuntu environment first, then start worrying about the mixed ones. Make all that stuff magically happen when you run an all-Ubuntu household, and people will love you.

And I want a pony. A pink one!

Go ahead. Fire away.

Saturday, December 22, 2007

Installing Ubuntu 7.10 - AMD64

I decided to take my previously installed machine and switch from 32 bits to 64 bits. I was more than a little nervous about the switch since I had done a ton of work customizing the old one.

Some background:
This computer was purchased specifically to work with Ubuntu, so it's almost entirely an Intel machine. As much as I root for AMD, Intel releases all of its specs and writes open source drivers for almost all of its stuff. Here's the spec:
CPU: Intel Core 2 Duo
RAM: 2GB
HDD: SATA 250GB Samsung
Chipset: i801
Graphics: Onboard i945
NIC: rt8139
Wifi: RaLink rt73usb

My first step was to back up my data. I attached the external drive, hit CTRL-h to show hidden files in my home folder, hit CTRL-a to select everything, then went item by item, deselecting the parts I knew I didn't need, like my .wine directory. Finally, I dragged everything onto the removable drive (46GB!!) and waited. And waited.

While I waited, I burned the Ubuntu 7.10 AMD64 disk image that I had downloaded the night before. It was too easy: I stuck a blank CD in the drive, clicked "Ignore," right-clicked on the image, and chose "Write to disk." Nothing could have been simpler, except that the first CD had an error during write, so I had to repeat the process, this time at a lower speed just to be safe. I used the md5sum command to check the hashes of the burned CD and the image to make sure that they were the same. (I had previously checked the hash of the image.)

I rebooted with the CD in the drive, hit F4 to change the resolution to 1280x1024, and hit enter. Once the live CD was up and running, I immediately ran the install and surfed the web while I waited.

Then I ran into my first problem. The wireless dropped the connection and wouldn't come back up. The security updates failed due to the lack of an Internet connection. Indeed, once I rebooted into the installed system, the RaLink 73 USB device wasn't even recognized, so I busted out the LAN cables. Meh.

Then I started the restore process suing the same method I had used earlier, only in reverse.

I went to Software Sources, activated all the extra repositories and updated the package list. I used Add/Remove to install my normal additions to Ubuntu: ubuntu-restricted-extras (for all the codecs and plugins), Lyx (for writing), Referencer (for my bibliographies), Epiphany (which I prefer to Firefox), Devede (a DVD creator), Pitivi (a VERY simple video editor), Istanbul (for taking screencasts), and the Empathy / Telepathy set (the upcoming Gnome IM / VOIP / Video chat solution integrated into every application). I also updated all the software.

So here I am, typing on my newly reinstalled and configured, barely an hour after I first started the process. F-Spot has all my photos. Rhythmbox still has my songs. Best of all, my documents are all here and Tracker has the index of them. My bookmarks and passwords are even in place. Computational tasks like encoding seem faster, but I didn't do any benchmarks. My 2GB of RAM can now be handled natively, instead of in 1GB chinks. Reinstallation couldn't get any easier. Next time, I won't even have to restore because I've given myself a separate /home partition. I'll still back up before the upgrade, though. Always back up.

Now I need to get to work on the wireless driver ....

Well, that's done. Download the rt73-cvs tarball from serialmonkey.com and grag the sole directory onto the desktop. Install build-essential to set up the build environment. Enter the Module directory in rt73 and type "make" then "sudo strip -S rt73.ko" and finally "sudo make install" to finish the installation. Blacklist the regular rt modules in the kernel and load the new rt73 module.

In /etc/modprobe.d/blacklist:
# Blacklist rt73usb
# Blacklist rt2570
blacklist rt2570
# Other modules
blacklist rt2500usb
blacklist rt2x00lib

Set up networking. Done. Maybe ten minutes.

On a side note, this shouldn't have to be done at all. RaLink wireless devices used to work fine. There are many people like me who went out of theri way to buy RaLink specifically because they were supported. I'm pissed at Canonical for shipping drivers which it knew to be bad. They drop. They crash. They just don't work. I filed bugs during the alpha phase. Nothing happened. Friggin' don't ship them if you can't fix them! This situation had better be fixed by Hardy, or the LTS moniker won't mean shit.

Well, I found another problem. Flash isn't installed. Normally, in 32 bit, ubuntu-restricted-extras would install flash, but that didn't happen here. Installing flash-plugin-nonfree appeared to work, but the browser experience is the same as if I hadn't installed it.

It turns out that there's a bug in the 64-bit version, and the fix is linked to in the bug tracker. Installing this fixed all problems. NOTE: Installing packages from untrusted sources is a bad idea.

Next on the agenda is to get a seamless backup and restore system working. TimeVault is my preferrred application for this, but no 64 bit version exists. Compiling my own fails, and there's almost no documentation on dependencies required, etc. Stay tuned for this one.

Other I' Been to Ubuntu Stories

Related Posts with Thumbnails