[实践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
不小心升级了curl、wget、vim后无法加载,出现:
curl: try 'curl --help' or 'curl --manual' for more information
ld-elf.so.1: /usr/local/bin/curl: Undefined symbol "curl_mime_free"
FreeBSD下面检查某程序是不是包的形式安装的命令行:
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 nginx-1.26.2_9,3
nginx-1.26.2_9,3:
/usr/local/etc/nginx/fastcgi_params-dist
/usr/local/etc/nginx/koi-utf
/usr/local/etc/nginx/koi-win
/usr/local/etc/nginx/mime.types-dist
/usr/local/etc/nginx/nginx.conf-dist
/usr/local/etc/nginx/scgi_params-dist
/usr/local/etc/nginx/uwsgi_params-dist
/usr/local/etc/nginx/win-utf
/usr/local/etc/rc.d/nginx
/usr/local/libexec/nginx/ngx_mail_module.so
/usr/local/libexec/nginx/ngx_stream_module.so
/usr/local/sbin/nginx
/usr/local/share/licenses/nginx-1.26.2_9,3/BSD2CLAUSE
/usr/local/share/licenses/nginx-1.26.2_9,3/LICENSE
/usr/local/share/licenses/nginx-1.26.2_9,3/catalog.mk
/usr/local/share/man/man8/nginx.8.gz
/usr/local/share/vim/vimfiles/ftdetect/nginx.vim
/usr/local/share/vim/vimfiles/ftplugin/nginx.vim
/usr/local/share/vim/vimfiles/indent/nginx.vim
/usr/local/share/vim/vimfiles/syntax/nginx.vim
/usr/local/www/nginx-dist/50x.html
/usr/local/www/nginx-dist/EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING
/usr/local/www/nginx-dist/index.html
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 <package_name>
好了,解决问题开始下:
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
curl: try 'curl --help' or 'curl --manual' for more information
ld-elf.so.1: /usr/local/bin/curl: Undefined symbol "curl_mime_free"
FreeBSD下面检查某程序是不是包的形式安装的命令行:
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 nginx-1.26.2_9,3
nginx-1.26.2_9,3:
/usr/local/etc/nginx/fastcgi_params-dist
/usr/local/etc/nginx/koi-utf
/usr/local/etc/nginx/koi-win
/usr/local/etc/nginx/mime.types-dist
/usr/local/etc/nginx/nginx.conf-dist
/usr/local/etc/nginx/scgi_params-dist
/usr/local/etc/nginx/uwsgi_params-dist
/usr/local/etc/nginx/win-utf
/usr/local/etc/rc.d/nginx
/usr/local/libexec/nginx/ngx_mail_module.so
/usr/local/libexec/nginx/ngx_stream_module.so
/usr/local/sbin/nginx
/usr/local/share/licenses/nginx-1.26.2_9,3/BSD2CLAUSE
/usr/local/share/licenses/nginx-1.26.2_9,3/LICENSE
/usr/local/share/licenses/nginx-1.26.2_9,3/catalog.mk
/usr/local/share/man/man8/nginx.8.gz
/usr/local/share/vim/vimfiles/ftdetect/nginx.vim
/usr/local/share/vim/vimfiles/ftplugin/nginx.vim
/usr/local/share/vim/vimfiles/indent/nginx.vim
/usr/local/share/vim/vimfiles/syntax/nginx.vim
/usr/local/www/nginx-dist/50x.html
/usr/local/www/nginx-dist/EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING
/usr/local/www/nginx-dist/index.html
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 <package_name>
好了,解决问题开始下:
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
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/10436/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2025-2-4 00:09
评论列表