tar: removed 1.5 patches, updated tar.1 man-page, added rmt.8 man-page

This commit is contained in:
Juergen Daubert 2006-10-22 19:48:14 +02:00
parent 7be125ee1d
commit e6a153e25b
7 changed files with 421 additions and 257 deletions

View File

@ -7,3 +7,5 @@ drwxr-xr-x root/root usr/lib/tar/
drwxr-xr-x root/root usr/man/
drwxr-xr-x root/root usr/man/man1/
-rw-r--r-- root/root usr/man/man1/tar.1.gz
drwxr-xr-x root/root usr/man/man8/
-rw-r--r-- root/root usr/man/man8/rmt.8.gz

View File

@ -1,3 +1,4 @@
6a56bc4bb64fc9bb48d28e66a30ad937 rmt.8
3127a182050481f5dd5108a40228adbc tar-1.16-rootp.patch
d6fe544e834a8f9db6e6c7c2d38ec100 tar-1.16.tar.bz2
3f32d11defc901c8487566a1cddae663 tar.1
ee376e4ebc14d72d243b4dd4f2b9553d tar.1

View File

@ -6,7 +6,7 @@ name=tar
version=1.16
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.bz2 \
$name-$version-rootp.patch tar.1)
$name-$version-rootp.patch tar.1 rmt.8)
build() {
cd $name-$version
@ -17,5 +17,6 @@ build() {
make
make DESTDIR=$PKG install
rm -rf $PKG/{sbin,share}
install -D -m 644 ../tar.1 $PKG/usr/man/man1/tar.1
install -D -m 644 $SRC/tar.1 $PKG/usr/man/man1/tar.1
install -D -m 644 $SRC/rmt.8 $PKG/usr/man/man8/rmt.8
}

223
tar/rmt.8 Normal file
View File

@ -0,0 +1,223 @@
.\" Copyright (c) 1983, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)rmt.8 8.2 (Berkeley) 12/11/93
.\"
.Dd December 11, 1993
.Dt RMT 8
.Os BSD 4.2
.Sh NAME
.Nm rmt
.Nd remote magtape protocol module
.Sh SYNOPSIS
.Nm rmt
.Sh DESCRIPTION
.Nm Rmt
is a program used by tar, cpio, mt, and the remote dump and restore
programs in manipulating a magnetic tape drive through an interprocess
communication connection.
.Nm Rmt
is normally started up with an
.Xr rexec 3
or
.Xr rcmd 3
call or the
.Xr rsh 1
command.
.Pp
The
.Nm rmt
program accepts requests specific to the manipulation of
magnetic tapes, performs the commands, then responds with
a status indication. All responses are in
.Tn ASCII
and in
one of two forms.
Successful commands have responses of:
.Bd -filled -offset indent
.Sm off
.Sy A Ar number No \en
.Sm on
.Ed
.Pp
.Ar Number
is an
.Tn ASCII
representation of a decimal number.
Unsuccessful commands are responded to with:
.Bd -filled -offset indent
.Sm off
.Xo Sy E Ar error-number
.No \en Ar error-message
.No \en
.Xc
.Sm on
.Ed
.Pp
.Ar Error-number
is one of the possible error
numbers described in
.Xr intro 2
and
.Ar error-message
is the corresponding error string as printed
from a call to
.Xr perror 3 .
The protocol is comprised of the
following commands, which are sent as indicated - no spaces are supplied
between the command and its arguments, or between its arguments, and
.Ql \en
indicates that a newline should be supplied:
.Bl -tag -width Ds
.Sm off
.It Xo Sy \&O Ar device
.No \en Ar mode No \en
.Xc
Open the specified
.Ar device
using the indicated
.Ar mode .
.Ar Device
is a full pathname and
.Ar mode
is an
.Tn ASCII
representation of a decimal
number suitable for passing to
.Xr open 2 .
If a device had already been opened, it is
closed before a new open is performed.
.It Xo Sy C Ar device No \en
.Xc
Close the currently open device. The
.Ar device
specified is ignored.
.It Xo Sy L
.Ar offset No \en
.Ar whence No \en
.Xc
.Sm on
Perform an
.Xr lseek 2
operation using the specified parameters.
The response value is that returned from the
.Xr lseek
call.
.Sm off
.It Sy W Ar count No \en
.Sm on
Write data onto the open device.
.Nm Rmt
reads
.Ar count
bytes from the connection, aborting if
a premature end-of-file is encountered.
The response value is that returned from
the
.Xr write 2
call.
.Sm off
.It Sy R Ar count No \en
.Sm on
Read
.Ar count
bytes of data from the open device.
If
.Ar count
exceeds the size of the data buffer (10 kilobytes), it is
truncated to the data buffer size.
.Nm rmt
then performs the requested
.Xr read 2
and responds with
.Sm off
.Sy A Ar count-read No \en
.Sm on
if the read was
successful; otherwise an error in the
standard format is returned. If the read
was successful, the data read is then sent.
.Sm off
.It Xo Sy I Ar operation
.No \en Ar count No \en
.Xc
.Sm on
Perform a
.Dv MTIOCOP
.Xr ioctl 2
command using the specified parameters.
The parameters are interpreted as the
.Tn ASCII
representations of the decimal values
to place in the
.Ar mt_op
and
.Ar mt_count
fields of the structure used in the
.Xr ioctl
call. The return value is the
.Ar count
parameter when the operation is successful.
.It Sy S
Return the status of the open device, as
obtained with a
.Dv MTIOCGET
.Xr ioctl
call. If the operation was successful,
an ``ack'' is sent with the size of the
status buffer, then the status buffer is
sent (in binary).
.El
.Sm on
.Pp
Any other command causes
.Nm rmt
to exit.
.Sh DIAGNOSTICS
All responses are of the form described above.
.Sh SEE ALSO
.Xr tar 1 ,
.Xr cpio 1 ,
.Xr mt 1 ,
.Xr rsh 1 ,
.Xr rcmd 3 ,
.Xr rexec 3 ,
.Xr mtio 4 ,
.Xr rdump 8 ,
.Xr rrestore 8
.Sh BUGS
People should be discouraged from using this for a remote
file access protocol.
.Sh HISTORY
The
.Nm
command appeared in
.Bx 4.2 .

View File

@ -1,15 +0,0 @@
--- src/extract.c.orig 2005-12-25 23:41:40.820662032 +0100
+++ src/extract.c 2005-12-25 23:42:56.056224488 +0100
@@ -112,8 +112,10 @@ void
extr_init (void)
{
we_are_root = geteuid () == 0;
- same_permissions_option += we_are_root;
- same_owner_option += we_are_root;
+
+ /* Don't keep permissions by default if we are root. */
+ /* same_permissions_option += we_are_root; */
+ /* same_owner_option += we_are_root; */
/* Save 'root device' to avoid purging mount points.
FIXME: Should the same be done after handling -C option ? */

View File

@ -1,26 +0,0 @@
Submitted By: Jim Gifford (patches at jg555 dot com)
Date: 2005-03-19
Initial Package Version: 1.15.1
Origin: Tar Bug Reports List
Upstream Status: Applied
Description: Fixes large file corruptions using option -S
http://lists.gnu.org/archive/html/bug-tar/2005-03/msg00004.html
--- tar-1.15.1/src/sparse.c.orig 2005-03-20 04:23:34.144506120 +0000
+++ tar-1.15.1/src/sparse.c 2005-03-20 04:23:56.842055568 +0000
@@ -1,6 +1,6 @@
/* Functions for dealing with sparse files
- Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -182,7 +182,7 @@
{
static char buffer[BLOCKSIZE];
size_t count;
- size_t offset = 0;
+ off_t offset = 0;
struct sp_array sp = {0, 0};
if (!lseek_or_error (file, 0, SEEK_SET))

404
tar/tar.1
View File

@ -1,5 +1,5 @@
.\" @(#)tar.1 1.11.1 93/19/22 PJV;
.TH TAR 1 "22 September 1993"
.TH TAR 1 "15 May 2006"
.SH NAME
tar \- The GNU version of the tar archiving utility
.SH SYNOPSIS
@ -7,146 +7,9 @@ tar \- The GNU version of the tar archiving utility
[
.B \-
]
.B A --catenate --concatenate \||\| c --create \||\| d --diff --compare \||\| r --append \||\| t --list \||\| u --update \||\| x -extract --get
[
.B --atime-preserve
]
[
.B -b, --block-size N
]
[
.B -B, --read-full-blocks
]
[
.B -C, --directory DIR
]
[
.B --checkpoint
]
[
.B -f, --file [HOSTNAME:]F
]
[
.B --force-local
]
[
.B -F, --info-script F --new-volume-script F
]
[
.B -G, --incremental
]
[
.B -g, --listed-incremental F
]
[
.B -h, --dereference
]
[
.B -i, --ignore-zeros
]
[
.B --ignore-failed-read
]
[
.B -k, --keep-old-files
]
[
.B -K, --starting-file F
]
[
.B -l, --one-file-system
]
[
.B -L, --tape-length N
]
[
.B -m, --modification-time
]
[
.B -M, --multi-volume
]
[
.B -N, --after-date DATE, --newer DATE
]
[
.B -o, --old-archive, --portability
]
[
.B -O, --to-stdout
]
[
.B -p, --same-permissions, --preserve-permissions
]
[
.B -P, --absolute-paths
]
[
.B --preserve
]
[
.B -R, --record-number
]
[
.B --remove-files
]
[
.B -s, --same-order, --preserve-order
]
[
.B --same-owner
]
[
.B -S, --sparse
]
[
.B -T, --files-from F
]
[
.B --null
]
[
.B --totals
]
[
.B -v, --verbose
]
[
.B -V, --label NAME
]
[
.B --version
]
[
.B -w, --interactive, --confirmation
]
[
.B -W, --verify
]
[
.B --exclude FILE
]
[
.B -X, --exclude-from FILE
]
[
.B -Z, --compress, --uncompress
]
[
.B -z, --gzip, --ungzip
]
[
.B --use-compress-program PROG
]
[
.B --block-compress
]
[
.B -[0-7][lmh]
]
.TP
.I filename1 [ filename2, ... filenameN ]
.TP
.I directory1 [ directory2, ...directoryN ]
.B A \-\-catenate \-\-concatenate \||\| c \-\-create \||\| d \-\-diff \-\-compare \||\| \-\-delete \||\| r \-\-append \||\| t \-\-list \||\| u \-\-update \||\| x \-\-extract \-\-get
.I [ options ]
.I pathname [ pathname ... ]
.SH DESCRIPTION
.LP
This manual page documents the GNU version of
@ -170,166 +33,281 @@ The final arguments to
are the names of the files or directories which should be archived. The use
of a directory name always implies that the subdirectories below should be
included in the archive.
.SH EXAMPLES
.TP
.B tar \-xvvf foo.tar
extract foo.tar
.TP
.B tar \-xvvzf foo.tar.gz
extract gzipped foo.tar.gz
.TP
.B tar \-cvvf foo.tar foo/
tar contents of folder foo in foo.tar
.SH "FUNCTION LETTERS"
.TP
.B One of the following options must be used:
.TP
.B -A, --catenate, --concatenate
.B \-A, \-\-catenate, \-\-concatenate
append tar files to an archive
.TP
.B -c, --create
.B \-c, \-\-create
create a new archive
.TP
.B -d, --diff, --compare
.B \-d, \-\-diff, \-\-compare
find differences between archive and file system
.TP
.B --delete
.B \-\-delete
delete from the archive (not for use on mag tapes!)
.TP
.B -r, --append
.B \-r, \-\-append
append files to the end of an archive
.TP
.B -t, --list
.B \-t, \-\-list
list the contents of an archive
.TP
.B -u, --update
.B \-u, \-\-update
only append files that are newer than copy in archive
.TP
.B -x, --extract, --get
.B \-x, \-\-extract, \-\-get
extract files from an archive
.SH "OTHER OPTIONS"
.TP
.B --atime-preserve
.B \-\-anchored
force exclusion patterns to match initial subsequences
.TP
.B \-\-atime\-preserve
don't change access times on dumped files
.TP
.B -b, --block-size N
block size of Nx512 bytes (default N=20)
.B \-b, \-\-blocking\-factor N
use record size of Nx512 bytes (default N=20)
.TP
.B -B, --read-full-blocks
.B \-B, \-\-read\-full\-records
reblock as we read (for reading 4.2BSD pipes)
.TP
.B \-\-backup [TYPE]
back up files instead of overwriting (TYPE=numbered, existing, simple)
.TP
.B -C, --directory DIR
.B \-C, \-\-directory DIR
change to directory DIR
.TP
.B --checkpoint
print directory names while reading the archive
.B \-\-checkpoint
print periodic checkpoints
.TP
.B -f, --file [HOSTNAME:]F
use archive file or device F (default /dev/rmt0)
.B \-\-exclude=PATTERN
exclude files matching PATTERN
.TP
.B --force-local
archive file is local even if has a colon
.B \-f, \-\-file [HOSTNAME:]F
use archive file or device F (default "\-", meaning stdin/stdout)
.TP
.B -F, --info-script F --new-volume-script F
run script at end of each tape (implies -M)
.B \-F, \-\-info\-script F, \-\-new\-volume\-script F
run script at end of each tape (implies \-M)
.TP
.B -G, --incremental
.B \-\-force\-local
archive file is local even if it has a colon
.TP
.B \-G, \-\-incremental
create/list/extract old GNU-format incremental backup
.TP
.B -g, --listed-incremental F
.B \-g, \-\-listed\-incremental F
create/list/extract new GNU-format incremental backup
.TP
.B \-\-group G
set group to G while adding files
.TP
.B -h, --dereference
.B \-h, \-\-dereference
don't dump symlinks; dump the files they point to
.TP
.B -i, --ignore-zeros
.B \-\-help
print help message
.TP
.B \-i, \-\-ignore\-zeros
ignore blocks of zeros in archive (normally mean EOF)
.TP
.B --ignore-failed-read
.B \-\-ignore\-case
ignore case when excluding files
.TP
.B \-\-ignore\-failed\-read
don't exit with non-zero status on unreadable files
.TP
.B -k, --keep-old-files
.B \-j, \-\-bzip2
filter archive through bzip2, use to decompress .bz2 files.
WARNING: some previous versions of tar used option \-I to
filter through bzip2. When writing scripts, use \-\-bzip2
instead of \-j so that both older and newer tar versions
will work.
.TP
.B \-k, \-\-keep\-old\-files
keep existing files; don't overwrite them from archive
.TP
.B -K, --starting-file F
.B \-K, \-\-starting\-file F
begin at file F in the archive
.TP
.B -l, --one-file-system
.B \-l, \-\-one\-file\-system
stay in local file system when creating an archive
.TP
.B -L, --tape-length N
.B \-L, \-\-tape\-length N
change tapes after writing N*1024 bytes
.TP
.B -m, --modification-time
.B \-m, \-\-touch
don't extract file modified time
.TP
.B -M, --multi-volume
.B \-M, \-\-multi\-volume
create/list/extract multi-volume archive
.TP
.B -N, --after-date DATE, --newer DATE
.B \-\-mode M
set permissions to M while adding files
.TP
.B \-N, \-\-after\-date DATE, \-\-newer DATE
only store files newer than DATE
.TP
.B -o, --old-archive, --portability
.B \-\-newer\-mtime DATE
only store files whose contents have changed after DATE
.TP
.B \-\-no\-anchored
allow exclusion patterns to match any substring (the default)
.TP
.B \-\-no\-ignore\-case
match patterns case sensitively (the default)
.TP
.B \-\-no\-recursion
do not recurse into subdirectories
.TP
.B \-\-no\-same\-owner
extract files with owner set to current user (the default for non-root
users)
.TP
.B \-\-no\-same\-permissions
apply umask to extracted files (the default for non-root users)
.TP
.B \-\-no\-wildcards
do not use wildcards when excluding files
.TP
.B \-\-no\-wildcards\-match\-slash
don't let wildcards match "/" when excluding files
.TP
.B \-\-null
for \-T, use "NUL" instead of newline as filename terminator
.TP
.B \-\-numeric\-owner
always use numbers for user/group names
.TP
.B \-o, \-\-old\-archive, \-\-portability
write a V7 format archive, rather than ANSI format
.TP
.B -O, --to-stdout
.B \-\-owner O
set owner to O while adding files
.TP
.B \-O, \-\-to\-stdout
extract files to standard output
.TP
.B -p, --same-permissions, --preserve-permissions
extract all protection information
.B \-p, \-\-same\-permissions, \-\-preserve\-permissions
ignore umask when extracting files (the default for root)
.TP
.B -P, --absolute-paths
.B \-P, \-\-absolute\-names
don't strip leading `/'s from file names
.TP
.B --preserve
like -p -s
.B \-\-posix
create POSIX compliant archive
.TP
.B -R, --record-number
show record number within archive with each message
.B \-\-preserve
like \-p \-s
.TP
.B \-R, \-\-block\-number
show block number within archive with each message
.TP
.B \-\-record\-size SIZE
use SIZE bytes per record
.TP
.B \-\-recursion
recurse into directories (the default)
.TP
.B \-\-recursive\-unlink
remove existing directories before extracting directories of the same
name
.TP
.B --remove-files
.B \-\-remove\-files
remove files after adding them to the archive
.TP
.B -s, --same-order, --preserve-order
.B \-\-rsh\-command=CMD
Use remote COMMAND instead of `rsh'. This option exists so that
people who use something other than the standard `rsh' (e.g., a
Kerberized `rsh') can access a remote device.
.TP
.B \-S, \-\-sparse
handle sparse files efficiently
.TP
.B \-s, \-\-same\-order, \-\-preserve\-order
list of names to extract is sorted to match archive
.TP
.B --same-owner
create extracted files with the same ownership
.B \-\-same\-owner
extract files with owner as specified in archive (the default for
root)
.TP
.B -S, --sparse
handle sparse files efficiently
.B \-\-show\-omitted\-dirs
mention directories that are being skipped over
.TP
.B \-\-suffix SUFFIX
append SUFFIX to make backup files (default ~)
.TP
.B -T, --files-from F
get names to extract or create from file F
.B \-T, \-\-files\-from F
get names to extract or archive from file F
.TP
.B --null
-T reads null-terminated names, disable -C
.B \-\-totals
display total bytes written after creating an archive
.TP
.B --totals
print total bytes written with --create
.B \-U, \-\-unlink\-first
unlink & recreate files instead of overwriting
.TP
.B -v, --verbose
.B \-\-use\-compress\-program PROG
filter the archive through PROG (which must accept \-d)
.TP
.B \-v, \-\-verbose
verbosely list files processed
.TP
.B -V, --label NAME
.B \-V, \-\-label NAME
create archive with volume name NAME
.TP
.B --version
.B \-\-version
print tar program version number
.TP
.B -w, --interactive, --confirmation
.B \-\-volno\-file F
keep track of current volume (of a multi-volume archive) in F
.TP
.B \-w, \-\-interactive, \-\-confirmation
ask for confirmation for every action
.TP
.B -W, --verify
.B \-W, \-\-verify
attempt to verify the archive after writing it
.TP
.B --exclude FILE
exclude file FILE
.B \-\-wildcards
use wildcards when excluding files (the default)
.TP
.B -X, --exclude-from FILE
exclude files listed in FILE
.B \-\-wildcards\-match\-slash
allow wildcards to match "/" (the default)
.TP
.B -Z, --compress, --uncompress
.B \-X, \-\-exclude\-from=FILE
exclude files matching patterns listed in FILE
.TP
.B \-Z, \-\-compress, \-\-uncompress
filter the archive through compress
.TP
.B -z, --gzip, --ungzip
.B \-z, \-\-gzip, \-\-gunzip, \-\-ungzip
filter the archive through gzip
.TP
.B --use-compress-program PROG
filter the archive through PROG (which must accept -d)
.TP
.B --block-compress
block the output of compression program for tapes
.TP
.B -[0-7][lmh]
.B \-[0\-7][lmh]
specify drive and density
.SH BUGS
.LP
The GNU folks, in general, abhor man pages, and create info documents instead.
Unfortunately, the info document describing tar is licensed under the GFDL with
invariant cover texts, which violates the Debian Free Software Guidelines. As
a result, the info documentation for tar is not included in the Debian package.
If you want to read the complete documentation for GNU tar, please refer to
the online version at <http://www.gnu.org/software/tar/manual/index.html>.
This man page was created for the Debian distribution. It does not describe
all of the functionality of tar, and it is often out of date. Patches to
improve the coverage and/or accuracy of this man page are appreciated, and
should be filed as wishlist severity bugs against the Debian tar package,
not submitted to the GNU tar maintainers.