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?
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.
That was the problem. Stupid me…
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 itEdit: you should be able to use any program by appending /usr/bin/ to your commands, as long as it’s in this directory
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.
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 withPATH=$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.
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
orenv
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.