标题:[实践OK]pkg install lsof -y无法安装和pkg install -y lsof是有区别的,FreeBSD中安装pkg,pkg_add已经改用pkg了,怎样查询一个文件属于哪个ports包,类似CentOS里面的rpm -qf file反查在哪你上rpm包里面一样的命令是pkg which /usr/local/lib/libicuio.so.58 出处:向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除 时间:Thu, 27 Feb 2020 00:33:14 +0000 作者:jackxiang 地址:http://jackxiang.com/post/10436/ 内容: FreeBSD下面检查某程序是不是包的形式安装的命令行: pkg info -l mysql81-server-8.1.0|grep my.cnf /usr/local/etc/mysql/my.cnf.sample pkg info |grep mysql mysql81-client-8.1.0 Multithreaded SQL database (client) mysql81-server-8.1.0 Multithreaded SQL database (server) php83-mysqli-8.3.3 The mysqli shared extension for php service mysql-server restart pkg info -l curl|grep curl.h /usr/local/include/curl/curl.h /usr/local/include/curl/header.h pkg info -l curl|grep so /usr/local/include/curl/websockets.h /usr/local/lib/libcurl.so /usr/local/lib/libcurl.so.4 /usr/local/lib/libcurl.so.4.8.0 pkg info #查看BSD系统中安装了哪些pkg包 pkg info lrzsz-0.12.20_4 #查看具体某个包信息 pkg info -l lrzsz-0.12.20_4 #查看此包有哪些文件 lrzsz-0.12.20_4: /usr/local/bin/lrb /usr/local/bin/lrx /usr/local/bin/lrz /usr/local/bin/lsb /usr/local/bin/lsx /usr/local/bin/lsz /usr/local/man/man1/lrz.1.gz /usr/local/man/man1/lsz.1.gz /usr/local/share/licenses/lrzsz-0.12.20_4/GPLv2 /usr/local/share/licenses/lrzsz-0.12.20_4/LICENSE /usr/local/share/licenses/lrzsz-0.12.20_4/catalog.mk /usr/local/share/locale/de/LC_MESSAGES/lrzsz.mo 据下面的这个文件, /usr/local/share/locale/de/LC_MESSAGES/lrzsz.mo ,反查到到来自:rzsz-0.12.20_4,如下: pkg which /usr/local/share/locale/de/LC_MESSAGES/lrzsz.mo /usr/local/share/locale/de/LC_MESSAGES/lrzsz.mo was installed by package lrzsz-0.12.20_4 使用 pkg 包管理器来查找包含 libssl.so.9 的软件包: pkg search libssl.so.9 删掉一些安装的软件包命令,-f强制: sudo pkg delete -f 好了,解决问题开始下: pkg which /usr/lib/libssl.so.9 /usr/lib/libssl.so.9 was not found in the database sudo pkg install openssl sudo ldconfig -m /usr/local/lib root@freebsd-unmp-10-10-0-237:~ # pkg_add -r wget pkg_add: Command not found. root@freebsd-unmp-10-10-0-237:~ # pkg install wget The package management tool is not yet installed on your system. Do you want to fetch and install it now? [y/N]: y Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:13:amd64/quarterly, please wait... Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done Installing pkg-1.16.3... Extracting pkg-1.16.3: 100% Updating FreeBSD repository catalogue... Fetching meta.conf: 100% 163 B 0.2kB/s 00:01 Fetching packagesite.txz: 100% 6 MiB 407.3kB/s 00:16 Processing entries: 100% FreeBSD repository update completed. 30360 packages processed. All repositories are up to date. Updating database digests format: 100% The following 5 package(s) will be affected (of 0 checked): New packages to be INSTALLED: gettext-runtime: 0.21 indexinfo: 0.3.1 libidn2: 2.3.0_1 libunistring: 0.9.10_1 wget: 1.21 Number of packages to be installed: 5 The process will require 7 MiB more space. 1 MiB to be downloaded. Proceed with this action? [y/N]: 摘自:http://www.ittang.com/2008/0309/4832.html kg install pkg and let it bootstrap / upgrade itself. Then use pkg install foo, etc. pkg_add does not exist anymore, as you've found out. man pkg which Query the database for package(s) that installed a specific file. pkg which /usr/local/lib/libicuio.so.58 /usr/local/lib/libicuio.so.58 was installed by package icu-58.2_2,1 #pkg which /usr/local/bin/openssl /usr/local/bin/openssl was installed by package openssl-1.0.2l,1 来自:https://www.howtoing.com/pkg-command-examples-to-manage-packages-in-freebsd 附:从Ports存储库本地下载软件包 为了从Ports存储库本地下载软件包,而不在系统上安装软件包,请使用fetch开关运行pkg命令 。 下载的软件包二进制文件是压缩的.txz文件,可以在/ var / cache / pkg / system路径中找到。 # pkg fetch package_name Generated by Jackxiang's Bo-blog 2.1.1 Release