]> 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
 =======================================
 
-$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:
-http://smartmontools.sourceforge.net/
+http://www.smartmontools.org/
 
 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.
 
-    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
@@ -97,7 +54,7 @@ Table of contents:
 
     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
@@ -106,40 +63,14 @@ Table of contents:
 
     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.
-    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.
@@ -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.
-    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:
-    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
@@ -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
-    following set of installation directories:
+    following set of installation directories and other settings:
+
     --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-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
+    --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
@@ -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.
 
-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
 
-  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
 
-  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:
@@ -500,7 +420,8 @@ To create a Windows installer, use:
   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:
@@ -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 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:
@@ -532,12 +445,11 @@ use the following on MSYS or Cygwin:
   ../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
@@ -596,8 +508,8 @@ man smartd.conf
 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
@@ -607,8 +519,8 @@ variable.
 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:
 
@@ -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/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/man8/update-smart-drivedb.8        [Manual page]
 /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/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/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]
 
+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.
@@ -669,48 +589,23 @@ a documentation file doc/latex/refman.pdf:
 ===========================================================
 
 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:
@@ -757,30 +652,6 @@ else
 --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