15 ms·
Suicide Linux (2009)
- mariopt 6y agoA confirmation message would be really helpful instead of losing all my stuff.
- ciarannolan 6y agoI think the lack of confirmation message is sort of the point.
- justwalt 6y agoThis comment reminds me of one of the ones in the thread a few days ago about Google clearing out trashed items. It was something like “this stinks because I always store my most important documents in the trash”, except this one seems to be less sarcastic :)
- outworlder 6y agoWhy would you run this in an actual machine? VMs are cheap.
- meh206 6y agoHaha I remember this!
- chendragon 6y agoI guess this is one of the reasons running the command manually actually requires the --no-preserve-root flag on some systems, anyway
- taneq 6y agoSo, does your Linux Roguelike have any progression? Can I get a magic item (ie. a file) to put in my home directory to protect it from a single mistake, or something?
- ciarannolan 6y agoLike playing linux on survival mode? I like it.
- oefnak 6y agoEvery time you install a package from source you get an extra life?
- masklinn 6y agoOr the other way around, every time you avoid failure long enough it adds new failure modes?
- katsume3 6y agoInteresting. It annoys me when hackers tend to do something 'creative' once they're in. Instead of recursively deleting everything (which has the most impact) - they try some novel and boring task which has low impact. The end goal of all nefarious forms of hacking should be to wipe everything.
- taneq 6y agoYou say "should be to wipe everything". Why do you think that's the most important goal? I'd have thought the BEST hackers would ensure their continued control of the system and ability to exfiltrate data without arousing any suspicion. A good virus doesn't kill its host, a good hacker doesn't nuke their woot.
- MereInterest 6y agoWhy does it annoy you? I like seeing things that are clever and amusing, things that I wouldn't have thought to do myself. For a less malevolent example, the existence of Upside-Down-Ternet, flipping all images upside down for unauthorized wifi users, rather than outright banning them.
- vngzs 6y agoWhat about: Making money (cryptomining, CCN theft)? Stealing data (SSNs, other identity documents)? Ransoming the data for money? In the end of the day, most cybercrime is focused on making money, so wiping a system has zero utility (especially as it would tip off the owners to your presence).
- katsume3 6y ago> Ransoming the data for money? It's acknowledged that some high-profile ransomware attacks had the ulterior motive of wiping data. They used the ransomware as a front and really just wanted to do damage, not make money.
- pmontra 6y agoViruses in the 80s used to wipe everything or do something very visible with the screen. They got more creative in the 90s, especially after many people got an internet connection at work or at home.
- NikolaeVarius 6y agowhy no --no-preserve-root flag?
- deleted 6y ago[deleted]
- megiddo 6y agoThis is like that time, last week, when I was having issues with do-release-upgrade and someone helpfully suggested to run sudo apt-get purge python* && sudo apt-get autoclean && sudo apt-get install python* Which I did without paying attention to what I was doing and it turns out that this is one of the worst things you could do ever on a Debian-based distro. Damn you, abu-ahmed al-khatiri.
- segfaultbuserr 6y agoAlso on Gentoo. Once you've done it, your package manager is gone... At least you'll be warned when you attempt to do it, and often there will be two or more Python installations (2.7, 3.x), and Portage will run on any of them, so incidents like these are actually rather rare.
- steffan 6y agoThis reminds me of fun times compiling and upgrading libc on a running system. It's challenging, but if you plan it out, it's not bad. But if you miss a step...better hope you have some statically compiled tools somewhere that can help you out.
- ciarannolan 6y agoWhat's wrong with that command?
- NikolaeVarius 6y agoOS requires python pkgs for much core functionality. Command gets rid of all of them
- dllthomas 6y ago... assuming you don't have any files starting with `python` in the current directory, in which case you might (or might not) be just fine.
- 6y ago
- segfaultbuserr 6y agoIt reminds me of the Russian Linux Roulette... [ $[ $RANDOM % 6] = 0 ] && rm -rf / || echo '*Click*' But it's a bit boring. So there's also an improved version [0], which deletes a random file from the system instead of everything. alias roulette='[ $[ $RANDOM % 6 ] == 0 ] && rm -f $(shuf -n1 -e *) && echo "BOOM" || echo *Click*' [0] https://gist.github.com/mjkaufer/85bb5f800525245942a8 https://gist.github.com/mjkaufer/85bb5f800525245942a8
- garaetjjte 6y agoFirst one requires --no-preserve-root to be effective on GNU tools ;)
- segfaultbuserr 6y agoThere's a more elegant solution: rm -rf /* Just an extra asterisk is enough. The shell expands it to all subdirectories under /, and it's compatible with all Unix systems.
- ezrast 6y agoWildcard expansion skips filenames beginning with a dot, though.
- mixmastamyk 6y agoThere's no useful ones at the root level however.
- ezrast 6y agoHaving a place to store files where they won't get deleted when you make a typo sounds useful to me.
- ktta 6y ago> Perhaps rm -rf / should be replaced with something with more verbose flags set. It is replaced. You'll need to now enter `rm -rf / --no-preserve-root` for that command to actually do damage.
- segfaultbuserr 6y agoIn fact, even with the protection in place, you just need `rm -rf /*`...
- dkarl 6y ago> Perhaps rm -rf / should be replaced with something with more verbose flags set. That way, when you run a bad command, you are told immediately that things are being deleted This gives me an idea: Hell Linux. In Hell Linux, the operating system does its best to pretend that nothing is wrong, so it takes you as long as possible to realize that you've made a mistake. Commands ignore all unrecognized flags. In shell scripts, if one branch exits with a nonzero exit code, the other branch is taken. stderr is always redirected to /dev/null. 0 exit code is reported for all processes, no matter how they terminate. If you try to exec a file that doesn't exist, it runs a process that does nothing and immediately exits, unless it is part of a pipeline, in which case it consumes standard in. If you try to read a .json file that doesn't exist, you get the bytes "{}". When you read a log file, any lines containing "ERROR" or "WARN" are skipped. If you try to connect to a port that nothing is listening on, it does its best to behave like the service that should be listening there. Oh, the possibilities....
- jmnicolas 6y ago> the operating system does its best to pretend that nothing is wrong, so it takes you as long as possible to realize that you've made a mistake. You're describing my (modest) experience with Javascript: it fails silently. I was describing it this way to a colleague: Javascript is a Japanese girlfriend, too polite to show you your mistakes so you have a hard time to know what you did wrong. I want a rigorous German girlfriend that won't let pass any mistake or even an Italian one that will burn my house because I forgot to call her by her right name!
- ojnabieoot 6y agoI am from the left-liberal side of things, including my choice of employers, and I am always flummoxed when I come into HN and see developers a) make comments that are flagrantly bigoted and misogynistic b) indicate that they make comments like these to their colleagues Do devs really say horrible things like this at the workplace? If anyone on my team made jokes about Japanese vs. Italian girlfriends, either they would be fired or I would quit.
- HashingtheCode 6y agoThis could be turned into a really great security tool, akin to a deadman switch, which upon activation and incorrect use, deletes the contents of the users home directory. Example. In Mate Desktop. the default terminal is Mate Terminal. Upon installation of Suicide Linux, Mate Terminal could be modified to delete the users home, but provide no warning that it is running. For the user, they could use another terminal program for their daily needs without fear of deleting their home. In the event that their laptop is seized or stolen an attacker may use the default terminal program ie, Mate Terminal which would then upon the issue of any command delete the users home folder If someone can make this I would install it
- segfaultbuserr 6y agoIn this case, just "rm" everything is far from enough, it needs to be a secure deletion. And the best way to implement secure deletion is using full disk encryption, this way, instead of wiping the entire disk, you just need to wipe the header, which contains its master key. head -c 100000000 /dev/zero > /dev/sdX1; sync An even better solution is interfacing the motherboard with a small microcontroller and storing the master key in hardware (and possibly with a key-split algorithm, so compromising the hardware doesn't reveal the key, but its destruction will kill the key), such as a battery-backed SRAM or a hardware crypto chip. The self-destruction command would be an I/O request to wipe the chip. Tamper-switches can be placed at strategic physical locations around the machine. You can also write a deamon to monitor USB devices and trigger the self-destruction when an unknown device is detected, e.g. If your machine has been seized on-the-fly, the attacker is likely to plug an anti-screenlock USB mouse emulator, which triggers its self-destruction. The tricky part is balancing the degree of security protection and the risk of data destruction from a false-positive trigger...
- HashingtheCode 6y agoIs it possible to find the sourcecode? Edit: found it https://github.com/tiagoad/suicide-linux https://github.com/tiagoad/suicide-linux
- t0astbread 6y ago
- alex_young 6y agoThere used to be a few DOS shells which would do less than helpful stuff to you. One I liked would just offer insults instead of whatever it was you were attempting to do.
- anonymousiam 6y agoThis reminds me of an early BIOS/BDOS patch for CP/M that would replace messages like "BDOS err on A:" with "Get that pizza out of my disk drive!"
- salgernon 6y agoI seem to recall[1] that at one point, that emacs had a "final score" mode that would tell you how many typos / corrections you'd made during an editing session... Not as destructive as an 'rm -rf', but it would provide incentive to minimize mistakes. [1] Or I may not recall; it was a strange time. It might have been a suggestion, along the lines of designing a grep stick for physical libraries.
- pwarner 6y agohttp://psdoom.sourceforge.net/ http://psdoom.sourceforge.net/
- failuser 6y agoBofH would be proud.
- anonymousiam 6y agoFor those who don't know: http://bofh.bjash.com/ http://bofh.bjash.com/
- remram 6y agoA problem with most commands is that they usually don't need extremely-unfortunate typos or russian-roulette-enabled shells to turn into something wrong: they are usually wrong in passing, while you're typing them. I always wondered if something could be done against the effects of an accidental premature return. Some of us have cats... `sudo rm -rf /tmp/workdir` starts with `sudo rm -rf /` `git reset libs` starts with `git reset` which will wipe your staging area `docker-compose rm -f db` starts with `docker-compose rm -f` which will remove all stopped containers (and their logs) Most commands just tend to do something very broad with no arguments, and the fact that paths start with bigger folders and go down to files doesn't help either. No GUI tool would ask you to confirm before you type in the path, the way shell commands tend to.
- cobbzilla 6y agoMy favorite is: rm -rf ${DIR_NAME}/* Then you remember that DIR_NAME is undefined...
- DoofusOfDeath 6y agoI typically put "set -o nounset" at the top of my Bash scripts.
- cobbzilla 6y agoMy solution is to always install safe-rm. It prevents a lot of dumb deletes.
- account42 6y agoValve did exactly that in Steam for Linux at some point. [0] [0] https://github.com/valvesoftware/steam-for-linux/issues/3671 https://github.com/valvesoftware/steam-for-linux/issues/3671
- NoodleIncident 6y agoI've seen a few platformers that force you to jump at random times, screwing up what you planned on doing. You could definitely make a device to plug in as a keyboard that sporadically hits "return"
- offtop5 6y agoWould be fun to create a reality TV show. Have new grads come in to work on a one month project. The only os they can use is this. Who ever doesn't mentally break after 30 days gets 100k divided between the other survivors. Also have a troll who randomly blocks various support sites like stack overflow.
- J-Kuhn 6y agoBug report: Does not honor the requirement to set --no-preserve-root by rm.
- kelnos 6y agoLooks like it actually runs: rm -rf /* which should work.
- GuB-42 6y agoSomeone should make a Linux distro that installs with a random set of packages. Pair it with Suicide Linux and you have Roguelike Linux. Another fun one: Suicide Linux has a Debian package here https://sourceforge.net/projects/suicide-linux/files/ https://sourceforge.net/projects/suicide-linux/files/ Next to it is an ad for "Other Useful Business Software ". Implying that Suicide Linux is business software is... interesting.
- deleted 6y ago[deleted]
- deleted 6y ago[deleted]
- YooLi 6y agoShould be called Landmine Linux as most times, suicide is not accidental whereas stepping on a Landmine usually is. Entertaining project none-the-less. Thanks.
- playcache 6y agorm -rf / won't work on most Linux dists. You need --no-preserve-root
- djsumdog 6y agoWhat was the name of that really old flight simulator (it was either late 80s or early 90s) that would delete random files from your system if you crashed?
- mrtweetyhack 6y agoSo you just like to fuck yourself. That's cool.
- khaki54 6y agoThis would be great to deploy into a production infrastructure-as-code environment to discourage engineers from directly logging in.
- ausbah 6y agothere has to be a more tasteful name for this
- miked85 6y ago> You know how sometimes if you mistype a filename in Bash, it corrects your spelling and runs the command anyway? I actually have no idea what this is referring to; what package provides this auto-correct functionality?
- toyg 6y ago8 years is a very long time to stay focused on an April-fools-level joke project. That’s commitment! Reminds me of flask...
- ohiovr 6y agoHopefully it runs rm as sudo