Для Grub 2
известны такие пункты меню, как приведенный ниже пример для Kubuntu.
menuentry "Try kubuntu-16.04.1-desktop-amd64.iso - 64 bit live" {
loopback loop /kubuntu-16.04.1-desktop-amd64.iso
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/kubuntu-16.04.1-desktop-amd64.iso splash --
initrd (loop)/casper/initrd.lz
}
Содержимое между кавычками в первой строке - это то, что вы увидите в меню.
Вторая строка монтирует названный ISO на устройство loopback.
В третьей строке указывается имя исполняемого файла ядра Linux.
В четвертой строке указывается начальный RAM-диск. Начальный RAM-диск (initrd) - это начальная корневая файловая система, которая монтируется до появления настоящей корневой файловой системы и содержит необходимые модули для загрузки настоящей корневой файловой системы.
Скорее всего, вам придется проверить содержимое конкретного ISO, который вы хотите загрузить, чтобы узнать имена файлов vmlinuz в строке linux и initrd в строке intird, поскольку они могут отличаться в разных дистрибутивах, а также убедиться, что вы указываете полный путь к ISO в строке loopback
.Это почти наверняка связано с тем, что ваша учетная запись обычного пользователя не может получить доступ к каталогу, поэтому оболочка не может перечислить файлы, соответствующие подстановочному знаку.
Вы можете достаточно легко подтвердить это с помощью такой команды
ls /home/jira-plugins/installed-plugins
Если вы получили отказ в разрешении, то оболочка не сможет расширить подстановочный знак *
в этом каталоге.
Почему? Рассмотрим вашу команду
sudo mv / home / jira-plugins / installed-plugins / * / var / atlassian / application-data / jira / plugins / installed-plugins /
Порядок обработки: (1) разверните подстановочные знаки, (2) выполнить команду, которая в данном случае является sudo
с некоторыми аргументами, которые соответствуют оператору mv
.
Вы можете решить проблему одним из двух способов.
Войдите в систему и переместите файлы
sudo -s
mv / home / jira-plugins / installed-plugins / * / var / atlassian / application-data / jira / plugins / installed-plugins /
Разверните шаблон после запуска sudo
sudo bash -c "mv / home / jira-plugins / installed-plugins / * / var / atlassian / application-data / jira / plugins / installed-plugins / "
Когда вы делаете sudo ls
для вывода списка папок, я предполагаю, что один или несколько каталогов в пути не читаются обычными пользователями. Это объяснило бы поведение. Ключевое недоразумение здесь заключается в том, когда сделано глобальное расширение *
. Это выполняется оболочкой перед вызовом любой команды. Если у оболочки недостаточно разрешений, она не может ее расширить.
Более подробно в этом случае происходит следующее:
/ home / jira-plugins / installed-plugins
от своего имени, он не сможет расширить шаблон глобуса / home / jira-plugins / installed- плагины / *
. Это оставит его без изменений. После этого этапа *
больше не является особенным. sudo
с аргументами mv
/ home / jira-plugins / installed-plugins / *
и / var / atlassian / application-data / jira / plugins / installed-plugins /
sudo
вызывает mv
с аргументами / home / jira-plugins / installed-plugins / *
и / var / atlassian / application-data / jira / plugins / installed-plugins /
mv
пытается переместить файл с именем / home / jira-plugins / installed-plugins / *
, но он не существует и, следовательно, сообщение об ошибке.