this post was submitted on 16 Jun 2025
145 points (95.0% liked)
Linux
55358 readers
596 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 6 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Seems like you followed some random AI generated guide like this one:
https://www.ipv6.rs/tutorial/Elementary_OS_Latest/Jellyfin/
Whenever you're downloading a Linux (or any) package, always try to look for the official documentation, like here:
https://jellyfin.org/docs/general/installation/linux#debian--ubuntu-and-derivatives
Where it will tell you to install Jellyfin on a Debian/Ubuntu based system is simply:
curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash
and it also tells you that if you don't have curl already installed, either install it first or instead run:
wget -O- https://repo.jellyfin.org/install-debuntu.sh | sudo bash
which is their official installer.
If you want to undo what you did before installing (assuming you followed the bad guide linked above), just remove the file it created here first:
/etc/apt/sources.list.d/jellyfin.list
I just wanted to add a small follow up comment because I remember being young and copy-pasting commands into Linux and eventually getting really frustrated. Therefore, he's a (brief) explanation of the commands:
curl
is just an open source tool for making Web requests from the command line. It's a great tool to have in general.https://repo.jellyfin.org/install-debuntu.sh
the URL of a shell script from repo.jellyfin.org (Jellyfin's official website)What is a shell script? It's a script that runs a whole bunch of commands by itself, so you don't have to copy-paste them from the internet. Basically the official Jellyfin people in this case made a file with all of the commands the computer needs to run to install the package. This is great because it means the people who made Jellyfin tested these commands and they're responsible for keeping it up to date if anything changes.
| bash
The 'pipe' or|
symbol in Linux is a cool Unix philosophy of 'connecting' programs together. You run one program, and tell it to pass the results to another program. In this case, you're tellingcurl
to download the script athttps://repo.jellyfin.org/install-debuntu.sh
and then passing that file tobash
(which is the shell program in the terminal that runs commands) and to run it assudo
or 'super-user'.Hope this was helpful. The last thing you should know is the command you probably copy-pasted before made you add a source to the
/etc/apt/sources
files, which are basically just a list of sources forapt
, the package manager to download from, and since the command was wrong or outdated,apt
is complaining that the Jellyfin source was not found.GOOD FOLLOW UP!!
I was about to shit a brick that you went from "go to the official trusted source" to "just trust me: curl [x] | sudo bash"
https://youtu.be/dT7X2IxBDjc
You can do some wild shit with pipes:
head -10 /var/log/syslog
- Look at the first ten lines of one of your log files, with timestamps on the frontcat /var/log/syslog | cut -d' ' -f1
- Splits the lines by a space delimiter (the-d' '
part), and grabs the first "field" (the one with the timestamp, using-f1
)cat /var/log/syslog | cut -d' ' -f1 | cut -dT -f1
- Splits the timestamp at the "T", and leaves only the datecat /var/log/syslog | cut -d' ' -f1 | cut -dT -f1 | sort | uniq -c
- Gives you a count of each dategrep systemd /var/log/syslog | cut -d' ' -f1 | cut -dT -f1 | sort | uniq -c
- For only the lines with 'systemd' on it, gives you a count of each dateThe standard GNU toolkit has a ton of utilities like that for doing stuff with text files.
I find it unbelievably cool that the guys who came up with this got it so right the first time, that its still incredibly powerful today.
At work whenever we need to build little command line tools, my team is always vexxed by my guideline to have the meat+potatoes in a script that reads well-formatted data off stdin , and outputs well formatted-data to stout. They always wanna have some stupid interactive prompts and saving to files baked right in.
This is exactly why. You wanna save to a file?? > file
You want to read from a file? cat |
You want to save to a file but swap commas for colons? Sed.
You get so much FOR FREE w/ the GNU toolkit, even for what you build yourself, by thinking in streams.
When trying to explain that concept, I like showing people this: https://www.youtube.com/watch?v=tc4ROCJYbm0&t=296
Wow, this was a treat to watch. Never would have imagined Brian Kernighan would be explaining shell pipeline to me in such a cosy setting
Me, a simpleton,
"Wut dat mean"