Skip to Main Content
IBM Power Ideas Portal


This portal is to open public enhancement requests against IBM Power Systems products, including IBM i. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Delivered
Workspace AIX
Created by Guest
Created on Mar 23, 2021

support for the POSIX/pax tar format in tar

The AIX tar command is a little behind other implementations. It does not support any of the common archive formats which are nowadays being used on any other platform (Linux, MacOS, *BSD, SunOS, HPUX, etc.).

$ /usr/bin/tar --help
/usr/bin/tar: Not a recognized flag: -
Usage: tar -{c|r|t|u|x} [ -BdDEFhilmopRUsvwZ ] [ -Number ] [ -f TarFil e ]
[ -b Blocks ] [ -S [ Feet ] | [ Feet@Density ] | [ Blocksb ] ]
[ -L InputList ] [-X ExcludeFile] [ -N Blocks ] [ -C Directory ] File ...
Usage: tar {c|r|t|u|x} [ bBdDEfFhilLXmNopRsSUvwZ[0-9] ] ]
[ Blocks ] [ TarFile ] [ InputList ] [ ExcludeFile ]
[ [ Feet ] | [ Feet@Density ] | [ Blocksb ] ] [-C Directory ] File ...


The problem with this status is that all other platforms default to POSIX tar (based on pax) since about 2001. AIX is the only OS not providing support for any formats other than the outdated ustar.

ustar has severe limitations. On most platforms, you can only theoretically package ustar archives, but might fail because of long uids or group ids or even long file names, which are not support by the ustar format. This is why GNU tar defaulted to the (mostly compatible) GNU tar format, and most linux distros switched to POSIX tar by 2016. However, on AIX you will get an additional archive and cannot create this format without installing the OSS toolbox.


Suggestion:
Ship a modified but backwards-compatible version of tar which implements the POSIX standard (posix format).

E.g.
$ tar --format=posix -cvf archive.tar file1 file2 file3


Tested alternatives:
Use the GNU tar from the OSS toolbox. However, this method has severe implications: For one, you need to use the path /opt/freeware/bin/tar explicitly, which is probably not feasible for applications. AIX would still need a separate logic in scripts.
Also, the OSS toolbox is not installed by default and is an optional package, which means scripts might fail although they use only POSIX functionality.

Another alternative is to use the zip file format, which also requires modifying existing scripts and an installed zip binary on AIX.

Idea priority Medium
  • Guest
    Reply
    |
    Apr 11, 2021

    While not current on the different formats (ustar, posix, gnu) I think to easiest option to add is the -z (to deal with compression) so that files can be read/created using tar tvfz filename.tgz, or tar cvfz ../filename.tgz ./*

    Sometimes I run into a situation where I must use GNU tar (i.e., OSS) - but that is rare and can probably be avoided.

    On AIX - I prefer something such as `find . | backup -if - | `further processing` for large backups, obviously AIX to AIX. For relatively small transfers between OS platforms tar is fine (preferred over cpio) - but I am not a fan of double dash '--' arguments.

    So, rather than add a --format statement - if AIX is to accommodate POSIX format - make that the default format - and add an single-letter option for ustar format (if somehow POSIX format is going to break things with older AIX - as GNU format does occasionally).

    And, ideally, whatever is chosen - this should be backported to all supported versions of AIX - and perhaps - a bit farther back.