📄 install
字号:
Smartmontools installation instructions=======================================$Id: INSTALL,v 1.73 2007/04/27 08:50:00 geoffk1 Exp $Please also see the smartmontools home page:http://smartmontools.sourceforge.net/Table of contents:[1] System requirements[2] Installing from CVS[3] Installing from source tarball[4] Guidelines for different Linux distributions[5] Guidelines for FreeBSD[6] Guidelines for Darwin[7] Guidelines for NetBSD[8] Guidelines for Solaris[9] Guidelines for Cygwin[10] Guidelines for Windows[11] Guidelines for OS/2, eComStation[12] Guidelines for OpenBSD[13] Comments[14] Detailed description of ./configure options[1] System requirements======================= A) Linux Any Linux distribution will support smartmontools if it has a 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 required in order to support ATA drives. Even current versions of ATAng will not support 100% operation, as the SMART status can not be reliably retrieved. There is patch pending approval of the ATAng driver maintainer that will address this issue. C) Solaris The SCSI code has been tested on a variety of Solaris 8 and 9 systems. ATA/IDE code only works on SPARC platform. All tested kernels worked correctly. D) NetBSD/OpenBSD The code was tested on a 1.6ZG (i.e., 1.6-current) system. It should also function under 1.6.1 and later releases (unverified). Currently it doesn't support ATA devices on 3ware RAID controllers. E) Cygwin The code was tested on Cygwin 1.5.7, 1.5.11 and 1.5.18-22. 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. Both Cygwin and Windows versions of smartmontools share the same code to access the IDE/ATA or SCSI devices. The information in the "Windows" section below also applies to the Cygwin version. F) Windows The code was tested on Windows 98SE, NT4(SP5,SP6), 2000(SP4), XP(no SP,SP1a,SP2) and Vista RC 1. It should also work on Windows 95(OSR2), 98, ME and 2003. 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 may also be missing in a new installation (http://support.microsoft.com/kb/199886/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 on 9x/ME. This is the case if e.g. the optional "IDE miniport driver" is installed on a system with VIA chipset. 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. On NT4/2000/XP/2003, ATA or SATA devices are supported if the device driver implements the SMART IOCTL. The IDE/ATA read log command (smartctl -l, --log, -a, --all) is not supported by the SMART IOCTL of NT4/2000/XP. Undocumented and possibly buggy system calls are used for this purpose, see WARNINGS file for details. SCSI devices are supported on all versions of Windows. An installed ASPI interface (WNASPI32.DLL) is required to access SCSI devices. The code was tested with Adaptec Windows ASPI drivers 4.71.2. (http://www.adaptec.com/en-US/support/scsi_soft/ASPI/ASPI-4.70/) Links to other ASPI drivers can be found at http://www.nu2.nu/aspi/. 3ware 9000 RAID controllers are supported using new features available in the Windows driver release 9.4.0 (3wareDrv.sys 3.0.2.70) or later. Older drivers provide SMART access to the first physical drive (port) of each logical drive (unit). If driver support is not available (7000/8000 series, 9000 on XP 64), smartctl can be used to parse SMART data output from CLI or 3DM. G) MacOS/Darwin The code was tested on MacOS 10.3.4. It should work from 10.3 forwards. It doesn't support 10.2. It's important to know that on 10.3.x, some things don't work (see WARNINGS): due to bugs in the libraries used, you cannot run a short test or switch SMART support off on a drive; if you try, you will just run an extended test or switch SMART support on. So don't panic when your "short" test seems to be taking hours. It's also not possible at present to control when the offline routine runs. If your drive doesn't have it running automatically by default, you can't run it at all. SCSI devices are not currently supported. Detecting the power status of a drive is also not currently supported. To summarize this, from another point of view, the things that are not supported fall into two categories: * Can't be implemented easily without more kernel-level support, so far as I know: - running immediate offline, conveyance, or selective tests - running any test in captive mode - aborting tests - switching automatic offline testing on or off - support for SCSI - checking the power mode [-n Directive of smartd] (this is not completely impossible, but not by using a documented API) * Work on 10.4 and later, but not on 10.3: - switching off SMART (switching *on* works fine) - switching off auto-save (but why would you want to?) - running the short test (that leaves you with only the extended test) However, some things do work well. For ATA devices, all the informational output is available, unless you want something that only an offline test updates. On many newer Mac OS systems, the hard drive comes with the offline test switched on by default, so even that works. 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.[2] Installing from CVS======================= Get the sources from the CVS repository: cvs -d :pserver:anonymous@smartmontools.cvs.sourceforge.net:/cvsroot/smartmontools login cvs -d :pserver:anonymous@smartmontools.cvs.sourceforge.net:/cvsroot/smartmontools co sm5 (when prompted for a password, just press Enter) Then type: ./autogen.sh and continue with step [3] below, skipping the "unpack the tarball" step. Further details of using CVS can be found at the URL above. The autogen.sh command is ONLY required when installing from CVS. You need GNU Autoconf (version 2.50 or greater), GNU Automake (version 1.6 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[3] Installing from the source tarball====================================== If you are NOT installing from CVS, then unpack the tarball: tar zxvf smartmontools-5.VERSION.tar.gz Then: ./configure make 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: --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 --disable-sample These will usually not overwrite existing "distribution" installations on Linux Systems since the FHS reserves this area for use by the system administrator. 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 ./configure, or else do: make CFLAGS='your options'[4] Guidelines for different Linux distributions================================================Note: Please send corrections/additions to:smartmontools-support@lists.sourceforge.netDebian: If you don't want to overwrite any distribution package, use: ./configureFilesystem 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-VERSIONRed Hat: ./configure --sbindir=/usr/sbin \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --with-initscriptdir=/etc/rc.d/init.d \ --with-docdir=/usr/share/doc/smartmontools-VERSIONSlackware: If you don't want to overwrite any "distribution" package, use: ./configure Otherwise use: ./configure --sbindir=/usr/sbin \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --with-initscriptdir=/etc/rc.d \ --with-docdir=/usr/share/doc/smartmontools-VERSION And removepkg smartmontools smartsuite (only root can do this) before make install The init script works on Slackware. You just have to add an entry like the following in /etc/rc.d/rc.M or /etc/rc.d/rc.local: if [ -x /etc/rc.d/smartd ]; then . /etc/rc.d/smartd start fi To disable it: chmod 644 /etc/rc.d/smartd For a list of options: /etc/rc.d/smartdSuSE: ./configure --sbindir=/usr/sbin \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --with-initscriptdir=/etc/init.d \ --with-docdir=/usr/share/doc/packages/smartmontools-VERSION[5] Guidelines for FreeBSD========================== To match the way it will installed when it becomes available as a PORT, use the following: ./configure --prefix=/usr/local \ --with-initscriptdir=/usr/local/etc/rc.d/ \ --with-docdir=/usr/local/share/doc/smartmontools-VERSION \ --enable-sample Also, it is important that you use GNU make (gmake from /usr/ports/devel/gmake) to build smartmontools, as the default FreeBSD make doesn't know how to build the man pages. 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -