Archive

Archive for May, 2007

Folding @ Home : Progress Update

May 24th, 2007 Christer Edwards 1 comment

Well my tutorial the other day on installing Folding @ Home on Ubuntu looks like it was a hit. I got some great reactions from you and I’m glad to see there are so many people interested in helping out doing this kind of research.

Since I wrote up that tutorial I got to thinking more about it and have expanded what I did a bit. I’m happy to announce that I have created a script that will automate the installation process based on the steps in the tutorial. Also, I added a deployment script that can install, configure and start the service across a network via ssh on any machine you have access to. I’m fairly proud of myself on that little bit ;) In my recent test run I got it installed, configured and running on 12 machines with zero interaction on my part. w00t, as they say ;) .

I’m still QAing my deployment and installation script but if any of you are interested I’d be more than happy to share it. I think the easier we can make the Folding @ Home installation, setup and use the more widely it can be adopted and the more work can get done.

Until next time…

If this article has been helpful, please consider linking to it.

Categories: Folding Tags:

Announcing The US Teams Planet!

I’m happy to announce the recent creation of the US Teams Planet!  Our project of building localized support teams across the US has absolutely taken off and with it the framework of communication is growing.

The US Teams Planet will be a portal, similar to the Ubuntu Planet, into the activities, goals and events of the approved US based LoCo Teams.  Incoming feeds will be limited to approved US based local community team websites and blogs.

If you are part of an approved US LoCo Team and currently not listed on the planet please contact me with your feed address to be added. If you are still working hard in building your team be sure to follow the US Teams Planet to hear about what other teams are doing!

It’s really amazing how much the Ubuntu solar system is expanding :)

Categories: Community Tags:

Folding @ Home : Installation – Configuration – Automation : Ubuntu / Debian | RHEL / FC

Please consider downloading the latest version of folding instead.

Automated script available here.

Before I dive into my tutorial and tell you how to setup your machine for running the Folding @ Home process I’ll take just a minute and introduce those of you unaware to what the project is.

The project is a distributed computing effort put together by Stanford University to help research protein folding and, based on that research, help in medical research for conditions such as: Alzheimer’s Disease, Huntington’s Disease, Osteogenesis Imperfecta, Parkinson’s Disease, etc. Basically, you can use your machines idle processes to help in medical research. Not a bad way to put your computer to good use!

Now to the good stuff. How do I set this up? Well there is a simple way that allows you to simply run the research application when you remember. It’ll save it’s data to your home folder (clutter things up just a bit) and stop when you stop it. This is the way I ran the program for quite a while but I found it to be a little bothersome to have to manually deal with it all the time. There were a few fixes that I found to help move it behind the scenes, but recently I really started looking into a long-term solution, which is the basis for this tutorial.

Overview:

  1. This tutorial will create a dedicated system user on your machine to run the process and store the data. Data will be stored in a subfolder of /var/ (can be changed, if you prefer).
  2. This system user will not be assigned a login, password or shell for security reasons.
  3. I will outline installation, setup and automation of starting, stopping and checking status of the application.
  4. The application will be handled with an init service for automagically starting at boot and allowing you to stop or start the service on demand.

A few notes on the tutorial syntax. Lines prefixed with the ‘sudo’ command are specific for Ubuntu / Debian based machines. If you’d like to run this setup on a RHEL / FC based machine simply ‘su -’ to root to run those commands. Also, near the end I have labeled [Ubuntu / Debian] or [RHEL / FC] for the distribution specific commands.

First on the list is to create a dedicated user to run this process. This is done for a few reasons. For one, some people have concerns that the Folding @ Home process may not be completely secure. While there have been no reported security vulnerabilities in its history, it is a valid concern and one that is addressed here. The Folding @ Home process runs ‘work units’ on your machine and reports back to the main servers at Stanford. One of the best ways to ensure security during this communication is to create a limited system user to handle the work. Even if the service was somehow compromised the affected user would have no access to anything, therefore effectively stopping the threat.

sudo useradd -d /var/folding -r folding

The syntax of this, if you’re not familiar tells the new system user, folding, to use /var/folding as its home folder as opposed to the standard /home/ area.

Second (unless I can figure out the right syntax for the above command), you’ll need to manually create the folder.

sudo mkdir /var/folding

After the folder is created you will also want to make sure that it is owned strictly by the new user.

sudo chown folding.folding /var/folding

Now that you have the user set up, the home folder created and ownerships set properly you will want to download the ‘finstall’ script. This is a third party script that helps automate the whole process. In my testing it has been really solid and can be used on Linux, WINE, BSD or OS X based machines (w00t!).

With this next command we’ll pull down an installer script that will set everything up for us. You’ll want to be in your newly created /var/folding at this point (cd /var/folding/)

sudo wget -c http://www.vendomar.ee/~ivo/finstall

Once this download has finished you’ll need to add the execute permission on the file. This is done simply with:

sudo chmod +x finstall

Ok, now we’re about half way there.

Now we’re ready to run finstall but remembering that we want it installed, owned and run by our new user we’ll want to install it as them first. We’ll need to temporarily switch to that user now.

sudo -i

su - folding

This will land you in a limited shell, if it can even be considered a shell, but you can still run the installer. Use the following command to launch the installer and follow the prompts.

/bin/bash ./finstall

Now, as I mentioned, this installer is very comprehensive and will ask you quite a bit to get things setup initially. It will download the actual Folding @ Home program, allow you to verify the checksum (it’s always nice to verify that we’re installing what we think we’re installing!), and also add a FAQ where you can find out more information.

The questions that it might ask you are as follows, and appended with my suggested answers. (Depending on your system you may not see all / each question listed here.)

Do you want to read finstall FAQ (yes/no?): n (I've read it a few times now, this one is up to you)

Is this the correct MD5SUM value of FAH504-Linux.exe (yes/no?): y (double check if you like here.)

Do you want to use any of these 3rd party FAH utilities (y/n)?: y

Do you want to use automatic MachineID changing (y/n)?: y

Do you want to use it for this client and for all remaining configureless clients as well (y/n)?: y

It will also ask you for a name. The name is optional, or you can use an alias / name of your choice. You can use this page to see if the name is available. The only reason the name might be important is if you want to compare your finished work units vs a friend.

It will also ask you for a (optional) team to join. Might I suggest you join the Ubuntu Folding @ Home Team? Show your Ubuntu pride and save the world with the rest of the Ubuntu crew. To join the Ubuntu Folding @ Home Team use the number 45104.

After the questions about the name and team it prompts for a few more options. The defaults are safely used here.

Ok, once this installer finishes asking you how to set things up you’re *almost* there! Just a few more quick commands and we’re ready to set-and-forget.

You can now type ‘exit’ and ‘exit’ to leave the prompt you are in as the new folding user. The only thing left to do is create the startup script and make sure it runs as the new user.

sudo cp foldingathome/folding /etc/init.d/

sudo update-rc.d folding defaults [Ubuntu / Debian]

chkconfig folding on [RHEL/FC]

sudo chmod 4775 foldingathome/folding

Ok. You’re ready to go now. There is a copy of the start / stop script in your init folder. The update (or chkconfig) has set this script to automagically start on multi-user runlevels and SUID permissions have been set on the script so that it will *always* run as, and with permissions of, your new limited system user.

To go ahead and start the service type:

sudo /etc/init.d/folding start [Ubuntu / Debian]

service folding start [RHEL/FC]

To stop the service type:

sudo /etc/init.d/folding stop [Ubuntu / Debian]

service folding stop [RHEL/FC]

Remember, this will now auto-start at boot so you can safely just ignore it from here on out. No more config, manually starting, remembering to start the service, etc. You’re done.

update: A few people have been wondering how to remove this after it has been installed. This can be done in just a few commands:

sudo /etc/init.d/folding stop [Ubuntu / Debian]

service folding stop [RHEL/FC]

sudo rm /etc/init.d/folding

sudo update-rc.d folding remove [Ubuntu / Debian]

service folding off [RHEL/FC]

sudo userdel -r folding

sudo rm -rf /var/folding

done.

sources: Folding @ Home, Ubuntu F@H Community Docs, Finstall Script, FAH Wiki.

Categories: Folding Tags:

Open Discussion Day : May 19th

I want to remind everyone that today is the second annual Open Discussion Day. The day where we celebrate and advocate open protocols and computing standards. One year ago today I set the goal to stop using proprietary “closed” IM protocols. Today I only use Jabber and I don’t miss the others. My friends and family can still contact me. They can still email me and the world has continued its orbital motion.

I invite everyone to participate in one of the following today (and hopefully into the future!):

  1. If you’ve partially moved yourself to the open chat protocol Jabber make the switch complete.
  2. If you don’t have a Jabber account go ahead and make one. Check out Jabber or even use your gmail account over Jabber. (see instructions here)
  3. Invite a friend to use Jabber whether it be via a new Jabber account or a gmail account. Spread the word and celebrate!

This year I plan on extending my goal to other open protocols and continue to set a personal standard and example to those around me.

  1. I will continue to advocate the use of Jabber.
  2. I will dedicate bandwidth and torrent seeds to the OpenOffice project download.
  3. I will support the Ogg Vorbis format and hardware that supports it.

I know it is a late reminder for those of you in Europe but for you in the US there is still time in the day to start a change.  I invite you to pick something from the list–something you feel you can accomplish–and set it in motion.  Protocols, standards and free software can’t continue to grow without each of us.  Please try to do your part and celebrate Open Discussion Day!

Categories: FOSS Tags:

Manually Install Thunderbird 2 : Ubuntu 7.04

Since my exodus yesterday from Mutt I have installed and am playing with Thunderbird 2 for email. So far I don’t hate it like I did 1.5, but we’re still in the test stages. We’ll see how it all turns out. In any event I wanted to share with you how I installed Thunderbird 2 manually since it is not yet in the Ubuntu repositories.

  1. Download Thunderbird 2. (Save to disk)
  2. sudo tar -C /opt -zxvf ~/Desktop/thunderbird-*
  3. sudo ln -s /opt/thunderbird/thunderbird /usr/local/bin/thunderbird
  4. create a menu item: sudo gedit /usr/share/applications/thunderbird.desktop

[Desktop Entry]
Encoding=UTF-8
Name=Thunderbird
Comment=Thunderbird Mail Client
Exec=thunderbird
Icon=/opt/thunderbird/icons/mozicon16.xpm
StartupNotify=true
Terminal=false
Type=Application
Categories=Applications;Network

Enjoy the latest build while we wait for the official package to come down the pipe. You can be sure I’ll keep you updated on my thoughts on Thunderbird 2.

The Ubuntu Wiki has similar instructions and also contains details on having the repository version and the manually installed version side by side. See “Thunderbird New Version“.

Categories: EMail Tags:

Goodbye Mutt / The Importance Of Community

Many of you know I’ve been trying to learn the mutt mail client and I have really put some time into it.  For quite a long time I’ve subscribed to the ‘all mail clients suck’ school of thought and mutt brought me close to finding a way out… but during my transition has turned me off.  Why?  The community I’ve dealt with so far has been disagreeable.

I’m back in the market for a mail client.  Maybe I’ll go back to Evolution.  Maybe I’ll wait for Thunderbird 2 to come down the pipe (I didn’t love 1.5).  Maybe I’ll try claws.. or..?

I’ll worry about that later but I wanted to share some of my observations on the importance of community.

Ubuntu has found it’s success, I think, almost completely due to it’s focus on community.  Every time I talk to a new user or even older Linux users they mention how great the community has been in taking them in and being patient with their growth.  I know it was a big aspect of why I stayed with Ubuntu in the beginning.  Despite some dumb questions on the Ubuntu Forums the community was patient and welcoming.

The US Teams Project is doing so well in a short time because we have people that understand this.  They understand the importance of welcoming in new users, not making them feel dumb, and being patient with funny questions.  Yes, even questions that may have been answered time and time again.  I can’t tell you the number of times I have answered duplicate questions on the Ubuntu Forums.  If a user is humble enough to ask for help can you be patient enough to take the time to help?

I’ll cut things short here but I hope you all remember how important your interactions with other community users are.  Community building has drawn me into the Ubuntu and Linux community.. and now turned me away from the mutt community.

Categories: Community Tags:

Group Collaboration With Screen

This week I’m teaching out in Portland, OR in a Linux Fundamentals class. A small part of one of this weeks chapter is on screen. You might remember I’ve talked about screen in the past here. I still use screen on a day to day basis and really enjoy it. Today I’ve got something new for it that you may not have ever used.

Screen will allow you to collaborate within a session for multiple assigned users. It is also configurable to allow for read-only or read-write access on a per user basis. This, of course, if helpful if you don’t trust certain people within a collaboration as everyone will have input permissions on the screen.

Now the first step is that you’ll need to, at least temporarily, put the suid bit on the command screen. This is done using:

sudo chmod u+s /usr/bin/screen (multiuser screen below will not work without this)

Second you’ll want to create your initial screen session. You can do that (remember my original screen cheat-sheet) using a command similar to:

screen -S screen-name (naming your screen sessions with -S makes organizing and switching simpler)

Third you now allow the collaborator to connect to your machine using something like ssh.

ssh user@remote.machine

The fourth step is to set multiuser mode on within screen itself. This is done using the screen shortcuts followed by :multiuser on. Here is an example:

ctrl-a :multiuser on

You also need to explicitly allow permissions for the collaborating user (the one that ssh’d to the machine) using something like:

ctrl-a :acladd username

At this point username can connect to the shared screen using:

screen -x username/screen-name

If you want to just try it out you can test sharing screens by just using the same user account. Start screen locally using step two above. After that is up start some command or type something at the prompt. At this point open a second terminal window and type screen -x. You should have a mirror window in both terminals.

If you have any other implementations of this I’d love to hear about them. I really like this feature and can see a number of uses for it. Perhaps collaborating on code and not needing to use pastebin or something similar. Actually watching the other user work to show you examples.

It’s like remote desktop or VNC, minus the bandwidth and overhead!

Command line collaboration brought to you by GNU. What more could you want?

More permissions on advanced permissions here.

Categories: Linux Tags:

any tips for libnotify trouble?

Many of you know that I use irssi for my irc client.  It’s the best.  (If you haven’t tried it you really should.  Check out my previous tutorials here and here.)

You may also remember all that talk going around some time ago about an irssi notify script tied into libnotify.  I use that as well (see previous information here).

The problem is, and it’s something I’m hoping one of you can help me solve, is that I tend to run irssi within gnome-terminal in full screen (F11 key), and minus a menubar.  No GUI distractions for this guy!  I have noticed that if gnome-terminal is in full screen mode libnotify will not give me the messages.  It’s as if full screen is now taking all screen priority.

Does anyone know of any tweaks or settings I could change?  Maybe in gconf-editor or gnome-terminal itself?  Maybe a flag in libnotify?

I’d really appreciate if someone could help me solve this… so that I can sink deeper and deeper into my GUI-less world.

Again, how can I get libnotify to show me the visual notification if I’m in full screen gnome-terminal?

Categories: GNOME Tags:

Congratulations Are In Order

We had some really great news this morning on the US Teams front.  Both a new approved member (well deserved!) and a newly approved US Team.  I want to welcome both to the club and hope to see everyone keep up the fantastic work.

DC Team – Congratulations.  From the looks of things you’re doing a great job out there.

Nick (boredandblogging) from the Georgia US Team was also approved this morning for Ubuntu Membership.  Welcome to the club buddy.  I do appreciate you putting together a meet when I was out there recently.  It sounds like you’re working hard out there and for Ubuntu in general.  Your work is very appreciated.

As usual, if you’re enjoying Ubuntu as much as the rest of us in the US we’d really appreciate your participation in the US Teams project.  There is plenty of work to go around, all depending on how much you want to take on.  I’ll tell you it is very rewarding work and I’ve never enjoyed anything more in my life.  Check out the US Teams Wiki for more information.

Categories: Community Tags:

nautilus-open-terminal : terminal quick launch

Tonite it’s getting late but I wanted to post something that is useful for quickly getting to the shell from any GUI location. The package nautilus-open-terminal does just what you might guess it does. It allows you to launch a gnome-terminal from a right-click within nautilus.

You might remember I blogged about something similar long-long ago with nautilus scripts.  This is based on the same idea, but now wrapped in a nice shiny deb package.  From the package description:

Nautilus plugin for opening terminals in arbitrary local paths nautilus-open-terminal is a proof-of-concept Nautilus extension which allows you to open a terminal in arbitrary local folders.

To install this quick-launch to the terminal simply run:

sudo aptitude install nautilus-open-terminal

You may need to restart gnome / nautilus for the change to take effect, but afterwards you’ll have a “open terminal” button on your right-click menu anywhere within nautilus or gnome-desktop area.  Enjoy.

Categories: GNOME Tags: , ,