Jump to content

cdrtools

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 188.98.221.232 (talk) at 20:11, 25 December 2013 (Compatible operating systems). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


cdrtools
Original author(s)Jörg Schilling, Eric Youngdale, Heiko Eißfeldt, James Pearson
Developer(s)Jörg Schilling
Initial release4 February 1996 (1996-02-04)
Stable release3.02 (18 September 2022 (2022-09-18)) [±][1]
Preview release3.02a09 (10 December 2017 (2017-12-10)) [±][2]
Repository
Written inC
Operating systemSee Compatible operating systems
Available inEnglish
TypeCD/DVD/Blu-ray writing
LicenseCDDL, GNU GPL
Websitecdrecord.berlios.de

cdrtools (formerly known as cdrecord) is a collection of independent projects of free software/open source computer programs, created by Jörg Schilling and others.

The most important parts of the package are cdrecord, a console-based burning program; cdda2wav, a CD audio ripper that uses libparanoia; and mkisofs, a CD/DVD/BD/UDF/HFS filesystem image creator. Because these tools do not include any GUI, many graphical front-ends have been created.

cdrtools used to be the standard solution for writing CDs on Linux. However, after a licensing change, many Linux distributions stopped including cdrtools because of their interpretation of the license.[3] Jörg Schilling has a different interpretation of the licenses, but cannot force Linux distributions to include his current version.

Features

The collection includes many features, such as:

Licensing

The project was originally licensed under the GNU General Public License (GPL).

In version 2.01a36, a section of cdrtools' source code was modified to include an invariant section, thus making the file incompatible with the GPL.[4] In versions starting with 2.01.01a09, most code from cdrtools has been relicensed under the CDDL,[5] which the Free Software Foundation considers incompatible with the GNU General Public License (GPL),[6] while other parts, such as mkisofs, are still licensed under the GPL. Jonathan Corbet, founder of the LWN.net news source argued this change makes it impossible to legally distribute cdrtools binaries.[7]

Debian,[8] Red Hat,[9][10] OpenSuSE[11][12] and Mandriva[13] dropped the versions of cdrtools with CDDL code from their distributions. The Debian project created cdrkit, a fork of cdrtools.[14] In August 2008, Mark Shuttleworth offered to ask the Software Freedom Law Center for a legal opinion on whether cdrtools could be included in Ubuntu, provided Schilling agreed to accept the opinion.[15] Cdrtools is still not included in Ubuntu because of the licensing problems.

cdrtools versus cdrkit

The following table indicates the correspondances between the names of the main commands in both software suites (cdrttols and its legacy fork, cdrkit).

Note that cdrkit is considered a legacy software by most Linux distributions, who plan to move on to libburnia instead, which is not cdrtools based and actively developed.

Software suite Commands for
CD/DVD/Blu-ray CD-Audio
pre­-mas­ter­ing burn­ing reading extraction
cdrtools mkisofs cdrecord readcd cdda2wav
cdrkit genisoimage wodim readom icedax

The following tables list some of the most notable differences between cdrtools and cdrkit. (The comparison applies to the latest releases of each software suite.)

Topic Commands compared
cdrecord (cdrtools) wodim (cdrkit)
Included in all major Linux distributions Eliminated[16] Yes
Support for Blu-ray Discs Yes No
Bug-free[peacock prose] support for most existing hardware Yes No
Support for DVD-9 (8.5 GB dual layer DVD) media Yes No
Support for both automatic and custom Layer Jump Recording (to tell the burner when to switch to the second layer on dual-layer DVDs) Yes No
Support for capability-based security, which means the burn program does not need to be installed with setuid access rights (in other words, burn operations can be performed by unprivileged users with increased security) Partial No
Support for "Disc Tattooing" CD-R and DVD media with DiscT@2-capable burners Yes No
Topic Commands compared
mkisofs (cdrtools) genisoimage (cdrkit)
Included in all major Linux distributions Eliminated[16] Yes
Support for big files (size ≥ 4 GiB) and multi-extent files Yes No
User-selectable time stamp granularity (1 second, 10 milliseconds, and even 1 microsecond) with Rock Ridge Yes No
Rock Ridge support Good Partial
EFI boot support (for creating bootable media) Good Some
Jigdo support (for creating .jigdo and .template files along with the ISO image file) No Yes
Support for a built-in "-find" option (to ease file/directory selection) as opposed to using the standard find unix command. Yes No
Ability to ignore and bypass a user supplied list of errors during image masterisation (very usefull with the "-print-size" option to have an estimation of the image size when some source files are unavailable) Yes No

Distinctions with cdrkit fork

Since the licensing change, cdrtools added numerous new features as well as bug fixes to the codebase.

The list of events in cdrtool's changelog (Softpedia mirror) documents numerous changes that make it increasingly distinct from cdrkit. These alterations cover a broad range of functionality, power, and flexibility which ranges from EFI boot to "suid" (3.01a14). See recent changes

Early additions/changes included the ability to use UTF-8, create multi extent files (> 4 GB), and create correct hard links with mkisofs — as well as burning Blu-ray Discs using cdrecord.

Error handling

By default genisoimage (and mkisofs) will stop building the ISO 9660 filesystem once certain types of errors are encountered. In order to provide the end-user with an alternative to this behavior, the developer of cdrtools included [17] this option in mkisofs:

ERRCTL="WARN|ALL *"

Including that in the command line invocation instructs mkisofs to simply ignore ANY and all errors (issues/problems) that it encounters when accessing source files during the building process. This is particularly useful when those source files are not locally stored but instead are accessed over a network connection. This option isn't in genisoimage from the cdr-kit fork.[18]

Additionally ...

Timestamps

UDF

Since (so-called) alpha release 13 (cdrtools 3.01a13),

[...]UDF, supports all three Unix times with microsecond granularity in UDF [19]

That is just one of many improvements made to handling of UDF filesystem overhead, including permissions and security.

long RockRidge times

Before that—in November 2010, with the first incremental "alpha" release after 3.00, "3.01a01"—the long-rr-time switch was added:

Mkisofs now supports sub-second time stamp granularity with Rock Ridge and the option "-long-rr-time". [20]

Unfortunately, the Linux kernel can't read these timestamps properly and instead the epoch is displayed. This is not the case with BSD-based distros.

Compatible operating systems

The current release of cdrtools can be compiled on the following operating systems, though some may require additional patches. See the official website for more information.

Version history

Project Name Preview Releases Stable Release
first last version date
cdrecord Old version, no longer maintained: 1.00 1996-02-04
Old version, no longer maintained: 1.01 1996-10-04
Old version, no longer maintained: 1.02 1996-12-20
Old version, no longer maintained: 1.03 1997-05-16
Old version, no longer maintained: 1.04 1997-05-23
1.5a1 1.5a9 Old version, no longer maintained: 1.05 1997-09-15
1.6a01 1.6a15 Old version, no longer maintained: 1.06 1998-04-18
1.6.1a1 1.6.1a7 Old version, no longer maintained: 1.06.1 1998-10-19
1.8a01 1.8a40 Old version, no longer maintained: 1.08 2000-01-28
1.8.1a01 1.8.1a09 Old version, no longer maintained: 1.08.1 2000-04-27
1.9a01 1.9a05 Old version, no longer maintained: 1.09 2000-07-20
cdrtools 1.10a01 1.10a19 Old version, no longer maintained: 1.10 2001-04-22
1.11a01
2.0pre1
1.11a40
2.0pre3
Old version, no longer maintained: 2.00 2002-12-25
Old version, no longer maintained: 2.00.3 2003-05-28
2.01a01 2.01a38 Old version, no longer maintained: 2.01 2004-09-09
2.01.01a01 2.01.01a80 Current stable version: 3.00[21][22] 2010-06-02
3.01a01 Latest preview version of a future release: 3.01a19[2] 2013-11-22[2]
Legend:
Old version
Old version, still maintained
Latest version
Latest preview version
Future release

Forks

Software that can use cdrtools

References

  1. ^ Clausecker, Robert (19 September 2022). "New features with AN-2022-09-18". The schilytools project. Retrieved 2022-10-16.
  2. ^ a b c Schilling, Jörg (10 December 2017). "cdrtools 3.02a09 announcement". cdrtools.sourceforge.net. Retrieved 2017-12-21. Cite error: The named reference "latest preview" was defined multiple times with different content (see the help page).
  3. ^ According to W3Techs, Redhat/CentOS/Fedora and Debian/Ubuntu dominate the market with 95% market share; both no longer include cdrtools
  4. ^ http://blog.gerv.net/2004/08/unredistributab/
  5. ^ Jörg Schilling. "Cdrtools (Cdrecord) release information". Retrieved 2007-08-04.
  6. ^ "Various Licenses and Comments About Them - Common Development and Distribution License". Free Software Foundation. Retrieved 2006-12-31.
  7. ^ Jonathan Corbet. "cdrtools - a tale of two licenses". Retrieved 2007-08-04.
  8. ^ "#377109 - RM: cdrtools -- RoM: non-free, license problems - Debian Bug report logs". Retrieved 2007-08-04.
  9. ^ "Information for build cdrtools-2.01-11.fc7". Retrieved 2007-08-04. moved back to version 2.01 (last GPL version), due to incompatible license issues
  10. ^ "[Fedora-legal-list] Legal CD/DVD/BD writing software for RedHat and Fedora".
  11. ^ OpenSuSE 10.3 release notes
  12. ^ Both SuSE and openSUSE did switch back from cdrkit to cdrtools after some requests.
  13. ^ "Mandriva Cooker : The Inside Man V". Retrieved 2007-08-04.
  14. ^ "cdrkit (fork of cdrtools) uploaded to Debian, please test". Retrieved 2007-08-04.
  15. ^ "Minutes from the Technical Board meeting, 2008-08-26". Retrieved 2008-09-15.
  16. ^ a b cdrtools was removed from all major Linux distributions. See section #Licensing.<
  17. ^ Up-to-date man page (or [1], or [2]) for mkisofs.
  18. ^ man page for genisoimage
  19. ^ cdrtools ("cdrecord" sic) changelog, page 2 " 3.01a13 26 Feb 2013 19:17"
  20. ^ cdrtools ("cdrecord" sic) changelog, page 2 " 3.01a01 25 Nov 2010 12:35"
  21. ^ Schilling, Jörg (18 May 2010). "cdrtools 3.00 release announcement". Retrieved 2010-05-18.
  22. ^ Schilling, Jörg (2 June 2010). "cdrtools 3.00 release notes". Retrieved 2010-06-02.