While I was adding Golang to the PATH my terminal (Konsole) suddenly stopped recognizing basic commands like nano and ls. I restared my PC and after logging back in (X11) KDE started throwing errors because it wasn’t able to find any program I tried to launch. Konsole is gone. I can’t open any program whatsoever (Firefox, Discover etc.). Trying to log in into Wayland just throws a black screen. After a few more reatarts I decided to use the terminal from the login screen, but it is broken as well. ls not found, nano and vim don’t exist. So far I can use pwd and cd.

What the hell is wrong here? Is it hardware failure (bad SSD)? Is there anything I can attempt to recover the system?

  • unmagical@lemmy.ml
    link
    fedilink
    arrow-up
    15
    ·
    22 hours ago

    Did you accidentally replace your path rather than append to it? You might need to get a recovery drive, chroot in, and reset the path. Not sure what the actual value should be though.

  • RustyNova@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    22 hours ago

    I think I know what happened. Did you do something like PATH="/usr/bin/golang"?

    Because doing that overwrite your path variable. You need to set it like this:

    PATH="{PATH}:/usr/bin/golang" to append to the path.

    And well… I hope you got a backup of your /root/.bashrc or whatever you use as a terminal. Restoring it should fix it

    Edit: you should be able to use any program by appending /usr/bin/ to your commands, as long as it’s in this directory

    • some_random_nick@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      ·
      22 hours ago

      You are right. I messed it up adn didn’t put $ infront of PATH… Luckily I found an stackoverflow post with a similar issue and it suggested setting PATH to the default PATH=/usr/bin:/usr/sbin that would alowe using commands again and it worked.

  • Yardy Sardley@lemmy.ca
    link
    fedilink
    arrow-up
    4
    ·
    22 hours ago

    It definitely could be a hardware failure, but if the system still boots fine, it’s probably not that. Based on the symptoms, I think you might have clobbered your PATH variable. This can happen when you do something like PATH=/new/path/ because the variable gets overwritten. You have to remember to preserve the existing value with PATH=$PATH:/new/path/. Don’t worry, this is reversible.

    The best thing to do would be to fix or temporarily remove the commands you used to set PATH in whatever profile or .rc file it’s in. You can run whatever text editor you have installed by specifying the path to the executable. I don’t know exactly where vim is on Fedora, but it’s probably something similar to /sbin/vim or /usr/bin/vim. Keep trying locations until you find the right one. Then log out and back in and it should be fixed.

    You might also be able to login as root and use the shell normally to fix the problem, depending on which file contains the faulty command. Hopefully this helps.

  • eldavi@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    22 hours ago

    in your shoes: i would switch to a virtual terminal to see if my path has been misconfigured.

    most distros have setup alt+ctrl+f1 through alt+ctrl+f7 to let you switch to a virtual terminal where it will give you a cli after you login. once you do; you can use either echo $PATH or env to inspect your environment configuration.

    if i’m right and based on your description; i would expect the same command not found message and you’ll need to restore it. you can restore it using either an environment skeleton (assuming your distro includes one) or you can get a basic one from a google search and reconstruct it.

    also if i 'm right: i recommend using a versioning system (eg git, svn, perforce, etc.) so that you can easily roll back in case you encounter something like this again.