Процессор Intel® Core™ i5-2520M (двухъядерный, 2.50 ГГц, Кэш 3 МБ),
i5-2520M имеет 2 ядра + hyper поточная обработка для в общей сложности 4 ядер, замеченных системой.
с GNU TAR, вы можете использовать эту команду:
tar --transform="s|/|/abc/|" -Pcf bar.tar /
в противном случае, вот портативный способ сделать это, то есть тот, который не полагается на GNU или другое определенное расширение TAR, а основан на инструменте POSIX, который должен быть доступен на любой машине совместимости Unix:
pax -w -s '/\//\/abc\//' -f foo.tar /
Самое близкое, которое я могу найти - это опция - преобразование
. Я точно не знаю, но я предполагаю, что это только GNU FLAG:
--transform, --xform EXPRESSION
use sed replace EXPRESSION to transform file names
Используя это, вы можете пройти команду SED
, и изменить /
, чтобы / abc
:
tar cf root.tgz --transform 's/^\//\/abc/' /
Это все равно печатает /
Путей при создании архива, но они станут / abc
, когда вы его извлекаете.
Другой подход, если ваша TAR
не имеет возможности - преобразование
- это сделать / abc
SymLink, указывая на /
а затем смола, что:
$ ln -s / /abc
$ tar chf root.tgz /abc
-H
имеет важное значение, как то, что говорит TAR
, чтобы следовать ссылкам:
-h, --dereference
follow symlinks; archive and dump the files they point to
, которые будут иметь эффект настройки / ABC
как каталог верхнего уровня.
Вот как я это сделал, что работает для тарирования из любого места (, а не только /):
tar --transform 's|^|/abc/|' -zcvf /path/to/dest.tgz *
Он просто добавляет /abc/
к началу каждого пути.