您尚未登录。

#1 2013-06-11 16:15:42

tomsun.0.7
会员
注册时间: 2011-10-26
帖子: 14

关于最近更新的 Linux 3.9.5 的问题

这几天 3.9.5 的内核更新了,但是在更新内核时,我遇到了这样的提示:

>>> Updating module dependencies. Please wait ...
>>> Generating initial ramdisk, using mkinitcpio.  Please wait...
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
mktemp: unrecognized option '--tmpdir'
BusyBox v1.20.2 (2012-09-21 20:36:41 EDT) multi-call binary.

Usage: mktemp [-dt] [-p DIR] [TEMPLATE]

==> ERROR: Failed to create temporary working directory in /tmp
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
mktemp: unrecognized option '--tmpdir'
BusyBox v1.20.2 (2012-09-21 20:36:41 EDT) multi-call binary.

Usage: mktemp [-dt] [-p DIR] [TEMPLATE]

==> ERROR: Failed to create temporary working directory in /tmp

这里应该是在执行 mkinitcpio 生成 initramfs 的时候出现了问题,问题出在不能在 /tmp 目录下生成临时文件。
然后,我就直接重启了,重启之后,提示找不到 root 所在设备之类的。
于是,我就用 arch 的安装盘 chroot 了之后,再尝试手动

mkinitcpio -p linux

(注:手动之前有升级过udev、mkinitcpio),还是提示一样的错误。
我接着按照提示,尝试自己使用了

mktemp --tmpdir

这个命令,没有提示任何错误。
最后,我就只能回滚到 3.9.4 的内核了。

请问,这是一个什么样的错误呢?应该如何解决呢?

最近编辑记录 tomsun.0.7 (2013-06-11 17:09:05)

离线

#2 2013-06-11 18:37:30

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: 关于最近更新的 Linux 3.9.5 的问题

尝试执行:

which -a mktemp
busybox mktemp --tmpdir

离线

#3 2013-06-11 19:34:58

tomsun.0.7
会员
注册时间: 2011-10-26
帖子: 14

Re: 关于最近更新的 Linux 3.9.5 的问题

百合仙子 说:

尝试执行:

which -a mktemp
busybox mktemp --tmpdir

执行

which -a mktemp

后的结果是:

/usr/bin/mktemp
/bin/mktemp
/usr/sbin/mktemp
/sbin/mktemp

但我想只有 /usr/bin 下面的才是,因为之前 /bin, /sbin, /usr/sbin都合并了,这三个目录只是链接而已。
然后执行

busybox mktemp --tmpdir

出现了和之前一样的错误:

mktemp: unrecognized option '--tmpdir'
BusyBox v1.20.2 (2012-09-21 20:36:41 EDT) multi-call binary.

Usage: mktemp [-dt] [-p DIR] [TEMPLATE]

看来错误的原因应该是这个了,请问应该怎么解决呢?

离线

页脚