На Fedora я использую:
grub2-mkconfig -o "$(readlink -e /etc/grub2.cfg)"
потому что выполнение без параметра readlink
возвращает относительный путь и grub2-mkconfig
выдает ошибку:
$ 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
Я использую эту -e
опцию, чтобы, если символическая ссылка не преобразуется в существующий файл, вывод выводится на стандартный вывод, поэтому я знаю, что что-то пошло не так.
Со страницы руководства для readlink:
-e, --canonicalize-existing
canonicalize by following every symlink in every component of
the given name recursively, all components must exist
/bin/kernel-install
вместо этого. Пожалуйста, измените свой ответ, чтобы включить эту информацию для дальнейшего использования