Mounting an encrypted hard disk (LUKS)

I found a pretty good link from BIT ENGINE on rescuing data from a LUKS encrypted harddisk.

PROBLEM 1 – lvdisplay / vgchange not recognized

The first issue I ran into while using Ubuntu 9.10 liveCD, was the commands lvdisplay and vgchange were not recognized. So to fix this:

apt-get install lvm2

So now, on my system lvdisplay outputs:
--- Logical volume ---
LV Name /dev/vg_dvz/lv_root
VG Name vg_dvz
...etc...

If you
ls -la /dev/vg_dvz/lv_root

you’ll noticed that it’s linked to
/dev/mapper/vg_dvz-lv_root

PROBLEM 2 – Mounting Issues
While reading it and following it, at this point:

"Mount your filesystem:

mount -t ext4 /dev/volumename/root /mnt”

When trying to mount:
mount -t ext4 /dev/vg_dvz/lv_root /mnt

I kept getting the error:
mount: unknown filesystem type 'crypto_LUKS'

So to overcome that, I just executed the previous command
cryptsetup -v luksOpen /dev/mapper/vg_dvz-lv_root myroot

and entered my LUKS passphrase again…
mount /dev/mapper/myroot
…voila!

Takeaway

I had to apply the luksOpen on the Partition as well as the lv_root…sometimes only opening the partition may not suffice as each logical volume may also say it is of crypto_LUKS filetype.

Hope this saves someone some headache.

Wiki Tables

So I found the need / desire to place tables side by side in https://wiki.ubuntu.com/BeginnersTeam/FocusGroups/Development/Joining.

I successfully got the tables working how I wanted them, however I noticed a few issues.  The first issue is that the tables aren’t maintained when you break them across lines by the ‘||’ tag.  i.e.

||<tablestyle...>||Something||SomethingElse||

does not parse the same as

||<tablestyle...>
||Something
||SomethingElse

But that’s understandable, given how parsing engines work.. And the only time this becomes a hassle is when you want two or three or even four tables side by side, you have to write them as one large table which tends to take up several lines for one row of tabular data.

But one idea I propose is to create a shortcut for <style=”border:none”>.  Similar to how:  <#000000> is a shortcut for <style=”background:#000000;”>  and how <50%>  is a shortcut for <width:”50%”>  which is a shortcut for <style=”width:50%;”>.

That would make it a little easier and a little clutter than seeing a line such as:

||<style="border:none">||<style="border:none">||<style="border:none">|| dataHere || DataHere ||

And make it something more like:

||<nb>||<nb>||<nb>|| dataHere || DataHere ||

where <nb> = no border.

Another idea would be for the tables to actually be floated next to each other…but in the few attempts I had with the floating, it didn’t seem to work.  So if that does work, then I just may have overlooked something.  Hrm.

Food for thought. Tis all.

Determining WHICH *nix distro is currently used…

–Edit.
Originally, I had run into the issue of trying to determine the *nix distribution – a command that would tell me the distribution and the build and everythign else I wanted to know. After reviewing some of the awesome comments left behind, here’s the updated perl script to determine the distribution (in Perl).

#!/usr/bin/env perl
use strict;
use warnings;

my ( $distro );
$distro = `lsb_release -i -s`;
chomp $distro;

my %installCmd = (
"Fedora" => \&fedora,
"Ubuntu" => \&ubuntu,
);

&test();

sub test {
if ( exists $installCmd{$distro} ) {
$installCmd{$distro}->();
} else {
print "Supported Distributions are: ". join(', ' , keys %installCmd) . ".\n";
exit;
}
}

sub fedora { print "Hello from the Fedora Family!"; }
sub ubuntu { print "Hello from UBUNTU!!!"; }

sqlite, sqlite3, and CPAN equivalents in Ubuntu and Fedora

So I ran into an issue today, while working trying to port a program from Ubuntu to Fedora, involving Sqlite and Sqlite3 and CPAN.

sqlite (2.8)

Ubuntu:    sudo apt-get install sqlite
Fedora:    su -c 'yum install sqlite2'

sqlite3 (3.0+)

Ubuntu:    sudo apt-get install sqlite3
Fedora:    su -c 'yum install sqlite'

CPAN

Ubuntu:    Installed by default
Fedora:    su -c 'yum install perl-CPAN'