| 1 | == History of smartmontools == |
| 2 | |
| 3 | Smartmontools was derived directly from smartsuite. |
| 4 | The smartsuite code was originally developed as a Senior Thesis by |
| 5 | Michael Cornwell at the Concurrent Systems Laboratory (now part of the |
| 6 | [http://ssrc.soe.ucsc.edu/ Storage Systems Research Center]), Jack Baskin School of Engineering, University of |
| 7 | California, Santa Cruz. |
| 8 | You can find some information about the original smartsuite project here: |
| 9 | [http://www.ucsc.edu/news_events/press_releases/archive/99-00/09-99/smart_software.htm Press Release 1], |
| 10 | [http://www.santa-cruz.com/archive/1999/September/22/local/stories/5local.htm Press Release 2], |
| 11 | [http://www.ucsc.edu/currents/99-00/09-27/smart.html Press Release 3]. |
| 12 | According to [http://www.ssrc.ucsc.edu/ SSRC] smartsuite is no longer maintained; the last release was in 2001. |
| 13 | |
| 14 | Smartmontools was first released in October 2002. It differs from smartsuite |
| 15 | in that it supports the ATA/ATAPI-5 standard. So for example {{{smartctl}}} from smartsuite |
| 16 | has no facility for printing the SMART self-test logs, and doesn't print timestamp |
| 17 | information in the most usable way. The {{{smartctl}}} utility |
| 18 | in smartmontools has added functionality for this ({{{-q}}}, {{{-l selftest}}}, |
| 19 | {{{-S}}}, {{{-T}}}, {{{-v}}} and {{{-m}}} options), updated documentation, and also fixes small |
| 20 | technical bugs in smartsuite. (One example: smartsuite does not actually use the |
| 21 | ATA SMART RETURN STATUS command to find out the health status of a disk. It instead tries to infer this from the |
| 22 | SMART Attribute values.) See the [http://sourceforge.net/browser/trunk/smartmontools/CHANGELOG CHANGELOG] |
| 23 | file in our repository for a summary of what's been done. |
| 24 | |
| 25 | The {{{smartd}}} utility differs from the smartsuite {{{smartd}}} in major ways. |
| 26 | First, it prints somewhat more informative error messages to the syslog. |
| 27 | Second, on startup it looks for a configuration file |
| 28 | {{{/etc/smartd.conf}}}, and if {{{smartd}}} finds this file, it |
| 29 | monitors the list of devices therein, rather than querying all IDE and |
| 30 | SCSI devices on your system. (If the configuration file does not |
| 31 | exist, then it does query all IDE and SCSI devices.) Also, it's |
| 32 | a well-behaved daemon and doesn't leave open file descriptors and other |
| 33 | detrius behind. In addition, the {{{smartmontools}}} version of |
| 34 | {{{smartd}}} can be instructed (via Directives in the configuration |
| 35 | file) to monitor for changes in a number of different disk properties: |
| 36 | the SMART status, failure or prefailure attributes going below |
| 37 | threshold, new errors appearing in the ATA Error Log or the SMART |
| 38 | Self-Test Log, and so on. {{{smartd}}} can also send an email warning or run a |
| 39 | user-specified executable if it detects a problem with the disk. |
| 40 | |
| 41 | The other principle difference is that smartmontools is an |
| 42 | OpenSource development project, meaning that we keep the files in SVN, |
| 43 | and that other developers who wish to contribute can commit changes to |
| 44 | the repository. If you would like to contribute, please write to to |
| 45 | [http://lists.sourceforge.net/mailman/listinfo/smartmontools-support smartmontools-support]. |
| 46 | |
| 47 | But the bottom line is that the code in smartmontools is derived |
| 48 | directly from smartsuite and is similar. The smartsuite package |
| 49 | can be found [http://sourceforge.net/projects/smartsuite/ here]. |