1 p7zip 9.04 2 ========== 3 4Homepage : http://p7zip.sourceforge.net/ 5 6p7zip is a port of the Windows programs 7z.exe and 7za.exe provided by 7-zip. 7 87-zip is a file archiver with the highest compression ratio. 9Homepage : www.7-zip.org 10 11 7z uses plugins (7z.so and Codecs/Rar29.so) to handle archives. 12 7za is a stand-alone executable. 13 7za handles less archive formats than 7z.exe. 14 7zr is a light stand-alone executable that supports only 7z/LZMA/BCJ/BCJ2. 15 16NEW: 17 7zG : see GUI/readme.txt 18 19CAUTION : 20--------- 21 22- FIRST : DO NOT USE the 7-zip format for backup purpose on Linux/Unix because : 23 - 7-zip does not store the owner/group of the file 24 25 On Linux/Unix, in order to backup directories you must use tar ! 26 to backup a directory : tar cf - directory | 7za a -si directory.tar.7z 27 to restore your backup : 7za x -so directory.tar.7z | tar xf - 28 29- if you want to send files and directories (not the owner of file) 30 to others Unix/MacOS/Windows users, you can use the 7-zip format. 31 32 example : 7za a directory.7z directory 33 34 do not use "-r" because this flag does not do what you think 35 do not use directory/* because of ".*" files 36 (example : "directory/*" does not match "directory/.profile") 37 38 39BUILD : 40------- 41 42 If you have downloaded the "bin" package, 43 use directly the program bin/7za. 44 (tested on Redhat 9.0, Fedora 2, Mandrake 10.0, Debian 3.0) 45 As the program is statically linked, its should run on many x86 linux. 46 47 If you have downloaded the "source" package, 48 49 According to your OS, copy makefile.linux, 50 makefile.freebsd, makefile.cygwin, ... 51 over makefile.machine 52 53 If you want to make a parallel build : make -j4 -f makefile.parallel_jobs TARGET 54 55 make clean : to clean all directories 56 make : to build bin/7za 57 make sfx : to build bin/7zCon.sfx (7za can now create SFX archive) 58 make 7z : to build bin/7z and its plugins : 59 - "bin/7z.so" (GNU LGPL + AES code license) 60 - "bin/Codecs/Rar29.so" (GNU LGPL + unRAR restriction) 61 make 7zr : to build bin/7zr 62 make all : to build bin/7za and bin/7zCon.sfx 63 make all2 : to build bin/7za, bin/7z (with its plugins) and bin/7zCon.sfx 64 make all3 : to build bin/7za, bin/7z (with its plugins), bin/7zr and bin/7zCon.sfx 65 make test : to test bin/7za (extracting, archiving, password ...) 66 make test_7z : to test bin/7z (extracting, archiving, password ...) 67 make test_7zr : to test bin/7zr (extracting, archiving, ...) 68 69 make 7zG : to build bin/7zG and its plugins : 70 - "bin/7z.so" (GNU LGPL + AES code license) 71 - "bin/Codecs/Rar29.so" (GNU LGPL + unRAR restriction) 72 make test_7zG : to test bin/7zG (extracting, archiving, ...) 73 74 75 this procedure has been tested on : 76 - x86 CPU : 77 DOS - (built with DJGPP, see http://blairdude.googlepages.com/p7zip ) 78 Linux - Redhat 9.0 Standart 79 Linux - Fedora 2 (Redhat) (gcc 3.3.3 and gcc-3.4.1 with 80 stack-smashing protector from www.trl.ibm.com/projects/security/ssp/) 81 Linux - Mandrake 10.0 Official 82 Linux - Debian 3.0 Stable 83 Linux - Ubuntu 8.04 84 FreeBSD 5.2.1 (gcc 3.3.3) 85 MacOS 10.4.8 86 NetBSD 87 CYGWIN_NT-5.1 1.5.9(0.112/4/2) 2004-03-18 23:05 i686 Cygwin 88 Solaris 9 (x86) with gcc 3.3.2 89 Solaris 10 (x86) 90 91 - alpha CPU : 92 Linux - Debian 3.0 (alpha) with gcc 2.95.4 93 94 - AMD64 CPU : 95 Linux - SuSE 8 ES (AMD64 Opteron) with gcc 3.2.2 96 Linux - Fedora 4 (AMD64 Turion) with gcc 4.0.1 97 Linux - Ubuntu 8.10 98 99 - Itanium CPU : 100 HP-UX B.11.31 U ia64 with aCC (HP C/aC++ B3910B A.06.14 [Feb 22 2007]) 101 102 - s390x CPU : 103 Linux - SUSE Enterprise Linux 10 - with gcc 4.1.2 104 ( only the 32bits built works, the 64bits built does not pass the tests ) 105 106 - sparc CPU : 107 Solaris 8 (sparc) with gcc 2.95.2 108 Solaris 9 (sparc) with gcc 3.3.2 109 110 - powerpc CPU : 111 MacOS X 10.1/darwin 5.5 with gcc 932.1 (gcc 2.95.2) 112 MacOS X 10.3 with XCode 1.5 113 114 - openpower CPU : 115 Linux openpower-linux1 2.6.5-7.97-pseries64 (ppc64) with gcc 3.3.3 116 117 - IBM : 118 AIX 5.3 with gcc 4.1.0 119 120 - Tru64 : 121 OSF 5.1 with gcc 3.4.2 122 123 - PA-RISC : 124 HP-UX 11.11 with aCC (HP ANSI C++ B3910B A.03.73) 125 HP-UX 11.11 with gcc 3.4.2 (7za and 7zr : OK, 7z : failed because of a buggy gcc for HP-UX, 126 plugins don't work because C++ constructors are not called !) 127 128 129BUILD with cmake 130---------------- 131 You can only build 7za. 132 133 cd CPP/7zip/CMAKE 134 135 edit generate.sh to choose your target 136 137 ./generate.sh 138 139 the cmake project for the target is in "CPP/7zip/CMAKE/Alone". 140 141 For the target "Unix Makefiles", use "make" to compile 142 143 For others target, use the IDE (CodeBlocks, KDevelop3, Eclipse CDT4) 144 145INSTALL : 146--------- 147 148 method 1 149 -------- 150 - edit install.sh to change DEST_HOME 151 - ./install.sh : to install 152 Remark : you must be "root" to install 7za in the directory "/usr/local" 153 154 method 2 155 -------- 156 - 7za is a stand-alone program, you can put this program where you want. 157 example : cp bin/7za /usr/local/bin/7za 158 159 - 7z needs its plugins. You must copy the file 7z, 7z.so 160 and the directory Codecs in the same destination directory. 161 162 - if you want to be able to create SFX archive, copy bin/7zCon.sfx 163 to the directory where 7za or 7z can be found. 164 165 166USAGE: 167------ 168 Remark : you can replace 7za with 7z. 169 170 7za t archive.7z : tests files in the archive archive.7z 171 7za l archive.7z : lists all files from archive archive.7z 172 7za x archive.7z : extracts all files from archive archive.7z 173 to the current directory 174 175 7za a archive.7z file1 fileN : add files to the archive archive.7z 176 177 7za a archive.7z dir1 : add all files and subdirectories from directory "dir1" to archive archive.7z 178 179 CAUTION : do not use the flag "-r" unless you know what you are doing ... 180 181 7za a -sfx archive.exe dir1 : add all files from directory "dir1" to SFX archive archive.exe 182 (Remark : SFX archive MUST end with ".exe") 183 184 You can also add or extract files to/from .zip or .tar archives. 185 You can also compress/uncompress .gz or .bz2 files. 186 187 7za a -tzip archive.zip file file2 file3 188 7za a -ttar archive.tar file 189 7za a -tgzip file.gz file 190 7za a -tbzip2 archive.bz2 file 191 192 You can use password for archives: 193 7za a -pmy_password archive.7z dir1 194 195 For .7z archive only, you can enable archive header encryption with "-mhe" 196 7za a -mhe=on -pmy_password archive.7z dir1 197 198 For more, see the documentation of 7za.exe in DOCS/MANUAL directory 199 7za a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on archive.7z dir1 200 adds all files from directory "dir1" to archive archive.7z 201 using "ultra settings". 202 -t7z : 7z archive 203 -m0=lzma : lzma method 204 -mx=9 : level of compression = 9 (Ultra) 205 -mfb=64 : number of fast bytes for LZMA = 64 206 -md=32m : dictionary size = 32 megabytes 207 -ms=on : solid archive = on 208 209 To use the new codec "lzma2" 210 7za a -m0=lzma2 archive.7z directory 211 212 213BENCHMARKS : 214------------ 215 7za b : bench LZMA codec 216 7z b -mm=crc : make internal crc check. 217 218LICENSE : 219--------- 220 please read DOCS/License.txt. 221 222LIMITATIONS from 7-zip : 223------------------------ 224 225 - does not support uid/gid for the .tar format (so, use tar on Unix) 226 227LIMITATIONS for Unix version only : 228----------------------------------- 229 230 - can handle properly UNICODE filenames only if the environment is UTF-8. 231 Example : export LANG=en_US.UTF-8 ; unset LC_CTYPE 232 Remark : see the possible values for LANG in the directory 233 - /usr/lib/locale : Fedora 2 / Solaris 8 234 - /usr/share/locale : OpenBSD / Debian / FreeBSD / MacOS X / Mandrake 10.1 / NetBSD 235 236 On Linux, to display the available locales : locale -a 237 238 p7zip relies on LC_CTYPE and then on LANG to convert name to/from UNICODE. 239 the command "locale" should display these environment variables. 240 you can also do "echo $LC_CTYPE" and "echo $LANG". 241 242 If you do not plan to export your archive, you can use the flag "-no-utf16". 243 Usage : 244 7za a -no-utf16 archive.7z dirOrFile1 ... dirOrFileN 245 7za t -no-utf16 archive.7z 246 7za l -no-utf16 archive.7z 247 7za x -no-utf16 archive.7z 248 249 - ignores Windows file access permissions (files are created with default permissions) 250 251 see also TODO file. 252 253DEVELOPPER CORNER: 254------------------ 255 256 - WaitForMultipleObject has no equivalence on Unix. 257 - Events don't exist. 258 - sizeof(wchar_t) = 4 with GCC (2 with MS VC++) 259 - "FIXME" in source code indicates that you should add codes to better handle all cases. 260 261 - "FIXED" in source code indicates that the original code has been changed to work in Unix environment. 262 263 see also TODO file. 264