TRANS.TBL
TRANS.TBL is a file on ISO 9660 (Compact Disc computer data) filesystems, used to provide more flexible filenames than the basic ones allowed by the ISO 9660 standard. It was the most common way of providing "long filenames" on early computer CDs before the Rock Ridge and Joliet extensions became widespread.
Strictly created ISO 9660 filenames can only contain up to 8 capital letters or digits, followed by a period and up to three more capital letters or digits. TRANS.TBL is simply a normal file in each directory, containing the extended versions of file names in that directory; a system reading the filesystem can then use the extended filenames (sometimes called "long filenames") instead of the ISO ones.
The TRANS.TBL file is a plain ASCII text file. Each line contains three fields, separated by an arbitrary amount of whitespace:
- the file type ("F" for file or "D" for directory);
- the ISO 9660 filename (including the usually hidden ";1" for files); and
- the extended filename, which may contain spaces.
Most implementations that create TRANS.TBL files put a single space between the file type and ISO 9660 name and some arbitrary number of tabs between the ISO 9660 filename and the extended filename.
Native support for using TRANS.TBL still exists in many ISO 9660 implementations, particularly those related to Unix. However, TRANS.TBL has long since been superseded by the Rock Ridge and Joliet extensions to ISO 9660, and modern utilities that create ISO 9660 images either can't create TRANS.TBL files at all, or no longer create them unless explicitly requested by the user. Since a TRANS.TBL file has no special identification other than its name, it can also be created separately and included in the directory before filesystem creation.
Example
A modified version of the TRANS.TBL file in the root directory of a CentOS installation CD, showing the ISO 9660 and extended versions of each filename:
D CENTOS CentOS F GENERIC.INS;1 generic.ins F GPL.;1 GPL D HEADERS headers D IMAGES images F RELEASE_.;1 RELEASE-NOTES D REPODATA repodata F RPM_G000.;1 RPM-GPG-KEY-centos4 F RPM_GPG_.;1 RPM-GPG-KEY D SRPMS SRPMS F YUMGROUP.XML;1 yumgroups.xml F _DISCINF.;1 .discinfo