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. python系列之 - (select、poll、epoll)

    select函数操作集合的时候有个要求,要么集合本身是描述符,要么他提供一个fileno()接口,返回一个描述符. I/O多路复用是在单线程模式下实现多线程的效果,实现一个多I/O并发的效果.看一个简 ...

  2. R语言常用包简介

  3. python中pip的安装与更新

    python -m pip install --upgrade pip --force-reinstall

  4. 【ABAP系列】SAP ABAP 为表维护生成器创建事务代码

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 为表维护生成器 ...

  5. 开发 --- IDE及小工具

    django-debug-toolbar 介绍: django-debug-toolbar 是Django调试工具条,提供了各种信息的获取,拥有极强的调试功能. 官网: https://django- ...

  6. 静态web页面与动态web页面的区别

    一.静态web页面 在静态web程序中,客户端使用web浏览器经过网络连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务区我现在需要得到哪个页面,所有的请求交给web服务器,之后 ...

  7. 【miscellaneous】多播的实现和需要注意的问题

    多播的实现和需要注意的问题          前段时间研究了一小段时间的网络多播问题,自己很有感触,把自己的经历写出来,希望有需要的可以少走一些弯路.          先说一下原理,我觉得这个还是需 ...

  8. hbase数据导出和恢复 设置双master + 查看hbase表占用磁盘大小

    1.备份TETST111hbase org.apache.hadoop.hbase.mapreduce.Export TEST111 /do1/hh2.drop 掉test111表  -- 只能dro ...

  9. IntelliJ IDEA打jar时常遇见的问题

    1.打包的时候提示 manifest.mf already exists in vfs  解决方案:这个文件夹删除掉,再重新build打包即可 2. 第一个选择“extract to the targ ...

  10. Redis(1.8)Redis与mysql的数据库同步(缓存穿透与缓存雪崩)

    [1]缓存穿透与缓存雪崩 [1.1]缓存和数据库间数据一致性问题 分布式环境下(单机就不用说了)非常容易出现缓存和数据库间的数据一致性问题,针对这一点的话,只能说,如果你的项目对缓存的要求是强一致性的 ...