如果我设置,LZMA2
我就会得到LZMA
,反之亦然!什么?
CentOS9
$ 7za a -mx=9 -mm=LZMA2 test.7z *.sh
7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_GB.utf8,Utf16=on,HugeFiles=on,64 bits,3 CPUs AMD EPYC Processor (830F10),ASM,AES-NI)
Open archive: test.7z
--
Path = test.7z
Type = 7z
Physical Size = 320
Headers Size = 178
Method = LZMA:12
$ 7za a -mx=9 -mm=LZMA test.7z *.sh
7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_GB.utf8,Utf16=on,HugeFiles=on,64 bits,3 CPUs AMD EPYC Processor (830F10),ASM,AES-NI)
Open archive: test.7z
--
Path = test.7z
Type = 7z
Physical Size = 321
Headers Size = 172
Method = LZMA2:12
答案1
目前我的 Kubuntu7za
与有问题的版本相同(7-Zip (a) [64] 16.02
),并且我能够复制您的“问题”。
如果病例test.7z
尚不存在,该工具将打印Creating archive: test.7z
并才不是打印Method =
。这不符合您的示例。
如果案例test.7z
已经存在,该工具会打印Open archive: test.7z
并打印Method =
。这符合您的示例。重要的是,此Method =
行指的是档案的状态前它被改变了。Updating archive: test.7z
被打印之后(我想你在问题中省略了这部分输出)并且没有Method =
显示处理后的状态的行。
如果我是对的,Method =
您的示例中显示了处理之前与文件相关的方法,即您使用的方法之前LZMA
。我猜你在和之间交替,LZMA2
并希望向Method =
你展示处理后与文件相关的方法。这让你认为LZMA
和LZMA2
被错误地交换了。
尝试使用LZMA
after LZMA
(或LZMA2
after LZMA2
),您就会明白我的意思。或者最好运行7za t test.7z
after 7za a …
;这将向您显示当前状态而不更改存档。输出中的7za t …
行Method =
应反映您刚刚使用的方法。