X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=INSTALL;h=49a647920a6f89d278afc51c4b1a276b1efd1abf;hb=6c5eb127c873bd2414f28b25ba1f9bae494cf516;hp=dae2f24be85671026e30a7187de57950d410799c;hpb=bed9426992e70c6ad9832c6306946823bab19454;p=mirror_smartmontools-debian.git diff --git a/INSTALL b/INSTALL index dae2f24..49a6479 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ Smartmontools installation instructions ======================================= -$Id: INSTALL 2967 2009-10-23 21:45:56Z chrfranke $ +$Id: INSTALL 4094 2015-05-27 21:41:17Z chrfranke $ Please also see the smartmontools home page: http://smartmontools.sourceforge.net/ @@ -32,54 +32,6 @@ Table of contents: kernel version greater than or equal to 2.2.14. So any recent Linux distribution should support smartmontools. - There are two parts of smartmontools that may require a patched or - nonstandard kernel: - - (1) To get the ATA RETURN SMART STATUS command, the kernel needs - to support the HDIO_DRIVE_TASK ioctl(). - - (2) To run Selective Self-tests, the kernel needs to support the - HDIO_DRIVE_TASKFILE ioctl(). - - If your kernel does not support one or both of these ioctls, then - smartmontools will "mostly" work. The things that don't work will - give you harmless warning messages. - - Although "not officially supported" by the developers, smartmontools - has also been successfully build and run on a legacy Linux system - with kernel 2.0.33 and libc.so.5. On such systems, the restrictions - above apply. - - For item (1) above, any 2.4 or 2.6 series kernel will provide - HDIO_DRIVE_TASK support. Some 2.2.20 and later kernels also - provide this support IF they're properly patched and - configured. [Andre Hedrick's IDE patches may be found at - http://www.funet.fi/pub/linux/kernel/people/hedrick/ide-2.2.20/ or - are available from your local kernel.org mirror. They are not - updated for 2.2.21 or later, and may contain a few bugs.]. - If the configuration option CONFIG_IDE_TASK_IOCTL - exists in your 2.2.X kernel source code tree, then your 2.2.X - kernel will probably support this ioctl. [Note that this kernel - configuration option does NOT need to be enabled. Its presence - merely indicates that the required HDIO_DRIVE_TASK ioctl() is - supported.] - - For item (2) above, your kernel must be configured with the kernel - configuration option CONFIG_IDE_TASKFILE_IO enabled. This - configuration option is present in all 2.4 and 2.6 series - kernels. Some 2.2.20 and later kernels also provide this support - IF they're properly patched and configured as described above. - - Please see FAQ section of the URL above for additional details. - - If you are using 3ware controllers, for full functionality you - must either use version 1.02.00.037 or greater of the 3w-xxxx - driver, or patch earlier 3ware 3w-xxxx drivers. See - http://smartmontools.sourceforge.net/3w-xxxx.txt - for the patch. The version 1.02.00.037 3w-xxxx.c driver was - incorporated into kernel 2.4.23-bk2 on 3 December 2003 and into - kernel 2.6.0-test5-bk11 on 23 September 2003. - B) FreeBSD For FreeBSD support, a 5-current kernel that includes ATAng is @@ -102,11 +54,8 @@ Table of contents: E) Cygwin - The code was tested on Cygwin 1.5.25-15 and 1.7.0-62. It should also - work on other recent releases. - - Release 1.5.15 or later is recommended for Cygwin smartd. Older versions - do not provide syslogd support. + The code was tested on Cygwin 1.7.15-1. It should also work on other + recent releases. Both Cygwin and Windows versions of smartmontools share the same code to access the IDE/ATA or SCSI devices. The information in the "Windows" @@ -114,40 +63,14 @@ Table of contents: F) Windows - The code was tested on Windows 98SE, ME, NT4(SP5,SP6), 2000(SP4), - XP(up to SP3), 2003 and Vista. - - -- Windows 9x/ME - - On 9x/ME, only standard (legacy) IDE/ATA devices 0-3 are supported. - The driver SMARTVSD.VXD must be present in WINDOWS\SYSTEM\IOSUBSYS - to get loaded at Windows startup. The default location in a new - installation of some versions of Windows is the WINDOWS\SYSTEM folder. - In this case, move SMARTVSD.VXD to WINDOWS\SYSTEM\IOSUBSYS and reboot - (http://support.microsoft.com/kb/265854/en-us). - - SMARTVSD.VXD relies on the standard IDE port driver ESDI_506.PDR. - If the system uses a vendor specific driver, access of SMART data - is not possible. - - Some ATA controllers (e.g. Promise) provided a custom SMARTVSD.VXD - for their Win9x/ME driver. To access SMART data from both the legacy - (/dev/h[a-d]) and this additional (/dev/hd[e-h]) controller, rename - this file to SMARTVSE.VXD. Open the file with a hex editor and replace - all occurrences of the string "SMARTVSD" with "SMARTVSE". Then reinstall - the original Windows SMARTVSD.VXD. - - To access SCSI and USB devices, an installed ASPI interface (WNASPI32.DLL) - is required. The code was tested with Adaptec Windows ASPI drivers 4.71.2. - (http://www.adaptec.com/en-US/support/_eol/scsi_sw/ASPI-4.70/) - Links to other ASPI drivers can be found at http://www.nu2.nu/aspi/. - - -- Windows NT4/2000/XP/2003/Vista + The code was tested on Windows XP SP3, 2003, Vista, Windows 7, 8, 8.1 + and Windows 10 Release Preview. Support von Windows 9x/ME and NT4 was + removed after smartmontools 5.43. ATA or SATA devices are supported if the device driver implements the SMART IOCTLs or IOCTL_IDE_PASS_THROUGH or IOCTL_ATA_PASS_THROUGH. - The ATA SMART READ LOG command (smartctl -l, --log, -a, --all) is not - supported if only the SMART IOCTLs are implemented. + Only the latter provides full pass-through support which is needed + for all smartmontools features. SCSI and USB devices are accessed through SPTI. Special driver support is not required. @@ -201,18 +124,25 @@ Table of contents: hard drive comes with the offline test switched on by default, so even that works. + The OS X SAT SMART Driver provides access to SMART data for SAT capable + USB and Firewire devices: + https://github.com/kasbert/OS-X-SAT-SMART-Driver + https://github.com/RJVB/OS-X-SAT-SMART-Driver + This does not require any smartctl -d TYPE option and should work also + with older smartmontools releases. + H) OS/2, eComStation The code was tested on eComStation 1.1, but it should work on all versions of OS/2. Innotek LibC 0.5 runtime is required. - Currently only ATA disks are supported, SCSI support will be added. + Only ATA disks are supported. [2] Installing from SVN ======================= Get the sources from the SVN repository: - svn co https://smartmontools.svn.sourceforge.net/svnroot/smartmontools/trunk/smartmontools smartmontools + svn co http://svn.code.sf.net/p/smartmontools/code/trunk/smartmontools smartmontools Then type: ./autogen.sh @@ -222,8 +152,8 @@ Table of contents: SVN. You need GNU Autoconf (version 2.50 or greater), GNU Automake (version 1.7 or greater) and their dependencies installed in order to run it. You can get these here: - http://www.gnu.org/directory/GNU/autoconf.html - http://www.gnu.org/directory/GNU/automake.html + http://directory.fsf.org/project/autoconf/ + http://directory.fsf.org/project/automake/ [3] Installing from the source tarball ====================================== @@ -237,14 +167,31 @@ Table of contents: make install (you may need to be root to do this) As shown (with no options to ./configure) this defaults to the - following set of installation directories: + following set of installation directories and other settings: + --prefix=/usr/local - --sbindir=/usr/local/sbin - --sysconfdir=/usr/local/etc - --mandir=/usr/local/share/man - --with-docdir=/usr/local/share/doc/smartmontools-VERSION - --with-initscriptdir=/usr/local/etc/rc.d/init.d + --exec-prefix='${prefix}' + --sbindir='${exec_prefix}/sbin' + --sysconfdir='${prefix}/etc' + --localstatedir='${prefix}/var' + --datarootdir='${prefix}/share' + --datadir='${datarootdir}' + --mandir='${datarootdir}/man' + --docdir='${datarootdir}/doc/smartmontools' --disable-sample + --with-systemdsystemunitdir=auto + --with-systemdenvfile=auto + --with-initscriptdir=auto + --with-exampledir='${docdir}/examplescripts' + --with-drivedbdir='${datadir}/smartmontools' + --with-smartdscriptdir='${sysconfdir}' + --with-smartdplugindir='${smartdscriptdir}/smartd_warning.d' + --without-savestates + --without-attributelog + --with-os-deps='os_linux.o dev_areca.o' (platform specific) + --without-selinux + --with-libcap-ng=auto + --with-working-snprintf These will usually not overwrite existing "distribution" installations on Linux Systems since the FHS reserves this area for use by the system @@ -253,10 +200,10 @@ Table of contents: For different installation locations or distributions, simply add arguments to ./configure as shown in [4] below. - If you wish to alter the default C compiler flags, set an - environment variable CFLAGS='your options' before doing + If you wish to alter the default C++ compiler flags, set an + environment variable CXXFLAGS='your options' before doing ./configure, or else do: - make CFLAGS='your options' + make CXXFLAGS='your options' The first output line of smartctl and smartd provides information about release number, last SVN checkin date and revison, platform, @@ -278,15 +225,15 @@ Filesystem Hierarchy Standard (FHS, http://www.pathname.com/fhs/): ./configure --sbindir=/usr/local/sbin \ --sysconfdir=/usr/local/etc \ --mandir=/usr/local/man \ - --with-initscriptdir=/usr/local/etc/rc.d/init.d \ - --with-docdir=/usr/local/share/doc/smartmontools-VERSION + --docdir=/usr/local/share/doc/smartmontools \ + --with-initscriptdir=/usr/local/etc/init.d Red Hat: ./configure --sbindir=/usr/sbin \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --with-initscriptdir=/etc/rc.d/init.d \ - --with-docdir=/usr/share/doc/smartmontools-VERSION + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --docdir=/usr/share/doc/smartmontools \ + --with-initscriptdir=/etc/rc.d/init.d Slackware: If you don't want to overwrite any "distribution" package, use: @@ -296,8 +243,8 @@ Slackware: ./configure --sbindir=/usr/sbin \ --sysconfdir=/etc \ --mandir=/usr/share/man \ - --with-initscriptdir=/etc/rc.d \ - --with-docdir=/usr/share/doc/smartmontools-VERSION + --docdir=/usr/share/doc/smartmontools \ + --with-initscriptdir=/etc/rc.d And removepkg smartmontools smartsuite (only root can do this) @@ -320,8 +267,8 @@ SuSE: ./configure --sbindir=/usr/sbin \ --sysconfdir=/etc \ --mandir=/usr/share/man \ + --docdir=/usr/share/doc/packages/smartmontools-VERSION \ --with-initscriptdir=/etc/init.d \ - --with-docdir=/usr/share/doc/packages/smartmontools-VERSION [5] Guidelines for FreeBSD ========================== @@ -329,15 +276,15 @@ SuSE: the following: ./configure --prefix=/usr/local \ + --docdir=/usr/local/share/doc/smartmontools-VERSION \ --with-initscriptdir=/usr/local/etc/rc.d/ \ - --with-docdir=/usr/local/share/doc/smartmontools-VERSION \ - --enable-sample + --enable-sample NOTE: --enable-sample will cause the smartd.conf and smartd RC files to be installed with the string '.sample' append to the name, so you will end up with the following: - /usr/local/etc/smartd.conf.sample - /usr/local/etc/rc.d/smartd.sample + /usr/local/etc/smartd.conf.sample + /usr/local/etc/rc.d/smartd.sample [6] Guidelines for Darwin @@ -349,16 +296,12 @@ SuSE: CXX='g++ -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386' \ ./configure --host=i386-apple-darwin \ - --with-initscriptdir=/Library/StartupItems + --with-initscriptdir=/Library/StartupItems -[7] Guidelines for NetBSD/OpenBSD -================================= +[7] Guidelines for NetBSD +========================= ./configure --prefix=/usr/pkg \ - --with-docdir=/usr/pkg/share/doc/smartmontools - - On OpenBSD, it is important that you use GNU make (gmake from - /usr/ports/devel/gmake) to build smartmontools, as the BSD make doesn't - know how to make the manpages. + --docdir=/usr/pkg/share/doc/smartmontools [8] Guidelines for Solaris ========================== @@ -382,15 +325,15 @@ SuSE: --sbindir=/usr/sbin \ --sysconfdir=/etc \ --mandir=/usr/share/man \ - --with-docdir=/usr/share/doc/smartmontools-VERSION \ + --docdir=/usr/share/doc/smartmontools-VERSION \ --with-initscriptdir=/etc/init.d To start the script automatically on bootup, create hardlinks that indicate when to start/stop in: - /etc/rc[S0123].d/ + /etc/rc[S0123].d/ pointing to /etc/init.d/smartd. Create: - Ksmartd in rcS.d, rc0.d, rc1.d, rc2.d - Ssmartd in rc3.d + Ksmartd in rcS.d, rc0.d, rc1.d, rc2.d + Ssmartd in rc3.d where is related to such that the higher snum is the lower knum must be. @@ -414,8 +357,8 @@ Same as Red Hat: ./configure --sbindir=/usr/sbin \ --sysconfdir=/etc \ --mandir=/usr/share/man \ - --with-initscriptdir=/etc/rc.d/init.d \ - --with-docdir=/usr/share/doc/smartmontools-VERSION + --docdir=/usr/share/doc/smartmontools \ + --with-initscriptdir=/etc/rc.d/init.d Using DOS text file type as default for the working directories ("textmode" mount option) is not recommended. Building the binaries and man pages using @@ -423,14 +366,9 @@ Same as Red Hat: file type ("binmode" mount option) set. The "autogen.sh" script prints a warning if DOS type is selected. - If installing from SVN, you may check out all files either with CR/LF - or LF line endings. Starting with release 3.1-7, Cygwin's bash does no - longer accept scripts with CR/LF by default. To run the initial script - ./autogen.sh checked out with CR/LF on a "binmode" mount, type: - - bash -O igncr ./autogen.sh - - instead. This is not necessary for the generated ./configure script. + Files may also be checked out with a non-Cygwin SVN client which uses CR/LF + for svn:eol-style=native. The "autogen.sh" script has svn:eol-style=LF. + Bash option "-o igncr" is not required. [10] Guidelines for Windows =========================== @@ -443,20 +381,17 @@ To compile the Windows release with MinGW gcc on MSYS, use: Instead of using "make install", copy the .exe files into some directory in the PATH. -To compile with MinGW gcc 3.x on Cygwin, use: - - ./configure --build=i686-pc-mingw32 +Cross-compile statically linked 32-bit and 64-bit versions with MinGW-w64: - The above does not work if gcc 4.x is installed and selected as - default by /usr/sbin/alternatives. If the configure command aborts - with error message '... does not support -mno-cygwin', select - gcc 3.x by: + ./configure --build=$(./config.guess) \ + --host=i686-w64-mingw32 \ + LDFLAGS=-static - CC=gcc-3 CXX=g++-3 ./configure --build=i686-pc-mingw32 + ./configure --build=$(./config.guess) \ + --host=x86_64-w64-mingw32 \ + LDFLAGS=-static - Alternatively, a MinGW-targeted cross-compiler can be used if available: - - ./configure --build=i686-pc-cygwin --host=i686-pc-mingw32 + Tested on Cygwin, Debian and Fedora. To build the Windows binary distribution, use: @@ -484,6 +419,15 @@ To create a Windows installer, use: package. See http://nsis.sourceforge.net/ for documentation and download location. + It is also possible to (cross-)build the installer on Linux. + This was successfully tested on Debian and Fedora with package + "nsis". + +To create a combined 32-/64-bit installer, use this in 32-bit build +directory if 64-build directory is at ../build64: + + make builddir_win64=../build64 installer_win32 + To both create and run the (interactive) installer, use: make install-win32 @@ -493,26 +437,19 @@ To both create and run the (interactive) installer, use: The binary distribution includes all documentation files converted to DOS text file format and *.html and *.txt preformatted man pages. - The tools unix2dos.exe (package cygutils) and zip.exe (package zip - or a native Win32 release of Info-ZIP, http://www.info-zip.org) are - necessary but may be not installed by Cygwin's default settings. -To prepare os_win32 directory for MSVC8, use the following on Cygwin: +To prepare os_win32 directory for MS Visual Studio C++ 2010 [Express], +use the following on MSYS or Cygwin: mkdir vctmp && cd vctmp - ../configure --build=mingw32 - make config-vc8 - - The MSVC8 project files (os_win32/smartmontools_vc8.sln, - os_win32/smart{ctl,d}_vc8.vcproj) are included in SVN (but not in - source tarball). The target config-vc8 from a Makefile configured - for MinGW creates os_win32/{config,svnversion}_vc8.h from - ./{config,svnversion}.h. The configure skript must be run outside - of the source directory to avoid inclusion of the original config.h. + ../configure [... any MinGW option set from above ...] + make config-vc10 - Unlike MinGW, MSVC can also be used to build the syslog message file - tool syslogevt.exe. See smartd man page for usage information about - this tool. + The MSVC project files (os_win32/vc10/*) are included in SVN (but not + in source tarball). The target config-vc10 from a Makefile configured + for MinGW creates os_win32/vc10/{config.h,smart*.rc,svnversion.h}. + The configure skript must be run outside of the source directory to + avoid inclusion of the original config.h. [11] Guidelines for OS/2, eComStation @@ -525,30 +462,20 @@ To compile the OS/2 code, please run make install [12] Guidelines for OpenBSD -========================== +=========================== To match the way it will installed when it becomes available as a PORT, use the following: ./configure --prefix=/usr/local \ - --sysconfdir=/etc - --with-initscriptdir=/usr/local/share/doc/smartmontools-VERSION \ - --with-docdir=/usr/local/share/doc/smartmontools-VERSION \ - --enable-sample - - It is important that you use GNU make (gmake from /usr/ports/devel/gmake) - to build smartmontools, as the default OpenBSD make doesn't know how to build - the man pages. + --sysconfdir=/etc \ + --docdir=/usr/local/share/doc/smartmontools-VERSION \ + --without-initscriptdir \ + --enable-sample - NOTE1: --with-initscriptdir installs a SystemV startup script. It really - should be --without-initscriptdir, but the Makefile code is incorrect and - trys to install the initscript (smartd) to /no. So, an interim fix it to - set the initscript dir to the doc dir. - - NOTE2: --enable-sample will cause the smartd.conf and smartd RC files to + NOTE: --enable-sample will cause the smartd.conf and smartd RC files to be installed with the string '.sample' append to the name, so you will end up with the following: - /usr/local/etc/smartd.conf.sample - /usr/local/etc/rc.d/smartd.sample + /etc/smartd.conf.sample [13] Comments ============ @@ -560,6 +487,11 @@ by the following: cd objdir ../configure [options] +Man pages contents is platform-specific by default. Info specific to other +platforms may be not visible. To generate man pages with full contents use: + + make os_man_filter= + To install to another destination (used mainly by package maintainers, or to examine the package contents without risk of modifying any system files) you can replace the step: @@ -567,7 +499,7 @@ system files) you can replace the step: with: make DESTDIR=/home/myself/smartmontools-package install -Use a full path. Paths like ~/smartmontools-package may not work. +Use a full path. Paths like ./smartmontools-package may not work. After installing smartmontools, you can read the man pages, and try out the commands: @@ -576,39 +508,53 @@ man smartd.conf man smartctl man smartd -/usr/sbin/smartctl -s on -o on -S on /dev/hda (only root can do this) -/usr/sbin/smartctl -a /dev/hda (only root can do this) +/usr/sbin/smartctl -s on -o on -S on /dev/sda (only root can do this) +/usr/sbin/smartctl -a /dev/sda (only root can do this) Note that the default location for the manual pages are /usr/share/man/man5 and /usr/share/man/man8. If "man" doesn't find them, you may need to add /usr/share/man to your MANPATH environment variable. -Source and binary RPM packages are available at -http://sourceforge.net/project/showfiles.php?group_id=64297 +Source and binary packages for Windows are available at +http://sourceforge.net/projects/smartmontools/files/ -Refer to http://smartmontools.sourceforge.net/index.html#howtodownload -for any additional download and installation instructions. +Refer to http://www.smartmontools.org/wiki/Download for any additional +download and installation instructions. The following files are installed if ./configure has no options: -/usr/local/sbin/smartd [Executable daemon] /usr/local/sbin/smartctl [Executable command-line utility] +/usr/local/sbin/smartd [Executable daemon] +/usr/local/sbin/update-smart-drivedb [Drive database update script] /usr/local/etc/smartd.conf [Configuration file for smartd daemon] -/usr/local/etc/rc.d/init.d/smartd [Init/Startup script for smartd] +/usr/local/etc/smartd_warning.sh [Warning skript for smartd daemon] /usr/local/share/man/man5/smartd.conf.5 [Manual page] /usr/local/share/man/man8/smartctl.8 [Manual page] /usr/local/share/man/man8/smartd.8 [Manual page] -/usr/local/share/doc/smartmontools-5.X/AUTHORS [Information about the authors and developers] -/usr/local/share/doc/smartmontools-5.X/CHANGELOG [A log of changes. Also see SVN] -/usr/local/share/doc/smartmontools-5.X/COPYING [GNU General Public License Version 2] -/usr/local/share/doc/smartmontools-5.X/INSTALL [Installation instructions: what you're reading!] -/usr/local/share/doc/smartmontools-5.X/NEWS [Significant bugs discovered in old versions] -/usr/local/share/doc/smartmontools-5.X/README [Overview] -/usr/local/share/doc/smartmontools-5.X/TODO [Things that need to be done/fixed] -/usr/local/share/doc/smartmontools-5.X/WARNINGS [Systems where lockups or other serious problems were reported] -/usr/local/share/doc/smartmontools-5.X/smartd.conf [Example configuration file for smartd] -/usr/local/share/doc/smartmontools-5.X/examplescripts [Executable scripts for -M exec of smartd.conf (4 files)] +/usr/local/share/man/man8/update-smart-drivedb.8 [Manual page] +/usr/local/share/doc/smartmontools/AUTHORS [Information about the authors and developers] +/usr/local/share/doc/smartmontools/ChangeLog [A log of changes. Also see SVN] +/usr/local/share/doc/smartmontools/COPYING [GNU General Public License Version 2] +/usr/local/share/doc/smartmontools/INSTALL [Installation instructions: what you're reading!] +/usr/local/share/doc/smartmontools/NEWS [Significant enhancements and fixes] +/usr/local/share/doc/smartmontools/README [Overview] +/usr/local/share/doc/smartmontools/TODO [Things that need to be done/fixed] +/usr/local/share/doc/smartmontools/smartd.conf [Example configuration file for smartd] +/usr/local/share/doc/smartmontools/examplescripts/ [Executable scripts for -M exec of smartd.conf (4 files)] +/usr/local/share/smartmontools/drivedb.h [Drive database] + +Due to checks done by '--with-systemdsystemunitdir=auto' and '--with-initscriptdir=auto', +one of the following files may also be installed: + +/usr/local/lib/systemd/system/smartd.service [Systemd service file for smartd] +/usr/local/etc/rc.d/init.d/smartd [Init/Startup script for smartd] +/usr/local/etc/init.d/smartd [Init/Startup script for smartd] +/usr/local/etc/rc.d/smartd [Init/Startup script for smartd] + +If /usr/local/etc/smartd.conf exists and differs from the +default then the default configuration file is installed as +/usr/local/etc/smartd.conf.sample instead. The commands: @@ -643,85 +589,85 @@ a documentation file doc/latex/refman.pdf: =========================================================== When you type: -./configure [options] -there are six particularly important variables that affect where the -smartmontools software is installed. The variables are listed here, -with their default values in square brackets, and the quantities that -they affect described following that. This is a very wide table: please read -it in a wide window. - -OPTIONS DEFAULT AFFECTS -------- ------- ------- ---prefix /usr/local Please see below ---sbindir ${prefix}/sbin Directory for smartd/smartctl executables; - Contents of smartd/smartctl man pages ---mandir ${prefix}/share/man Directory for smartctl/smartd/smartd.conf man pages ---sysconfdir ${prefix}/etc Directory for smartd.conf; - Contents of smartd executable; - Contents of smartd/smartd.conf man pages; - Directory for rc.d/init.d/smartd init script ---with-initscriptdir ${sysconfdir}/init.d/rc.d Location of init scripts ---with-docdir ${prefix}/share/doc/smartmontools-5.X Location of the documentation ---enable-sample --disable-sample Adds the string '.sample' to the names of the smartd.conf file and the smartd RC file ---with-os-deps os_.o OS dependent module(s) ---with-selinux Enables SELinux support. If smartmontools has to create the /dev/tw[ae] device - nodes for 3ware/AMCC controllers, this option ensures that the nodes are created - with correct SELinux file contexts. ---enable-drivedb --disable-drivedb Enables default drive database file '${drivedbdir}/drivedb.h' ---with-drivedbdir ${prefix}/share/smartmontools Directory for 'drivedb.h' (implies --enable-drivedb) ---enable-savestates --disable-savestates Enables default smartd state files '${savestates}MODEL-SERIAL.ata.state' ---with-savestates ${prefix}/var/lib/smartmontools/smartd. Prefix for smartd state files (implies --enable-savestates) ---enable-attributelog --disable-attributelog Enables default smartd attribute log files ---with-attributelog ${prefix}/var/lib/smartmontools/attrlog. Prefix for smartd attribute log files (implies --enable-attributelog) +./configure --help +a description of available configure options is printed +[with defaults in square brackets]. See also section [3] above. + + +The following old configure options are deprecated and will be removed +in a future release of smartmontools: + +Old option Replacement +--with-docdir=DIR --docdir=DIR (autoconf >= 2.60) +--enable-drivedb [no option needed] +--disable-drivedb --without-drivedbdir +--enable-savestates --with-savestates[=yes] +--disable-savestates [no option needed] +--enable-attrbutelog --with-attributelog[=yes] +--disable-savestates [no option needed] + + +The defaults for --with-initscriptdir and --with-systemdsystemunitdir are +guessed such that the following rules apply: +- If --prefix=/usr --sysconfdir=/etc is specified, the guessed directories + should be the defaults used by the current OS or distribution. +- If --sysconfdir=/etc is NOT specified, the guessed directories should + always be below ${prefix} or below ${sysconfdir}. Here's an example: If you set --prefix=/home/joe and none of the other four variables then the different directories that are used would be: --sbindir /home/joe/sbin +--docdir /home/joe/share/doc/smartmontools --mandir /home/joe/share/man --sysconfdir /home/joe/etc ---with-initscriptdir /home/joe/etc/init.d/rc.d ---with-docdir /home/joe/doc/smartmontools-5.X +--with-exampledir /home/joe/share/doc/smartmontools/examplescripts +--with-drivedbdir /home/joe/share/smartmontools +--with-initscriptdir [see below] +--with-systemdsystemunitdir [see below] -This is useful for test installs in a harmless subdirectory somewhere. +If systemd is present (and pkg-config reports /lib/systemd/system +as the systemdsystemunitdir): -Here are the four possible cases for the four variables above: +--with-initscriptdir [disabled] +--with-systemdsystemunitdir /home/joe/lib/systemd/system -Case 1: ---prefix not set ---variable not set -===> VARIABLE gets default value above +else if /etc/rc.d/init.d exists: -Case 2: ---prefix set ---variable not set -===> VARIABLE gets PREFIX/ prepended to default value above +--with-initscriptdir /home/joe/etc/rc.d/init.d +--with-systemdsystemunitdir [disabled] + +else if /etc/init.d exists: + +--with-initscriptdir /home/joe/etc/init.d +--with-systemdsystemunitdir [disabled] + +else if /etc/rc.d exists: + +--with-initscriptdir /home/joe/etc/rc.d +--with-systemdsystemunitdir [disabled] -Case 3: ---prefix not set ---variable set -===> VARIABLE gets value that is set +else -Case 4: ---prefix is set ---variable is set -===> PREFIX is IGNORED, VARIABLE gets value that is set +--with-initscriptdir [disabled] +--with-systemdsystemunitdir [disabled] Here are the differences with and without --enable-sample, assuming -no other options specified (see above for details) +that initscript location is set and no other options specified +(see above for details) Case 1: --enable-sample provided ==> Files installed are: - /usr/local/etc/smartd.conf.sample - /usr/local/etc/rc.d/init.d/smartd.sample + /usr/local/etc/smartd.conf.sample + /usr/local/etc/rc.d/init.d/smartd.sample Case 2: --disable-sample provided or parameter left out ==> Files installed are: - /usr/local/etc/smartd.conf - /usr/local/etc/rc.d/init.d/smartd + /usr/local/etc/smartd.conf + /usr/local/etc/rc.d/init.d/smartd Additional information about using configure can be found here: -http://www.gnu.org/software/autoconf/manual/autoconf-2.57/html_mono/autoconf.html#SEC139 +http://www.gnu.org/software/autoconf/manual/autoconf.html#Running-configure-Scripts