如何在FreeBSD 10和11上安装端口
如何使用命令行选项在FreeBSD操作系统中安装端口?
FreeBSD操作系统提供Ports Collection作为安装各种应用程序的简单方法。
每个端口都包含使原始应用程序源代码编译并在基于FreeBSD的系统上运行所需的任何补丁。
在本教程中,"我将提供在FreeBSD 10.x和11.x上安装和管理端口集合的命令"。
如何获取端口集合
使用端口之前,必须首先获取Ports Collection/usr/ports目录。
portsnap命令允许您通过Internet安装端口收集。
要获取集合,请执行:
# portsnap fetch
输出示例:
如何在FreeBSD上获取和安装端口
要将快照解压缩到/usr/ports,请执行:
# portsnap extract
仅第一次执行上述命令。
另一种选择是仅在第一次执行以下内容:
# portsnap fetch extract update
如果您已经有一个填充的/usr/ports并且正在更新,请改为运行以下命令:
# portsnap fetch update
如何在FreeBSD上搜索应用程序或端口?
在安装任何端口之前,您需要了解所需的内容以及应用程序的名称。
如果知道端口的确切名称,则可以使用whereis命令,如下所示:
# whereis apache22 # whereis php5 # whereis php7 # whereis lsof
输出示例:
apache22: /usr/ports/www/apache22
您也可以使用Ports Collections内置的搜索机制。
要使用搜索功能,您将需要位于/usr/ports目录中。
进入该目录后,运行make search name = program-name,其中program-name是要查找的程序的名称。
例如,如果您要查找Apache,请执行:
# cd /usr/ports # make search name=apache # make search name=apache | more # make search name=php7 | grep mysql
输出示例:
Port: php70-mysqli-7.0.15 Path: /usr/ports/databases/php70-mysqli Info: The mysqli shared extension for php Port: php70-pdo_mysql-7.0.15 Path: /usr/ports/databases/php70-pdo_mysql Info: The pdo_mysql shared extension for php Port: php71-mysqli-7.1.1 Path: /usr/ports/databases/php71-mysqli Info: The mysqli shared extension for php Port: php71-pdo_mysql-7.1.1 Path: /usr/ports/databases/php71-pdo_mysql Info: The pdo_mysql shared extension for php
以下内容将搜索端口名称,注释,描述和相关性,并且如果您不知道要查找的程序的名称,则可用于查找与特定主题相关的端口。
# cd /usr/ports # make search key=string # make search key=php5
找出zsh端口的另一个技巧如下:
$ echo /usr/ports/*/*zsh*
输出示例:
/usr/ports/shells/zsh /usr/ports/shells/zsh-navigation-tools /usr/ports/textproc/zsh-syntax-highlighting
psearch
psearch命令在FreeBSD端口中搜索给定的字符串或模式。
您可以按以下方式安装它:
# pkg install psearch
或者
# cd /usr/ports/ports-mgmt/psearch && make install clean
一旦安装了搜索端口,如下所示:
$ psearch {name-here} $ psearch lsof
输出示例:
sysutils/lsof Lists information about open files (similar to fstat(1)) sysutils/p5-Unix-Lsof Unix::Lsof -- a wrapper to the Unix lsof utility
要显示任何匹配项的详细说明,请通过-l选项:
$ psearch -l apache24
www/apache24 Version 2.4.x of Apache web server The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for various modern desktop and server operating systems, such as UNIX and Windows NT. The goal of this project is to provide a secure, efficient and extensible server which provides HTTP services in sync with the current HTTP standards. The 2.x branch of Apache Web Server includes several improvements like threading, use of APR, native IPv6 and SSL support, and many more. WWW: http://httpd.apache.org/
要找出版本,请通过-n
选项:
$ psearch -n apache24 `apache24-2.4.25_1 Version 2.4.x of Apache web server`
如何安装名为apache22的端口?
要安装Apache22端口,请执行:
# cd /usr/ports/www/apache22/ # make install clean
如何删除名为apache22的端口?
要删除和除去名为apache22的端口,请执行:
# cd /usr/ports/www/apache22/ # make deinstall
也要删除配置文件:
# make rmconfig
如何更新已安装的端口?
使您的应用程序保持最新非常重要。
您需要使用portmaster。
首先安装它:
# cd /usr/ports/ports-mgmt/portmaster # make install clean
或者
# pkg install portmaster
好的,更新端口树:
# portsnap fetch update
阅读/usr/ports/UPDATING
在执行任何操作之前,请阅读/usr/ports/UPDATING文件。
它包含可能会影响您的系统的最新信息和解决方法:
# vi /usr/ports/UPDATING
接下来,您应该按类别列出所有已安装的端口,并搜索更新:
# portmaster -L
更好的选择是运行以下命令,以查看已过时且需要尽快升级的已安装端口的列表:
# pkg version -l "<"
或者
# pkg version -vIL=
输出示例:
ca_root_nss-3.26 < needs updating (index has 3.28.1) curl-7.50.3 < needs updating (index has 7.52.1_1) flock-2.19 < needs updating (index has 2.29_1) gettext-runtime-0.19.8.1 < needs updating (index has 0.19.8.1_1) indexinfo-0.2.4 < needs updating (index has 0.2.6) mariadb101-client-10.1.20_1 < needs updating (index has 10.1.21) mariadb101-server-10.1.20_1 < needs updating (index has 10.1.21) python-2.7_2,2 < needs updating (index has 2.7_3,2) python27-2.7.12 < needs updating (index has 2.7.13_1) sudo-1.8.17p1 < needs updating (index has 1.8.19p2)
最后,您可以使用portmaster升级所有端口,如下所示:
# portmaster -a
如果要清除distfile,请执行:
# portmaster -ad
您只能升级sudo端口:
# portmaster sudo