Archiving and compression: Difference between revisions
(→Archiving and compression: Add unace tool) |
m (→Garbled Japanese Filenames: style) |
||
(20 intermediate revisions by 7 users not shown) | |||
Line 22: | Line 22: | ||
| GNU [[Wikipedia:tar (computing)|tar]] || {{Pkg|tar}} || {{man|1|tar}}, [https://www.gnu.org/software/tar/manual/html_chapter/index.html info] || [[Core utility]] for manipulating the ubiquitous tar archives (tarballs), which are used by [[pacman]] and the [[AUR]]. | | GNU [[Wikipedia:tar (computing)|tar]] || {{Pkg|tar}} || {{man|1|tar}}, [https://www.gnu.org/software/tar/manual/html_chapter/index.html info] || [[Core utility]] for manipulating the ubiquitous tar archives (tarballs), which are used by [[pacman]] and the [[AUR]]. | ||
|- | |- | ||
| [ | | [[Wikipedia:libarchive|libarchive]] || {{Pkg|libarchive}} || {{man|1|bsdtar}}<br>{{man|1|bsdcpio}} || Implementation of ''tar'' and ''cpio'' that also offers a library. Used by [[pacman]] and [[mkinitcpio]]. | ||
|- | |- | ||
| [[Wikipedia:ar (Unix)|ar]] || {{Pkg|binutils}} || {{man|1|ar}}|| Legacy Unix archiver before ''tar''. Today only used for creating [[Wikipedia:Static library|static library]] files. | | [[Wikipedia:ar (Unix)|ar]] || {{Pkg|binutils}} || {{man|1|ar}}|| Legacy Unix archiver before ''tar''. Today only used for creating [[Wikipedia:Static library|static library]] files. | ||
Line 28: | Line 28: | ||
| [[Wikipedia:cpio|cpio]] || {{Pkg|cpio}} || {{man|1|cpio}} || File archiver via stdin/stdout, supports cpio and tar formats. | | [[Wikipedia:cpio|cpio]] || {{Pkg|cpio}} || {{man|1|cpio}} || File archiver via stdin/stdout, supports cpio and tar formats. | ||
|- | |- | ||
| [ | | [[Wikipedia:Dar (disk archiver)|DAR]] || {{AUR|dar}} || {{man|1|dar|url=http://dar.linux.free.fr/doc/man/dar.html}} || Archiver to backup large live filesystems, takes care of hard links, [[extended attributes]], sparse files and inode types. | ||
|} | |} | ||
Line 48: | Line 48: | ||
| bzip3 || {{Pkg|bzip3}} || {{man|1|bzip3}} || .bz3 || .tbz3 || Uses the [[Wikipedia:Burrows–Wheeler transform|Burrows–Wheeler algorithm]].|| | | bzip3 || {{Pkg|bzip3}} || {{man|1|bzip3}} || .bz3 || .tbz3 || Uses the [[Wikipedia:Burrows–Wheeler transform|Burrows–Wheeler algorithm]].|| | ||
|- | |- | ||
| [[Wikipedia:gzip|gzip]] || {{Pkg|gzip}} || {{man|1|gzip}} || .gz, .z|| .tgz, .taz|| GNU zip, based on [[Wikipedia:DEFLATE|DEFLATE]] algorithm.|| {{Pkg|pigz}}, {{man|1|bgzip|url=https://manpages.debian.org/ | | [[Wikipedia:gzip|gzip]] || {{Pkg|gzip}} || {{man|1|gzip}} || .gz, .z|| .tgz, .taz|| GNU zip, based on [[Wikipedia:DEFLATE|DEFLATE]] algorithm.|| {{Pkg|pigz}}, {{man|1|bgzip|url=https://manpages.debian.org/latest/tabix/bgzip.1.en.html}} (part of {{aur|htslib}}), {{aur|crabz}}, {{aur|python-rapidgzip}} | ||
|- | |- | ||
| [[lrzip]] || {{Pkg|lrzip}} || {{man|1|lrzip}} || .lrz || || Improved version of [[Wikipedia:rzip|rzip]], uses multiple algorithms. || | | [[lrzip]] || {{Pkg|lrzip}} || {{man|1|lrzip}} || .lrz || || Improved version of [[Wikipedia:rzip|rzip]], uses multiple algorithms. || Is multithreaded by default | ||
|- | |- | ||
| [[Wikipedia:LZ4 (compression algorithm)|LZ4]] || {{Pkg|lz4}} || {{man|1|lz4}} || .lz4 || || Written in C, focused on compression and decompression speed. || Can be multithreaded, though the {{Pkg|lz4}} is not. See https://lz4. | | [[Wikipedia:LZ4 (compression algorithm)|LZ4]] || {{Pkg|lz4}} || {{man|1|lz4}} || .lz4 || || Written in C, focused on compression and decompression speed. || Can be multithreaded, though the {{Pkg|lz4}} [https://github.com/lz4/lz4/issues/1334 is not]. See https://lz4.org/ for alternatives. | ||
|- | |- | ||
| [[Wikipedia:lzip|lzip]] || {{Pkg|lzip}} || {{man|1|lzip}} || .lz || || Uses [[Wikipedia:LZMA|LZMA]]. || {{AUR|plzip}} | | [[Wikipedia:lzip|lzip]] || {{Pkg|lzip}} || {{man|1|lzip}} || .lz || || Uses [[Wikipedia:LZMA|LZMA]]. || {{AUR|plzip}} | ||
Line 58: | Line 58: | ||
| [[Wikipedia:lzop|lzop]] || {{Pkg|lzop}} || {{man|1|lzop}} || .lzo || .tzo || Uses the [[Wikipedia:Lempel–Ziv–Oberhumer|LZO]] library ({{Pkg|lzo}}).|| | | [[Wikipedia:lzop|lzop]] || {{Pkg|lzop}} || {{man|1|lzop}} || .lzo || .tzo || Uses the [[Wikipedia:Lempel–Ziv–Oberhumer|LZO]] library ({{Pkg|lzo}}).|| | ||
|- | |- | ||
| [[Wikipedia:XZ Utils|xz]] || {{Pkg|xz}} || {{man|1|xz}} || .xz, .lzma || .txz, .tlz|| Uses [[Wikipedia: | | [[Wikipedia:XZ Utils|xz]] || {{Pkg|xz}} || {{man|1|xz}} || .xz, .lzma || .txz, .tlz|| Uses [[Wikipedia:LZMA2|LZMA2]]. Default for GNU {{Pkg|coreutils}} and kernel archive files.|| Is multithreaded by default. An alternative is {{Pkg|pixz}}. | ||
|- | |- | ||
| [[Wikipedia:zstd|zstd]] || {{Pkg|zstd}} || {{man|1|zstd}} || .zst || || Uses [[Wikipedia:Zstandard|Zstandard]] algorithm. || is multithreaded | | [[Wikipedia:zstd|zstd]] || {{Pkg|zstd}} || {{man|1|zstd}} || .zst || || Uses [[Wikipedia:Zstandard|Zstandard]] algorithm. || is multithreaded | ||
Line 75: | Line 75: | ||
| [[p7zip]] || {{Pkg|p7zip}} || {{man|1|7z}} ||rowspan=2| .7z || The third-party POSIX port of [[Wikipedia:7-Zip|7-zip's]] command-line. | | [[p7zip]] || {{Pkg|p7zip}} || {{man|1|7z}} ||rowspan=2| .7z || The third-party POSIX port of [[Wikipedia:7-Zip|7-zip's]] command-line. | ||
|- | |- | ||
| [ | | [[Wikipedia:7-Zip|7-Zip]] || {{AUR|7-zip}}, {{AUR|7-zip-full}} || [https://7-zip.opensource.jp/chm/cmdline/index.htm Official manual] || The upstream Linux version of a file archiver with a high compression ratio. | ||
|- | |- | ||
| [[Wikipedia:RAR (file format)|RAR]] || {{AUR|rar}}, {{Pkg|unrar}} || {{man|1|rar|url=https://manned.org/rar.1}} || .rar || Both the format and the [[rar]] utility are proprietary. | | [[Wikipedia:RAR (file format)|RAR]] || {{AUR|rar}}, {{Pkg|unrar}} || {{man|1|rar|url=https://manned.org/rar.1}} || .rar || Both the format and the [[rar]] utility are proprietary. | ||
Line 81: | Line 81: | ||
|[https://github.com/martinellimarco/t2sz t2sz]||{{aur|t2sz}}|| || .tar.zst .tzst || Tar archiving utility in C with member-aligned zstd-compression | |[https://github.com/martinellimarco/t2sz t2sz]||{{aur|t2sz}}|| || .tar.zst .tzst || Tar archiving utility in C with member-aligned zstd-compression | ||
|- | |- | ||
|[https://lzip.nongnu.org/tarlz.html tarlz]|| {{aur|tarlz}} || {{man|1|tarlz|url=https://manpages.debian.org/ | |[https://lzip.nongnu.org/tarlz.html tarlz]|| {{aur|tarlz}} || {{man|1|tarlz|url=https://manpages.debian.org/latest/tarlz/tarlz.1.en.html}} || .tar.lz .tlz || Tar archiving utility in C++ with member-aligned lzip compression | ||
|- | |- | ||
| [[Wikipedia:Zip (file format)|ZIP]] || {{Pkg|zip}}, {{Pkg|unzip}} || {{man|1|zip}}, {{man|1|unzip}} || .zip || Widely used outside of the Linux world. | | [[Wikipedia:Zip (file format)|ZIP]] || {{Pkg|zip}}, {{Pkg|unzip}} || {{man|1|zip}}, {{man|1|unzip}} || .zip || Widely used outside of the Linux world. | ||
|- | |- | ||
| [ | | [[Wikipedia:The Unarchiver|Unarchiver]] || {{Pkg|unarchiver}} || {{man|1|unar}}, {{man|1|lsar}} || ''many'' || Command-line tool of a Mac application, supports over 40 archive formats. | ||
|- | |- | ||
| [[Wikipedia:ZPAQ|ZPAQ]] || {{AUR|zpaq}} || {{man|1|zpaq|url= | | [[Wikipedia:ZPAQ|ZPAQ]] || {{AUR|zpaq}} || {{man|1|zpaq|url=https://mattmahoney.net/dc/zpaqdoc.html}} || .zpaq || A high compression ratio archiver written in C++, uses several algorithms. | ||
|- | |- | ||
| [[Wikipedia:LHA (file format)|LHa]] || {{Pkg|lhasa}}, {{AUR|lha}} || {{man|1|lha}} || .lzh (on Amiga: .lha) || LZH/LHA archiver, supports the lh7-method. | | [[Wikipedia:LHA (file format)|LHa]] || {{Pkg|lhasa}}, {{AUR|lha}} || {{man|1|lha}} || .lzh (on Amiga: .lha) || LZH/LHA archiver, supports the lh7-method. | ||
|- | |- | ||
| [[ | | [[Wikipedia:WinAce|WinAce]] || {{Pkg|unace}} || {{man|1|unace|url=https://manned.org/unace.1}} || .ace || Both the [[W:ACE (compressed file format)|ACE]] file format and the archiving tool are proprietary. | ||
|} | |} | ||
Line 138: | Line 138: | ||
|- | |- | ||
| {{man|1|xz}} || {{ic|xz file}} || {{ic|xz -d file.xz}} || {{ic|xzcat file.xz}} | | {{man|1|xz}} || {{ic|xz file}} || {{ic|xz -d file.xz}} || {{ic|xzcat file.xz}} | ||
|- | |||
| {{man|1|zstd}} || {{ic|zstd file}} || {{ic|zstd -d file.zst}} || {{ic|zstdcat file.zst}} | |||
|} | |} | ||
Line 159: | Line 161: | ||
* {{App|atool|Script for managing file archives of various types.|https://www.nongnu.org/atool/|{{Pkg|atool}}}} | * {{App|atool|Script for managing file archives of various types.|https://www.nongnu.org/atool/|{{Pkg|atool}}}} | ||
* {{App|dtrx|An intelligent archive extraction tool.|https://github.com/brettcs/dtrx|{{AUR|dtrx}}}} | * {{App|dtrx|An intelligent archive extraction tool.|https://github.com/brettcs/dtrx|{{AUR|dtrx}}}} | ||
* {{App|J7Z|GUI for Linux in java which attempts to simplify data compression and backup. It can create 7z, BZip2, Zip, GZip, Tar archives.|http://j7z.xavion.name | * {{App|J7Z|GUI for Linux in java which attempts to simplify data compression and backup. It can create 7z, BZip2, Zip, GZip, Tar archives.|http://j7z.xavion.name|{{AUR|j7z}}}} | ||
* {{App|ouch|A command line utility for easily compressing and decompressing files and directories|https://github.com/ouch-org/ouch|{{Pkg|ouch}}}} | |||
* {{App|unp|Command line tool that can unpack archives easily.|https://github.com/mitsuhiko/unp|{{AUR|python-unp}}}} | * {{App|unp|Command line tool that can unpack archives easily.|https://github.com/mitsuhiko/unp|{{AUR|python-unp}}}} | ||
* {{App|unpack|Wrapper script for handling multiple archive formats.|https://github.com/githaff/unpack|{{AUR|unpack-git}}}} | * {{App|unpack|Wrapper script for handling multiple archive formats.|https://github.com/githaff/unpack|{{AUR|unpack-git}}}} | ||
* {{App| | * {{App|patool|Allows various archive types to be created, extracted, tested, listed, compared, searched and repacked.|https://wummel.github.io/patool/|{{AUR|patool}}}} | ||
* [[Bash/Functions#Extract]] | * [[Bash/Functions#Extract]] | ||
Line 186: | Line 189: | ||
| [[Wikipedia:shar|shar]] || {{Pkg|sharutils}} || .shar || Creates self-extracting archives that are valid shell scripts. | | [[Wikipedia:shar|shar]] || {{Pkg|sharutils}} || .shar || Creates self-extracting archives that are valid shell scripts. | ||
|- | |- | ||
| [[Wikipedia: | | [[Wikipedia:Zoo (file format)|Zoo]] || {{AUR|zoo}} || .zoo || Was mostly popular on the [[Wikipedia:OpenVMS|OpenVMS]] operating system before PKZIP became popular. | ||
|} | |} | ||
Line 198: | Line 201: | ||
== Device mapper compression == | == Device mapper compression == | ||
There is work being done to mainline (integrate into the Linux kernel project) the open-sourced VDO project, which provides a deduplication and compression device mapper layer in the interest of increasing storage efficiency. The following packages are available: | |||
There is work being done to mainline (integrate into the Linux kernel project) the | |||
* {{App|vdo|Userspace tools for managing VDO volumes|https://github.com/dm-vdo/vdo|{{AUR|vdo}}}} | * {{App|vdo|Userspace tools for managing VDO volumes|https://github.com/dm-vdo/vdo|{{AUR|vdo}}}} | ||
Line 214: | Line 215: | ||
== Troubleshooting == | == Troubleshooting == | ||
=== Garbled Japanese | === Garbled Japanese file names === | ||
Japanese versions of Windows encode ZIP archives with Shift-JIS. By default, these archives will suffer from [[Wikipedia:mojibake|mojibake]] filenames when extracted. | Japanese versions of Windows encode ZIP archives with Shift-JIS. By default, these archives will suffer from [[Wikipedia:mojibake|mojibake]] filenames when extracted. | ||
Line 223: | Line 224: | ||
== See also == | == See also == | ||
* [[List of applications/Utilities# | * [[List of applications/Utilities#Archiving and compression tools]] | ||
* [[List of applications/Multimedia#Image compression]] | * [[List of applications/Multimedia#Image compression]] | ||
* [[Wikipedia:Comparison of file archivers]] | * [[Wikipedia:Comparison of file archivers]] | ||
* [[Wikipedia:List of archive formats]] | * [[Wikipedia:List of archive formats]] | ||
* [[Wikipedia:Comparison of archive formats]] | * [[Wikipedia:Comparison of archive formats]] |
Latest revision as of 09:03, 29 March 2024
The traditional Unix archiving and compression tools are separated according to the Unix philosophy:
- A file archiver combines several files into one archive file, e.g. tar.
- A compression tool compresses and decompresses data, e.g. gzip.
These tools are often used in sequence by firstly creating an archive file and then compressing it.
Of course there are also tools that do both, which tend to additionally offer encryption, error detection and recovery.
Archiving only
Name | Package | Manuals | Description |
---|---|---|---|
GNU tar | tar | tar(1), info | Core utility for manipulating the ubiquitous tar archives (tarballs), which are used by pacman and the AUR. |
libarchive | libarchive | bsdtar(1) bsdcpio(1) |
Implementation of tar and cpio that also offers a library. Used by pacman and mkinitcpio. |
ar | binutils | ar(1) | Legacy Unix archiver before tar. Today only used for creating static library files. |
cpio | cpio | cpio(1) | File archiver via stdin/stdout, supports cpio and tar formats. |
DAR | darAUR | dar(1) | Archiver to backup large live filesystems, takes care of hard links, extended attributes, sparse files and inode types. |
--use-compress-program=lz4
/-Ilz4
). When creating archives both support the -a
switch to automatically filter the created archive through the right compression program based on the file extension. While BSD tar recognizes compression formats based on the format, GNU tar only guesses based on the file extension.See also #Archiving only usage.
Compression tools
Compression only
These compression programs implement their own file format.
Name | Package | Manual | Ext | Tar ext | Description | Parallel implementations |
---|---|---|---|---|---|---|
bzip2 | bzip2 | bzip2(1) | .bz2, .bz | .tbz2, .tbz | Uses the Burrows–Wheeler algorithm. | lbzip2, pbzip2 |
bzip3 | bzip3 | bzip3(1) | .bz3 | .tbz3 | Uses the Burrows–Wheeler algorithm. | |
gzip | gzip | gzip(1) | .gz, .z | .tgz, .taz | GNU zip, based on DEFLATE algorithm. | pigz, bgzip(1) (part of htslibAUR), crabzAUR, python-rapidgzipAUR |
lrzip | lrzip | lrzip(1) | .lrz | Improved version of rzip, uses multiple algorithms. | Is multithreaded by default | |
LZ4 | lz4 | lz4(1) | .lz4 | Written in C, focused on compression and decompression speed. | Can be multithreaded, though the lz4 is not. See https://lz4.org/ for alternatives. | |
lzip | lzip | lzip(1) | .lz | Uses LZMA. | plzipAUR | |
lzop | lzop | lzop(1) | .lzo | .tzo | Uses the LZO library (lzo). | |
xz | xz | xz(1) | .xz, .lzma | .txz, .tlz | Uses LZMA2. Default for GNU coreutils and kernel archive files. | Is multithreaded by default. An alternative is pixz. |
zstd | zstd | zstd(1) | .zst | Uses Zstandard algorithm. | is multithreaded |
- Parallel implementations offer improved speeds by using multiple CPU cores.
- Tar extensions refers to compressed archives where
tar
and the compression tool is used, e.g..tzo
is.tar.lzo
. - See also #Compression only usage.
Archiving and compression
Name | Packages | Manuals | Ext | Description |
---|---|---|---|---|
p7zip | p7zip | 7z(1) | .7z | The third-party POSIX port of 7-zip's command-line. |
7-Zip | 7-zipAUR, 7-zip-fullAUR | Official manual | The upstream Linux version of a file archiver with a high compression ratio. | |
RAR | rarAUR, unrar | rar(1) | .rar | Both the format and the rar utility are proprietary. |
t2sz | t2szAUR | .tar.zst .tzst | Tar archiving utility in C with member-aligned zstd-compression | |
tarlz | tarlzAUR | tarlz(1) | .tar.lz .tlz | Tar archiving utility in C++ with member-aligned lzip compression |
ZIP | zip, unzip | zip(1), unzip(1) | .zip | Widely used outside of the Linux world. |
Unarchiver | unarchiver | unar(1), lsar(1) | many | Command-line tool of a Mac application, supports over 40 archive formats. |
ZPAQ | zpaqAUR | zpaq(1) | .zpaq | A high compression ratio archiver written in C++, uses several algorithms. |
LHa | lhasa, lhaAUR | lha(1) | .lzh (on Amiga: .lha) | LZH/LHA archiver, supports the lh7-method. |
WinAce | unace | unace(1) | .ace | Both the ACE file format and the archiving tool are proprietary. |
See also #Archiving and compression usage.
Feature charts
Some of the tools above are capable of handling multiple formats, allowing for fewer installed packages.
Decompress
Name | gzip | bzip2 | ZIP | LHa/LZH | RAR | compress | CAB | ARJ |
---|---|---|---|---|---|---|---|---|
gzip | Yes | No | Partial1 | No | No | Yes | No | No |
p7zip | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
unarchiver | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Partial |
- gzip's gunzip can only decompress single member ZIP files.
Usage comparison
Archiving only usage
Name | Create archive | Extract archive | List content |
---|---|---|---|
tar(1) | tar cfv archive.tar file1 file2 |
tar xfv archive.tar |
tar -tvf archive.tar
|
cpio(1) | ls file1 file2 | cpio -o > archive.cpio |
cpio -i -vd < archive.cpio |
cpio -t < archive.cpio
|
Compression only usage
Name | Compress | Decompress | Decompress to stdout |
---|---|---|---|
bzip2(1) | bzip2 file |
bzip2 -d file.bz2 |
bzcat file.bz2
|
gzip(1) | gzip file |
gzip -d file.gz |
zcat file.gz
|
lrzip(1) | lrzip file lrztar folder |
lrzip -d file.lrz lrztar -d folder.tar.lrz |
lrzcat file.lrz
|
xz(1) | xz file |
xz -d file.xz |
xzcat file.xz
|
zstd(1) | zstd file |
zstd -d file.zst |
zstdcat file.zst
|
Archiving and compression usage
Name | Compress | Decompress | Decompress to stdout | List content |
---|---|---|---|---|
7z(1) | 7z a archive.7z file1 file2 |
7z x archive.7z |
7z e -so archive.7z file1 |
7z l archive.7z
|
rar(1) | rar a archive.rar file1 file2 |
rar x archive.rar |
rar p -inul archive.rar file1 |
rar l archive.rar
|
zip(1), unzip(1) | zip archive.zip file1 file2 |
unzip archive.zip |
unzip -p archive.zip file1 |
unzip -l archive.zip
|
lha(1) | lha ao7 archive.lzh file1 file2 |
lha x archive.lzh |
minimal: lha l archive.lzh verbose: lha v archive.lzh
|
Convenience tools
- atool — Script for managing file archives of various types.
- dtrx — An intelligent archive extraction tool.
- J7Z — GUI for Linux in java which attempts to simplify data compression and backup. It can create 7z, BZip2, Zip, GZip, Tar archives.
- http://j7z.xavion.name || j7zAUR
- ouch — A command line utility for easily compressing and decompressing files and directories
- unp — Command line tool that can unpack archives easily.
- unpack — Wrapper script for handling multiple archive formats.
- patool — Allows various archive types to be created, extracted, tested, listed, compared, searched and repacked.
Determining archive format
To extract an archive, its file format needs to be determined. If the file is properly named you can deduce its format from the file extension.
Otherwise you can use the file tool, see file(1).
Esoteric, rare or deprecated tools
Name | Packages | Ext | Description |
---|---|---|---|
ARC | arcAUR | .arc, .ark | Was very popular during the early days of the dial-up BBS. Superseded by ZIP. |
ARJ | arj | .arj | An archiver used on DOS/Windows in mid-1990s. This is an open source clone. |
compress | ncompress | .Z | The de facto standard UNIX compression utility to success the Huffman-based pack(1) before gzip become a thing. |
PAR2 | par2cmdline | .par2 | Parity archiver for increased data integrity. See also Parchive. |
shar | sharutils | .shar | Creates self-extracting archives that are valid shell scripts. |
Zoo | zooAUR | .zoo | Was mostly popular on the OpenVMS operating system before PKZIP became popular. |
File system compression
Some file systems support on-the-fly compression of file data:
- Btrfs can be configured to compress individual files, directories, or entire volumes by default.
- On ZFS, compression can be enabled on pools or file systems.
Device mapper compression
There is work being done to mainline (integrate into the Linux kernel project) the open-sourced VDO project, which provides a deduplication and compression device mapper layer in the interest of increasing storage efficiency. The following packages are available:
- vdo — Userspace tools for managing VDO volumes
- kvdo — A pair of kernel modules which provide pools of deduplicated and/or compressed block storage
Compression libraries
- Brotli — Compression algorithm for data streams using the LZ77 algorithm, Huffman coding and 2nd order context modeling.
- libzip — Provides creation and extraction of ZIP files. Used by KDE and Deepin in place of the zip/unzip tools.
- zlib — Compression library implementing the deflate compression method found in gzip and PKZIP.
- Zopfli — High compress ratio file compressor from Google, using a deflate-compatible algorithm called zopfli.
Troubleshooting
Garbled Japanese file names
Japanese versions of Windows encode ZIP archives with Shift-JIS. By default, these archives will suffer from mojibake filenames when extracted. To extract properly, use unzip in the command-line using the shift-jis option.
$ unzip -O shift-jis nihongo.zip