]> git.proxmox.com Git - mirror_smartmontools-debian.git/blobdiff - INSTALL
Closes #831504
[mirror_smartmontools-debian.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 1863c34f4f4831f2982030a1144c83b210517536..011622ac358ae950d2902ed5392313767f3faee6 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,10 +1,10 @@
 Smartmontools installation instructions
 =======================================
 
 Smartmontools installation instructions
 =======================================
 
-$Id: INSTALL 3555 2012-06-01 21:07:33Z chrfranke $
+$Id: INSTALL 4120 2015-08-27 16:12:21Z samm2 $
 
 Please also see the smartmontools home page:
 
 Please also see the smartmontools home page:
-http://smartmontools.sourceforge.net/
+http://www.smartmontools.org/
 
 Table of contents:
 
 
 Table of contents:
 
@@ -32,49 +32,6 @@ Table of contents:
     kernel version greater than or equal to 2.2.14. So any recent
     Linux distribution should support smartmontools.
 
     kernel version greater than or equal to 2.2.14. So any recent
     Linux distribution should support smartmontools.
 
-    There are two parts of smartmontools that may require a patched or
-    nonstandard kernel:
-
-    (1) To get the ATA RETURN SMART STATUS command, the kernel needs
-    to support the HDIO_DRIVE_TASK ioctl().
-
-    (2) To run Selective Self-tests, the kernel needs to support the
-    HDIO_DRIVE_TASKFILE ioctl().
-
-    If your kernel does not support one or both of these ioctls, then
-    smartmontools will "mostly" work.  The things that don't work will
-    give you harmless warning messages.
-
-    For item (1) above, any 2.4 or 2.6 series kernel will provide
-    HDIO_DRIVE_TASK support.  Some 2.2.20 and later kernels also
-    provide this support IF they're properly patched and
-    configured. [Andre Hedrick's IDE patches may be found at
-    http://www.nic.funet.fi/pub/linux/kernel/people/hedrick/ide-2.2.20/
-    or are available from your local kernel.org mirror.  They are not
-    updated for 2.2.21 or later, and may contain a few bugs.].
-    If the configuration option CONFIG_IDE_TASK_IOCTL
-    exists in your 2.2.X kernel source code tree, then your 2.2.X
-    kernel will probably support this ioctl. [Note that this kernel
-    configuration option does NOT need to be enabled. Its presence
-    merely indicates that the required HDIO_DRIVE_TASK ioctl() is
-    supported.]
-
-    For item (2) above, your kernel must be configured with the kernel
-    configuration option CONFIG_IDE_TASKFILE_IO enabled.  This
-    configuration option is present in all 2.4 and 2.6 series
-    kernels. Some 2.2.20 and later kernels also provide this support
-    IF they're properly patched and configured as described above.
-
-    Please see FAQ section of the URL above for additional details.
-
-    If you are using 3ware controllers, for full functionality you
-    must either use version 1.02.00.037 or greater of the 3w-xxxx
-    driver, or patch earlier 3ware 3w-xxxx drivers.  See
-    http://smartmontools.sourceforge.net/3w-xxxx.txt
-    for the patch.  The version 1.02.00.037 3w-xxxx.c driver was
-    incorporated into kernel 2.4.23-bk2 on 3 December 2003 and into
-    kernel 2.6.0-test5-bk11 on 23 September 2003.
-
     B) FreeBSD
 
     For FreeBSD support, a 5-current kernel that includes ATAng is
     B) FreeBSD
 
     For FreeBSD support, a 5-current kernel that includes ATAng is
@@ -97,7 +54,7 @@ Table of contents:
 
     E) Cygwin
 
 
     E) Cygwin
 
-    The code was tested on Cygwin 1.7.7-1. It should also work on other
+    The code was tested on Cygwin 1.7.15-1.  It should also work on other
     recent releases.
 
     Both Cygwin and Windows versions of smartmontools share the same code
     recent releases.
 
     Both Cygwin and Windows versions of smartmontools share the same code
@@ -106,40 +63,14 @@ Table of contents:
 
     F) Windows
 
 
     F) Windows
 
-    The code was tested on Windows 98SE, ME, NT4(SP5,SP6), 2000(SP4),
-    XP(up to SP3), 2003, Vista and Windows 7.
-
-    -- Windows 9x/ME
-
-    On 9x/ME, only standard (legacy) IDE/ATA devices 0-3 are supported.
-    The driver SMARTVSD.VXD must be present in WINDOWS\SYSTEM\IOSUBSYS
-    to get loaded at Windows startup. The default location in a new
-    installation of some versions of Windows is the WINDOWS\SYSTEM folder.
-    In this case, move SMARTVSD.VXD to WINDOWS\SYSTEM\IOSUBSYS and reboot
-    (http://support.microsoft.com/kb/265854/en-us).
-
-    SMARTVSD.VXD relies on the standard IDE port driver ESDI_506.PDR.
-    If the system uses a vendor specific driver, access of SMART data
-    is not possible.
-
-    Some ATA controllers (e.g. Promise) provided a custom SMARTVSD.VXD
-    for their Win9x/ME driver. To access SMART data from both the legacy
-    (/dev/h[a-d]) and this additional (/dev/hd[e-h]) controller, rename
-    this file to SMARTVSE.VXD. Open the file with a hex editor and replace
-    all occurrences of the string "SMARTVSD" with "SMARTVSE". Then reinstall
-    the original Windows SMARTVSD.VXD.
-
-    To access SCSI and USB devices, an installed ASPI interface (WNASPI32.DLL)
-    is required. The code was tested with Adaptec Windows ASPI drivers 4.71.2.
-    (http://www.adaptec.com/en-US/support/_eol/scsi_sw/ASPI-4.70/)
-    Links to other ASPI drivers can be found at http://www.nu2.nu/aspi/.
-
-    -- Windows NT4/2000/XP/2003/Vista/Win7
+    The code was tested on Windows XP SP3, 2003, Vista, Windows 7, 8, 8.1
+    and Windows 10 Release Preview.  Support von Windows 9x/ME and NT4 was
+    removed after smartmontools 5.43.
 
     ATA or SATA devices are supported if the device driver implements
     the SMART IOCTLs or IOCTL_IDE_PASS_THROUGH or IOCTL_ATA_PASS_THROUGH.
 
     ATA or SATA devices are supported if the device driver implements
     the SMART IOCTLs or IOCTL_IDE_PASS_THROUGH or IOCTL_ATA_PASS_THROUGH.
-    The ATA SMART READ LOG command (smartctl -l, --log, -a, --all) is not
-    supported if only the SMART IOCTLs are implemented.
+    Only the latter provides full pass-through support which is needed
+    for all smartmontools features.
 
     SCSI and USB devices are accessed through SPTI. Special driver support
     is not required.
 
     SCSI and USB devices are accessed through SPTI. Special driver support
     is not required.
@@ -205,13 +136,13 @@ Table of contents:
     The code was tested on eComStation 1.1, but it should work on all versions
     of OS/2.
     Innotek LibC 0.5 runtime is required.
     The code was tested on eComStation 1.1, but it should work on all versions
     of OS/2.
     Innotek LibC 0.5 runtime is required.
-    Currently only ATA disks are supported, SCSI support will be added.
+    Only ATA disks are supported.
 
 [2] Installing from SVN
 =======================
 
     Get the sources from the SVN repository:
 
 [2] Installing from SVN
 =======================
 
     Get the sources from the SVN repository:
-    svn co https://smartmontools.svn.sourceforge.net/svnroot/smartmontools/trunk/smartmontools smartmontools
+    svn co http://svn.code.sf.net/p/smartmontools/code/trunk/smartmontools smartmontools
 
     Then type:
     ./autogen.sh
 
     Then type:
     ./autogen.sh
@@ -236,22 +167,31 @@ Table of contents:
     make install (you may need to be root to do this)
 
     As shown (with no options to ./configure) this defaults to the
     make install (you may need to be root to do this)
 
     As shown (with no options to ./configure) this defaults to the
-    following set of installation directories:
+    following set of installation directories and other settings:
+
     --prefix=/usr/local
     --prefix=/usr/local
-    --sbindir=/usr/local/sbin
-    --sysconfdir=/usr/local/etc
-    --mandir=/usr/local/share/man
-    --docdir=/usr/local/share/doc/smartmontools
-    --with-exampledir=/usr/local/share/doc/smartmontools/examplescripts
-    --with-drivedbdir=/usr/local/share/smartmontools
-    --with-initscriptdir=auto
-    --with-systemdsystemunitdir=auto
-    --enable-drivedb
-    --disable-attributelog
+    --exec-prefix='${prefix}'
+    --sbindir='${exec_prefix}/sbin'
+    --sysconfdir='${prefix}/etc'
+    --localstatedir='${prefix}/var'
+    --datarootdir='${prefix}/share'
+    --datadir='${datarootdir}'
+    --mandir='${datarootdir}/man'
+    --docdir='${datarootdir}/doc/smartmontools'
     --disable-sample
     --disable-sample
-    --disable-savestates
-    --with-libcap-ng=auto
+    --with-systemdsystemunitdir=auto
+    --with-systemdenvfile=auto
+    --with-initscriptdir=auto
+    --with-exampledir='${docdir}/examplescripts'
+    --with-drivedbdir='${datadir}/smartmontools'
+    --with-smartdscriptdir='${sysconfdir}'
+    --with-smartdplugindir='${smartdscriptdir}/smartd_warning.d'
+    --without-savestates
+    --without-attributelog
+    --with-os-deps='os_linux.o dev_areca.o' (platform specific)
     --without-selinux
     --without-selinux
+    --with-libcap-ng=auto
+    --with-working-snprintf
 
     These will usually not overwrite existing "distribution" installations on
     Linux Systems since the FHS reserves this area for use by the system
 
     These will usually not overwrite existing "distribution" installations on
     Linux Systems since the FHS reserves this area for use by the system
@@ -441,37 +381,17 @@ To compile the Windows release with MinGW gcc on MSYS, use:
   Instead of using "make install", copy the .exe files into
   some directory in the PATH.
 
   Instead of using "make install", copy the .exe files into
   some directory in the PATH.
 
-Cross-compile statically linked 32-bit version with MinGW-w64:
+Cross-compile statically linked 32-bit and 64-bit versions with MinGW-w64:
 
   ./configure --build=$(./config.guess) \
               --host=i686-w64-mingw32 \
               LDFLAGS=-static
 
 
   ./configure --build=$(./config.guess) \
               --host=i686-w64-mingw32 \
               LDFLAGS=-static
 
-  Tested on Cygwin and Debian Linux.
-
-Cross-compile statically linked 64-bit version with MinGW-w64:
-
   ./configure --build=$(./config.guess) \
               --host=x86_64-w64-mingw32 \
               LDFLAGS=-static
 
   ./configure --build=$(./config.guess) \
               --host=x86_64-w64-mingw32 \
               LDFLAGS=-static
 
-  Tested on Cygwin and Debian Linux with MinGW-w64 from
-  http://mingw-w64.sourceforge.net/.
-
-WARNING: The smartmontools version for 64-bit Windows is still EXPERIMENTAL.
-
-Cross-compile on Cygwin with old gcc-mingw 3.x:
-
-  ./configure --build=$(./config.guess) \
-              --host=i686-pc-mingw32 \
-               CC='gcc-3 -mno-cygwin' \
-              CXX='g++-3 -mno-cygwin' \
-              CXXFLAGS='-g -O2 -Wall -W -Wno-format'
-
-Cross-compile on Debian Linux with gcc-mingw32:
-
-  ./configure --build=$(./config.guess) \
-              --host=i586-mingw32msvc
+  Tested on Cygwin, Debian and Fedora.
 
 
 To build the Windows binary distribution, use:
 
 
 To build the Windows binary distribution, use:
@@ -500,7 +420,8 @@ To create a Windows installer, use:
   download location.
 
   It is also possible to (cross-)build the installer on Linux.
   download location.
 
   It is also possible to (cross-)build the installer on Linux.
-  This was successfully tested on Debian with package "nsis".
+  This was successfully tested on Debian and Fedora with package
+  "nsis".
 
 To create a combined 32-/64-bit installer, use this in 32-bit build
 directory if 64-build directory is at ../build64:
 
 To create a combined 32-/64-bit installer, use this in 32-bit build
 directory if 64-build directory is at ../build64:
@@ -516,14 +437,6 @@ To both create and run the (interactive) installer, use:
 
   The binary distribution includes all documentation files converted
   to DOS text file format and *.html and *.txt preformatted man pages.
 
   The binary distribution includes all documentation files converted
   to DOS text file format and *.html and *.txt preformatted man pages.
-  The tools unix2dos.exe (package cygutils) and zip.exe (package zip
-  or a native Win32 release of Info-ZIP, http://www.info-zip.org) are
-  necessary but may be not installed by Cygwin's default settings.
-
-  The event message file tool syslogevt.exe (see smartd man page) is
-  included in the binary distribution if message compiler (windmc)
-  and resource compiler (windres) are available. This may be disabled
-  by passing 'WINDMC=no' to configure.
 
 To prepare os_win32 directory for MS Visual Studio C++ 2010 [Express],
 use the following on MSYS or Cygwin:
 
 To prepare os_win32 directory for MS Visual Studio C++ 2010 [Express],
 use the following on MSYS or Cygwin:
@@ -532,12 +445,11 @@ use the following on MSYS or Cygwin:
   ../configure [... any MinGW option set from above ...]
   make config-vc10
 
   ../configure [... any MinGW option set from above ...]
   make config-vc10
 
-  The MSVC project files (os_win32/smartmontools_vc10.sln,
-  os_win32/smart{ctl,d}_vc10.vcxproj) are included in SVN (but not in
-  source tarball). The target config-vc10 from a Makefile configured
-  for MinGW creates os_win32/{config,svnversion}_vc10.h from
-  ./{config,svnversion}.h. The configure skript must be run outside
-  of the source directory to avoid inclusion of the original config.h.
+  The MSVC project files (os_win32/vc10/*) are included in SVN (but not
+  in source tarball). The target config-vc10 from a Makefile configured
+  for MinGW creates os_win32/vc10/{config.h,smart*.rc,svnversion.h}.
+  The configure skript must be run outside of the source directory to
+  avoid inclusion of the original config.h.
 
 
 [11] Guidelines for OS/2, eComStation
 
 
 [11] Guidelines for OS/2, eComStation
@@ -596,8 +508,8 @@ man smartd.conf
 man smartctl
 man smartd
 
 man smartctl
 man smartd
 
-/usr/sbin/smartctl -s on -o on -S on /dev/hda (only root can do this)
-/usr/sbin/smartctl -a /dev/hda (only root can do this)
+/usr/sbin/smartctl -s on -o on -S on /dev/sda (only root can do this)
+/usr/sbin/smartctl -a /dev/sda (only root can do this)
 
 Note that the default location for the manual pages are
 /usr/share/man/man5 and /usr/share/man/man8.  If "man" doesn't find
 
 Note that the default location for the manual pages are
 /usr/share/man/man5 and /usr/share/man/man8.  If "man" doesn't find
@@ -607,8 +519,8 @@ variable.
 Source and binary packages for Windows are available at
 http://sourceforge.net/projects/smartmontools/files/
 
 Source and binary packages for Windows are available at
 http://sourceforge.net/projects/smartmontools/files/
 
-Refer to http://sourceforge.net/apps/trac/smartmontools/wiki/Download
-for any additional download and installation instructions.
+Refer to http://www.smartmontools.org/wiki/Download for any additional
+download and installation instructions.
 
 The following files are installed if ./configure has no options:
 
 
 The following files are installed if ./configure has no options:
 
@@ -616,22 +528,30 @@ The following files are installed if ./configure has no options:
 /usr/local/sbin/smartd                                  [Executable daemon]
 /usr/local/sbin/update-smart-drivedb                    [Drive database update script]
 /usr/local/etc/smartd.conf                              [Configuration file for smartd daemon]
 /usr/local/sbin/smartd                                  [Executable daemon]
 /usr/local/sbin/update-smart-drivedb                    [Drive database update script]
 /usr/local/etc/smartd.conf                              [Configuration file for smartd daemon]
-/usr/local/etc/rc.d/init.d/smartd                       [Init/Startup script for smartd]
+/usr/local/etc/smartd_warning.sh                        [Warning skript for smartd daemon]
 /usr/local/share/man/man5/smartd.conf.5                 [Manual page]
 /usr/local/share/man/man8/smartctl.8                    [Manual page]
 /usr/local/share/man/man8/smartd.8                      [Manual page]
 /usr/local/share/man/man5/smartd.conf.5                 [Manual page]
 /usr/local/share/man/man8/smartctl.8                    [Manual page]
 /usr/local/share/man/man8/smartd.8                      [Manual page]
+/usr/local/share/man/man8/update-smart-drivedb.8        [Manual page]
 /usr/local/share/doc/smartmontools/AUTHORS              [Information about the authors and developers]
 /usr/local/share/doc/smartmontools/AUTHORS              [Information about the authors and developers]
-/usr/local/share/doc/smartmontools/CHANGELOG            [A log of changes. Also see SVN]
+/usr/local/share/doc/smartmontools/ChangeLog            [A log of changes. Also see SVN]
 /usr/local/share/doc/smartmontools/COPYING              [GNU General Public License Version 2]
 /usr/local/share/doc/smartmontools/INSTALL              [Installation instructions: what you're reading!]
 /usr/local/share/doc/smartmontools/COPYING              [GNU General Public License Version 2]
 /usr/local/share/doc/smartmontools/INSTALL              [Installation instructions: what you're reading!]
-/usr/local/share/doc/smartmontools/NEWS                 [Significant bugs discovered in old versions]
+/usr/local/share/doc/smartmontools/NEWS                 [Significant enhancements and fixes]
 /usr/local/share/doc/smartmontools/README               [Overview]
 /usr/local/share/doc/smartmontools/TODO                 [Things that need to be done/fixed]
 /usr/local/share/doc/smartmontools/README               [Overview]
 /usr/local/share/doc/smartmontools/TODO                 [Things that need to be done/fixed]
-/usr/local/share/doc/smartmontools/WARNINGS             [Systems where lockups or other serious problems were reported]
 /usr/local/share/doc/smartmontools/smartd.conf          [Example configuration file for smartd]
 /usr/local/share/doc/smartmontools/examplescripts/      [Executable scripts for -M exec of smartd.conf (4 files)]
 /usr/local/share/smartmontools/drivedb.h                [Drive database]
 
 /usr/local/share/doc/smartmontools/smartd.conf          [Example configuration file for smartd]
 /usr/local/share/doc/smartmontools/examplescripts/      [Executable scripts for -M exec of smartd.conf (4 files)]
 /usr/local/share/smartmontools/drivedb.h                [Drive database]
 
+Due to checks done by '--with-systemdsystemunitdir=auto' and '--with-initscriptdir=auto',
+one of the following files may also be installed:
+
+/usr/local/lib/systemd/system/smartd.service            [Systemd service file for smartd]
+/usr/local/etc/rc.d/init.d/smartd                       [Init/Startup script for smartd]
+/usr/local/etc/init.d/smartd                            [Init/Startup script for smartd]
+/usr/local/etc/rc.d/smartd                              [Init/Startup script for smartd]
+
 If /usr/local/etc/smartd.conf exists and differs from the
 default then the default configuration file is installed as
 /usr/local/etc/smartd.conf.sample instead.
 If /usr/local/etc/smartd.conf exists and differs from the
 default then the default configuration file is installed as
 /usr/local/etc/smartd.conf.sample instead.
@@ -669,48 +589,23 @@ a documentation file doc/latex/refman.pdf:
 ===========================================================
 
 When you type:
 ===========================================================
 
 When you type:
-./configure [options]
-there are six particularly important variables that affect where the
-smartmontools software is installed.  The variables are listed here,
-with their default values in square brackets, and the quantities that
-they affect described following that.  This is a very wide table: please read
-it in a wide window.
-
-OPTIONS              DEFAULT                                      AFFECTS
--------              -------                                      -------
---prefix             /usr/local                                   Please see below
---sbindir            ${prefix}/sbin                               Directory for smartd/smartctl executables;
-                                                                  Contents of smartd/smartctl man pages
---docdir             ${prefix}/share/doc/smartmontools            Location of the documentation
-                                                                  (autoconf >= 2.60 only, see also --with-docdir below)
---mandir             ${prefix}/share/man                          Directory for smartctl/smartd/smartd.conf man pages
---sysconfdir         ${prefix}/etc                                Directory for smartd.conf;
-                                                                  Contents of smartd executable;
-                                                                  Contents of smartd/smartd.conf man pages;
-                                                                  Directory for rc.d/init.d/smartd init script
---with-initscriptdir           auto                               Location of init scripts
---with-systemdsystemunitdir    auto                               Location of systemd service files
---with-docdir         ${prefix}/share/doc/smartmontools           Location of the documentation
---with-exampledir     ${docdir}/examplescripts                    Location of example scripts
---enable-sample       --disable-sample                            Adds the string '.sample' to the names of the smartd.conf file and the smartd RC file
---with-os-deps        os_<guessed>.o                              OS dependent module(s)
---with-selinux        --without-selinux                           Enables SELinux support.  If smartmontools has to create the /dev/tw[ae] device
-                                                                  nodes for 3ware/AMCC controllers, this option ensures that the nodes are created
-                                                                  with correct SELinux file contexts.
---with-libcap-ng      --with-libcap-ng=auto                       Enables/disables libcap-ng support. If enabled and libcap-ng is
-                                                                  available, option --capabilities is added to smartd.
---disable-drivedb     --enable-drivedb                            Disables default drive database file '${drivedbdir}/drivedb.h'
---with-drivedbdir     ${prefix}/share/smartmontools               Directory for 'drivedb.h' (implies --enable-drivedb)
---enable-savestates   --disable-savestates                        Enables default smartd state files '${savestates}MODEL-SERIAL.ata.state'
---with-savestates     ${prefix}/var/lib/smartmontools/smartd.     Prefix for smartd state files (implies --enable-savestates)
---enable-attributelog --disable-attributelog                      Enables default smartd attribute log files
---with-attributelog   ${prefix}/var/lib/smartmontools/attrlog.    Prefix for smartd attribute log files (implies --enable-attributelog)
-
-Please note that in previous versions of smartmontools (<= 5.39) the
-default for --with-docdir was
-  ${prefix}/share/doc/smartmontools-VERSION
-This was changed to make it consistent with the default of the
-new --docdir option added in autoconf 2.60.
+./configure --help
+a description of available configure options is printed
+[with defaults in square brackets].  See also section [3] above.
+
+
+The following old configure options are deprecated and will be removed
+in a future release of smartmontools:
+
+Old option                 Replacement
+--with-docdir=DIR          --docdir=DIR (autoconf >= 2.60)
+--enable-drivedb           [no option needed]
+--disable-drivedb          --without-drivedbdir
+--enable-savestates        --with-savestates[=yes]
+--disable-savestates       [no option needed]
+--enable-attrbutelog       --with-attributelog[=yes]
+--disable-savestates       [no option needed]
+
 
 The defaults for --with-initscriptdir and --with-systemdsystemunitdir are
 guessed such that the following rules apply:
 
 The defaults for --with-initscriptdir and --with-systemdsystemunitdir are
 guessed such that the following rules apply:
@@ -757,30 +652,6 @@ else
 --with-initscriptdir         [disabled]
 --with-systemdsystemunitdir  [disabled]
 
 --with-initscriptdir         [disabled]
 --with-systemdsystemunitdir  [disabled]
 
-This is useful for test installs in a harmless subdirectory somewhere.
-
-Here are the four possible cases for the four variables above:
-
-Case 1:
---prefix not set
---variable not set
-===> VARIABLE gets default value above
-
-Case 2:
---prefix set
---variable not set
-===> VARIABLE gets PREFIX/ prepended to default value above
-
-Case 3:
---prefix not set
---variable set
-===> VARIABLE gets value that is set
-
-Case 4:
---prefix is set
---variable is set
-===> PREFIX is IGNORED, VARIABLE gets value that is set
-
 
 Here are the differences with and without --enable-sample, assuming
 that initscript location is set and no other options specified 
 
 Here are the differences with and without --enable-sample, assuming
 that initscript location is set and no other options specified