0

I have been trying to get a program called "passenger-memory-stats" to run as the super user. The program is installed in the following directory: /usr/local/rvm/rubies/ruby-1.9.3-p327/bin/ruby . I know this because i installed phusion passenger using ruby gems:

$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.24
  - RUBY VERSION: 1.9.3 (2012-11-10 patchlevel 327) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/local/rvm/gems/ruby-1.9.3-p327
  - RUBY EXECUTABLE: /usr/local/rvm/rubies/ruby-1.9.3-p327/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/rvm/gems/ruby-1.9.3-p327/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/local/rvm/gems/ruby-1.9.3-p327
     - /usr/local/rvm/gems/ruby-1.9.3-p327@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

/usr/local/rvm/gems/ruby-1.9.3-p327/bin $ ls -l | grep passenger-memory-stats
-rwxr-xr-x 1 guarddoggps rvm 416 Dec 14  2012 passenger-memory-stats

So obviously the program is there. I then add it to the root user's PATH environment variable:

$ sudo su
export PATH=$PATH:/usr/local/rvm/gems/ruby-1.9.3-p327/bin
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/rvm/gems/ruby-1.9.3-p327/bin

So now it has been added to PATH environment variable. I exit from sudo user to my regular user with sudo privilege and I run the following:

$ sudo passenger-memory-stats
sudo: passenger-memory-stats: command not found
sudo -E passenger-memory-stats
sudo: passenger-memory-stats: command not found

Why does it tell me command is not found? Didn't I add it to my sudo user's path? So I check:

 sudo su
 echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

ANd to my surprise, the directory is no longer in the path. What happened?

JohnMerlino
  • 7,829

0 Answers0