Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Apr 2009 15:04:23 +0200 (CEST)
From:      Oliver Fromme <olli@lurza.secnetix.de>
To:        freebsd-questions@FreeBSD.ORG, peter@boosten.org, Paul Schmehl <pschmehl_lists_nada@tx.rr.com>, Peter Wang <peterwang@vip.qq.com>, illoai@gmail.com
Subject:   Re: How to find out which ports contains a specified command.
Message-ID:  <200904061304.n36D4NMW043501@lurza.secnetix.de>
In-Reply-To: <08809CCC-DED8-43E6-B970-8E6A7F158540@boosten.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Peter Boosten wrote:
 > Paul Schmehl wrote:
 > > illoai@gmail.com wrote:
 > > > Peter Wang wrote:
 > > > > for example, after i installed pfsense, which is based on freebsd
 > > > > release 7.1, i found adduser command is missing.
 > > > > 
 > > > > so how to find out which ports contains `adduser' command?
 > > > > thanks for your replies.
 > > > 
 > > > % which adduser
 > > > /usr/sbin/adduser
 > > > 
 > > > Thus it is part of the base system, installed through /usr/src
 > > > rather than /usr/ports.
 > > > 
 > > > Also, as you are running (essentially) 7.x, this is probably
 > > > better on freebsd-questions than current.
 > > 
 > > I think you misunderstood his question.
 > > 
 > > This would be one way to do it:
 > > 
 > > find /usr/ports/ -type f -exec grep -sq adduser {} \; -print

That is horribly inefficient because it forks a separate
grep process for every single file under /usr/ports.
Also it will print a lot of false positive, because the
ports tree contains several files and scripts that call
adduser.

 > How about man pkg_info
 > 
 >  From memory: pkg_info -W /usr/sbin/adduser

That won't work, because pkg_info only reports information
about packages that you have installed.

One way to find which ports provide a certain file is to
use the "porgle" search engine:

http://www.secnetix.de/tools/porgle/?w=p&q=adduser

However, there is an adduser command in /usr/sbin which is
part of the FreeBSD base system.  If some script complains
about that command being missing, you should invstigate
whether you do have that command in /usr/sbin.

It's unlikely that a port requires a different command with
the same name without having a dependency on the port that
provides that command.

Best regards
   Oliver

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart

FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd

C++: "an octopus made by nailing extra legs onto a dog"
        -- Steve Taylor, 1998



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904061304.n36D4NMW043501>