- 浏览: 52677 次
- 来自: 上海
最新评论
-
bestlovetoad:
Pylons笔记(二) -
waveeee:
又转回xp了。用虚拟机安装服务器bsd。 就是网络太球了!!! ...
linux eclipse出错-failed to load the jni shared -
qinq4312:
最好不要完全禁用.可以用命令:
chcon -t execme ...
linux eclipse出错-failed to load the jni shared -
linvar:
果然有此事,SELINUX主要是用来干嘛的,完全disable ...
linux eclipse出错-failed to load the jni shared
[转]FreeBSD的软件管理工具ports详解 一、ports套件的安装 二、ports管理软件常用命令 Port: apache-2.1.9_7 Port: apache-2.2.6_2 三、使用cvsup来更新ports树目录 四、使用portsnap来更新ports目录树 下面以用ports安装nginx0.7.65为例详细说明下,安装步骤如下: 安装 Nginx
①安装ports,我的FreeBSD8.0-release是最小化安装,所以没有ports,即也没用/usr/ports目录;选择启用ports的话,那么需要在root下输入"sysinstall"来安装它:
输入sysinstall --> 选择Configure --> Distributions --> ports,然后安装即可。
②ports路径
ports的默认路径是/usr/ports,这个ports的根目录,下面有很多的文件夹及子文件夹,组成一个树状目录,包含大量ports下的软件:
这些即是套件的软件分类和名称,比如mail代表邮件服务软件;games则是一些游戏;www里面是一些web服务软件;databases则是数据库软件[root@bsd01 /usr/ports]# cd www
[root@bsd01 /usr/ports/www]# ls -d apache*
apache-contrib apache13 apache13-modssl+ipv6
apache-forrest apache13+ipv6 apache13-ssl
apache-jserv apache13-modperl apache20
apache-mode.el apache13-modssl apache22
如果你需要安装什么软件,只要进入当前目录,然后“make install clean”即可。
[root@bsd01 ~]# cd /usr/ports/www/apache22
[root@bsd01 /usr/ports/www/apache22] make install clean
而/usr/ports/distfiles是存放软件包的文件夹,ports就会先检查/usr/ports/distfiles目录内有没有这个软件包,如果没有它就会自动从网上下载安装。
③源地址
ports从网上下载软件包自动安装,那么从那里下载呢?这就需要一个源地址管理,跟ubuntu上的/etc/source.list文件一样,freebsd用的文件是/etc/make.conf,我们来编辑这个文件,加入下列几行,国内比较块的源:
[root@bsd01 ~]# vi /etc/make.conf
MASTER_SITE_OVERRIDE?= \
http://ports.hshh.org/${DIST_SUBDIR}/ \
http://ports.cn.freebsd.org/${DIST_SUBDIR}/ \
ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/\
有新的服务器加入就直接往后面加就可以了,格式就是“源地址+/${DIST_SUBDIR}/ \”。但是不要同时存在2个“MASTER_SITE_OVERRIDE?”,否则第二个就不起效了。
①安装软件
下面以安装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
cmake clean只是清除暂存文件,并不是清除distfiles里面的软件包。什么是暂存文件?其实主要是编译过程产生的一些临时文件,其实也是软件目录内的work文件夹,而执行make clean会把当前软件目录内的work文件夹删除。
如果想删除distfile连文件夹内软件包怎么做呢?
[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和Path2个关键字,一个代表名字,一个代表路径,我们就可以改善+过滤:
[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的管道真是好东西,可以自己发挥一下:
[root@bsd01 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.
Path: /usr/ports/www/apache21
Info: Version 2.1 of Apache web server with prefork MPM.
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
既然ports的树目录全部下载到本地,那么freeBSD有新的软件包了或者添置了新的软件,本地目录树就不会更新。所以我们在一段时间需要更新本地目录树。不过如果你是“ports-all”的话,要很长时间哦,大约需要1个小时,甚至更长。
所以,下面我们来介绍一种在freebsd中更加方便、快捷的更新ports的方法。在FreeBSD8.0中,我也推荐直接用以下方法进行更新。
portsnap是freebsd6以后才有的,他是以压缩包的形式,先把最新的压缩包形式的ports快照下载到/var/db/portsnap文件夹,然后再更新到/usr/ports中。
freebsd6以后的系统,portsnap是不需要手工安装的,已经默认直接在系统中了,所以可以直接使用portsnap命令来更新ports目录树。
当然ports中也有这个软件包:
[root@bsd01 /var/db]# cd /usr/ports
[root@bsd01 /usr/ports]# make search key=^portsnap
Port: portsnap-1.1
Path: /usr/ports/ports-mgmt/portsnap
Info: Provides secure snapshots of the ports directory
Maint: cperciva@daemonology.net
B-deps:
R-deps: bsdiff-4.3
WWW: http://www.daemonology.net/portsnap/
①配置portsnap:
我们使用portsnap,首先要设置一下它的配置文件,位于/etc/portsnap.conf:
[root@bsd01 /usr/ports]# vi /etc/portsnap.conf
把SERVERNAME=portsnap.freebsd.org
修改成:
SERVERNAME=portsnap.hshh.org
这个是他的更新服务器,另外还有几个国内比较块的portsnap服务器:
portsnap.hshh.org
portsnap2.hshh.org
portsnap3.hshh.org (网通)
portsnap4.hshh.org
②首次使用portsnap:
在你的freebsd首次使用portsnap必须执行下面2步:
[root@bsd01 ~]# portsnap fetch
[root@bsd01 ~]# portsnap extract
#这2步可以合成使用:
[root@bsd01 ~]# portsnap fetch extract
#portsnap fecth是从网上获取portsnap快照的最新压缩包,听闻这个压缩包官方没小时更新一次。
#portsnap extract 则是把这个压缩包创立到/usr/ports。哪怕你以前已经手工安装了ports,他也会重新创立一次。
③以后使用portsnap更新ports:
以后更新,只需要执行下面2步:
[root@bsd01 ~]# portsnap fetch
[root@bsd01 ~]# portsnap update
这2步可以合成使用:
[root@bsd01 ~]# portsnap fetch update
portsnap第一次运行extract命令时,可能需要一段时间,以后更新使用update的时候,速度就块很多了。
更新ports
portsnap fetch extract
#第一次生级用上述命令,以后生级用命令portsnap fetch update
安装axel提高ports的安装速度
cd /usr/ports/ftp/axel
make install
修改ports源地址,以提高ports的安装速度
#修改 /et/make.conf
vi /etc/make.conf
#加入以下内容
FETCH_CMD=axel
FETCH_BEFORE_ARGS= -n 10 -a
FETCH_AFTER_ARGS=
DISABLE_SIZE=yes
MASTER_SITE_OVERRIDE?=\
http://ports.hshh.org/${DIST_SUBDIR}/\
http://ports.cn.freebsd.org/${DIST_SUBDIR}/\
ftp://ftp.freeBSDchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}
安装 pcre8.00
pcre 是Nginx所需的Perl兼容正则表达式库
cd /usr/ports/devel/pcre
make install
安装 Nginx0.7.65
cd /usr/ports/www/nginx
make install
#配置编译参数
[ ] DEBUG Enable nginx debugging
[ ] IPV6 Enable IPv6
[ ] GOOGLE_PERFTOOLS Enable google perftools module
[X] HTTP_MODULE Enable HTTP module
[ ] HTTP_ADDITION_MODULE Enable http_addition module
[X] HTTP_CACHE_MODULE Enable http_cache module
[ ] HTTP_DAV_MODULE Enable http_webdav module
[ ] HTTP_FLV_MODULE Enable http_flv module
[X] HTTP_GZIP_STATIC_MODULE Enable http_gzip_static module
[ ] HTTP_IMAGE_FILTER_MODULE Enable http_image_filter module
[ ] HTTP_PERL_MODULE Enable http_perl module
[ ] HTTP_RANDOM_INDEX_MODULE Enable http_random_index module
[ ] HTTP_REALIP_MODULE Enable http_realip module
[X] HTTP_REWRITE_MODULE Enable http_rewrite module
[ ] HTTP_SECURE_LINK_MODULE Enable http_secure_link module
[ ] HTTP_SSL_MODULE Enable http_ssl module
[X] HTTP_STATUS_MODULE Enable http_stub_status module
[ ] HTTP_SUB_MODULE Enable http_sub module
[ ] HTTP_XSLT_MODULE Enable http_xslt module
[ ] MAIL_MODULE Enable IMAP4/POP3/SMTP proxy module
[ ] MAIL_IMAP_MODULE Enable IMAP4 proxy module
[ ] MAIL_POP3_MODULE Enable POP3 proxy module
[ ] MAIL_SMTP_MODULE Enable SMTP proxy module
[ ] MAIL_SSL_MODULE Enable mail_ssl module
[ ] WWW Enable html sample files
[ ] HTTP_ACCESSKEY_MODULE 3rd party http_accesskey module
[ ] HTTP_EVAL_MODULE 3rd party eval module
[ ] HTTP_FANCYINDEX_MODULE 3rd party http_fancyindex module
[ ] HTTP_MOGILEFS_MODULE 3rd party mogilefs module
[ ] HTTP_MP4_H264_MODULE 3rd party mp4/h264 module
[ ] HTTP_NOTICE_MODULE 3rd party notice module
[ ] HTTP_REDIS_MODULE 3rd party http_redis module
[ ] HTTP_RESPONSE_MODULE 3rd party http_response module
[ ] HTTP_UPLOAD_MODULE 3rd party upload module
[ ] HTTP_UPLOAD_PROGRESS 3rd party upload_progress module
[ ] HTTP_UPSTREAM_FAIR 3rd party upstream fair module
[ ] HTTP_UPSTREAM_KEEPALIVE 3rd party upstream keepalive module
[ ] HTTP_ZIP_MODULE 3rd party http_zip module
[ ] PASSENGER_MODULE 3rd party passenger module
启动nginx
/usr/local/sbin/nginx
查看端口号及使用进程等
lsof -i:80
mail# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 2799 root 6u IPv4 0xc2f34278 0t0 TCP *:http (LISTEN)
nginx 2800 www 6u IPv4 0xc2f34278 0t0 TCP *:http (LISTEN)
发表评论
-
流行的jQuery信息提示插件(jQuery Tooltip Plugin)
2011-06-16 15:34 904http://www.cnblogs.com/ywqu/arc ... -
http://hi.baidu.com/24cool/blog/item/32f4e9f81c40c80dd9f9fddb.html
2011-05-13 16:56 1168[转]10步完成freebsd下 py ... -
Django新手需要注意的10个要点
2011-04-16 16:15 1127http://shinyzhu.iteye.com/b ... -
linux eclipse出错-failed to load the jni shared
2011-01-08 18:03 1897linux eclipse出错-failed to loa ... -
Best Practice
2010-10-26 17:06 725Best Practice 26Oct 使用常量标识状态位 ... -
开发工具备忘
2010-10-16 10:23 786开发工具备忘 日常管理 www.rememberthemilk ... -
key generator
2010-09-20 15:18 702http://hi.baidu.com/jonsonda/bl ... -
html5 server push
2010-09-19 15:57 3544http://today.java.net/article/2 ... -
gedit scala highlight[ubuntu]
2010-08-17 14:13 836copy scala.lang to ~/.local/ ... -
正则表达式 source <转>
2010-08-05 11:28 823一步一步学Ruby(九):Ruby正则表达式(上) http: ... -
爬虫 source <转>
2010-08-05 11:01 1506Spidr 是一个Ruby 的网页爬虫库,可以将整个网站、多个 ... -
用 python 做简单的网页爬虫程序<转>
2010-08-05 10:44 1388http://www.cnblogs.com/rchen/ar ... -
网页爬虫程序开发经验谈 <转>
2010-08-05 10:41 1423http://www.dnbcw.com/biancheng/ ...
相关推荐
在FreeBSD中,有三种主要的方式来管理和使用端口:使用`portsnap`获取最新的端口树,使用`pkg`工具安装预编译的软件包,或者直接在端口目录下手动操作。`portsnap`可以确保你的端口树始终是最新的,避免了因旧版本...
**FreeBSD Porter中文手册**是针对FreeBSD操作系统中Porter这一角色的专业指南,旨在帮助开发者和系统管理员理解和掌握如何在FreeBSD系统上构建、维护和管理ports。这本手册是官方发布的,共有100多页,以中文形式...
**FreeBSD操作系统详解** FreeBSD是一款基于UNIX的开源操作系统,以其稳定性和安全性著称,广泛应用于服务器、路由器、嵌入式设备以及桌面环境。本资料集合了关于FreeBSD的全面知识,包括安装、配置、管理和优化等...
### FreeBSD基本安装与汉化详解 #### 一、FreeBSD简介 FreeBSD是一种类Unix操作系统,以其稳定性、安全性和性能而著称。它基于Berkeley Software Distribution (BSD)的源代码,提供了强大的网络功能和广泛的硬件...
FreeBSD 8.0 安装教程 本文档提供了 FreeBSD 8.0 的详细安装教程,从下载镜像文件到完成安装的整个过程。对于第一次安装 FreeBSD 的人来说,这个教程提供了非常详细的步骤指导,可以帮助他们轻松地安装 FreeBSD 8.0...
《FREEBSD7.0系统恢复安装详解》 FREEBSD7.0系统遭遇更新问题,导致系统功能异常,如核心升级后出现奇怪结果,debug模式开启,fusefs-ntfs挂载NTFS硬盘出错,甚至最基本的ls命令都无法使用。面对这种情况,通常需要...
6. **包管理系统(Package Management)**:FreeBSD的 ports 和 packages 系统允许用户方便地安装、升级和管理软件。Ports集合提供源代码编译,而Packages则提供预编译的二进制软件包。 7. **安全特性(Security ...
### FreeBSD使用手册知识点详解 #### 一、FreeBSD简介与安装 **1.1 概述** FreeBSD是一款开源的类Unix操作系统,以其稳定性和安全性著称,在服务器领域有着广泛的应用。它支持多种处理器架构,如x86、AMD64等,并...
### FreeBSD使用手册知识点详解 #### 1. 引言与背景 - **FreeBSD简介**:FreeBSD是一款基于4.4BSD-Lite的开源操作系统,适用于Intel x86和DEC Alpha架构等多种硬件平台。该系统以其高效稳定的性能、丰富的功能集和...
### FreeBSD平台上Java相关软件安装详解 #### 一、FreeBSD平台简介 FreeBSD是一种类Unix操作系统,以其稳定性、性能和安全性著称,在服务器领域有着广泛的应用。本文将详细介绍如何在FreeBSD平台上安装JDK、MySQL...
5. **FreeBSD ports和packages**:在FreeBSD中,软件通常通过ports或packages系统安装。`rcp`命令可能包含在默认的base系统中,也可能需要通过ports来获取和编译源代码。Ports系统提供了一种方便的方式来管理和构建...
### FreeBSD 8.0 配置 Web 服务详解 #### 一、概述 本文将详细介绍如何在 FreeBSD 8.0 上配置 Apache 2.2.14、PHP 5.2.12 和 MySQL 5.1.45 的集成环境。通过本教程,即使是没有经验的新手也能轻松完成配置过程。 ...
### FreeBSD 9.0 安装入门教程详解 #### 一、引言 FreeBSD是一款基于BSD系统的开源操作系统,以其高效稳定的特点深受服务器管理和技术爱好者的喜爱。本篇教程将根据原文作者分享的经验,详细介绍FreeBSD 9.0的安装...
### FreeBSD 9.0 安装入门教程知识点详解 #### 一、前言与环境配置 - **背景介绍**:本教程旨在为初次接触 FreeBSD 的用户提供一个基础的安装指南。作者通过自己的实践经验和遇到的问题来指导读者顺利完成 FreeBSD ...
**基于FreeBSD和Postfix构建虚拟域邮件系统5.5详解** 在信息技术领域,电子邮件系统是企业内外部通信的关键组成部分。对于中小型企业或组织来说,建立一个高效、安全且易于管理的邮件系统至关重要。本篇将详细介绍...
### FreeBSD下建立MFS分布式文件系统详解 #### 一、MFS文件系统简介 Moose File System (MFS) 是一种分布式文件系统,其主要特点在于能够实现数据在网络中的多个服务器上分布存储,并且具备良好的容错机制。通过...
### Ylmf OS 编译系统详解 #### 一、YBS是什么? YBS(Ylmf OS Build System)指的是Ylmf OS的打包系统,它是一种类ports系统,...同时,通过高度自动化的工具和规范化的流程,YBS大大提高了软件管理的效率和灵活性。