Untar создает папку только для чтения в подключенном томе на xenial в Docker

Я не могу распаковать архив как root на xenial из-за Cannot mkdir: Permission denied.

] ]
  • Монтирование тома из хост-системы в /tmp/folder
  • Docker cmd: docker run -ti --rm -v ``pwd``:/tmp/nodemcu-firmware ubuntu:18.04 /bin/bash
    • Шаги для воспроизведения

      • cd /tmp/nodemcu-firmware
      • mkdir cache && cd cache
      • apt-get update && apt-get install -y wget xz-utils
      • wget https://github.com/jmattsson/esp-toolchains/releases/download/linux-x86_64-20181106.0/toolchain-esp32-linux-x86_64-20181106.0.tar.xz
      • tar -xJf toolchain-esp32-linux-x86_64-20181106.0.tar.xz

      Распаковка не удалась, потому что tar создает новую папку esp32-linux-x86_64-20181106.0 из архива, но она доступна только для чтения: dr-x------. Следовательно, распаковка всех последующих (дочерних) артефактов не удалась.

      Распаковывая тот же тарбол снаружи , этот смонтированный том Docker работает просто отлично. Чья это вина? Докер, Ubuntu или мой?

      Обновление 2019-07-31

      Основной причиной являются странные разрешения в тарболе.

      $ tar -tvf toolchain-esp32-linux-x86_64-20181106.0.tar.xz|grep dr-
      dr-xr-xr-x johny/johny       0 2018-11-06 02:07 esp32-linux-x86_64-20181106.0/
      

      Я не знаю, как решить проблему, но автор согласился создать новый архив с обновленными разрешениями.

    0
    задан 31 July 2019 в 09:01

    0 ответов

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

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