Я использую GNU tar
с указанием нескольких экземпляров --exclude
.
Я получаю оба
Removing leading / from member names
а также
Removing leading / from hard link targets
предупреждения. Какая разница между ними?
Я использую GNU tar
с указанием нескольких экземпляров --exclude
.
Я получаю оба
Removing leading / from member names
а также
Removing leading / from hard link targets
предупреждения. Какая разница между ними?
Никакая запись в архиве не может начинаться с "/", то есть иметь абсолютный путь. Это функция безопасности, поэтому если вы распакуете tar-архив, вы можете быть уверены, что все файлы будут находиться в целевом каталоге и подкаталогах, а не разбросаны по всей системе (и, возможно, перезаписывать критические файлы).
Предупреждения, которые вы видите, являются результатом того, что tar
удаляет начальный «/» из любых абсолютных путей, как для обычных файлов ("имена членов"), так и для жестких ссылок ("цели жестких ссылок").
Например, эта команда ...
/home/user $ tar czf tarball.tgz /home/user/data
... приведет к этим предупреждениям, поскольку "/home/..." преобразуется в "home/...". Распаковка тарболла ...
/home/user $ tar xzf tarball.tgz
... приведет к распаковке всех файлов в /home/user/home/user/data
. Если tar
не удалил начальные косые черты, файлы в /home/user/data
были бы перезаписаны.