Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/share/man/ko/man1/xz.1 @ 68:5028fdace37b
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 16:23:26 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 68:5028fdace37b |
---|---|
1 '\" t | |
2 .\" SPDX-License-Identifier: 0BSD | |
3 .\" | |
4 .\" Authors: Lasse Collin | |
5 .\" Jia Tan | |
6 .\" | |
7 .\" Korean translation for the xz-man | |
8 .\" Seong-ho Cho <darkcircle.0426@gmail.com>, 2023, 2024. | |
9 .\" | |
10 .\"******************************************************************* | |
11 .\" | |
12 .\" This file was generated with po4a. Translate the source file. | |
13 .\" | |
14 .\"******************************************************************* | |
15 .TH XZ 1 2024\-12\-30 Tukaani "XZ 유틸리티" | |
16 . | |
17 .SH 이름 | |
18 xz, unxz, xzcat, lzma, unlzma, lzcat \- .xz 파일과 .lzma 파일을 압축 또는 압축 해제합니다 | |
19 . | |
20 .SH 요약 | |
21 \fBxz\fP [\fI<옵션>...\fP] [\fI<파일>...\fP] | |
22 . | |
23 .SH "명령 별칭" | |
24 \fBunxz\fP 명령은 \fBxz \-\-decompress\fP 명령과 동일합니다. | |
25 .br | |
26 \fBxzcat\fP 명령은 \fBxz \-\-decompress \-\-stdout\fP 명령과 동일합니다. | |
27 .br | |
28 \fBlzma\fP 명령은 \fBxz \-\-format=lzma\fP 명령과 동일합니다. | |
29 .br | |
30 \fBunlzma\fP 명령은 \fBxz \-\-format=lzma \-\-decompress\fP 명령과 동일합니다. | |
31 .br | |
32 \fBlzcat\fP 명령은 \fBxz \-\-format=lzma \-\-decompress \-\-stdout\fP 명령과 동일합니다. | |
33 .PP | |
34 파일 압축을 해제해야 하는 셸 스크립트를 작성할 때, \fBunxz\fP 와 \fBxzcat\fP 이름 대신 \fBxz\fP 명령과 적절한 인자 | |
35 값(\fBxz \-d\fP 또는 \fBxz \-dc\fP)의 사용을 추천드립니다. | |
36 . | |
37 .SH 설명 | |
38 \fBxz\fP는 \fBgzip\fP(1) 과 \fBbzip2\fP(1) 과 비슷한 명령행 문법을 지닌 범용 데이터 압축 도구입니다. 자체 파일 | |
39 형식은 \fB.xz\fP 형식이나, LZMA 유틸리티에서 사용하는 예전 \fB.lzma\fP 형식과 형식 헤더가 없는 RAW 압축 스트림도 | |
40 지원합니다. 게다가, \fBlzip\fP에서 활용하는 \fB.lz\fP 형식 압축 해제도 지원합니다. | |
41 .PP | |
42 각 \fI파일\fP 에 대한 \fBxz\fP 압축 또는 압축 해제는 선택 동작 모드에 따릅니다. \fI<파일>\fP 값이 주어졌거나 | |
43 \fI<파일>\fP 값이 \fB\-\fP이면, \fBxz\fP 명령에서 표준 입력을 읽고 처리한 데이터를 표준 출력에 기록합니다. | |
44 \fBxz\fP 에서는 터미널에서 활용할 경우 압축 데이터를 표준 압축으로 기록하는 동작을 거절(오류를 출력하고 \fI<파일>\fP을 | |
45 건너뜀)합니다. 이와 비슷하게, \fBxz\fP 유틸리티를 터미널에서 실행하면 표준 입력의 압축 데이터 읽기를 거절합니다. | |
46 .PP | |
47 \fB\-\-stdout\fP 을 지정하지 않는 한, \fB\-\fP가 아닌 \fI<파일>\fP을 원본 \fI<파일>\fP 이름에서 | |
48 가져온 새 파일 이름으로 기록합니다: | |
49 .IP \(bu 3 | |
50 압축할 때, 대상 파일 형식의 접미사(\fB.xz\fP or \fB.lzma\fP) 는 원본 파일 이름 뒤에 붙어 대상 파일이름이 됩니다. | |
51 .IP \(bu 3 | |
52 압축 해제할 때, \fB.xz\fP, \fB.lzma\fP, \fB.lz\fP 접미사를 파일 이름에서 제거하고 대상 파일 이름을 알아냅니다. | |
53 \fBxz\fP에서는 \fB.txz\fP, \fB.tlz\fP 접미사도 인식하며, \fB.tar\fP 접미사로 치환합니다. | |
54 .PP | |
55 대상 파일이 이미 있으면, 오류를 나타내고 \fI<파일>\fP을 건너뜁니다. | |
56 .PP | |
57 표준 출력으로 기록하기 전에는, \fBxz\fP는 경고를 나타내며, 다음 조건에 만족할 경우 \fI<파일>\fP을 건너뜁니다: | |
58 .IP \(bu 3 | |
59 \fI<파일>\fP이 일반 파일이 아닐 때. 심볼릭 링크는 따라가지 않기에, 일반 파일로 간주하지 않습니다. | |
60 .IP \(bu 3 | |
61 \fI<파일>\fP이 하나 이상의 하드 링크일 떄. | |
62 .IP \(bu 3 | |
63 \fI<파일>\fP에 setuid, setgid, 끈적이 비트 집합이 붙어있을 떄. | |
64 .IP \(bu 3 | |
65 동작 모드를 압축으로 설정하고, \fI<파일>\fP은 대상 파일 형식의 접미사를 이미 붙였을 때(\fB.xz\fP 형식으로 압축하면 | |
66 \&\fB.xz\fP 또는 \fB.txz\fP, \fB.lzma\fP 형식으로 압축하면 \fB.lzma\fP 또는 \fB.tlz\fP). | |
67 .IP \(bu 3 | |
68 동작 모드를 압축 해제로 설정하고, \fI<파일>\fP에 지원 파일 형식 접미사(\fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, | |
69 \&\fB.tlz\fP, \fB.lz\fP)를 붙이지 않았을 때. | |
70 .PP | |
71 \fI<파일>\fP 의 압축 또는 압축 해제를 성공하고 나면, \fBxz\fP는 소유자, 소유그룹, 권한, 접근 시각, 수정 시각 | |
72 정보를 원본 \fI<파일>\fP에서 대상 파일로 그대로 복사합니다. 그룹 정보 복사에 실패하면, 권한을 수정하여 원본 | |
73 \fI<파일>\fP에 접근 권한이 없는 사용자가 대상 파일로 접근하지 못하게 합니다. \fBxz\fP는 아직 접근 제어 목록이나 | |
74 확장 속성 등의 기타 메타데이터를 복사하는 기능은 지원하지 않습니다. | |
75 .PP | |
76 대상 파일을 온전히 닫고 나면, \fB\-\-keep\fP 옵션을 지원하지 않았을 경우 원본 \fI<파일>\fP을 제거합니다. 원본 | |
77 \fI<파일>\fP은 출력을 표준 출력으로 기록했거나 오류가 발생했을 경우 제거하지 않습니다. | |
78 .PP | |
79 \fBxz\fP 프로세스에 \fBSIGINFO\fP 시그널 또는 \fBSIGUSR1\fP 시그널을 보내면 표준 출력으로 진행 정보를 출력합니다. 표준 | |
80 오류가 터미널일 경우일 경우에만 제한하며 \fB\-\-verbose\fP 옵션을 지정하면 진행 표시줄을 자동으로 나타냅니다. | |
81 . | |
82 .SS "메모리 사용" | |
83 \fBxz\fP 메모리 사용은 수백 킬로바이트로 시작하여 수 기가바이트까지 압축 설정에 따라 다릅니다. 압축 해제 프로그램이 필요로 하는 | |
84 메모리 공간을 결정하는 파일 압축시에 설정 값을 활용합니다. 보통 압축 해제 프로그램은 파일을 만들 때, 압축 프로그램 메모리 사용량의 | |
85 5% 에서 20% 정도 필요합니다. 예를 들면, \fBxz \-9\fP로 압축한 파일 압축 해제시 현재 65MiB 메모리 용량이 필요합니다. | |
86 여전하게도, 압축 해제시 수 기가 바이트의 메모리가 필요한 \fB.xz\fP 파일에도 가능한 이야기입니다. | |
87 .PP | |
88 특히 이전 시스템 사용자의 경우 메모리 사용량이 엄청나게 늘어나는 점에 짜증이 날 수 있습니다. 이런 불편한 상황을 피하기 위해, | |
89 \fBxz\fP에 기본적으로 비활성 상태인 내장 메모리 사용 제한 기능을 넣었습니다. 일부 운영체제에서 처리 중 메모리 사용을 제한하는 | |
90 수단을 제공하긴 하지만, 여기에 의지하기에는 충분히 유연하지 않습니다(예를 들면, \fBulimit\fP(1)을 사용하면 가상 메모리를 | |
91 제한하여 \fBmmap\fP(2)을 먹통으로 만듭니다). | |
92 .PP | |
93 메모리 사용 제한 기능은 \fB\-\-memlimit=\fP\fI<제한용량>\fP 명령행 옵션으로 사용할 수 있습니다. 종종 | |
94 \fBXZ_DEFAULTS=\-\-memlimit=150MiB\fP와 같이 \fBXZ_DEFAULTS\fP 환경 변수를 설정하여 제한 기능을 켜는게 더 | |
95 편합니다. \fB\-\-memlimit\-compress=\fP\fI<제한용량>\fP 옵션과 | |
96 \fB\-\-memlimit\-decompress=\fP\fI<제한용량>\fP 옵션을 활용하여 압축 및 압축 해제시 별도로 한계 값을 | |
97 설정할 수 있습니다. 이 두 가지 옵션의 \fBXZ_DEFAULTS\fP 환경 변수 밖에서의 사용은, \fBxz\fP를 단일 실행할 때 압축 및 | |
98 압축 해제 동작을 동시에 수행하지 않으며, 앞서 언급한 두가지 옵션을 명령행에 입력하기에는 | |
99 \fB\-\-memlimit=\fP\fI<제한용량>\fP(또는 \fB\-M\fP \fI<제한용량>\fP)이 더 짧기 때문에 별로 쓸모가 | |
100 없습니다. | |
101 .PP | |
102 압축 해제시 메모리 사용 제한 지정 한계를 초과하면, \fBxz\fP 유틸리티에서 오류를 나타내며 파일 압축 해제는 실패합니다. 압축을 | |
103 실행할 때 사용 제한 지정 한계를 넘어서면 \fBxz\fP에서는 설정 값을 줄여서 어쨌든 한계를 넘지 못하게 | |
104 합니다(\fB\-\-format=raw\fP 옵션 또는 \fB\-\-no\-adjust\fP 옵션 사용시 제외). 설정 한계 값이 엄청 작지 않은 이상 이 | |
105 방식대로 처리하면 어쨌든 실패하지 않습니다. 설정 값조정은 압축 래벨 사전 설정과 일치하지 않을 때 단계적으로 진행하는데, 이를테면, | |
106 \fBxz \-9\fP 명령 수행에 필요한 양보다 한계 값이 약간 작으면, 설정 값을 \fBxz \-8\fP에 못미치게 약간 줄여서 진행합니다. | |
107 . | |
108 .SS ".xz 파일 결합 및 패딩" | |
109 \&\fB.xz\fP 파일을 있는 그대로 합칠 수 있습니다. \fBxz\fP는 \fB.xz\fP 파일을 단독 파일일 때 처럼 압축해제합니다. | |
110 .PP | |
111 결합 부분과 마지막 부분 뒤에 패딩을 추가할 수 있습니다. 패딩은 널 바이트로 구성해야 하며 패딩 길이는 4바이트로 구성해야 합니다. | |
112 512 바이트 블록으로 파일 크기를 이루는 매체에 \fB.xz\fP 파일을 저장했을 경우에 요긴할 수 있습니다. | |
113 .PP | |
114 \&\fB.lzma\fP 파일 또는 원시 스트림의 경우 결합과 패딩을 허용하지 않습니다. | |
115 . | |
116 .SH 옵션 | |
117 . | |
118 .SS "정수 접두사와 별도 값" | |
119 정수 인자값이 필요한 대부분 위치에서는, 큰 정수값을 나타내기 쉽게 하도록 추가 접미사를 지원합니다. 정수와 접미사 사이에 어떤 공백이 | |
120 있으면 안됩니다. | |
121 .TP | |
122 \fBKiB\fP | |
123 1,024 (2^10) 배수 정수값. \fBKi\fP, \fBk\fP, \fBkB\fP, \fBK\fP, \fBKB\fP 단위를 \fBKiB\fP 동의어로 받아들입니다. | |
124 .TP | |
125 \fBMiB\fP | |
126 1,048,576 (2^20) 배수 정수값. \fBMi\fP, \fBm\fP, \fBM\fP, \fBMB\fP 단위를 \fBMiB\fP 동의어로 받아들입니다. | |
127 .TP | |
128 \fBGiB\fP | |
129 1,073,741,824 (2^30) 배수 정수값. \fBGi\fP, \fBg\fP, \fBG\fP, \fBGB\fP 단위를 \fBGiB\fP 동의어로 | |
130 받아들입니다. | |
131 .PP | |
132 특수 값 \fBmax\fP는 옵션에서 지원하는 정수 최대 값을 나타낼 때 사용할 수 있습니다. | |
133 . | |
134 .SS "동작 모드" | |
135 여러 동작 모드를 보여드리겠습니다만, 마지막에 주어진 동작 모드로 동작합니다. | |
136 .TP | |
137 \fB\-z\fP, \fB\-\-compress\fP | |
138 압축합니다. 어떤 동작 모드 옵션도 지정하지 않고 다른 동작 모드를 명령행에 따로 지정하지 않았다면 이 동작 모드는 기본입니다(예: | |
139 \fBunxz\fP 는 \fB\-\-decompress\fP를 암시). | |
140 .IP "" | |
141 .\" The DESCRIPTION section already says this but it's good to repeat it | |
142 .\" here because the default behavior is a bit dangerous and new users | |
143 .\" in a hurry may skip reading the DESCRIPTION section. | |
144 After successful compression, the source file is removed unless writing to | |
145 standard output or \fB\-\-keep\fP was specified. | |
146 .TP | |
147 \fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP | |
148 .\" The DESCRIPTION section already says this but it's good to repeat it | |
149 .\" here because the default behavior is a bit dangerous and new users | |
150 .\" in a hurry may skip reading the DESCRIPTION section. | |
151 Decompress. After successful decompression, the source file is removed | |
152 unless writing to standard output or \fB\-\-keep\fP was specified. | |
153 .TP | |
154 \fB\-t\fP, \fB\-\-test\fP | |
155 압축 \fI<파일>\fP의 무결성을 시험해봅니다. 이 옵션은 압축 해제 데이터를 표준 출력으로 기록하는 대신 버린다는 점을 | |
156 제외하고 \fB\-\-decompress \-\-stdout\fP과 동일합니다. 어떤 파일도 만들거나 제거하지 않습니다. | |
157 .TP | |
158 \fB\-l\fP, \fB\-\-list\fP | |
159 압축 \fI<파일>\fP 정보를 출력합니다. 압축 해제 출력을 내보내지 않으며, 어떤 파일도 만들거나 제거하지 않습니다. 이 | |
160 조회 모드에서, 프로그램은 표준 입력 또는 기타 탐색 불가능한 원본에서 압축 데이터를 읽을 수 없습니다. | |
161 .IP "" | |
162 \fI<파일>\fP 기본 정보를 파일 당 한 줄 씩 기본으로 보여줍니다. 더 자세한 정보를 보려면 \fB\-\-verbose\fP | |
163 옵션을 사용하십시오. 더 자세한 정보는 \fB\-\-verbose\fP 옵션을 두번 사용하면 되지만, 추가 정보를 더 많이 가져오면서 탐색 | |
164 횟수가 늘어나는 문제로 인해 느려질 수 있습니다. 세부 출력 너비는 80 문자를 초과하며, 예를 들어 출력을 파이핑한다면, 터미널이 | |
165 충분히 너비가 넓지 못할 경우 \fBless\ \-S\fP 명령이 편리할 수 있습니다. | |
166 .IP "" | |
167 정확한 출력은 \fBxz\fP 버전과 다른 로캘에 따라 바뀔 수 있습니다. 기계 판독용 출력시 \fB\-\-robot \-\-list\fP 옵션을 | |
168 사용합니다. | |
169 . | |
170 .SS "동작 수정자" | |
171 .TP | |
172 \fB\-k\fP, \fB\-\-keep\fP | |
173 입력 파일을 삭제하지 않습니다. | |
174 .IP "" | |
175 \fBxz\fP 5.2.6 부터는 이 옵션으로 입력 파일이 일반 파일을 참조하는 심볼릭 링크나 하나 이상의 하드 링크, 내지는 setuid, | |
176 setgid, 끈적이 비트 세트를 설정한 상태라도 압축하거나 압축을 풀 수 있습니다. setuid, setgid, 끈적이 비트는 대상 | |
177 파일에 복사하지 않습니다. 이전 버전에서는 \fB\-\-force\fP 옵션을 지정했을 때만 가능했습니다. | |
178 .TP | |
179 \fB\-f\fP, \fB\-\-force\fP | |
180 이 옵션은 몇가지 동작에 영향을 줍니다: | |
181 .RS | |
182 .IP \(bu 3 | |
183 대상 파일이 이미 있으면, 압축 또는 압축 해제 전 삭제합니다. | |
184 .IP \(bu 3 | |
185 입력 파일이 일반 파일을 참조하는 심볼릭 링크나 하나 이상의 하드 링크, 내지는 setuid, setgid, 끈적이 비트 세트를 설정한 | |
186 상태라도 압축 또는 압축 해제를 진행합니다. setuid, setgid, 끈적이 비트는 대상 파일에 복사하지 않습니다. | |
187 .IP \(bu 3 | |
188 \fB\-\-decompress\fP \fB\-\-stdout\fP 옵션을 같이 사용하는 상황에서 \fBxz\fP 명령이 원본 파일의 형식을 알아내지 못할 때, | |
189 원본 파일의 사본을 표준 출력으로 보냅니다. 이렇게 하면 \fBxzcat\fP \fB\-\-force\fP 명령을 \fBxz\fP 명령으로 압축하지 않은 | |
190 파일에 대해 \fBcat\fP(1) 을 사용하는 것처럼 사용할 수 있습니다. 참고로 나중에, \fBxz\fP에서 \fBxz\fP로 하여금 여러 형식의 | |
191 파일을 표준 출력으로 복사하는 대신 압축을 해제하도록 새 압축 파일 형식을 지원할 예정입니다. | |
192 \fB\-\-format=\fP\fI<형식>\fP 옵션은 \fBxz\fP 명령에 단일 파일 형식만 압축 해제하도록 제한할 때 사용할 수 | |
193 있습니다. | |
194 .RE | |
195 .TP | |
196 \fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP | |
197 파일 대신 표준 출력으로 압축 또는 압축 해제한 데이터를 기록합니다. \fB\-\-keep\fP를 생략했습니다. | |
198 .TP | |
199 \fB\-\-single\-stream\fP | |
200 처음 \fB.xz\fP 스트림만 압축 해제하며, 스트림에 뒤따라오는 나머지 입력 데이터는 조용히 무시합니다. 보통 뒤따라오는 쓰레기 값에 | |
201 대해서는 \fBxz\fP 에서 오류를 나타냅니다. | |
202 .IP "" | |
203 \fBxz\fP는 \fB.lzma\fP 파일 또는 원시 스트림에서 온 하나 이상의 스트림에 대해 압축 해제동작을 취하지 않지만, 이 옵션을 사용하면 | |
204 \fBxz\fP에서 \fB.lzma\fP 파일 또는 원시 스트림을 처리한 다음에 뒤따라오는 데이터를 무시하도록 합니다. | |
205 .IP "" | |
206 이 옵션은 동작 모드가 \fB\-\-decompress\fP 또는 \fB\-\-test\fP가 아니면 동작에 아무런 영향을 주지 않습니다. | |
207 .TP | |
208 \fB\-\-no\-sparse\fP | |
209 희소 파일을 만들지 않습니다. 기본적으로 일반 파일로 압축 해제할 경우 \fBxz\fP 에서는 압축 해제한 파일에 이진 0값이 길게 늘어질 | |
210 경우 희소 배열 파일을 만들려고 합니다. 표준 출력의 내용 길이만큼 연결한 일반 파일로 기록할 때도 동작하며 희소 파일을 만드는 동안 | |
211 아무런 문제가 나타나지 않게 각각의 추가 조건을 만족합니다. 희소 파일을 만들면 디스크 공간을 절약할 수 있으며 디스크 입출력을 줄여 | |
212 압축 해제 속도를 올릴 수 있습니다. | |
213 .TP | |
214 \fB\-S\fP \fI.suf\fP, \fB\-\-suffix=\fP\fI.suf\fP | |
215 압축할 때, 대상 파일의 접두사를 \fB.xz\fP 또는 \fB.lzma\fP 대신 \fI.suf\fP로 사용하십시오. 표준 출력으로 기록하지 않고 | |
216 원본 파일에 \fI.suf\fP 접두사가 붙어있으면, 경고를 나타내고 해당 파일을 건너뜁니다. | |
217 .IP "" | |
218 압축 해제할 때, \fI.suf\fP 접미사로 파일을 인식하기도 하고, \fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, \fB.tlz\fP, | |
219 \&\fB.lz\fP 접미사가 붙은 파일도 인식합니다. 원본 파일에 \fI.suf\fP 접미사가 붙어있으면, 해당 접미사를 제거하여 대상 파일 이름을 | |
220 알아냅니다. | |
221 .IP "" | |
222 원시 스트림 압축 및 압축 해제시(\fB\-\-format=raw\fP) 원시 스트림에 기본 접미사가 없기 때문에, 표준 출력으로 기록하지 않는 | |
223 한 접미사를 반드시 지정해야 합니다. | |
224 .TP | |
225 \fB\-\-files\fP[\fB=\fP\fI<파일>\fP] | |
226 \fI<파일>\fP에서 처리할 파일 이름을 읽습니다. \fI<파일>\fP을 생략하면 파일 이름은 표준 입력에서 | |
227 불러옵니다. 파일 이름은 개행 문자로 끝나야 합니다. 대시 문자(\fB\-\fP)는 일반 파일 이름으로 취급하며 표준 입력을 의미하지 | |
228 않습니다. 파일 이름을 명령행 인자로 지정하면, \fI<파일>\fP에서 파일 이름을 읽어들이기 전 해당 명령행 인자를 먼저 | |
229 처리합니다. | |
230 .TP | |
231 \fB\-\-files0\fP[\fB=\fP\fI<파일>\fP] | |
232 각 파일 이름이 널 문자로 끝나야 한다는 점만 제외하면 \fB\-\-files\fP[\fB=\fP\fI<파일>\fP] 옵션과 동일합니다. | |
233 . | |
234 .SS "기본 파일 형식 및 압축 옵션" | |
235 .TP | |
236 \fB\-F\fP \fIformat\fP, \fB\-\-format=\fP\fI<형식>\fP | |
237 압축 또는 압축해제 파일 \fI<형식>\fP을 지정합니다: | |
238 .RS | |
239 .TP | |
240 \fBauto\fP | |
241 기본 값입니다. 압축할 때, \fBauto\fP는 \fBxz\fP의 기본 동작과 동일합니다. 압축을 해제할 때, 입력 파일 형식을 자동으로 | |
242 찾습니다. 참고로 원시 스트림(\fB\-\-format=raw\fP)의 경우 자동으로 찾을 수 없습니다. | |
243 .TP | |
244 \fBxz\fP | |
245 \&\fB.xz\fP 파일 형식으로 압축하거나, 압축 해제시 \fB.xz\fP 파일만 받아들입니다. | |
246 .TP | |
247 \fBlzma\fP, \fBalone\fP | |
248 이전 \fB.lzma\fP 파일 형식으로 압축하거나, 압축 해제시 \fB.lzma\fP 파일만 받아들입니다. \fBalone\fP 대체 명령은 LZMA | |
249 유틸리티 하위 호환성을 목적으로 제공합니다. | |
250 .TP | |
251 \fBlzip\fP | |
252 압축 해제시 \fB.lz\fP 파일만 받아들입니다. 압축은 지원하지 않습니다. | |
253 .IP "" | |
254 \&\fB.lz\fP 형식 버전 0과 비확장 버전 1을 지원합니다. 버전 0파일은 \fBlzip\fP 1.3 이전에서만 만듭니다. 일반적이진 않지만 | |
255 일부 파일의 경우 이 형식과 관련된 원본 패키지로 보관한 파일을 찾을 수도 있습니다. 개인적으로 이 형식으로 압축한 오래된 개인 파일을 | |
256 가지고 있을 수도 있습니다. 형식 버전 0 압축 해제 지원은 \fBlzip\fP 1.18에서 제거했습니다. | |
257 .IP "" | |
258 \fBlzip\fP 1.4 이상에서는 버전 1형식의 파일을 만듭니다. 형식 버전 1로의 동기화 제거 마커 확장은 \fBlzip\fP 1.6에 | |
259 추가했습니다. 이 확장은 거의 쓰지 않으며 \fBxz\fP 에서 조차도 지원하지 않습니다(손상된 입력 파일로 진단함). | |
260 .TP | |
261 \fBraw\fP | |
262 원시 스트림으로 압축하거나 압축을 해제합니다(헤더 없음). 고급 사용자 전용입니다. 원시 스트림을 디코딩하려면, | |
263 \fB\-\-format=raw\fP 옵션을 사용하고 분명하게 필터 체인을 지정하여 컨테이너 헤더에 필요한 정보를 저장하게 끔 해야합니다. | |
264 .RE | |
265 .TP | |
266 \fB\-C\fP \fI<검사방식>\fP, \fB\-\-check=\fP\fI<검사방식>\fP | |
267 무결성 검사 방식을 지정합니다. 검사 방식은 \fB.xz\fP 파일에 저장하며 압축 해제 데이터를 계산합니다. 이 옵션은 \fB.xz\fP | |
268 형식으로 압축할 때만 효력이 있습니다: \fB.lzma\fP 형식은 무결성 겁사를 지원하지 않습니다. 무결성 검사는 \fB.xz\fP 파일 압축을 | |
269 풀었을 때에 검사합니다. | |
270 .IP "" | |
271 지원 \fI검사\fP 형식: | |
272 .RS | |
273 .TP | |
274 \fBnone\fP | |
275 어떤 경우에도 무결성 검사 계산을 수행하지 않습니다. 보통 바람직하지 못한 생각입니다. 데이터 무결성을 다른 방식으로라도 검증해야 | |
276 하는 상황이면 쓸만할 수 있습니다. | |
277 .TP | |
278 \fBcrc32\fP | |
279 IEEE\-802.3 (이더넷)의 다항 연산으로 CRC32를 계산합니다. | |
280 .TP | |
281 \fBcrc64\fP | |
282 ECMA\-182의 다항식 연산으로 CRC64를 계산합니다. 이 동작이 기본 동작이기 때문에 CRC32가 깨진 파일을 찾을 때보다는 좀 | |
283 낮은 편이며 속도 차이도 거의 없습니다. | |
284 .TP | |
285 \fBsha256\fP | |
286 SHA\-256 해시를 계산합니다. CRC32와 CRC64 보다는 좀 느립니다. | |
287 .RE | |
288 .IP "" | |
289 \&\fB.xz\fP 헤더 무결성은 항상 CRC32로 검증하빈다. 이를 바꾸거나 It is not possible to change or | |
290 disable it. | |
291 .TP | |
292 \fB\-\-ignore\-check\fP | |
293 압축 데이터를 압축해제할 경우 압축 데이터의 무결성 검증을 진행하지 않습니다. \fB.xz\fP 헤더의 CRC32 값은 그래도 여전히 보통 | |
294 방식으로 검증합니다. | |
295 .IP "" | |
296 \fB이 옵션이 정확히 무슨 동작을 하는지 알기 전에는 사용하지 마십시오.\fP 이 옵션을 사용하는 타당한 이유로: | |
297 .RS | |
298 .IP \(bu 3 | |
299 깨진 .xz 파일에서 데이터 복구를 시도합니다. | |
300 .IP \(bu 3 | |
301 압축 해제 속도를 늘립니다. SHA\-256 또는 압축 파일에 들어간 그 무언가를 엄청 빨리 처리합니다. 다른 방식으로 파일 무결성을 | |
302 검증해야 하는 목적이 아니라면 이 옵션을 사용하지 않는게 좋습니다. | |
303 .RE | |
304 .TP | |
305 \fB\-0\fP ... \fB\-9\fP | |
306 압축 사전 설정 수준을 선택합니다. 기본값은 \fB\-6\fP입니다. 다중 수준을 지정하면 가장 마지막 수준 옵션을 적용합니다. 개별 필터 | |
307 체인을 이미 지정했다면, 압축 사전 설정 수준 값을 설정할 때 개별 필터 체인을 정리합니다. | |
308 .IP "" | |
309 사전 설정간 차이는 \fBgzip\fP(1)과 \fBbzip2\fP(1)을 사용할 때보다 더 비중을 차지합니다. 선택한 압축 설정은 압축 해제시 | |
310 필요한 메모리 사용량을 셜정하므로 사전 설정 수준 값을 너무 높게 지정하면 RAM 용량이 적은 오래된 시스템에서 파일 압축 해제시 실패할 | |
311 수 있습니다. 게다가, \fBgzip\fP(1) 과 \fBbzip2\fP(1)에서 처럼 종종 \fB모든 동작에 \-9를 몰래 활용하는건 바람직하지 않습니다\fP. | |
312 .RS | |
313 .TP | |
314 \fB\-0\fP ... \fB\-3\fP | |
315 동작이 빠른 사전 설정 부류입니다. \fB\-0\fP은 때로는 \fBgzip \-9\fP 명령보다 압축율이 훨씬 우수하면서도 더 빠릅니다. 더 큰 | |
316 값은 보통 \fBbzip2\fP(1) 명령과 비교했을 떄 압축 결과가 압축 데이터에 따라 달라지더라도, 비교할 법한 속도 또는 더 나은 | |
317 압축율을 보입니다. | |
318 .TP | |
319 \fB\-4\fP ... \fB\-6\fP | |
320 오래된 시스템에서 조차도 압축 해제 프로그램의 적절한 메모리 사용량을 보이면서 양호하거나 최적의 압축율을 보여줍니다. \fB\-6\fP 옵션은 | |
321 압축 해제시 메모리 사용량이 16MiB 밖에 안되기 때문에 파일을 배포할 때 최적의 선택인 기본 값입니다. (\fB\-5e\fP 또는 | |
322 \fB\-6e\fP도 역시 고려할 만합니다. \fB\-\-extreme\fP을 참고하십시오.) | |
323 .TP | |
324 \fB\-7 ... \-9\fP | |
325 \fB\-6\fP과 비슷하지만 압축 및 압축 해제시 요구 메모리 사용량이 더 높습니다. 압축 파일이 각각 8MiB, 16MiB, 32MiB | |
326 보다 클 경우에만 쓸만한 옵션입니다. | |
327 .RE | |
328 .IP "" | |
329 동일한 하드웨어에서, 압축 해제 속도는 압축한 데이터의 초당 정적 바이트 처리 수의 어림 평균입니다. 다시 말해, 압축율을 더 올리면, | |
330 압축 해제 속도도 역시 올라갑니다. 이는 곧 초당 비압축 데이터 출력 양이 달라질 수 있단 뜻입니다. | |
331 .IP "" | |
332 다음 표에 사전 설정 기능을 정리했습니다: | |
333 .RS | |
334 .RS | |
335 .PP | |
336 .TS | |
337 tab(;); | |
338 c c c c c | |
339 n n n n n. | |
340 Preset;DictSize;CompCPU;CompMem;DecMem | |
341 \-0;256 KiB;0;3 MiB;1 MiB | |
342 \-1;1 MiB;1;9 MiB;2 MiB | |
343 \-2;2 MiB;2;17 MiB;3 MiB | |
344 \-3;4 MiB;3;32 MiB;5 MiB | |
345 \-4;4 MiB;4;48 MiB;5 MiB | |
346 \-5;8 MiB;5;94 MiB;9 MiB | |
347 \-6;8 MiB;6;94 MiB;9 MiB | |
348 \-7;16 MiB;6;186 MiB;17 MiB | |
349 \-8;32 MiB;6;370 MiB;33 MiB | |
350 \-9;64 MiB;6;674 MiB;65 MiB | |
351 .TE | |
352 .RE | |
353 .RE | |
354 .IP "" | |
355 컬럼 설명: | |
356 .RS | |
357 .IP \(bu 3 | |
358 DictSize는 LZMA2 딕셔너리 크기입니다. 압축 해제 파일의 크기보다 딕셔너리에서 사용하는 낭비 메모리 용량입니다. 실제로 | |
359 필요하지 않은 \fB\-7\fP ... \fB\-9\fP 사전 설정값을 피해야 하는 적절한 이유이기도 합니다. \fB\-6\fP 이하에서는 소모 메모리 양이 | |
360 충분히 적거나 따로 신경쓸 필요가 없습니다. | |
361 .IP \(bu 3 | |
362 CompCPU는 압축 속도에 영향을 주는 LZMA2 설정의 단순화 표기 값입니다. 딕셔너리 크기는 속도에도 영향을 주기 때문에 | |
363 CompCPU는 \fB\-6\fP ... \fB\-9\fP 수준값과 동일한데, 고수준 값은 여전히 조금 더 느려질 수 있습니다. 느려지는 만큼 | |
364 압축율은 가능한 한 더 좋아집니다. \fB\-\-extreme\fP을 참고하십시오. | |
365 .IP \(bu 3 | |
366 CompMem은 단일\-스레드 모드에서 필요한 압축 프로그램의 메모리 점유 용량입니다. \fBxz\fP 버전에 따라 다를 수 있습니다. | |
367 .IP \(bu 3 | |
368 DecMem은 압축 해제 프로그램의 메모리 점유용량입니다. 이는 곧, 압축 해제 프로그램에서 필요한 메모리 사용량을 압축 설정에서 | |
369 결정한다는 의미가 들어있습니다. 정확한 압축 해제 프로그램의 메모리 사용량은 LZMA2 딕셔너리 크기 보다는 조금 많지만 테이블의 값은 | |
370 MiB 용량으로 완전히 반올림한 값입니다. | |
371 .RE | |
372 .IP "" | |
373 다중\-스레드 모드에서 필요한 메모리 용량은 단일\-스레드 모드보단 약간 더 많습니다. \fB\-\-block\-size\fP 기본값에 따라, 각 | |
374 스레드에서는 3*3*딕셔녀리_크기 + 압축시_메모리용량 또는 압축_해제시_메모리용량 정도가 필요합니다. 예를 들면, 스레드 넷에 사전 | |
375 설정 옵션 \fB\-6\fP을 사용한다면, 660\(en670 MiB 메모리 용량이 필요합니다. | |
376 .TP | |
377 \fB\-e\fP, \fB\-\-extreme\fP | |
378 기대하는 만큼의 좀 더 나은 압축율을 확보하려 선택한 압축 사전 설정 수준의 느린 변형 옵션을 사용하지만, 재수 없는 와중에 골로 가는 | |
379 경우가 생기기도 합니다. 압축 해제 프로그램의 메모리 사용에는 영향을 주지 않지만, 압축 프로그램의 메모리 사용량은 \fB\-0\fP | |
380 \&... \fB\-3\fP 사전 설정 수준에서 약간 더 올라갈 뿐입니다. | |
381 .IP "" | |
382 4MiB와 8MiB 두 가지 딕셔너리 용량 설정이 있기 때문에 \fB\-3e\fP 와 \fB\-5e\fP 사전 설정을 (CompCPU 수치를 낮춰서) | |
383 각각 \fB\-4e\fP 와 \fB\-6e\fP 보다 약간 더 빠르게 설정할 수 있습니다. 이런 식으로 두 사전 설정이 동일하지 않습니다. | |
384 .RS | |
385 .RS | |
386 .PP | |
387 .TS | |
388 tab(;); | |
389 c c c c c | |
390 n n n n n. | |
391 Preset;DictSize;CompCPU;CompMem;DecMem | |
392 \-0e;256 KiB;8;4 MiB;1 MiB | |
393 \-1e;1 MiB;8;13 MiB;2 MiB | |
394 \-2e;2 MiB;8;25 MiB;3 MiB | |
395 \-3e;4 MiB;7;48 MiB;5 MiB | |
396 \-4e;4 MiB;8;48 MiB;5 MiB | |
397 \-5e;8 MiB;7;94 MiB;9 MiB | |
398 \-6e;8 MiB;8;94 MiB;9 MiB | |
399 \-7e;16 MiB;8;186 MiB;17 MiB | |
400 \-8e;32 MiB;8;370 MiB;33 MiB | |
401 \-9e;64 MiB;8;674 MiB;65 MiB | |
402 .TE | |
403 .RE | |
404 .RE | |
405 .IP "" | |
406 예를 들면, 8MiB 딕셔너리를 활용하는 네가지 사전 설정이 있다고 할 때, 빠른 순으로 설정을 나열하자면, \fB\-5\fP, \fB\-6\fP, | |
407 \fB\-5e\fP, \fB\-6e\fP 입니다. | |
408 .TP | |
409 \fB\-\-fast\fP | |
410 .PD 0 | |
411 .TP | |
412 \fB\-\-best\fP | |
413 .PD | |
414 이 옵션은 \fB\-0\fP 과 \fB\-9\fP의 별칭으로 각각 오해할 수 있습니다. LZMA 유틸리티의 하위 호환성을 목적으로 제공합니다. 이 | |
415 옵션 사용은 피하십시오. | |
416 .TP | |
417 \fB\-\-block\-size=\fP\fI<크기>\fP | |
418 \&\fB.xz\fP 형식으로 압축할 때, 입력 데이터를 \fI<크기>\fP 바이트 블록으로 입력 데이터를 쪼갭니다. 각각의 블록은 | |
419 다중\-스레드 방식으로 처리할 수 있고 임의 접근 압축 해제 가능성을 제한할 수 있게 개별적으로 압축 처리합니다. 이 옵션은 보통 | |
420 다중\-스레드 모드에서 기본 블록 크기를 지정할 때 사용하지만, 단일\-스레드 모드에서도 사용할 수 있습니다. | |
421 .IP "" | |
422 다중\-스레드 모드에서는 약 3배 용량의 \fI<크기>\fP 바이트만큼 각 스레드 별로 입출력 버퍼링용 공간을 할당합니다. 기본 | |
423 \fI<크기>\fP는 LZMA2 딕셔너리 크기 또는 1MiB 중 가장 큰 쪽의 세 배입니다. 보통 적절한 값으로 LZMA2 | |
424 딕셔너리 크기 또는 최소한 1MiB 용량의 2\(en4배입니다. LZMA2 딕셔너리 크기보다 작은 \fI<크기>\fP는 램의 | |
425 소모적 사용 공간으로 할당하는데 LZMA2 딕셔너리 버퍼를 할당한 용량 크기 전체를 다 사용하지 않기 때문입니다. 다중\-스레드 모드에서 | |
426 블록 크기는 블록 헤더에 저장하며, 이 크기 정보는 다중\-스레드 압축 해제시 필요합니다. | |
427 .IP "" | |
428 단일\-스레드 모드에서는 기본적으로 블록 쪼개기를 하지 않습니다. 이 옵션을 설정한다고 해서 메모리 사용에 영향을 주지는 않습니다. | |
429 블록 헤더에 크기 정보를 저장하지 않기 때문에 단일\-스레드 모드에서 만든 파일은 다중\-스레드 모드에서 만든 파일과 동일하지 않습니다. | |
430 크기 정보의 누락은 또한 \fBxz\fP에서 다중\-스레드 모드로 압축 해제를 진행할 수 없음을 의미하기도 합니다. | |
431 .TP | |
432 \fB\-\-block\-list=\fP\fI<항목>\fP | |
433 \&\fB.xz\fP 형식으로 압축할 때, 압축하지 않은 데이터로 부터 일정 간격 이후에 새 블록 처리를 시작합니다. | |
434 .IP "" | |
435 \fI<항목>\fP은 쉼표로 구분한 목록으로 지정합니다. 각 항목은 콜론 (\fB:\fP)으로 구분한 0부터 9까지의 추가 필터 | |
436 체인 번호 값으로 이루어져 있으며, 압축하지 않은 데이터의 크기 값이 필요합니다. 항목을 생략하면(둘 이상의 쉼표 연속 표기) 이전 | |
437 항목의 크기와 필터를 활용하겠다는 함축 의미를 넣을 수 있습니다. | |
438 .IP "" | |
439 입력 파일이 \fI<항목>\fP 크기의 합보다 크면, 마지막 항목을 파일의 끝까지 반복합니다. 특별히 \fB0\fP 값을 마지막 | |
440 값으로 사용하여 파일 나머지 부분을 단일 블록으로 인코딩해야 한다는 의미를 나타낼 수도 있습니다. | |
441 .IP "" | |
442 \fB\-\-filters1=\fP\fI<필터>\fP \&...\& \fB\-\-filters9=\fP\fI<필터>\fP 옵션 조합으로 | |
443 각 블록별 별도 필터 체인을 지정할 수 있습니다. 이 옵션은 1\(en9번 필터 체인을 지정합니다. 필터 체인 0번은 필터 체인을 | |
444 지정하지 않았을 때와 동일한 기본 필터 체인으로 참조할 수 있습니다. 필터 체인 식별 번호는 비 압축 크기 앞에 콜론(\fB:\fP)을 붙여 | |
445 사용할 수 있습니다. 예를 들면, \fB\-\-block\-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB\fP 옵션을 | |
446 지정했을 경우 다음 규칙대로 블록을 만듭니다: | |
447 .RS | |
448 .IP \(bu 3 | |
449 \fB\-\-filters1\fP 필터 체인에서는 2MiB 입력을 | |
450 .IP \(bu 3 | |
451 \fB\-\-filters3\fP 필터 체인에서는 2MiB 입력을 | |
452 .IP \(bu 3 | |
453 \fB\-\-filters2\fP 필터 체인에서는 4MiB 입력을 | |
454 .IP \(bu 3 | |
455 \fB\-\-filters2\fP 필터 체인에서는 4MiB 입력을 | |
456 .IP \(bu 3 | |
457 기본 필터 체인에서는 2MiB 입력을 | |
458 .IP \(bu 3 | |
459 입력이 끝나기 전의 모든 블록에는 기본 필터 체인과 4MiB 입력을 적용합니다. | |
460 .RE | |
461 .IP "" | |
462 인코더 블록 크기를 초과하는 크기 값을 지정하면(스레드 모드 기본값 또는 \fB\-\-block\-size=\fP\fI<크기>\fP | |
463 옵션으로 지정한 값), 인코더는 \fI<크기>\fP 지정 용량 범위는 유지하면서 추가 블록을 만듭니다. 예를 들면 | |
464 \fB\-\-block\-size=10MiB\fP \fB\-\-block\-list=5MiB,10MiB,8MiB,12MiB,24MiB\fP 옵션을 지정하고 | |
465 입력 파일을 80MiB 용량으로 전달하면, 각각 5, 10, 8, 10, 2, 10, 10, 4, 10, 10, 1 MiB 용량을 | |
466 차지하는 블록 11개를 결과물로 내줍니다. | |
467 .IP "" | |
468 다중\-스레드 모드에서 블록 크기는 블록 헤더에 저장합니다. 단일\-스레드 모드에서는 저장하지 않기 때문에 인코딩 처리한 출력은 | |
469 다중\-스레드 모드의 출력 결과물과는 다릅니다. | |
470 .TP | |
471 \fB\-\-flush\-timeout=\fP\fI<제한시간>\fP | |
472 압축할 때, 이전 데이터를 소거하고 다음 입력을 블록 단위로 더 읽는데 \fI<제한시간>\fP 밀리초(양의 정수값)가 지났을 | |
473 경우, 대기중이던 모든 입력 데이터를 인코더에서 소거한 다음 출력 스트림에 전달합니다. 이런 동작은 네트워크로 스트리밍한 데이터를 | |
474 \fBxz\fP로 압축할 때 쓸만합니다. \fI<제한시간>\fP 값을 적게 지정하면 적은 지연 시간에 데이터를 받아낼 수 있지만 | |
475 \fI<제한시간>\fP 값을 크게 하면 압축율을 높일 수 있습니다. | |
476 .IP "" | |
477 이 기능은 기본적으로 꺼져있습니다. 이 옵션을 한번 이상 지정하면, 마지막 옵션의 값대로 동작합니다. 특별히 | |
478 \fI<제한시간>\fP 값을 \fB0\fP으로 설정하면 이 설정을 완전히 끌 수 있습니다. | |
479 .IP "" | |
480 이 기능은 POSIX 시스템이 아닌 곳에서는 사용할 수 없습니다. | |
481 .IP "" | |
482 .\" FIXME | |
483 \fB이 기능은 여전히 시험중입니다\fP. 현재로서는, \fBxz\fP 버퍼링 처리 방식 때문에 \fBxz\fP의 실시간 스트림 압축 해제 기능 활용은 | |
484 적절하지 않습니다. | |
485 .TP | |
486 \fB\-\-memlimit\-compress=\fP\fI<제한용량>\fP | |
487 압축 수행시 메모리 사용 한계를 지정합니다. 이 옵션을 여러번 지정하면 마지막 값을 취합니다. | |
488 .IP "" | |
489 압축 설정이 \fI<제한용량>\fP을 초과하면, \fBxz\fP는 설정 값의 하향 조정을 시도하여 한계 값을 더이상 넘치지 않게 하고 | |
490 자동 조절을 끝냈다는 알림을 표시합니다. 조정은 다음 순서대로 진행합니다. 스레드 수를 줄입니다. 다중\-스레드 모드에서 스레드 하나의 | |
491 할당 한계치가 \fI<제한용량>\fP을 넘으면 단일\-스레드 모드로 전환합니다. 그 다음 마지막으로 LZMA2 딕셔너리 크기를 | |
492 줄입니다. | |
493 .IP "" | |
494 \fB\-\-format=raw\fP 또는 \fB\-\-no\-adjust\fP 미지정 상황에서 압축할 때, 압축 데이터 출력에 영향을 주지 않고 스레드 | |
495 처리 수만 줄일 수 있습니다. | |
496 .IP "" | |
497 \fI<제한용량>\fP 값이 아래 설명한 조건에 맞지 않으면, 오류가 나타나고 \fBxz\fP 명령은 종료 상태 1번을 반환하며 | |
498 빠져나갑니다. | |
499 .IP "" | |
500 \fI<제한용량>\fP 값은 여러 방식으로 지정할 수 있습니다: | |
501 .RS | |
502 .IP \(bu 3 | |
503 \fI<제한용량>\fP 값은 바이트 용량 절대값입니다. 정수 값을 사용하되 \fBMiB\fP와 같은 접미사를 사용하는게 좋습니다. | |
504 예: \fB\-\-memlimit\-compress=80MiB\fP | |
505 .IP \(bu 3 | |
506 \fI<제한용량>\fP 값은 총 물리 메모리(RAM) 용량의 백분율로 지정할 수도 있습니다. 다른 컴퓨터끼리 공유하는 셸 | |
507 초기화 스크립트의 \fBXZ_DEFAULTS\fP 환경 변수에 값을 설정할 때 특히 쓸만합니다. 이런 방식으로 설정하면 시스템의 메모리 설치 | |
508 용량에 따라 자동으로 늘어납니다. 예: \fB\-\-memlimit\-compress=70%\fP | |
509 .IP \(bu 3 | |
510 \fI<제한용량>\fP 값은 \fB0\fP 기본값으로 설정하여 초기화할 수 있습니다. 현재로서는 \fI<제한용량>\fP | |
511 값이 \fImax\fP(최대) (메모리 사용 한계 없음) 인 상태와 동일합니다. | |
512 .RE | |
513 .IP "" | |
514 \fBxz\fP 32비트 버전에서는 몇가지 특별한 경우가 있습니다. \fI<제한용량>\fP 값이 \fB4020MiB\fP를 넘으면 | |
515 \fI<제한용량>\fP을 \fB4020MiB\fP로 고정합니다. MIPS32에서는 \fB2000MiB\fP로 대신 고정합니다. | |
516 (\fB0\fP과 \fBmax\fP는 이 경우에 해당하지 않습니다. 압축 해제시 비슷한 기능은 없습니다.) 이 경우 32비트 실행 파일이 | |
517 4GiB(MIPS32의 경우 2GiB) 주소 영역에 접근할 때 매우 용이하며, 다른 경우에는 원하는대로 문제를 일으키지 않습니다. | |
518 .IP "" | |
519 \fB메모리 활용\fP 섹션도 참고하십시오. | |
520 .TP | |
521 \fB\-\-memlimit\-decompress=\fP\fI<제한용량>\fP | |
522 압축 해제시 메모리 사용 한계 용량을 설정합니다. \fB\-\-list\fP 모드에도 영향을 줍니다. \fI<제한용량>\fP을 넘기지 | |
523 않고서는 동작이 진행이 안될 경우, \fBxz\fP 에서는 오류를 나타내고 파일 압축 해제를 실패로 | |
524 간주합니다. \fI<제한용량>\fP을 지정하는 가능한 방법에 대해서는 | |
525 \fB\-\-memlimit\-compress=\fP\fI<제한용량>\fP 옵션을 참고하십시오. | |
526 .TP | |
527 \fB\-\-memlimit\-mt\-decompress=\fP\fI<제한용량>\fP | |
528 다중\-스레드 모드 압축 해제시 메모리 사용 한계 용량을 설정합니다. 스레드 수에 영향을 줄 수도 있습니다. \fBxz\fP에서 파일 압축 | |
529 해제를 거부하게 하진 않습니다. \fI<제한용량>\fP 수치가 다중\-스레드로 처리하기에 너무 낮다면, | |
530 \fI<제한용량>\fP 값을 무시하고 \fBxz\fP 동작을 단일\-스레드 모드로 계속 진행합니다. 참고로 | |
531 \fB\-\-memlimit\-decompress\fP 옵션도 사용하면, 단일\-스레드 모드와 다중\-스레드 모드 두 경우에 모두 적용하기에, | |
532 다중\-스레드 모드에 적용할 \fI<제한용량>\fP 값은 \fB\-\-memlimit\-decompress\fP에 설정하는 제한 값보다 더 | |
533 크면 안됩니다. | |
534 .IP "" | |
535 다른 메모리 사용 용량 제한 옵션과는 달리, \fB\-\-memlimit\-mt\-decompress=\fP\fI<제한용량>\fP 옵션은 | |
536 시스템별 기본 \fI<제한용량>\fP 값을 지닙니다. 현재 설정 값은 \fBxz \-\-info\-memory\fP 명령으로 확인해볼 수 | |
537 있습니다. | |
538 .IP "" | |
539 이 옵션과 기본 값은 한계 값을 주지 않으면 스레드 기반 압축 해제 프로그램이 일부 입력 파일에 대해 정신나간 수준의 메모리 용량을 | |
540 할당해서 동작이 끝나버릴 수 있습니다. 기본 \fI<제한용량>\fP이 시스템의 사양에 비해 낮다면, | |
541 \fI<제한용량>\fP 값을 자유롭게 올리시되, \fBxz\fP 에서 적은 스레드 수에도 메모리 공간 할당을 시도하는 만큼, 입력 | |
542 파일에 적절한 수준으로 가용 RAM 용량을 넘는 큰 값을 설정하지 마십시오. 메모리나 스와핑 영역 공간이 줄어들면 압축해제 성능을 | |
543 개선하지 못합니다. | |
544 .IP "" | |
545 \fI<제한용량>\fP 값을 지정하는 가능한 방법을 보려면 | |
546 \fB\-\-memlimit\-compress=\fP\fI<제한용량>\fP 옵션을 참고하십시오. \fI<제한용량>\fP 값을 | |
547 \fB0\fP으로 설정하면 \fI<제한용량>\fP 값이 시스템 지정 기본값으로 바뀝니다. | |
548 .TP | |
549 \fB\-M\fP \fI<제한용량>\fP, \fB\-\-memlimit=\fP\fI<제한용량>\fP, \fB\-\-memory=\fP\fI<제한용량>\fP | |
550 \fB\-\-memlimit\-compress=\fP\fI<제한용량>\fP | |
551 \fB\-\-memlimit\-decompress=\fP\fI<제한용량>\fP | |
552 \fB\-\-memlimit\-mt\-decompress=\fP\fI<제한용량>\fP 지정과 동일합니다. | |
553 .TP | |
554 \fB\-\-no\-adjust\fP | |
555 압축 출력 결과에 영향을 주는 설정을 조정하지 않고는 메모리 사용 용량 제한 조건이 맞지 않으면 오류를 표시하고 빠져나갑니다. 이 | |
556 옵션은 \fBxz\fP가 다중\-스레드 모드에서 단일\-스레드 모드로 전환하고 LZMA2 딕셔너리 크기를 줄이는 동작을 막아줍니다. 심지어 이 | |
557 옵션을 사용하면 메모리 사용 한계를 만족하도록 스레드 수를 줄여 압축 결과물 출력에 영향이 가지 않게 합니다. | |
558 .IP "" | |
559 원시 스트림(\fB\-\-format=raw\fP)을 만들 떄 자동 조정은 항상 꺼집니다. | |
560 .TP | |
561 \fB\-T\fP \fI<스레드수>\fP, \fB\-\-threads=\fP\fI<스레드수>\fP | |
562 활용할 작업 스레드 수를 지정합니다. \fI<스레드수>\fP 값을 \fB0\fP 값으로 설정하면, \fBxz\fP는 시스템에서 지원하는 | |
563 최대 프로세서 스레드 수를 모두 확보합니다. 실제 스레드 수는 입력 파일이 주어진 설정대로 스레드 처리를 할 만큼 그렇게 크지 않을 | |
564 경우, 내지는 더 많은 스레드를 사용했을 때 메모리 사용량 한계를 초과할 경우 \fI<스레드수>\fP 보다 적을 수 있습니다. | |
565 .IP "" | |
566 단일\-스레드와 다중\-스레드 압축 프로그램은 다른 출력 결과물을 냅니다. 단일\-스레드 압축 프로그램은 작은 파일 크기 결과물을 내놓지만, | |
567 다중\-스레드 압축 프로그램의 경우 다중\-스레드 압축 프로그램에서 내놓은 결과물은 다중\-스레드로만 압축을 해제할 수 있습니다. | |
568 \fI<스레드수>\fP를 \fB1\fP로 설정하면 단일\-스레드 모드를 사용합니다. \fI<스레드수>\fP를 \fB0\fP과 다른 | |
569 값으로 설정하면, 시스템에서 실제로 하드웨어 스레드가 1개만 지원한다 하더라도, 다중\-스레드 압축 프로그램을 사용합니다. (\fBxz\fP | |
570 5.2.x에서는 이 경우 단일\-스레드 모드를 활용합니다.) | |
571 .IP "" | |
572 단일\-스레드로 다중\-스레드 모드를 사용하려면, \fI<스레드수>\fP를 \fB+1\fP로 설정하십시오. \fB+\fP 접두사는 \fB1\fP | |
573 이외의 값에는 영향을 주지 않습니다. 메모리 사용량 한계 설정은 \fBxz\fP을 \fB\-\-no\-adjust\fP 옵션을 쓰기 전까지는 | |
574 단일\-스레드로 전환하게 합니다. \fB+\fP 접두사 지원은 \fBxz\fP 5.4.0에 추가했습니다. | |
575 .IP "" | |
576 자동 스레드 수를 요청했고 메모리 사용 한계를 지정하지 않았다면, 시스템에 맞게끔 가능한 스레드 수를 제한하는 기본 소프트 제한 값을 | |
577 사용합니다. 스레드 수가 한개가 되면 무시하는 이런 개념이 소프트 제한이기에, \fBxz\fP로 하여금 압축 동작 및 압축 해제 동작 수행시 | |
578 멈추지 않습니다. 이 가본 소프트 제한 값은 \fBxz\fP 실행 도중 다중\-스레드 모드에서 단일\-스레드 모드로 바뀌게 하지는 않습니다. | |
579 활성 제한 값은 \fBxz \-\-info\-memory\fP 명령으로 볼 수 있습니다. | |
580 .IP "" | |
581 현재 스레딩 처리 방식은 입력을 블록 단위로 쪼개고 각각의 블록을 독립적으로 압축하는 동작을 취합니다. 기본 블록 크기는 압축 수준에 | |
582 따라 다르며 \fB\-\-block\-size=\fP\fI<크기>\fP 옵션으로 재지정할 수 있습니다. | |
583 .IP "" | |
584 스레드 압축 해제 방식은 여러 블록이 블록 헤더에 넣은 크기 정보와 함께 들어간 파일에만 동작합니다. 다중\-스레드 모드에서 압축한 | |
585 충분히 큰 모든 파일은 이 조건에 만족하지만, 단일\-스레드 모드에서 압축한 파일은 | |
586 \fB\-\-block\-size=\fP\fI<크기>\fP 옵션을 지정하더라도 조건에 만족하지 않습니다. | |
587 .IP "" | |
588 \fI스레드\fP 기본 값은 \fB0\fP입니다. \fBxz\fP 5.4.x 이전의 기본값은 \fB1\fP입니다. | |
589 . | |
590 .SS "개별 압축 필터 체인 설정" | |
591 개별 필터 체인은 사전 설정에 엮인 설정에 의존하는 대신 압축 설정을 세부적으로 하나하나 설정할 수 있게 합니다. 개별 필터 체인을 | |
592 지정하면, 명령행에 앞서 지정한 사전 설정 옵션(\fB\-0\fP \&...\& \fB\-9\fP 과 \fB\-\-extreme\fP)은 무시합니다. 사전 | |
593 설정 옵션을 하나 이상의 필터 체인 옵션 다음에 지정하면, 새 사전 설정을 취하며, 앞서 지정한 개별 필터 체인 옵션은 무시합니다. | |
594 .PP | |
595 필터 체인은 명령행 파이핑에 비교할 수 있습니다. 압축할 때, 압축하지 않은 입력을 첫번째 필터로 놓고, 출력 대상(이 있으면)을 다음 | |
596 필터로 지정합니다. 최종 필터의 출력은 압축 파일로 기옥합니다. 체인의 최대 필터 수는 4이지만, 필터 체인상 필터 갯수는 보통 | |
597 1~2개입니다. | |
598 .PP | |
599 수많은 필터가 필터 체인 상에서 제약점을 가지고 있습니다. 일부 필터는 체인의 마지막 필터로만 동작하며, 일부 다른 필터는 마지막이 아닌 | |
600 필터로, 어떤 동작은 체인의 어떤 위치에든 둡니다. 필터에 따라, 이 제한은 필터 설계를 따르거나 보안 문제를 막기 위해 존재하기도 | |
601 합니다. | |
602 .PP | |
603 개별 필터 체인은 두가지 방식으로 지정할 수 있습니다. \fB\-\-filters=\fP\fI<필터>\fP와 | |
604 \fB\-\-filters1=\fP\fI<필터>\fP \&...\& \fB\-\-filters9=\fP\fI<필터>\fP 옵션으로 | |
605 liblzma 필터 문자열 문법에 따라 한가지 옵션을 필터 체인 전체를 지정할 수 있습니다. 대신, 하나 이상의 개별 필터 옵션을 | |
606 원하는 필터 체인 순서대로 지정할 수도 있습니다. 이 말인 즉슨, 개별 필터 옵션의 순서가 중요하단 뜻입니다! 원시 스트림을 디코딩할 | |
607 때(\fB\-\-format=raw\fP), 압축했을 때 지정했던 필터와 같은 순서로 필터 체인을 지정해야 합니다. 전체 체인 | |
608 옵션(\fB\-\-filters=\fP\fI<필터>\fP) 보다 우선 지정한 개별 필터 또는 사전 설정 옵션은 까먹을 수도 있습니다. | |
609 전체 체인 옵션 다음에 개별 필터를 지정할 경우 필터 체인의 동작을 무효로 합니다. | |
610 .PP | |
611 필터는 쉼표로 구분하는 필터별 \fI<옵션>\fP이 있습니다. \fI<옵션>\fP에 추가로 입력한 쉼표는 | |
612 무시합니다. 모든 옵션 값에는 기본값이 있어, 값을 바꾸려면 지정해야합니다. | |
613 .PP | |
614 전체 필터 체인과 \fI<옵션>\fP을 보려면 \fBxz \-vv\fP (\fB\-\-verbose\fP 두 번)명령을 사용하십시오. 이 | |
615 명령은 사전 설정이 사용하는 필터 체인 옵션도 볼 수 있습니다. | |
616 .TP | |
617 \fB\-\-filters=\fP\fI<필터>\fP | |
618 전체 필터 체인 또는 사전 설정을 단일 옵션으로 지정합니다. 각 필터는 공백 문자 또는 대시 문자 두번 입력(\fB\-\-\fP)으로 | |
619 구분합니다. 셸 명령행에서 \fI필터\fP는 따옴표로 감싸서 단일 옵션으로 해석하도록 해야 합니다. \fI옵션\fP을 표기하려면 \fB:\fP 또는 | |
620 \fB=\fP을 활용하십시오. 사전 설정 앞에 \fB\-\fP를 붙일 수 있고 0개 또는 하나 이상의 플래그를 붙일 수 있습니다. 유일하게 | |
621 지원하는 플래그는 \fB\-\-extreme\fP과 동일한 \fBe\fP입니다. | |
622 .TP | |
623 \fB\-\-filters1\fP=\fI<필터>\fP ... \fB\-\-filters9\fP=\fI<필터>\fP | |
624 \fB\-\-block\-list\fP와 사용할 수 있는 추가 필터 체인을 최대 9개까지 지정합니다. | |
625 .IP "" | |
626 예를 들어 텍스트 파일과 실행 파일의 아카이브를 압축할 때 실행 부분에 BCJ 필터 체인을 사용하고 텍스트 부분은 LZMA2 필터를 | |
627 사용할 수 있습니다. | |
628 .TP | |
629 \fB\-\-filters\-help\fP | |
630 \fB\-\-filters\fP와 \fB\-\-filters1=\fP\fI<필터>\fP \&...\& | |
631 \fB\-\-filters9=\fP\fI<필터>\fP 옵션의 사전 설정 필터와 개별 설정 필터 체인을 지정하는 방법을 설명하는 도움말 | |
632 메시지를 출력하고 완전히 빠져나갑니다. | |
633 .TP | |
634 \fB\-\-lzma1\fP[\fB=\fP\fI<옵션>\fP] | |
635 .PD 0 | |
636 .TP | |
637 \fB\-\-lzma2\fP[\fB=\fP\fI<옵션>\fP] | |
638 .PD | |
639 LZMA1 또는 LZMA2 필터를 필터 체인에 추가합니다. 이 필터는 필터 체인의 마지막 요소로만 사용할 수 있습니다. | |
640 .IP "" | |
641 LZMA1은 고전 필터로, LZMA1만 지원하는 고전 \fB.lzma\fP 파일 형식에서만 지원합니다. LZMA2는 LZMA1의 업데이트 | |
642 버전으로 LZMA1의 실질적 문제를 해결했습니다. \fB.xz\fP 형식은 LZMA2 필터를 사용하며 LZMA1 필터는 전적으로 지원하지 | |
643 않습니다. 압축 속도와 압축율은 LZMA1과 LZMA2가 실질적으로 동일합니다. | |
644 .IP "" | |
645 LZMA1과 LZMA2는 동일한 \fI<옵션>\fP 집합을 공유합니다: | |
646 .RS | |
647 .TP | |
648 \fBpreset=\fP\fI<사전설정>\fP | |
649 LZMA1 또는 LZMA2의 모든 \fI<옵션>\fP을 \fI<사전설정>\fP으로 | |
650 초기화합니다. \fI<사전설정>\fP 값은 정수 값으로 이루어져 있으며, 사전 설정에 변형을 줄 떄 단일 문자가 따라올 수도 | |
651 있습니다. 정수 값은 \fB0\fP에서 \fB9\fP 까지이며, 명령행 옵션에서 \fB\-0\fP \&...\& \fB\-9\fP로 대응합니다. 변형 옵션으로 | |
652 지원하는 문자는 현재 \fBe\fP 뿐이며, \fB\-\-extreme\fP에 대응합니다. \fI<사전설정>\fP 값을 지정하지 않으면, | |
653 LZMA1 또는 LZMA2 기본값을 사전 설정 \fB6\fP에서 가져온 \fI<옵션>\fP으로 취합니다. | |
654 .TP | |
655 \fBdict=\fP\fI<크기>\fP | |
656 딕셔너리(기록 버퍼) \fI<크기>\fP는 최근 처리한 비압축 데이터를 바이트 단위로 메모리에 얼마나 유지하는지 나타냅니다. | |
657 알고리즘은 비압축 데이터상 바이트 시퀀스(일치 항목) 반복 탐색을 시도하며, 해당 부분을 딕셔너리의 현재 참조로 치환합니다. 딕셔너리가 | |
658 크면 일치하는 항목을 찾을 기회가 더 많아집니다. 따라서, 딕셔너리 \fI<크기>\fP를 더욱 크게 설정하면 압축율을 증가할 | |
659 수는 있지만, 압축하지 않은 파일보다 딕셔너리가 크면 메모리 낭비율이 올라갑니다. | |
660 .IP "" | |
661 보통 딕셔너리 \fI<크기>\fP는 64KiB 에서 64MiB 정도 됩니다. 최소 4KiB 입니다. 압축시 최대 용량은 현재 | |
662 1.5GiB(1536MiB)로 나타납니다. 압축 해제 프로그램에도 4GiB 미만으로 딕셔너리 크기를 이미 지원하며 4GiB 라는 수치는 | |
663 LZMA1과 LZMA2 스트림 형식의 최대값입니다. | |
664 .IP "" | |
665 딕셔너리 \fI<크기>\fP와 검색기(\fImf\fP)는 LZMA1 또는 LZMA 인코더의 메모리 사용량을 함께 결정합니다. | |
666 동일한(또는 더 큰) 딕셔너리 \fI<크기>\fP가 데이터를 압축했을 때만큼 압축 해제할 떄 필요하기 때문에, 디코더의 메모리 | |
667 사용량은 압축할 때의 딕셔너리 크기로 결정합니다. \fB.xz\fP 헤더에는 딕셔너리 \fI<크기>\fP를 2^\fIn\fP 또는 | |
668 2^\fIn\fP + 2^(\fIn\fP\-1) 으로 저장하기에, 이 \fI<크기>\fP 값을 압축할 때 선호하는 편입니다. 다른 | |
669 \fI<크기>\fP 값은 \fB.xz\fP 헤더에 저장할 때 반올림합니다. | |
670 .TP | |
671 \fBlc=\fP\fIlc\fP | |
672 리터럴 컨텍스트 비트 수를 지정합니다. 최소 값은 0이고 최대 값은 4입니다. 기본 값은 3입니다. 추가로, \fIlc\fP 값과 | |
673 \fIlp\fP 값의 합은 4를 넘으면 안됩니다. | |
674 .IP "" | |
675 조건이 일치하지 않아 인코딩할 수 없는 모든 바이트는 리터럴로 인코딩합니다. 이 말인 즉슨, 간단히 8비트 바이트로서의 리터럴을 한번에 | |
676 하나씩 인코딩합니다. | |
677 .IP "" | |
678 리터럴 코딩을 할 때 이전 비압축 바이트와 다음 바이트와의 관련성을 가진 가장 많은 \fIlc\fP 비트 수를 가정합니다. 예를 들면, 보통 | |
679 영문 문장의 경우 대문자 다음에 종종 소문자가 오고, 소문자 다음에 다른 소문자가 따라옵니다. US\-ASCII 문자 세트에서는 가장 긴 | |
680 비트 3개는 대문자에 대해 010, 소문자에 대해 011입니다. \fIlc\fP 값이 최소한 3이면, 리터럴 코딩시 비압축 데이터에 대해 | |
681 이런 속성의 장점을 취할 수 있습니다. | |
682 .IP "" | |
683 (어쨌거나) 기본값 (3)은 보통 적절합니다. 최대 압축을 원한다면 \fBlc=4\fP 값을 시험해보십시오. 때로는 약간 도움이 되기도 | |
684 하겠지만, 오히려 결과가 안좋을 수도 있습니다. 결과가 엄한 방향으로 간다면, \fBlc=2\fP 값도 시험해보십시오. | |
685 .TP | |
686 \fBlp=\fP\fIlp\fP | |
687 리터럴 위치 비트 수를 지정하빈다. 최소 값은 0이고 최대 값은 4입니다. 기본 값은 0입니다. | |
688 .IP "" | |
689 \fIlp\fP 값은 리터럴 인코딩 진행시 비압축 데이터 정렬 방식 고려에 영향을 줍니다. 정렬 방식에 대한 자세한 정보는 하단 \fIpb\fP를 | |
690 참고하십시오. | |
691 .TP | |
692 \fBpb=\fP\fIpb\fP | |
693 위치 비트 수를 지정합니다. 최소 값은 0이며 최대 값은 4입니다. 기본값은 2입니다. | |
694 .IP "" | |
695 \fIpb\fP 값은 보통 압축하지 않은 데이터에 어떤 정렬 방식을 고려하느냐에 영향을 줍니다. 기본적으로 4바이트 | |
696 정렬(2^\fIpb\fP=2^2=4)을 의미하는데, 이보다 더 나은 추측 값이 없어서 종종 최적의 선택으로 간주합니다. | |
697 .IP "" | |
698 정렬 상태를 알지 못할 경우, \fIpb\fP 설정 값이 파일 크기를 조금 줄일 수 있습니다. 예를 들면, 텍스트 파일이 단일 바이트 단위로 | |
699 정돈된 상태(US\-ASCII, ISO\-8859\-*, UTF\-8)라면, \fBpb=0\fP 설정 값으로 압축율을 조금 개선할 수 있습니다. | |
700 UTF\-16 텍스트의 경우, \fBpb=1\fP 설정 값이 좋은 선택입니다. 정렬 바이트가 3 바이트 같은 홀수 바이트일 경우, | |
701 \fBpb=0\fP 설정 값이 최적의 선택일지도 모릅니다. | |
702 .IP "" | |
703 가정 정렬을 \fIpb\fP 값과 \fIlp\fP 값으로 조정하긴 하지만, LZMA1과 LZMA2는 여전히 16바이트 정렬 방식으로 선호합니다. | |
704 LZMA1 또는 LZMA2로 종종 압축하는 파일 형식이라고 하면 고려해볼만 합니다. | |
705 .TP | |
706 \fBmf=\fP\fImf\fP | |
707 일치 검색기는 인코더 속도, 메모리 사용량, 압축율에 주된 영향을 줍니다. 보통 해시 체인 검색기는 이진 트리 검색기보다 빠르긴 | |
708 합니다. 기본 값은 \fI<사전설정>\fP에 따라 다릅니다. 0은 \fBhc3\fP을, 1\(en3은 \fBhc4\fP를, 나머지는 | |
709 \fBbt4\fP를 활용합니다. | |
710 .IP "" | |
711 다음 검색 필터를 지원합니다. 메모리 사용 공식은 \fIdict\fP 값이 2의 승수일 경우 실제에 가까운 근사치입니다. | |
712 .RS | |
713 .TP | |
714 \fBhc3\fP | |
715 2바이트, 3바이트 해싱 체인 | |
716 .br | |
717 \fInice\fP 최소값: 3 | |
718 .br | |
719 메모리 사용: | |
720 .br | |
721 \fIdict\fP * 7.5 (조건: \fIdict\fP <= 16 MiB); | |
722 .br | |
723 \fIdict\fP * 5.5 + 64 MiB (조건: \fIdict\fP > 16 MiB) | |
724 .TP | |
725 \fBhc4\fP | |
726 2바이트, 3바이트, 4바이트 해싱 체인 | |
727 .br | |
728 \fInice\fP 최소값: 4 | |
729 .br | |
730 메모리 사용: | |
731 .br | |
732 \fIdict\fP * 7.5 (조건: \fIdict\fP <= 32 MiB); | |
733 .br | |
734 \fIdict\fP * 6.5 (조건: \fIdict\fP > 32 MiB) | |
735 .TP | |
736 \fBbt2\fP | |
737 2바이트 해싱 이진 트리 | |
738 .br | |
739 \fInice\fP 최소값: 2 | |
740 .br | |
741 메모리 사용: \fIdict\fP * 9.5 | |
742 .TP | |
743 \fBbt3\fP | |
744 2바이트, 3바이트 해싱 이진트리 | |
745 .br | |
746 \fInice\fP 최소값: 3 | |
747 .br | |
748 메모리 사용: | |
749 .br | |
750 \fIdict\fP * 11.5 (조건: \fIdict\fP <= 16 MiB); | |
751 .br | |
752 \fIdict\fP * 9.5 + 64 MiB (조건: \fIdict\fP > 16 MiB) | |
753 .TP | |
754 \fBbt4\fP | |
755 2바이트, 3바이트, 4바이트 해싱 이진 트리 | |
756 .br | |
757 \fInice\fP 최소값: 4 | |
758 .br | |
759 메모리 사용: | |
760 .br | |
761 \fIdict\fP * 11.5 (조건: \fIdict\fP <= 32 MiB); | |
762 .br | |
763 \fIdict\fP * 10.5 (조건: \fIdict\fP > 32 MiB) | |
764 .RE | |
765 .TP | |
766 \fBmode=\fP\fI<모드>\fP | |
767 압축 \fI<모드>\fP 값은 일치 검색기에서 생산하는 데이터 분석 방식을 지정합니다. 지원하는 \fI<모드>\fP는 | |
768 \fBfast\fP와 \fBnormal\fP 입니다. 기본값은 \fI<사전설정>\fP값 0\(en3에 대해 \fBfast\fP, | |
769 \fI<사전설정>\fP값 4\(en9에 대해 \fBnormal\fP입니다. | |
770 .IP "" | |
771 보통 \fBfast\fP는 해시 체인 검색기에서 사용하며 \fBnormal\fP은 이진 트리 검색기에서 사용합니다. 이 동작은 또한 | |
772 \fI<사전설정>\fP 값이 할 일이기도 합니다. | |
773 .TP | |
774 \fBnice=\fP\fInice\fP | |
775 일치하는 nice 길이를 지정합니다. 최소한 \fInice\fP 바이트 정도 일치하면, 알고리즘이 가능한 최선의 부분을 찾는 동작을 | |
776 멈춥니다. | |
777 .IP "" | |
778 \fInice\fP 값은 2\(en273 바이트입니다. 값이 클 수록 속도 면에서는 손해를 보겠지만 압축율은 더욱 올라갑니다. 기본 값은 | |
779 \fI<사전설정>\fP값에 따라 다릅니다. | |
780 .TP | |
781 \fBdepth=\fP\fI<깊이>\fP | |
782 일치 검색기에서의 최대 검색 깊이를 지정합니다. 기본값은 특별한 값 0으로 지정하며, 이 값으로 압축 프로그램이 \fImf\fP 와 | |
783 \fInice\fP간 적절한 \fI<깊이>\fP 값을 결정합니다. | |
784 .IP "" | |
785 적절한 해시 체인 \fI<깊이>\fP 값은 이진 트리에서 4\(en100 그리고 16\(en1000 입니다. 상당히 큰 값을 | |
786 \fI<깊이>\fP 값으로 사용하면 일부 파일에 대해 인코더가 매우 느리게 동작할 수가 있습니다. 압축 시간이 너무 오래걸려서 | |
787 동작을 중간에 끊을 준비가 되지 않은 이상 \fI<깊이>\fP 설정 값은 1000을 넘지 않게하십시오. | |
788 .RE | |
789 .IP "" | |
790 원시 스트림(\fB\-\-format=raw\fP)을 디코딩할 때, LZMA2는 딕셔너리 \fI<크기>\fP만 필요합니다. LZMA1는 | |
791 \fIlc\fP, \fIlp\fP, \fIpb\fP 값이 모두 필요합니다. | |
792 .TP | |
793 \fB\-\-x86\fP[\fB=\fP\fI<옵션>\fP] | |
794 .PD 0 | |
795 .TP | |
796 \fB\-\-arm\fP[\fB=\fP\fI<옵션>\fP] | |
797 .TP | |
798 \fB\-\-armthumb\fP[\fB=\fP\fI<옵션>\fP] | |
799 .TP | |
800 \fB\-\-arm64\fP[\fB=\fP\fI<옵션>\fP] | |
801 .TP | |
802 \fB\-\-powerpc\fP[\fB=\fP\fI<옵션>\fP] | |
803 .TP | |
804 \fB\-\-ia64\fP[\fB=\fP\fI<옵션>\fP] | |
805 .TP | |
806 \fB\-\-sparc\fP[\fB=\fP\fI<옵션>\fP] | |
807 .TP | |
808 \fB\-\-riscv\fP[\fB=\fP\fI<옵션>\fP] | |
809 .PD | |
810 브랜치/호출/점프(BCJ) 필터를 필터 체인에 추가합니다. 이 필터는 필터 체인의 비종결 필터로만 사용할 수 있습니다. | |
811 .IP "" | |
812 BCJ 필터는 머신 코드의 상대 주소를 절대 주소로 변환합니다. 데이터 크기를 바꾸지는 않지만 LZMA2에서 \fB.xz\fP 파일을 | |
813 0\(en15% 정도 줄여주게 하는 중복성이 늘어납니다. BCJ 필터는 언제든 뒤집을 수 있어, 데이터에 적절하지 않은 BCJ 필터 | |
814 형식을 활용하면, 그냥 가만히 두면 압축율이 약간 떨어지게 한다 하더라도, 데이터를 잃을 수가 있습니다. BCJ 필터는 굉장히 빠르며 | |
815 메모리 공간을 적게 활용합니다. | |
816 .IP "" | |
817 이 BCJ 필터에는 압축율 관련 몇가지 문제가 있습니다: | |
818 .RS | |
819 .IP \(bu 3 | |
820 실행 코드가 들어있는 몇가지 파일 형식(예: 목적 파일, 정적 라이브러리, 리눅스 커널 모듈)의 경우 필터 값으로 채운 명령 주소가 | |
821 있습니다. 여기 BCJ 필터의 경우 파일의 압축율을 떨어뜨리는 주소 변환을 수행합니다. | |
822 .IP \(bu 3 | |
823 BCJ 필터를 아카이브에 적용하면, BCJ 필터를 사용하지 않았을 때보다 압축율이 떨어질 수가 있습니다. 예를 들면, 유사하거나 동일한 | |
824 실행 파일 여럿이 있으면 필터를 사용하여 파일을 덜 비슷하게 만들어 압축율이 떨어지게 합니다. 동일한 아카이브 파일에서 비 실행 파일의 | |
825 내용에 대해서도 비슷한 일이 벌어질 수 있습니다. 실제로 하나는 BCJ 필터를 걸고 하나는 제외하여 각 경우에 대해 어떤 경우가 결과가 | |
826 우수한 지 살펴보겠습니다. | |
827 .RE | |
828 .IP "" | |
829 다른 명령 세트는 다른 정렬 상태에 놓여있습니다. 실행 파일은 필터가 제대로 동작하게 하려면 입력 데이터에 있는 이 값의 배수로 | |
830 정돈해야합니다. | |
831 .RS | |
832 .RS | |
833 .PP | |
834 .TS | |
835 tab(;); | |
836 l n l | |
837 l n l. | |
838 필터;정렬;참고 | |
839 x86;1;32\-bit 또는 64\-bit x86 | |
840 ARM;4; | |
841 ARM\-Thumb;2; | |
842 ARM64;4;4096 바이트 정렬이 가장 좋습니다 | |
843 PowerPC;4;빅엔디안 전용 | |
844 IA\-64;16;Itanium | |
845 SPARC;4; | |
846 RISC\-V;2; | |
847 .TE | |
848 .RE | |
849 .RE | |
850 .IP "" | |
851 BCJ 필터를 사용한 데이터는 LZMA2로 보통 압축하기 때문에 LZMA2 옵션을 선택한 BCJ 필터의 정렬기준에 맞추도록 설정하면 | |
852 압축율을 좀 더 개선할 수 있습니다. 예를 들면: | |
853 .RS | |
854 .IP \(bu 3 | |
855 IA\-64 필터는 16\-바이트 정렬 방식으로 동작하기에 LZMA2 필터에 \fBpb=4,lp=4,lc=0\fP 옵션(2^4=16)을 주는게 | |
856 좋습니다. | |
857 .IP \(bu 3 | |
858 RISC\-V 코드에는 16\-비트 압축 명령(C 확장) 적재 여부에 따라 2\-바이트 또는 4\-바이트 정렬 방식을 채택합니다. 16\-비트 | |
859 명령을 사용하면, \fBpb=2,lp=1,lc=3\fP 또는 \fBpb=1,lp=1,lc=3\fP 옵션 값 사용이 바람직합니다. 16\-비트 명령이 | |
860 없다면, \fBpb=2,lp=2,lc=2\fP 옵션 값을 활용하는게 좋습니다. "RVC"가 "Flags"행에 나타나는지 확인할 때 | |
861 \fBreadelf \-h\fP 명령을 사용할 수 있습니다. | |
862 .IP \(bu 3 | |
863 ARM64는 항상 4\-바이트 정렬 방식을 택하기에 \fBpb=2,lp=2,lc=2\fP 옵션 값을 활용하는게 좋습니다. | |
864 .IP \(bu 3 | |
865 x86 필터는 예외입니다. x86 실행 파일을 압축할 경우에는 보통 LZMA2 기본 옵션 값(\fBpb=2,lp=0,lc=3\fP)을 그대로 | |
866 사용하는게 좋습니다. | |
867 .RE | |
868 .IP "" | |
869 모든 BCJ 필터는 동일한 \fI옵션\fP을 지원합니다: | |
870 .RS | |
871 .TP | |
872 \fBstart=\fP\fI<오프셋>\fP | |
873 상대 주소와 절대 주소를 변환할 때 사용할 시작 \fI<오프셋>\fP을 지정합니다. \fI<오프셋>\fP에는 필터 | |
874 정렬 배수여야 합니다(상단 테이블 참조). 기본값은 0입니다. 실제로 기본값이 낫습니다. 개별 \fI<오프셋>\fP 지정 | |
875 값은 거의 쓸모가 없습니다. | |
876 .RE | |
877 .TP | |
878 \fB\-\-delta\fP[\fB=\fP\fI<옵션>\fP] | |
879 필터 체인에 델타 필터를 추가합니다. 델타 필터는 필터 체인에서 마지막에 지정하지 않은 필터로만 사용할 수 있습니다. | |
880 .IP "" | |
881 현재로서는 바이트 단위 단순 델타계산 결과만 보여줍니다. 예를 들면, 압축하지 않은 비트맵 그림 또는 압축하지 않은 PCM 오디오를 | |
882 압축할 때 쓸만합니다. 그러나 특별한 목적으로 활용하는 알고리즘은 델타 + LZMA2 보다 더 나은 결과를 가져다 주기도 합니다. | |
883 이는 특히 오디오의 경우 맞는 이야기인데, \fBflac\fP(1)의 경우 더 빠르고 우수한 압축율을 보여줍니다. | |
884 .IP "" | |
885 지원 \fI옵션\fP: | |
886 .RS | |
887 .TP | |
888 \fBdist=\fP\fI<차이>\fP | |
889 바이트 단위 델터 계산 \fI<차이>\fP를 지정합니다. \fI<차이>\fP값은 1\(en256 이어야합니다. 기본 | |
890 값은 1입니다. | |
891 .IP "" | |
892 예를 들어, \fBdist=2\fP 옵션과 A1 B1 A2 B3 A3 B5 A4 B7 입력 값을 주면, 출력 값은 A1 B1 01 02 01 | |
893 02 01 02 입니다. | |
894 .RE | |
895 . | |
896 .SS "기타 옵션" | |
897 .TP | |
898 \fB\-q\fP, \fB\-\-quiet\fP | |
899 경고 및 알림을 끕니다. 두 번 지정하면 오류 메시지 표시도 끕니다. 이 옵션은 종료 상태에 영향을 주지 않습니다. 경고 표시를 | |
900 끄더라도, 종료 상태에서는 여전히 경고가 나타났음을 알려줍니다. | |
901 .TP | |
902 \fB\-v\fP, \fB\-\-verbose\fP | |
903 출력 내용이 많아집니다. 표준 오류를 터미널에 연결했다면 \fBxz\fP는 진행 표시를 나타냅니다. \fB\-\-verbose\fP를 두번 지정하면 | |
904 더 많은 내용을 표시합니다. | |
905 .IP "" | |
906 진행 표시에서는 다음 정보를 나타냅니다: | |
907 .RS | |
908 .IP \(bu 3 | |
909 입력 파일의 크기를 알고 있을 경우 완료 백분율. 파이프 처리시에는 백분율을 나타낼 수 없습니다. | |
910 .IP \(bu 3 | |
911 산출 압축 데이터 용량 (압축) 또는 소모 공간 용량 (압축 해제). | |
912 .IP \(bu 3 | |
913 비압축 데이터 소모 용량 (압축) 또는 산출 용량 (압축 해제). | |
914 .IP \(bu 3 | |
915 압축 데이터 산출 용량을 비압축 데이터 처리 용량으로 나누어 계산한 압축율. | |
916 .IP \(bu 3 | |
917 압축 또는 압축 해제 속도. 초당 비압축 데이터 소모량(압축) 또는 산출 용량(압축 해제)를 측정한 값입니다. \fBxz\fP에서 파일 | |
918 처리를 시작한 몇 초 후 나타납니다. | |
919 .IP \(bu 3 | |
920 경과 시간 형식은 M:SS 또는 H:MM:SS 입니다. | |
921 .IP \(bu 3 | |
922 추산 여분 시간은 \fBxz\fP가 파일을 처리하기 시작한 이후 입력 파일의 크기를 알고 몇 초가 지난 후에야 보여줍니다. 시간은 콜론 | |
923 문자를 사용하지 않고 덜 자세한 형식으로, 예를 들면, 2분 30초 와 같은 형식으로 보여줍니다. | |
924 .RE | |
925 .IP "" | |
926 표준 오류가 터미널이 아니라면 \fB\-\-verbose\fP는 \fBxz\fP에서 파일 이름, 압축 크기, 압축 해제 용량, 압축율, 그리고 | |
927 가능하다면 파일을 압축 또는 압축 해제한 후 표준 오류로 속도와 걸린 시간을 나타내도록 합니다. 속도와 걸린 시간 정보는 동작을 | |
928 처리하는데 최소한 몇초 정도 소요했을 경우에만 들어갑니다. 동작이 끝나지 않았다면, 이를테면 사용자의 중단 요청이 있었을 경우 입력 | |
929 파일의 크기를 알고 있을 때 압축 백분율 정보도 들어갑니다. | |
930 .TP | |
931 \fB\-Q\fP, \fB\-\-no\-warn\fP | |
932 경고로 알릴 만한 상황을 만났다 하더라도 종료 상태 2번을 설정하지 않습니다. 이 옵션은 출력 수준에 영향을 주지 않기 때문에, | |
933 \fB\-\-quiet\fP 옵션과 \fB\-\-no\-warn\fP 옵션을 경고 표시를 막고 종료 상태를 바꾸지 않을 목적으로 사용합니다. | |
934 .TP | |
935 \fB\-\-robot\fP | |
936 머신에서 해석할 형식으로 메시지를 나타냅니다. liblzma 대신 \fBxz\fP를 활용하려는 다양상 스크립트로서의 프론트엔드를 쉽게 | |
937 작성하도록 하기 위함입니다. 이 옵션을 지정한 출력은 \fBxz\fP 릴리스가 어떻게 되든 안정 버전이란 의미입니다. 자세한 내용은 | |
938 \fB로봇 모드\fP 섹션을 참고하십시오. | |
939 .TP | |
940 \fB\-\-info\-memory\fP | |
941 압축 및 압축 해제시 물리 메모리 용량 (RAM), \fBxz\fP에서 파악하는 프로세서 스레드 갯수, 메모리 사용량 한계를 파악하기 쉬운 | |
942 형식으로 나타내고 무사히 나갑니다. | |
943 .TP | |
944 \fB\-h\fP, \fB\-\-help\fP | |
945 보통 사용하는 옵션을 설명하는 도움말 메시지를 출력한 후, 완전히 빠져나갑니다. | |
946 .TP | |
947 \fB\-H\fP, \fB\-\-long\-help\fP | |
948 \fBxz\fP의 모든 기능을 설명하는 도움말 메시지를 출력한 후, 완전히 빠져나갑니다 | |
949 .TP | |
950 \fB\-V\fP, \fB\-\-version\fP | |
951 \fBxz\fP와 liblzma 버전 번호를 가독 형식으로 출력합니다. 기계 해석 가능 형식을 가져오려면 \fB\-\-version\fP 앞에 | |
952 \fB\-\-robot\fP을 지정하십시오. | |
953 . | |
954 .SH "로봇 모드" | |
955 로봇 모드는 \fB\-\-robot\fP 옵션으로 동작합니다. \fBxz\fP 출력을 다른 프로그램에서 해석하기 쉽게 해줍니다. 현재로서는 | |
956 \fB\-\-robot\fP 옵션은 \fB\-\-list\fP, \fB\-\-filters\-help\fP, \fB\-\-info\-memory\fP, \fB\-\-version\fP | |
957 옵션하고만 사용할 수 있습니다. 앞으로는 압축 및 압축 해제 동작에 대해서도 지원합니다. | |
958 . | |
959 .SS "목록 모드" | |
960 \fBxz \-\-robot \-\-list\fP 명령은 탭으로 구분한 출력 형태를 활용합니다. 모든 행의 첫번째 컬럼에는 해당 행에서 찾을 수 | |
961 있는 정보의 형식을 나타냅니다: | |
962 .TP | |
963 \fB이름\fP | |
964 이 행은 항상 파일 목록 시작 부분의 첫번째 줄에 있습니다. 이 행의 두번째 컬럼에 파일 이름이 들어있습니다. | |
965 .TP | |
966 \fB파일\fP | |
967 이 행에는 \fB.xz\fP 파일의 전반적인 정보가 들어있습니다. 이 행은 항상 \fB이름\fP 행 다음에 있습니다. | |
968 .TP | |
969 \fB스트림\fP | |
970 이 행 형식은 \fB\-\-verbose\fP 옵션을 지정했을 때만 사용합니다. \fB.xz\fP 파일의 \fB스트림\fP 행 수만큼 나타납니다. | |
971 .TP | |
972 \fB블록\fP | |
973 이 행 형식은 \fB\-\-verbose\fP 옵션을 지정했을 때만 사용합니다. \fB.xz\fP 파일의 블록 수만큼 \fB블록\fP 행이 나타납니다. | |
974 \fB블록\fP 행은 모든 \fB스트림\fP 행 다음에 나타납니다. 다른 형식의 행이 끼어들지는 않습니다. | |
975 .TP | |
976 \fB요약\fP | |
977 이 행 형식은 \fB\-\-verbose\fP 옵션을 두번 지정했을 때만 사용합니다. 이 행은 모든 \fB블록\fP 행 다음에 출력합니다. | |
978 \fB파일\fP 행과 비슷하게, \fB요약\fP 행에는 \fB.xz\fP 파일의 전반적인 정보가 담겨있습니다. | |
979 .TP | |
980 \fB총계\fP | |
981 이 행은 목록 출력의 가장 마지막에 항상 나타납니다. 총 갯수와 크기를 나타냅니다. | |
982 .PP | |
983 \fB파일\fP 행 컬럼: | |
984 .PD 0 | |
985 .RS | |
986 .IP 2. 4 | |
987 파일 스트림 갯수 | |
988 .IP 3. 4 | |
989 스트림의 블록 총 갯수 | |
990 .IP 4. 4 | |
991 파일 압축 크기 | |
992 .IP 5. 4 | |
993 파일 압축 해제 크기 | |
994 .IP 6. 4 | |
995 예를 들면, \fB0.123\fP과 같은 압축율 입니다. 비율이 9.999라면, 대시 문자 3개 (\fB\-\-\-\fP)를 비율 값 대신 나타냅니다. | |
996 .IP 7. 4 | |
997 쉼표로 구분한 무결성 검사 이름 목록입니다. \fBNone\fP, \fBCRC32\fP, \fBCRC64\fP, \fBSHA\-256\fP 문자열을 알려진 | |
998 검사 형식으로 사용합니다. 알 수 없는 검사 형식에 대해서는 \fBUnknown\-\fP\fIN\fP을 사용하며, 여기서 \fIN\fP은 (한 두자리) | |
999 정수형 숫자값으로 이루어진 검사 ID 입니다. | |
1000 .IP 8. 4 | |
1001 파일의 스트림 패딩 총 길이 | |
1002 .RE | |
1003 .PD | |
1004 .PP | |
1005 \fB스트림\fP 행 컬럼: | |
1006 .PD 0 | |
1007 .RS | |
1008 .IP 2. 4 | |
1009 스트림 번호 (첫 스트림은 1번) | |
1010 .IP 3. 4 | |
1011 스트림의 블록 총 갯수 | |
1012 .IP 4. 4 | |
1013 압축 시작 오프셋 | |
1014 .IP 5. 4 | |
1015 비압축 시작 오프셋 | |
1016 .IP 6. 4 | |
1017 압축 크기 (스트림 패딩 미포함) | |
1018 .IP 7. 4 | |
1019 압축 해제 용량 | |
1020 .IP 8. 4 | |
1021 압축율 | |
1022 .IP 9. 4 | |
1023 무결성 검사 이름 | |
1024 .IP 10. 4 | |
1025 스트림 패딩 길이 | |
1026 .RE | |
1027 .PD | |
1028 .PP | |
1029 \fB블록\fP 행 컬럼: | |
1030 .PD 0 | |
1031 .RS | |
1032 .IP 2. 4 | |
1033 이 블록이 들어간 스트림 갯수 | |
1034 .IP 3. 4 | |
1035 스트림 시작 부분의 블록 번호 (첫번째 블록은 1번) | |
1036 .IP 4. 4 | |
1037 파일 시작 부분의 블록 번호 | |
1038 .IP 5. 4 | |
1039 파일 시작 부분의 압축 시작 오프셋 | |
1040 .IP 6. 4 | |
1041 파일 시작 부분의 비압축 시작 오프셋 | |
1042 .IP 7. 4 | |
1043 총 블록 압축 크기 (헤더 포함) | |
1044 .IP 8. 4 | |
1045 압축 해제 용량 | |
1046 .IP 9. 4 | |
1047 압축율 | |
1048 .IP 10. 4 | |
1049 무결성 검사 이름 | |
1050 .RE | |
1051 .PD | |
1052 .PP | |
1053 \fB\-\-verbose\fP를 두 번 지정하면, 추가 컬럼을 \fB블록\fP 행에 넣습니다. \fB\-\-verbose\fP 단일 지정시에는 이 정보를 볼 | |
1054 때 탐색을 여러번 수행해야 하기 때문에 실행 과정이 느려질 수 있어서 나타내지 않습니다: | |
1055 .PD 0 | |
1056 .RS | |
1057 .IP 11. 4 | |
1058 16진수 무결성 검사값 | |
1059 .IP 12. 4 | |
1060 블록 헤더 크기 | |
1061 .IP 13. 4 | |
1062 블록 플래그: \fBc\fP는 압축 크기가 현재 값임을 나타내고, \fBu\fP는 압축 전 원본 크기가 현재 값임을 나타냅니다. 플래그를 설정하지 | |
1063 않았다면, 문자열 길이를 유지할 목적으로 대시 \fB\-\fP 를 대신 나타냅니다. 새 플래그는 나중에 문자열 끝 부분에 추가할 예정입니다. | |
1064 .IP 14. 4 | |
1065 블록에 압축 해서 넣은 데이터의 실제 츠기 (블록 헤더, 블록 패딩, 검사 필드 제외) | |
1066 .IP 15. 4 | |
1067 이 \fBxz\fP 버전에서 이 블록의 압축을 해제할 때 필요한 (바이트 단위) 메모리 용량 | |
1068 .IP 16. 4 | |
1069 필터 체인. 대부분 사용하는 옵션은 압축 해제시 필요한 옵션만을 \fB.xz\fP 헤더에 저장하기 때문에 압축 시간에 알 수 없습니다. | |
1070 .RE | |
1071 .PD | |
1072 .PP | |
1073 \fB요약\fP 행 컬럼: | |
1074 .PD 0 | |
1075 .RS | |
1076 .IP 2. 4 | |
1077 이 \fBxz\fP 버전에서 이 파일 압축을 해제할 때 필요한 (바이트 단위) 메모리 용량 | |
1078 .IP 3. 4 | |
1079 모든 블록 헤더에 압축 크기와 압축 전 원본 크기 정보가 들어갔는지 여부를 나타내는 \fByes\fP 또는 \fBno\fP 값 | |
1080 .PP | |
1081 \fBxz\fP \fI5.1.2alpha\fP \fI부터:\fP | |
1082 .IP 4. 4 | |
1083 파일 압축 해제시 필요한 최소 \fBxz\fP 버전 | |
1084 .RE | |
1085 .PD | |
1086 .PP | |
1087 \fB총계\fP 행 컬럼: | |
1088 .PD 0 | |
1089 .RS | |
1090 .IP 2. 4 | |
1091 스트림 갯수 | |
1092 .IP 3. 4 | |
1093 블록 갯수 | |
1094 .IP 4. 4 | |
1095 압축 크기 | |
1096 .IP 5. 4 | |
1097 압축 해제 용량 | |
1098 .IP 6. 4 | |
1099 평균 압축율 | |
1100 .IP 7. 4 | |
1101 파일에 들어 있어 쉼표로 구분한 무결성 검사 이름 목록 | |
1102 .IP 8. 4 | |
1103 스트림 패딩 길이 | |
1104 .IP 9. 4 | |
1105 파일 갯수. \fB파일\fP 행의 컬럼 순서를 따라갑니다. | |
1106 .PD | |
1107 .RE | |
1108 .PP | |
1109 \fB\-\-verbose\fP 옵션을 두 번 지정하면, \fB총계\fP 행에 추가 컬럼이 들어갑니다: | |
1110 .PD 0 | |
1111 .RS | |
1112 .IP 10. 4 | |
1113 이 \fBxz\fP 버전에서 파일 압축을 해제할 떄 필요한 (바이트 단위) 최대 메모리 사용량 | |
1114 .IP 11. 4 | |
1115 모든 블록 헤더에 압축 크기와 압축 전 원본 크기 정보가 들어갔는지 여부를 나타내는 \fByes\fP 또는 \fBno\fP 값 | |
1116 .PP | |
1117 \fBxz\fP \fI5.1.2alpha\fP \fI부터:\fP | |
1118 .IP 12. 4 | |
1119 파일 압축 해제시 필요한 최소 \fBxz\fP 버전 | |
1120 .RE | |
1121 .PD | |
1122 .PP | |
1123 차후 버전에서는 새 행 형식을 추가하고 기존 행 형식에 추가할 수 있는 새 컬럼을 넣기 까지는 알 수 있겠지만, 기존 컬럼은 바꾸지 않을 | |
1124 예정입니다. | |
1125 . | |
1126 .SS "필터 도움말" | |
1127 \fBxz \-\-robot \-\-filters\-help\fP 는 다음 형식의 지원 필터 목록을 출력합니다: | |
1128 .PP | |
1129 \fI<필터>\fP\fB:\fP\fI<옵션>\fP\fB=<\fP\fI값\fP\fB>,\fP\fI<옵션>\fP\fB=<\fP\fI값\fP\fB>\fP... | |
1130 .TP | |
1131 \fI<필터>\fP | |
1132 필터 이름 | |
1133 .TP | |
1134 \fI<옵션>\fP | |
1135 필터별 옵션 이름 | |
1136 .TP | |
1137 \fI<값>\fP | |
1138 숫자 \fI값\fP 범위는 \fB<\fP\fI최소\fP\fB\-\fP\fI최대\fP\fB>\fP입니다. 문자열 \fI값\fP은 \fB< >\fP 범위 | |
1139 내에서 선택하며 \fB|\fP 문자로 구분합니다. | |
1140 .PP | |
1141 각 필터는 한 줄에 하나씩 출력합니다. | |
1142 . | |
1143 .SS "메모리 제한 정보" | |
1144 \fBxz \-\-robot \-\-info\-memory\fP 명령은 탭으로 나뉜 여러 컬럼을 단일 행으로 나타냅니다: | |
1145 .IP 1. 4 | |
1146 물리 메모리(RAM)의 바이트 단위 총량. | |
1147 .IP 2. 4 | |
1148 압축 진행시 바이트 단위 메모리 사용 한계값 (\fB\-\-memlimit\-compress\fP). 특수 값 \fB0\fP은 단일\-스레드 모드에서 | |
1149 제한을 두지 않는 기본 설정임을 나타냅니다. | |
1150 .IP 3. 4 | |
1151 압축 해제시 바이트 단위 메모리 사용 한계값 (\fB\-\-memlimit\-decompress\fP). 특수 값 \fB0\fP은 단일\-스레드 모드에서 | |
1152 제한을 두지 않는 기본 설정임을 나타냅니다. | |
1153 .IP 4. 4 | |
1154 \fBxz\fP 5.3.4alpha 이후: 다중\-스레드 기반 압축 해제시 바이트 단위 메모리 | |
1155 사용량(\fB\-\-memlimit\-mt\-decompress\fP). 분명하게 제한을 걸어두지 않았을 경우 5번째 컬럼에 나타난 시스템별 | |
1156 기본값을 사용하기 때문에 0 값을 지정하면 안됩니다. 또한 \fB\-\-memlimit\-mt\-decompress\fP로 세번째 컬럼 값보다 더 | |
1157 크게 지정을 한다 할지라도 이 값이 세번째 컬럼 값보다 크면 안됩니다. | |
1158 .IP 5. 4 | |
1159 \fBxz\fP 5.3.4alpha 이후: A system\-specific default memory usage limit that is | |
1160 used to limit the number of threads when compressing with an automatic | |
1161 number of threads (\fB\-\-threads=0\fP) and no memory usage limit has been | |
1162 specified (\fB\-\-memlimit\-compress\fP). This is also used as the default value | |
1163 for \fB\-\-memlimit\-mt\-decompress\fP. | |
1164 .IP 6. 4 | |
1165 \fBxz\fP 5.3.4alpha 이후: Number of available processor threads. | |
1166 .PP | |
1167 차후, \fBxz \-\-robot \-\-info\-memory\fP 출력에는 더 많은 내용이 들어가지만, 한 줄 이상은 넘어가지 않습니다. | |
1168 . | |
1169 .SS 버전 | |
1170 \fBxz \-\-robot \-\-version\fP 은 \fBxz\fP 와 liblzma의 버전 번호를 다음 형식으로 나타냅니다: | |
1171 .PP | |
1172 \fBXZ_VERSION=\fP\fIXYYYZZZS\fP | |
1173 .br | |
1174 \fBLIBLZMA_VERSION=\fP\fIXYYYZZZS\fP | |
1175 .TP | |
1176 \fIX\fP | |
1177 주 버전. | |
1178 .TP | |
1179 \fIYYY\fP | |
1180 부 버전. 짝수가 안정 버전입니다. 홀수는 알파 또는 베타 버전입니다. | |
1181 .TP | |
1182 \fIZZZ\fP | |
1183 안정 릴리스의 패치 수준 또는 개발 릴리스의 횟수입니다. | |
1184 .TP | |
1185 \fIS\fP | |
1186 안정도. 0은 알파 버전, 1은 베타 버전을 나타내며, 2는 안정 버전을 나타냅니다. \fIS\fP는 \fIYYY\fP 값이 짝수라 해도 항상 | |
1187 2여야 합니다. | |
1188 .PP | |
1189 \fBxz\fP 명령과 liblzma이 동일한 XZ 유틸리티 릴리스에서 나왔다면 두 행의 \fIXYYYZZZS\fP 값은 같습니다. | |
1190 .PP | |
1191 예제: 4.999.9beta는 \fB49990091\fP이며, 5.0.0은 \fB50000002\fP입니다. | |
1192 . | |
1193 .SH "종료 상태" | |
1194 .TP | |
1195 \fB0\fP | |
1196 모든 상태 양호. | |
1197 .TP | |
1198 \fB1\fP | |
1199 오류 발생. | |
1200 .TP | |
1201 \fB2\fP | |
1202 눈여겨볼 경고가 나타났지만, 실제 오류는 일어나지 않음. | |
1203 .PP | |
1204 표준 오류에 출력하는 알림(경고 또는 오류 아님)는 종료 상태에 영향을 주지 않습니다. | |
1205 . | |
1206 .SH 환경 | |
1207 \fBxz\fP는 빈칸으로 구분한 옵션 값 목록을 \fBXZ_DEFAULTS\fP, \fBXZ_OPT\fP 환경 변수에서 순서대로, 명령행에서 옵션을 | |
1208 해석하기 전에 불러옵니다. 참고로 환경 변수에서 옵션만 해석하며, 옵션이 아닌 부분은 조용히 무시합니다. 해석은 | |
1209 \fBgetopt_long\fP(3)으로 가능하며, 명령행 인자로 활용하기도 합니다. | |
1210 .TP | |
1211 \fBXZ_DEFAULTS\fP | |
1212 사용자별, 시스템 범위 기본 옵션입니다. 보통 \fBxz\fP의 메모리 사용량 제한을 기본으로 걸어둘 경우 셸 초기화 스크립트에 | |
1213 설정합니다. 셸 초기화 스크립트와 별도의 유사한 경우를 제외하고라면, 스크립트에서는 \fBXZ_DEFAULTS\fP 환경 변수를 설정하지 | |
1214 말거나 설정을 해제해야합니다. | |
1215 .TP | |
1216 \fBXZ_OPT\fP | |
1217 \fBxz\fP 명령행으로 옵션 설정 값을 직접 전달할 수 없을 경우 \fBxz\fP에 옵션을 전달하는 환경 변수입니다. 예를 들어, \fBxz\fP를 | |
1218 스크립트 또는 도구에서 실행할 경우 GNU \fBtar\fP(1) 라면: | |
1219 .RS | |
1220 .RS | |
1221 .PP | |
1222 .nf | |
1223 \f(CRXZ_OPT=\-2v tar caf foo.tar.xz foo\fR | |
1224 .fi | |
1225 .RE | |
1226 .RE | |
1227 .IP "" | |
1228 예를 들면, 스크립트에서 \fBXZ_OPT\fP 를 활용하여, 스크립트별로 기본 압축 옵션을 지정할 수 있습니다. 적절한 이유가 있다면 | |
1229 \fBXZ_OPT\fP 옵션 값을 사용자가 바꾸는걸 추천합니다. 예를 들면, \fBsh\fP(1) 스크립트에서 다음처럼 활용할 수도 있습니다: | |
1230 .RS | |
1231 .RS | |
1232 .PP | |
1233 .nf | |
1234 \f(CRXZ_OPT=${XZ_OPT\-"\-7e"} | |
1235 export XZ_OPT\fR | |
1236 .fi | |
1237 .RE | |
1238 .RE | |
1239 . | |
1240 .SH "LZMA 유틸리티 호환성" | |
1241 \fBxz\fP의 명령행 문법은 실제로 LZMA 유틸리티 4.32.x에서 찾을 수 있는 \fBlzma\fP, \fBunlzma\fP \fBlzcat\fP의 | |
1242 상위 집합입니다. 대부분의 경우 LZMA 유틸리티를 XZ 유틸리티로 기존에 작성한 스크립트를 깨지 않고도 바꿀 수 있습니다. 몇가지 | |
1243 비호환성 문제 때문에 문제가 일어날 수는 있습니다. | |
1244 . | |
1245 .SS "압축 사전 설정 단계" | |
1246 압축 수준 사전 설정의 번호 부여 방식은 \fBxz\fP와 LZMA 유틸리티가 동일하지 않습니다. 가장 중요한 차이는 다른 사전 설정에 대해 | |
1247 딕셔너리 크기를 어떻게 대응했느냐 여부입니다. 딕셔너리 크기는 압축 해제시 메모리 사용량과 거의 비슷합니다. | |
1248 .RS | |
1249 .PP | |
1250 .TS | |
1251 tab(;); | |
1252 c c c | |
1253 c n n. | |
1254 단계;xz;LZMA 유틸리티 | |
1255 \-0;256 KiB;없음 | |
1256 \-1;1 MiB;64 KiB | |
1257 \-2;2 MiB;1 MiB | |
1258 \-3;4 MiB;512 KiB | |
1259 \-4;4 MiB;1 MiB | |
1260 \-5;8 MiB;2 MiB | |
1261 \-6;8 MiB;4 MiB | |
1262 \-7;16 MiB;8 MiB | |
1263 \-8;32 MiB;16 MiB | |
1264 \-9;64 MiB;32 MiB | |
1265 .TE | |
1266 .RE | |
1267 .PP | |
1268 딕셔너리 크기 차이는 압축 프로그램 메모리 사용에 영향을 주지만, LZMA 유틸리티와 XZ 유틸리티에서 사용량이 늘어나는 다른 차이점이 | |
1269 있습니다: | |
1270 .RS | |
1271 .PP | |
1272 .TS | |
1273 tab(;); | |
1274 c c c | |
1275 c n n. | |
1276 단계;xz;LZMA 유틸리티 4.32.x | |
1277 \-0;3 MiB;없음 | |
1278 \-1;9 MiB;2 MiB | |
1279 \-2;17 MiB;12 MiB | |
1280 \-3;32 MiB;12 MiB | |
1281 \-4;48 MiB;16 MiB | |
1282 \-5;94 MiB;26 MiB | |
1283 \-6;94 MiB;45 MiB | |
1284 \-7;186 MiB;83 MiB | |
1285 \-8;370 MiB;159 MiB | |
1286 \-9;674 MiB;311 MiB | |
1287 .TE | |
1288 .RE | |
1289 .PP | |
1290 XZ 유틸리티의 기본 사전 설정 수준값은 \fB\-6\fP이지만 LZMA 유틸리티의 기본 사전 설정 수준값은 \fB\-7\fP입니다. 두 프로그램의 | |
1291 딕셔너리 메모리 기본 사용량은 8MiB입니다. | |
1292 . | |
1293 .SS "스트림 vs 비스트림 .lzma 파일" | |
1294 파일을 압축하지 않은 크기는 \fB.lzma\fP 헤더에 저장합니다. LZMA 유틸리티는 일반 파일을 압축할 때 압축하지 않은 파일의 크기를 | |
1295 저장합니다. 이 대신 압축하지 않은 크기를 '알 수 없음' 으로 저장하고 압축 해제 프로그램이 멈춰야 할 지점에 | |
1296 end\-of\-payload 마커를 사용하는 방법도 있습니다. LZMA 유틸리티는 파이프로 들어온 입력과 같이 압축하지 않은 파일의 | |
1297 크기를 알 수 없을 때 이런 방식을 활용합니다. | |
1298 .PP | |
1299 \fBxz\fP는 \fB.lzma\fP 파일을 end\-of\-payload 마커의 유무와 관계없이 압축 해제 방식을 모두 지원하지만, \fBxz\fP로 | |
1300 만든 모든 \fB.lzma\fP 파일은 end\-of\-payload 마커를 사용하며, \fB.lzma\fP 헤더에 압축하지 않은 파일 크기를 '알 수 | |
1301 없음'으로 표기합니다. 이 방식은 드문 상황에서 문제를 야기할 수 있습니다. 예를 들면, 임베디드 장치의 \fB.lzma\fP 압축 해제 | |
1302 프로그램은 압축을 해제했을 때 크기를 알아야 동작합니다. 이 문제를 만나면, LZMA 유틸리티 또는 LZMA SDK를 활용하여 | |
1303 \&\fB.lzma\fP 파일에 압축 전 파일 크기 정보를 저장해야합니다. | |
1304 . | |
1305 .SS "지원하지 않는 .lzma 파일" | |
1306 \&\fB.lzma\fP 형식은 \fIlc\fP 값을 8까지 받아들이며, \fIlp\fP 값은 4까지 받아들입니다. LZMA 유틸리티는 어떤 \fIlc\fP 값과 | |
1307 \fIlp\fP 값을 받아들이고도 압축을 해제할 수 있지만, 파일을 만들 때는 늘 \fBlc=3\fP 값과 \fBlp=0\fP 값을 활용합니다. 다른 | |
1308 \fIlc\fP 값과 \fIlp\fP 값으로의 파일 압축은 \fBxz\fP와 LZMA SDK에서만 가능합니다. | |
1309 .PP | |
1310 liblzma의 LZMA1 필터 구현체에서는 \fIlc\fP 값과 \fIlp\fP 값의 합이 4를 넘어가면 안됩니다. 그래서 \fB.lzma\fP | |
1311 파일의 경우 이 제한을 넘어가면 \fBxz\fP로 압축을 해제할 수 없습니다. | |
1312 .PP | |
1313 LZMA 유틸리티는 2^\fIn\fP (2의 승수)크기를 지닌 딕셔너리를 가진 \fB.lzma\fP 파일만 만들지만 받아들이는 파일의 딕셔너리 | |
1314 크기는 어떤 크기든 상관 없습니다. liblzma에서는 2^\fIn\fP, 2^\fIn\fP + 2^(\fIn\fP\-1) 딕셔너리 크기를 가진 | |
1315 \&\fB.lzma\fP 파일 만 받아들입니다. 이로 인해 \fB.lzma\fP 파일을 확인할 때 거짓 양성율이 늘어납니다. | |
1316 .PP | |
1317 모든 \fB.lzma\fP 파일을 liblzma 에서 받아들일 수 있도록 압축하기 때문에 이 제한이 실제로는 문제가 되지 않습니다. | |
1318 . | |
1319 .SS "뒤따라오는 쓰레기 값" | |
1320 압축 해제할 때, LZMA 유틸리티는 \fB.lzma\fP 스트림 처음 부분 다음 나머지를 다 조용히 무시합니다. 대부분의 경우, | |
1321 버그입니다. LZMA 유틸리티에서 \fB.lzma\fP 결합 파일 압축 해제를 지원하지 않음을 의미하기도 합니다. | |
1322 .PP | |
1323 \&\fB.lzma\fP 스트림 처음부분 바로 다음에 데이터가 남아있을 경우, \fBxz\fP 에서는 \fB\-\-single\-stream\fP 옵션을 사용하지 | |
1324 않으면 깨진 파일로 간주합니다. 이 동작으로 하여금 뒤따라오는 쓰레기 값을 무시하도록 간주하는 애매한 스크립트 동작을 깰 수가 | |
1325 있습니다. | |
1326 . | |
1327 .SH 참고 | |
1328 . | |
1329 .SS "출력 결과물이 달라짐" | |
1330 압축하지 않은 입력 파일로부터 얻어낸 정확한 압축 출력 결과물은 압축 옵션이 완전히 동일하더라도 XZ 유틸리티의 버전에 따라 달라질 수 | |
1331 있습니다. 파일 형식에 영향을 주지 않고 인코더 그 자체를 개선(더 빠르게 하거나 더 나은 압축율로)하기 때문입니다. XZ 유틸리티 | |
1332 버전이 동일하더라도 빌드 옵션을 달리하여 빌드 상태가 제각각인 경우 출력 결과물이 달라질 수 있습니다. | |
1333 .PP | |
1334 \fB\-\-rsyncable\fP 기능을 넣었을 경우 동일한 xz 버전에서 이전 파일과 새 파일로 별도로 압축하지 않는 한 결과 파일을 (두 | |
1335 파일이 서로 다른 파일이 아니므로) rsync 처리할 필요가 없습니다. 이 문제는 인코더 구현체 기능 개발이 끝나서 xz 버전이 | |
1336 다르더라도 안정적인 rsync 가능한 출력 결과물을 유지할 수 있을 때여야 해결할 수 있습니다. | |
1337 . | |
1338 .SS "내장 .xz 압축 해제 프로그램" | |
1339 XZ 임베디드와 같은 내장 \fB.xz\fP 압축 해제 구현체는 지원 파일의 무결성 \fI검사\fP 형식을 \fInone\fP과 \fIcrc32\fP 이외의 | |
1340 설정으로 만들 필요가 없습니다. 기본값이 \fB\-\-check=crc64\fP일 경우에만, 임베디드 시스템에서 파일을 만들 때 | |
1341 \fB\-\-check=none\fP 또는 \fB\-\-check=crc32\fP 옵션을 사용해야합니다. | |
1342 .PP | |
1343 임베디드 시스템이 아니라면, 모든 \fB.xz\fP 형식 압축 해제 프로그램에서는 모든 \fI검사\fP 형식을 지원하거나, 일부 \fI검사\fP 방식을 | |
1344 지원하지 않는다면, 최소한, 무결성 검사로 검증하지 않고 압축을 해제할 수 있습니다. | |
1345 .PP | |
1346 XZ 임베디드는 BCJ 필터를 지원하지만, 기본 시작 오프셋만 지정할 수 있습니다. | |
1347 . | |
1348 .SH 예제 | |
1349 . | |
1350 .SS 기본 | |
1351 \fIfoo\fP 파일을 기본 압축 수준 (\fB\-6\fP) 으로 \fIfoo.xz\fP 파일에 압축해 넣고, 압축 과정이 무사히 끝나면 \fIfoo\fP를 | |
1352 삭제합니다: | |
1353 .RS | |
1354 .PP | |
1355 .nf | |
1356 \f(CRxz foo\fR | |
1357 .fi | |
1358 .RE | |
1359 .PP | |
1360 \fIbar.xz\fP를 \fIbar\fP 에 압축을 해제한 후 압축 해제가 무사히 끝나도 \fIbar.xz\fP를 삭제하지 않습니다: | |
1361 .RS | |
1362 .PP | |
1363 .nf | |
1364 \f(CRxz \-dk bar.xz\fR | |
1365 .fi | |
1366 .RE | |
1367 .PP | |
1368 기본 사전 설정 \fB\-6\fP 보다는 느리지만, 압축 및 압축 해제시 메모리를 적게 차지(각각 48\ Mib, 5\MiB)는 \fB\-4e\fP | |
1369 사전 설정(\fB\-4 \-\-extreme\fP)을 활용하여 \fIbaz.tar.xz\fP 파일을 만듭니다: | |
1370 .RS | |
1371 .PP | |
1372 .nf | |
1373 \f(CRtar cf \- baz | xz \-4e > baz.tar.xz\fR | |
1374 .fi | |
1375 .RE | |
1376 .PP | |
1377 압축 및 비압축 파일을 단일 명령으로 표준 출력에 압축해제할 수 있습니다: | |
1378 .RS | |
1379 .PP | |
1380 .nf | |
1381 \f(CRxz \-dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt\fR | |
1382 .fi | |
1383 .RE | |
1384 . | |
1385 .SS "다중 파일 병렬 압축" | |
1386 GNU와 *BSD에서는 \fBfind\fP(1) 명령과 \fBxargs\fP(1) 명령으로 여러 파일의 압축을 병렬 처리할 수 있습니다: | |
1387 .RS | |
1388 .PP | |
1389 .nf | |
1390 \f(CRfind . \-type f \e! \-name '*.xz' \-print0 \e | |
1391 | xargs \-0r \-P4 \-n16 xz \-T1\fR | |
1392 .fi | |
1393 .RE | |
1394 .PP | |
1395 \fBxargs\fP(1) 의 \fB\-P\fP 옵션으로 \fBxz\fP 프로세스의 병렬 처리 갯수를 지정합니다. \fB\-n\fP 옵션의 최적 값은 압축할 | |
1396 파일 수에 달려있습니다. 압축할 파일이 몇개밖에 없다면 1이어야합니다. 파일이 수천 수만개 정도 된다면 \fBxargs\fP(1) 이 | |
1397 어쨌든지간에 만들어낼 \fBxz\fP 프로세스의 겟수를 100으로 하거나 아니면 적당한 값을 지정하여 줄이는게 좋습니다. | |
1398 .PP | |
1399 \fBxz\fP에 \fB\-T1\fP옵션을 지정하면 단일\-스레드 모드로 강제합니다. \fBxargs\fP(1) 에서 병렬 처리 갯수를 제어할 수 있기 | |
1400 때문입니다. | |
1401 . | |
1402 .SS "로봇 모드" | |
1403 여러 파일을 압축한 후 저장할 바이트 용량을 계산합니다: | |
1404 .RS | |
1405 .PP | |
1406 .nf | |
1407 \f(CRxz \-\-robot \-\-list *.xz | awk '/^totals/{print $5\-$4}'\fR | |
1408 .fi | |
1409 .RE | |
1410 .PP | |
1411 이 스크립트에서는 충분히 최신의 \fBxz\fP 명령을 사용하는지 알아보려 합니다. 다음 \fBsh\fP(1) 스크립트에서는 \fBxz\fP 도구의 | |
1412 버전 번호가 최소한 5.0.0인지 여부를 검사합니다. 이 방식은 \fB\-\-robot\fP 옵션을 지원하지 않는 오래된 베타 버전과도 호환성이 | |
1413 있습니다: | |
1414 .RS | |
1415 .PP | |
1416 .nf | |
1417 \f(CRif ! eval "$(xz \-\-robot \-\-version 2> /dev/null)" || | |
1418 [ "$XZ_VERSION" \-lt 50000002 ]; then | |
1419 echo "Your xz is too old." | |
1420 fi | |
1421 unset XZ_VERSION LIBLZMA_VERSION\fR | |
1422 .fi | |
1423 .RE | |
1424 .PP | |
1425 \fBXZ_OPT\fP 환경 변수로 압축 해제시 메뢰 사용량 한계를 설정하지만, 한계 값을 이미 설정했다면, 값을 늘리지 않습니다: | |
1426 .RS | |
1427 .PP | |
1428 .nf | |
1429 \f(CRNEWLIM=$((123 << 20))\ \ # 123 MiB | |
1430 OLDLIM=$(xz \-\-robot \-\-info\-memory | cut \-f3) | |
1431 if [ $OLDLIM \-eq 0 \-o $OLDLIM \-gt $NEWLIM ]; then | |
1432 XZ_OPT="$XZ_OPT \-\-memlimit\-decompress=$NEWLIM" | |
1433 export XZ_OPT | |
1434 fi\fR | |
1435 .fi | |
1436 .RE | |
1437 . | |
1438 .SS "개별 압축 필터 체인 설정" | |
1439 개별 설정 필터 체인의 초단순 사용방식은 LZMA2 사전 설정 값을 별도로 설정하는 방식입니다. 사전 설정은 잠재적으로 쓸만한 압축 | |
1440 설정 조합만 다루기 때문에 꽤 쓸모가 있을 수도 있습니다. | |
1441 .PP | |
1442 \fB\-0\fP ... \fB\-9\fP 옵션의 설명에서 테이블의 CompCPU 컬럼과 \fB\-\-extreme\fP 옵션은 LZMA2 사전 설정을 | |
1443 개별적으로 맞췄을 때 쓸만할 수도 있습니다. 여기 관련내용을 테이블 둘로 정리해서 모아보았습니다: | |
1444 .RS | |
1445 .PP | |
1446 .TS | |
1447 tab(;); | |
1448 c c | |
1449 n n. | |
1450 Preset;CompCPU | |
1451 \-0;0 | |
1452 \-1;1 | |
1453 \-2;2 | |
1454 \-3;3 | |
1455 \-4;4 | |
1456 \-5;5 | |
1457 \-6;6 | |
1458 \-5e;7 | |
1459 \-6e;8 | |
1460 .TE | |
1461 .RE | |
1462 .PP | |
1463 어떤 파일을 압축할 때 상당히 큰 딕셔너리(예: 32MiB)가 필요 하다는걸 알아채셨지만, \fBxz \-8\fP 명령이 압축할 때보다 더 빠른 | |
1464 속도로 압축하려 한다면, 더 큰 딕셔너리 사용을 위해 더 낮은 CompCPU 사전 설정 값(예: 1)으로 수정할 수 있습니다: | |
1465 .RS | |
1466 .PP | |
1467 .nf | |
1468 \f(CRxz \-\-lzma2=preset=1,dict=32MiB foo.tar\fR | |
1469 .fi | |
1470 .RE | |
1471 .PP | |
1472 각 파일에 대해, 위 명령은 압축율이 더 좋아지면서도 \fBxz \-6\fP보다 더 빨라집니다. 그러나, CompCPU 값을 낮게 유지하는 | |
1473 대신 큰 딕셔너리에서 일부 파일을 강조해야 합니다. 큰 딕셔너리가 대부분의 도움을 주는 매우 명백한 상황에서는 최소한 몇 메가바이트의 | |
1474 매우 유사한 각 파일이 아카이브에 들어갑니다. 딕셔너리 크기는 LZMA2가 연속으로 존재하는 각 파일의 유사성으로부터 얻는 장점을 취할 | |
1475 수 있을 때 일부 개별 파일보다 훨씬 더 커집니다. | |
1476 .PP | |
1477 압축 프로그램과 압축 해제 프로그램에서 메모리를 엄청 많이 사용해도 상관 없고, 파일을 수백 메가 바이트 메모리 용량을 활용하여 | |
1478 압축한다면, \fBxz \-9\fP 명령에 64MiB 용량을 초과하는 딕셔너리를 사용할 수 있게 하는 방법도 쓸만할 지도 모릅니다: | |
1479 .RS | |
1480 .PP | |
1481 .nf | |
1482 \f(CRxz \-vv \-\-lzma2=dict=192MiB big_foo.tar\fR | |
1483 .fi | |
1484 .RE | |
1485 .PP | |
1486 위 예제에서와 같이 \fB\-vv\fP (\fB\-\-verbose \-\-verbose\fP) 옵션을 사용하면 압축 및 압축 해제 과정에서 필요한 메모리 | |
1487 용량을 살펴보는데 요긴할 수 있습니다. 압축 해제한 파일 크기보다 더 큰 딕셔너리를 사용하면 불필요한 메모리 소모량이 발생하여 위 | |
1488 명령이 작은 파일에는 쓸모 없음을 기억하십시오. | |
1489 .PP | |
1490 때로는 압축 시간이 딱히 상관이 없을 수도 있습니다만, 압축 해제시 메모리 사용량을 적게 유지해야 할 수도 있습니다. 예를 들면, | |
1491 임베디드 시스템에서 파일 압축을 해제할 수도 있습니다. 다음 명령의 경우 \fB\-6e\fP (\fB\-6 \-\-extreme\fP) 옵션을 기반 | |
1492 옵션을 사용하며 딕셔너리 크기를 64KiB만 사용하도록 제한합니다. 결과 파일은 XZ 임베디드(이게 \fB\-\-check=crc32\fP | |
1493 옵션이 있는 이유)로 100KiB 메모리 용량을 활용하여 풀어낼 수 있습니다. | |
1494 .RS | |
1495 .PP | |
1496 .nf | |
1497 \f(CRxz \-\-check=crc32 \-\-lzma2=preset=6e,dict=64KiB foo\fR | |
1498 .fi | |
1499 .RE | |
1500 .PP | |
1501 가능한 한 수 바이트를 더 쥐어 짜내고 싶을 때, 리터럴 문맥 비트 수(\fIlc\fP)와 위치 비트 수(\fIpb\fP)를 조정하면 도움이 될 | |
1502 수도 있습니다. 리터럴 위치 비트 수(\fIlp\fP)를 조금 건드리는 것 또한 도움이 될 지도 모르겠지만 보통 \fIlc\fP 값과 \fIpb\fP | |
1503 값이 더 중요합니다. 예를 들면, 소스 코드 저장 파일에는 US\-ASCII 텍스트가 대부분이기에, 다음과 같은 경우는 \fBxz \-6e\fP | |
1504 명령을 실행했을 때부다는 아주 약간(거의 0.1% 수준) 작은 파일을 얻어낼 수도 있습니다(\fBlc=4\fP를 빼고도 시도해보십시오): | |
1505 .RS | |
1506 .PP | |
1507 .nf | |
1508 \f(CRxz \-\-lzma2=preset=6e,pb=0,lc=4 source_code.tar\fR | |
1509 .fi | |
1510 .RE | |
1511 .PP | |
1512 LZMA2와 다른 필터를 함께 사용하면 일부 파일 형식에 대해 압축율을 개선할 수 있습니다. 예를 들면 x86\-32 또는 x86\-64 | |
1513 공유 라이브러리를 x86 BCJ 필터를 활용하여 압축할 경우: | |
1514 .RS | |
1515 .PP | |
1516 .nf | |
1517 \f(CRxz \-\-x86 \-\-lzma2 libfoo.so\fR | |
1518 .fi | |
1519 .RE | |
1520 .PP | |
1521 참고로 필터 옵션의 순서는 상당히 중요합니다. \fB\-\-x86\fP을 \fB\-\-lzma\fP 이전에 지정하면 \fBxz\fP에서 오류가 나는데, | |
1522 LZMA2 다음에는 어떤 필터든 설정할 수 없고, 옵션 체인상 마지막 필터로 x86 BCJ 필터를 사용할 수 없기 때문입니다. | |
1523 .PP | |
1524 LZMA2와 델타 필터는 비트맵 그림에 최적의 결과를 가져다줄 수 있습니다. PNG에 보통 안성맞춥인데, PNG에는 단순 델타 필터보단 | |
1525 약간 더 고급진 필터를 사용하지만, 실제 압축을 진행할 때는 Deflate를 사용하기 때문입니다. | |
1526 .PP | |
1527 예를 들어 이미지를 압축하지 않은 비압축 TIFF로 저장해야 하는 경우가 있습니다. 델타 필터의 거리 매개변수는 그림에서 픽셀당 바이트 | |
1528 수에 일치하도록 설정합니다. 예를 들면, 24비트 RGB 비트맵의 경우 \fBdist=3\fP 거리 매개변수 값을 설정해야 하며, LZMA2 | |
1529 압축시 3바이트 정렬을 따르도록 \fBpb=0\fP 값을 전달하는 방법도 바람직합니다: | |
1530 .RS | |
1531 .PP | |
1532 .nf | |
1533 \f(CRxz \-\-delta=dist=3 \-\-lzma2=pb=0 foo.tiff\fR | |
1534 .fi | |
1535 .RE | |
1536 .PP | |
1537 여러 이미지를 단일 아카이브로 넣고 싶다면(예: \fB.tar\fP), 모든 이미지에 대해 동일한 픽셀당 바이트 수가 들어가는 경우에도 델타 | |
1538 필터가 동작합니다. | |
1539 . | |
1540 .SH "추가 참조" | |
1541 \fBxzdec\fP(1), \fBxzdiff\fP(1), \fBxzgrep\fP(1), \fBxzless\fP(1), \fBxzmore\fP(1), | |
1542 \fBgzip\fP(1), \fBbzip2\fP(1), \fB7z\fP(1) | |
1543 .PP | |
1544 XZ 유틸리티: <https://tukaani.org/xz\-utils/> | |
1545 .br | |
1546 XZ 임베디드: <https://tukaani.org/xz/embedded/> | |
1547 .br | |
1548 LZMA SDK: <https://7\-zip.org/sdk.html> |