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
.
С помощью логротата можно сжимать лог-файлы только по одному файлу за раз (это ограничение, и на практике это не является проблемой, IMHO), а по умолчанию используется gzip
, скорее всего, по историческим причинам, и он еще не изменился. Вы все еще можете использовать другой компрессор с командой compresscmd
. Дополнительную информацию смотрите на странице man logrotate(8).
В будущем, logrotate может иметь другое значение по умолчанию. Я полагаю, что сейчас лучший компрессор - это xz
, но он все еще довольно новый.
Если вы используете другое программное обеспечение для вращения лог-файлов, смотрите его документацию.
Архивация (группировка файлов в одну сущность) и сжатие обычно выполняются отдельными этапами под Unix.
Это дает большую гибкость, когда вы хотите манипулировать отдельными файлами (что не выиграет от архивирования) - подумайте о таких конвейерах, как gzip -cd mylog.gz | grep '^Oct.*error'
. Достичь того же с 7z
было бы неловко.¹
7z
(и zip
, и rar
, и arj
, и...) - это архиваторы, которые случайно сжимаются. Они не заменят традиционные gzip
, поскольку они не имеют той же цели.
gzip
быстрый, легкий в использовании, очень известный и установленный на большинстве Unix систем. Если вы ищете более мощный компрессор, выберите xz
. Он предлагает интерфейс командной строки, очень похожий на gzip
, но использует более или менее те же алгоритмы LZMA, что и 7z
, поэтому вы должны получить похожие коэффициенты сжатия.
1) Вышеуказанный конвейер настолько распространен, что вокруг инструментов gzip
существует много обёртки; опытный пользователь, вероятно, выбрал бы zgrep '^Oct.*error' mylog.gz
, чтобы сохранить несколько нажатий клавиш.