Ubuntu is considered a good distribution for beginners who usually want to learn Linux from scratch. In comparison between OS software, it is far better than windows. The integral part of system administration is File compression. It might be quite a tough task to find a reliable file compression tool. Till now many robust compression tools with better compression rates and the period has been developed which make backing up system data easier. So here we have listed the 10 top compression tools which will help out to choose the best compression tool.
Tar is a popular tool for compressing multiple files into a single archive file. It supports different extensions some of the popular are tar, tar.gz, and tar.bz2. In the latest distribution of ubuntu, tar is the default compression utility. The tar command can be used as follows.
The command-line utility was first introduced in the Version 7 Unix in January 1979, replacing the tp program (which in turn replaced “tap”). The file structure to store this information was standardized in POSIX.1-1988 and later POSIX.1-2001, and became a format supported by most modern file archiving systems.
Today, Unix-like operating systems usually include tools to support tar files, as well as utilities commonly used to compress them, such as gzip and bzip2.
The tar command has also been ported to the IBM i operating system.
BSD-tar has been included in Microsoft Windows since Windows 10 April 2018 Update, and there are otherwise multiple third party tools available to read and write these formats on Windows.
The gzip is an open-source compression tool that is well known for its high file compression feature. It refers to GNU zip which is compatible with every GNU software and has the .gz extension. It has a high compression rate as it can reduce the size up to 90 percent which is quite amazing.
Various implementations of the program have been written. The most commonly known is the GNU Project’s implementation using Lempel-Ziv coding (LZ77). OpenBSD’s version of gzip is actually the compress program, to which support for the gzip format was added in OpenBSD 3.4. The ‘g’ in this specific version stands for gratis. FreeBSD, DragonFly BSD and NetBSD use a BSD-licensed implementation instead of the GNU version; it is actually a command-line interface for zlib intended to be compatible with the GNU implementation’s options. These implementations originally come from NetBSD, and support decompression of bzip2 and the Unix pack format.
An alternative compression program achieving 3-8% better compression is Zopfli. It achieves gzip-compatible compression using more exhaustive algorithms, at the expense of compression time required. It does not affect decompression time.
pigz, written by Mark Adler, is compatible with gzip and speeds up compression by using all available CPU cores and threads.
bzip2, an open-source compression utility that uses the Burrows-Wheeler block-sorting compression algorithm and Huffman coding to compress files. It is not a file archiver so it only supports single file compression but it supports different compression methods such as sparse bit array, Huffman tables, run-length, etc. During compression and decompression of files, it consumes high memory and has slower decompression as compared with gzip but overall, bzip2 is a suitable compression utility due to its robust compression abilities.
bzip2 compresses most files more effectively than the older LZW (.Z) and Deflate (.zip and .gz) compression algorithms, but is considerably slower. LZMA is generally more space-efficient than bzip2 at the expense of even slower compression speed, while having much faster decompression.
bzip2 compresses data in blocks of size between 100 and 900 kB and uses the Burrows–Wheeler transform to convert frequently-recurring character sequences into strings of identical letters. It then applies move-to-front transform and Huffman coding. bzip2’s ancestor bzip used arithmetic coding instead of Huffman. The change was made because of a software patent restriction.
bzip2 performance is asymmetric, as decompression is relatively fast. Motivated by the large CPU time required for compression, a modified version was created in 2003 called pbzip2 that supported multi-threading, giving almost linear speed improvements on multi-CPU and multi-core computers. As of May 2010, this functionality has not been incorporated into the main project.
Like gzip, bzip2 is only a data compressor. It is not an archiver like tar or ZIP; the program itself has no facilities for multiple files, encryption or archive-splitting, but, in the UNIX tradition, relies instead on separate external utilities such as tar and GnuPG for these tasks.
The grep-based bzgrep tool allows directly searching through compressed text without needing to uncompress the contents first.
Zstandard which was also named zstd was developed at Facebook by Yann Collet which is a lossless data compression algorithm. It has a high compression ratio and also provides a special feature called dictionary compression for small data.
Zstd at its maximum compression level gives a compression ratio close to lzma, lzham, and ppmx, and performs better than lza, or bzip2. Zstandard reaches the current Pareto frontier, as it decompresses faster than any other currently-available algorithm with similar or better compression ratio.
Dictionaries can have a large impact on the compression ratio of small files, so Zstandard can use a user-provided compression dictionary. It also offers a training mode, able to generate a dictionary from a set of samples. In particular, one dictionary can be loaded to process large sets of files with redundancy between files, but not necessarily within each file, e.g., log files.
LZ4 is the perfect compression tool for high compression speed as more than half a gigabyte of data can be compressed per second by it. It was built using LZ4_HC and LZ77 lossless compression algorithms with the motive of providing high compression and decompression speed. The compression speed can be dynamically changed by accelerating the rate of data compression.
lzop is a file compressor that is built using the LZO data compression library and is quite similar to gzip. By trading some compression rate ratio it provides higher compression and decompression speed as compared with zip. Files can be compressed into two file extensions .tar and .tzo. It usually uses only ten percent of the CPU to produce files slightly larger than gzip.
p7zip is a Unix/Linux command-line utility tool of 7-Zip that archives the files into 7z format along with a high compression ratio. It also supports the many popular formats such as tar, bzip2, zip, xz, and gzip. It provides an encryption feature that uses Advanced Encryption Standart (AES – 256) technology to encrypt the archive file. Corrupted compressed files can be recovered using it.
Pigz refers to the parallel implementation of gzip which is the replacement for gzip with reduced compression time. It implements Zlib and pthread libraries which use available cores and processors to compress the files which makes it much faster than gzip when compared. To put it another way, it performs similarly to gzip which compresses huge files using just a single command.
Zip is the lossless data compression tool that helps you create zip archives. Zip can store one or more compressed files in a single archive file and can easily transfer from one system to another. It supports the different platforms where zip files can be extracted. An entire directory structure can be compressed into a zip file in single command execution.
XZ Utils is a free lossless data compressors tool that can compress and decompress .xz and .lzma files. When compressing the data it has higher compression rates than gzip and bzip2 but compression and decompression speed is quite slower than gzip for higher compression rates. It also provides features like error tracking while compressing the files. The .xz is the native file format for it which uses the LZMA algorithm to compress the file.
These are the 10 file and compression utilities for ubuntu which may be useful for storing files for backup or sharing within a group. Aside from these, you could find a lot more compression utilities out there that are open-source as well as rich features. Thank you for taking the time to read this article.
Another interesting article may be: A Simple way to install FastPanel in Ubuntu Linux