You are not logged in.
Hello,
I just started using Arch - I migrated here from Gentoo (I failed to compile a working kernel five times!) and the convoluted messiness of Debian (which had serious problems with the proprietary NVIDIA driver). Within three hours after I began installing Arch it booted fine and I got nearly all my devices to work. Yaaay!
I've recently encountered a peculiar problem that occurs after installing GNOME on a 64-bit system. I've re-installed Arch three times, and have seen this problem three times repeated: after all the gnome and gnome-extra packages have been downloaded, unpacked, configured, and installed, BASH no longer recognizes most of the programs that were already installed properly (and were working fine just beforehand);
I get "command not found" for such commands as make, dhcpcd, modprobe, ifconfig, even reboot and shutdown!!!
It may have something to do with a message I noticed somewhere in pacman's output that was something to the extent of "updating bash..."
...Is this a common problem? Or is this user error on my part? When I get home I'll retrieve the config files from my mid-tower's hard drive and post the non-comment parts if that will help diagnose the problem.
Last edited by deconstrained (2008-04-01 03:55:41)
Offline
Sounds like your path was altered, and it isn't reading /bin and /sbin anymore. Do an '/bin/echo $PATH' in the term. If it doesn't have /bin and /sbin in the list then look at your /etc/profile. Make sure that the line 'export PATH=' has /bin and /sbin in it.
Stop looking at my signature. It betrays your nature.
Offline
Hmm.. that's very interesting - my profile.bash doesn't have such a line in it!
What syntax should I use - i.e. how is the list of paths delineated, and where in the file should I include it?
One other thing: I believe I've found the REAL culprit. I don't think it's GNOME; I think it's the self-contained .run.sh driver installer that I obtained from NVidia. I say this because I just refreshed everything and once I installed the driver, the same problem happened yet again.
Offline
Do an
ls -l /etc*pac*
If you see any .pacnew or pacsave files, you need to copy any changes you've made to the new files and rename them to drop the .pacnew extension.
Offline
You aren't using the nvidia driver from the Arch repos? Also, the nvidia .run.sh sounds more likely to mess up the path than Gnome.
Personally, if it's the .run.sh giving you grief, I'd try the appropriate pacman package to see if it works. It has never given me trouble.
Also, it's /etc/profile, not /etc/profile.bash. Profile.bash handles bash-specific things, while profile handles the more general stuff (such as the path).
Stop looking at my signature. It betrays your nature.
Offline
...I don't even have a /etc/profile!
I did some googling and answered my own question about the syntax;
PATH="path1:path2:etc"
export PATH
Offline
problem: SOLVED --
I found an old stage 3 tarball (gentoo) from my USB drive that had ./etc/profile in it. I stuck that in /etc/ and it's working fine In fact, it's got some nice features already written into it, i.e. optionally different default paths for the superuser and normal users.
Just in case anyone else has the same problem, finds this thread in a forum search and needs an /etc/profile:
# /etc/profile: login shell setup
#
# That this file is used by any Bourne-shell derivative to setup the
# environment for login shells.
#
# Load environment settings from profile.env, which is created by
# env-update from the files in /etc/env.d
# 077 would be more secure, but 022 is generally quite realistic
umask 022
# Set up PATH depending on whether we're root or a normal user.
# There's no real reason to exclude sbin paths from the normal user,
# but it can make tab-completion easier when they aren't in the
# user's PATH to pollute the executable namespace.
#
# It is intentional in the following line to use || instead of -o.
# This way the evaluation can be short-circuited and calling whoami is
# avoided.
if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${ROOTPATH}"
else
PATH="/usr/local/bin:/usr/bin:/bin:${PATH}"
fi
export PATH
unset ROOTPATH
# Extract the value of EDITOR
[ -z "$EDITOR" ] && EDITOR="`. /etc/rc.conf 2>/dev/null; echo $EDITOR`"
[ -z "$EDITOR" ] && EDITOR="/bin/nano"
export EDITOR
if [ -n "${BASH_VERSION}" ] ; then
# Newer bash ebuilds include /etc/bash/bashrc which will setup PS1
# including color. We leave out color here because not all
# terminals support it.
if [ -f /etc/bash/bashrc ] ; then
# Bash login shells run only /etc/profile
# Bash non-login shells run only /etc/bash/bashrc
# Since we want to run /etc/bash/bashrc regardless, we source it
# from here. It is unfortunate that there is no way to do
# this *after* the user's .bash_profile runs (without putting
# it in the user's dot-files), but it shouldn't make any
# difference.
. /etc/bash/bashrc
else
PS1='\u@\h \w \$ '
fi
else
# Setup a bland default prompt. Since this prompt should be useable
# on color and non-color terminals, as well as shells that don't
# understand sequences such as \h, don't put anything special in it.
PS1="`whoami`@`uname -n | cut -f1 -d.` \$ "
fi
for sh in /etc/profile.d/*.sh ; do
if [ -r "$sh" ] ; then
. "$sh"
fi
done
unset sh
Last edited by deconstrained (2008-04-01 03:54:36)
Offline
grep sbin /etc/prof*
/etc/profile:PATH="/bin:/usr/bin:/sbin:/usr/sbin"
pacman -Qo /etc/profile
/etc/profile is owned by filesystem 2008.03-2
So, do the obvious:
pacman -S filesystem
Then read its output regarding *.pac* files.
Offline