如何在FreeBSD 11.0上设置端口集合

时间:2020-03-05 15:32:51  来源:igfitidea点击:

FreeBSD操作系统可以使用具有PKG实用程序的二进制包,但对于某些OCAssion,例如运行最新版本的代码,我们需要编译一些程序。
为此,非常有用的端口集合简化了编译过程。
在本文中,我们将安装和使用端口集合来更新FreeBSD 11.0系统。
本文假设我们使用我们之前的文章安装了FreeBSD 11.

使用端口集合安装portmaster

如果我们使用SSH访问FreeBSD机器,我们将在继续之前获取常规用户的root,因为我们可以访问VM作为用户,然后我们需要使用SU。
默认情况下,FreeBSD将为我们提供呼响消息,避免使用以下命令:

pw user mod username -G wheel

接下来,我们可以移动到从在线重建中获取端口树:

portsnap fetch extract

此命令将在FreeBSD系统上获取并提取整个端口集合的快照。
下次我们要使用端口时,我们将需要获取和提取,而是只需运行

portsnap fetch update

接下来,我们需要将工作目录更改为我们要安装的应用程序,在这种情况下是portmaster

cd /usr/ports/ports-mgmt/portmaster

然后简单地输入

make install clean

港口会做魔法。
它将编译安装portmaster,一个shell脚本,可帮助更新所有端口。

使用portmaster更新端口

因此,我们使用Ports Collection从源代码中安装了第一个程序。
下一个命令我们将运行将向我们展示哪些端口已准备好更新:

pkg version -l '<'

请注意,在旧版本的FreeBSD中,有PKG_VERSION命令,截至10.
0已更改为PKG版本。

输出应该是这样的:

atril-1.12.2 <
bash-4.3.46_1 <
ca_root_nss-3.26 <
expat-2.1.1_2 <
galculator-2.1.3 <
glib-2.46.2 <
hal-0.5.14_30 <
harfbuzz-1.3.0 <
icu-55.1 <
indexinfo-0.2.4 <
iso-codes-3.65 <
libassuan-2.4.2 <
libgd-2.2.2,1 <
libgpg-error-1.23 <
libmateweather-1.12.1 <
librsvg2-2.40.13 <
libspectre-0.2.7_2 <
libtasn1-4.8 <
llvm37-3.7.1_2 <

要查看已准备好升级的软件包可能的问题,我们需要输入

pkg updating

就像以前的命令一样,以前的版本中有下划线,现在它已经消失了。
命令的示例输出:

pkg updating
20150907:
AFFECTS: users of math/galculator
AUTHOR: [email protected]
galculator now uses GTK3 by default. An option exists in the port to revert
to GTK2 if desired.
20150311:
AFFECTS: print/cups-base, print/cups-client, print/cups-image
AUTHOR: [email protected]
The cups-base, cups-client and cups-image packages have been combined
into one cups package.
If you build your own ports the easiest way to update is to delete these
packages first and then build and install print/cups.
If you are using binary packages, depending on the packages installed on
your system, pkg(8)'s solver might get confused. In this case do not proceed
with the upgrade but delete first the packages:
pkg delete -fg "cups*"
Then usual upgrade process: pkg upgrade
 
......

在我们决定对系统的更新安全之后,我们可以运行以下命令重新编译并安装已准备更新的所有包

portmaster -Da

编译将大概需要很长时间。
所以吃点小吃,或者去散步,直到它完成。

搜索,安装和删除端口

更新完成后,让我们了解我们如何使用端口找到并安装其他软件。
如果我们知道我们要查找的包的名称,则可以在"whereis"之前输入其名称。
例如

whereis nginx

它会将我们指向NGINX骨架的目录,从那里开始,我们可以安装它。
但如果我们不知道包的确切名称,则可以使用端口搜索功能。
为此,我们需要先将CD到端口目录

cd /usr/ports/
make search name=nginx

它将输出与nginx相关的所有包。

既然你知道如何找到包,你就可以安装它,就像我们在本文开始时安装了portmaster。
第一个CD到骨架目录:

cd /usr/ports/www/nginx

然后启动编译过程

make install clean

它将为我们提供的NCURSES环境中的配置选项:

我们只接受默认值并继续。
它将安装和编译nginx。
如果我们现在再次键入,它将为我们提供不同的输出:

whereis nginx
nginx: /usr/local/sbin/nginx /usr/local/man/man8/nginx.8.gz /usr/ports/www/nginx

它为我们提供了二进制路径,man 页面路径以及端口骨架的结尾。

要删除端口,请转到骨架和换档。
像这样:

cd /usr/ports/www/nginx
make deinstall