When files are zipped with the 16 bit PKZIP program, they are stored with
upper case names, and a flag indicating that they came from a legacy
operating system. On Unix, the unzip program has a
-L option that
will force to lower case all file names,
but only if they come from
an upper-case only filesystem. It is possible to end up with a
zip file with upper case letters that were generated on Unix. In this
case, it is not easy to force the names to lower case.
The way around this is to ftp the .zip file to a windows machine, pkunzip
the files, pkzip to a new .zip, ftp it back, then use unzip -L
to finally create the files with lower case names.
This technique can obviously also be used to change a set of filenames on
Unix to lower case, even if they are not in a zip file. Just zip the files
up, and perform the above sequence. So it then becomes
zip -> ftp -> pkunzip -> pkzip -> ftp -> unzip -L
Simple, huh?