Skip to content

Commit c7c7ebb

Browse files
committed
Re-add README
1 parent eaa057d commit c7c7ebb

1 file changed

Lines changed: 292 additions & 0 deletions

File tree

README

Lines changed: 292 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,292 @@
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

Comments
 (0)