From the Canyon Edge -- :-Dustin

Friday, June 5, 2009

The Goode Family


Mike Judge
's new cartoon sitcom, the Goode Family, has made a few headlines on Planet Ubuntu already. I'm throwing my endorsement in the ring.

It's pretty funny so far. Of course, it's great to hear "Ubuntu" on prime time television. The Goode's have an adopted son named Ubuntu from Africa -- South Africa. They're really having a blast with the pronounciation. Different characters pronounce his name in different ways -- something we certainly see in the Ubuntu Community as well. Quite entertaining.

I find it strangely ironic how my life has tracked Mike Judge's shows...
  • I was in junior high and high school in 1993-1997, listening to plenty of Metallica and Guns N Roses when Beavis and Butthead was on MTV (1993-1997).
  • I moved to Texas in 1997, still living there now. King of the Hill (1997-present) is quite thoroughly set in Texas, and makes fun of plenty of idiosyncrasies that have baffled me as a non-native Texan.
  • I started my first real internship with IBM Tivoli, in Austin, Texas in the corporate computer/tech industry in 2000... Office Space was filmed in Austin and released in 1999.
  • And here I am now, 2009, living in Austin. I find myself working on Ubuntu, with my wife driving a bio-diesel VW Jetta, buying over-priced organic groceries, stuffing them into reusable grocery bags, trying vegetarianism (unsuccessfully), and installing solar panels on the roof. The Goode Family could really be any one of a number of real households in Austin, quite a green-minded, hippie community ;-)
On a separate note, I've always wondered if Greg Kroah-Hartman and Mike Judge might be related... The resemblance is amazing!



:-Dustin

Wednesday, June 3, 2009

Migrating to an Encrypted Home Directory



UPDATE (2011-02-15): These manual instructions are no longer required, however, they may prove useful if you need to deviate from the norm.  You can now use the ecryptfs-migrate-home command.


Howdy!

Many eCryptfs and Ubuntu Jaunty users have requested instructions on migrating their existing, non-encrypted home directories to an Encrypted-Home setup. I have some instructions for you now!

Prerequisites

  1. Make a complete backup copy of your non-encrypted data to another system or external media. Some of the following instructions are dangerous, could result in data lost, or lock you out of your system! Please read and follow all instructions very carefully.
  2. Make sure you have sufficient disk space available. To make a full copy, you will need at least 2x the disk usage of your current home directory. Assuming the copy succeeds and you have access to your encrypted data, you can recover some space by deleting the unencrypted data.
    du -sh $HOME
    df -h $HOME
    
  3. You must have administrator (sudo) privileges.
  4. You should install ecryptfs-utils
    sudo apt-get install ecryptfs-utils
    

  5. These instructions require an empty $HOME/Private directory. If you already have some data in your $HOME/Private directory, please move all of these files and directories out of the way, and follow the instructions in:
    ecryptfs-setup-private --undo
    

Instructions


Exit all desktop sessions. You need to ensure that there are no other processes on your system reading and/or writing data in your home directory. Perform all of the following instructions by logging in via SSH or at a tty terminal (ctrl-alt-F1).

Login and setup an Encrypted Private directory:
login
ecryptfs-setup-private


Logout, and log back in and make sure $HOME/Private is mounted.
exit
login
mount | grep "$USER.*ecryptfs"


Use rsync to copy all data from your home directory to your new Encrypted Private directory. If you have a large home directory, this step might take a very long time. Be very wary of any errors at this point. This is the most essential step in this migration scheme. I usually re-run this step 3 times.
rsync -aP --exclude=.Private --exclude=Private \
--exclude=.ecryptfs $HOME/ $HOME/Private/


Sync to disk, unmount, logout, and log back in.
sync && sync && sync
ecryptfs-umount-private
exit
login


Setup your eCryptfs configuration directory.
ecryptfs-umount-private
cd /
sudo mkdir -p /home/.ecryptfs/$USER
sudo chown $USER:$USER /home/.ecryptfs/$USER
mv $HOME/.ecryptfs /home/.ecryptfs/$USER/
mv $HOME/.Private /home/.ecryptfs/$USER/
sudo chmod 700 /home/.ecryptfs/$USER/.Private
sudo chmod 700 /home/.ecryptfs/$USER/.ecryptfs


Setup your new, unmounted home directory.
sudo mkdir -p -m 700 /home/$USER.new
sudo chown $USER:$USER /home/$USER.new
ln -sf /home/.ecryptfs/$USER/.ecryptfs \
/home/$USER.new/.ecryptfs
ln -sf /home/.ecryptfs/$USER/.Private \
/home/$USER.new/.Private


Move your old, unencrypted home directory out of the way.
sudo mv $HOME $HOME.old


"Activate" your new, unmounted home directory by renaming it.
sudo mv /home/$USER.new $HOME
echo $HOME > $HOME/.ecryptfs/Private.mnt
ln -sf \
/usr/share/ecryptfs-utils/ecryptfs-mount-private.txt \
$HOME/README.txt
sudo chmod 500 $HOME


Logout, and log back in. Ensure that $HOME is mounted, and that you have a symlink to your configuration directory.
exit
login
mount | grep "$USER.*ecryptfs"
ln -sf /home/.ecryptfs/$USER/.ecryptfs \
/home/$USER/.ecryptfs
ln -sf /home/.ecryptfs/$USER/.Private \
/home/$USER/.Private


Check all of your home directory data. Ensure that everything is in order. Once you are completely confident that the migration worked, you can reclaim some disk space by removing your old, non-encrypted data.
sudo rm -rf $HOME.old


Notes



If you are a shred-minded-individual, you will need to backup your cleartext data, shred your disk, and reinstall from scratch.

:-Dustin

Karmic Manpages


The Ubuntu Manpage Repository has been updated with Karmic manpages, and Gutsy's have been dropped.

Cruise on over to http://manpages.ubuntu.com for web based manpage browsing and searching.

Enjoy!
:-Dustin

Monday, June 1, 2009

byobu-2.8 - change in launch behavior

Howdy byobu users!

Per discussion at last week's Ubuntu Developer Summit in Barcelona, the latest version of byobu (2.8) has dropped the "diversion" of /usr/bin/screen.

In previous versions of byobu (and screen-profiles), /usr/bin/screen was actually a wrapper script that prompted you to choose your profile, and then launched the real /usr/bin/screen.real with byobu's configuration.

This has proven to be controversial with some traditional GNU screen users. Also, while most of screen's parameters can be passed directly through byobu, some of them cannot.

Thus, from byobu-2.8 onward (and in Ubuntu Karmic Koala), users will need to launch using the byobu command, rather than the screen command.

Note that if you really want to run byobu when you type screen, you can add the following to your $HOME/.screenrc file:
  • source $HOME/.byobu/profile
Also note that if you have configured your system to launch byobu automatically on login, it should continue launching byobu as expected.

Sorry about any inconveniences...

Cheers!
:-Dustin

Tuesday, May 26, 2009

"Ubuntu Polishes GNU Screen"


Mathias Gug and I stumbled upon this byobu
in Barcelona during the Ubuntu Developer Summit


More positive press coverage about byobu! This one is from Enterprise Networking Planet, discussing screen-profiles in Ubuntu 9.04:

:-Dustin

Tuesday, May 5, 2009

byobu 2.0 released -- the project formerly known as screen-profiles




Releasing 2.0

After 54 mini-releases of screen-profiles-1, I'm pleased to declare a 2.0 release! I believe that the project is more stable, more feature-filled, and better performing than ever. screen-profiles has become much more than a fun little hack... I believe that it is ready for general usage.

Changing the Name of the Project

In conjunction with the 2.0 release, I am also renaming the project. The new name of the project and packages is byobu.

Byobu is a Japanese term for decorative, multi-panel screens that serve as folding room dividers. I think this is a fitting description of this project--an elegant enhancement of otherwise functional, plain, practical screens.
The pronunciation, as I understand it, is something like: beeyo-boo.
Update: A reader, Fumihito YOSHIDA, has provided me with a WAV file of byobu being pronounced by his friend, Nobuto MURATA, under the Creative Commons Attribution 3.0 Unported license.

Update: Micah Cowan, a GNU Screen developer, also provided a pronunciation of byobu at Farvo.com. Thanks!


Explaining the Name Change

So why am I changing the name? I'll enumerate a few reasons...
  1. I have never really liked the term screen-profiles as a permanent project name. It has always been sort of a "working title." (Think Star Wars: Episode VI's original title, Revenge of the Jedi)
  2. Like screen itself, the name screen-profiles is functional and descriptive, but perhaps a little bland.
  3. At the birth of the project, it really did provide simply a static set of profiles. But these are far more dynamic, and configurable now. The vast majority of the code is no longer in the profile itself, but in the configuration utilities and status gathering scripts that customize screen.
  4. The project is in the process of being packaged for at least Debian, Fedora, and OpenSUSE, and Ubuntu's Karmic Koala has not yet entered Alpha1. The timing for a name change is as good as it is going to get.
  5. byobu is such an appropriate name! It expresses elegance, color, multiple panels, and function. Like Ubuntu, it's an interesting word in a foreign tongue. It also rhymes with GNU. Try saying: Byobu is new GNU fu in Ubuntu, 10 times fast :-)

Looking Forward

What's next for byobu?

I believe that GNU Screen can and should be used as a window manager on Linux servers (or at least command-line-only environments) in the same way that Gnome, KDE and XFCE are used on Linux desktops. Following this analogy, you might look at Byobu as providing a functionality similar to a compositing window manager like Compiz or Beryl. Something like Compiz is certainly not for everyone, and is easy to disable. However, it is useful to some people and can certainly enhance the overall desktop experience. And that's really my goal for byobu -- to enhance the experience and usability of screen, and the command line in general.

In the byobu 2.x series, I hope to implement:
  • Additional toggle-able status items in the bottom status panel
  • Detailed callouts for each status item
  • Better interaction with various terminals
  • Additional keybinding sets
  • Configurable support for external notifiers, like notify-osd
  • Internationalization of the text

Updating Links

I've made most of the necessary changes in the source code, though I'm still in the process of updating the various links and documentation. The most important ones are:
Packaging

I am in touch with both Reinhard Tartler, who is handling the Debian packaging, and David Duffey who is handling the Fedora packaging. I should have the new package uploaded to Karmic later this week, and make packages available for Hardy, Intrepid, and Jaunty in the byobu PPA.


:-Dustin

Saturday, May 2, 2009

Building an eCryptfs Community

Most of my eCryptfs posts have been dedicated to my work on Ubuntu's Encrypted Home and Encrypted Private Directories. I'm incredibly proud that we are helping Ubuntu users enjoy confidence in the security of their personal data without requiring sophisticated expertise in cryptographic filesystems and system adminstration.

This post, however, is intended to highlight what I hope is a burgeoning development community around the upstream eCryptfs project.

Minutes ago, I released ecryptfs-utils-75. I believe that this is a landmark release based on the number of contributions from people other than the maintainers, Tyler Hicks (IBM) and myself (Canonical).

Have a look at the changelog, and you should see contributions from:
  • Michal Hlavinka (Red Hat)
  • Daniel Baumann (Debian)
  • Arfrever Frehtes Taifersar Arahesis
  • Frédéric Guihéry
  • Adrian C. (anrxc)
Thank you!

If you have an interest in eCryptfs and a proficiency in C programming, please have a look at our open bugs. We are quite interested in growing our community of developers. You can join us in IRC at #ecryptfs on irc.oftc.net, and you can grab the source code with:
  • bzr branch lp:ecryptfs
:-Dustin

p.s. Several years ago, I was criticized on a mailing list for submitting a "drive-by patch" (some maintainers evidently do not like this model). It scared me away from making minor contributions to projects I was otherwise unaffiliated with for some time. So, for the record, if your code is good, I don't mind "drive-by patches" ;-)

Printfriendly