-   Linux - Newbie (
-   -   How can I install a program and have it accessible as a command from any directory? (

bcarl6 12-23-2010 11:01 PM

How can I install a program and have it accessible as a command from any directory?
I want to install a program (specifically metasploit), and have it accessible from any directory in the terminal. I have it installed correctly, but I have to travel to the directory it is installed in to run it (by using ./msfconsole ). I want to be able to be in any directory and just run "msfconsole" and have metasploit run. How do I do this? I'm pretty sure that I have to copy the metasploit folder to the /opt/ directory? Maybe the /usr/bin/ directory? I am not sure, and any help would be appreciated. Thanks in advance!

MS3FGX 12-23-2010 11:21 PM

Either symlink the Metasploit binaries to /usr/bin so they are in your path, or add the Metasploit directory to your PATH variable.

chickenjoy 12-23-2010 11:30 PM

Edit .bash_profile of the user:

# User specific environment and startup programs

#PATH=$PATH:$HOME/bin                                <--- comment out the existing
PATH=$PATH:$HOME/bin:/path/to/metasploit        <--- path to the directory where the program is

export PATH

Now logout and log back in.

Edit: I guess MS3FGX's suggestion is better if you want all existing users and future users to have instant access to the program without having to modify their bash_profile individually.

zer0signal 12-23-2010 11:34 PM

step by step:

at the prompt type


wait till it finishes


locate msfconsole

once it shows you the path to "msfconsole"


cd /usr/bin

ln -sf /path/to/msfconsole msfconsole

ln [OPTION]... [-T] TARGET LINK_NAME (1st form)
ln [OPTION]... TARGET (2nd form)
ln [OPTION]... TARGET... DIRECTORY (3rd form)
ln [OPTION]... -t DIRECTORY TARGET... (4th form)

that will place a symlink in /usr/bin/msfconsole pointing to >>>> /path/to/msfconsole

you can verify this happend by typing

ls -l in the /usr/bin directory

All times are GMT -5. The time now is 02:13 PM.