FreeBSD makeworld的过程

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情
去小恶魔学园没找到, 只好自己翻译一下, 和原版有些出入, 加上一些自己的理解, 有误还请指出
英文原版file:///usr/share/doc/en/books/handbook/makeworld.html

注意事项

* 备份系统, 备份一下总不至于吃亏
* 订阅对应邮件列表, 希望你的英文不至于太差, 在对应邮件列表上贴上你问题的描述, 描述清楚出现的问题及受影响的系统

STABLE: freebsd-stable@FreeBSD.org
CURRENT: freebsd-current@FreeBSD.org

升级步骤(假设你已经同步到要升级的代码)

1. 读一下/usr/src/UPDATING, 上面由一些你可能需要注意的事项, 一定要读一下, 但并不代表这一定比从邮件列表上得到的信息有用, 所以推荐订阅邮件列表

2. 检查/etc/make.conf, 查看/etc/make.conf和/etc/default/make.conf的不同之处, /etc/default/make.conf中包含一些缺省定义, 不过大部分都被注释掉了, 可以考虑把它们加入到/etc/make.conf中, 不过要记得/etc/make.conf所有的make命令都起作用

3. 更新/etc下的文件, /etc下存放配置和启动脚本, 有些文件在不同的版本中是不同的, 所以需要进行更新, 从FreeBSD 开始可以在编译前使用命令 mergemaster 加上 -p 选项. 它将检查为了正常运行buildworld和installworld而需要更新的文件, 命令如下:

# cd /usr/src/usr.sbin/mergemaster
# ./mergemaster.sh -p

4. 进入单用户模式, 避免多用户系统带来的文件升级不成功问题, 还有一种方法就是在多用户模式下编译, 单用户下升级安装, 命令如下

# shutdown now

重启后使用boot -s 进入单用户模式

# fsck -p
# mount -u /
# mount -a -t ufs
# swapon -a

加入升级前系统使用本地时间而没有使用GMT, 必须打入命令

# adjkerntz -i

调整时区等设置, 保证系统的正常安装

5. 移除/usr/obj

# cd /usr/obj
# chflags -R noschg *
# rm -rf *

6. 编译
a 保存编译输出, 注意不要存在/tmp目录下, /tmp下的文件可能在重启后被清除

# script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out
# make TARGET
... compile, compile, compile ...
# exit
Script done, ...

b 编译

# cd /usr/src
# make -j4 -DNOPROFILE buildworld #或者在/etc/make.conf加上NOPROFILE=true

FreeBSD 2.2.5后make world分成make buildworld和make installworld, 注意这里只作make buildworld
c 耗时: PIII500/128M RAM大约需要2个钟头左右

7. 编译安装新内核

# cd /usr/src
# make buildkernel
# make installkernel

编译使用GENERIC配置的内核, 推荐编译一个, 以免以后编译内核后无法使用新内核启动没有make installworld前定制编译新内核使用下面的命令

# /usr/obj/usr/src/usr.sbin/config/config KERNELNAME

8. 以新内核重启到单用户模式

9. 升级系统, 注意要使用和make buildworld使用的-D选项, 并且绝对不能使用-j选项

# cd /usr/src
# make installworld

假如编译时:

# make -DNOPROFILE=true buildworld

安装时就应该:

# make -DNOPROFILE=true installworld

10. 升级那些没有被make world升级的文件, 如/etc下的文件, 可以使用mergemaster或者手工升级, 这一点请参见mergemaster的手册, 在升级前建议备份/etc目录.

11. 更新/dev 通常使用mergemaster, 就会重建/dev, 或使用命令 sh MAKEDEV 建立

12. 更新/stand

# cd /usr/src/release/sysinstall
# make all install

13. 再次重启

# fastboot

14. 结束升级, 加入有些程序无法运行的话可以重新编译安装, 例如

# cd /usr/src/usr.bin/file
# make all install
【HCIA学习记录】WLAN配置实验 HCIA-WLAN 阅读详情

相关推荐

Vue集成飞书前端JSSDK

文章目录前言<1>飞书前端JSSDK<2>使用步骤1.将JSSDK引入到VUE2.读入数据总结 前言 公司需要使用飞书软件,所以转战飞书开发,也是对新知识的探索与研究,飞书SDK也一直都在更新,路虽远,行必达。 <1>飞书前端JSSDK 1、官网地址:https://open.feishu.cn/document/uYjL24iN/uITO4IjLykDOy4iM5gjM 2、当前使用的飞书前端JSSDk的版本:1.5.4 <!-- 在html文档中 --&gt

A 1万+

16.4 安装

16.4安装 配置 安装的第一步是为系统配置代码树。这通过运行configure脚本实现。默认安装,可直接运行: ./configure 也可以跟安装文件分开: mkdir build_dir cd build_dir /path/to/source/tree/configure [options go here] make 默认配置会构建服务端及实用程序,以及仅需要C编译器的所有客户端应用程序及接口。默认安装在/usr/local/pgsql路径下。 可通过为configu..

在路上 523

【人工智能】RAG如何根据实际需求选择和进行文档解析(如 PDF、Word、TXT、网页等)?

文档解析的核心在于根据解析目标、文档类型和处理量选择合适工具。PDF、Word、TXT和网页各有特性:PDF需区分可编辑与扫描版,Word需处理结构化内容,TXT简单但需注意编码,网页需应对动态内容。解析场景包括提取纯文本、结构化数据、保留格式和批量处理。非技术用户可借助工具如Adobe Acrobat、WPS和在线OCR,技术用户可通过编程实现自动化。通用流程为:明确目标、分析文档属性、选择工具并测试优化。核心是“工具适配需求”,无需追求万能方案。

奶爸的编程之路,也就一周冷个三天 467

linux 下 make 的常用选项

make 在 linux 下经常用于一些软件的编译安装,所以了解一些基本的用法很有必要: make 按默认配置編译 make -j8 8个进程同时编译,缩短总的事件 make world 编译所有能够编译的(postgresql 经常同时編译文档及附加模块(contrib) make check 回归测试,用于安装完成后测试功能完整性,不能以 r...

一名数据库爱好者的专栏 2691

Openwrt实践过程--编译过程

Openwrt实践过程--编译过程1.注意点2.顶层Makefile分析3.kernel编译4.firmware编译kernel处理rootfs处理镜像打包 1.注意点 a.make -n可打印makefile执行的命令,而不执行 b.在规则的命令中增加echo跟踪执行进度 2.顶层Makefile分析 第一个编译目标worldmake的默认编译目标 编译简单可划分为两个逻辑: world: i...

香蕉一号 1839

Configure Make World Install

Configure Make World Install Linux 命令详解(三)./configure、makemake install 命令 一、基本信息 1 ./configure 是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。 2 make 是用来编译的,它从Makefile中读取指令,然后编译 3 make in...

leeham的博客 1466

【数据库】PostgreSQL编译安装详细过程

前言 最近被安排做一些安全加固的事情,被分到了几个关于postgresql数据库的问题。关于pg库,我们应该都很熟悉了,项目中经常用到,原先以为下个包就可以直接部署了(当然官网也提供了桌面化安装程序),但是我没有安装linux的桌面化组件,所以只能自己编译安装了。。。。。 准备材料 以为服务器是内网服务器,不能配置yum,也连接不了外网,只能自己离线安装了,安装前需要准备的软件或者rpm包: postgresql-10.14.tar.gz readline-devel-6.2-11.el7.x86_64.

菜鸟sdut的博客 5899

FREEBSD升级和优化全攻略

来自:http://www.verydemo.com/demo_c170_i9143.html 前言 FREEBSD系统是一种非常 UNIX、非常 Free、非常 BSD -- UNIX 的操作系统,因为它过UNIX化,太过专业化了,教很多新手无从下手学习。我也是从几年前开始学习FREEBSD,并且在王波写的<FREEBSD使用大全>指导下,正式使用FREEBSD的。在这段使用和管理过程

fuchuangye783的专栏 443

feebsd5.4工作站构建过程

http://mclyw.blogchina.com/mclyw/1808261.html是我个人的安装笔记!  首先下载ISO刻录成光盘,我仅只下载了disc1,刻录成盘。   一、安装基本系统:    我本来是打算最小化安装同时装上cvsup就算的了,但是装的时候发现cvsup是在第二张盘的,所以只能同时装上ports。   二、makeworld:   1)修改/etc/make.conf(

nmdd的专栏 1361

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

更新FreeBSD 完成了安装、配置,FreeBSD基本上就算装完了。不过,目前为止没有哪个通用操作系统能够保证“bug-free”,FreeBSD也一样。在重新启动之后,我们需要做一些调整;并且,通过重新配置内核,我们可以得到一个更小、更快的操作系统。第一步要做的是同步源代码。FreeBSD是一套开放源代码的操作系统,它的全部源代码都可以通过cvsup与中央cvsup服务器,或它的某个镜像同步。

nmdd的专栏 1092

freebsd jail nginx php-fpm mysql weberp安装

今日开始学习weberp的使用,虽然weberp建议安装在apache上,但是出于对nginx的钟爱,决定以freebsd的jail中安装一下: 一、安装freebsd系统,重新编译内核,makeworld这个不多说 二、设定网卡 # vi /etc/rc.conf,因为我的网卡设备是bce0,所以设定如下: ifconfig_bceo="inet 192.168.1.18 netmask...

bitandsup的博客 291

FreeBSD系统编程[简体中文版]

参考链接: [url=http://bbs.chinaunix.net/viewthread.php?tid=699102&extra=page%3D1]【FreeBSD system programming 】中文翻译计划及所有异义提交处 [size=5][align=center]FreeBSD系统编程[/align][/size] Copy...

weixin_30478757的博客 326

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

更新FreeBSD  完成了安装、配置,FreeBSD基本上就算装完了。不过,目前为止没有哪个通用操作系统能够保证“bug-free”,FreeBSD也一样。在重新启动之后,我们需要做一些调整;并且,通过重新配置内核,我们可以得到一个更小、更快的操作系统。  第一步要做的是同步源代码。FreeBSD是一套开放源代码的操作系统,它的全部源代码都可以通过cvsup与中央cvsup服务器,或它的某个镜像

技术交流 461

How to REBUILD THE WORLD

写在开头 使用FreeBSD的同学一定都会想做一件事,手动编译软件。然后,这在安装系统的时候就直接使用本地编译安装系统 \ 所有软件显然是不明智。 一来这多数人对这个系统了解得并不那么深入,编译过程中难免...

conic9833的博客 185

使用Jail虚拟多个服务器主机

使用Jail虚拟多个服务器主机 HD 使用FreeBSD已经很多年了,这么久FreeBSD总是在不断的给我惊喜。就如这里我们所要谈到的Jail,正是FreeBSD在4.x版本中开始提供的一个真正虚拟“主机”的服务。Jail就如许多小型机服务器一样,它使我们需要先安装一个宿主操作系统,其它的所有运行的操作系统都安装于这个宿主操作系统平台之上。本文主要针对FreeBSD 5.0来讲述jail的

697

FreeBSD/Unix环境下的make命令详解

无论是在FreeBSD还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到makemake install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用makemakefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。而且如此多的源文件,如果每次都要

浩瀚星空,法力无边;其大无外,其小无内。 3147

FreeBSD编译vim

FreeBSD编译vim 获取vim的源码 git clone https://github.com/vim/vim.git 编译 make -j4 #表明使用四个线程编译 安装进系统 make install

hao_look的博客 208

象mysql之类的源代码包都在freebsd的哪个目录,用什么参数make

经常在教程上看到 freebsd的网络安装方式,如果网络很慢,想在本地安装怎么办呢?你可以先把mysql-5.1.23-rc.tar.gz这样的包放在 /usr/ports/distfiles/ 这个目录下面,然后开始make WITH_CHARSET=gbk WITH_XCHARSET=all WITH_PROC_SCOPE_PTH=yes BUILD_OPTIMIZED=yes BUILD

Magicbreaker的专栏 715

FreeBSD的ports中的make可带有的参数

FreeBSD的ports中的make可带有的参数。2007年08月03日 星期五 05:19 我们经常使用ports来安装程序,ports中的make命令还可以有很多的功能: 引用 fetch - Retrieves ${DISTFILE...

weixin_34074740的博客 158

探索自由的天地:FreeBSD 源码树项目

探索自由的天地:FreeBSD 源码树项目 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 欢迎进入FreeBSD源码树的世界,这是一个开放源代码的项目,承载着自由软件和操作系统的核心。这个项目不仅提供了构建整个FreeBSD系统的基石,也为你打开了深入理解操作系统底层运作的大门。从系统命令到内核源码,从库文件到安全机制,每一个角落都充满了技术的智慧与创新。 项目技术分...

gitblog_00053的博客 648

Freebsd8.1:make:don't know how to make

配置make.conf文件 FETCH_CMD=axel FETCH_BEFORE_ARGS= -n 10 -a FETCH_AFTER_ARGS= DISABLE_SIZE=yes MASTER_SITE_OVERRIDE?= \ http://downloads.mysql.com/archives/mysql-5.5/${DIST_SUBDIR}/ \ ftp://ftp.fr

陈坚 浙江绍兴 1429
上一篇: 用rsync实现网站镜像和备份
下一篇: FreeBSD内核定制参考
freebyu
博客等级 码龄23年 1粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值