Tar на самом деле сжимает файлы или просто собирает в группу их?

Когда systemd единица перестала работать, существует несколько вещей, которые можно сделать. journalctl -u [unit-name] покажет, что Вы все производите сгенерированный той единицей. Может также быть полезно работать journalctl -f при остановке и запуске сервиса.

Много файлов единицы, которые идут с systemd, имеют связанную страницу справочника. Попробовать man [unit-name]. Кроме того, файлы единицы могут указать на свою собственную документацию. Оба systemd-bnfmt.service страница справочника и эти два вывода состояния указывают на binfmt_misc.txt. Тот документ имеет большую информацию о регистрирующихся интерпретаторах для двоичных файлов. Если просмотр журнала не приводит ни к какой полезной информации, я посмотрел бы на конфигурацию в binfmt.d и вручную зарегистрировал бы интерпретаторы и видел бы то, что происходит.

37
30.04.2014, 00:29
4 ответа

Tar - это инструмент архивирования (Tape ARchive), он только собирает файлы и их метаданные вместе и создает один файл. Если вы хотите сжать этот файл позже, вы можете использовать gzip / bzip2 / xz. Для удобства tar предоставляет аргументы для автоматического сжатия архива. Посетите страницу руководства tar для получения более подробной информации.

49
27.01.2020, 19:36

утилита tar не сжимается до тех пор, пока вы не дадите для этого аргумент [имя файла tar -z].

.
1
27.01.2020, 19:36

Оригинальная команда tar в UNIX не сжимала архивы. Как было упомянуто в одном из комментариев, Solaris tar не сжимает. Также как и HP-UX, и AIX, FWIW. По соглашению, несжатые архивы заканчиваются .tar.

В GNU/Linux вы получаете GNU tar. (Вы можете установить GNU tar на другие системы UNIX.) По умолчанию он не сжимает; однако он сжимает полученный архив с помощью gzip (также созданного GNU), если вы поставите -z. Обычный суффикс для gzip-файлов - .gz, поэтому часто встречаются tarballs (жаргонное обозначение архива tar, обычно подразумевающее, что он был сжат), которые заканчиваются .tar.gz. Такое окончание означает, что был запущен tar, а затем gzip, например, tar cf - .|gzip -9v > archive.tar.gz. Вы также найдете архивы, заканчивающиеся на .tgz, например, tar czf archive.tgz . .

Редактировать: www.linfo.org/tar.html напомнил мне, что GNU tar поддерживает гораздо больше функций, чем просто сжатие с помощью gzip, и напомнил мне, что суффиксы - это не просто условности. Они имеют встроенную семантику. Он также поддерживает bzip2 (-j для .bz2) и старый compress (-Z для .Z). Затем я заглянул на страницу man и вспомнил, что -a автоматически определяет желаемый метод сжатия на основе суффикса.

Еще одно замечание. Как сказано на странице Linux tar man page, GNU выпускает информационные страницы, а не man pages, поэтому, чтобы узнать все о GNU tar, запустите info tar.

2
27.01.2020, 19:36

tar создает архивы; сжатие - это отдельная функция. Однако tar сам по себе может уменьшить использование пространства при использовании большого количества маленьких файлов, размер которых меньше размера кластера файловой системы. Если файловая система использует кластеры размером 1 кб, то даже файл, содержащий один байт, будет занимать 1 кб (плюс inode). Архив tar не имеет таких накладных расходов.

BTW, ISO-файл на самом деле не является "файлом для хранения файлов" - это образ целой файловой системы (изначально разработанной для использования на компакт-дисках), и поэтому его структура значительно сложнее.

18
27.01.2020, 19:36

Теги

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