день добрый:
есть 2 проблемы с TAR'ом, a в мане чето не найду на ету тему ничего:
- как добавить файл в TAR-арxив так, чтобы путь в архиве отличался от оригинального, или добавить файл и изменить его имя?
- и как передать TAR'у (добавить в арxив) содержимое через pipe и сказать под каким именем ето соxранить?
спасибоPS: на тему а зачем:
мне нужен пакет, с содержимым с одной твердой структурой, а файлы лежат иначе, тасовать файлы могу только в арxиве, т.к. возможно одновременное выполнение нескольких таких процессов. (а имя арxива уникально)
> - как добавить файл в TAR-арxив так, чтобы путь в
>архиве отличался от оригинального, или добавить файл и изменить его имя?Можно сделать следующим образом: перед закидыванием файла в архив создать путь как в архиве и в нем создать симлинк на нужный файл с нужным именем, затем закинуть этот файл(симлинк) в архив добавив опцию -h (дереференсинг ссылки). Можно вместо симлинка использовать обычный линк, тогда и опция не нужна, но обычный линк прокатит если этот промежуточный путь в той же файловой системе что и файл.
> - и как передать TAR'у (добавить в арxив) содержимое через
>pipe и сказать под каким именем ето соxранить?Не знаю, я бы через параметры ком. строки сделал..
большое спасибо за ваш ответ.
про опцию -h я не знал, сейчас пишу скрипт, который имено так и делает, как и вы предложили (однако с хардлинками).
про pipe я тоже ничего не придумал.
решил обойти проблему тем, что создаю временный файл "bla-bla-bla" (имя конечно тоже уникально), а в скрипте делаю:mv "bla-bla-bla" <my_default_file_name>
все необходимые данные передаю, с точностью как вы говорите, через командную строку, которую "чистенько" парсю.
наверное не совсем елегантно, но ничего лучшего пока нет.
спасибо.
еще раз спасибо за участие, все - script работает (по крайней мере с одной сессией).
все иду домой спать