GZip не дает такого же результата при сжатии на macOS и Linux

rmadisonможет одновременно искать пакеты Debian и Ubuntu, а также искать пакеты как в End Of Life (12.04 ), так и в невыпущенных (18.10 )версиях Ubuntu. Это замечательные функции, но rmadison не может выполнять частичный поиск по ключевым словам на моем компьютере. Иногда я не могу вспомнить полное имя пакета, который я ищу. Я могу вспомнить только часть, и следующие инструкции также работают в этой ситуации. В противном случае используйте rmadison, который можно установить с помощью команды sudo apt-get install devscriptsв Ubuntu и Debian.

  1. Создайте сценарий оболочки для запроса существования нескольких пакетов с именем. Откройте -несколько -URL-адресов -в -Firefox.sh. Скрипт содержит следующий код:

    #!/bin/bash
    while read line; do
        firefox --new-tab "https://packages.ubuntu.com/$line"
    done < packages.txt
    
  2. Сделать скрипт исполняемым.

    chmod +x Open-multiple-URLs-in-Firefox.sh
    
  3. Создайте файл с именем packages.txt, содержащий имена всех необходимых пакетов зависимостей, каждый пакет в отдельной строке. Сохраните packages.txt в том же каталоге, что и откройте -несколько -URL-адресов -в -Firefox.sh.

  4. Запустите сценарий.

    ./Open-multiple-URLs-in-Firefox.sh  
    

Веб-страница с информацией о каждом требуемом пакете зависимостей откроется в отдельной вкладке в Firefox.

Для поиска нескольких пакетов в Debian замените https://packages.ubuntu.com/в сценарии оболочки наhttps://packages.debian.org/search?keywords=


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

firefox --new-tab https://packages.ubuntu.com/first-package https://packages.ubuntu.com/next-package https://packages.ubuntu.com/last-package

31
03.03.2020, 00:05
4 ответа

Обратите внимание, что алгоритм сжатия (Deflate )в GZip не является строго биективным. Для уточнения :Для некоторых данных существует более одного возможного сжатого вывода в зависимости от алгоритмической реализации и используемых параметров. Таким образом, нет никакой гарантии, что Apple GZip и gzip 1.6 вернут один и тот же сжатый вывод. Все эти выходные данные являются действительными потоками GZip, стандарт просто гарантирует, что каждый из этих возможных выходных данных будет распакован в одни и те же исходные данные.

57
28.04.2021, 23:21

Формат должен быть очень стабильным, но см. его описание . Он содержит поле для идентификатора операционной системы. Очевидно, что это будет отличаться для MacOS, Linux, FreeBSD и...

17
28.04.2021, 23:21

Формат Gzip является стандартным, реализация -не обязательна. В Википедии есть как минимум 5 бесплатных/независимых реализаций, а также проприетарные. Apple явно выводит другую строку версии.

Формат и алгоритм обеспечивают большую свободу и множество вариантов дизайна, которые либо зависят от вкуса, либо лучше работают в разных случаях использования.

См. Zip-файлы :История, объяснение и реализация

Обычно я ожидаю, что результаты будут одинаковыми в разных реализациях только для небольшого процента небольших -файлов ish.

10
28.04.2021, 23:21

Вы уверены, что файлы до сжатия идентичны? Некоторые VCS проверяют текстовые файлы по-разному, используя UTF8 или нет, символы новой строки Windows или Linux,...

Запустите команду SHA -для исходных файлов, чтобы проверить, делаете ли вы то же самое.

Возможно, попробуйте уровень сжатия 0, чтобы убедиться, что он работает правильно.

Найдите несколько простых файлов, которые вы можете разместить здесь и которые кодируются по-разному в обеих системах.

Правильно ли распаковываются файлы в обеих системах? Запустите команду SHA -еще раз.

И всегда спрашивайте себя :имеет ли это значение?:)

0
28.04.2021, 23:21

Теги

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