File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / smartmontools / INSTALL
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 16:32:16 2012 UTC (12 years, 4 months ago) by misho
CVS tags: MAIN, HEAD
Initial revision

    1: Smartmontools installation instructions
    2: =======================================
    3: 
    4: $Id: INSTALL,v 1.1 2012/02/21 16:32:16 misho Exp $
    5: 
    6: Please also see the smartmontools home page:
    7: http://smartmontools.sourceforge.net/
    8: 
    9: Table of contents:
   10: 
   11: [1] System requirements
   12: [2] Installing from SVN
   13: [3] Installing from source tarball
   14: [4] Guidelines for different Linux distributions
   15: [5] Guidelines for FreeBSD
   16: [6] Guidelines for Darwin
   17: [7] Guidelines for NetBSD
   18: [8] Guidelines for Solaris
   19: [9] Guidelines for Cygwin
   20: [10] Guidelines for Windows
   21: [11] Guidelines for OS/2, eComStation
   22: [12] Guidelines for OpenBSD
   23: [13] Comments
   24: [14] Detailed description of ./configure options
   25: 
   26: [1] System requirements
   27: =======================
   28: 
   29:     A) Linux
   30: 
   31:     Any Linux distribution will support smartmontools if it has a
   32:     kernel version greater than or equal to 2.2.14. So any recent
   33:     Linux distribution should support smartmontools.
   34: 
   35:     There are two parts of smartmontools that may require a patched or
   36:     nonstandard kernel:
   37: 
   38:     (1) To get the ATA RETURN SMART STATUS command, the kernel needs
   39:     to support the HDIO_DRIVE_TASK ioctl().
   40: 
   41:     (2) To run Selective Self-tests, the kernel needs to support the
   42:     HDIO_DRIVE_TASKFILE ioctl().
   43: 
   44:     If your kernel does not support one or both of these ioctls, then
   45:     smartmontools will "mostly" work.  The things that don't work will
   46:     give you harmless warning messages.
   47: 
   48:     For item (1) above, any 2.4 or 2.6 series kernel will provide
   49:     HDIO_DRIVE_TASK support.  Some 2.2.20 and later kernels also
   50:     provide this support IF they're properly patched and
   51:     configured. [Andre Hedrick's IDE patches may be found at
   52:     http://www.nic.funet.fi/pub/linux/kernel/people/hedrick/ide-2.2.20/
   53:     or are available from your local kernel.org mirror.  They are not
   54:     updated for 2.2.21 or later, and may contain a few bugs.].
   55:     If the configuration option CONFIG_IDE_TASK_IOCTL
   56:     exists in your 2.2.X kernel source code tree, then your 2.2.X
   57:     kernel will probably support this ioctl. [Note that this kernel
   58:     configuration option does NOT need to be enabled. Its presence
   59:     merely indicates that the required HDIO_DRIVE_TASK ioctl() is
   60:     supported.]
   61: 
   62:     For item (2) above, your kernel must be configured with the kernel
   63:     configuration option CONFIG_IDE_TASKFILE_IO enabled.  This
   64:     configuration option is present in all 2.4 and 2.6 series
   65:     kernels. Some 2.2.20 and later kernels also provide this support
   66:     IF they're properly patched and configured as described above.
   67: 
   68:     Please see FAQ section of the URL above for additional details.
   69: 
   70:     If you are using 3ware controllers, for full functionality you
   71:     must either use version 1.02.00.037 or greater of the 3w-xxxx
   72:     driver, or patch earlier 3ware 3w-xxxx drivers.  See
   73:     http://smartmontools.sourceforge.net/3w-xxxx.txt
   74:     for the patch.  The version 1.02.00.037 3w-xxxx.c driver was
   75:     incorporated into kernel 2.4.23-bk2 on 3 December 2003 and into
   76:     kernel 2.6.0-test5-bk11 on 23 September 2003.
   77: 
   78:     B) FreeBSD
   79: 
   80:     For FreeBSD support, a 5-current kernel that includes ATAng is
   81:     required in order to support ATA drives.  Even current versions of
   82:     ATAng will not support 100% operation, as the SMART status can not
   83:     be reliably retrieved.  There is patch pending approval of the
   84:     ATAng driver maintainer that will address this issue.
   85: 
   86:     C) Solaris
   87: 
   88:     The SCSI code has been tested on a variety of Solaris 8 and 9
   89:     systems.  ATA/IDE code only works on SPARC platform.  All tested
   90:     kernels worked correctly.
   91: 
   92:     D) NetBSD/OpenBSD
   93: 
   94:     The code was tested on a 1.6ZG (i.e., 1.6-current) system. It should
   95:     also function under 1.6.1 and later releases (unverified).  Currently
   96:     it doesn't support ATA devices on 3ware RAID controllers.
   97: 
   98:     E) Cygwin
   99: 
  100:     The code was tested on Cygwin 1.7.7-1. It should also work on other
  101:     recent releases.
  102: 
  103:     Both Cygwin and Windows versions of smartmontools share the same code
  104:     to access the IDE/ATA or SCSI devices. The information in the "Windows"
  105:     section below also applies to the Cygwin version.
  106: 
  107:     F) Windows
  108: 
  109:     The code was tested on Windows 98SE, ME, NT4(SP5,SP6), 2000(SP4),
  110:     XP(up to SP3), 2003, Vista and Windows 7.
  111: 
  112:     -- Windows 9x/ME
  113: 
  114:     On 9x/ME, only standard (legacy) IDE/ATA devices 0-3 are supported.
  115:     The driver SMARTVSD.VXD must be present in WINDOWS\SYSTEM\IOSUBSYS
  116:     to get loaded at Windows startup. The default location in a new
  117:     installation of some versions of Windows is the WINDOWS\SYSTEM folder.
  118:     In this case, move SMARTVSD.VXD to WINDOWS\SYSTEM\IOSUBSYS and reboot
  119:     (http://support.microsoft.com/kb/265854/en-us).
  120: 
  121:     SMARTVSD.VXD relies on the standard IDE port driver ESDI_506.PDR.
  122:     If the system uses a vendor specific driver, access of SMART data
  123:     is not possible.
  124: 
  125:     Some ATA controllers (e.g. Promise) provided a custom SMARTVSD.VXD
  126:     for their Win9x/ME driver. To access SMART data from both the legacy
  127:     (/dev/h[a-d]) and this additional (/dev/hd[e-h]) controller, rename
  128:     this file to SMARTVSE.VXD. Open the file with a hex editor and replace
  129:     all occurrences of the string "SMARTVSD" with "SMARTVSE". Then reinstall
  130:     the original Windows SMARTVSD.VXD.
  131: 
  132:     To access SCSI and USB devices, an installed ASPI interface (WNASPI32.DLL)
  133:     is required. The code was tested with Adaptec Windows ASPI drivers 4.71.2.
  134:     (http://www.adaptec.com/en-US/support/_eol/scsi_sw/ASPI-4.70/)
  135:     Links to other ASPI drivers can be found at http://www.nu2.nu/aspi/.
  136: 
  137:     -- Windows NT4/2000/XP/2003/Vista/Win7
  138: 
  139:     ATA or SATA devices are supported if the device driver implements
  140:     the SMART IOCTLs or IOCTL_IDE_PASS_THROUGH or IOCTL_ATA_PASS_THROUGH.
  141:     The ATA SMART READ LOG command (smartctl -l, --log, -a, --all) is not
  142:     supported if only the SMART IOCTLs are implemented.
  143: 
  144:     SCSI and USB devices are accessed through SPTI. Special driver support
  145:     is not required.
  146: 
  147:     3ware 9000 RAID controllers are supported using features available
  148:     in the Windows driver release 9.4.0 (3wareDrv.sys 3.0.2.70) or later.
  149:     Older drivers provide SMART access to the first physical drive (port)
  150:     of each logical drive (unit). If driver support is not available
  151:     (7000/8000 series, 9000 on XP 64), smartctl can be used to parse SMART
  152:     data output from CLI or 3DM.
  153: 
  154:     G) MacOS/Darwin
  155: 
  156:     The code was tested on MacOS 10.3.4.  It should work from 10.3
  157:     forwards.  It doesn't support 10.2.
  158: 
  159:     It's important to know that on 10.3.x, some things don't work
  160:     (see WARNINGS): due to bugs in the libraries used, you cannot run
  161:     a short test or switch SMART support off on a drive; if you try,
  162:     you will just run an extended test or switch SMART support on.  So
  163:     don't panic when your "short" test seems to be taking hours.
  164: 
  165:     It's also not possible at present to control when the offline
  166:     routine runs. If your drive doesn't have it running automatically by
  167:     default, you can't run it at all.
  168: 
  169:     SCSI devices are not currently supported.  Detecting the power
  170:     status of a drive is also not currently supported.
  171: 
  172:     To summarize this, from another point of view, the things that
  173:     are not supported fall into two categories:
  174: 
  175:    * Can't be implemented easily without more kernel-level support,
  176:      so far as I know:
  177:      - running immediate offline, conveyance, or selective tests
  178:      - running any test in captive mode
  179:      - aborting tests
  180:      - switching automatic offline testing on or off
  181:      - support for SCSI
  182:      - checking the power mode [-n Directive of smartd] (this is not
  183:        completely impossible, but not by using a documented API)
  184: 
  185:    * Work on 10.4 and later, but not on 10.3:
  186:      - switching off SMART (switching *on* works fine)
  187:      - switching off auto-save (but why would you want to?)
  188:      - running the short test (that leaves you with only the extended test)
  189: 
  190:     However, some things do work well.  For ATA devices, all the
  191:     informational output is available, unless you want something that only
  192:     an offline test updates.  On many newer Mac OS systems, the
  193:     hard drive comes with the offline test switched on by default, so
  194:     even that works.
  195: 
  196:     H) OS/2, eComStation
  197: 
  198:     The code was tested on eComStation 1.1, but it should work on all versions
  199:     of OS/2.
  200:     Innotek LibC 0.5 runtime is required.
  201:     Currently only ATA disks are supported, SCSI support will be added.
  202: 
  203: [2] Installing from SVN
  204: =======================
  205: 
  206:     Get the sources from the SVN repository:
  207:     svn co https://smartmontools.svn.sourceforge.net/svnroot/smartmontools/trunk/smartmontools smartmontools
  208: 
  209:     Then type:
  210:     ./autogen.sh
  211:     and continue with step [3] below, skipping the "unpack the tarball" step.
  212: 
  213:     The autogen.sh command is ONLY required when installing from
  214:     SVN. You need GNU Autoconf (version 2.50 or greater), GNU Automake
  215:     (version 1.7 or greater) and their dependencies installed in order
  216:     to run it.  You can get these here:
  217:     http://directory.fsf.org/project/autoconf/
  218:     http://directory.fsf.org/project/automake/
  219: 
  220: [3] Installing from the source tarball
  221: ======================================
  222: 
  223:     If you are NOT installing from SVN, then unpack the tarball:
  224:     tar zxvf smartmontools-5.VERSION.tar.gz
  225: 
  226:     Then:
  227:     ./configure
  228:     make
  229:     make install (you may need to be root to do this)
  230: 
  231:     As shown (with no options to ./configure) this defaults to the
  232:     following set of installation directories:
  233:     --prefix=/usr/local
  234:     --sbindir=/usr/local/sbin
  235:     --sysconfdir=/usr/local/etc
  236:     --mandir=/usr/local/share/man
  237:     --docdir=/usr/local/share/doc/smartmontools
  238:     --with-exampledir=/usr/local/share/doc/smartmontools/examplescripts
  239:     --with-drivedbdir=/usr/local/share/smartmontools
  240:     --with-initscriptdir=auto
  241:     --with-systemdsystemunitdir=auto
  242:     --enable-drivedb
  243:     --disable-attributelog
  244:     --disable-sample
  245:     --disable-savestates
  246:     --with-libcap-ng=auto
  247:     --without-selinux
  248: 
  249:     These will usually not overwrite existing "distribution" installations on
  250:     Linux Systems since the FHS reserves this area for use by the system
  251:     administrator.
  252: 
  253:     For different installation locations or distributions, simply add
  254:     arguments to ./configure as shown in [4] below.
  255: 
  256:     If you wish to alter the default C++ compiler flags, set an
  257:     environment variable CXXFLAGS='your options' before doing
  258:     ./configure, or else do:
  259:     make CXXFLAGS='your options'
  260: 
  261:     The first output line of smartctl and smartd provides information
  262:     about release number, last SVN checkin date and revison, platform,
  263:     and package. The latter defaults to "(local build)" and can be
  264:     changed by the variable BUILD_INFO, for example:
  265:     make BUILD_INFO='"(Debian 5.39-2)"'
  266: 
  267: [4] Guidelines for different Linux distributions
  268: ================================================
  269: 
  270: Note: Please send corrections/additions to:
  271: smartmontools-support@lists.sourceforge.net
  272: 
  273: Debian:
  274:   If you don't want to overwrite any distribution package, use:
  275:   ./configure
  276: 
  277: Filesystem Hierarchy Standard (FHS, http://www.pathname.com/fhs/):
  278:   ./configure --sbindir=/usr/local/sbin                               \
  279:               --sysconfdir=/usr/local/etc                             \
  280:               --mandir=/usr/local/man                                 \
  281:               --docdir=/usr/local/share/doc/smartmontools             \
  282:               --with-initscriptdir=/usr/local/etc/init.d
  283: 
  284: Red Hat:
  285:   ./configure --sbindir=/usr/sbin                               \
  286:               --sysconfdir=/etc                                 \
  287:               --mandir=/usr/share/man                           \
  288:               --docdir=/usr/share/doc/smartmontools             \
  289:               --with-initscriptdir=/etc/rc.d/init.d
  290: 
  291: Slackware:
  292:   If you don't want to overwrite any "distribution" package, use:
  293:   ./configure
  294: 
  295:   Otherwise use:
  296:   ./configure --sbindir=/usr/sbin                               \
  297:               --sysconfdir=/etc                                 \
  298:               --mandir=/usr/share/man                           \
  299:               --docdir=/usr/share/doc/smartmontools             \
  300:               --with-initscriptdir=/etc/rc.d
  301: 
  302:   And
  303:   removepkg smartmontools smartsuite (only root can do this)
  304:   before make install
  305: 
  306:   The init script works on Slackware. You just have to add an entry like
  307:   the following in /etc/rc.d/rc.M or /etc/rc.d/rc.local:
  308: 
  309:   if [ -x /etc/rc.d/smartd ]; then
  310:     . /etc/rc.d/smartd start
  311:   fi
  312: 
  313:   To disable it:
  314:   chmod 644 /etc/rc.d/smartd
  315: 
  316:   For a list of options:
  317:   /etc/rc.d/smartd
  318: 
  319: SuSE:
  320:   ./configure --sbindir=/usr/sbin                                        \
  321:               --sysconfdir=/etc                                          \
  322:               --mandir=/usr/share/man                                    \
  323:               --docdir=/usr/share/doc/packages/smartmontools-VERSION     \
  324:               --with-initscriptdir=/etc/init.d                           \
  325: 
  326: [5] Guidelines for FreeBSD
  327: ==========================
  328:   To match the way it will installed when it becomes available as a PORT, use
  329:   the following:
  330: 
  331:   ./configure --prefix=/usr/local                                      \
  332:               --docdir=/usr/local/share/doc/smartmontools-VERSION      \
  333:               --with-initscriptdir=/usr/local/etc/rc.d/                \
  334:               --enable-sample
  335: 
  336:   NOTE: --enable-sample will cause the smartd.conf and smartd RC files to
  337:   be installed with the string '.sample' append to the name, so you will end
  338:   up with the following:
  339:         /usr/local/etc/smartd.conf.sample
  340:         /usr/local/etc/rc.d/smartd.sample
  341: 
  342: 
  343: [6] Guidelines for Darwin
  344: =========================
  345:   ./configure --with-initscriptdir=/Library/StartupItems
  346: 
  347:   If you'd like to build the i386 version on a powerpc machine, you can
  348:   use
  349: 
  350:   CXX='g++ -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386' \
  351:     ./configure --host=i386-apple-darwin \
  352:                 --with-initscriptdir=/Library/StartupItems
  353: 
  354: [7] Guidelines for NetBSD
  355: =========================
  356:   ./configure --prefix=/usr/pkg                                       \
  357:               --docdir=/usr/pkg/share/doc/smartmontools
  358: 
  359: [8] Guidelines for Solaris
  360: ==========================
  361: 
  362:     smartmontools has been partially but not completely ported to
  363:     Solaris.  It includes complete SCSI support but no ATA or 3ware
  364:     support.  It can be compiled with either CC (Sun's C++ compiler)
  365:     or GNU g++.
  366: 
  367:     To compile with g++:
  368: 
  369:     ./configure [args]
  370:     make
  371: 
  372:     To compile with Sun CC:
  373: 
  374:     env CC=cc CXX=CC ./configure [args]
  375:     make
  376: 
  377:     The correct arguments [args] to configure are:
  378:      --sbindir=/usr/sbin                                \
  379:      --sysconfdir=/etc                                  \
  380:      --mandir=/usr/share/man                            \
  381:      --docdir=/usr/share/doc/smartmontools-VERSION      \
  382:      --with-initscriptdir=/etc/init.d
  383: 
  384:     To start the script automatically on bootup, create hardlinks that
  385:     indicate when to start/stop in:
  386:                     /etc/rc[S0123].d/
  387:     pointing to /etc/init.d/smartd. Create:
  388:             K<knum>smartd in rcS.d, rc0.d, rc1.d, rc2.d
  389:             S<snum>smartd in rc3.d
  390:     where <knum> is related to <snum> such that the higher snum is the
  391:     lower knum must be.
  392: 
  393:     On usual configuration, '95' would be suitable for <snum> and '05'
  394:     for <knum> respectively.  If you choose these value, you can
  395:     create hardlinks by:
  396: 
  397:     cd /etc
  398:     sh -c 'for n in S 0 1 2; do ln init.d/smartd rc$n.d/K05smartd; done'
  399:     sh -c 'for n in 3      ; do ln init.d/smartd rc$n.d/S95smartd; done'
  400: 
  401: [9] Guidelines for Cygwin
  402: =========================
  403: 
  404: Same as Red Hat:
  405:   ./configure --prefix=/usr                 \
  406:               --sysconfdir=/etc             \
  407:               --mandir='${prefix}/share/man'
  408: 
  409:   OR EQUIVALENTLY
  410:   ./configure --sbindir=/usr/sbin                               \
  411:               --sysconfdir=/etc                                 \
  412:               --mandir=/usr/share/man                           \
  413:               --docdir=/usr/share/doc/smartmontools             \
  414:               --with-initscriptdir=/etc/rc.d/init.d
  415: 
  416:   Using DOS text file type as default for the working directories ("textmode"
  417:   mount option) is not recommended. Building the binaries and man pages using
  418:   "make" is possible, but "make dist" and related targets work only with UNIX
  419:   file type ("binmode" mount option) set. The "autogen.sh" script prints a
  420:   warning if DOS type is selected.
  421: 
  422:   If installing from SVN, you may check out all files either with CR/LF
  423:   or LF line endings. Starting with release 3.1-7, Cygwin's bash does no
  424:   longer accept scripts with CR/LF by default. To run the initial script
  425:   ./autogen.sh checked out with CR/LF on a "binmode" mount, type:
  426: 
  427:   bash -o igncr ./autogen.sh
  428: 
  429:   instead. This is not necessary for the generated ./configure script.
  430: 
  431: [10] Guidelines for Windows
  432: ===========================
  433: 
  434: To compile the Windows release with MinGW gcc on MSYS, use:
  435: 
  436:   ./configure
  437:   make
  438: 
  439:   Instead of using "make install", copy the .exe files into
  440:   some directory in the PATH.
  441: 
  442: Cross-compile statically linked 32-bit version with MinGW-w64:
  443: 
  444:   ./configure --build=$(./config.guess) \
  445:               --host=i686-w64-mingw32 \
  446:               LDFLAGS=-static
  447: 
  448:   Tested on Cygwin and Debian Linux.
  449: 
  450: Cross-compile statically linked 64-bit version with MinGW-w64:
  451: 
  452:   ./configure --build=$(./config.guess) \
  453:               --host=x86_64-w64-mingw32 \
  454:               LDFLAGS=-static
  455: 
  456:   Tested on Cygwin and Debian Linux with MinGW-w64 from
  457:   http://mingw-w64.sourceforge.net/.
  458: 
  459: WARNING: The smartmontools version for 64-bit Windows is still EXPERIMENTAL.
  460: 
  461: Cross-compile on Cygwin with old gcc-mingw 3.x:
  462: 
  463:   ./configure --build=$(./config.guess) \
  464:               --host=i686-pc-mingw32 \
  465:                CC='gcc-3 -mno-cygwin' \
  466:               CXX='g++-3 -mno-cygwin' \
  467:               CXXFLAGS='-g -O2 -Wall -W -Wno-format'
  468: 
  469: Cross-compile on Debian Linux with gcc-mingw32:
  470: 
  471:   ./configure --build=$(./config.guess) \
  472:               --host=i586-mingw32msvc
  473: 
  474: 
  475: To build the Windows binary distribution, use:
  476: 
  477:   make dist-win32
  478: 
  479:   This builds the distribution in directory
  480: 
  481:   ./smartmontools-VERSION.win32/
  482: 
  483:   and packs it into
  484: 
  485:   ./smartmontools-VERSION.win32.zip
  486: 
  487: To create a Windows installer, use:
  488: 
  489:   make installer-win32
  490: 
  491:   This builds the distribution directory and packs it into the
  492:   self-extracting install program
  493: 
  494:   ./smartmontools-VERSION.win32-setup.exe
  495: 
  496:   The installer is build using the command "makensis" from the NSIS
  497:   package. See http://nsis.sourceforge.net/ for documentation and
  498:   download location.
  499: 
  500:   It is also possible to (cross-)build the installer on Linux.
  501:   This was successfully tested on Debian with package "nsis".
  502: 
  503: To both create and run the (interactive) installer, use:
  504: 
  505:   make install-win32
  506: 
  507:   Additional make targets are distdir-win32 to build the directory
  508:   only and cleandist-win32 for cleanup.
  509: 
  510:   The binary distribution includes all documentation files converted
  511:   to DOS text file format and *.html and *.txt preformatted man pages.
  512:   The tools unix2dos.exe (package cygutils) and zip.exe (package zip
  513:   or a native Win32 release of Info-ZIP, http://www.info-zip.org) are
  514:   necessary but may be not installed by Cygwin's default settings.
  515: 
  516:   The event message file tool syslogevt.exe (see smartd man page) is
  517:   included in the binary distribution if message compiler (windmc)
  518:   and resource compiler (windres) are available. This may be disabled
  519:   by passing 'WINDMC=no' to configure.
  520: 
  521: To prepare os_win32 directory for MS Visual Studio C++ 2010 [Express],
  522: use the following on MSYS or Cygwin:
  523: 
  524:   mkdir vctmp && cd vctmp
  525:   ../configure [... any MinGW option set from above ...]
  526:   make config-vc10
  527: 
  528:   The MSVC project files (os_win32/smartmontools_vc10.sln,
  529:   os_win32/smart{ctl,d}_vc10.vcxproj) are included in SVN (but not in
  530:   source tarball). The target config-vc10 from a Makefile configured
  531:   for MinGW creates os_win32/{config,svnversion}_vc10.h from
  532:   ./{config,svnversion}.h. The configure skript must be run outside
  533:   of the source directory to avoid inclusion of the original config.h.
  534: 
  535: 
  536: [11] Guidelines for OS/2, eComStation
  537: =====================================
  538: 
  539: To compile the OS/2 code, please run
  540: 
  541:   ./os_os2/configure.os2
  542:   make
  543:   make install
  544: 
  545: [12] Guidelines for OpenBSD
  546: ===========================
  547:   To match the way it will installed when it becomes available as a PORT, use
  548:   the following:
  549: 
  550:   ./configure --prefix=/usr/local                                      \
  551:               --sysconfdir=/etc                                        \
  552:               --docdir=/usr/local/share/doc/smartmontools-VERSION      \
  553:               --without-initscriptdir                                  \
  554:               --enable-sample
  555: 
  556:   NOTE: --enable-sample will cause the smartd.conf and smartd RC files to
  557:   be installed with the string '.sample' append to the name, so you will end
  558:   up with the following:
  559:         /etc/smartd.conf.sample
  560: 
  561: [13] Comments
  562: ============
  563: 
  564: To compile from another directory, you can replace the step
  565:   ./configure [options]
  566: by the following:
  567:   mkdir objdir
  568:   cd objdir
  569:   ../configure [options]
  570: 
  571: Man pages contents is platform-specific by default. Info specific to other
  572: platforms may be not visible. To generate man pages with full contents use:
  573: 
  574:   make os_man_filter=
  575: 
  576: To install to another destination (used mainly by package maintainers,
  577: or to examine the package contents without risk of modifying any
  578: system files) you can replace the step:
  579:   make install
  580: with:
  581:   make DESTDIR=/home/myself/smartmontools-package install
  582: 
  583: Use a full path. Paths like ./smartmontools-package may not work.
  584: 
  585: After installing smartmontools, you can read the man pages, and try
  586: out the commands:
  587:    
  588: man smartd.conf
  589: man smartctl
  590: man smartd
  591: 
  592: /usr/sbin/smartctl -s on -o on -S on /dev/hda (only root can do this)
  593: /usr/sbin/smartctl -a /dev/hda (only root can do this)
  594: 
  595: Note that the default location for the manual pages are
  596: /usr/share/man/man5 and /usr/share/man/man8.  If "man" doesn't find
  597: them, you may need to add /usr/share/man to your MANPATH environment
  598: variable.
  599: 
  600: Source and binary packages for Windows are available at
  601: http://sourceforge.net/projects/smartmontools/files/
  602: 
  603: Refer to http://sourceforge.net/apps/trac/smartmontools/wiki/Download
  604: for any additional download and installation instructions.
  605: 
  606: The following files are installed if ./configure has no options:
  607: 
  608: /usr/local/sbin/smartctl                                [Executable command-line utility]
  609: /usr/local/sbin/smartd                                  [Executable daemon]
  610: /usr/local/sbin/update-smart-drivedb                    [Drive database update script]
  611: /usr/local/etc/smartd.conf                              [Configuration file for smartd daemon]
  612: /usr/local/etc/rc.d/init.d/smartd                       [Init/Startup script for smartd]
  613: /usr/local/share/man/man5/smartd.conf.5                 [Manual page]
  614: /usr/local/share/man/man8/smartctl.8                    [Manual page]
  615: /usr/local/share/man/man8/smartd.8                      [Manual page]
  616: /usr/local/share/doc/smartmontools/AUTHORS              [Information about the authors and developers]
  617: /usr/local/share/doc/smartmontools/CHANGELOG            [A log of changes. Also see SVN]
  618: /usr/local/share/doc/smartmontools/COPYING              [GNU General Public License Version 2]
  619: /usr/local/share/doc/smartmontools/INSTALL              [Installation instructions: what you're reading!]
  620: /usr/local/share/doc/smartmontools/NEWS                 [Significant bugs discovered in old versions]
  621: /usr/local/share/doc/smartmontools/README               [Overview]
  622: /usr/local/share/doc/smartmontools/TODO                 [Things that need to be done/fixed]
  623: /usr/local/share/doc/smartmontools/WARNINGS             [Systems where lockups or other serious problems were reported]
  624: /usr/local/share/doc/smartmontools/smartd.conf          [Example configuration file for smartd]
  625: /usr/local/share/doc/smartmontools/examplescripts/      [Executable scripts for -M exec of smartd.conf (4 files)]
  626: /usr/local/share/smartmontools/drivedb.h                [Drive database]
  627: 
  628: If /usr/local/etc/smartd.conf exists and differs from the
  629: default then the default configuration file is installed as
  630: /usr/local/etc/smartd.conf.sample instead.
  631: 
  632: The commands:
  633: 
  634: make htmlman
  635: make txtman
  636: 
  637: may be used to build .html and .txt preformatted man pages.
  638: These are used by the dist-win32 make target to build the Windows
  639: distribution.
  640: The commands also work on other operating system configurations
  641: if suitable versions of man2html, groff and grotty are installed.
  642: On systems without man2html, the following command should work
  643: if groff is available:
  644: 
  645: make MAN2HTML='groff -man -Thtml' htmlman
  646: 
  647: 
  648: Some of the source files are prepared for the documentation
  649: generator Doxygen (http://www.doxygen.org/). If Doxygen is installed,
  650: the command:
  651: 
  652: doxygen
  653: 
  654: creates HTML documentation in doc/html and LaTeX documentation
  655: in doc/latex. If TeX is installed, the following command creates
  656: a documentation file doc/latex/refman.pdf:
  657: 
  658: ( cd doc/latex && make pdf )
  659: 
  660: 
  661: [14] Detailed description of arguments to configure command
  662: ===========================================================
  663: 
  664: When you type:
  665: ./configure [options]
  666: there are six particularly important variables that affect where the
  667: smartmontools software is installed.  The variables are listed here,
  668: with their default values in square brackets, and the quantities that
  669: they affect described following that.  This is a very wide table: please read
  670: it in a wide window.
  671: 
  672: OPTIONS              DEFAULT                                      AFFECTS
  673: -------              -------                                      -------
  674: --prefix             /usr/local                                   Please see below
  675: --sbindir            ${prefix}/sbin                               Directory for smartd/smartctl executables;
  676:                                                                   Contents of smartd/smartctl man pages
  677: --docdir             ${prefix}/share/doc/smartmontools            Location of the documentation
  678:                                                                   (autoconf >= 2.60 only, see also --with-docdir below)
  679: --mandir             ${prefix}/share/man                          Directory for smartctl/smartd/smartd.conf man pages
  680: --sysconfdir         ${prefix}/etc                                Directory for smartd.conf;
  681:                                                                   Contents of smartd executable;
  682:                                                                   Contents of smartd/smartd.conf man pages;
  683:                                                                   Directory for rc.d/init.d/smartd init script
  684: --with-initscriptdir           auto                               Location of init scripts
  685: --with-systemdsystemunitdir    auto                               Location of systemd service files
  686: --with-docdir         ${prefix}/share/doc/smartmontools           Location of the documentation
  687: --with-exampledir     ${docdir}/examplescripts                    Location of example scripts
  688: --enable-sample       --disable-sample                            Adds the string '.sample' to the names of the smartd.conf file and the smartd RC file
  689: --with-os-deps        os_<guessed>.o                              OS dependent module(s)
  690: --with-selinux        --without-selinux                           Enables SELinux support.  If smartmontools has to create the /dev/tw[ae] device
  691:                                                                   nodes for 3ware/AMCC controllers, this option ensures that the nodes are created
  692:                                                                   with correct SELinux file contexts.
  693: --with-libcap-ng      --with-libcap-ng=auto                       Enables/disables libcap-ng support. If enabled and libcap-ng is
  694:                                                                   available, option --capabilities is added to smartd.
  695: --disable-drivedb     --enable-drivedb                            Disables default drive database file '${drivedbdir}/drivedb.h'
  696: --with-drivedbdir     ${prefix}/share/smartmontools               Directory for 'drivedb.h' (implies --enable-drivedb)
  697: --enable-savestates   --disable-savestates                        Enables default smartd state files '${savestates}MODEL-SERIAL.ata.state'
  698: --with-savestates     ${prefix}/var/lib/smartmontools/smartd.     Prefix for smartd state files (implies --enable-savestates)
  699: --enable-attributelog --disable-attributelog                      Enables default smartd attribute log files
  700: --with-attributelog   ${prefix}/var/lib/smartmontools/attrlog.    Prefix for smartd attribute log files (implies --enable-attributelog)
  701: 
  702: Please note that in previous versions of smartmontools (<= 5.39) the
  703: default for --with-docdir was
  704:   ${prefix}/share/doc/smartmontools-VERSION
  705: This was changed to make it consistent with the default of the
  706: new --docdir option added in autoconf 2.60.
  707: 
  708: The defaults for --with-initscriptdir and --with-systemdsystemunitdir are
  709: guessed such that the following rules apply:
  710: - If --prefix=/usr --sysconfdir=/etc is specified, the guessed directories
  711:   should be the defaults used by the current OS or distribution.
  712: - If --sysconfdir=/etc is NOT specified, the guessed directories should
  713:   always be below ${prefix} or below ${sysconfdir}.
  714: 
  715: Here's an example:
  716: If you set --prefix=/home/joe and none of the other four
  717: variables then the different directories that are used would be:
  718: --sbindir             /home/joe/sbin
  719: --docdir              /home/joe/share/doc/smartmontools
  720: --mandir              /home/joe/share/man
  721: --sysconfdir          /home/joe/etc
  722: --with-exampledir     /home/joe/share/doc/smartmontools/examplescripts
  723: --with-drivedbdir     /home/joe/share/smartmontools
  724: --with-initscriptdir         [see below]
  725: --with-systemdsystemunitdir  [see below]
  726: 
  727: If systemd is present (and pkg-config reports /lib/systemd/system
  728: as the systemdsystemunitdir):
  729: 
  730: --with-initscriptdir         [disabled]
  731: --with-systemdsystemunitdir  /home/joe/lib/systemd/system
  732: 
  733: else if /etc/rc.d/init.d exists:
  734: 
  735: --with-initscriptdir         /home/joe/etc/rc.d/init.d
  736: --with-systemdsystemunitdir  [disabled]
  737: 
  738: else if /etc/init.d exists:
  739: 
  740: --with-initscriptdir         /home/joe/etc/init.d
  741: --with-systemdsystemunitdir  [disabled]
  742: 
  743: else if /etc/rc.d exists:
  744: 
  745: --with-initscriptdir         /home/joe/etc/rc.d
  746: --with-systemdsystemunitdir  [disabled]
  747: 
  748: else
  749: 
  750: --with-initscriptdir         [disabled]
  751: --with-systemdsystemunitdir  [disabled]
  752: 
  753: This is useful for test installs in a harmless subdirectory somewhere.
  754: 
  755: Here are the four possible cases for the four variables above:
  756: 
  757: Case 1:
  758: --prefix not set
  759: --variable not set
  760: ===> VARIABLE gets default value above
  761: 
  762: Case 2:
  763: --prefix set
  764: --variable not set
  765: ===> VARIABLE gets PREFIX/ prepended to default value above
  766: 
  767: Case 3:
  768: --prefix not set
  769: --variable set
  770: ===> VARIABLE gets value that is set
  771: 
  772: Case 4:
  773: --prefix is set
  774: --variable is set
  775: ===> PREFIX is IGNORED, VARIABLE gets value that is set
  776: 
  777: 
  778: Here are the differences with and without --enable-sample, assuming
  779: that initscript location is set and no other options specified 
  780: (see above for details)
  781: 
  782: Case 1:
  783: --enable-sample provided
  784: ==> Files installed are:
  785:         /usr/local/etc/smartd.conf.sample
  786:         /usr/local/etc/rc.d/init.d/smartd.sample
  787: 
  788: Case 2:
  789: --disable-sample provided or parameter left out
  790: ==> Files installed are:
  791:         /usr/local/etc/smartd.conf
  792:         /usr/local/etc/rc.d/init.d/smartd
  793: 
  794: Additional information about using configure can be found here:
  795: http://www.gnu.org/software/autoconf/manual/autoconf.html#Running-configure-Scripts

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>