]> git.proxmox.com Git - mirror_smartmontools-debian.git/blob - INSTALL
Updated changelog
[mirror_smartmontools-debian.git] / INSTALL
1 Smartmontools installation instructions
2 =======================================
3
4 $Id: INSTALL 3356 2011-06-06 18:37:53Z 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 --[with-]docdir=/usr/local/share/doc/smartmontools
238 --with-drivedbdir=/usr/local/share/smartmontools
239 --with-initscriptdir=/usr/local/etc/rc.d/init.d
240 --enable-drivedb
241 --disable-attributelog
242 --disable-sample
243 --disable-savestates
244 --with-libcap-ng=auto
245 --without-selinux
246
247 These will usually not overwrite existing "distribution" installations on
248 Linux Systems since the FHS reserves this area for use by the system
249 administrator.
250
251 For different installation locations or distributions, simply add
252 arguments to ./configure as shown in [4] below.
253
254 If you wish to alter the default C++ compiler flags, set an
255 environment variable CXXFLAGS='your options' before doing
256 ./configure, or else do:
257 make CXXFLAGS='your options'
258
259 The first output line of smartctl and smartd provides information
260 about release number, last SVN checkin date and revison, platform,
261 and package. The latter defaults to "(local build)" and can be
262 changed by the variable BUILD_INFO, for example:
263 make BUILD_INFO='"(Debian 5.39-2)"'
264
265 [4] Guidelines for different Linux distributions
266 ================================================
267
268 Note: Please send corrections/additions to:
269 smartmontools-support@lists.sourceforge.net
270
271 Debian:
272 If you don't want to overwrite any distribution package, use:
273 ./configure
274
275 Filesystem Hierarchy Standard (FHS, http://www.pathname.com/fhs/):
276 ./configure --sbindir=/usr/local/sbin \
277 --sysconfdir=/usr/local/etc \
278 --mandir=/usr/local/man \
279 --with-initscriptdir=/usr/local/etc/rc.d/init.d \
280 --with-docdir=/usr/local/share/doc/smartmontools-VERSION
281
282 Red Hat:
283 ./configure --sbindir=/usr/sbin \
284 --sysconfdir=/etc \
285 --mandir=/usr/share/man \
286 --with-initscriptdir=/etc/rc.d/init.d \
287 --with-docdir=/usr/share/doc/smartmontools-VERSION
288
289 Slackware:
290 If you don't want to overwrite any "distribution" package, use:
291 ./configure
292
293 Otherwise use:
294 ./configure --sbindir=/usr/sbin \
295 --sysconfdir=/etc \
296 --mandir=/usr/share/man \
297 --with-initscriptdir=/etc/rc.d \
298 --with-docdir=/usr/share/doc/smartmontools-VERSION
299
300 And
301 removepkg smartmontools smartsuite (only root can do this)
302 before make install
303
304 The init script works on Slackware. You just have to add an entry like
305 the following in /etc/rc.d/rc.M or /etc/rc.d/rc.local:
306
307 if [ -x /etc/rc.d/smartd ]; then
308 . /etc/rc.d/smartd start
309 fi
310
311 To disable it:
312 chmod 644 /etc/rc.d/smartd
313
314 For a list of options:
315 /etc/rc.d/smartd
316
317 SuSE:
318 ./configure --sbindir=/usr/sbin \
319 --sysconfdir=/etc \
320 --mandir=/usr/share/man \
321 --with-initscriptdir=/etc/init.d \
322 --with-docdir=/usr/share/doc/packages/smartmontools-VERSION
323
324 [5] Guidelines for FreeBSD
325 ==========================
326 To match the way it will installed when it becomes available as a PORT, use
327 the following:
328
329 ./configure --prefix=/usr/local \
330 --with-initscriptdir=/usr/local/etc/rc.d/ \
331 --with-docdir=/usr/local/share/doc/smartmontools-VERSION \
332 --enable-sample
333
334 NOTE: --enable-sample will cause the smartd.conf and smartd RC files to
335 be installed with the string '.sample' append to the name, so you will end
336 up with the following:
337 /usr/local/etc/smartd.conf.sample
338 /usr/local/etc/rc.d/smartd.sample
339
340
341 [6] Guidelines for Darwin
342 =========================
343 ./configure --with-initscriptdir=/Library/StartupItems
344
345 If you'd like to build the i386 version on a powerpc machine, you can
346 use
347
348 CXX='g++ -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386' \
349 ./configure --host=i386-apple-darwin \
350 --with-initscriptdir=/Library/StartupItems
351
352 [7] Guidelines for NetBSD/OpenBSD
353 =================================
354 ./configure --prefix=/usr/pkg \
355 --with-docdir=/usr/pkg/share/doc/smartmontools
356
357 On OpenBSD, it is important that you use GNU make (gmake from
358 /usr/ports/devel/gmake) to build smartmontools, as the BSD make doesn't
359 know how to make the manpages.
360
361 [8] Guidelines for Solaris
362 ==========================
363
364 smartmontools has been partially but not completely ported to
365 Solaris. It includes complete SCSI support but no ATA or 3ware
366 support. It can be compiled with either CC (Sun's C++ compiler)
367 or GNU g++.
368
369 To compile with g++:
370
371 ./configure [args]
372 make
373
374 To compile with Sun CC:
375
376 env CC=cc CXX=CC ./configure [args]
377 make
378
379 The correct arguments [args] to configure are:
380 --sbindir=/usr/sbin \
381 --sysconfdir=/etc \
382 --mandir=/usr/share/man \
383 --with-docdir=/usr/share/doc/smartmontools-VERSION \
384 --with-initscriptdir=/etc/init.d
385
386 To start the script automatically on bootup, create hardlinks that
387 indicate when to start/stop in:
388 /etc/rc[S0123].d/
389 pointing to /etc/init.d/smartd. Create:
390 K<knum>smartd in rcS.d, rc0.d, rc1.d, rc2.d
391 S<snum>smartd in rc3.d
392 where <knum> is related to <snum> such that the higher snum is the
393 lower knum must be.
394
395 On usual configuration, '95' would be suitable for <snum> and '05'
396 for <knum> respectively. If you choose these value, you can
397 create hardlinks by:
398
399 cd /etc
400 sh -c 'for n in S 0 1 2; do ln init.d/smartd rc$n.d/K05smartd; done'
401 sh -c 'for n in 3 ; do ln init.d/smartd rc$n.d/S95smartd; done'
402
403 [9] Guidelines for Cygwin
404 =========================
405
406 Same as Red Hat:
407 ./configure --prefix=/usr \
408 --sysconfdir=/etc \
409 --mandir='${prefix}/share/man'
410
411 OR EQUIVALENTLY
412 ./configure --sbindir=/usr/sbin \
413 --sysconfdir=/etc \
414 --mandir=/usr/share/man \
415 --with-initscriptdir=/etc/rc.d/init.d \
416 --with-docdir=/usr/share/doc/smartmontools
417
418 Using DOS text file type as default for the working directories ("textmode"
419 mount option) is not recommended. Building the binaries and man pages using
420 "make" is possible, but "make dist" and related targets work only with UNIX
421 file type ("binmode" mount option) set. The "autogen.sh" script prints a
422 warning if DOS type is selected.
423
424 If installing from SVN, you may check out all files either with CR/LF
425 or LF line endings. Starting with release 3.1-7, Cygwin's bash does no
426 longer accept scripts with CR/LF by default. To run the initial script
427 ./autogen.sh checked out with CR/LF on a "binmode" mount, type:
428
429 bash -O igncr ./autogen.sh
430
431 instead. This is not necessary for the generated ./configure script.
432
433 [10] Guidelines for Windows
434 ===========================
435
436 To compile the Windows release with MinGW gcc on MSYS, use:
437
438 ./configure
439 make
440
441 Instead of using "make install", copy the .exe files into
442 some directory in the PATH.
443
444 Cross-compile statically linked 32-bit version with MinGW-w64:
445
446 ./configure --build=$(./config.guess) \
447 --host=i686-w64-mingw32 \
448 LDFLAGS=-static
449
450 Tested on Cygwin and Debian Linux.
451
452 Cross-compile statically linked 64-bit version with MinGW-w64:
453
454 ./configure --build=$(./config.guess) \
455 --host=x86_64-w64-mingw32 \
456 LDFLAGS=-static
457
458 Tested on Cygwin and Debian Linux with MinGW-w64 from
459 http://mingw-w64.sourceforge.net/.
460
461 WARNING: The smartmontools version for 64-bit Windows is still EXPERIMENTAL.
462
463 Cross-compile on Cygwin with old gcc-mingw 3.x:
464
465 ./configure --build=$(./config.guess) \
466 --host=i686-pc-mingw32 \
467 CC='gcc-3 -mno-cygwin' \
468 CXX='g++-3 -mno-cygwin' \
469 CXXFLAGS='-g -O2 -Wall -W -Wno-format'
470
471 Cross-compile on Debian Linux with gcc-mingw32:
472
473 ./configure --build=$(./config.guess) \
474 --host=i586-mingw32msvc
475
476
477 To build the Windows binary distribution, use:
478
479 make dist-win32
480
481 This builds the distribution in directory
482
483 ./smartmontools-VERSION.win32/
484
485 and packs it into
486
487 ./smartmontools-VERSION.win32.zip
488
489 To create a Windows installer, use:
490
491 make installer-win32
492
493 This builds the distribution directory and packs it into the
494 self-extracting install program
495
496 ./smartmontools-VERSION.win32-setup.exe
497
498 The installer is build using the command "makensis" from the NSIS
499 package. See http://nsis.sourceforge.net/ for documentation and
500 download location.
501
502 It is also possible to (cross-)build the installer on Linux.
503 This was successfully tested on Debian with package "nsis".
504
505 To both create and run the (interactive) installer, use:
506
507 make install-win32
508
509 Additional make targets are distdir-win32 to build the directory
510 only and cleandist-win32 for cleanup.
511
512 The binary distribution includes all documentation files converted
513 to DOS text file format and *.html and *.txt preformatted man pages.
514 The tools unix2dos.exe (package cygutils) and zip.exe (package zip
515 or a native Win32 release of Info-ZIP, http://www.info-zip.org) are
516 necessary but may be not installed by Cygwin's default settings.
517
518 The event message file tool syslogevt.exe (see smartd man page) is
519 included in the binary distribution if message compiler (windmc)
520 and resource compiler (windres) are available. This may be disabled
521 by passing 'WINDMC=no' to configure.
522
523 To prepare os_win32 directory for MSVC8, use the following on MSYS
524 or Cygwin:
525
526 mkdir vctmp && cd vctmp
527 ../configure [... any MinGW option set from above ...]
528 make config-vc8
529
530 The MSVC8 project files (os_win32/smartmontools_vc8.sln,
531 os_win32/smart{ctl,d}_vc8.vcproj) are included in SVN (but not in
532 source tarball). The target config-vc8 from a Makefile configured
533 for MinGW creates os_win32/{config,svnversion}_vc8.h from
534 ./{config,svnversion}.h. The configure skript must be run outside
535 of the source directory to avoid inclusion of the original config.h.
536
537
538 [11] Guidelines for OS/2, eComStation
539 =====================================
540
541 To compile the OS/2 code, please run
542
543 ./os_os2/configure.os2
544 make
545 make install
546
547 [12] Guidelines for OpenBSD
548 ==========================
549 To match the way it will installed when it becomes available as a PORT, use
550 the following:
551
552 ./configure --prefix=/usr/local \
553 --sysconfdir=/etc
554 --with-initscriptdir=/usr/local/share/doc/smartmontools-VERSION \
555 --with-docdir=/usr/local/share/doc/smartmontools-VERSION \
556 --enable-sample
557
558 It is important that you use GNU make (gmake from /usr/ports/devel/gmake)
559 to build smartmontools, as the default OpenBSD make doesn't know how to build
560 the man pages.
561
562 NOTE1: --with-initscriptdir installs a SystemV startup script. It really
563 should be --without-initscriptdir, but the Makefile code is incorrect and
564 trys to install the initscript (smartd) to /no. So, an interim fix it to
565 set the initscript dir to the doc dir.
566
567 NOTE2: --enable-sample will cause the smartd.conf and smartd RC files to
568 be installed with the string '.sample' append to the name, so you will end
569 up with the following:
570 /usr/local/etc/smartd.conf.sample
571 /usr/local/etc/rc.d/smartd.sample
572
573 [13] Comments
574 ============
575
576 To compile from another directory, you can replace the step
577 ./configure [options]
578 by the following:
579 mkdir objdir
580 cd objdir
581 ../configure [options]
582
583 To install to another destination (used mainly by package maintainers,
584 or to examine the package contents without risk of modifying any
585 system files) you can replace the step:
586 make install
587 with:
588 make DESTDIR=/home/myself/smartmontools-package install
589
590 Use a full path. Paths like ~/smartmontools-package may not work.
591
592 After installing smartmontools, you can read the man pages, and try
593 out the commands:
594
595 man smartd.conf
596 man smartctl
597 man smartd
598
599 /usr/sbin/smartctl -s on -o on -S on /dev/hda (only root can do this)
600 /usr/sbin/smartctl -a /dev/hda (only root can do this)
601
602 Note that the default location for the manual pages are
603 /usr/share/man/man5 and /usr/share/man/man8. If "man" doesn't find
604 them, you may need to add /usr/share/man to your MANPATH environment
605 variable.
606
607 Source and binary packages for Windows are available at
608 http://sourceforge.net/projects/smartmontools/files/
609
610 Refer to http://sourceforge.net/apps/trac/smartmontools/wiki/Download
611 for any additional download and installation instructions.
612
613 The following files are installed if ./configure has no options:
614
615 /usr/local/sbin/smartctl [Executable command-line utility]
616 /usr/local/sbin/smartd [Executable daemon]
617 /usr/local/sbin/update-smart-drivedb [Drive database update script]
618 /usr/local/etc/smartd.conf [Configuration file for smartd daemon]
619 /usr/local/etc/rc.d/init.d/smartd [Init/Startup script for smartd]
620 /usr/local/share/man/man5/smartd.conf.5 [Manual page]
621 /usr/local/share/man/man8/smartctl.8 [Manual page]
622 /usr/local/share/man/man8/smartd.8 [Manual page]
623 /usr/local/share/doc/smartmontools/AUTHORS [Information about the authors and developers]
624 /usr/local/share/doc/smartmontools/CHANGELOG [A log of changes. Also see SVN]
625 /usr/local/share/doc/smartmontools/COPYING [GNU General Public License Version 2]
626 /usr/local/share/doc/smartmontools/INSTALL [Installation instructions: what you're reading!]
627 /usr/local/share/doc/smartmontools/NEWS [Significant bugs discovered in old versions]
628 /usr/local/share/doc/smartmontools/README [Overview]
629 /usr/local/share/doc/smartmontools/TODO [Things that need to be done/fixed]
630 /usr/local/share/doc/smartmontools/WARNINGS [Systems where lockups or other serious problems were reported]
631 /usr/local/share/doc/smartmontools/smartd.conf [Example configuration file for smartd]
632 /usr/local/share/doc/smartmontools/examplescripts/ [Executable scripts for -M exec of smartd.conf (4 files)]
633 /usr/local/share/smartmontools/drivedb.h [Drive database]
634
635 If /usr/local/etc/smartd.conf exists and differs from the
636 default then the default configuration file is installed as
637 /usr/local/etc/smartd.conf.sample instead.
638
639 The commands:
640
641 make htmlman
642 make txtman
643
644 may be used to build .html and .txt preformatted man pages.
645 These are used by the dist-win32 make target to build the Windows
646 distribution.
647 The commands also work on other operating system configurations
648 if suitable versions of man2html, groff and grotty are installed.
649 On systems without man2html, the following command should work
650 if groff is available:
651
652 make MAN2HTML='groff -man -Thtml' htmlman
653
654
655 Some of the source files are prepared for the documentation
656 generator Doxygen (http://www.doxygen.org/). If Doxygen is installed,
657 the command:
658
659 doxygen
660
661 creates HTML documentation in doc/html and LaTeX documentation
662 in doc/latex. If TeX is installed, the following command creates
663 a documentation file doc/latex/refman.pdf:
664
665 ( cd doc/latex && make pdf )
666
667
668 [14] Detailed description of arguments to configure command
669 ===========================================================
670
671 When you type:
672 ./configure [options]
673 there are six particularly important variables that affect where the
674 smartmontools software is installed. The variables are listed here,
675 with their default values in square brackets, and the quantities that
676 they affect described following that. This is a very wide table: please read
677 it in a wide window.
678
679 OPTIONS DEFAULT AFFECTS
680 ------- ------- -------
681 --prefix /usr/local Please see below
682 --sbindir ${prefix}/sbin Directory for smartd/smartctl executables;
683 Contents of smartd/smartctl man pages
684 --docdir ${prefix}/share/doc/smartmontools Location of the documentation
685 (autoconf >= 2.60 only, see also --with-docdir below)
686 --mandir ${prefix}/share/man Directory for smartctl/smartd/smartd.conf man pages
687 --sysconfdir ${prefix}/etc Directory for smartd.conf;
688 Contents of smartd executable;
689 Contents of smartd/smartd.conf man pages;
690 Directory for rc.d/init.d/smartd init script
691 --with-initscriptdir auto Location of init scripts
692 --with-systemdsystemunitdir auto Location of systemd service files
693 --with-docdir ${prefix}/share/doc/smartmontools Location of the documentation
694 --with-exampledir ${docdir}/examplescripts Location of example scripts
695 --enable-sample --disable-sample Adds the string '.sample' to the names of the smartd.conf file and the smartd RC file
696 --with-os-deps os_<guessed>.o OS dependent module(s)
697 --with-selinux --without-selinux Enables SELinux support. If smartmontools has to create the /dev/tw[ae] device
698 nodes for 3ware/AMCC controllers, this option ensures that the nodes are created
699 with correct SELinux file contexts.
700 --with-libcap-ng --with-libcap-ng=auto Enables/disables libcap-ng support. If enabled and libcap-ng is
701 available, option --capabilities is added to smartd.
702 --disable-drivedb --enable-drivedb Disables default drive database file '${drivedbdir}/drivedb.h'
703 --with-drivedbdir ${prefix}/share/smartmontools Directory for 'drivedb.h' (implies --enable-drivedb)
704 --enable-savestates --disable-savestates Enables default smartd state files '${savestates}MODEL-SERIAL.ata.state'
705 --with-savestates ${prefix}/var/lib/smartmontools/smartd. Prefix for smartd state files (implies --enable-savestates)
706 --enable-attributelog --disable-attributelog Enables default smartd attribute log files
707 --with-attributelog ${prefix}/var/lib/smartmontools/attrlog. Prefix for smartd attribute log files (implies --enable-attributelog)
708
709 Please note that in previous versions of smartmontools (<= 5.39) the
710 default for --with-docdir was
711 ${prefix}/share/doc/smartmontools-VERSION
712 This was changed to make it consistent with the default of the
713 new --docdir option added in autoconf 2.60.
714
715 The defaults for --with-initscriptdir and --with-systemdsystemunitdir are
716 guessed such that the following rules apply:
717 - If --prefix=/usr --sysconfdir=/etc is specified, the guessed directories
718 should be the defaults used by the current OS or distribution.
719 - If --sysconfdir=/etc is NOT specified, the guessed directories should
720 always be below ${prefix} or below ${sysconfdir}.
721
722 Here's an example:
723 If you set --prefix=/home/joe and none of the other four
724 variables then the different directories that are used would be:
725 --sbindir /home/joe/sbin
726 --docdir /home/joe/share/doc/smartmontools
727 --mandir /home/joe/share/man
728 --sysconfdir /home/joe/etc
729 --with-exampledir /home/joe/share/doc/smartmontools/examplescripts
730 --with-drivedbdir /home/joe/share/smartmontools
731 --with-initscriptdir [see below]
732 --with-systemdsystemunitdir [see below]
733
734 If systemd is present (and pkg-config reports /lib/systemd/system
735 as the systemdsystemunitdir):
736
737 --with-initscriptdir [disabled]
738 --with-systemdsystemunitdir /home/joe/lib/systemd/system
739
740 else if /etc/rc.d/init.d exists:
741
742 --with-initscriptdir /home/joe/etc/rc.d/init.d
743 --with-systemdsystemunitdir [disabled]
744
745 else if /etc/init.d exists:
746
747 --with-initscriptdir /home/joe/etc/init.d
748 --with-systemdsystemunitdir [disabled]
749
750 else if /etc/rc.d exists:
751
752 --with-initscriptdir /home/joe/etc/rc.d
753 --with-systemdsystemunitdir [disabled]
754
755 else
756
757 --with-initscriptdir [disabled]
758 --with-systemdsystemunitdir [disabled]
759
760 This is useful for test installs in a harmless subdirectory somewhere.
761
762 Here are the four possible cases for the four variables above:
763
764 Case 1:
765 --prefix not set
766 --variable not set
767 ===> VARIABLE gets default value above
768
769 Case 2:
770 --prefix set
771 --variable not set
772 ===> VARIABLE gets PREFIX/ prepended to default value above
773
774 Case 3:
775 --prefix not set
776 --variable set
777 ===> VARIABLE gets value that is set
778
779 Case 4:
780 --prefix is set
781 --variable is set
782 ===> PREFIX is IGNORED, VARIABLE gets value that is set
783
784
785 Here are the differences with and without --enable-sample, assuming
786 that initscript location is set and no other options specified
787 (see above for details)
788
789 Case 1:
790 --enable-sample provided
791 ==> Files installed are:
792 /usr/local/etc/smartd.conf.sample
793 /usr/local/etc/rc.d/init.d/smartd.sample
794
795 Case 2:
796 --disable-sample provided or parameter left out
797 ==> Files installed are:
798 /usr/local/etc/smartd.conf
799 /usr/local/etc/rc.d/init.d/smartd
800
801 Additional information about using configure can be found here:
802 http://www.gnu.org/software/autoconf/manual/autoconf.html#Running-configure-Scripts