tar: знищити повідомлення про помилку: 'tar: Видалення ведучого `/' з імен учасників '


16

Я запускаю це з кронштейна:

tar -czvf /var/backups/svn.tgz /var/svn/*

Це породжує це на stderr:

tar: Removing leading `/' from member names

Я хотів би цього уникнути, оскільки це не справжня помилка (для мене!). Я хочу на stderr тільки те, про що я повинен хвилюватися?

Як я можу вбити це повідомлення?

У мене таке відчуття, що справа в тому, щоб використовувати варіант tar-C, але я не впевнений і не знаю як.

Дякую за допомогу,
Ден


Відповіді:


12

Ваші варіанти:

-P, --absolute-names : don't strip leading `/'s from file names

або

-C /

(і відносний шлях для того, щоб речі потрапляли в дьоготь) ... залежить від того, що ви хочете.

Приклад використання створення архіву tar, використовуючи параметр -C (таким чином видаляючи нахилену косу рису):

tar -czf /tmp/archive.tgz -C /etc .

2
Я не хочу -П. Я хочу -C, але я не можу змусити його працювати.
дан

5
Я дізнався це: tar -czvf /var/backups/svn.tgz -C / var / svn /
дан

Запозичення попередження щодо -P з іншого потоку: архіви з абсолютними місцями є ризиком для безпеки. Зловмисники можуть використовувати такі архіви, щоб обманути користувачів встановити файли у критичних системних місцях.
gmode

Архів з абсолютним розташуванням становить загрозу безпеці. Зловмисники можуть використовувати такі архіви, щоб обманути користувачів встановити файли у критичних системних місцях.
AB

0

Можна писати

# ( tar czvf tar.file /path 2>&1 ) >log.file

Повідомлення буде записано в log.file

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.