Create old style ‘slow’ symbolic links

symlink

ln -s creates 'fast' symbolic links. These break if you copy them (and their targets) to e.g. optical media. I believe old style 'slow' symbolic links would work, but how can I create them? There's no ln flag or other command that I can find.

Some info for context, from the wikpedia page on symbolic links:

Early implementations of symbolic links stored the symbolic link
information as data in regular files. The file contained the textual
reference to the link's target, and the file mode bits indicated that
the type of the file is a symbolic link.

This method was slow and an inefficient use of disk-space on small
systems. An improvement, called fast symlinks, allowed storage of the
target path within the data structures used for storing file
information on disk (inodes). This space normally stores a list of
disk block addresses allocated to a file. Thus, symlinks with short
target paths are accessed quickly. Systems with fast symlinks often
fall back to using the original method if the target path exceeds the
available inode space. The original style is retroactively termed a
slow symlink. It is also used for disk compatibility with other or
older versions of operating systems.

Best Answer

There’s no way to tell ln to create “fast” or “slow” symlinks, the file system determines how it stores symlinks.

Dealing with symlink representation on optical media is up to the program handling the conversion, or the file system driver providing access to the medium, not up to the source file system. For example, mkisofs can use Rock Ridge extensions or TRANS.TBL files to represent symlinks. It can also handle hard links.

Related Question