Dumbest/Funniest mistakes you have ever made on BSD/Linux/UNIX

ha-ha-ha that reminds me of when our boss was using dos 5 and we ran a small version upgrade (he left the office to go to the bathroom) and when he was out I changed the prompt message to
“I’m Ready to take over your mind human!”
lmao man was he a paranoid screwball
I told him i could fix it and it would take a while so he went out to the lounge to do his paperwork while i corrected it and spent the rest of the afternoon goofing off

This morning I was playing with mozilla’s deepspeech on my ubuntu laptop and got an error message that it could not access my microphone that was already in use by pulseaudio.

I had no idea what pulse audio was so after “dpkg -l | grep -i pulse” showed several installed pulseaudio and libpulse packages, I did the only rational thing to solve my microphone error:

sudo apt-get remove libpulse* pulseaudio*

and of course I did not pay any attention to the dependencies that were also about to be removed.

Fortunately once you nuke your desktop environment, you can still get to /var/log/apt/history.log to discovery what apt-get tried to warn you were going to remove:

Commandline: apt-get remove libpulse* pulseaudio*
Requested-By: clifford (1000)
Remove: speech-dispatcher-espeak-ng:amd64 (0.8.8-1ubuntu1), speech-dispatcher-audio-plugins:amd64 (0.8.8-1ubuntu1), unity-session:amd64 (3.28.1-0ubuntu3), ffmpeg:amd64 (7:3.4.4-0ubuntu0.18.04.1), gnome-control-center:amd64 (1:3.28.2-0ubuntu0.18.04.2), speech-dispatcher:amd64 (0.8.8-1ubuntu1), libgegl-0.3-0:amd64 (0.3.30-1ubuntu1), libespeak1:amd64 (1.48.04+dfsg-5), libpulsedsp:amd64 (1:11.1-1ubuntu7.1), pulseaudio:amd64 (1:11.1-1ubuntu7.1), libqt5multimedia5:amd64 (5.9.5-0ubuntu1), ubuntu-session:amd64 (3.28.1-0ubuntu3), gnome-orca:amd64 (3.28.0-3ubuntu1), ubuntu-desktop:amd64 (1.417), gnome-settings-daemon:amd64 (3.28.1-0ubuntu1.1), indicator-sound:amd64 (12.10.2+18.04.20180420.3-0ubuntu1), gstreamer1.0-plugins-bad:amd64 (1.14.1-1ubuntu1~ubuntu18.04.1), unity:amd64 (7.5.0+18.04.20180413-0ubuntu1), orca:amd64 (3.28.0-3ubuntu1), gdm3:amd64 (3.28.3-0ubuntu18.04.3), libfluidsynth1:amd64 (1.1.9-1), unity-control-center:amd64 (15.04.0+18.04.20180216-0ubuntu1), gstreamer1.0-pulseaudio:amd64 (1.14.1-1ubuntu1~ubuntu18.04.1), unity-greeter:amd64 (18.04.0+18.04.20180314.1-0ubuntu2), libespeak-ng1:amd64 (1.49.2+dfsg-1), gimp:amd64 (2.8.22-1), libpulse0:amd64 (1:11.1-1ubuntu7.1), libpulse-mainloop-glib0:amd64 (1:11.1-1ubuntu7.1), indicator-bluetooth:amd64 (0.0.6+17.10.20170605-0ubuntu3), libpcaudio0:amd64 (1.0-1), libcanberra-pulse:amd64 (0.30-5ubuntu1), libsdl1.2debian:amd64 (1.2.15+dfsg2-0.1), libavdevice57:amd64 (7:3.4.4-0ubuntu0.18.04.1), libsdl2-2.0-0:amd64 (2.0.8+dfsg1-1ubuntu1.18.04.1), gnome-initial-setup:amd64 (3.28.0-2ubuntu6.16.04.4), libasound2-plugins:amd64 (1.1.1-1ubuntu1), remmina-plugin-rdp:amd64 (1.2.0-rcgit.29+dfsg-1ubuntu1), pulseaudio-module-bluetooth:amd64 (1:11.1-1ubuntu7.1), unity-settings-daemon:amd64 (15.04.1+18.04.20180413-0ubuntu1.2), gnome-shell:amd64 (3.28.3-0ubuntu0.18.04.4), unity-tweak-tool:amd64 (0.0.7ubuntu4), pulseaudio-utils:amd64 (1:11.1-1ubuntu7.1), libfreerdp-client2-2:amd64 (2.0.0~git20170725.1.1648deb+dfsg1-7ubuntu0.1), libfreerdp-plugins-standard:amd64 (1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1), mutter:amd64 (3.28.3-2~ubuntu18.04.2)
End-Date: 2019-02-16  07:54:45

And after enough time with sed that it would have been quicker to edit the list by hand:

clifford@Ubuntu-Laptop:~$ sudo apt-get install $(tail -n 2 /var/log/apt/history.log) | head -n 1 | sed 's!Remove: !!g' | sed -e 's!:[~+[:alpha:][:digit:] /:().-]*,*!!g')

got me back into a desktop. And now I know gnome depends on pulseaudio, whatever pulseadio happens to be.

1 Like

Pulseaudio is your sound server, typically you wouldn’t want to remove that, for quirks like those btrfs snapshots come in real handy :wink:

1 Like

My laptop is bravely rocking ext4. Although /home is on a separate partition that rsyncs nightly to a network share. I am glad apt logs in detail my shameful requests and their consequences.

1 Like

This was gonna be mine. Also “at least once”. :rofl:

I did the only rational thing

sudo apt-get remove libpulse* pulseaudio*

I see your problem!

You forgot the --purge flag. :sunglasses:

I just recently figured out mounting external HDDs with fstab is not a good idea. On centos at least if you boot the pc without the drive attached its gonna assume the drive is dead and go into “emergency mode” where you can only enter your root password or reboot. Witch I did not set a root password as I never until then wanted to use the root user. Fixed it by connecting the HDD again and first thing I did was set a root password.

Shouldn’t the ‘nofail’ mount option prevent this?

1 Like

maybe, if i knew what that would be maybe i would not have had the problem

gonna look into it

no need to google for it, it’s right there in the man page :wink:

“nofail” do not report errors for this device if it does not
exist.

I think one of the reason I like linux is that it gives supreme control to the user. I think over the years, I have made many dumb mistakes (like using experimental branches). Usually means I come out a better linux user, and that I have backups of important files EVERYWHERE.

That said, I think easily the saddest moment was try to rm a .swp.swp file (that I knew was bad, and hit the tab complete thinking it would complete to the .swp (I was moving too fast and not thinking). I accidentally deleted the .rkt file I just spent like 4 hours on without a git commit. Luckily, it was just a “fun-only” personal project implementation of the board game “IQTwist” with a solver, gui, and mouse controls. Hey, I did it with drracket too.

The .swp file was old which is why I was trying to delete it, I opened it up to see if it still had the changes I had made. Nope.

At that point I was like f it time to move on lol.

I did something similar when I was really new (I don’t remember all the details)… I turned my CS class project into a tar file incorrectly (I think I used force) and it overwrote the data. Luckily I had a backup >.>

You know, now that I think about it – writing an alias for rm or intercepting it to move files to a trash bin would have saved me some grief over the years. Not sure if that is a very linux-y thing to do.

EDIT: maybe a “trash” alias would be a better idea. IDK, my impression is that rm punishes you, but it also forces you to think a little more after you fail a few times. This is a good thing I think? Maybe in a sort of self-flagellation sort of way?

Some distros do ship aliases for rm. Ubuntu being a notable one.

Too many users blindly copy and paste commands, and more than one has been told in IRC to try ‘rm -rf /’.

1 Like

That would be pretty brutal to a new linux user. Honestly, that’s like a kick below the belt. It’s unfortunate that screaming in agony and crying aren’t effective debugging strategies, so I can kind of understand how someone might be frustrated / not thinking clearly and paste that in (even if linux savvy).

There’s no need to make excuses for it (“Sure the command line gets angry sometimes, but I deserved it!”) it’s user hostile design plain and simple. Just because we learn from bad experiences does not mean the experience was necessary and that common errors cannot be mitigated by more thoughtful implementation.

Thankfully some distros will intercept such an obviously bad command, rather than faithfully executing a user’s data. Though obviously you can’t truly fool proof everything but I for one am very grateful when I get these sorts of messages.

A big problem is that in a default linux setup there’s root which can do everything, and the user, which can do fuckall. This means a new user is going to have to constantly and blindly resort to sudo, or su in order to fix (copy paste) whatever Matryoshka doll of problems they are trying to resolve that day, often while leaving a trail of failed solutions littering the system.

2 Likes

How do you find this stuff?

Ikr, hats off

Edit: Thread’s gonna have its birthday next week too lol

At my old job i was working with RT systems, and i was reverse ssh’ed onto a bus running in Copenhagen, i forget what i was i was trying to figure out but i cat’ed some file in the /dev folder, and apearently that one file really doesn’t like being read, and it locked up that busses system in a kernel Panic for the remainder of his trip ;).
There is a specific file in the /dev folder you can DD commands to access chipset features, but cat from the file and you get a kernel panic.

Being new to Gentoo, but not to Linux, I got a little cocky. I knew you could specify the -j flag with a number to compile with that many threads, or by itself with no limit on threads. Well obviously I wanted the unlimited one because unlimited power, amirite? Well I anytime I would compile anything, it would chew through 16 GB of RAM and reboot before I knew what happened. Took me wayy too long to figure out

4 Likes

unlimited power, amirite?

Logic checks out.

“We all know Linux is great… it does infinite loops in 5 seconds.”
–Linus Torvalds

3 Likes