On Wed, Dec 14, 2005 at 10:39:10PM -0700, TuxGirl wrote:
> Hello,
> 
> I installed FreeBSD for the first time tonight (I've been running
> Linux for a while), and I seem to be misunderstanding pkg_add.  I'm
> following the instructions in the FreeBSD manual, and I ran:
> 
> # pkg_add -r lsof
> 
> It claimed to succeed:
> Fetching 
> ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.0-release/Latest/lsof.tbz...
> Done
> 
> then:
> # lsof
> lsof: Command not found.
> 
> # echo $PATH
> /sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11/R6/bin:/root/bin
> 
> # uname -a
> FreeBSD .hsd1.ut.comcast.net. 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Thu
> Nov 3 09:36:13 UTC 2005   
> [EMAIL PROTECTED]:/usr/obj/usr/src/sys/GENERIC   i386
> 

You can confirm that the package was installed by running the pkg_info
command, which returns a list of all installed packages and ports.
You can also look in /var/db/pkg, which is where the package database
is kept.  Assuming you've got it installed (which you should, pkg_add
returns error messages...) you've run into a difference between the
root shells in FreeBSD and Linux.  

The FreeBSD root user shell is tcsh.  tcsh, unlike bash, scans the
$PATH enviornmental variable at login to find everything, and builds a
table in memory so it can quickly find and execute commands.  If you
install a program, the shell won't know about it.  You can force it to
rebuild the table by issuing the 'rehash' command.  

bash, on the other hand, builds its command hash table incrementally,
as you execute commanads.  So if you add new ones, they're found
automatically.  

David



DAvid
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to