Есть tar архив. Из него нужно извлечь только один файл (весь архив оч. большой). В линуксе можно сделать так
tar -x <file> -O -f arhcive.tar
При попытке выполнить такую же комманду на FreeBSD 6.2
tar: Error openning archive: Failed to open '/dev/sa0': no such file or directory
заранее спасибо!
Извлечь конкретный файл из tar архива (FreeBSD ) (в линуксе tar -x some_file -f archive.tar)
Модератор: arachnid
-
Thug
- Сообщения: 200
Re: Извлечь конкретный файл из tar архива (FreeBSD )
1)mc рулит 
2)полную команду можно? Похоже ошибка в написании просто...
2)полную команду можно? Похоже ошибка в написании просто...
Страйкбол - игра админов :)
-
innkeeper
- Сообщения: 110
Re: Извлечь конкретный файл из tar архива (FreeBSD )
mc тут не поможет. Это комманда используется в автоматизированном скрипте.
В скрипте вообще
gzip -d -c $1 | tar -O -x .PKG/deps (где $1 это tar.gz файл)
Например tar в OpenSolaris не может извлекать файлы напрямую из tar.gz поэтому надо использовать предварительно c gz. Задача сделать скрипт максимально портабельным с gnu утилитами (сейчас это наиболее быстрый и более менее надёжный способ в плане отладки для поставленной задачи)
В скрипте вообще
gzip -d -c $1 | tar -O -x .PKG/deps (где $1 это tar.gz файл)
Например tar в OpenSolaris не может извлекать файлы напрямую из tar.gz поэтому надо использовать предварительно c gz. Задача сделать скрипт максимально портабельным с gnu утилитами (сейчас это наиболее быстрый и более менее надёжный способ в плане отладки для поставленной задачи)
-
Jay
- Сообщения: 57
- ОС: FreeBSD, Kubuntu Linux
Re: Извлечь конкретный файл из tar архива (FreeBSD )
tar -x <file> -O -f arhcive.tar
man tar от FreeBSD читать не пробовали?
Попробуйте так:
Код: Выделить всё
tar -xOf archive.tar <file>Только имейте в виду, что <file> - это полный путь от корня архива до файла.
Если у вас упакован каталог, то надо указать путь "каталог/файл".
FreeBSD 6.2-REL, Kubuntu 6.06
pdaXrom r198 на Sharp Zaurus C1000
pdaXrom r198 на Sharp Zaurus C1000
-
innkeeper
- Сообщения: 110
Re: Извлечь конкретный файл из tar архива (FreeBSD )
Да читал я man, вот только почему-то первые 5 строк пропускал сразу =))))) Вообще если так посмотреть.. то это ж кошмар как у tar глючит перестановка аргументов.
Спасибо большое!
Спасибо большое!
-
Jay
- Сообщения: 57
- ОС: FreeBSD, Kubuntu Linux
Re: Извлечь конкретный файл из tar архива (FreeBSD )
Основная проблема, что их (реализаций tar'ов) так много 
А насчет аргументов все просто.
После опции -f должно идти имя архива.
Опция -x указывает, что выполняется извлечение из архива.
Опция -О выдает результат извлечения на stdout.
Соответственно, шаблон имени файла для извлечения если и может где-то быть, то только после всех опций
Поэтому ваша конструкция
вполне будет работать в таком виде:
Я просто написал все ключи в кучу
А насчет аргументов все просто.
После опции -f должно идти имя архива.
Опция -x указывает, что выполняется извлечение из архива.
Опция -О выдает результат извлечения на stdout.
Соответственно, шаблон имени файла для извлечения если и может где-то быть, то только после всех опций
Поэтому ваша конструкция
tar -x <file> -O -f arhcive.tar
вполне будет работать в таком виде:
Код: Выделить всё
tar -x -O -f arhcive.tar <file>Я просто написал все ключи в кучу
FreeBSD 6.2-REL, Kubuntu 6.06
pdaXrom r198 на Sharp Zaurus C1000
pdaXrom r198 на Sharp Zaurus C1000