页次: 1
这几天 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)
离线
尝试执行:
which -a mktemp
busybox mktemp --tmpdir
离线
尝试执行:
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]
看来错误的原因应该是这个了,请问应该怎么解决呢?
离线
页次: 1