Архиватор zip разных версий по-разному ведет себя со скрытыми файлами и директориями (тех, у которых имя начнается на точку). И даже архиватор одной и той же версии может по разному обрабатывать такие файлы и директории в зависимости от настроек. Проблема в том, что в некоторых системах символ маски "*" означает любую последовательность значимых символов, а в других добавляется "за исключением символа точки". Возможно, это связано с версией bash, настройками bash или версией ядра.
Другими словами, на некоторых Linux-системах следующая команда упаковки текущего каталога не поместит в архив файлы и подкаталоги, имя которых начинается на точку:
zip -r zipFileName *
За этим всегда надо следить и проверять содержимое созданных файлов.
Как же заставить zip упаковывать dot-файлы в архив? Можно воспользоваться следующим лайфхаком: указать для архивации не все файлы/каталоги в текущей директории через маску, а саму текущую директорию. Вот так:
zip -r zipFileName ./
В этом случае выборка файлов по маске не используется. И все файлы попадают в архив. Причем структура архива точно такая же как и в первом варианте, файлы располагаются точно так же, только добавляются еще и dot-файлы.