“/dev/fd/63 Никакой такой файл или каталог”

Я пытался выполнить команду в chroot (довольно в новинку для этого), и я получаю следующий вывод.

root@hostname:~ # bash <(wget -q0 https://raw.githubusercontent.com/ubports/unity8-desktop-install-tools/master/install.sh) 
bash: /dev/fd/63: No such file or directory root
2
задан 24 October 2018 в 11:55

2 ответа

TL; DR: скопируйте /root папка снаружи chroot в chroot каталог

<(...) оператор известен как замена процесса и является путем к команде выполнения, вывод которой входит в неименованный канал. Это - каков/dev/fd/63. Идея состоит в том, чтобы позволить внешнюю команду (здесь, это bash ) рассматривать другой вывод команд, как будто это был файл. Обычно форма должна была бы использовать < для перенаправления того псевдофайла возражают в bashвходной поток.

bash < <(wget -q0 https://raw.githubusercontent.com/ubports/unity8-desktop-install-tools/master/install.sh)

Это обычно не отличается от wget https://stuff.com/blah | bash. В обоих случаях обычно не рекомендуется использовать такие команды, если Вы не на сотню процентов уверены сценарий, Вы загружаете, не из поверхностного источника и не вредоносное программное обеспечение.

Однако, так как Вы упомянули, что выполнили команду в chroot и выводы сценария No such file or directory root, и потому что удар позволяет запускать скрипты как bash script.sh здесь Ваш сценарий выполняется, но нет никакого названного каталога root в Вашем chroot. Вы могли просто зафиксировать его через sudo cp -R /root chrootdir. Для лучших результатов я предложил бы просто читать сценарий сначала, видеть то, в чем он нуждается, и скопируйте это в chroot папку и только затем запустите скрипт локально в папке. Никакая потребность выполнить wget многократно

Так работы сценария. Ошибки в оболочке, пишущей сценарий обычно в форме <shell>: <command user typed>: error message так сценарий, временно сохраненный как/dev/fd/63 и выполнения, это просто не находит то, в чем это нуждается.

См. также,

0
ответ дан 2 December 2019 в 06:54

Сообщение об ошибке

/dev/fd/63 No such file or directory

Источник проблемы

Действительно, каталог /dev/fd/ не существует на этом компьютере.

Решение

Решение состояло в том, чтобы создать символическую ссылку из /proc/self/fd в /dev/fd следующим образом:

ln -s /proc/self/fd /dev/fd

Подстановка процесса <(..) без этого не будет работать в QNAP.

3
ответ дан 16 June 2020 в 07:58

Другие вопросы по тегам:

Похожие вопросы: