Chinaunix首页 | 论坛 | 博客
  • 博客访问: 37986
  • 博文数量: 5
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-13 23:26
文章分类

全部博文(5)

文章存档

2011年(1)

2008年(4)

我的朋友
最近访客

分类: BSD

2008-05-26 00:44:58

昨晚无意间更新/usr/src/至current。系统核心在make kernel以后升级至FB8-current,结果发现部分功能出现奇怪的结果,甚至干扰桌面工作的debug模式都被打开了。用fusefs-ntfs挂载一个ntfs格式的移动硬盘都会出错,导致死循环无法退出,其间切换不同的vtty都不能使用键盘,简直就让人发狂到了极点。

无奈之下产生了重新make buildworld的想法,结果发觉/lib/libc.so.7的版本超过了1.1。系统不断报错,连最简单的ls都无法使用了。这个结果让我更加郁闷,只好产生了重新安装FB的想法,几经咬牙之后,还是舍不得自己积累的配置和软件,于是,我抱着偷懒就是学习的念头,开始进行恢复安装。

废话少说,因为这个该死的/lib/libc.so.7库文件不断报错,我在root下无法从网络上下载任何文件,所以只能进行CDRom引导安装。

1.安装菜单

用CDRom引导进入安装界面以后直接选择[Standard]标准安装。



2.磁盘分区[Fdisk]

进入分配磁盘空间界面以后,按下键盘[q],跳过磁盘格式化选择过程。(我的目的就是保留现有数据)。


启动引导管理器安装过程随意,反正恢复安装不会对修改出错误的引导信息。


3.磁盘标签[Sysinstall Disklable]

在磁盘标签界面按照之前/etc/fstab列表中的标签一一对应,选中相应的分区按下[m]挂载到之前的目录。做完上述步骤后按下[q],进入下一步。



4.软件包选择[Choose Distributions]

在软件包选择界面选中[X-Developer]和[X-User],这两个集合包含了桌面系统所需的软件包。然后安装,结束可按照之前的系统参数继续设置一次,大部分设置会追加在安装前的配置文件中。很少的几个配置文件将会被重新创建,例如:与系统用户信息现关联的/etc/passwd和/etc/group等等。


虽然系统用户信息丢失,只要之前的备份工作做得好,恢复一下特定文件还是可以保证系统无损的。但是由于我的电脑无法使用cp和tar等命令。所以,我只能重新创建之前的用户信息了。


5.单用户模式[single user mode]

安装完毕后重新起动进入单用户模式。

方法为:启动界面选择[6.Escape to loader prompt],然后在命令提示符后输入[boot -s]。

确认使用默认的/bin/sh后,挂载所有的分区。

#mount -aw              //直接读取/etc/fstab里的信息然后把分区以读写方式挂载。

#cd /usr/src

#make buildworld && make installworld && exit

//重现编译所有的基本库和二进制程序,在成功以后进行安装,成功安装后进入多用户模式。

6.结束

经历以上步骤后,我进入系统测试发觉效果良好,新建了之前的用户帐户后,所有功能都恢复正常,仅仅是部分配置文件有所更改,手动恢复就可以。

尾巴

昨天晚上的恢复安装并没有解决所有问题,当我使用pkgdb -F修复我的ports完整性时,pkgdb工具总是报错,并且在执行命令的目录下生成ruby18.core文件。因此,判断为pkgdb工具损坏。隧将/usr/ports/lang/ruby18与/usr/ports/ports-mgmt/portupgrade重新下载编译,然后继续pkgdb -F,发觉工具仍然报错说无法修复/var/db/pkg/pkgdb.db。只好重命名/var/db/pkg/pkgdb.db,然后使用pkgdb -u生成全新的pkgdb.db。

终于可以用pkgdb -F了,剩下的就是等待智能的pkgdb把受损的ports补全。


阅读(1291) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~