FreeBSD服务器的安装与优化(2)更新FreeBSD

【转】FREEBSD升级及优化全攻略 重庆.樊礼(梦飞) 欢迎转载﹐本文遵循GNU协议规则﹗ 前言 升级源码树 安装cvsup 升级系统源码树及ports 重新编译内核 优化编译环境 升级操作系统 升级配置文件 重新编译内核 重新启动服务器 优化FREEBSD 检查升级情况 打开防火墙 优化内核参数 安装防火墙 安装数据库MYSQL 安装mysql40-server和mysql40-client 安装phpmyadmin 阅读详情
更新FreeBSD

完成了安装、配置,FreeBSD基本上就算装完了。不过,目前为止没有哪个通用操作系统能够保证“bug-free”,FreeBSD也一样。在重新启动之后,我们需要做一些调整;并且,通过重新配置内核,我们可以得到一个更小、更快的操作系统。

第一步要做的是同步源代码。FreeBSD是一套开放源代码的操作系统,它的全部源代码都可以通过cvsup与中央cvsup服务器,或它的某个镜像同步。

cvsup是一个可选的package,同样的,它也可以从ports里面安装(/usr/ports/devel/cvsup和/usr/ports/devel/cvsup-nogui)。考虑到许多应用程序都依赖X的库文件,在前面安装的部分我安装了它,并且直接安装了cvsup的package。不过,如果你有足够的耐心去一个一个地make需要的ports,那么先安装ports collection,然后make cvsup-nogui也是一个不错的主意,尽管这需要比较长的时间。

创建一个用于cvsup(1)的supfile,命名为stable-supfile:

(default host中选定的cvsup服务器——ftp.bjpu.edu.cn对访问的IP进行了限制,笔者只在北京工业大学校内使用过,因此如果您无法连接这个服务器,请尝试www.cn.freebsd.org,或cvsup.freebsd.org)

*default host=ftp.bjpu.edu.cn
*default base=/usr
*default prefix=/usr
*default release=cvs tag=RELENG_4
*default delete use-rel-suffix
src-all
ports-all tag=.


随后执行

cvsup -g -L 2 stable-supfile

这里需要稍微解释一下FreeBSD的几种版本。

FreeBSD包括3类分支:-RELEASE,-STABLE和-CURRENT。FreeBSD 3.x、4.x和5.0是目前受到维护的版本,如果你期待稳定运行,那么,可以选择的最新版本将是FreeBSD 4.6-STABLE(如果你是在4.6.2-RELEASE发行之后更新的,那么它实际上比4.6.2-RELEASE新,并且,它正式的CVS tag是RELENG_4,即FreeBSD 4-STABLE)。

那么,三类分支有什么区别呢?

FreeBSD的开发是非常活跃的。系统中可能会随时引入一些新的特性。最新的代码是在-CURRENT分支中引入的。-CURRENT的修改非常频繁,每天都可能有数百处修改。使用-CURRENT分支的FreeBSD需要耐心和勇气,因为你的系统随时可能崩溃(随着FreeBSD 5.0开发尾声的接近,这种现象已经越来越少),make world也可能空手而归(没有人保证-CURRENT分支能够正常编译),此外,这个分支的性能也不好(因为调试的原因,这个分支引入了大量的调试选项,这意味着运行速度不会太快)。当然,正像它的名字那样,-CURRENT分支的版本也是最新的5.0,而且,一切FreeBSD的错误和漏洞的修正都是首先在-CURRENT分支引入的。目前,-CURRENT分支硕果仅存的只有FreeBSD 5-CURRENT(指定cvs tag时写“.”),这个分支包括了FreeBSD 5.0开发的最新进展。

FreeBSD 5中将引入大量的新特性,包括核心级线程(目前FreeBSD中的线程支持仅限于用户级线程,这在多处理器的环境下性能不够好,当然,目前使用fork()来支持的多进程线程模拟能够提供类似核心级线程的功能,但并不是所有的程序员都知道如何使用fork)、完整的Soft Updates(这一变化将提供更好的文件系统性能,同时提供更好的稳定性),等等。如果你有快速的Internet连接,一台或一些空余的机器(当然,不是生产用的服务器),并且希望为FreeBSD的开发作贡献,或者你关心操作系统的最新发展,那么,-CURRENT分支是最好的选择。此外,

由于-CURRENT分支性能不好、稳定性不够等这些缺点,对于生产的服务器来说,通常运行的应该是FreeBSD-STABLE。如同它的名字那样,FreeBSD-STABLE的目的是“稳定地运行”。-CURRENT分支中的代码,在经过一段时间(通常是7到90天,但安全更新属于特例,通常会在几个小时)的验证之后,符合版本条件(有些新特性只能用于FreeBSD 5.0)的代码会被FreeBSD-STABLE吸收,这个操作称作MFC(Merge From -CURRENT,不是Microsoft Foundation Classes:P)。

由于FreeBSD 5.0的第一个RELEASE至今仍然没有发布,因此,目前还没有5.0-STABLE。目前,FreeBSD-STABLE有两个版本,FreeBSD 3-STABLE和FreeBSD 4-STABLE,分别对应3.x和4.x的最新稳定版代码(对应的cvs tag分别是RELENG_3和RELENG_4)。由于版本的更新换代,其中3.x的-STABLE正在逐渐消亡。FreeBSD-STABLE每天平均会修改10个左右的文件。

每隔一段时间,FreeBSD的发行工程组(Release Engineering Team)会对FreeBSD-STABLE的源代码树进行锁定。这段时间(目前的规定是30天,之前还有30天准备)内,所有的MFC操作都需要发行工程组的批准,因此,FreeBSD-STABLE在这个阶段基本不会引入任何新的特性。经过这段时间之后,发行工程组会在最后锁定ports树,并build一份所有的package,之后,这份锁定的-STABLE,可能经过若干RC(Release Candidate),被命名为RELEASE,并制作光盘发行。

顾名思义,-RELEASE的设计目标是“发行”。一个版本一旦RELEASE,那么他的功能就不会再增加了。此后的所有维护的目标都只有一个,那就是绝对稳定。如果你和-RELEASE分支同步,那么绝不会出现make无法通过的情况,而且,通常这也可以保证你的系统“绝对”稳定,因为它不会引入任何新功能(例如,4.6就是4.6,如果你想要4.6.2的功能,必须明确地指定4.6.2)。

目前,FreeBSD有很多RELEASE版本,它们的cvs tag如下。我个人建议使用最新的4.6.2-RELEASE。

对于多数人来说,-RELEASE是一个比较极端的选择。无论何时出现版本升级,如果你想跟进,那都必须修改supfile,如果你选择不跟进,那么就可能造成ports工作异常。如果经常更新,-RELEASE可以保证操作系统本身的安全性,但同其他分支一样,如果ports出了问题,那么也得一块make,而既然这样,还不如使用-STABLE。

如果你符合下面的条件,那么RELEASE分支可能比-STABLE分支更适合你


  • 你使用的软件对于操作系统的变化非常敏感,比如,它只能FreeBSD 4.5,而无法在4.6上运行;同时,你不打算采用它的更新版本,或者它的作者拒绝更新
  • 操作系统的更新对于你来说没有任何意义,比如,你打算把FreeBSD当作一个相对固定的嵌入式操作系统来使用,例如,作为防火墙的一部分
  • 更新会对你造成困扰,操作系统的绝大多数新特性对于你来说除了增加烦恼之外,不能带来任何其他东西。

-并且,符合以下的全部条件-

  • 你每天察看FreeBSD,以及使用的全部软件的安全公告
  • 你的Internet连接比较通畅

目前我本人维护的所有主机,除了作为防火墙的那台之外,使用的都是FreeBSD-STABLE。

一旦同步完源代码,就应该对整个系统进行更新。如果你没有每天察看安全公告的习惯,那就应该关心一下cvsup到底更新了哪些代码。nectar是目前FreeBSD的Security Officer。如果你发现他一下子更新了许多代码,那么对你来说立即make world和kernel很可能是必需的。

为了更新整个系统,在/usr/src中执行

make world

以及

make kernel KERNCONF=内核配置文件名
当然,也可以连起来执行:
make world kernel KERNCONF=内核配置文件名

如果你的计算机运行速度较慢,那么,对于基本系统的更新(相当于不包括库的一次world),可以用

make most

替代make world,但make world是一个不错的主意,因为它能够保证对C运行环境的改变应用到所有的程序中,如果修正的不是动态连接的C函数库,那么make world可以保证代码的一致性。

make kernel是一个需要重新启动的操作。如果你的make world修改了系统的关键服务,那么最好也重新启动一下。我很少有耐心看完make world和kernel的执行,根据系统的运行速度不同,这需要一个小时到一天的时间,而且,不是所有的SSH客户端都能够长时间正确的执行,例如,SecureCRT的多个版本都有内存泄漏问题。

为了解决这个问题,我用下面的命令来完成更新:

make world kernel KERNCONF=内核配置文件名 clean > /var/log/world,out && reboot &

这个命令能够记录更新的全过程,如果在什么地方编译失败,你可以很快地找到原因。对于多数人来说,由于后面的&&,只需要察看uptime就能知道便以是否成功。

需要说明的是,FreeBSD的make world并不总能成功。有时需要修改一些环境变量才能成功完成make。为了保证make成功,在/usr/src中执行任何make操作之前,建议你看一眼UPDATING中是否有特殊的要求(这种要求并不是在FreeBSD Release的时候才会出现,很多时候他会在某个CURRENT中引入,然后随着MFC进入-STABLE分支),并且,在进行大的版本升级之前(跨RELEASE,甚至主版本号),首先执行下面的命令

mergemaster -p

并在make world之后执行

mergemaster -i

运行mergemaster脚本需要一定的Unix配置知识,不过,由于配置文件中包含很多帮助信息,因此,只要master.passwd、group这样的文件不出大问题(如果cvsup更新了master.passwd,那么就需要留神,因为master.passwd标准配置是root口令为空,这时需要用m来合并,而不是使用i安装),mergemaster并不会引入什么新的问题。

前一条命令是更新make的配置(/etc/defaults/make.conf和/etc/make.conf)。对于多数人来说,除非进行跨版本升级,否则一般情况下是不需要这样做的。后一条命令是同步全部配置,并安装以前不存在的配置文件,而不进行提示。

笔者曾经遇到过FreeBSD因为系统日期不正确而无法make的情况,因此,再次特别提醒大家,如果你的系统日期不正确,最好是用date命令修改一下,或者干脆用ntpdate或ntpd来同步时间。关于如何使用ntp,将在以后说明。

以后我们将讲解FreeBSD内核的配置,以及如何配置make.conf来优化FreeBSD的编译结果。

FreeBSD系统下Unbound DNS服务器配置与优化指南 DNS作为互联网基础设施的核心组件,其性能与安全性直接影响网络服务质量。递归DNS服务器通过缓存机制减少外部查询,显著提升域名解析效率。Unbound作为轻量级递归DNS服务器,凭借其高效的内存管理和DNSSEC原生支持,成为FreeBSD系统的理想选择。该软件采用模块化架构设计,支持响应策略区(RPZ)和DNS-over-TLS等现代协议,既能满足企业内网的高并发需求,也可实现家庭网络的广告过滤功能。在FreeBSD环境下,Unbound与PF防火墙深度集成,通过简单的CIDR访问控制即可构建安全的DNS 阅读详情

相关推荐

FreeBSD 7.2 完整安装指南与图文实战教程

fsck(file system check)是 FreeBSD 启动时自动运行的完整性校验工具,用于检测并修复 UFS 元数据损坏。工作流程如下:Bootloader->>Kernel: 加载内核Kernel->>Init: 启动 init 进程Init->>Fsck: 执行 fsck -p(预检查)Fsck->>RootFS: 读取超级块和 inode 链表alt 无错误Fsck-->>Init: 返回 0Init->>RootFS: 挂载为只读else 存在可修复错误。

weixin_31720909的博客 1235

FreeBSD服务器的安装与优化

作者:Freebird发表时间:2004-09-15FreeBSD服务器的安装与优化 作者:不详 -------------------------------------------------------------------------------- 更新FreeBSD 完成了安装、配置,FreeBSD基本上就算装完了。不过,目前为止没有哪个通用操作系统能够保证“b

1300

单细胞marker基因表达密度图-(还有一个包装函数)

我们借助Nebulosa,将上面的过程包装为一个函数,还是那句话,受累麻烦的事我们来解决,您轻松即可,先看看函数参数:需要注意的是,如果你只想框选某一类celltype,理想模式是这群celltype是单独聚类的,没有散落在其他类群,否则将会全部框选,效果不好,建议使用AI/PS添加。需要注意,这里我算是投机取巧了,用了一个和这个作图毫无关系的包ggnetwork,主要的目的是用他的theme_blank()主题,一次性将所有清空,当然也可以自己慢慢写,不过有现成的,为啥不用呢?这质感不就上去了嘛。

qq_42090739的博客 1369

FreeBSD安装

BSD 的手册相当丰富,细致,极大的扫清了我们在使用 BSD 时的障碍.然而,实践往往与理论有距离,或许在阅读了一大堆资料后,开始着手安装系统,克服"重重困难"之后,终于安装成功,在欢庆的同时发现,居然没有 安装 gcc, 常用命令的 man 一个都查不出来.天哪,这样一个绝对纯净的裸机让我如何是从呢? 于是笔者根据实践,献身说法,总结出一种史上最经典的 FreeBSD 安装方法,诣在既安装了一个干净的裸机,又能使其成为完整的开发或生产环境.有这个计划已经好久了,这次遇到一个好机会,得以如愿.好,咱书归正传

ouyangzhan的专栏 637

海康VisionMaster图形定位实战:十字形Mark点精准匹配技巧

本文深入解析了海康VisionMaster图形定位模块在工业自动化中实现十字形Mark点精准匹配的实战技巧。文章从ROI设置、核心参数调优(如定位方式、尺度模式、对比度阈值)到工业场景应用与避坑指南,系统性地分享了提升匹配成功率和稳定性的关键步骤,帮助工程师应对复杂现场环境,实现高效、可靠的视觉定位。

weixin_29285605的博客 260

CANOE DIVA 工程怎样在具体服务前增加前置条件

然后会在CANoe的Test Module视窗中发现一个跟系统条件相关的Test Module模块,在该模块中有生成跟系统条件相关的CAPL 脚本。这里需要根据你的实际项目进行更改,diva工程加载到canoe的工程的时候,会同步加入你创建的cdd文件,这里示例的ABS_ESP 就是你的cdd的ECU命名,后面就是具体的前置条件服务。4、配置完成后,测试用例就会如下图Trace窗口所示,在每一次10 02请求之前都会调用CAPL Function的PreconditionCheck函数中定义的脚本。

weixin_45940007的博客 1966

PostgreSQL-12安装和简单操作

一、安装 1、yum安装 # 添加yum源 $ yum -y install https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm # 安装PostgreSQL $ yum -y install postgresql12 postgresql12-server postgresql12-contrib # 检查版本信息 $ psql --version

嘻哈王大头 7922

GPT Researcher 的win docker安装攻略

github网址是:https://github.com/assafelovic/gpt-researcher/blob/master/README-zh_CN.md。使用 Docker 运行 AI-Researcher 项目的。因为docker安装方法不够清晰,因此写一个使用方法。打开设置——docker engine ,增加代码。如有其他问题,可提供错误截图或日志进一步排查!

weixin_43818488的博客 1125

部署YUM仓库及NFS共享服务

YUM (Yellow dog Updater Modified),YUM前身是YUP(yellow dog updater 大黄狗)起初是TSS公司使用python语言开发的,后来由杜克大学的Linux开发团队开发。借助YUM软件仓库,可以完成安装,卸载、总的升级rpm包等,能够自动查找并解决rpm包之间的依赖关系,而无需管理逐个手工的去安装rpm包。是管理员维护大量的Linux服务器,本地构建以个源服务器,可以大大缓解软件安装升级等对Internet的依赖。开启telnet客户端服务 在本机命令提示符

ll945608651的博客 914

从零到一:DETR模型在自定义数据集上的实战部署与调优

本文详细介绍了DETR模型在自定义数据集上的实战部署与调优过程,包括环境准备、数据转换、模型配置、训练技巧及问题排查。通过具体代码示例和实用建议,帮助开发者高效完成从零到一的DETR模型部署,特别适合目标检测领域的实践应用。

weixin_42524100的博客 462

Notion卡顿救星:3分钟搞定DNS优化,手机电脑全平台加速指南

本文针对Notion访问慢和卡顿问题,提供了全平台DNS优化与Hosts文件修改的详细指南。通过更换优质DNS服务器或建立静态IP映射,可有效解决因网络延迟和域名解析导致的加载缓慢,实现手机与电脑端的快速加速,提升Notion使用流畅度。

v6b7n8m9q0的博客 1306

FREEBSD升级及优化全攻略

       前言 升级源码树 安装cvsup 升级系统源码树及ports 重新编译内核 优化编译环境 升级操作系统 升级配置文件 重新编译内核 重新启动服务器 优化FREEBSD 检查升级情况 打开防火墙 优化内核参数 安装防火墙 安装数据库MYSQL 安装mysql40-server和mysql40-client 安装phpmyadmin 安装FTP服务器 安装ftp软件(使用pure-f

JDMBA的专栏 5353

Python爬虫教程:抓取区块链交易信息及加密货币市场数据

随着区块链技术和加密货币的迅猛发展,区块链交易和加密货币市场的数据逐渐成为金融、技术、经济研究等领域的热点。对于开发者和研究者而言,实时获取区块链交易数据和加密货币市场行情,对于投资分析、市场预测、技术研究等具有重要的参考价值。本文将通过Python爬虫技术,介绍如何抓取区块链交易信息及加密货币市场数据,详细阐述数据获取的原理、技术方案、实现方法以及抓取到的数据的存储与分析。我们将依托最新的爬虫技术,如requestsSeleniumScrapy,以及相关的数据处理库(如pandasmatplotlib。

2201_76125261的博客 2777

FreeBSD服务器的安装与优化(3)

“简单的东西不容易出问题。” 至理名言!事实上,削减操作系统中那些对你没用的功能是一件非常重要的事情。这不仅仅意味着一个更小的操作系统,占用更少的磁盘空间(现在的硬盘少说也有几十GB,几兆的空间根本就是九牛一毛),而且意味着你被攻击的可能性也更低——简而言之,你不需要担心操作系统中没有安装的模块存在问题会对你造成影响。这篇文章中,我们将一起对FreeBSD-i386的内核进行优化配置。这篇文章是针

nmdd的专栏 2293

ParaView: 从 2 或 3 个标量创建向量

ParaView: 从 2 或 3 个标量创建向量

希望我的博客,能帮上你解决学习中工作中所遇到的问题 585

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

FreeBSD系统下Unbound DNS服务器部署与优化指南

DNS作为互联网基础设施的核心组件,其性能与安全性直接影响网络服务质量。递归DNS服务器通过缓存机制减少外部查询,显著提升解析效率。Unbound作为轻量级递归DNS解决方案,采用模块化架构设计,支持DNSSEC安全验证,特别适合FreeBSD这类注重稳定性的操作系统。在工程实践中,Unbound相比传统BIND方案内存占用降低66%,IPv6环境下响应速度提升30%,配合NSD可构建完整DNS服务体系。通过合理配置缓存策略、负载均衡机制和安全加固措施,能够满足从企业内网到云平台的各种部署场景需求。

weixin_33850890的博客 368

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

FreeBSD之WEB服务器配置

FreeBSD 之WEB服务器配置全攻略 <spanlang=EN-US style=font-size:12.0pt;mso-font-kerning:0pt><spanstyle=mso-element:field-begin> TOC<spanstyle=mso-spacerun:yes>  /* MERGEFORMAT FreeBSD 之WEB服务器配置全攻

爱自由 1917

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

FREEBSD升级及优化全攻略 (梦飞)

FREEBSD升级及优化全攻略 ──文 重庆.樊礼(梦飞) 欢迎转载﹐本文遵循GNU协议规则﹗ 前言 2 升级源码树 3 安装cvsup 3 升级系统源码树及ports 3 重新编译内核 3 优化编译环境 3 升级操作系统 3 升级配置文件 4 重新编译内核 4 重新启动服务器 5 优化FREEBSD 5 检查升级情况 5 打开防火墙 5 优化内核参数 5 安装防火墙 6 安装数据库MYSQL 7

boysee的专栏 981

初学者入门:FreeBSD系统的安装与优化

对于许多电脑用户来说,FreeBSD还是一个比较陌生的系统。本文将以FreeBSD 4.7 Release为例,一步一步地带您安装一份完整的FreeBSD操作系统。  安装前的准备  FreeBSD对于系统的硬件适应能力比较强(相比Linux可能稍差,特别是对于新的显示卡的支持;但对于服务器常用的硬件,包括SCSI设备的支持是相当完善的)。IA平台的多数处理器,下至386,上至Pentium-4及

站长生活 538

FreeBSD安装MySQL

使用oracle提供的二进制发安装包在freebsd上安装mysql。详见https://blog.youkuaiyun.com/milaoshu76/article/details/113929401。

milaoshu76的专栏 3万+
上一篇: 使用开关使redhat从控制台进入KDE
下一篇: FreeBSD服务器的安装与优化(1)
nmdd
博客等级 码龄22年 3粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值