ports管理软件常用命令

ports管理软件常用命令

①安装软件

下面以安装rpm为例:

[root@bsd01 ~]# cd /usr/ports/archivers/rpm

[root@bsd01 /usr/ports/archivers/rpm]# make install clean

软 件安装的过程中会生成大量的暂存文件。这些暂存文件建议保留,但是有时候,比如使用测试服务器的时候,可以通过清除暂存文件来节约磁盘空间。如果想清除 www内所有的暂存文件,就cd到/usr/ports/www内。如果想清除所有的暂存文件,就cd到/usr/ports根目录:

[root@bsd01 ~]# cd /usr/ports

[root@bsd01 /usr/ports]# make clean

make clean只是清除暂存文件,并不是清除该文件夹里面的软件包。什么是暂存文件?其实主要是编译过程产生的一些临时文件,其实也是软件目录内的work文件夹,而执行make clean会把当前软件目录内的work文件夹删除。

如果想删除文件夹内中的软件包该怎么做呢?

[root@bsd01 ~]# cd /usr/ports/www/apache22

[root@bsd01 /usr/ports/www/apache22]# make distclean

make distclean不但会清除软件包,而且也包含了make clean命令的效果。这样就会清除apache22的软件包,以及apache22目录内的work文件夹。

同理,如果想清除所有www内的软件包及暂存文件,就cd到/usr/ports/www;如果像清除所有的包及暂存文件,就cd到ports根目录。

②卸载软件

卸载软件用make deinstall:

[root@bsd01 ~]# cd /usr/ports/www/apache22

[root@bsd01 /usr/ports/www/apache22]# make deinstall

③查询可用ports安装的软件

我 一直想,FreeBSD的ports直接在系统内占用资源空间组成树目录是好还是不好呢?如果要是从能查询这一点讲就比apt-get好一些了,以前用 apt-get安装软件的时候,要是遇到一些稍微不规范一点的软件,就很难知道名字了,经常要用正则表达式来测试软件名是什么。

而现在在FreeBSD里面可以直接在ports树目录内查询可用的软件了。

[root@bsd01 ~]# cd /usr/ports

[root@bsd01 /usr/ports]# make search key=apache

不过这种会找出很多,看的眼花,但是我们注意到有一个细节,就是Port和Path这两个关键字,一个代表名字,一个代表路径,我们就可以改善+过滤:

[root@bsd01 /usr/ports]# make search key=^apache-2 | grep -E "Port:|Path:|Info:"

Port: apache-2.0.61_2

Path: /usr/ports/www/apache20

Info: Version 2 of Apache web server with prefork MPM.

Port: apache-2.1.9_7

Path: /usr/ports/www/apache21

Info: Version 2.1 of Apache web server with prefork MPM.

Port: apache-2.2.6_2

Path: /usr/ports/www/apache22

Info: Version 2.2 of Apache web server with prefork MPM.

④查询已安装的软件

怎么像Linux中用“rpm -qa | grep samba”来查询某个软件是否安装了呢(这里以samba为例),ports用“pkg_info”:

[root@bsd01 ~]# pkg_info | grep samba

samba-3.0.32_1,1 A free SMB and CIFS client and server for UNIX

samba-libsmbclient-3.0.28 Shared libs from the samba package

[root@bsd01 ~]# pkg_info | grep nfs

原文地址:https://www.cnblogs.com/shiningrise/p/2362546.html