файлы tar из другого каталога, не копируя их

Я не думаю, что когда-либо получал ту установку/обновление Nvidia, но здесь:

# To stop:
sudo init 3
# To resume:
sudo init 5

Хотя я не на 100% уверен, что это будет работать над Ubuntu, IIRC, они переехали от init. На Ubuntu попробуйте это (замените gdm kdm/slim/whatever менеджером по оформлению, которого Вы используете):

# To stop:
sudo service gdm stop
# To start:
sudo service gdm start

Я вполне уверен, который останавливает целое X сессий

Менее чисто Вы могли просто уничтожить их:

sudo killall /usr/bin/X

Но они могли бы повторно метать икру.

10
22.12.2012, 01:25
2 ответа

Вы хотите создать tar, подпиливают от места файлы, которые необходимо смолить, находятся?

Существует много способов сделать это.

Если это должно быть создано локально (= на той же машине):

tar czvf /path/to/destination/newfile.tar.gz  ./SOURCEDIR_OR_FILES

Можно добавить дополнительные файлы или каталоги к tar в конце той команды.

Если это должно быть создано удаленно (т.е., Вы хотите создать файл tar на удаленном хосте от того, содержащего данные, которые будут определены вес):

tar czvf - ./SOURCEDIR_OR_FILES | ssh user@host 'cat > newfile.tar.gz'

Более поздняя версия очень универсальна. Например, можно также "копировать" каталог + subdirs использование той же техники:

Копируйте directory+subdirs к другому локальному каталогу:

tar cf - ./SOURCEDIR_OR_FILES | ( cd LOCAL_DEST_DIR && tar xvf - )

Копируйте directory+subdirs к другому удаленному каталогу:

tar cvf - ./SOURCEDIR_OR_FILES | ssh user@host 'cd REMOTE_DEST_DIR && tar xf - '

Отбросьте 'v', если Вам не нужен он к дисплейным файлам, поскольку они определены вес (или непросмоленные): это затем пойдет намного быстрее, но не скажет многое, если не будет ошибка.

Я использую "./...", чтобы источник вынудил tar сохранить его как ОТНОСИТЕЛЬНЫЙ ПУТЬ. В некоторых случаях Вы захотите добавить дополнительную информацию о пути:

Например, чтобы смолить crontab файлы, включая тот в / и т.д., Вы могли сделать:

cd / ; tar czf all_crons.tgz  ./etc/*cron*  ./var/spool/cron

Я использую нарочно относительный путь: некоторые СТАРЫЕ версии tar могут быть опасными и извлечь файлы со своим исходным ГЛОБАЛЬНЫМ путем, означая, что Вы могли сделать: cd /safedir ; tar xvf sometar и имейте файлы с глобальными файлами перезаписи имен в их первоначальном тракте, который является ЗА ПРЕДЕЛАМИ/safedir и не под ним! Очень опасный, и все еще возможный как там существуют старые рабочие серверы. Лучше, чтобы использоваться для использования относительных путей все время, даже если Вы используете более свежий tar.

5
27.01.2020, 20:03
  • 1
    другой не о различиях между смолами: на некоторых Вы, возможно, должны использовать -cvf вместо cvf, другие не распознают - стиль. И z используемый для значения "сжатия со 'сжатием'" но на 'недавнем' tar это означает "сжатие с gzip". Можно знать, с которым сжатие используется на файле: file zefile . И затем переименуйте его соответственно (если Ваше использование tar compress, это должно лучше быть переименовано в .tar. Z не .tar.gz) –  Olivier Dulac 21.12.2012, 16:14

Используйте -h опция tar. Из страницы справочника:

-h, --dereference
don't archive symlinks; archive the files they point to

таким образом, можно использовать tar -zcvfh data-folder.tar.gz /opt/data-folder

0
27.01.2020, 20:03
  • 1
    Ohh я должен был упомянуть это, я уже, попробовал tar-zcvfh ~/data-folder.tar.gz/opt/data-folder. Я вхожу в некоторую круговую проблему архива. Я продолжаю копировать некоторые файлы и никогда не заканчиваюсь. –  Kamath 21.12.2012, 14:40
  • 2
    Похож существует круговая символьная ссылка в sub папке данных. –  Kamath 21.12.2012, 14:59
  • 3
    @AUZKamath, это - ошибка в tar GNU. Можно хотеть попробовать bsdtar вместо этого, или pax (cd /opt && pax -Lw data-folder | gzip > ~/data-folder.tar.gz) который обнаружил бы циклы –  Stéphane Chazelas 21.12.2012, 15:02
  • 4
    @AUZKamath, можно одновременно смолить и удалить файлы из использования корневого каталога tar -rf <tarfilename> <filename> добавить к существующему файлу tar. –  harish.venkat 21.12.2012, 15:13
  • 5
    @Stephane Chazelas, это работает, необходимо поднять его как ответ. –  Kamath 21.12.2012, 15:41

Теги

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