]> git.proxmox.com Git - mirror_smartmontools-debian.git/blame - INSTALL
New upstream version 6.6
[mirror_smartmontools-debian.git] / INSTALL
CommitLineData
832b75ed
GG
1Smartmontools installation instructions
2=======================================
3
f9e10201 4$Id: INSTALL 4574 2017-10-29 15:41:13Z chrfranke $
832b75ed
GG
5
6Please also see the smartmontools home page:
a86ec89e 7http://www.smartmontools.org/
832b75ed
GG
8
9Table of contents:
10
11[1] System requirements
2127e193 12[2] Installing from SVN
832b75ed
GG
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
832b75ed
GG
35 B) FreeBSD
36
37 For FreeBSD support, a 5-current kernel that includes ATAng is
38 required in order to support ATA drives. Even current versions of
39 ATAng will not support 100% operation, as the SMART status can not
40 be reliably retrieved. There is patch pending approval of the
41 ATAng driver maintainer that will address this issue.
42
43 C) Solaris
44
45 The SCSI code has been tested on a variety of Solaris 8 and 9
46 systems. ATA/IDE code only works on SPARC platform. All tested
47 kernels worked correctly.
48
49 D) NetBSD/OpenBSD
50
51 The code was tested on a 1.6ZG (i.e., 1.6-current) system. It should
52 also function under 1.6.1 and later releases (unverified). Currently
53 it doesn't support ATA devices on 3ware RAID controllers.
54
55 E) Cygwin
56
f9e10201
JD
57 The code was tested on Cygwin 2.9.0-3 x86 and x86_64. It should also
58 work on other recent releases.
832b75ed
GG
59
60 Both Cygwin and Windows versions of smartmontools share the same code
61 to access the IDE/ATA or SCSI devices. The information in the "Windows"
62 section below also applies to the Cygwin version.
63
64 F) Windows
65
a86ec89e 66 The code was tested on Windows XP SP3, 2003, Vista, Windows 7, 8, 8.1
f9e10201 67 and Windows 10 up to 1709. Support von Windows 9x/ME and NT4 was
a86ec89e 68 removed after smartmontools 5.43.
832b75ed 69
bed94269
GI
70 ATA or SATA devices are supported if the device driver implements
71 the SMART IOCTLs or IOCTL_IDE_PASS_THROUGH or IOCTL_ATA_PASS_THROUGH.
ee38a438
GI
72 Only the latter provides full pass-through support which is needed
73 for all smartmontools features.
832b75ed 74
f9e10201
JD
75 SATA devices behind a Intel RST driver are accessed through CSMI.
76
bed94269
GI
77 SCSI and USB devices are accessed through SPTI. Special driver support
78 is not required.
4d59bff9 79
832b75ed
GG
80 G) MacOS/Darwin
81
82 The code was tested on MacOS 10.3.4. It should work from 10.3
83 forwards. It doesn't support 10.2.
84
4d59bff9
GG
85 It's important to know that on 10.3.x, some things don't work
86 (see WARNINGS): due to bugs in the libraries used, you cannot run
87 a short test or switch SMART support off on a drive; if you try,
88 you will just run an extended test or switch SMART support on. So
89 don't panic when your "short" test seems to be taking hours.
832b75ed
GG
90
91 It's also not possible at present to control when the offline
92 routine runs. If your drive doesn't have it running automatically by
93 default, you can't run it at all.
94
95 SCSI devices are not currently supported. Detecting the power
96 status of a drive is also not currently supported.
97
98 To summarize this, from another point of view, the things that
99 are not supported fall into two categories:
100
101 * Can't be implemented easily without more kernel-level support,
102 so far as I know:
103 - running immediate offline, conveyance, or selective tests
104 - running any test in captive mode
105 - aborting tests
106 - switching automatic offline testing on or off
107 - support for SCSI
108 - checking the power mode [-n Directive of smartd] (this is not
109 completely impossible, but not by using a documented API)
110
4d59bff9 111 * Work on 10.4 and later, but not on 10.3:
832b75ed
GG
112 - switching off SMART (switching *on* works fine)
113 - switching off auto-save (but why would you want to?)
114 - running the short test (that leaves you with only the extended test)
115
832b75ed
GG
116 However, some things do work well. For ATA devices, all the
117 informational output is available, unless you want something that only
4d59bff9
GG
118 an offline test updates. On many newer Mac OS systems, the
119 hard drive comes with the offline test switched on by default, so
120 even that works.
832b75ed 121
f4e463df
GI
122 The OS X SAT SMART Driver provides access to SMART data for SAT capable
123 USB and Firewire devices:
124 https://github.com/kasbert/OS-X-SAT-SMART-Driver
125 https://github.com/RJVB/OS-X-SAT-SMART-Driver
126 This does not require any smartctl -d TYPE option and should work also
127 with older smartmontools releases.
128
832b75ed
GG
129 H) OS/2, eComStation
130
131 The code was tested on eComStation 1.1, but it should work on all versions
132 of OS/2.
133 Innotek LibC 0.5 runtime is required.
a86ec89e 134 Only ATA disks are supported.
832b75ed 135
2127e193 136[2] Installing from SVN
832b75ed 137=======================
2127e193
GI
138
139 Get the sources from the SVN repository:
3d17a85c 140 svn co http://svn.code.sf.net/p/smartmontools/code/trunk/smartmontools smartmontools
832b75ed
GG
141
142 Then type:
143 ./autogen.sh
144 and continue with step [3] below, skipping the "unpack the tarball" step.
145
832b75ed 146 The autogen.sh command is ONLY required when installing from
f9e10201
JD
147 SVN. You need GNU Autoconf (version 2.60 or greater), GNU Automake
148 (version 1.10 or greater) and their dependencies installed in order
149 to run it.
832b75ed
GG
150
151[3] Installing from the source tarball
152======================================
153
2127e193 154 If you are NOT installing from SVN, then unpack the tarball:
832b75ed
GG
155 tar zxvf smartmontools-5.VERSION.tar.gz
156
157 Then:
158 ./configure
159 make
160 make install (you may need to be root to do this)
161
162 As shown (with no options to ./configure) this defaults to the
a86ec89e
GI
163 following set of installation directories and other settings:
164
832b75ed 165 --prefix=/usr/local
a86ec89e
GI
166 --exec-prefix='${prefix}'
167 --sbindir='${exec_prefix}/sbin'
168 --sysconfdir='${prefix}/etc'
169 --localstatedir='${prefix}/var'
170 --datarootdir='${prefix}/share'
171 --datadir='${datarootdir}'
172 --mandir='${datarootdir}/man'
173 --docdir='${datarootdir}/doc/smartmontools'
832b75ed 174 --disable-sample
a86ec89e
GI
175 --with-systemdsystemunitdir=auto
176 --with-systemdenvfile=auto
177 --with-initscriptdir=auto
178 --with-exampledir='${docdir}/examplescripts'
179 --with-drivedbdir='${datadir}/smartmontools'
f9e10201
JD
180 --with-update-smart-drivedb
181 --with-gnupg
a86ec89e
GI
182 --with-smartdscriptdir='${sysconfdir}'
183 --with-smartdplugindir='${smartdscriptdir}/smartd_warning.d'
f9e10201 184 --with-scriptpath='/bin:/usr/bin'
a86ec89e
GI
185 --without-savestates
186 --without-attributelog
187 --with-os-deps='os_linux.o dev_areca.o' (platform specific)
cfbba5b9 188 --without-selinux
a86ec89e 189 --with-libcap-ng=auto
f9e10201
JD
190 --without-nvme-devicescan
191 --without-solaris-sparc-ata (Solaris SPARC only)
192 --with-working-snprintf (Windows: guessed)
193 --with-mingw-aslr=auto (Windows only)
194 --with-cxx11-option=auto
832b75ed
GG
195
196 These will usually not overwrite existing "distribution" installations on
197 Linux Systems since the FHS reserves this area for use by the system
198 administrator.
199
200 For different installation locations or distributions, simply add
201 arguments to ./configure as shown in [4] below.
202
f9e10201
JD
203 If you wish to alter the default C++ compiler flags, add
204 CXXFLAGS='your options' to ./configure command.
832b75ed 205
2127e193
GI
206 The first output line of smartctl and smartd provides information
207 about release number, last SVN checkin date and revison, platform,
208 and package. The latter defaults to "(local build)" and can be
209 changed by the variable BUILD_INFO, for example:
210 make BUILD_INFO='"(Debian 5.39-2)"'
211
832b75ed
GG
212[4] Guidelines for different Linux distributions
213================================================
214
215Note: Please send corrections/additions to:
f9e10201 216smartmontools-support@listi.jpberlin.de
832b75ed
GG
217
218Debian:
219 If you don't want to overwrite any distribution package, use:
220 ./configure
221
222Filesystem Hierarchy Standard (FHS, http://www.pathname.com/fhs/):
223 ./configure --sbindir=/usr/local/sbin \
224 --sysconfdir=/usr/local/etc \
225 --mandir=/usr/local/man \
d008864d
GI
226 --docdir=/usr/local/share/doc/smartmontools \
227 --with-initscriptdir=/usr/local/etc/init.d
832b75ed
GG
228
229Red Hat:
230 ./configure --sbindir=/usr/sbin \
cfbba5b9
GI
231 --sysconfdir=/etc \
232 --mandir=/usr/share/man \
d008864d
GI
233 --docdir=/usr/share/doc/smartmontools \
234 --with-initscriptdir=/etc/rc.d/init.d
832b75ed
GG
235
236Slackware:
237 If you don't want to overwrite any "distribution" package, use:
238 ./configure
239
240 Otherwise use:
241 ./configure --sbindir=/usr/sbin \
242 --sysconfdir=/etc \
243 --mandir=/usr/share/man \
d008864d
GI
244 --docdir=/usr/share/doc/smartmontools \
245 --with-initscriptdir=/etc/rc.d
832b75ed
GG
246
247 And
248 removepkg smartmontools smartsuite (only root can do this)
249 before make install
250
251 The init script works on Slackware. You just have to add an entry like
252 the following in /etc/rc.d/rc.M or /etc/rc.d/rc.local:
253
254 if [ -x /etc/rc.d/smartd ]; then
255 . /etc/rc.d/smartd start
256 fi
257
258 To disable it:
259 chmod 644 /etc/rc.d/smartd
260
261 For a list of options:
262 /etc/rc.d/smartd
263
264SuSE:
265 ./configure --sbindir=/usr/sbin \
266 --sysconfdir=/etc \
267 --mandir=/usr/share/man \
d008864d 268 --docdir=/usr/share/doc/packages/smartmontools-VERSION \
832b75ed 269 --with-initscriptdir=/etc/init.d \
832b75ed
GG
270
271[5] Guidelines for FreeBSD
272==========================
273 To match the way it will installed when it becomes available as a PORT, use
274 the following:
275
276 ./configure --prefix=/usr/local \
d008864d 277 --docdir=/usr/local/share/doc/smartmontools-VERSION \
832b75ed 278 --with-initscriptdir=/usr/local/etc/rc.d/ \
cfbba5b9 279 --enable-sample
832b75ed 280
832b75ed
GG
281 NOTE: --enable-sample will cause the smartd.conf and smartd RC files to
282 be installed with the string '.sample' append to the name, so you will end
283 up with the following:
cfbba5b9
GI
284 /usr/local/etc/smartd.conf.sample
285 /usr/local/etc/rc.d/smartd.sample
832b75ed
GG
286
287
288[6] Guidelines for Darwin
289=========================
290 ./configure --with-initscriptdir=/Library/StartupItems
291
4d59bff9
GG
292 If you'd like to build the i386 version on a powerpc machine, you can
293 use
294
a37e7145 295 CXX='g++ -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386' \
4d59bff9 296 ./configure --host=i386-apple-darwin \
cfbba5b9 297 --with-initscriptdir=/Library/StartupItems
832b75ed 298
d008864d
GI
299[7] Guidelines for NetBSD
300=========================
832b75ed 301 ./configure --prefix=/usr/pkg \
d008864d 302 --docdir=/usr/pkg/share/doc/smartmontools
832b75ed
GG
303
304[8] Guidelines for Solaris
305==========================
306
307 smartmontools has been partially but not completely ported to
308 Solaris. It includes complete SCSI support but no ATA or 3ware
2127e193
GI
309 support. It can be compiled with either CC (Sun's C++ compiler)
310 or GNU g++.
311
312 To compile with g++:
832b75ed
GG
313
314 ./configure [args]
315 make
316
2127e193 317 To compile with Sun CC:
832b75ed 318
2127e193 319 env CC=cc CXX=CC ./configure [args]
832b75ed
GG
320 make
321
322 The correct arguments [args] to configure are:
323 --sbindir=/usr/sbin \
324 --sysconfdir=/etc \
325 --mandir=/usr/share/man \
d008864d 326 --docdir=/usr/share/doc/smartmontools-VERSION \
832b75ed
GG
327 --with-initscriptdir=/etc/init.d
328
329 To start the script automatically on bootup, create hardlinks that
330 indicate when to start/stop in:
cfbba5b9 331 /etc/rc[S0123].d/
832b75ed 332 pointing to /etc/init.d/smartd. Create:
cfbba5b9
GI
333 K<knum>smartd in rcS.d, rc0.d, rc1.d, rc2.d
334 S<snum>smartd in rc3.d
832b75ed
GG
335 where <knum> is related to <snum> such that the higher snum is the
336 lower knum must be.
337
338 On usual configuration, '95' would be suitable for <snum> and '05'
339 for <knum> respectively. If you choose these value, you can
340 create hardlinks by:
341
342 cd /etc
343 sh -c 'for n in S 0 1 2; do ln init.d/smartd rc$n.d/K05smartd; done'
344 sh -c 'for n in 3 ; do ln init.d/smartd rc$n.d/S95smartd; done'
345
346[9] Guidelines for Cygwin
347=========================
348
349Same as Red Hat:
350 ./configure --prefix=/usr \
351 --sysconfdir=/etc \
352 --mandir='${prefix}/share/man'
353
354 OR EQUIVALENTLY
355 ./configure --sbindir=/usr/sbin \
356 --sysconfdir=/etc \
357 --mandir=/usr/share/man \
d008864d
GI
358 --docdir=/usr/share/doc/smartmontools \
359 --with-initscriptdir=/etc/rc.d/init.d
832b75ed
GG
360
361 Using DOS text file type as default for the working directories ("textmode"
362 mount option) is not recommended. Building the binaries and man pages using
363 "make" is possible, but "make dist" and related targets work only with UNIX
364 file type ("binmode" mount option) set. The "autogen.sh" script prints a
365 warning if DOS type is selected.
366
e165493d
GI
367 Files may also be checked out with a non-Cygwin SVN client which uses CR/LF
368 for svn:eol-style=native. The "autogen.sh" script has svn:eol-style=LF.
369 Bash option "-o igncr" is not required.
ba59cff1 370
832b75ed 371[10] Guidelines for Windows
eb07ddf2 372===========================
832b75ed 373
f9e10201 374To compile statically linked Windows release with MinGW gcc on MSYS, use:
832b75ed 375
eb07ddf2 376 ./configure
832b75ed
GG
377 make
378
379 Instead of using "make install", copy the .exe files into
380 some directory in the PATH.
381
a86ec89e 382Cross-compile statically linked 32-bit and 64-bit versions with MinGW-w64:
eb07ddf2 383
7f0798ef 384 ./configure --build=$(./config.guess) \
f9e10201 385 --host=i686-w64-mingw32
eb07ddf2 386
cfbba5b9 387 ./configure --build=$(./config.guess) \
f9e10201 388 --host=x86_64-w64-mingw32
7f0798ef 389
a86ec89e 390 Tested on Cygwin, Debian and Fedora.
eb07ddf2
GI
391
392
832b75ed
GG
393To build the Windows binary distribution, use:
394
395 make dist-win32
4d59bff9 396
832b75ed
GG
397 This builds the distribution in directory
398
399 ./smartmontools-VERSION.win32/
400
401 and packs it into
402
403 ./smartmontools-VERSION.win32.zip
404
4d59bff9
GG
405To create a Windows installer, use:
406
407 make installer-win32
408
409 This builds the distribution directory and packs it into the
410 self-extracting install program
411
412 ./smartmontools-VERSION.win32-setup.exe
413
414 The installer is build using the command "makensis" from the NSIS
415 package. See http://nsis.sourceforge.net/ for documentation and
2127e193 416 download location.
4d59bff9 417
7f0798ef 418 It is also possible to (cross-)build the installer on Linux.
a86ec89e
GI
419 This was successfully tested on Debian and Fedora with package
420 "nsis".
7f0798ef 421
f4e463df
GI
422To create a combined 32-/64-bit installer, use this in 32-bit build
423directory if 64-build directory is at ../build64:
424
425 make builddir_win64=../build64 installer_win32
426
4d59bff9
GG
427To both create and run the (interactive) installer, use:
428
429 make install-win32
430
832b75ed
GG
431 Additional make targets are distdir-win32 to build the directory
432 only and cleandist-win32 for cleanup.
433
434 The binary distribution includes all documentation files converted
435 to DOS text file format and *.html and *.txt preformatted man pages.
cfbba5b9 436
f9e10201 437To prepare os_win32/vc14 directory for MS Visual Studio C++ 2015 builds,
d008864d 438use the following on MSYS or Cygwin:
2127e193
GI
439
440 mkdir vctmp && cd vctmp
cfbba5b9 441 ../configure [... any MinGW option set from above ...]
f9e10201 442 make config-vc14
832b75ed 443
f9e10201
JD
444 The MSVC project files (os_win32/vc14/*) are included in SVN (but not
445 in source tarball). The target config-vc14 from a Makefile configured
446 for MinGW creates os_win32/vc14/{config.h,smart*.rc,svnversion.h}.
a86ec89e
GI
447 The configure skript must be run outside of the source directory to
448 avoid inclusion of the original config.h.
832b75ed 449
832b75ed
GG
450
451[11] Guidelines for OS/2, eComStation
452=====================================
453
454To compile the OS/2 code, please run
455
f9e10201 456 ./configure
832b75ed
GG
457 make
458 make install
459
460[12] Guidelines for OpenBSD
d008864d 461===========================
832b75ed
GG
462 To match the way it will installed when it becomes available as a PORT, use
463 the following:
464
465 ./configure --prefix=/usr/local \
d008864d
GI
466 --sysconfdir=/etc \
467 --docdir=/usr/local/share/doc/smartmontools-VERSION \
468 --without-initscriptdir \
cfbba5b9 469 --enable-sample
832b75ed 470
d008864d 471 NOTE: --enable-sample will cause the smartd.conf and smartd RC files to
832b75ed
GG
472 be installed with the string '.sample' append to the name, so you will end
473 up with the following:
d008864d 474 /etc/smartd.conf.sample
832b75ed
GG
475
476[13] Comments
477============
478
479To compile from another directory, you can replace the step
480 ./configure [options]
481by the following:
482 mkdir objdir
483 cd objdir
484 ../configure [options]
485
d008864d
GI
486Man pages contents is platform-specific by default. Info specific to other
487platforms may be not visible. To generate man pages with full contents use:
488
489 make os_man_filter=
490
832b75ed
GG
491To install to another destination (used mainly by package maintainers,
492or to examine the package contents without risk of modifying any
493system files) you can replace the step:
494 make install
495with:
496 make DESTDIR=/home/myself/smartmontools-package install
497
d008864d 498Use a full path. Paths like ./smartmontools-package may not work.
832b75ed
GG
499
500After installing smartmontools, you can read the man pages, and try
501out the commands:
502
503man smartd.conf
504man smartctl
505man smartd
506
a86ec89e
GI
507/usr/sbin/smartctl -s on -o on -S on /dev/sda (only root can do this)
508/usr/sbin/smartctl -a /dev/sda (only root can do this)
832b75ed
GG
509
510Note that the default location for the manual pages are
511/usr/share/man/man5 and /usr/share/man/man8. If "man" doesn't find
512them, you may need to add /usr/share/man to your MANPATH environment
513variable.
514
cfbba5b9
GI
515Source and binary packages for Windows are available at
516http://sourceforge.net/projects/smartmontools/files/
832b75ed 517
d2e702cf
GI
518Refer to http://www.smartmontools.org/wiki/Download for any additional
519download and installation instructions.
832b75ed
GG
520
521The following files are installed if ./configure has no options:
522
832b75ed 523/usr/local/sbin/smartctl [Executable command-line utility]
cfbba5b9
GI
524/usr/local/sbin/smartd [Executable daemon]
525/usr/local/sbin/update-smart-drivedb [Drive database update script]
832b75ed 526/usr/local/etc/smartd.conf [Configuration file for smartd daemon]
a86ec89e 527/usr/local/etc/smartd_warning.sh [Warning skript for smartd daemon]
832b75ed
GG
528/usr/local/share/man/man5/smartd.conf.5 [Manual page]
529/usr/local/share/man/man8/smartctl.8 [Manual page]
530/usr/local/share/man/man8/smartd.8 [Manual page]
a86ec89e 531/usr/local/share/man/man8/update-smart-drivedb.8 [Manual page]
cfbba5b9 532/usr/local/share/doc/smartmontools/AUTHORS [Information about the authors and developers]
ee38a438 533/usr/local/share/doc/smartmontools/ChangeLog [A log of changes. Also see SVN]
cfbba5b9
GI
534/usr/local/share/doc/smartmontools/COPYING [GNU General Public License Version 2]
535/usr/local/share/doc/smartmontools/INSTALL [Installation instructions: what you're reading!]
a86ec89e 536/usr/local/share/doc/smartmontools/NEWS [Significant enhancements and fixes]
cfbba5b9
GI
537/usr/local/share/doc/smartmontools/README [Overview]
538/usr/local/share/doc/smartmontools/TODO [Things that need to be done/fixed]
cfbba5b9
GI
539/usr/local/share/doc/smartmontools/smartd.conf [Example configuration file for smartd]
540/usr/local/share/doc/smartmontools/examplescripts/ [Executable scripts for -M exec of smartd.conf (4 files)]
541/usr/local/share/smartmontools/drivedb.h [Drive database]
542
a86ec89e
GI
543Due to checks done by '--with-systemdsystemunitdir=auto' and '--with-initscriptdir=auto',
544one of the following files may also be installed:
545
546/usr/local/lib/systemd/system/smartd.service [Systemd service file for smartd]
547/usr/local/etc/rc.d/init.d/smartd [Init/Startup script for smartd]
548/usr/local/etc/init.d/smartd [Init/Startup script for smartd]
549/usr/local/etc/rc.d/smartd [Init/Startup script for smartd]
550
cfbba5b9
GI
551If /usr/local/etc/smartd.conf exists and differs from the
552default then the default configuration file is installed as
553/usr/local/etc/smartd.conf.sample instead.
832b75ed
GG
554
555The commands:
556
557make htmlman
f9e10201 558make pdfman
832b75ed
GG
559make txtman
560
f9e10201 561may be used to build .html, .pdf and .txt preformatted man pages.
832b75ed
GG
562These are used by the dist-win32 make target to build the Windows
563distribution.
564The commands also work on other operating system configurations
f9e10201 565if suitable versions of man, man2html and groff are installed.
832b75ed
GG
566On systems without man2html, the following command should work
567if groff is available:
568
569make MAN2HTML='groff -man -Thtml' htmlman
570
571
2127e193
GI
572Some of the source files are prepared for the documentation
573generator Doxygen (http://www.doxygen.org/). If Doxygen is installed,
574the command:
575
576doxygen
577
578creates HTML documentation in doc/html and LaTeX documentation
579in doc/latex. If TeX is installed, the following command creates
580a documentation file doc/latex/refman.pdf:
581
582( cd doc/latex && make pdf )
583
584
832b75ed
GG
585[14] Detailed description of arguments to configure command
586===========================================================
587
588When you type:
a86ec89e
GI
589./configure --help
590a description of available configure options is printed
591[with defaults in square brackets]. See also section [3] above.
592
593
f9e10201 594The following old configure options are no longer supported:
a86ec89e
GI
595
596Old option Replacement
597--with-docdir=DIR --docdir=DIR (autoconf >= 2.60)
598--enable-drivedb [no option needed]
599--disable-drivedb --without-drivedbdir
600--enable-savestates --with-savestates[=yes]
601--disable-savestates [no option needed]
602--enable-attrbutelog --with-attributelog[=yes]
603--disable-savestates [no option needed]
604
a23d5117 605
a7e8ffec
GI
606The defaults for --with-initscriptdir and --with-systemdsystemunitdir are
607guessed such that the following rules apply:
608- If --prefix=/usr --sysconfdir=/etc is specified, the guessed directories
609 should be the defaults used by the current OS or distribution.
610- If --sysconfdir=/etc is NOT specified, the guessed directories should
611 always be below ${prefix} or below ${sysconfdir}.
612
832b75ed
GG
613Here's an example:
614If you set --prefix=/home/joe and none of the other four
615variables then the different directories that are used would be:
616--sbindir /home/joe/sbin
a7e8ffec 617--docdir /home/joe/share/doc/smartmontools
832b75ed
GG
618--mandir /home/joe/share/man
619--sysconfdir /home/joe/etc
a7e8ffec
GI
620--with-exampledir /home/joe/share/doc/smartmontools/examplescripts
621--with-drivedbdir /home/joe/share/smartmontools
622--with-initscriptdir [see below]
623--with-systemdsystemunitdir [see below]
624
625If systemd is present (and pkg-config reports /lib/systemd/system
626as the systemdsystemunitdir):
627
628--with-initscriptdir [disabled]
629--with-systemdsystemunitdir /home/joe/lib/systemd/system
630
631else if /etc/rc.d/init.d exists:
632
633--with-initscriptdir /home/joe/etc/rc.d/init.d
634--with-systemdsystemunitdir [disabled]
635
636else if /etc/init.d exists:
637
638--with-initscriptdir /home/joe/etc/init.d
639--with-systemdsystemunitdir [disabled]
640
641else if /etc/rc.d exists:
642
643--with-initscriptdir /home/joe/etc/rc.d
644--with-systemdsystemunitdir [disabled]
645
646else
647
648--with-initscriptdir [disabled]
649--with-systemdsystemunitdir [disabled]
832b75ed 650
832b75ed
GG
651
652Here are the differences with and without --enable-sample, assuming
a7e8ffec
GI
653that initscript location is set and no other options specified
654(see above for details)
832b75ed
GG
655
656Case 1:
657--enable-sample provided
658==> Files installed are:
cfbba5b9
GI
659 /usr/local/etc/smartd.conf.sample
660 /usr/local/etc/rc.d/init.d/smartd.sample
832b75ed
GG
661
662Case 2:
663--disable-sample provided or parameter left out
664==> Files installed are:
cfbba5b9
GI
665 /usr/local/etc/smartd.conf
666 /usr/local/etc/rc.d/init.d/smartd
832b75ed
GG
667
668Additional information about using configure can be found here:
f9e10201 669https://www.gnu.org/software/autoconf/manual/autoconf.html#Running-configure-Scripts