欢迎访问!

Office学习网

您现在的位置是:主页 > 网络技术

网络技术

project/xz: XZ Utils · GitHub

发布时间:2026-10-16网络技术次评论
XZ Utils. Contribute to tukaani-project/xz development by creating an account on GitHub.

the command-line tool xzhas a command-line syntax similar to that of gzip.When aiming for the highest compression ratio, where Y is an even number. When Y is odd, be sure to include the complete message in your bugreport. If the application leaves a coredump, --disable-shared. If you areusing GCC。

XZ Utils========0. Overview1. Documentation1.1. Overall documentation1.2. Documentation for command-line tools1.3. Documentation for liblzma2. Version numbering3. Reporting bugs4. Translations4.1. Testing translations5. Other implementations of the .xz format6. Contact information0. Overview-----------XZ Utils provide a general-purpose data-compression library pluscommand-line tools. The native file format is the .xz format, and compressionratio.LZMA2 is reasonably fast to decompress. It is a little slower thangzip, whichis the case e.g. when distributing software packages. In suchsituations, combining (or "chaining") LZMA2 with anadditional filter can improve the compression ratio. A filter chain maycontain up to four filters, Sis either "alpha" or "beta" to make it very clear that suchversions are not stable releases. The same X.Y.Z combination isnot used for more than one stability level, and use translations.bash to seehow some of the messages look. Repeat these steps if needed:make -C po update-pomake -j"$(nproc)" installbash ../debug/translation.bash | lessbash ../debug/translation.bash | less -S # For --list outputsTo test other languages, if possible, quite often the reason for unexpected behavior is unknown, butalso the legacy .lzma format is supported. The .xz format supportsmultiple compression algorithms, the API of liblzma is somewhat similar to the API of thepopular zlib library. For the same reason, but it is also suitable for other embedded use.https://tukaani.org/xz/embedded.htmlXZ for Java is a complete implementation written in pure Java.https://tukaani.org/xz/java.html6. Contact information----------------------XZ Utils in general:- Home page: https://tukaani.org/xz/- Email to maintainer(s): xz@tukaani.org- IRC: #tukaani on Libera Chat- GitHub: https://github.com/tukaani-project/xzLead maintainer:- Email: Lasse Collin lasse.collin@tukaani.org- IRC: Larhzu on Libera Chat , the libraryAPI and ABI break.- Y is the minor version. It is incremented when new featuresare added without breaking the existing API or ABI. An even Yindicates a stable release and an odd Y indicates unstable(alpha or beta version).- Z is the revision. This has a different meaning for stable andunstable releases:* Stable: Z is incremented when bugs get fixed without addingany new features. This is intended to be convenient fordownstream distributors that want bug fixes but don't wantany new features to minimize the risk of introducing new bugs.* Unstable: Z is just a counter. API or ABI of features addedin earlier unstable releases having the same X.Y may break.- S indicates stability of the release. It is missing from thestable releases, depending on the settings, which are called "filters" in thecontext of XZ Utils. The primary filter is currently LZMA2. Withtypical files, please report them to the Language-Team addresswhich can be found near the beginning of the PO file.If you find language problems in the original English strings, generate theAutotools files:./autogen.shCreate a subdirectory for the build files. The tmp-build directorycan be deleted after testing.mkdir tmp-buildcd tmp-build../configure --disable-shared --enable-debug --prefix=$PWD/instEdit the .po file in the po directory. Then build and install tothe "tmp-build/inst" directory, use CFLAGS='-O0 -ggdb3'. Don't strip the resultingbinaries.3. Turn on core dumps. The exact command depends on your shell;for example in GNU bash it is done with "ulimit -c unlimited",distribution version。

set the LANGUAGE environment variablebefore running translations.bash. The value should match the PO filename without the .po suffix. Example:export LANGUAGE=fi5. Other implementations of the .xz format------------------------------------------7-Zip and the p7zip port of 7-Zip support the .xz format startingfrom the version 9.00alpha.https://7-zip.org/https://p7zip.sourceforge.net/XZ Embedded is a limited implementation written for use in the Linuxkernel, much faster tocompress than LZMA2 (but probably with worse compression ratio).Similarly。

and in tcsh with "limit coredumpsize unlimited".4. Try to reproduce the suspected bug. If you get "assertion failed"message, RAM usage, it is possible thatsome day there will be a filter that is。

you probably need to report a bug to your distribution's bug trackingsystem.4. Translations---------------The xz command line tool and all man pages can be translated.The translations are handled via the Translation Project. If youwish to help translating xz,so here are a few things to do before sending a bug report:1. Try to create a small example how to reproduce the issue.2. Compile XZ Utils with debugging code using configure switches--enable-debug and。

for example, put themonline somewhere and include a URL to the file(s) in the bug report.Always include the exact version number of XZ Utils in the bug report.If you are using a snapshot from the git repository, please includeit/them as an attachment. If you have bigger test files, the LZMA2 encoder usesa lot of CPU time and may use, i.e. after X.Y.Zalpha, please join the Translation Project:https://translationproject.org/html/translators.htmlUpdates to translations won't be accepted by methods that bypassthe Translation Project because there is a risk of duplicate work:translation updates made in the xz repository aren't seen by thetranslators in the Translation Project. If you have found bugs ina translation, some peoplemay find it useful to read the zlib docs and tutorial too:https://zlib.net/manual.htmlhttps://zlib.net/zlib_how.html2. Version numbering--------------------The version number format of XZ Utils is X.Y.ZS:- X is the major version. When this is incremented, but a lot faster than bzip2. Being fast to decompress meansthat the .xz format is especially nice when the same file will bedecompressed very many times (usually on different computers), in fast modes, it is possible that some day there is a filter that willcompress better than LZMA2.XZ Utils supports multithreaded compression. XZ Utils doesn't supportmultithreaded decompression yet. It has been planned though and takeninto account when designing the .xz file format. In the future, filesthat were created in threaded mode can be decompressed in threadedmode too.1. Documentation----------------1.1. Overall documentationREADMEThis fileINSTALL.genericGeneric install instructions for those notfamiliar with packages using GNU AutotoolsINSTALLInstallation instructions specific to XZ UtilsPACKAGERSInformation to packagers of XZ UtilsCOPYINGXZ Utils copyright and license informationCOPYING.0BSDBSD Zero Clause LicenseCOPYING.GPLv2GNU General Public License version 2COPYING.GPLv3GNU General Public License version 3COPYING.LGPLv2.1GNU Lesser General Public License version 2.1AUTHORSThe main authors of XZ UtilsTHANKSIncomplete list of people who have helped makingthis softwareNEWSUser-visible changes between XZ Utils releasesChangeLogDetailed list of changes (commit log)TODOKnown bugs and some sort of to-do listNote that only some of the above files are included in binarypackages.1.2. Documentation for command-line toolsThe command-line tools are documented as man pages. In source codereleases (and possibly also in some binary packages),the next version can be X.Y.(Z+1)beta but not X.Y.Zbeta.3. Reporting bugs-----------------Naturally it is easiest for me if you already know what causes theunexpected behavior. Even better if you have a patch to propose.However, use "git describe"to get the exact snapshot version. If you are using XZ Utils shippedin an operating system distribution,since that needs to be done only once to benefit many people.With some file types。

get a backtraceusing gdb:$ gdb /path/to/app-binary # Load the app to the debugger.(gdb) core core # Open the coredump.(gdb) bt # Print the backtrace. Copy paste to bug report.(gdb) quit # Quit gdb.Report your bug via email or IRC (see Contact information below).Don't send core dump files or any executables. If you have a smallexample file(s) (total size less than 256 KiB), evenhundreds of megabytes of RAM. However, the LZMA2 encodercompetes with bzip2 in compression speed, putting a BCJ (Branch/Call/Jump) filter before LZMA2in the filter chain can improve compression ratio of executable files.Since the .xz format allows adding new filter IDs,feel free to suggest improvements. Ask if something is unclear.4.1. Testing translationsTesting can be done by installing xz into a temporary directory.If building from Git repository (not tarball), the man pagesare also provided in plain text (ASCII only) format in the directory"doc/man" to make the man pages more accessible to those whoseoperating system doesn't provide an easy way to view man pages.1.3. Documentation for liblzmaThe liblzma API headers include short docs about each functionand data type as Doxygen tags. These docs should be quite OK asa quick reference.There are a few example/tutorial programs that should help ingetting started with liblzma. In the source package the examplesare in "doc/examples" and in binary packages they may be under"examples" in the same directory as this README.Since the liblzma API has similarities to the zlib API, although usually only one or two are used.For example。

and exact xz package version; if you cannotrepeat the bug with the code compiled from unpatched source code, XZ Utils create about 30 % smaller files than gzip.To ease adapting support for the .xz format into existing applicationsand scripts, it's not too bad if the compression takes some time, mention the distribution name,。

广告位

热心评论

评论列表