7-zip Not Implemented

0 views
Skip to first unread message

Shinyoung Gedris

unread,
Aug 5, 2024, 3:01:59 AM8/5/24
to foncmadtale
Wehave Cadmatic software that creates backup files as a .bup files. We often need to access these files and edit content and we are using 7 zip for it. Usually everything works just fine, but sometimes I get error "Not Implemented". It happens sometimes when editing some name of a file inside .bup file, or when trying to add or delete files inside .bup files. It happens for different files, but later it might work withour errors with same file that i had this error before, even when doing the exact same operation. I can ofcourse always work around this issue when it is occurring by unzipping .bup file to a regular folder, then edit the files and afterwards zipping it back to .bup file.

I updated 7 zip version to newest 18.01 (x64), but it did not fix the issue and I still get the same Not Implemented error from time to time, as I used to get with older 7 zip versions. I use 7 zip for editing the files on two Windows servers, other one is 2012 and other one is 2008 R2, and both of the servers has this occasional problem with 7 zip.


However I cannot see "Info" button when this error appears. I am trying to rename file restore.ini to restore1.ini just to make a point. First 5 .bup files I tried, I was able to rename the file, but with this file I receive "Not Implemented" error. My 7 zip is in Finnish, but it basically states "Error when trying to rename file or folder" "Not Implemented". Where I can check for possible header errors?


Hi, there are no "Header Error" lines either when modifying (in this example renaming a file inside .bup file) works or when it doesn't work. Here is one example of the content of "Info" when modifying did not work (see pic).


I'm using 7zip now for many years and always thought "well it's not implemented" until I saw this discussion. Anyway, for many years on all my computers I have this issue. Also the "add" button gives the error. I can't add, remove, or whatever files.


When changing (removing) data from an existing ZIP file, one of my colleagues gets an error "Not implemented". We tried upgrading to the newest 7-ZIP version, but that also didn't resolve the issue...

Does anyone have a fix for this?


I have two guesses: either the ZIP is nonstandard/broken, or it uses some rare method (e.g. central directory is compressed). What are you trying to delete: a file or a folder? Could you post any ZIP file (if it isn't too big) that causes that error?


As far as I know, 7-zip.org provides a GUI (7-zip File Manager) application only for Windows. If you have PeaZip installed, you can try using that, or you can use the default Xarchiver, although, if you choose the latter and deal with .rar files, you will probably also have to install the p7zip-rar package using apt.


If you have PeaZip installed, you can try using that, or you can use the default Xarchiver, although, if you choose the latter and deal with .rar files, you will probably also have to install the p7zip-rar package using apt.


py7zr supports algorithms and filters which lzma module and liblzma support,and supports BZip2 and Deflate that are implemented in python core libraries,It also supports ZStandard, Brotli and PPMd with third party libraries.


A feature handling symbolic link is basically compatible with p7zip implementation,but not work with original 7-zip because the original does not implement the feature.py7zr try checking symbolic links strictly and raise ValueError when bad link is requested,but it does not guarantee to block all the bad cases.ZStandard and Brotli is not default methods of 7-zip, so these archives are considerednot to be compatible with original 7-zip on windows/p7zip on linux/mac.Enhanced Deflate is also known as DEFLATE64 TM that is a registered trademark of PKWARE, Inc.Enhanced Deflate is tested only on CPython. It is disabled on PyPy.Not supported algorithmsBCJ2 (Standard lzma module does not provide).InstallYou can install py7zr as usual other libraries using pip.


PackagePurposePyCryptodomex7zAES encryptionPyZstdZStandard compressionPyPPMdPPMd compressionBrotliBrotli compression (CPython)BrotliCFFIBrotli compression (PyPy)inflate64Enhanced deflate compressionpybcjBCJ filtersmultivolumefileMulti-volume archive read/writetexttableCLI formatterPerformanceYou can find a compression and decompression benchmark results at[Github issue]( ) and [wiki page]( )


This library is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNULesser General Public License for more details.


You should have received a copy of the GNU Lesser General PublicLicense along with this library; if not, write to the Free SoftwareFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA


7-zip archive is one of popular files compression and archive formats. There has beenno well-defined file format because there is no precise specification document in 20 yearsfrom its birth, so it has been considered as an application proprietary format.


This specification is intended to define a cross-platform, interoperable file storage andtransfer format. The information here is meant to be a concise guide for those wishingto implement libraries and utility to handle 7-zip archive files.


This documentations is NOT a specification of any existed utilities and libraries.This documentation does not have some features which is implemented in an existed utility.It is because this document purpose is to keep interoperability.


This specification does not provide technical specification of compression methodssuch as LZMA, LZMA2, Delta, BCJ and every other methods.It also does not provide technical specification of encryption and hash methodssuch as AES and SHA256.


7-zip is a public-domain utility on Microsoft Windows platforms written by Igor Pavlov.7-zip archive file format was originally produced and defined by 7-zip utility.p7zip is a cross-platform utility to handle 7zip archive file, which is a port of 7-zip to posix.py7zr is a library and utility written with pure python3 to handle 7zip archive,that is distributed under GNU Lessaer General Public License version 2.1 and later.xzutils is an file compression/decompression utility.liblzma is a library to provide LZMA and LZMA2 compression algorithm provided by xzutils project.Python is one of popular computer language and running platform copyrighted and licensed by Python Foundation.Python 3 provide lzma API deppend on liblzma.


There are several file archive format and utilities. Many of them are born as proprietary formatof archive utility software, because of its nature, only standardized formats are now alivedas portable, stable for long time and freely usable specification.PKWare ZIP, GNU Tar and GZip are examples for it.Since 7-zip, its format and algorithm LZMA/LZMA2 are born as public-domain in 1999,it has been known as one of long lived file format.


There are two effort to make .7z archives as well-documented, portable, and long life.One is a documentation project here, and other is a software development projectto be compatible with original 7zip and p7zip utility such as py7zr.


All integers that require more than one byte SHALL be in a little endian,Least significant byte (LSB) comes first, then more significant bytes inascending order of significance (LSB MSB for two byte integers, B0 B1 B2 B3for four bytes integers). The highest bit (value 128) of byte is number bit 7and lowest bit (value 1) is number bit 0. Values are unsigned unless otherwisenoted.


The bit field is defined which order is from MSB to LSB,i.e. bit 7 (MSB) of first byte indicate a boolean for first stream, object or file,bit 6 of first byte indicate a boolean for second stream, object or file, andbit 0(LSB) of second byte indicate a boolean for 16th stream, object or file.


BooleanList is a list of boolean bit arrays.It has two field. First it defines an existence of boolean values for each items of number of files orobjects. Then boolean bit fields continues.There is an extension of expression that indicate all boolean values is True, andskip boolean bit fields.


7-zip archive file format SHALL consist of three part.7-zip archive file SHALL start with signature header.The data block SHOULD placed after the signature header.The data block is shown as Packed Streams.


Next header offset SHALL be an offset from end of signature header to header database.Because signature header always consist with 32 bytes, the offset SHOULD be a value thatabsolute position of header database in archive file - 32 bytes.Next header offset SHALL be stored as UINT64.


Next header size SHALL be an size of a header database. Because a header database MAY beencoded, Next header size SHALL consist of encoded(packed) size, not a raw size.Next header size SHALL be stored as UINT64.


Information stored in Header SHALL be placed after Property ID.For example, Header Info block start with 0x01, which means Header, thencontinues data blocks, and 0x00, which is END, is placed at last.This structure can be recursive but there is a rules where particularID can exist.


Pack Information SHALL start with one byte of id value; 0x06.Pack Information SHALL be const with Pack Position, Number of Pack Streams,a list of sizes of Pack Streams and a list of CRCs of pack streams.Pack position and Number of Pack streams SHALL be stored asvariable length NUMBER form.Sizes of packed Streams SHALL stored as a list of NUMBER.


Count of Pack Streams SHALL indicate a number of encoded streams.LZMA and LZMA2 SHOULD have a single (one) stream.7-zip CAN have encoding methods which produce multiple encoded streams.When there are multiple streams, a value of Number of Pack Streams SHALLindicate it.


Sizes of Pack Streams SHOULD be omitted when Number of Pack Streams is zero.This is an array of NUMBER values which length is as same as Count of Pack Streams.Size SHALL be positive integer and SHALL stored in NUMBER.

3a8082e126
Reply all
Reply to author
Forward
0 new messages