位置: 编程技术 - 正文

FreeBSD的软件管理(freebsd的软件管理工具ports详解)

编辑:rootadmin

推荐整理分享FreeBSD的软件管理(freebsd的软件管理工具ports详解),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:freebsd怎么安装软件,freebsd怎么安装软件,freebsd包管理,freebsd desktop,freebsd包管理,freebsd的软件管理工具ports详解,freebsd的软件管理工具ports详解,freebsd软件安装,内容如对您有帮助,希望把文章链接给更多的朋友!

1、FreeBSD应用系统的组成 FreeBSD应用系统由FreeBSD操作系统和移植(ports)到FreeBSD的各种应用软件组成 FreeBSD操作系统本身,是由内核和基本系统组成,基本系统由系统工具、系统库和文档组成,最小化安装选项安装的是内核、系统工具和系统库,系统工具提供了完整的系统管理和编译程序程序。而文档和代码以及ports系统是可选安装的。如果完整安装了FreeBSD,简单的说就是安装了内核、系统管理工具、系统库、编译程序、系统源代码、ports以及man、info、FreeBSD handbook等文档。 为了扩大FreeBSD的应用,FreeBSD移植(port)了大量的自由软件、开源软件。并构建了ports系统,把这些移植的软件汇集到一起,从移植应用程序本身来说,大都是基于源代码进行修改和调整,以便建立的程序可以运行在FreeBSD系统环境下,所以ports中存放的都是代码修改以及编译控制,以及FreeBSD的程序管理策略。2、ports的组成 一个软件的ports,大致由以下几个部分组成: pkg-descr 应用软件的简单描述 pkg-plist 软件安装的文件列表 distinfo 软件源代码的名称,版本以及校验信息 Makefile 控制软件编译的makefile files目录 里面包含对源代码进行修改的各种补丁 利用port进行软件安装非常简单,这得益与ports系统的精心设计,大量繁琐的操作都定义在 /usr/ports/mk 目录下的文件当中,诸如一些变量定义,编译选项定义,文件下载地址定义,编译工具定义,以及一些操作的定义等等。具体软件的port中的Makefile文件,都会继承系统提供的这些定义,而且可以根据需要进行调整。 具体软件port的Makefile还提供了软件运行依赖,建立依赖,以及对源代码编译过程中一些具体的定义。3、利用ports进行软件安装的过程。 简单来说,可以用下面的指令来完成安装

[Copy to clipboard] [ - ]CODE:make install cleanFreeBSD的软件管理(freebsd的软件管理工具ports详解)

具体的过程是: 根据distinfo文件中的软件源代码文件名,检测 /usr/ports/distfiles 目录下,是否有软件的源代码 如果没有,调用 make fetch 从Makefile文件中定义的下载地址进行下载 下载完成以后,调用 make checksum ,利用 distinfo 文件中的源代码文件的校验信息,校验源代码包的完整性。 如果校验正确,调用 make extract,对源代码进行解压,具体的路径是:

[Copy to clipboard] [ - ]CODE:软件port当前路径/work/源代码文件名去掉后面的.gz.bz2/

解压源代码后,调用 make patch ,搜索 files 目录下的补丁文件为源代码打补丁, 打完补丁,根据 Makefile文件中定义的软件运行依赖关系,查找系统中是否安装对应的软件,如果没有安装,会转入相应的软件的ports中进行make install clean 。假设当前应用程序的所有运行依赖都已经安装,ports系统会进入源代码目录,运行里面的configure文件,生成源代码目录下的makefile文件,然后进行源代码的make过程,对源代码进行编译、连接。 当所有的make过程结束以后。运行ports系统的 make install进行安装。 安装完成以后,利用pkg-descr,pkg-plist的内容在 /var/db/pkg 目录下对这个软件进行注册。标记这个软件已经安装,并详细注册了安装文件列表。 如果软件注册成功,ports系统利用make clean命令,清除软件port当前目录下work子目录信息。如果在编译安装过程中对有依赖关系的软件进行过编译安装,会回溯清理过程。4、packages软件安装和管理 packages,也可以称作编译封装好的应用软件的二进制包,是FreeBSD提供的基于ports系统建立的二进制软件包,这个软件包实际上是FreeBSD利用硬件资源,利用 ports 系统的 make package 命令建立的。这些package存放在 ftp.freebsd.org 服务器上,可以远程直接下载安装,也可以下载后进行安装。 以freebsd 7.0 release为例,它的二进制软件包网络地址是: ... ckages-7.0-release/ 在这个网络目录下,有两个文件夹要用到,一个是 All ,一个是 Latest,注意第一个字母都是大写。 All目录下的文件,是利用ports建立的二进制软件包,例如 mysql-server-5.1..tbz,软件包名称来自它的ports名,版本号是ports根据软件包源代码版本进行的定义。 Latest目录下的文件,其实是All目录下软件二进制包的软连接,并且省去了版本号,这个目录是 FreeBSD系统网络在线远程安装所要访问的目录,对于 mysql-server-5.1..tbz 的软连接名是 mysql-server.tbz。这样在远程安装时就省去了输入版本号的麻烦。 这两个目录的建立和维护也是由ports系统自动完成的,无需干预。 FreeBSD操作系统提供的系统管理工具中,提供了对packages的维护工具 软件安装 远程软件安装: pkg_add -r 软件包名称 例如:pkg_add -r mysql-server,pkg_add -r xorg,pkg_add -r kde 系统会自动在上面所说的ftp服务器Latest目录下查找 mysql-server.tbz,xorg.tbz,kde.tbz,但有一点需要注意,FreeBSD的ftp服务器并不保证ports上容纳的所有的移植过来的软件都有二进制包,尤其是stable分支,有些是因为软件ports本身有问题无法建立,也有一些软件ports正在修订,还有一些只允许源代码包发布,协议不允许进行打包。 本地软件安装: pkg_add 软件包文件名 ,用这种方式安装软件包,需要从All目录下载,防止软件安装时搜索特定版本的有依赖关系的软件包。 一个建议:利用pkg_add -r -K 这个命令,它的作用是,远程下载,安装,并且把下载的二进制包保存在 PKGDIR 定义的目录上。PKGDIR 默认的定义是 /usr/ports/packages/

OpenBSD系统 DHCP 多 vlan 配置 4块DLINK,1个连接Internet,3个内网-------------------------------||||vr0连接Internetvr1内网交换机1vr2内网交换

我的openBSD4.1安装图解笔记 一、准备工作1、下载新版openBSD4.1地址

unix系统高手的操作习惯 使用文件名自动完成功能(filenamecompletion)。使用历史扩展。重用以前的参数。使用pushd和popd管理目录导航。查找大型文件。不使用编辑器创建临时文件。

标签: freebsd的软件管理工具ports详解

本文链接地址:https://www.jiuchutong.com/biancheng/353966.html 转载请保留说明!

上一篇:freebsd系统上修改mac地址的方法(freebsd 升级)

下一篇:OpenBSD系统 DHCP 多 vlan 配置(open dhcp server)

  • 增值税电子专用发票需要盖章吗
  • 税筹是什么意思,有哪些工具
  • 中国进口货物完税价格表
  • 未开票收入退回可以冲税吗
  • 高新技术企业亏损弥补
  • 合并报表会计未分配利润怎么填写?
  • 为改良生产线发生的变化
  • 报税显示税款入账未到账
  • 劳务派遣增值税怎么算
  • 不带息票据贴现计算公式
  • 分月计提利息会计分录
  • 支付的劳务派遣服务费现金流量
  • 含税和不含税哪个对卖方有利
  • 按折现率计算现值
  • 机动车统一发票税率多少
  • 金税盘要钱不
  • 雇佣临时工发生意外能追房东赔偿吗
  • 非居民企业指定扣缴合同备案
  • 正常消耗的直接材料计入当期损益
  • 确认递延收益纳税调整吗
  • 现金为负数时怎么做账
  • 车间低值易耗品有哪些
  • 独立费计算
  • acs_log是什么文件
  • PHP:xml_set_notation_decl_handler()的用法_XML解析器函数
  • 高薪技术企业研发项目合同范本最新
  • 承兑到期解付为什么不到账
  • 付临时工资怎么入账
  • PHP:date_default_timezone_get()的用法_Date Time函数
  • 免税怎么开
  • Symfony2创建页面实例详解
  • opencv dng
  • [深度学习] fast-reid入门教程
  • php获取ua
  • php绘图库
  • 出口免税免的是哪部分的税
  • 超简单的土法自制水泥
  • 工资预提和计提的区别
  • 土地开发成本包刮
  • 进项税额转出会计分录
  • 公司交1500五险一金是什么水平
  • 专项资金支出明细表范文
  • 专用发票与普通发票的区别有
  • 现金流量套期与公允价值套期的区别
  • 长期股权投资中级会计例题
  • 支付金额与实付金额不一致
  • 应交税费月底账务处理
  • 进项税额转出后续处理
  • 其他应收款与其他应付款对冲分录
  • 支付的劳务派遣服务费计入什么科目
  • 企业安装电子监控收费吗
  • 怎么做个体户
  • 报销管理规定
  • 酒店房间消耗品成本
  • 保险可以税前扣除吗
  • 城市天然气管道爆炸
  • sql常用的语句大全
  • sqlserver2000数据库连接不上
  • 5分钟了解环保币gec
  • surfacepro3的笔
  • win7系统怎么开wifi热点
  • seti@home.exe - seti@home是什么进程 有什么用
  • linux重启命令网卡
  • js的文件操作
  • 批处理的扩展名
  • python如何处理文本
  • jquery对话框组件
  • js获取宽高
  • jquery 3.5
  • python爬虫京东
  • js实现无限循环
  • Android开发网络请求数据加密
  • 河南城乡居民医疗保险电话
  • 北京税务局地税电话
  • 湖南国税电子税务局网
  • 税务数据清理变态
  • 伊川娘娘山传说
  • 税务ukey登录界面
  • 揭牌仪式揭牌时的音乐
  • 年终奖怎么报个税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设