Я не могу распаковать архив как root на xenial из-за Cannot mkdir: Permission denied
.
/tmp/folder
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/
Я не знаю, как решить проблему, но автор согласился создать новый архив с обновленными разрешениями.