PKGSRC简介

pkgsrc: The NetBSD Packages Collection

The NetBSD Packages Collection (pkgsrc) 是在NetBSD系统以及其他UNIX-Like系统中构建第三方软件的一个框架。现在包含了7300多个软件包。在所支持的平台上,它使得自由的配置软件成为可能,并切极易构建。

为什么使用 pkgsrc

首先,pkgsrc 是一个基于源码的软件包管理系统。在 Unix/Linux 社区中,软件包的 source vs binary 争论一直没有停息过,但有一点共识,基于源码的软件包管理系统会给用户更多的控制权力,基于二进制的软件包系统则更容易使用。pkgsrc 也可以提供二进制的软件包,但它的优势不在于此,所以这篇文章只专注在使用源码编译软件包方面。

更广泛的软件

pkgsrc 使用的是 BSD 许可证,与其他的自由软件许可证相比,较为宽松。而且,pkgsrc 实际上分发的是软件包的 patch,不会与许多软件的授权许可冲突,避免了二进制软件包和直接分发源码包形式下的种种限制。因此,用户可以广泛地使用大量的优秀软件。例如,在许多自由软件包管理系统中无法包含的 java, mplayer, acrobat reader, opera 这些优秀软件,用户必须自己动手下载安装,但在 pkgsrc 仍可以通过软件包管理系统工具进行安装。

适合哪类用户

如果你是属于喜欢频繁地更新尝试各种软件的用户,并且主要工作在大型的桌面环境下,那么采用 pkgsrc 来管理和更新软件,的确是一件痛苦的事情。比如,当一个 gnome 下的基础组件升级时,经常会牵一发而动全身,需要更新整个 gnome 套件。

如果你是一个系统管理员,需要一个稳定安全的服务器,对 apache 这类软件的安装,既希望能自己设置编译成符合自己要求的系统,又能避免时刻监视安全通报和手动下载源码与打补丁,pkgsrc 正好符合你的要求,它可以帮助你轻松地维护系统,在编译时给你调节系统所需的足够的灵活性,让你定制一套符合自己要求的服务器。

如果你是一个软件开发人员,需要参考借鉴自由软件源码,经常到处搜寻代码范例。由于 pkgsrc 已经按照功能对数千套自由软件进行了分类,可以让你方便地找到和下载自由软件的源码。另外,在软件的编译安装过程中,你可以同时学习到成熟软件所采用的项目管理方法。

适用的系统

pkgsrc 可以广泛地应用到 Unix/Linux 系统上,现在 NetBSD、 DragonFly BSD 和 FreeDarwin 是正式采用它作为自己软件包管理的系统,SUN 也推荐在 Solaris 上面使用 pkgsrc 来安装第三方的软件。对于其他只提供 base 和使用二进制软件包管理系统的 GNU/Linux 发行版,也都可以使用 pkgsrc。

关于pkgsrc的详细资源请参考:http://baike.baidu.com/link?url=6isfYDHuevZFWRyJelCwBQTnTuHC5TXOEn17Kd1F6fcdFeWszBnFBo4j-SRR-8eHmCYpfKOyRj99ch0UMi_ox_

PKGSRC的更多相关文章

  1. linux pkgsrc 学习(一) 安装pkgsrc

    使用pkgsrc.joyent.com 提供的linux 包 下载包 # # Copy and paste the lines below to install the 64-bit EL 7.x s ...

  2. Use pkgsrc on ARM

    What is this page? This page describes how to use pkgsrc on ARM architecture with EABI support. I bo ...

  3. Pureftp-安全的ftp服务器部署

    一.简介: Pure-FTPd 是一款免费(BSD)的,安全的,高质量和符合标准的FTP服务器. 侧重于运行效率和易用性. 它提供了简单的答案,他满足了大众化的需求,包括普通用户以及主机供应商们 Pu ...

  4. CentOS 7下的软件安装方法及策略

    一些废话 2010年开始正式接触Linux,入门发行版是Ubuntu 10.10,后来过渡到Ubunu 11.04,这其中也尝试了很多其他主流的发行版.进入实验室之后,开始用CentOS 5,然后是C ...

  5. Installing scikit-learn

    Installing scikit-learn http://scikit-learn.org/stable/install.html Installing scikit-learn There ar ...

  6. NumPy学习笔记 一

    NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  7. GNU autotools自动生成Makefile 介绍

    一.目的 使用autotools工具来帮助我们自动地生成符合自由软件惯例的makefile(这样就可以像常见的GNU程序一样,只要使用"./configure", "ma ...

  8. Linux系统和工具集

    Linux系统和工具集 阿里源 http://mirrors.aliyun.com/ http://centos.ustc.edu.cn/ 第三方包管理器 不同的发行版使用不同的软件包管理器,Cent ...

  9. node 的安装

    安装方法来自于 https://nodejs.org/en/download/package-manager/ Installing Node.js via package manager Note: ...

随机推荐

  1. Dubbo架构与底层实现

    一.Dubbo的设计角色 (1)系统角色Provider: 暴露服务的服务提供方.Consumer: 调用远程服务的服务消费方.Registry: 服务注册与发现的注册中心.1Monitor: 统计服 ...

  2. R语言与概率统计(三) 多元统计分析(上)

    > #############6.2一元线性回归分析 > x<-c(0.10,0.11,0.12,0.13,0.14,0.15,0.16,0.17,0.18,0.20,0.21,0. ...

  3. java内存模型的原子性、可见性、有序性与指令重排序

    在并发编程中,我们通常会遇到以下三个概念:原子性.可见性和有序性.我们先看具体看一下这三个概念: 1.原子性 操作时不可分割的比如a=0,此操作不可分割,而++a,实际上是a=a+1,为两个操作.想将 ...

  4. linux无密钥登陆

    1.在用户目录下执行命令 ssh-keygen -t rsa 一路回车: 2.在当前用户目录下,进入.ssh文件夹(.ssh文件夹为隐藏文件夹,直接进去即可). 在.ssh文件夹下执行命令: cat ...

  5. 转 - JS 中 call 和 apply 以及 bind 的区别

    转自 https://blog.csdn.net/wyyandyou_6/article/details/81488103

  6. Python 清华镜像设置

    大家在通过pip 或conda 下载一些很大的第三方库时是不是有一种等到坟头的草都三尺高了,还没下载完的感觉,而且大的第三方库长时间下载,可能会导致超时自动中断下载,感谢清华的大佬们 临时使用: pi ...

  7. flask的cookies操作

    from flask import Flask,request,Response app = Flask(__name__) @app.route('/') def hello_world(): re ...

  8. Hadoop-(Flume)

    Hadoop-(Flume) 1. Flume 介绍 1.1. 概述 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统. Flume可以采集文件,socket数据包.文件.文件夹 ...

  9. GIT SSH-KEY配置以及问题解决

    GIT SSH-KEY 生成 我们在使用git的时候需要生成ssh key,我在这里说一下生成key和一些个性化操作,如:保存key的位置,如何解决Could not open a connectio ...

  10. Linux系列(4):入门之文件权限与目录配置

    众所周知,Linux是多用户多任务的操作系统.那么如何解决自己文件不被其他用户访问呢?这就需要引入权限管理了. Linux根据文件的所属者分为3个类别:owner.group.others,且每个类别 ...