Почему серверы не используют 7z?

ls -l в папке пытается stat ее содержимое, тогда как ls нет:

$ strace ls folder -l
...
lstat("folder/innerFolder", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
getxattr("folder/innerFolder", "system.posix_acl_access", 0x0, 0) = -1 ENODATA (No data available)
getxattr("folder/innerFolder", "system.posix_acl_default", 0x0, 0) = -1 ENODATA (No data available)
lstat("folder/innerFile", {st_mode=S_IFDIR|0755, st_size=40, ...}) = 0
getxattr("folder/innerFile", "system.posix_acl_access", 0x0, 0) = -1 ENODATA (No data available)
getxattr("folder/innerFile", "system.posix_acl_default", 0x0, 0) = -1 ENODATA (No data available)
...

Поэтому вы получаете "разрешение отказано" с ls -l, а не с ls.

0
02.09.2014, 09:54
2 ответа

С помощью логротата можно сжимать лог-файлы только по одному файлу за раз (это ограничение, и на практике это не является проблемой, IMHO), а по умолчанию используется gzip, скорее всего, по историческим причинам, и он еще не изменился. Вы все еще можете использовать другой компрессор с командой compresscmd. Дополнительную информацию смотрите на странице man logrotate(8).

В будущем, logrotate может иметь другое значение по умолчанию. Я полагаю, что сейчас лучший компрессор - это xz, но он все еще довольно новый.

Если вы используете другое программное обеспечение для вращения лог-файлов, смотрите его документацию.

0
28.01.2020, 02:17

Архивация (группировка файлов в одну сущность) и сжатие обычно выполняются отдельными этапами под Unix.

Это дает большую гибкость, когда вы хотите манипулировать отдельными файлами (что не выиграет от архивирования) - подумайте о таких конвейерах, как gzip -cd mylog.gz | grep '^Oct.*error'. Достичь того же с 7z было бы неловко.¹

7zzip, и rar, и arj, и...) - это архиваторы, которые случайно сжимаются. Они не заменят традиционные gzip, поскольку они не имеют той же цели.

gzip быстрый, легкий в использовании, очень известный и установленный на большинстве Unix систем. Если вы ищете более мощный компрессор, выберите xz. Он предлагает интерфейс командной строки, очень похожий на gzip, но использует более или менее те же алгоритмы LZMA, что и 7z, поэтому вы должны получить похожие коэффициенты сжатия.


1) Вышеуказанный конвейер настолько распространен, что вокруг инструментов gzip существует много обёртки; опытный пользователь, вероятно, выбрал бы zgrep '^Oct.*error' mylog.gz, чтобы сохранить несколько нажатий клавиш.

5
28.01.2020, 02:17

Теги

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