tar, избегая сжатия файлов определенных типов

Вам необходимо запустить depmod .

depmod (по умолчанию) считывает модули из каталога / lib / modules / $ (uname -r) , находит, какие символы они экспортируют, а также то, что им нужно, а затем с помощью этой информации создает символ (модуль) зависимости между модулями и сохраняет его в файле / lib / modules / $ (uname -r) /modules.dep , а также создает двоичный хэш / lib / modules / $ (uname -r) /modules.dep.bin .

Он также создает два других файла:

  • / lib / modules / $ (uname -r) /modules.symbols (и его двоичный хэш / lib / modules / $ (uname -r) /modules.dep.bin): содержит символы, которые каждый модуль экспортирует

  • / lib / modules / $ (uname -r) /modules.devname : содержит запись / dev который необходимо создать для необходимых модулей, содержит имя модуля, имя записи / dev и старшие, второстепенные номера

Обратите внимание, вы также можете запустить depmod для конкретной версии ядра или конкретного модуля проверьте man depmod .

2
11.05.2016, 11:55
2 ответа

tar сам по себе не имеет этой функции, вы можете только отфильтровать его, чтобы получить два независимых файла tar, один из которых содержит сжатый файлов, другой для несжатых файлов. Это может быть достигнуто с помощью упомянутой вами опции исключения tar или путем создания списков файлов с помощью find .

Если вы открыты для альтернатив существует dar (дисковый архив), который может решить, сжимать или нет для каждого файла отдельно ( -Z, --exclude-сжатие <маска> опция). Он также может восстанавливать отдельные файлы в архиве, не распаковывая всю партию (пока файл не будет найден), например tar .

Большинство людей просто игнорируют эту проблему в целом и вместе mpress все файлы независимо. С быстрым алгоритмом сжатия это не имеет большого значения. Сильное сжатие требует на порядок больше процессорного времени при незначительном уменьшении размера (ymmv, во многом зависит от данных). Если это архив, который будет загружаться много раз, сильное сжатие того стоит, в противном случае - нет.

5
27.01.2020, 21:52

Я не знаю никакого способа сделать это даже с GNU tar .

tar собирает файлы и затем сжимает полученный поток (на самом деле это эквивалент tar ... | gzip> somefile.tgz , поэтому к моменту применения сжатия нет информации отдельных файлов.

2
27.01.2020, 21:52

Теги

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