|
| 1 | +Scrub Quick Start |
| 2 | + |
| 3 | +For those in a rush, here's how to get scrub working. |
| 4 | +Download the latest release tarball and do the following to build scrub: |
| 5 | + |
| 6 | +$ tar xvf scrub-2.6.0.tar.gz |
| 7 | +scrub-2.6.0/ |
| 8 | +scrub-2.6.0/NEWS |
| 9 | +scrub-2.6.0/test/ |
| 10 | +scrub-2.6.0/test/t02 |
| 11 | +scrub-2.6.0/test/t10.exp |
| 12 | +scrub-2.6.0/test/t07.exp |
| 13 | +scrub-2.6.0/test/t13.exp |
| 14 | +scrub-2.6.0/test/t15.exp |
| 15 | +scrub-2.6.0/test/t00.exp |
| 16 | +scrub-2.6.0/test/pat.c |
| 17 | +scrub-2.6.0/test/t05.exp |
| 18 | +scrub-2.6.0/test/t18.exp |
| 19 | +scrub-2.6.0/test/t17.exp |
| 20 | +scrub-2.6.0/test/t20.exp |
| 21 | +scrub-2.6.0/test/t03 |
| 22 | +scrub-2.6.0/test/t04.exp |
| 23 | +scrub-2.6.0/test/t22.exp |
| 24 | +scrub-2.6.0/test/t02.exp |
| 25 | +scrub-2.6.0/test/t08 |
| 26 | +scrub-2.6.0/test/t06.exp |
| 27 | +scrub-2.6.0/test/t04 |
| 28 | +scrub-2.6.0/test/t14.exp |
| 29 | +scrub-2.6.0/test/t11.exp |
| 30 | +scrub-2.6.0/test/README |
| 31 | +scrub-2.6.0/test/Makefile.am |
| 32 | +scrub-2.6.0/test/t09 |
| 33 | +scrub-2.6.0/test/tsig.c |
| 34 | +scrub-2.6.0/test/t21.exp |
| 35 | +scrub-2.6.0/test/t01.exp |
| 36 | +scrub-2.6.0/test/t03.exp |
| 37 | +scrub-2.6.0/test/t12 |
| 38 | +scrub-2.6.0/test/t16 |
| 39 | +scrub-2.6.0/test/t07 |
| 40 | +scrub-2.6.0/test/t16.exp |
| 41 | +scrub-2.6.0/test/tgetsize.c |
| 42 | +scrub-2.6.0/test/tsize.c |
| 43 | +scrub-2.6.0/test/t15 |
| 44 | +scrub-2.6.0/test/t19.exp |
| 45 | +scrub-2.6.0/test/tprogress.c |
| 46 | +scrub-2.6.0/test/t17 |
| 47 | +scrub-2.6.0/test/t20 |
| 48 | +scrub-2.6.0/test/Makefile.in |
| 49 | +scrub-2.6.0/test/t21 |
| 50 | +scrub-2.6.0/test/trand.c |
| 51 | +scrub-2.6.0/test/t00 |
| 52 | +scrub-2.6.0/test/t18 |
| 53 | +scrub-2.6.0/test/t01 |
| 54 | +scrub-2.6.0/test/t12.exp |
| 55 | +scrub-2.6.0/test/t19 |
| 56 | +scrub-2.6.0/test/t08.exp |
| 57 | +scrub-2.6.0/test/t13 |
| 58 | +scrub-2.6.0/test/t22 |
| 59 | +scrub-2.6.0/test/t14 |
| 60 | +scrub-2.6.0/test/pad.c |
| 61 | +scrub-2.6.0/test/t11 |
| 62 | +scrub-2.6.0/test/t09.exp |
| 63 | +scrub-2.6.0/test/t05 |
| 64 | +scrub-2.6.0/test/aestest.c |
| 65 | +scrub-2.6.0/test/t10 |
| 66 | +scrub-2.6.0/test/t06 |
| 67 | +scrub-2.6.0/scrub.spec |
| 68 | +scrub-2.6.0/AUTHORS |
| 69 | +scrub-2.6.0/aclocal.m4 |
| 70 | +scrub-2.6.0/ChangeLog |
| 71 | +scrub-2.6.0/README |
| 72 | +scrub-2.6.0/configure.ac |
| 73 | +scrub-2.6.0/Makefile.am |
| 74 | +scrub-2.6.0/configure |
| 75 | +scrub-2.6.0/src/ |
| 76 | +scrub-2.6.0/src/hwrand.h |
| 77 | +scrub-2.6.0/src/hwrand.c |
| 78 | +scrub-2.6.0/src/sig.c |
| 79 | +scrub-2.6.0/src/pattern.h |
| 80 | +scrub-2.6.0/src/genrand.h |
| 81 | +scrub-2.6.0/src/util.h |
| 82 | +scrub-2.6.0/src/fillfile.c |
| 83 | +scrub-2.6.0/src/getsize.c |
| 84 | +scrub-2.6.0/src/Makefile.am |
| 85 | +scrub-2.6.0/src/scrub.c |
| 86 | +scrub-2.6.0/src/aes.h |
| 87 | +scrub-2.6.0/src/sig.h |
| 88 | +scrub-2.6.0/src/getsize.h |
| 89 | +scrub-2.6.0/src/util.c |
| 90 | +scrub-2.6.0/src/fillfile.h |
| 91 | +scrub-2.6.0/src/filldentry.h |
| 92 | +scrub-2.6.0/src/Makefile.in |
| 93 | +scrub-2.6.0/src/pattern.c |
| 94 | +scrub-2.6.0/src/progress.c |
| 95 | +scrub-2.6.0/src/filldentry.c |
| 96 | +scrub-2.6.0/src/progress.h |
| 97 | +scrub-2.6.0/src/aes.c |
| 98 | +scrub-2.6.0/src/genrand.c |
| 99 | +scrub-2.6.0/man/ |
| 100 | +scrub-2.6.0/man/Makefile.am |
| 101 | +scrub-2.6.0/man/scrub.1 |
| 102 | +scrub-2.6.0/man/scrub.1.in |
| 103 | +scrub-2.6.0/man/Makefile.in |
| 104 | +scrub-2.6.0/scrub.spec.in |
| 105 | +scrub-2.6.0/INSTALL |
| 106 | +scrub-2.6.0/Makefile.in |
| 107 | +scrub-2.6.0/META |
| 108 | +scrub-2.6.0/COPYING |
| 109 | +scrub-2.6.0/DISCLAIMER |
| 110 | +scrub-2.6.0/libscrub/ |
| 111 | +scrub-2.6.0/libscrub/libscrub.map |
| 112 | +scrub-2.6.0/libscrub/scrub.h |
| 113 | +scrub-2.6.0/libscrub/README |
| 114 | +scrub-2.6.0/libscrub/Makefile.am |
| 115 | +scrub-2.6.0/libscrub/Makefile.in |
| 116 | +scrub-2.6.0/libscrub/libscrub.c |
| 117 | +scrub-2.6.0/libscrub/libscrub.pc.in |
| 118 | +scrub-2.6.0/libscrub/tscrub.c |
| 119 | +scrub-2.6.0/config/ |
| 120 | +scrub-2.6.0/config/ac_pkgconfig.m4 |
| 121 | +scrub-2.6.0/config/ltmain.sh |
| 122 | +scrub-2.6.0/config/config.h.in |
| 123 | +scrub-2.6.0/config/depcomp |
| 124 | +scrub-2.6.0/config/config.sub |
| 125 | +scrub-2.6.0/config/x_ac_expand_install_dirs.m4 |
| 126 | +scrub-2.6.0/config/x_ac_check_pthreads.m4 |
| 127 | +scrub-2.6.0/config/x_ac_meta.m4 |
| 128 | +scrub-2.6.0/config/config.guess |
| 129 | +scrub-2.6.0/config/install-sh |
| 130 | +scrub-2.6.0/config/missing |
| 131 | +$ |
| 132 | +$ cd scrub-2.6.0 |
| 133 | +$ ./configure |
| 134 | +checking build system type... x86_64-unknown-linux-gnu |
| 135 | +checking host system type... x86_64-unknown-linux-gnu |
| 136 | +checking target system type... x86_64-unknown-linux-gnu |
| 137 | +checking metadata... yes |
| 138 | +checking installation directory variables... yes |
| 139 | +checking for a BSD-compatible install... /usr/bin/install -c |
| 140 | +checking whether build environment is sane... yes |
| 141 | +checking for a thread-safe mkdir -p... /bin/mkdir -p |
| 142 | +checking for gawk... gawk |
| 143 | +checking whether make sets $(MAKE)... yes |
| 144 | +checking whether to enable maintainer-specific portions of Makefiles... no |
| 145 | +checking for gcc... gcc |
| 146 | +checking for C compiler default output file name... a.out |
| 147 | +checking whether the C compiler works... yes |
| 148 | +checking whether we are cross compiling... no |
| 149 | +checking for suffix of executables... |
| 150 | +checking for suffix of object files... o |
| 151 | +checking whether we are using the GNU C compiler... yes |
| 152 | +checking whether gcc accepts -g... yes |
| 153 | +checking for gcc option to accept ISO C89... none needed |
| 154 | +checking for style of include used by make... GNU |
| 155 | +checking dependency style of gcc... gcc3 |
| 156 | +checking how to run the C preprocessor... gcc -E |
| 157 | +checking for grep that handles long lines and -e... /bin/grep |
| 158 | +checking for egrep... /bin/grep -E |
| 159 | +checking for ANSI C header files... yes |
| 160 | +checking for sys/types.h... yes |
| 161 | +checking for sys/stat.h... yes |
| 162 | +checking for stdlib.h... yes |
| 163 | +checking for string.h... yes |
| 164 | +checking for memory.h... yes |
| 165 | +checking for strings.h... yes |
| 166 | +checking for inttypes.h... yes |
| 167 | +checking for stdint.h... yes |
| 168 | +checking for unistd.h... yes |
| 169 | +checking minix/config.h usability... no |
| 170 | +checking minix/config.h presence... no |
| 171 | +checking for minix/config.h... no |
| 172 | +checking whether it is safe to define __EXTENSIONS__... yes |
| 173 | +checking for ANSI C header files... (cached) yes |
| 174 | +checking getopt.h usability... yes |
| 175 | +checking getopt.h presence... yes |
| 176 | +checking for getopt.h... yes |
| 177 | +checking stdbool.h usability... yes |
| 178 | +checking stdbool.h presence... yes |
| 179 | +checking for stdbool.h... yes |
| 180 | +checking pthread.h usability... yes |
| 181 | +checking pthread.h presence... yes |
| 182 | +checking for pthread.h... yes |
| 183 | +checking for a sed that does not truncate output... /bin/sed |
| 184 | +checking for fgrep... /bin/grep -F |
| 185 | +checking for ld used by gcc... /usr/bin/ld |
| 186 | +checking if the linker (/usr/bin/ld) is GNU ld... yes |
| 187 | +checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B |
| 188 | +checking the name lister (/usr/bin/nm -B) interface... BSD nm |
| 189 | +checking whether ln -s works... yes |
| 190 | +checking the maximum length of command line arguments... 1966080 |
| 191 | +checking whether the shell understands some XSI constructs... yes |
| 192 | +checking whether the shell understands "+="... yes |
| 193 | +checking for /usr/bin/ld option to reload object files... -r |
| 194 | +checking for objdump... objdump |
| 195 | +checking how to recognize dependent libraries... pass_all |
| 196 | +checking for ar... ar |
| 197 | +checking for strip... strip |
| 198 | +checking for ranlib... ranlib |
| 199 | +checking command to parse /usr/bin/nm -B output from gcc object... ok |
| 200 | +checking for dlfcn.h... yes |
| 201 | +checking for objdir... .libs |
| 202 | +checking if gcc supports -fno-rtti -fno-exceptions... no |
| 203 | +checking for gcc option to produce PIC... -fPIC -DPIC |
| 204 | +checking if gcc PIC flag -fPIC -DPIC works... yes |
| 205 | +checking if gcc static flag -static works... yes |
| 206 | +checking if gcc supports -c -o file.o... yes |
| 207 | +checking if gcc supports -c -o file.o... (cached) yes |
| 208 | +checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes |
| 209 | +checking whether -lc should be explicitly linked in... no |
| 210 | +checking dynamic linker characteristics... GNU/Linux ld.so |
| 211 | +checking how to hardcode library paths into programs... immediate |
| 212 | +checking whether stripping libraries is possible... yes |
| 213 | +checking if libtool supports shared libraries... yes |
| 214 | +checking whether to build shared libraries... yes |
| 215 | +checking whether to build static libraries... yes |
| 216 | +checking whether to install pkg-config *.pc files... ${libdir}/pkgconfig |
| 217 | +checking whether byte ordering is bigendian... no |
| 218 | +checking for an ANSI C-conforming const... yes |
| 219 | +checking for getopt_long... yes |
| 220 | +checking for posix_memalign... yes |
| 221 | +checking for memalign... yes |
| 222 | +checking for posix_fadvise... yes |
| 223 | +checking for rand_r... yes |
| 224 | +checking for random_r... yes |
| 225 | +checking how to link against pthreads... -lpthread |
| 226 | +checking for special C compiler options needed for large files... no |
| 227 | +checking for _FILE_OFFSET_BITS value needed for large files... no |
| 228 | +configure: creating ./config.status |
| 229 | +config.status: creating Makefile |
| 230 | +config.status: creating scrub.spec |
| 231 | +config.status: creating src/Makefile |
| 232 | +config.status: creating man/Makefile |
| 233 | +config.status: creating man/scrub.1 |
| 234 | +config.status: creating test/Makefile |
| 235 | +config.status: creating libscrub/Makefile |
| 236 | +config.status: creating libscrub/libscrub.pc |
| 237 | +config.status: creating config/config.h |
| 238 | +config.status: executing depfiles commands |
| 239 | +config.status: executing libtool commands |
| 240 | +$ |
| 241 | +$ make |
| 242 | +gcc -DHAVE_CONFIG_H -I. -I../config -g -O2 -MT aes.o -MD -MP -MF .deps/aes.Tpo -c -o aes.o aes.c |
| 243 | +mv -f .deps/aes.Tpo .deps/aes.Po |
| 244 | +gcc -DHAVE_CONFIG_H -I. -I../config -g -O2 -MT filldentry.o -MD -MP -MF .deps/filldentry.Tpo -c -o filldentry.o filldentry.c |
| 245 | +mv -f .deps/filldentry.Tpo .deps/filldentry.Po |
| 246 | +gcc -DHAVE_CONFIG_H -I. -I../config -g -O2 -MT fillfile.o -MD -MP -MF .deps/fillfile.Tpo -c -o fillfile.o fillfile.c |
| 247 | +mv -f .deps/fillfile.Tpo .deps/fillfile.Po |
| 248 | +gcc -DHAVE_CONFIG_H -I. -I../config -g -O2 -MT genrand.o -MD -MP -MF .deps/genrand.Tpo -c -o genrand.o genrand.c |
| 249 | +mv -f .deps/genrand.Tpo .deps/genrand.Po |
| 250 | +gcc -DHAVE_CONFIG_H -I. -I../config -g -O2 -MT getsize.o -MD -MP -MF .deps/getsize.Tpo -c -o getsize.o getsize.c |
| 251 | +mv -f .deps/getsize.Tpo .deps/getsize.Po |
| 252 | +gcc -DHAVE_CONFIG_H -I. -I../config -g -O2 -MT hwrand.o -MD -MP -MF .deps/hwrand.Tpo -c -o hwrand.o hwrand.c |
| 253 | +mv -f .deps/hwrand.Tpo .deps/hwrand.Po |
| 254 | +gcc -DHAVE_CONFIG_H -I. -I../config -g -O2 -MT pattern.o -MD -MP -MF .deps/pattern.Tpo -c -o pattern.o pattern.c |
| 255 | +mv -f .deps/pattern.Tpo .deps/pattern.Po |
| 256 | +gcc -DHAVE_CONFIG_H -I. -I../config -g -O2 -MT progress.o -MD -MP -MF .deps/progress.Tpo -c -o progress.o progress.c |
| 257 | +mv -f .deps/progress.Tpo .deps/progress.Po |
| 258 | +gcc -DHAVE_CONFIG_H -I. -I../config -g -O2 -MT scrub.o -MD -MP -MF .deps/scrub.Tpo -c -o scrub.o scrub.c |
| 259 | +mv -f .deps/scrub.Tpo .deps/scrub.Po |
| 260 | +gcc -DHAVE_CONFIG_H -I. -I../config -g -O2 -MT sig.o -MD -MP -MF .deps/sig.Tpo -c -o sig.o sig.c |
| 261 | +mv -f .deps/sig.Tpo .deps/sig.Po |
| 262 | +gcc -DHAVE_CONFIG_H -I. -I../config -g -O2 -MT util.o -MD -MP -MF .deps/util.Tpo -c -o util.o util.c |
| 263 | +mv -f .deps/util.Tpo .deps/util.Po |
| 264 | +/bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -o scrub aes.o filldentry.o fillfile.o genrand.o getsize.o hwrand.o pattern.o progress.o scrub.o sig.o util.o -lpthread |
| 265 | +libtool: link: gcc -g -O2 -o scrub aes.o filldentry.o fillfile.o genrand.o getsize.o hwrand.o pattern.o progress.o scrub.o sig.o util.o -lpthread |
| 266 | +make[1]: Leaving directory `/home/garlick/proj/scrub/scrub/scrub-2.6.0/src' |
| 267 | +Making all in man |
| 268 | +make[1]: Entering directory `/home/garlick/proj/scrub/scrub/scrub-2.6.0/man' |
| 269 | +make[1]: Nothing to be done for `all'. |
| 270 | +make[1]: Leaving directory `/home/garlick/proj/scrub/scrub/scrub-2.6.0/man' |
| 271 | +Making all in test |
| 272 | +make[1]: Entering directory `/home/garlick/proj/scrub/scrub/scrub-2.6.0/test' |
| 273 | +make[1]: Nothing to be done for `all'. |
| 274 | +make[1]: Leaving directory `/home/garlick/proj/scrub/scrub/scrub-2.6.0/test' |
| 275 | +make[1]: Entering directory `/home/garlick/proj/scrub/scrub/scrub-2.6.0' |
| 276 | +make[1]: Nothing to be done for `all-am'. |
| 277 | +make[1]: Leaving directory `/home/garlick/proj/scrub/scrub/scrub-2.6.0' |
| 278 | +$ |
| 279 | + |
| 280 | +To scrub the second partition on Linux disk /dev/sda using default NNSA |
| 281 | +algorithm, do the following. Note that for normal SATA disks this will |
| 282 | +take some time. |
| 283 | + |
| 284 | +$ src/scrub /dev/sda2 |
| 285 | +scrub: using NNSA NAP-14.1-C patterns |
| 286 | +scrub: please verify that device size below is correct! |
| 287 | +scrub: scrubbing /dev/sda2 6234762240 bytes (~5GB) |
| 288 | +scrub: random |................................................| |
| 289 | +scrub: random |................................................| |
| 290 | +scrub: 0x00 |................................................| |
| 291 | +scrub: verify |................................................| |
| 292 | +$ |
0 commit comments