pArchive 2.2
Recommended OS
Puppy Linux with gtkdialog4 (0.7.21 or greater)
Purpose and Base Features
The pArchive utility is a simple graphical front-end to archival and file compression formats frequently used in the Linux desktop environment. Archive creation, extraction and viewing modules are built-in and this association facilitates general archive management.
New Archive (Create) options are intuitive and easily accessible from the main user interface. For most archives, the 'Extract' option opens to an output-folder selector which enables easy control of the destination directory. If no output folder is selected, pArchive defaults to the parent directory of the archive selected for extraction. Also, the output-folder selector provides a checkbox option to open the output folder in the default file manager after extraction. For iso archives, the 'Extract' option calls the filemnt utility to mount, manage or extract the selected archive.
The 'Open' button of the Archive Manager provides convenient access to archive properties and content management. Specifically, the Properties dialog summarizes useful information about the selected archive including the path (location), number and type of contained files, checksum (MD5), compressor type and overall processing efficiency (file sizes before and after compression, and compression ratios).
The lower tray of the 'Archive Properties and Content' dialog includes an 'Extract' button which calls the pSelect file browser. This utility supports single and multi-item selection of files and folders, for customized extractions. Alternatively, you can select the 'Manage' button to quickly view, open, edit, delete, rename or extract files through the default file manager, then select the 'Update' button to automatically rebuild the archive with the new, edited content. The file-management features are also available as right-click menu options in ROX-Filer and Thunar. The 'View' button provides detailed analysis of archive properties and content, while the supplementary data-file buttons enable easy access to built-in descriptions and post-install files of Puppy pets (pet.specs and pinstall.sh), Slackware packages (slack-desc and doinst.sh), Debian packages (control files) and RPM package data.
The 'Options' button of the Archive Manager opens the preferences module which provides basic drop-down lists for selecting default applications. Supported file managers include ROX-Filer, PCmanFM, SpaceFM, Thunar and Xfe, while supported external archivers include File Roller, XArchive and XArchiver. The external file manager (Home icon) opens the folder containing the selected archive, while the external archiver facilitates serial viewing or management of multiple archives. With the later feature, pArchive will automatically close and relaunch the external archiver as you select and view multiple archives in succession. For viewing comfort, the fontsize option quickly adjusts text size of the user interface. Additionally, the preferences dialog provides the following six checkbox options.
The first checkbox (Multi-item selection) actuates the pSelect utility which supports single or multi-item selections when creating custom archives, or you can uncheck this option to use a conventional single-item gtk-chooser utility. In pSelect, use Ctrl + mouse-left-click to select items sequentially, or Shift + mouse-left-click to select two items and all intervening items (block selection), then click the Add button. Alternatively, use mouse-right-click action to select and automatically send items to the right-window queue for batch processing. Additionally, pSelect supports viewing the individual content of an archive without requiring a full conventional extraction. Specifically, in the left window of pSelect, double-left-click the file of interest to automatically view it in the default xdg-open tool for that file type.
By default, pArchive creates archives by storing the base name of each source item. However, if required, the second checkbox option (Create with full path) enables archive creation with the complete filesystem path to each stored item.
The third checkbox (Short tar suffix) enables short extensions (tbz2, tgz, tlz, tlzma, txz, tzo) when creating tar archives, rather than the default long extensions (tar.bz2, tar.gz, tar.lz, tar.lzma, tar.lzo, tar.xz).
For pArchive's full-extract mode (main user interface), select the fourth checkbox option (Direct extraction) to send files directly to the selected output (destination) folder. This mode of extraction is also the default action in popular archivers such as Xarchive, Xarchiver and File Roller. Or, uncheck this option and pArchive will extract files to a protective container folder which is marked by an uppercase 'X' and numerically tagged for easy identification.
Note: In the 'Archive Properties and Content' dialog, direct extraction is the default (and only) mode of file extraction.
When you choose to edit and update the content of an archive, pArchive will first create a backup copy of the original file before building the updated archive. However, if no backup is required, you can disable this option by deselecting (unchecking) the fifth checkbox (Backup archives).
The last checkbox of the preferences dialog (File encryption) provides optional (Yes/No) Bcrypt encryption of new archives and convenient decryption of existing archives (assuming bcrypt_gui is installed).
On the right side of the pArchive interface, three selector buttons are available to populate the Archive Manager, Source and Output Folder options. Alternatively, the Archive Manager and Source entry boxes are easily populated with files and folders by right-click menu options in ROX-Filer and Thunar, and by drag-and-drop in ROX-Filer. Additionally, the Extract and Create options support multiple concurrent entries for the simultaneous batch extraction of multiple archives (multi-extract) or convenient creation of custom-made archives containing multiple files. With the selection of a source file or folder, the Name and Output Folder options will automatically default to the name and location of the source, or you can manually enter the source path to auto-fill the Name and Output Folder options. At any time, you can manually change the archive name and folder destination to match your personal preference.
The drop-down list of the 'Format' option provides a wide range of archival and compressor formats which are conveniently displayed according to their utility for processing single files or multi-file folders. Specifically, pArchive parses the archival source and automatically populates the drop-down list with archival/compression formats that are appropriate for the selected file or folder. Of course, the first (top) format option is always the one most recently used to create an archive.
The pArchive utility is available in the standard XDG menu (Utility category) or right-click menu of ROX-Filer and Thunar. Optional hotkey access (Ctrl+Shift+Space) is supported in the IceWM, Fluxbox, JWM, LXDE and Openbox desktop environments.
Supported Compression Formats
Single Files
Create, extract or view 7z, bz2, gz, lz, lzma, lzo, xz and zip compressed files.
Create or extract Bcrypt (bfe) compressed files.
Folder Archives
Create, extract, view, edit (and update) 7z, pet, sfs, tar, tar.7z, tar.bz2 (tbz2), tar.gz (tgz), tar.lz (tlz), tar.lzma (tlzma), tar.lzo (tzo), tar.xz (txz) and zip archives.
Create, extract or view iso archives and Bcrypt (bfe) compressed archives.
Extract or view apk, cb7, cbr, cbz, jar, deb, rar and rpm archives.
Extract 7z, rar and zip archives which are encrypted with native (built-in) algorithms.
Supported File Compressors
- 7z/7za/7zr compressors (7z format)
Support(s) single-file compression or multi-file archives with compression. Initially introduced in the 7-Zip archiver, the 7z format is available in three utilities (7z/7za/7zr) which offer excellent (high) compression ratios. Generally, the 7z format is not a default option in legacy Puppy derivatives, but may be included in current and future Woof-CE derivatives.
- bzip2 compressor (bz2 format)
Compresses single files (not a file archiver). Provides good compression ratios (better than gzip), relatively fast compression (but slower than gzip), and very slow decompression (file retrieval).
- gzip compressor (gz format)
Compresses single files (not a file archiver). Provides very good compression speed (faster than bzip2) and good compression ratios (but less compression than the bzip2, lzma and xz single-file compressors).
- lzip compressor (lz format)
Compresses single files (not a file archiver). Provides excellent (high) compression ratios, but compression speed and decompression speed are slightly slower than the lzma and xz compressors below. The lzip and xz compressors feature the LZMA2 compression algorithm and are functionally similar, but the file formats are not cross-compatible.
- lzma compressor (lzma format)
Compresses single files (not a file archiver). Provides excellent (high) compression ratios (generally higher than bzip2). Moderate compression speed is comparable to the popular xz compressor, though slightly slower.
- lzop compressor (lzo format)
Compresses single files (not a file archiver). Very fast (at lower compression presets of 3 or less) but provides compression ratios that are generally below that of other single-file compressors at default preset levels.
- xz compressor (xz format)
Compresses single files (not a file archiver). Excellent (high) compression ratios and moderate compression speed (slightly faster compression than lzma and lzip).
- zip compressor (zip format)
Compresses single files or multi-file structured archives (tar not required). Compression ratios are modest at best, but the zip format remains popular for cross-platform archiving.
- single-file compressors and tar archives
The popular tar utility is not a file compressor but is used in the Linux environment to archive (merge) multiple files into a single storage file. Typically, this tar archive (tarball) is passed through single-file compressors such as bzip2, gzip, lz, lzma, lzop or xz to create compressed tar.bz2, tar.gz, tar.lz, tar.lzma, tar.lzo or tar.xz archives – which often are renamed by changing the corresponding suffixes to the abridged tbz2, tgz, tlz, tlzma, tzo and txz extensions.
- dir2pet utility (pet format)
Creates installable Puppy-Linux pet packages (compressed gzip or xz tarballs with MD5sum appended). First, please confirm the pet package source directory is properly structured, including the package name and version number with a dash (ex: abiword-3.0.0). If required, you can add post-install (pinstall.sh) and post-remove (puninstall.sh) scripts to the top directory. For a menu entry, place the appropriate .desktop file in /usr/share/applications.
- mkisofs compressor (iso format)
Creates optical disc archives in read-only format.
- mksquashfs compressor (sfs format)
Used in Puppy frugal installations, the SquashFS (SFS) format is a compressed read-only file that contains a conventional directory structure. The mksquashfs utility of pArchive will optionally generate SFS files in gz or xz compressed formats. The xz format provides greater file compression, but slower run-time decompression. In pArchive, file compression in the sfs-xz format is enhanced by the following parameters: mksquashfs -comp xz -b 524288 -Xbcj x86.
Caveats
- The standard utilities above provide command-line presets for variable file compression, typically on a scale of 1-9 (with 9 the maximum). The higher values (7-9) require more time for compression, and may require significantly greater system RAM in some formats. For example, the lzop compressor is remarkably slow with values above 6, and RAM usage escalates significantly when using presets 7-9 for the lzma and xz formats – with little gain in compression. For several popular compressors, the default numerical value of 6 provides an optimal balance of speed, memory usage and file compression – and this setting is used in pArchive when processing files with the gzip, lzip, lzma and xz compressors. The maximum compression level of 9 is used when creating single files with the 7z, bzip2 and zip compressors, and the default value of 3 is used for lzop.
- Compression speed (file creation) can vary significantly in comparison benchmarks of common file compressors. For example, lzop, gzip and bzip2 are in a select group of fast compressors, followed at some distance by xz, lzma and lzip in a group with intermediate compression speed. (Compression chart)
- Decompression speed (file retrieval) is also an important consideration when these utilities are used for file backup. The lzop and gzip utilities are relatively fast file decompressors, followed by xz, lzma and lzip in a group with intermediate decompression speed. Typically, bzip2 is a very slow decompressor, particularly for larger files. (Decompression chart)
- Compressing files with the lzop algorithm (lzo format) is very fast with notably low RAM usage when using presets of 3 or less, but the gzip algorithm (gz format) is also fast with low memory requirements, and achieves much better compression. Even so, the speed of lzop is noteworthy and this compression format may be useful when large volumes of data must be archived quickly.
- The bzip2 algorithm (bz2 format) provides good file compression with relatively low memory usage, but decompression time is typically very slow and this format may not perform well for extended file archiving/backup. On the other hand, the gzip algorithm (gz format) may be a better choice when speed is more important than the file compression ratio. In practice, archiving with bzip2 is generally more efficient than gzip (about 15% greater compression), but bzip2 compressing speed is relatively slower than gzip and the decompression speed (data retrieval) is remarkably slower (2-6X slower than lzma and 4-12X slower than gzip). Alternatively, if high compression is more important than archival time, you can use the lzma or xz formats which offer comparable intermediate compression speed (but slower than gzip or bzip2) while providing excellent file compression (greater than gzip or bzip2). The optional lzip compressor (if installed) is supported by pArchive and offers excellent (high) file compression inherent in the lzma2 algorithm (similar to the xz compressor), but the lzip utility is not included in standard Puppy releases.
- The 7zip utilities (7z/7za/7zr) also provide excellent file compression, but do not preserve filesystem owner/group permissions and other metadata. Consequently, when used alone, the 7z/7za/7zr algorithms are unacceptable for file backup in the Linux environment. However, this limitation can be mitigated by combining tar with 7z (tar.7z), which preserves the filesystem metadata.
- In pArchive, the 7zip utilities create multi-file archives directly using the default 'solid' compression option (i.e., all uncompressed files are concatenated into a single data block which is then compressed). Solid archive compression is also an intrinsic option of the .rar format and is used indirectly in all compressed .tar formats (i.e., tar.bz2, tar.gz, tar.lz, tar.lzma, tar.lzo, tar.xz).
- Optional file encryption in pArchive is mediated by the popular bcrypt utility. Bcrypt also has the capacity to compress encrypted files, but the built-in compression algorithm (if enabled) is memory-intensive and this implementation may exceed the processing capacity of low-RAM computers. However, when pArchive calls bcrypt, the selected files are already compressed by utilities such as bzip2, gzip, lzip, xz and zip. For that reason, the additional built-in file compression of bcrypt is not required and, in fact, this memory-intensive option is automatically disabled (bcrypt -c) when files are encrypted in pArchive.
- The 'Archive-Properties' option extracts archives to the tmp file system (tmpfs) for content evaluation. Typically, the size of the tmpfs in computers with >= 1 GB RAM will be sufficient to receive the extracted content of most archives. However, extracting and viewing the content of unusually large archives may exceed the space allocated to tmpfs, particularly in low-RAM computers. In this scenario, your screen may 'freeze' requiring hard-rebooting of the computer.
Availability
The current version of pArchive is available here.
License
GNU GPLv3, Copyright 2014-2017, Roger D. Grider