Annotation of embedaddon/smartmontools/INSTALL, revision 1.1
1.1 ! misho 1: Smartmontools installation instructions
! 2: =======================================
! 3:
! 4: $Id: INSTALL 3414 2011-09-09 21:07:55Z chrfranke $
! 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>