Ark, the file archiver and compressor developed by KDE, has seen a lot of development for the upcoming 16.12 release. This blog post provides a summary of the most important changes.
Advanced archive editing
Thanks to the excellent GSoC work done by Vladyslav Batyrenko (mvlabat) this summer, it’s now possible to perform advanced editing operations for an archive. This means that files/folders can be moved and copied within an archive. This functionality is available either from the context menu or with the well-known keyboard shortcuts (CTRL+C, CTRL+X, CTRL+V).
Additionally, files/folders can now be added to any subfolder of an archive. In the past files could only be added to the root of an archive. This is done by selecting a subfolder and then activating the “Add Files…” item from either the “Archive” menu or the context menu.
Finally, files/folders can be renamed. This can be done by selecting the entry and pressing F2 or selecting Rename from the context or “File” menu.
See mvlabat’s blog post for more info on these features.
Choose compression method
Ark now allows setting compression method for supported archives. This is possible for Zip and 7z archives. For instance, LZMA compression may be selected for Zip archives to improve compression ratio (requires 7z to be installed). Note that Zip archives using newer compression methods may not be supported by older unarchivers (e.g. the unzip utiliy), but should be supported by modern software such as WinZip, WinRar and 7-Zip for Windows. The compression method can be set in the Compression section when creating a new archive.
AES-encryption for Zip archives
Strong AES-encryption is now used by default for Zip archives when 7z is installed. Three AES key lengths are available (128, 192 and 256 bit). The classic Zip encryption method (ZipCrypto), which is now known to be vulnerable but is more widely supported, can also be selected. Again, note that e.g. unzip doesn’t support extracting archives with AES-encryption.
Support for AR archives
We added support for opening AR archives. This old Unix format is now mostly used for static libraries (*.a) on Linux systems. So static libraries can now be opened by Ark to view the contained object files.
Performance improvements
Opening large archives should be much faster with Ark 16.12. Previously, the model containing all the archive entries wasn’t created until the archive was completely loaded from disk. Now we start creating the model right away. This resulted in a greatly reduced time to open large archives.
Progress information
Ark now shows progress in percentage for more operations (e.g. open, extract, add) than previously. This means it’s possible to know approximately how long an operation will take. Additionally, progress is now always shown in Plasma’s system tray where operations can also be aborted. When progress in percentage is available it is also shown in the task manager item (thanks to KBroulik’s work).
Bugfixes and under-the-hood changes
A ton of bugs were fixed and the code architecture further modernized.
Testing and feedback
The 16.12 beta is now out, while the release candidate should be out on December 1st and the final release on December 15th. Please test the new features and provide feedback either as comments on this blog post or as bugs on KDE’s bugzilla.
What’s next?
For Ark 17.04 we hope to add a graphical interface for configuring the plugins Ark uses to handle different archive formats. Also, we are investigating whether we can use
libzip to handle zip archives.
If there are features you are missing in Ark, please let us know.
Acknowledgements
Thanks to Elvis Angelaccio and Vladyslav Batyrenko (mvlabat) for their development work on Ark.
Just a quick comment: Placing ZipCrypto at the end, after the increasing key lengths of AES, might suggest that ZipCrypto is the strongest algorithm. Might consider sorting the list by security, instead of alphabetically.
LikeLiked by 1 person
Thanks for your comment. We’ll move ZipCrypto to the top 🙂
LikeLike
Maybe better to reverse the list so the strongest encryption is at the top.
LikeLiked by 1 person
This is fantastic news! It has been a long awaited feature to rename files/folders and to add files to a directory in Ark. Many thanks for your efforts to add this functionality!
LikeLiked by 1 person
Thanks 🙂 We wanted to implement this functionality for a long time, but it necessitated a deep refactoring of the code. It’s now finally complete thanks to GSoC.
LikeLike
maybe a stupid question, but why do we still need gzip, bzip, unzip, xz & co if 7z can extract and create those archives?
LikeLiked by 1 person
Well, 7z is a very versatile utility. It can create a lot of formats including 7z, zip, tar, gzip, bz2, xz and supports extracting even more (e.g. rar archives). In Ark we use it for 7z and zip archives, but fall back to the old zip/unzip utilities if 7z is not found in path. The zip/unzip utilities are more widely installed, but are unmaintained (last release in 2009!) and lack a lot of features (e.g. AES encryption and LZMA compression).
However, it’s preferable to use a library instead of parsing output from CLI-programs, since the latter can be very error-prone and whenever the output structure changes the parsing can break. This is why Ark uses libarchive to handle all tar-based archives and other supported types such as iso and rpm.
Hope this answers your question…
LikeLike
It might be a good idea to add a note to ZipCrypto that it is known to be vulnerable, so the normal user knows that this does not fully protect their data.
LikeLiked by 1 person
Thanks for the continuous improvements !
– a happy user
LikeLiked by 1 person
Very cool!
Thanks for all your work =)
LikeLiked by 1 person
Regarding the first ilustration, I’d add a preview of the selected file in that info panel at the right, like in Dolphin (the rendering of the thumbnail would probably need to depend to the file’s size, like the thumbnails in Dolphin when browsing network folders). Many times we have some archive (for instance when someone sends us the photos of the last party) with a lot of photos of which we probably just want a few. Would be very handy to be able to see their preview and jut extract the ones we want instead probably dozens of photos.
LikeLiked by 1 person
Can you add support for ARJ archives, please? There’re arj(more useful) and unarj utilites for this. Currently if you want to interract with them in GUI you need to use Krusader.
LikeLiked by 1 person
We’re looking at using the unarchiver plugin to support ARJ archives. This would be read-only support i.e. open and extract. However, there is currently a bug in unarchiver when extracting ARJ archives. We reported it upstream and hopefully it can be fixed soon so we can enable ARJ support for Ark 17.04.
LikeLiked by 1 person