.bash_history to the rescue

My unadvised uninstall of the hsfmodem kernel modules on my Linux system seems to have been the cause of my Audacity playback suddenly not working any more.  In this post, I show how I used the .bash_history file to reconstruct what I had done so I could take compensating actions to reinstall what I had uninstalled.


After working fine for weeks, Audacity audio playback on my Linux system suddenly stopped working for me.  Other programs still played sound fine (system notifications; One Must Fall:2097 on dosbox…)

“But I didn’t change anything!” I mentally protested.

I found a post on the Linux-noob forum, someone saying that for them it was a kernel driver update issue.

Kernel…kernel…

I remembered that I had uninstalled a kernel driver a few days before. (When Mandriva Update suggests updates, I make a practice of going through the list and uninstalling components I don’t need first rather than continue with the security exposure of having them installed.)

Normally they’re just apps, but I did remember uninstalling a kernel module or two that other day.  What was it I had uninstalled? The name hsfmodem came to mind…

I looked for urpme logs in /var/log/ but didn’t immediately find something logging “packages uninstalled” (though, hey, it looks like /var/log/rpmpkgs might be the currently installed packages and /var/log/rpmpkgs.1.gz is maybe the installed package list from before the most recent change…)

Then I thought of .bash_history.  Doesn’t that have all the shell commands I’ve issued, going pretty far back?

It does!  I pulled up root’s .bash_history file and found the urpme commands I had run, or tried to run:

urpme hsfmodem-kernel
man urpmq
man urpmf
urpme hsfmodem-kernel-2.6.27
for f in hsfmodem-kernel-2.6.24.4-desktop586-1mnb-7.68.00.07-1mdv2008.1.i586;hsfmodem-kernel-2.6.24.4-desktop586-3mnb-7.68.00.07-1mdv2008.1.i586
hsfmodem-kernel-2.6.24.5-desktop586-1mnb-7.68.00.07-1mdv2008.1.i586
hsfmodem-kernel-2.6.24.5-desktop586-2mnb-7.68.00.07-1mdv2008.1.i586
hsfmodem-kernel-2.6.24.7-desktop586-1mnb-7.68.00.07-1mdv2008.1.i586
hsfmodem-kernel-2.6.24.7-desktop586-2mnb-7.68.00.07-1mdv2008.1.i586
hsfmodem-kernel-2.6.27-desktop586-0.rc8.2mnb-7.68.00.13-1mdv2009.0.i586
hsfmodem-kernel-2.6.27.4-desktop586-2mnb-7.68.00.13-1mdv2009.0.i586
hsfmodem-kernel-2.6.27.5-desktop586-2mnb-7.68.00.13-1mdv2009.0.i586
hsfmodem-kernel-2.6.27.7-desktop586-1mnb-7.68.00.13-1mdv2009.0.i586
hsfmodem-kernel-desktop586-latest-7.68.00.13-1.20081219.1mdv2009.0.i586
cat > hsfmodem.txt
for f in `cat hsfmodem.txt`; do echo $f; done

Ah yes, I had tried to remove all packages whose name contained the  string hsfmodem.  Did I still have hsfmodem.txt?

Yes, here’s what it contained:

hsfmodem-kernel-2.6.24.4-desktop586-1mnb-7.68.00.07-1mdv2008.1.i586
hsfmodem-kernel-2.6.24.4-desktop586-3mnb-7.68.00.07-1mdv2008.1.i586
hsfmodem-kernel-2.6.24.5-desktop586-1mnb-7.68.00.07-1mdv2008.1.i586
hsfmodem-kernel-2.6.24.5-desktop586-2mnb-7.68.00.07-1mdv2008.1.i586
hsfmodem-kernel-2.6.24.7-desktop586-1mnb-7.68.00.07-1mdv2008.1.i586
hsfmodem-kernel-2.6.24.7-desktop586-2mnb-7.68.00.07-1mdv2008.1.i586
hsfmodem-kernel-2.6.27-desktop586-0.rc8.2mnb-7.68.00.13-1mdv2009.0.i586
hsfmodem-kernel-2.6.27.4-desktop586-2mnb-7.68.00.13-1mdv2009.0.i586
hsfmodem-kernel-2.6.27.5-desktop586-2mnb-7.68.00.13-1mdv2009.0.i586
hsfmodem-kernel-2.6.27.7-desktop586-1mnb-7.68.00.13-1mdv2009.0.i586
hsfmodem-kernel-desktop586-latest-7.68.00.13-1.20081219.1mdv2009.0.i586

I tried passing these directly to urpmi, but it didn’t recognize these names… I think what eventually worked was issuing cat hsf-truncated.lst | xargs urpmi
based on this hsf-truncated.txt:

hsfmodem-kernel-2.6.24.4-desktop586
hsfmodem-kernel-2.6.24.4-desktop586
hsfmodem-kernel-2.6.24.5-desktop586
hsfmodem-kernel-2.6.24.5-desktop586
hsfmodem-kernel-2.6.24.7-desktop586
hsfmodem-kernel-2.6.24.7-desktop586
hsfmodem-kernel-2.6.27-desktop586
hsfmodem-kernel-2.6.27.4-desktop586
hsfmodem-kernel-2.6.27.5-desktop586
hsfmodem-kernel-2.6.27.7-desktop586
hsfmodem-kernel-desktop586-latest

I know there are some duplicate package names in there… but this was close enough to get hsfmodem reinstalled.  Then Audacity playback worked again.

I guess hsfmodem has to do with audio output as well as classic modemy stuff!

Advertisements

  1. Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s