Hello, I yet again come, hat in hand, for assistance from those wiser in the ways of the Linux. I’m having a bit of an issue downloading Jellyfin on my ElementaryOS laptop. I’ve tried all the guide on the first few pages of ddg only to receive errors after entering the comman “ sudo apt-get update “. I get ERR:3 https//repo.jellyfin.org/debian circle Release 404 Not found.

If someone can point me the way I’d be most appreciative

  • @nom_nom@lemmy.ml
    link
    fedilink
    4322 hours ago

    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:

    1. curl is just an open source tool for making Web requests from the command line. It’s a great tool to have in general.
    2. 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 telling curl to download the script at https://repo.jellyfin.org/install-debuntu.sh and then passing that file to bash (which is the shell program in the terminal that runs commands) and to run it as sudo 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 for apt, the package manager to download from, and since the command was wrong or outdated, apt is complaining that the Jellyfin source was not found.

    • @grue@lemmy.world
      link
      fedilink
      616 hours ago

      The one thing I’d add is to say don’t run a shell script from the Internet unless you’re damn sure that (a) you trust the entity providing it, and (b) you’re downloading via https and haven’t typo’d the URL.

      • @nom_nom@lemmy.ml
        link
        fedilink
        110 hours ago

        Agreed, but I didn’t want to overwhelm the guy with too much info :P The official guide even recommends checking the cryptographic signature of the script and reading its contents first. I’m sure like all of us they’ll nuke their system several times and before long will be writing their own shell scripts.

      • P03 Locke
        link
        fedilink
        English
        419 hours ago

        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 front
        • cat /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 date
        • cat /var/log/syslog | cut -d' ' -f1 | cut -dT -f1 | sort | uniq -c - Gives you a count of each date
        • grep 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 date

        The standard GNU toolkit has a ton of utilities like that for doing stuff with text files.

        • @nom_nom@lemmy.ml
          link
          fedilink
          210 hours ago

          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.

        • @Windex007@lemmy.world
          link
          fedilink
          819 hours ago

          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.