Trên Fedora tôi sử dụng:
grub2-mkconfig -o "$(readlink -e /etc/grub2.cfg)"
bởi vì thực thi không có tùy chọn để readlink
trả về một đường dẫn tương đối và grub2-mkconfig
đưa ra lỗi:
$ ls -l /etc/grub2.cfg
lrwxrwxrwx. 1 root root 22 Dec 10 2015 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
$ readlink /etc/grub2.cfg
../boot/grub2/grub.cfg
$ sudo grub2-mkconfig -o "$(readlink /etc/grub2.cfg)"
/usr/sbin/grub2-mkconfig: line 244: ../boot/grub2/grub.cfg.new: No such file or directory
Tôi sử dụng -e
tùy chọn này để nếu symlink không giải quyết được tệp tồn tại, đầu ra sẽ hiển thị trên thiết bị xuất chuẩn để tôi biết có gì đó không ổn.
Từ trang man cho readlink:
-e, --canonicalize-existing
canonicalize by following every symlink in every component of
the given name recursively, all components must exist
/bin/kernel-install
. Vui lòng chỉnh sửa câu trả lời của bạn để bao gồm thông tin này để tham khảo trong tương lai