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