Перезапись файлов при извлечении из архива tar

Я играю в OpenTTD. Доступны три версии, и я хочу иметь все три; стабильной, тестирующей и ночной. Я загрузил и скомпилировал исходный код для всех трех без проблем. Проблема в том, когда я хочу скомпилировать новую версию. Когда я извлекаю файл tar.xz в /usr/lib/games/openttd-trunk/, старые файлы не перезаписываются. Вместо этого создается новый каталог с именем openttd-trunk-r26175.

Есть ли способ извлечь файлы из архива непосредственно в /usr/lib/games/openttd-trunk/? Таким образом, я просто могу make без необходимости ./configure каждый раз.

EDIT: Не думаю, что я ясно дал понять, что архив имеет исходные файлы внутри одной папки с именем openttd-trunk-r26175 , То, что я хочу сделать, - извлечь все файлы из этой папки, но не сама папка.

1
задан 24 December 2013 в 19:20

2 ответа

Вы можете использовать аргумент --strip-components tar для удаления основных компонентов каталога и использовать параметр -C, чтобы указать целевое местоположение для результирующих файлов, например

tar xvf openttd-trunk.tar.xz --strip-components=1 -C /usr/lib/games/openttd-trunk/
1
ответ дан 24 May 2018 в 13:46
Не думаю, что я ясно дал понять, что архив имеет исходные файлы внутри одной папки с именем openttd-trunk-r26175. Я хочу, чтобы извлечь все файлы из этой папки, но не сама папка

Я думаю, вы можете попробовать экстрактор dtrx.

sudo apt-get install dtrx

In что ситуация, о которой вы упомянули dtrx, просит вас решить, что делать? Из его manpage:

Не думаю, что я ясно дал понять, что архив имеет исходные файлы внутри одной папки с именем openttd-trunk-r26175. Я хочу извлечь все файлы из этой папки, но не сама папка

          Extract the file/directory inside another directory named after the archive.  This is the default.

          Extract the file/directory in the current directory, and then rename it to match the name of the archive.

          Extract the file/directory in the current directory.

Обычно, если архив содержит только один файл или каталог с именем, которое не

dtrx -o --one rename openttd-trunk.tar.xz

У него также есть опция -o, чтобы перезаписать существующий каталог, если вы этого хотите. Итак, команда, в которой вы нуждаетесь, скорее всего:

0
ответ дан 24 May 2018 в 13:46

Другие вопросы по тегам:

Похожие вопросы: