The short answer
No.
The long answer
No. Because it's not a full list of binaries which may use that library. Binaries can exist anywhere on your filesystem. Standard binary locations include /bin
, /bin/sbin
, /usr/bin
, /usr/sbin
, /usr/local/bin
, /usr/local/sbin
. However, it's likely that some packages install executables at other locations such as /opt
. Besides, users can put them almost everywhere in their home directory and you have no control over that if you don't have enough privileges. If you really want to enumerate all executables on your filesystem, this is a safer command:
find / -type f -perm -100
But again this needs privileges. As you can expect, verifying a library is not used by any binaries this way can be a lengthy and tedious process.
However, if you are using a package manager, then it will give help. Any nontrivial package manager can help you list library dependencies. For example, the following commands show library dependencies of package wget
:
Debian/Ubuntu:
apt-cache show wget
Arch:
pacman -Qi wget
Usually, package managers will also prevent you from uninstalling a library package that may currently be used.
Using a package manager is the right way of maintaining library dependencies. If you really need softwares that are not offered in your distribution and need to compile from source, leave the output binaries and libraries in directories prefixed by /usr/local
(such as /usr/local/bin
, /usr/local/sbin
and /usr/local/lib
. This will make your job much easier in case you want to remove a lib in the future, because packages maintained by the package manager are not expected to depend on libraries in /usr/local
.
/usr/local
or/opt
or who knows where depending on the site or the user. Probably not if you haven't been hand compiling things and have only been using the package system.