FreeBSD更新所有已安装的端口/应用程序

时间:2020-01-09 10:38:42  来源:igfitidea点击:

yum命令行工具用于在CentOS/RHEL/Fedora Linux下安装和更新软件包。
但是,我在FreeBSD下安装了大量的应用程序。
如何在FreeBSD下升级所有软件包?

FreeBSD带有各种工具来安装和更新软件包。

portmaster命令行工具用于安装和更新软件包。
这里有四个步骤。
本常见问题解答中列出的大多数操作是在假设它们将由运行csh或bash shell的root用户执行的情况下编写的。

步骤1:更新FreeBSD端口树

执行以下命令。
第一次运行此命令来初始化您的由portnap维护的端口树:

# portsnap fetch extract

安装portmaster来管理您的端口,而无需外部数据库或语言:

# cd /usr/ports/ports-mgmt/portmaster
# make install clean

步骤2:列出所有过时的软件包FreeBSD端口树

执行以下命令:

# pkg_version -l '

输出示例:

apache                              <
libiconv                            <
libxml2                             <
mod_security                        <
mysql-client                        <
p5-Storable                         <
portmaster                          <
postfix                             <
spawn-fcgi                          <

步骤3:读取/usr/ports/UPDATING文件

使用文本编辑器打开/usr/ports/UPDATING文件,并阅读有关您的应用程序的信息。
该文件描述了用户在更新端口时可能会遇到并需要执行的各种问题和其他步骤,包括文件格式更改,配置文件位置更改或其他与先前版本不兼容的事情。

# vi /usr/ports/UPDATING

步骤4:升级所有程序包/端口/应用程序

执行以下命令:

# portmaster -Da

输出示例:

===>>> Starting check of installed ports for available updates
===>>> Checking ports for recursive 'make config'

	===>>> The devel/libltdl15 port moved to devel/libltdl22
	===>>> Reason: Update to libltdl22

===>>> Launching child to update libltdl-1.5.26

	===>>> The devel/libltdl15 port moved to devel/libltdl22
	===>>> Reason: Update to libltdl22
......
......output terminated...
....

如何再次重复这些步骤?

只需使用以下命令序列(注意:portsnap更新选项):

# portsnap fetch update
# pkg_version -l '