SAPCAR使用说明
1、首先看一下SAPCAR的功能
usage:
create a new archive:
SAPCAR -c[vir][f archive] [-P] [-C directory]
[-A filename] [-T filename] [-X filename]
[-p value] [-V] file1 file2 ...
list the contents of an archive:
SAPCAR -t[vs][f archive] [file1 file2....]
extract files from an archive:
SAPCAR -x[v][f archive] [-R directory] [-A filename]
[-V] [file1 file2....]
verify the archive:
SAPCAR -d[v][f archive] [-V] [file1 file2....]
append files to an archive:
SAPCAR -a[v][f archive] file1 [file2....]
merge two archives:
SAPCAR -m[v]f "source target"
check availability of files to be processed:
SAPCAR -l [-A filename][-X filename] [file1 file2...]
sign archive:
SAPCAR -S[v]f MY.SAR [-key keyname] [-H file hash]
verify the content of signed manifest:
SAPCAR -M[v][f manifest file] [-manifest file]
other options:
-a : append files to an archive
-A FILE : get names to include from file FILE
-backup : run in backup mode: include ACL data
(supported by UNICODE SAPCar on Windows platforms only)
-C DIR : change to directory DIR
-crl FILE : use FILE as CRL for a revocation check
-e : redirect output from stdout to file sapcar_output
-f FILE : use archive file FILE (default DEFAULT.SAR)
-flat : don't preserve file path when extracting files
-g : ignore case of of archive names while extracting,
testing or listing archives
-h : do not change permissions of existing directories
during extraction
-H ALGORITHM : use ALGORITHM for file hash calculation
(default: SHA256)
-i : ignore inaccessible files while creating an archive
-j : forcibly extracts files (includes option -h) by first deleting
then creating existing files with current user as owner
-key FILE : use FILE for signature operations (default: SAP)
-l : check availabilty of files to be processed
-L FILE : use security library FILE for signature operations
(default: sapcrypto.dll)
-lower : convert filenames to lowercase while extracting
-m : merge two archives
-M : verify external manifest file
-manifest FILE: external manifest FILE
-n : print statistical information
-p octalvalue : set permissions of all files in archive to value
-P : use absolute path-names (use carefully)
-pwd PASSWORD : Password of PSE (default: no password)
-r : do not resolve symbolic links/shortcuts while creating
an archive
-R dir : use dir instead of current directory
-S : create a digital signature of an archive
-s : do free space check
-T FILE : rename files to be included in FILE
-v : verbosely list files processed
-X FILE : get names to exclude from FILE
-V : activate signature verification in existing
commands -a, -c, -d, -t and -x.
-y ALGORITHM : signature hash algorithm (default: SHA256)
examples:
create archive with all files and directories in the current directory
including point files:
SAPCAR -cvf MY.SAR .
create archive with all files and directories in the current directory
without point files:
SAPCAR -cvf MY.SAR *
Note that SAPCAR treats "*" and "?" as wildcard characters. The former
matches any character string, while the latter matches any single
character.
create archive with a complete directory and directory rights:
SAPCAR -cvf MY.SAR dir
create archive with all files of a directory without the directory
itself:
SAPCAR -cvf MY.SAR dir/*
if during extraction with SAPCAR -xvf MY.SAR the directory dir does not
exist it will be created with rights 755
create archive with only the files of a directory
SAPCAR -cvf MY.SAR -C dir .
or better
(cd dir; SAPCAR -cvf ../MY.SAR .)
merge two archives:
SAPCAR -mvf "source-archive.sar target-archive.sar"
append files to an archive:
SAPCAR -avf archive.sar file1 file2 file3
sign an existing archive:
SAPCAR -Svf MY.SAR [-L library] [-key PSE] [-pwd PSE PIN] [-H algorithm]
verify an existing archive signature:
SAPCAR -dSf MY.SAR [-L library] [-key PSE] [-pwd PSE PIN] [-crl CRL]
verify an existing archive signature and file hashes:
SAPCAR -tVvf MY.SAR [-L library] [-key PSE] [-pwd PSE PIN] [-crl CRL] [file1 fil
e2....]
verify a local signed manifest with extracted files:
SAPCAR -M -manifest sap.manifest
extracting/verifying files:
If you try to extract files from an archive that is not a valid SAPCAR
archive according to the version 2 specification SAPCAR assumes an archive
of the old format and automatically invokes the appropriate extraction
routine. If it still cannot handle the archive it will stop execution.
Notice that extracting out of old archives only works with the command
options known to the old CAR application.
using absolute pathnames:
If you create an archive with absolute pathnames the files will be
extracted with exactly these pathnames! SAPCAR does not cut the first
slash like the UNIX tool tar.
specifying a list of archives for extracting/verifying/listing:
Enclose the list with double quotes.
If there is no whitespace in any archive path the list must be separated by
space or comma; e.g.
SAPCAR -xvf "ARCHIVE1.SAR ARCHIVE2.SAR"
If at least one archive path contains whitespace the list must be comma
separated; e.g.
SAPCAR -xvf "ARCHIVE WITH BLANK.SAR, ARCHIVE.SAR, ARCHIVE2.SAR"
specifying a single archive path containing whitespace:
Enclose the archive name with double quotes.
creating: You must not append a comma except it is part of the path; e.g.
SAPCAR -cvf "ARCHIVE WITH BLANK.SAR" *
extracting/verifying/listing: You must append a comma; e.g.
SAPCAR -xvf "ARCHIVE WITH BLANK.SAR,"
In order to extract/verify/list more than one archive using wildcards you
have to quote the file name argument in order to bypass wildcard evaluation
by the shell. So a call like
SAPCAR -xvf K*.sar
will result in only one archive beeing extracted,
whereas
SAPCAR -xvf "K*.sar"
will have SAPCAR extracting all archives in the current directory that
match the pattern "K*.sar".
using A, T and X option:
All entries in the specified files are treated relative to the current
working directory unless the entry is an absolute pathname (in this case
the relevant file will be archived with an absolute pathname).
If you want to specify a directory path in these files use the slash ("/")
as path delimiter.
Use the pipe sign ("|") to separate old and new names in a T file when
these names contain whitespaces. If neither the old file name nor the new
one contains any whitespaces you may use whitespaces as delimiter between
old and new name (that means a valid CAR rename file is also a valid SAPCAR
rename file and hence may be given with the -T option).
Note that pattern matching is not supported for entries in -A, -T and -X
files (i.e. "*.cpp" will not result in processing all cpp-files
in the current directory).
Lines starting with "#" as the first non whitespace character will be
ignored by SAPCAR (this also holds true of lines containing only
whitespaces).
If you insert a directory name in the specified file the complete
directory with the directory rights will be included in the archive.
If you specify dir/filename only this file will be included in
the archive. During extraction the directory dir will be created if
it does not exist.
using -C option:
All relative filenames in the command line are treated as relative
to the specified directory.
using -S / -V option:
Activate signature creation (-S) and verification (-V) during command
execution of -a, -c, -d, -t and -x. This option creates and verifies signed
archives. The archive signature works with a signed manifest file, which is
stored at the end of the archive. It contains a TOC of all file entries. This
TOC is signed. This ensures integrity and authenticity of the archive entries.
--------------------
SAPCAR information
--------------------
kernel release 720
kernel make variant 720_REL
DBMS client library
compiled on NT 5.2 3790 S x86 MS VC++ 14.00 for NTI386
compilation mode Non-Unicode
compile time Jan 25 2014 23:30:25
update level 0
patch number 315
source id 0.524
---------------------
supported environment
---------------------
database (SAP, table SVERS) 700
710
701
702
711
720
730
operating system
Windows NT 5.0
Windows NT 5.1
Windows NT 5.2
Windows NT 6.0
Windows NT 6.1
Windows NT 6.2
Windows NT 6.3
---------------------------
SAPCAR patch information
---------------------------
( 0.001) SAPCAR terminates with read error (note 1475845)
( 0.001) SAPCAR: option -h (note 1526098)
( 0.002) SAPCAR: signed archives (note 1598550)
( 0.315) SAPCAR can not append a file to an archive bigger 4GB (note 1712163)
2、使用时候的注意事项
以示例 SAPCAR -xvf \.SAR -R 说明
①、SAPCAR,必须是与文件名一直,如果文件名叫SAPCAR_315-20010451,则建议修改一下该文件为SACAR
②、对于目录中,不能有空格,目标文件夹也如此