有两个人遇到了这个问题,分别是:
其中 Darwin_Chan 的那个帖子我还给猜错了。
肯定有很多沉没的人也遇到了这个问题,所以我们需要这样的教学。
今天 xiaonan 运气好,#yast 频道正好有人,就请教了下。
这个教学可适用于任何:在 openSUSE 安装到计算机前想看日志的情况。
自动配置是在 yast2-installation 模块进行的,它一共做这些事:
github.com/kobliha/yast-installation/blob/openSUSE-12_3/control/control.openSUSE.xml#L96
从 96 行到 165 行,分成 4 个子阶段,分别做了:
- 第一阶段,做了:初始化,设置主机名,检测网络,rpmcopy_secondstage(我也不知道这究竟在做什么,但是对应写的叫「检查安装好的系统」,当然这个函数还有别的功能,这里应该是这个)
- 第二阶段,做了:检测有线网,常规,检测 DSL 拨号,检测 ISDN,检测 modem,检测远程服务,和检测防火墙。
- 第三阶段,做了:检测打印机,设置声卡,设置电视卡。
- 第四阶段,做了:添加更新源,添加额外源,保存硬件状态。
但是比如你说我卡在:上面是 3%,下面是 11%,包括 YaST 开发者在内都没人知道你究竟卡在哪里了。因为这不是简单的数学计算问题,比如一共四个阶段,各占 25%,第一阶段四个步骤,各占 6.25%。所以你卡在总共的 11% 就卡在了「设置主机名」,不是这么算的。
正确方法如下:
- 你得确定它只是步骤卡住了,而不是 YaST 整个都卡住了,比如你能不能晃鼠标?能晃就可以。因为要是整个都卡住了,神仙也没有办法。
- 这时按 ctrl + alt + shift + x,会弹出一个 xterm 终端。
下面就比较明白了吧:这个时候你的 openSUSE 已经装上了,只是还没有自动配置好,那个 xterm 是你的 root 账户登录的。
所以你准备一个 U 盘,插上去。在 xterm 里,
ls /dev | grep sd
应该会看到 sda, sda1, sda2, sdb 这样的。你如果已经插了一个安装 U 盘了,那么它应该是 sdc,依次类推。
mount /dev/sdc /mnt
ls /mnt
你要能看到你 U 盘里的内容,就对了。中文是乱码的,最好插之前放个文本文件比如 this_is_my_usb_stick.txt。这样你可以不用 ls /mnt 而是
ls /mnt | grep this
要能看到 this_is_my_usb_stick.txt 就对了。不然请
umount /mnt
再重复以上步骤。
这时我假设你 U 盘已经挂载好了。下面
cp -r /var/log/YaST2/y2log /mnt
然后 umount /mnt 卸载 U 盘。把 U 盘拿到别的地方把 y2log 弄出来。
(未完待续。我还没看到过出问题的 y2log 到底长啥样,所以要等有人提供,我看了,才能继续写怎么推出 3% 究竟是卡在哪里)