
Я пытаюсь объединить два варианта создания tar-архива, но они плохо работают вместе. Не знаю, в чем проблема.
Я использую:
tar -C /var/www/website html -cvzf html.tgz -T /tmp/htmllist.txt
Если я использую только опцию -C, то создается архив tar только с относительным путем "./html/", но ВСЕМИ файлами внутри этой папки. Мне это не нужно.
Затем, если я использую только опцию -T, он создает архив tar только с необходимыми файлами, но путь абсолютный "/var/www/website/html/whatever.html". Мне это тоже не нужно.
Я хочу объединить эти два варианта, но почему-то это не работает.
Структура папок следующая:
/var/www/website/html/
- Множество файлов .html
Папка /tmp/htmllist.txt содержит такие строки:
- /var/www/website/html/file1.html
- /var/www/website/html/file5.html
- /var/www/website/html/file32.html
И так далее.
Как решить эту проблему?
решение1
Tar работает наоборот при использовании -T
. Он архивирует файлы, включая полный путь. Если вам не нужен путь, удалите его при извлечении, например,
Создать тарбол
tar -C /var/www/website html -cvzf html.tgz -T /tmp/htmllist.txt
Извлечь тарбол
tar -xvf html.tgz --strip-path=3
Это удаляет три компонента из выходного пути, то есть /var/www/website.