Difference between revisions of "Tar hints for Mac OS X users"

From OpenHatch wiki
Jump to navigation Jump to search
imported>Sicophrenic
imported>Paulproteus
Line 15: Line 15:
 
* ._hello.c
 
* ._hello.c
   
  +
They are a special file generated by Mac OS. Most hidden files can be seen using this command from a Terminal (the hyphen-a stands for "all"):
Because they start with dot, many tools hide them by default. You can see them by typing this in the terminal:
 
   
 
ls -a
 
ls -a
 
(the hyphen-a stands for "all")
 
   
 
If you were creating a tarball of your own code to distribute, you should avoid distributing these extraneous files. The simplest way to create a tar file without these files is to ask tar to exclude them when creating the tar file. So if you would have run this command:
 
If you were creating a tarball of your own code to distribute, you should avoid distributing these extraneous files. The simplest way to create a tar file without these files is to ask tar to exclude them when creating the tar file. So if you would have run this command:
Line 25: Line 23:
 
tar zcvf myproject-0.1.tar.gz myproject-0.1/
 
tar zcvf myproject-0.1.tar.gz myproject-0.1/
   
  +
instead you need to pass a special set of environment variables to tar. So run it as follows:
instead you would run:
 
   
tar zcvf myproject-0.1.tar.gz --exclude='._*' myproject-0.1/
+
COPYFILE_DISABLE=true tar zcvf myproject-0.1.tar.gz myproject-0.1/
   
 
Because you pass the ''v'' flag to tar, causing it to operate in verbose mode, you can see which files will be added to the resulting tarball.
 
Because you pass the ''v'' flag to tar, causing it to operate in verbose mode, you can see which files will be added to the resulting tarball.

Revision as of 22:34, 22 December 2011

Special information for using tar on Mac OS X

You've probably found this page because you created a tar file on your Mac machine, and it contained extra files.

Creating a tar file without ._ files

On Mac OS X, sometimes the operating system creates hidden files whose names start with a period and an underscore. For example, if you have these files:

  • Makefile
  • hello.c

Mac OS will sometimes create extra files alongside them in the same directory named:

  • ._Makefile
  • ._hello.c

They are a special file generated by Mac OS. Most hidden files can be seen using this command from a Terminal (the hyphen-a stands for "all"):

ls -a

If you were creating a tarball of your own code to distribute, you should avoid distributing these extraneous files. The simplest way to create a tar file without these files is to ask tar to exclude them when creating the tar file. So if you would have run this command:

tar zcvf myproject-0.1.tar.gz myproject-0.1/ 

instead you need to pass a special set of environment variables to tar. So run it as follows:

COPYFILE_DISABLE=true tar zcvf myproject-0.1.tar.gz myproject-0.1/

Because you pass the v flag to tar, causing it to operate in verbose mode, you can see which files will be added to the resulting tarball.

References