05-23-2008
Normally, when tar archives a symbolic link, it writes a record to the archive naming the target of the link. In that way, the tar archive is a faithful record of the filesystem contents. `--dereference' (`-h') is used with `--create' (`-c'), and causes tar to archive the files symbolic links point to, instead of the links themselves. When this option is used, when tar encounters a symbolic link, it will archive the linked-to file, instead of simply recording the presence of a symbolic link.
The name under which the file is stored in the file system is not recorded in the archive. To record both the symbolic link name and the file name in the system, archive the file under both names. If all links were recorded automatically by tar, an extracted file might be linked to a file name that no longer exists in the file system.
If a linked-to file is encountered again by tar while creating the same archive, an entire second copy of it will be stored. (This might be considered a bug.)
So, for portable archives, do not archive symbolic links as such, and use `--dereference' (`-h'): many systems do not support symbolic links, and moreover, your distribution might be unusable if it contains unresolved symbolic links.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
question abt symbolic link ...
i'm doing the following ...
ln -s x.sh ./scripts/y.sh
and
cat ./scripts/y.sh
it is giving following error
cat: cannot open y.sh
Any reason u an think of ?
But it is working fine when i goto scripts directory and cretae the symbolic link.
... (1 Reply)
Discussion started by: bhargav
1 Replies
2. UNIX for Dummies Questions & Answers
I am Solaris korn shell. I want to create a symbolic link. I have a directory
/u01/ftp01/db
I want to reference it as
/u05/swe/my (this is not a real directory)
I tried a symbolic link but it does not work
ln -s /u01/ftp01/db /u05/swe/my
ln: cannot create //u05/swe/my: No such... (2 Replies)
Discussion started by: lesstjm
2 Replies
3. UNIX for Dummies Questions & Answers
hello folks
how y'all doin
well i have some questions about symbolic link and hard link
hope some one answer me
i open terminal and join as root
and i wrote ln -s blah blah
then i wrote ls
i see red file called blah blah
but didn't understand what is this can some one explain and... (2 Replies)
Discussion started by: detective linux
2 Replies
4. Solaris
Hi I am trying to find a copy command that will copy a symbolic link itself and not what the link is actually pointing to. I am trying to copy a directory that has some symbolic links within it
in IBM AIX unix this is achieved using cp -prh <source dir> <target>
the 'h' flag is a hard copy... (3 Replies)
Discussion started by: jimthompson
3 Replies
5. Shell Programming and Scripting
Hi,
i am trying to create sym links on sles 11 , but it seems i am doing something wrong.
oracle@tests:/u01/app/oracle/oradata/ACIS> pwd
/u01/app/oracle/oradata/ACIS
oracle@tests:/u01/app/oracle/oradata/ACIS> ln -s /db/ACIS/dbase/dbf/ /u01/app/oracle/oradata/ACIS/... (2 Replies)
Discussion started by: tonijel
2 Replies
6. Shell Programming and Scripting
Hello All,
This may be a silly question to some but I am really stuck.
Is there a way to reverse the following;
sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh
It was part of a driver compile/installation procedure by Digi for Ubuntu stating that dash isn't supported and a symbolic link... (2 Replies)
Discussion started by: LAVco
2 Replies
7. Shell Programming and Scripting
Hi all,
Can anyone please confirm if the command below is the only way that I can get what the symbolic link is set to?
mnlxd110(oracle)/db/posd2/dba$: ls -l | grep "^l"
lrwxrwxrwx 1 oracle dba 28 Aug 9 2011 bdump -> diag/rdbms/posp1/posp1/trace
mnlxd110(oracle)/db/posd2/dba$:... (7 Replies)
Discussion started by: newbie_01
7 Replies
8. UNIX for Dummies Questions & Answers
Hi everybody,
I read about treads realted to this issue but they did not resovle issue given below.
Please help me resolve issue given below
I have html file under /srv/www/htdocs/actual_folder
ls actual_folder/
test.html
and following link works... (0 Replies)
Discussion started by: newbielgn
0 Replies
9. How to Post in the The UNIX and Linux Forums
how to list all symbolic link, can i use find / path -type l (2 Replies)
Discussion started by: avtalan
2 Replies
10. UNIX for Dummies Questions & Answers
Hi, trying to understand more about symblic link, when I compiled a program called "match" in one folder ~/downloadsoftware/I want this program to be accessible like a system command by putting a symbolic link in /usr/bin/ Not by setting the $PATH method in .bashrc at this time.
What I did is:... (4 Replies)
Discussion started by: yifangt
4 Replies
tar(n) Tar file handling tar(n)
__________________________________________________________________________________________________________________________________________________
NAME
tar - Tar file creation, extraction & manipulation
SYNOPSIS
package require Tcl 8.4
package require tar ?0.6?
::tar::contents tarball
::tar::stat tarball ?file?
::tar::untar tarball args
::tar::get tarball fileName
::tar::create tarball files args
::tar::add tarball files args
::tar::remove tarball files
_________________________________________________________________
DESCRIPTION
::tar::contents tarball
Returns a list of the files contained in tarball. The order is not sorted and depends on the order files were stored in the archive.
::tar::stat tarball ?file?
Returns a nested dict containing information on the named ?file? in tarball, or all files if none is specified. The top level are
pairs of filename and info. The info is a dict with the keys "mode uid gid size mtime type linkname uname gname devmajor devminor
% ::tar::stat tarball.tar
foo.jpg {mode 0644 uid 1000 gid 0 size 7580 mtime 811903867 type file linkname {} uname user gname wheel devmajor 0 devminor 0}
::tar::untar tarball args
Extracts tarball. -file and -glob limit the extraction to files which exactly match or pattern match the given argument. No error is
thrown if no files match. Returns a list of filenames extracted and the file size. The size will be null for non regular files.
Leading path seperators are stripped so paths will always be relative.
-dir dirName
Directory to extract to. Uses pwd if none is specified
-file fileName
Only extract the file with this name. The name is matched against the complete path stored in the archive including directo-
ries.
-glob pattern
Only extract files patching this glob style pattern. The pattern is matched against the complete path stored in the archive.
-nooverwrite
Dont overwrite files that already exist
-nomtime
Leave the file modification time as the current time instead of setting it to the value in the archive.
-noperms
In Unix, leave the file permissions as the current umask instead of setting them to the values in the archive.
% foreach {file size} [::tar::untar tarball.tar -glob *.jpg] {
puts "Extracted $file ($size bytes)"
}
::tar::get tarball fileName
Returns the contents of fileName from the tarball
% set readme [::tar::get tarball.tar doc/README] {
% puts $readme
}
::tar::create tarball files args
Creates a new tar file containing the files. files must be specified as a single argument which is a proper list of filenames.
-dereference
Normally create will store links as an actual link pointing at a file that may or may not exist in the archive. Specifying
this option will cause the actual file point to by the link to be stored instead.
% ::tar::create new.tar [glob -nocomplain file*]
% ::tar::contents new.tar
file1 file2 file3
::tar::add tarball files args
Appends files to the end of the existing tarball. files must be specified as a single argument which is a proper list of filenames.
-dereference
Normally add will store links as an actual link pointing at a file that may or may not exist in the archive. Specifying this
option will cause the actual file point to by the link to be stored instead.
-prefix string
Normally add will store files under exactly the name specified as argument. Specifying a ?-prefix? causes the string to be
prepended to every name.
-quick The only sure way to find the position in the tarball where new files can be added is to read it from start, but if tarball
was written with a "blocksize" of 1 (as this package does) then one can alternatively find this position by seeking from the
end. The ?-quick? option tells add to do the latter.
::tar::remove tarball files
Removes files from the tarball. No error will result if the file does not exist in the tarball. Directory write permission and free
disk space equivalent to at least the size of the tarball will be needed.
% ::tar::remove new.tar {file2 file3}
% ::tar::contents new.tar
file3
BUGS, IDEAS, FEEDBACK
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category tar of
the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883]. Please also report any ideas for enhancements you may have for
either package and/or documentation.
KEYWORDS
archive, tape archive, tar
CATEGORY
File formats
tar 0.6 tar(n)