The Linux Thread - The Autist's OS of Choice

  • 🐕 I am attempting to get the site runnning as fast as possible. If you are experiencing slow page load times, please report it.
I've witnessed some jank in the official repositories of my distro, but the optional GUI package for firejail is one of the most laughably ESL / pyAutoGui-looking things I've seen yet.
 
Work related server, using systemd because of fucking course it's using systemd (client refused to sign off on anything that wasn't "standard", whatever that means. At least it's not redhat.)

Server died. Out of drive space. Turns out, systemd has been spamming logs eternally without ever cleaning them up, because that's the default setting. Gigabytes of logs. I have to incant a special configuration to journald to "vacuum" the logs before it will clean up its mess. What happened to simple text logs that you could rotate and purge? Fucking... fuck this stupid cancerous piece of shit software. Fuck poetering and his absolute turd of a mind that came up with this literal waste of space. Every day I grow to hate him more.
What fucking whining over absolutely nothing, jfc you had to edit /etc/systemd/journald.conf and set SystemMaxUse=100M or some other value. Talk about making a big fucking deal over nothing.
 
What fucking whining over absolutely nothing, jfc you had to edit /etc/systemd/journald.conf and set SystemMaxUse=100M or some other value. Talk about making a big fucking deal over nothing.
Or the system could have rotated logs properly and automatically like every other Unix system for the past 20 years.
 
Happy Spookyween everyone.

Screenshot from 2023-10-31 02-15-31.png


Here's a script you can hack to put text/images into the github activity heatmap. The script creates a repo with a suitable number of commits for each day. If you pull from this created repo ("busybee" by default) into your repo and push it up to github, you will have the appropriate history.

Be careful with opsec - use VPN/Tor, burner accounts, and don't re-use ssh keys, etc..

Code:
#!/usr/bin/env python3

import os
import time
from datetime import date, timedelta, datetime

user='GITHUB USER NAME'
email='GITHUB EMAIL ADDRESS'
author = '{} <{}>'.format(user, email)

banner="""
#     # ####### #       #       #######
#     # #       #       #       #     #
#     # #       #       #       #     #
####### #####   #       #       #     #
#     # #       #       #       #     #
#     # #       #       #       #     #
#     # ####### ####### ####### #######
"""

map = {
 '#' : 6,
 ' ' : 0
}


ls = banner.splitlines()[1:]

# check dimensions
rows = len(ls)
assert(7 == rows)
cols = len(ls[0])
for l in ls:
  assert(cols == len(l))

# Find first suitable Monday

d0 = date.today() - timedelta(7 * cols)
d0 = d0 - timedelta(d0.weekday())
d0 = d0 - timedelta(1)

print('d0 = {}'.format(str(d0)))

# Create repo
repo_name="busybee"
dummy_file="a.txt"
os.system('git init {}'.format(repo_name))
f=open('{}/{}'.format(repo_name, dummy_file), 'w')
f.close()

d = d0
# Create commits for each date
for c in range(0, cols):
  for r in range(0, rows):
    n = map[ls[r][c]]
    dt = datetime(d.year, d.month, d.day, 0, 0, 0)
    for i in range(0, n):
      with open('{}/{}'.format(repo_name, dummy_file), 'a') as f:
        f.write('a')
      cmd = 'git -C {} add {}'.format(repo_name, dummy_file)
      print(cmd)
      os.system(cmd)
      cmd = 'git -c "user.name={}" -c "user.email={}" -C {} commit -a --date "{}" --author="{}" -m "a"'.format(user, email, repo_name, dt.isoformat(), author)
      print(cmd)
      os.system(cmd)
    d += timedelta(1)
 
Last edited:
What fucking whining over absolutely nothing, jfc you had to edit /etc/systemd/journald.conf and set SystemMaxUse=100M or some other value. Talk about making a big fucking deal over nothing.
If journald were just some random logging daemon, my complaint would be small, because I could replace it with something sane and rational. The fact that it is part of the enormous blob that is poettering's rancid, steaming shit of an "init" is why I'm so MATI about it, because it is a perfect microcosm of his attitude toward everything. Sane defaults are apparently for idiots and losers and so journald, in keeping with every other aspect of systemd, does not have any sane defaults, but instead vomits endless binary trash all over your drive until it can't find any more space.

Saying I could just edit the config file really misses the point; I already have logrotate configured. In a sane world, this provides much more granular control over how many of which logs I want to keep and for how long. The binary "journal" (which is usually the first thing to corrupt in the case of system failures) ignores all of that and just spews its binary bullshit to arbitrary lengths of time and drive size. This is in addition to the text logs it duplicates from its binary garbage, which are managed by logrotate in a sane and sensible fashion, but which i'm sure poettering would love to do away with entirely if he could. So it is guilty of three sins: inconsistency, insane defaults, and duplication of effort.
 
If journald were just some random logging daemon, my complaint would be small, because I could replace it with something sane and rational. The fact that it is part of the enormous blob that is poettering's rancid, steaming shit of an "init" is why I'm so MATI about it, because it is a perfect microcosm of his attitude toward everything. Sane defaults are apparently for idiots and losers and so journald, in keeping with every other aspect of systemd, does not have any sane defaults, but instead vomits endless binary trash all over your drive until it can't find any more space.

Saying I could just edit the config file really misses the point; I already have logrotate configured. In a sane world, this provides much more granular control over how many of which logs I want to keep and for how long. The binary "journal" (which is usually the first thing to corrupt in the case of system failures) ignores all of that and just spews its binary bullshit to arbitrary lengths of time and drive size. This is in addition to the text logs it duplicates from its binary garbage, which are managed by logrotate in a sane and sensible fashion, but which i'm sure poettering would love to do away with entirely if he could. So it is guilty of three sins: inconsistency, insane defaults, and duplication of effort.
Total systemd distros death :jaceknife:
 
Total systemd distros death :jaceknife:
Kill systemd. Behead systemd. Roundhouse kick systemd into the concrete. Slam dunk systemd child processes into the trashcan. Crucify filthy journald. Defecate in systemd's memory. Launch systemd into the sun. Stir fry systemd in a wok. Toss systemd into active volcanoes. Urinate into a systemd gas tank. Judo throw systemd into a wood chipper. Twist systemd's heads off. Report systemd to the IRS. Karate chop systemd in half. Curb stomp pregnant systemd. Trap systemd in quicksand. Crush systemd in the trash compactor. Liquefy systemd in a vat of acid. Eat systemd. Dissect systemd. Exterminate systemd in the gas chamber. Stomp systemd's skull with steel toed boots. Cremate systemd in the oven. Lobotomize systemd. Mandatory abortions for systemd. Grind systemd subprocesses in the garbage disposal. Drown systemd in fried chicken grease. Vaporize systemd with a ray gun. Kick old systemd down the stairs. Feed systemd to alligators. Slice systemd with a katana.
 
The whole strength and reason of using Linux for me is having the granular control over my collection of tools I understand. (Init isn't a hard problem either and to this day I'm not sure if everyone involved in that discussion is either retarded or just arguing in bad faith. Probably a healthy mix of both) If I just wanted a "it just werks box" and really couldn't grok into anything my computer was doing I'd rather put my faith into the corpos at Microsoft and Apple who at least have to pretend to deliver a working product instead of some insane foss trannies who are doing it for free, because that's what you're ultimately doing if you accept "solutions" like systemd on your systems.

That's why I left windows ~20 years ago and that's also why I only used DEs for maybe the first three years after that. If I'm not in control, what's the point? I like my systems feature complete. I like setting up init/window manager/shell/helper scripts once and then not touching them the next five years if I don't want to. If there's a major update how things are done on my computers, it's because I wanted it and initiated it. If one of my software tools gets bad because the people behind it went insane, it's usually a minor deal switching it out, although that almost never happens because I avoid bad software. A lot of things in this sphere are solved problems, if the solutions change constantly and are about new paradigms somebody shit out at a ted talk it's a good indication the software just isn't that good and the people behind it either don't know what they're doing or are actively sabotaging things for some non-software-related reasons. I want no part in this.
 
Obviously an init system would contain an nbd daemon, why wouldn't it?
What, you mean to tell me that poettering is reinventing something that already exists, but with fewer features and worse security, and irretrievably mingled into his gigantic ego"system management daemon" for no obvious reason?
 
Obviously an init system would contain an nbd daemon, why wouldn't it?
Well, yes. You want as few dependencies as possible, so putting it inside the init system makes the most sense. It's for fixing boot issues, so for example "root drive not found, press any key for command prompt" and you can then do systemctl isolate storagetm.target to make the system's drives accessible to your other computer.
 
Obviously an init system would contain an nbd daemon, why wouldn't it?
This thread made me google a bit and they apparently moved the goalposts on this, and what you're referring to as systemd is actually systemd-initd (or systemd-initd-redhat-linux as I've taken to call it). Kinda pretending the odd million of lines of code that project had last time I checked don't exist and your argument is invalid because you can just chose to ignore all the tooling and just use the init parts for some reason, instead, of you know, using a collection of sane tools with an actual scope which aren't so tightly integrated into each other that you literally cannot use them by themselves. You still have a choice! (as long as the choice is systemd)
 
Well, yes. You want as few dependencies as possible, so putting it inside the init system makes the most sense. It's for fixing boot issues, so for example "root drive not found, press any key for command prompt" and you can then do systemctl isolate storagetm.target to make the system's drives accessible to your other computer.
Nice bait.

What, you mean to tell me that poettering is reinventing something that already exists, but with fewer features and worse security, and irretrievably mingled into his gigantic ego"system management daemon" for no obvious reason?
But look at his Mastodon post! It's the "new hot shit", it's "cool"! These people, I swear
 
Back