Chinaunix

标题: 我认为FreeBSD系统存在严重的问题。 [打印本页]

作者: fender0107401    时间: 2012-11-18 21:42
标题: 我认为FreeBSD系统存在严重的问题。
刚刚在笔记本上安装FreeBSD 8.3,安装之后同步代码,没有同步到stable或者是current,只是给8.3打了系统补丁。

编译系统的时候一切正常,安装系统也是正常。

但是mergemaster的时候出了问题,整个mergemaster大概用了10分钟时间,我不停的在哪里点击'i'。

我认真的想不明白,为什么8.3在发布之后,打安全补丁的时候会有那么多的文件需要处理,里面多数都是版本的信息什么的。

这个问题我之前已经遇到过一次了,但是没有什么好的解决办法,结果现在又出现了。

http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3757065

之前是出现在9.0版本里面,这次是出现在8.3版本里面。

我记得自己之前曾经在我的台式机上面安装8.3,也是使用光盘安装->同步代码->编译系统这个步骤做下来的,在mergemaster的时候没有发现什么需要处理的文件。

我感觉非常奇怪,为什么同样的8.3在我的台式机和笔记本上会出现不同的情况呢?

还有为什么8.3在发布之后,代码会有变动呢?作为一个release根本就不应该有什么变动(安全补丁除外),为什么会有配置文件的内容变化呢?

难道系统开发者有意为之?就是让用户安装系统的时候敲十分钟'i'?
作者: fender0107401    时间: 2012-11-18 21:46
用了FreeBSD很久了,每次遇到问题都能有一个完美的解决方案,似乎FreeBSD是一个万能的完美系统,但是这次我真有点看不明白了。。。
作者: sleepcat    时间: 2012-11-18 22:35
我认为这么但疼麻烦的方式阻碍了FreeBSD的流行。


作者: congli    时间: 2012-11-19 08:14
本帖最后由 congli 于 2012-11-19 08:17 编辑

mergemaster是用来合并/etc下面的配置文件.基本上stable->relesase或relesase->stable或跨版本升级,都需要处理一次/etc下面的所有配置文件.
这是给管理员的最大自由度!
作者: congli    时间: 2012-11-19 08:17
当然这种方式对桌面用户会造成"麻烦", 但作为生产服务器呢?
作者: fender0107401    时间: 2012-11-19 08:23
https://www.freebsdchina.org/forum/viewtopic.php?t=55326

根据这个帖子的回复,我认为可能是我同步的代码的问题。

8.3的etc文件并没有任何变动,但是我同步下来的文件是不一样的,很多区别都是在版本信息那一行。


作者: fender0107401    时间: 2012-11-19 08:26
回复 5# congli

生产服务器同样需要给系统打补丁,谁都躲不开这个,除非是使用其他的方法来给系统打补丁,比如freebsd-update之类的工具(貌似是这个名字)。
作者: congli    时间: 2012-11-19 08:34
回复 7# fender0107401


    如果是生产服务器,自己基本就Release->Release升级, 这时候mergemaster处理的配置文件数基本不超过10个.
作者: fender0107401    时间: 2012-11-19 08:41
回复 8# congli

这个就是问题,我自己用的系统从来都是Release->Release-p[x](x=1/2/3/4...)的,所以出现这么多的文件需要处理我才感觉奇怪。

说的具体点,每次安装系统我都是使用Release的安装光盘(比如说是R8.3),然后同步源代码给系统打补丁的(R8.3->R8.3-p4)。

在Release发布之后etc文件根本不应该有任何变化(所有的安全更新应该都是只是小修小补的解决安全问题,所以应该只涉及很少的.c或者是.h文件的改动),所以这个操作本来就应该有很多文件需要用户手工处理,但是在我使用的过程中,却提示我很多文件需要处理。

我弄完了之后都担心自己同步错了源代码,uname -a一下,发现确实是8.3-p4。


   
作者: fender0107401    时间: 2012-11-19 08:43
有什么办法来验证同步的代码的正确性?
作者: congli    时间: 2012-11-19 08:48
回复 9# fender0107401


    你是如何同步源代码?

自己到现在为止,还是使用cvsup的说
作者: fender0107401    时间: 2012-11-19 08:54
回复 11# congli

csup -L 2 -h cvsup.cn.FreeBSD.org /usr/share/examples/cvsup/ports-supfile

我一直都用这个来同步源代码。
作者: f5b    时间: 2012-11-19 09:01
我的经验

一直是Release > new release  ,几乎都是用freebsd-update,并且不修改freebsd-update的配置文件,也就是用官方源。
类似楼主那种需要很多次确认etc相关文件的merge情况就也出现过,就是用自己修改了freebsd-update的配置文件,使用了163的源,发生在8.2>8.3的时候。
作者: macafee    时间: 2012-11-19 09:01
刚装的,没有出现你说的问题
作者: fender0107401    时间: 2012-11-19 09:11
本帖最后由 fender0107401 于 2012-11-19 09:11 编辑

回复 14# macafee

太崩溃了。

你用的那个cvs服务器?

我回去换一下服务器试试。
作者: congli    时间: 2012-11-19 09:21
回复 15# fender0107401


    自己一般用cvsup.freebsdchina.org,跟你是一样的,哈~~
所以想不明白你会有那么多配置文件要mergemaster.
作者: fender0107401    时间: 2012-11-19 09:23
回复 16# congli

不管怎么样,我打算深究一下这个问题。

   
作者: fender0107401    时间: 2012-11-19 09:23
如果是bug,那就干掉它。
作者: congli    时间: 2012-11-19 09:28
回复 17# fender0107401


    支持你!
作者: HermitWayne    时间: 2012-11-19 11:22
感觉LZ不会是因为直接修改了系统的默认配置文件造成的吧。
比如,修改的是 /boot/default/loader.conf而不是/boot/loader.conf文件。
如果这样的话,系统每次更新的时候,就会和你本地的配置文件会有冲突吧。

不过这纯粹是我的猜测。感觉对于普通用户来说,如果非必要情况。还是用freebsd-update 更新基本补丁比较好。
作者: fender0107401    时间: 2012-11-19 11:26
回复 20# HermitWayne

我用光盘安装系统之后就同步源代码,根本不没有编辑系统的配置文件。

退一万步说,就算是编辑,我也不可能编辑那么多配置文件。
   
作者: fender0107401    时间: 2012-11-19 13:23
本帖最后由 fender0107401 于 2012-11-19 13:25 编辑

https://www.freebsdchina.org/for ... p;highlight=#266963

看最后的那个回复。

8.X 的 release/Makefile 是从 cvs 检出制作的带的 id 是 cvs 版本
9.0 开始 release/generate-release.sh 默认用的是 svn
光盘安装的 /etc 下的文件 id 是 svn 版本

然后不论是用 svn 还是 csup 更新都会有一大堆 id 出现在 diff 里
用 svn 更新, releng/9.0 跟 release/9.0.0 不同
用 csup 更新, cvs 版本跟 release/9.0.0 不同

至少目前 RELENG_9_0 和 RELENG_9_0_0 etc 是一样的,
RELENG_9 倒是有一大堆 MFC 去掉 set_rcvar() 的修改

作者: macafee    时间: 2012-11-19 18:52
从你写的,我感觉唯一的区别就是命令:
我一般用mergemaster -Ui来操作一般需要确认的很少很少。
作者: fender0107401    时间: 2012-11-19 18:57
回复 23# macafee

看这里:

http://bbs.chinaunix.net/thread-4054785-1-1.html
   
作者: fender0107401    时间: 2012-11-19 19:03
回复 23# macafee

帮忙看看你的/usr/src下面的etc/shells是什么样的,贴出来看看。


   
作者: macafee    时间: 2012-11-20 08:46
HaproxyB# more shells
# $FreeBSD: src/etc/shells,v 1.5.36.1.8.1 2012/03/03 06:15:13 kensmith Exp $
#
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/sh
/bin/csh
/bin/tcsh
HaproxyB#
作者: fender0107401    时间: 2012-11-20 08:55
回复 26# macafee

看到了,麻烦你了,

你的/usr/src/etc/shells和我从光盘里面拿出来的是一样的。

这个是你的/usr/src/etc/shells:

# $FreeBSD: src/etc/shells,v 1.5.36.1.8.1 2012/03/03 06:15:13 kensmith Exp $


这个是我从光盘里面找到的/usr/src/etc/shells:

# $FreeBSD: src/etc/shells,v 1.5.36.1.8.1 2012/03/03 06:15:13 kensmith Exp $


但是我更新源代码的时候得到的/usr/src/etc/shells是这样的:

# $FreeBSD: src/etc/shells,v 1.5.36.1.8.2 2012/11/17 08:24:37 svnexp Exp $


我不知道为什么会这样,我这次安装的是8.3的系统,没有使用sysinstall来安装src和ports,直接用csup来同步的src和ports,不知道是不是这个原因,我今天下班可能回去测试一下使用sysinstall来安装src在同步代码会不会出现同样的问题。
作者: zeissoctopus    时间: 2012-11-20 09:16
本帖最后由 zeissoctopus 于 2012-11-20 09:18 编辑
fender0107401 发表于 2012-11-20 08:55
我不知道为什么会这样,我这次安装的是8.3的系统,没有使用sysinstall来安装src和ports,直接用csup来同步的src和ports,不知道是不是这个原因,我今天下班可能回去测试一下使用sysinstall来安装src在同步代码会不会出现同样的问题。


看看新版的日子是 2012/11/17 就不出奇,官方源經 2012/11/11 入侵一役,官方源重新放上檢查好沒有問題的 cvs 源,那當然會用新的版本號碼分別,如果官方不這樣做,你怎分別你今天用 csup 下載的 cvs 源是否冇問題?你下載完,見到日子是 2012/11/17 或以後的版本,不是更安心嗎?當然,這樣做,mergemaster 時就會出現樓主你所指的"所謂嚴重問題"了。

那當然會和 2012/11/17 以前的版本號碼不同。縱使 FreeBSD 8.3-RELEASE 沒有改變,非常時期有非常做法,handbook 沒有預計突然事故的。那應該是"緊急事故處理手冊"寫。

當你在 2012/11/17 後使用 portsnap 時,也會突然接收高達 2 萬多的 patches,那都是重新放上經檢查後的 ports 源,版本改了的副作用。

還是跟隨官方建議做法,改用 svn 更新。csup 總有一天停止使用。
作者: fender0107401    时间: 2012-11-20 09:26
回复 28# zeissoctopus

总之还要再试试,必须要确定了才行,系统的更新是一个重要的系统维护操作,如果有什么问题应该搞清楚,不能稀里糊涂的就过去。

如果这个只是和最近发生的入侵行为有关,那么我7月份的时候遇到的这个问题是怎么回事呢?

太多的问号了,哈哈。
作者: zeissoctopus    时间: 2012-11-20 09:36
本帖最后由 zeissoctopus 于 2012-11-20 09:38 编辑
fender0107401 发表于 2012-11-20 09:26
回复 28# zeissoctopus

如果这个只是和最近发生的入侵行为有关,那么我7月份的时候遇到的这个问题是怎么回事呢?


樓主態度是正確的。

請看看官方報告 http://www.freebsd.org/news/2012-compromise.html

其中 2012 Nov 18 一段,已寫得好清楚了。
Please note that due to infrastructure changes, the first update through either portsnap or csup is likely to show changes to a large number of files. This is nothing to worry about .

所以,如果樓主是問題是發生在 7 月,那麼只是樓主你的服務器有問題,並不是官方源有問題了。
作者: fender0107401    时间: 2012-11-20 09:45
回复 30# zeissoctopus

总算是有个说法了,哈哈。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2