From 06805b928123c0817d0818503c27ff722c2b15ea Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Tue, 6 Jun 2023 12:33:27 +0300 Subject: [PATCH] Fix --xattr-include='*' documentation * doc/tar.texi (Extended File Attributes): The default extraction pattern consists of just 'user.*' namespace only. While on it, try to explain the reasons for this default behavior. --- doc/tar.texi | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/doc/tar.texi b/doc/tar.texi index 4e74fa1d..dac49f32 100644 --- a/doc/tar.texi +++ b/doc/tar.texi @@ -5777,10 +5777,15 @@ Disable extended attributes support. This is the default. Attribute names are strings prefixed by a @dfn{namespace} name and a dot. Currently, four namespaces exist: @samp{user}, @samp{trusted}, -@samp{security} and @samp{system}. By default, when @option{--xattr} -is used, all names are stored in the archive (or extracted, if using -@option{--extract}). This can be controlled using the following -options: +@samp{security} and @samp{system}. By default, when @option{--xattrs} +is used, all names are stored in the archive (with @option{--create}), +but only @samp{user} namespace is extracted (if using @option{--extract}). +The reason for this behavior is that any other, system defined attributes +don't provide us sufficient compatibility promise. Storing all attributes +is safe operation for the archiving purposes. Though extracting those +(often security related) attributes on a different system than originally +archived can lead to extraction failures, or even misinterpretations. +This behavior can be controlled using the following options: @table @option @item --xattrs-exclude=@var{pattern} @@ -5800,6 +5805,10 @@ $ @kbd{tar --xattrs --xattrs-exclude='user.*' -cf a.tar .} will include in the archive @file{a.tar} all attributes, except those from the @samp{user} namespace. +Users shall check the attributes are binary compatible with the target system +before any other namespace is extracted with an explicit +@option{--xattrs-include} option. + Any number of these options can be given, thereby creating lists of include and exclude patterns. -- 2.47.2