As someone who grew up using windows, is there a series of tutorials or videos y’all recommend to learn Linux? I find myself running into issues, trying to find solutions online, and not even understanding the instructions. I’m sure most of this comes from not knowing bash (which I’ve started to learn using https://labex.io/linuxjourney).

Background: I’m a very competent windows user. I’ve built my own PC, etc. I mostly use it for gaming and Internet now but want to start self hosting some things. Oh, and I’m running bazzite.

Anyway, just trying to get out from Microsoft’s thumb.

Cheers.

  • tranq@thriv.social
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 hour ago

    Did you read tutorials or videos when you started using Windows? Probably not, you wanted to game or write or be social on the internet and you learned “on the job”.

    It’s the same thing with Linux. Don’t take it too serious. Some nerds started that rumour that Linux is “hard” and only for the techi folks. That’s not true at all, it never was.

    Yes, there are things that just work different and you have to find a new way to fix them. But it will come when you encounter them and we will be here to help.

    Just start with Mint or Bazzite and you will be fine.

    • passenger@sopuli.xyz
      link
      fedilink
      arrow-up
      3
      ·
      47 minutes ago

      Linux was hard and that was true at some point though. I remember having to build kernels for Debian in order to have support for my motherboard, not sure what was the main issue there, but I had a hard time compiling them until they worked, this could be a couple days worth of trial and error…

      That’s history. Still, it is not some rumour as you put it.

  • fascicle@leminal.space
    link
    fedilink
    arrow-up
    2
    ·
    53 minutes ago

    For self hosting I run a separate machine with unraid which basically makes it super simple.

    As far as learning Linux its tough because there are so many different ways to do things it mostly depends on what you choose. For desktop I mostly just hit the super key and search for settings or whatever I need, I never really open the terminal except for the one time I needed to disable the thunderbolt reset when connecting my eGPU.

    For self hosting its mostly learning about containers whether its podman which I think theres a flatpak in bazaar, or using distroshelf which is preinstalled. Or using a separate machine with something like proxmox, truenas, or unraid.

    After that the most you do is go to the application store and tell the container where to save the config files and where to access data, maybe change a port if its already used.

    After that you want to setup a VPN to your home with something like wireguard or tailscale

  • sga@piefed.social
    link
    fedilink
    English
    arrow-up
    3
    ·
    4 hours ago

    as top comment has already mentioned - try wikis. think arch wiki or gentoo. you dont have to use those distros to know about linux, just read them. and even better, spin up virtual machine, and install arch/gentoo there. since you already use bazzite, you don’t have to redo stuff already done (like playing game or something), so you use the sandbox playground to just learn. if it breaks, redo, or make checkpoints.

  • tatterdemalion@programming.dev
    link
    fedilink
    arrow-up
    26
    ·
    edit-2
    41 minutes ago

    Linux is broad and deep so it would help if you gave some examples of tasks you are failing to do.

    Edit: I guess I can give some fundamental topics for your search, but I don’t have many resources at the ready.

    For starters, many topics will apply to all of Unix, not just Linux. So make sure you understand the difference, and learn about the Unix philosophy.

    Also, I think the most useful piece of documentation is the Arch Wiki. I’d always check here first. The table of contents should give you a good idea of the scope of information.

    1. Filesystems. In Unix, everything is a “file”. Explore the directory layout. Maybe learn about the FHS (filesystem hierarchy standard) and XDG. Learn how file permissions and ownership work. Learn about disk encryption with LUKS. Learn about GPT partitioning and EFI boot partitions. If you want to manage a filesystem spanning many storage devices, I highly recommend looking into ZFS. You might also want to set up some kind of file service like NFS or something with a web client like copyparty or dufs. Try out the dust and duf tools for checking space usage.
    2. Networking. I don’t know how deep you need to go here, but Linux networking is highly customizable. I think most distros use systemd’s built-in DHCP client in systemd-networkd. Have a look at nftables if you want to mess with firewalls. Wireguard for VPN. Learn to use the ip tool.
    3. Remote Access. Especially for a desktop, it’s very useful to set up an SSH service on your PC so you can access it remotely from e.g. a laptop. You can even SSH over the public Internet using a VPN.
    4. Monitoring. Install BTop to get a quick overview of system activity and resource utilization. I also like the procs tool as an alternative to ps.
    5. Shells. As part of your Bash journey, I’d also check out shells like fish, zsh, and nushell.
    6. Package Management. I’m not very familiar with Bazzite’s package manager. It’s an immutable distro, so that will make a difference. Read the bazzite docs for this I guess. You’ll probably need to learn about flatpaks. I’d recommend checking out Nix if you want to try something different. I also quite enjoyed Arch’s pacman if you’re willing to try a new distro like CachyOS or EndeavourOS.
    7. Dotfile management. I recommend learning some basic Git or Jujutsu (jj) and managing your configuration files in a git repository. You can also do this with Nix via Home Manager.
    8. Desktop Environment. I don’t know which variant of Bazzite you chose, but it’s probably a complete DE out of the box. Just know that you can customize your DE quite a bit. I personally enjoy tiling window managers; you might want to check those out.
  • teft@piefed.social
    link
    fedilink
    English
    arrow-up
    19
    ·
    7 hours ago

    Bazzite is going to be a little different from normal distros since it’s immutable but what issues do you have? If you’re truly a beginner it might not be a bad idea to pick up a linux beginners book and just read it.

  • BossDj@piefed.social
    link
    fedilink
    English
    arrow-up
    6
    ·
    5 hours ago

    I am also self taught. I really started where you are: installing it and trying to troubleshoot. The more I wanted to personalize my system, the more I saw frequent terms and had to learn commands etc. just on the fly. It’s like full immersion learning. Do what the steps say when you look up how to fix something and you’ll get it. Learning a whole language isn’t necessary until you have to apply it.

  • CubitOom@infosec.pub
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    5 hours ago

    Linux is a whole OS so there’s a lot you might want to look at. Luckily, if you get an error message in Linux you can search that error and find a solution.

    Also helpful is reading documentation. Bazzite is based on fedora atomic so the first 2 doc links will be the most helpful. 3rd one is for general gaming on Linux. And the 4th one is the arch wiki which will give you a lot of information that will probably go over your head at this point but you might want to look at from time to time.

    If you want a resource on bash specifically, here is a book.

  • Hawk@lemmynsfw.com
    link
    fedilink
    arrow-up
    4
    arrow-down
    1
    ·
    edit-2
    5 hours ago

    Grab an old Thinkpad and Install Arch from scratch following the wiki. It’s considerably easier than e.g. Gentoo and equips you with enough experience to debug things.

    Grab a note taking app like Joplin / Obsidian too.

    After that try writing a pkgbuild and configuring sway/Hyprland/DWM.

    Keep something simpler for daily driving so you don’t get warn out (eg EndeavourOS/Fedora/OpenSuse or something along those lines).

    IME Endeavour is a nice compromise between over engineered bespoke behaviour like eg Ubuntu and configuration pains like Void / Gentoo.

  • thingsiplay@beehaw.org
    link
    fedilink
    arrow-up
    6
    arrow-down
    1
    ·
    7 hours ago

    I want to say, it takes a while to learn many stuff in Linux. You didn’t learn everything of Windows in one video or blog post either. And in Linux, its even “worse”, as it is open ended with many operating systems and replaceable parts. That means its by design more to learn than on Windows. I’m just setting expectations. “Learning Linux” is not a single event or product you learn, and you hopefully never stop learning.

    1. Maybe start at high level “What is Linux?”.
    2. Go into “The Linux Filesystem”.
    3. Learn about “Linux Philosophy and Shell Tools”.
    4. That should lead you into scripting with “Bash”.

    That should give you a bit of background and basics to start with. Just search these terms and start learning and experimenting. Plan years into learning…

  • Hello_there@fedia.io
    link
    fedilink
    arrow-up
    3
    ·
    6 hours ago

    I started saving what I put into terminal into a Google doc. That way if something gets screwed I have a record for how to undo it. Also, don’t copy paste from chatgpt to terminal. And make sure the source you are using isn’t 7 years old.

    • bridgeenjoyer@sh.itjust.works
      link
      fedilink
      arrow-up
      2
      ·
      6 hours ago

      Yes save your commands. I put a commands text file on my nas so I can access from any pc. Or use joplin or another note program with sync. Save the command and a quick descriptor. Then you can even access that text file quick from within terminal using a text editor like nano or vim.

      I set an alias up so if I type “command” it actually runs something like “nano /home/mnt/nas/command txt” and I can see them right there.

    • BlackLaZoR@fedia.io
      link
      fedilink
      arrow-up
      1
      ·
      5 hours ago

      I started saving what I put into terminal into a Google doc. That way if something gets screwed I have a record for how to undo it.

      This is a result of a horrible system philosophy. You do everything through terminal and then scratch your head a year later because you don’t remember what changes you made.

      This is the single worst design choices you can possibly make. Not only requiring from user to learn terminal wizardry but also manually tracking every single config change because there’s no “reset to default” button

  • Auster@thebrainbin.org
    link
    fedilink
    arrow-up
    4
    ·
    7 hours ago

    Something I noticed early on is that a lot of explanations for Linux can be used, at least partially, for multiple subjects/programs/situations. Also stress can hinder perception. So when I would reach a roadblock, I left the project in the corner and came back to it a few days later. For the first year, it helped a bunch.

    Also taking the time to read terminal logs when something breaks helps a bunch, either to figure out by yourself, or to search in your search engine of choice.

    And like with learning a new language, the learning curve requires patience. Besides, having had the opportunity to test multiple systems, some popular and some highly specific, each was quirky even when close to a system I already knew, so maybe testing around in a virtual machine or a spare laptop to find the Linux distro that best fits you might help?

  • RindoGang@lemmygrad.ml
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    5 hours ago

    The best advice I can give you is to switch to a harder distro like Arch Linux and keep trying until you get it right

    Don’t ditch Windows yet, keep it as a backup OS while you learn how to use Linux