Files
lfs-notes/ch6_check
2014-03-10 08:18:10 -05:00

625 lines
10 KiB
Bash
Executable File

#!/bin/bash
FILES=/tmp/files
check() {
echo 'Checking for the existence of all of the files (this may take awhile)'
while read fname ; do
if [ ! -e $fname -a ! -h $fname ] ; then
echo -e "\033[1;31mMissing:\033[0;49m $fname"
error="true"
fi
done < $FILES
if [ -z $error ] ; then
echo -e "\033[1;32mPassed All Tests\033[0;49m"
fi
rm $FILES
}
if [ "$UID" != "0" ] ; then
echo 'Run this script in a new terminal as the root user!'
fi
#Used "find /bin /etc /usr/bin > /tmp/files" to generate these file names
#Use ":r /tmp/files" to insert the file's contents
#At the end of the file put EOF followed by check
cat > $FILES <<EOF
/bin
/bin/date
/bin/cat
/bin/mknod
/bin/dd
/bin/ls
/bin/df
/bin/true
/bin/fgrep
/bin/bashbug
/bin/stty
/bin/gunzip
/bin/grep
/bin/find
/bin/kmod
/bin/mountpoint
/bin/bunzip2
/bin/mount
/bin/sed
/bin/kill
/bin/gzip
/bin/rm
/bin/ln
/bin/dmesg
/bin/sync
/bin/fuser
/bin/killall
/bin/pidof
/bin/egrep
/bin/ping6
/bin/head
/bin/pwd
/bin/sh
/bin/mv
/bin/su
/bin/bash
/bin/lsblk
/bin/passwd
/bin/tar
/bin/zcat
/bin/chmod
/bin/sleep
/bin/false
/bin/nice
/bin/rmdir
/bin/test
/bin/chown
/bin/bzcat
/bin/[
/bin/chgrp
/bin/lsmod
/bin/traceroute
/bin/umount
/bin/hostname
/bin/wdctl
/bin/uname
/bin/more
/bin/echo
/bin/bzip2
/bin/mkdir
/bin/ping
/bin/findmnt
/bin/login
/bin/ps
/bin/cp
/etc
/etc/opt
/etc/grub.d
/etc/grub.d/40_custom
/etc/grub.d/README
/etc/grub.d/00_header
/etc/grub.d/20_linux_xen
/etc/grub.d/41_custom
/etc/grub.d/10_linux
/etc/grub.d/30_os-prober
/etc/mke2fs.conf
/etc/nsswitch.conf
/etc/mtab
/etc/rpc
/etc/ld.so.conf
/etc/syslog.conf
/etc/localtime
/etc/vimrc
/etc/.pwd.lock
/etc/hosts
/etc/protocols
/etc/default
/etc/default/useradd
/etc/man_db.conf
/etc/group-
/etc/iproute2
/etc/iproute2/rt_tables
/etc/iproute2/rt_realms
/etc/iproute2/rt_scopes
/etc/iproute2/group
/etc/iproute2/ematch_map
/etc/iproute2/rt_dsfield
/etc/iproute2/rt_protos
/etc/shadow-
/etc/group
/etc/ld.so.conf.d
/etc/passwd
/etc/limits
/etc/ld.so.cache
/etc/passwd-
/etc/bash_completion.d
/etc/bash_completion.d/grub
/etc/login.defs
/etc/services
/etc/sysconfig
/etc/login.access
/etc/udev
/etc/udev/hwdb.bin
/etc/udev/rules.d
/etc/udev/rules.d/55-lfs.rules
/etc/udev/rules.d/81-cdrom.rules
/etc/udev/rules.d/70-persistent-net.rules
/etc/udev/rules.d/83-cdrom-symlinks.rules
/etc/shadow
/etc/gshadow
/usr/bin
/usr/bin/uniq
/usr/bin/strings
/usr/bin/sha224sum
/usr/bin/mapscrn
/usr/bin/pod2latex
/usr/bin/gawk-4.1.0
/usr/bin/linux32
/usr/bin/infocmp
/usr/bin/locate
/usr/bin/tfmtodit
/usr/bin/zsoelim
/usr/bin/envsubst
/usr/bin/mmroff
/usr/bin/config_data
/usr/bin/chrt
/usr/bin/pic2graph
/usr/bin/top
/usr/bin/i686-pc-linux-gnu-c++
/usr/bin/expiry
/usr/bin/roff2dvi
/usr/bin/msgfilter
/usr/bin/uptime
/usr/bin/pkill
/usr/bin/msgmerge
/usr/bin/unshare
/usr/bin/testgdbm
/usr/bin/grub-menulst2cfg
/usr/bin/zforce
/usr/bin/zfgrep
/usr/bin/bc
/usr/bin/comm
/usr/bin/autom4te
/usr/bin/lzfgrep
/usr/bin/gcov
/usr/bin/sum
/usr/bin/i386
/usr/bin/dir
/usr/bin/fgconsole
/usr/bin/rcp
/usr/bin/lscpu
/usr/bin/scriptreplay
/usr/bin/hpftodit
/usr/bin/ptx
/usr/bin/gettext.sh
/usr/bin/xzgrep
/usr/bin/ul
/usr/bin/pstree.x11
/usr/bin/fold
/usr/bin/gcc
/usr/bin/h2ph
/usr/bin/xz
/usr/bin/ptar
/usr/bin/dircolors
/usr/bin/vdir
/usr/bin/vi
/usr/bin/lsattr
/usr/bin/i686-pc-linux-gnu-gcc-ar
/usr/bin/msginit
/usr/bin/groups
/usr/bin/column
/usr/bin/deallocvt
/usr/bin/sha256sum
/usr/bin/instmodsh
/usr/bin/setmetamode
/usr/bin/zipdetails
/usr/bin/flex++
/usr/bin/pgrep
/usr/bin/pr
/usr/bin/psfaddtable
/usr/bin/grn
/usr/bin/gcc-ar
/usr/bin/autoupdate
/usr/bin/openvt
/usr/bin/pfbtops
/usr/bin/dirname
/usr/bin/objdump
/usr/bin/psfxtable
/usr/bin/seq
/usr/bin/who
/usr/bin/lex
/usr/bin/script
/usr/bin/grub-mklayout
/usr/bin/igawk
/usr/bin/texi2dvi
/usr/bin/objcopy
/usr/bin/mandb
/usr/bin/c++filt
/usr/bin/ifnames
/usr/bin/autoreconf
/usr/bin/pcprofiledump
/usr/bin/chem
/usr/bin/setfont
/usr/bin/sha512sum
/usr/bin/yes
/usr/bin/hexdump
/usr/bin/bzip2recover
/usr/bin/grotty
/usr/bin/chcon
/usr/bin/uncompress
/usr/bin/kbd_mode
/usr/bin/ptardiff
/usr/bin/cpan
/usr/bin/ionice
/usr/bin/captoinfo
/usr/bin/post-grohtml
/usr/bin/grub-kbdcomp
/usr/bin/autoheader
/usr/bin/lookbib
/usr/bin/autopoint
/usr/bin/addr2line
/usr/bin/grap2graph
/usr/bin/perlbug
/usr/bin/shuf
/usr/bin/perl
/usr/bin/rview
/usr/bin/renice
/usr/bin/as
/usr/bin/elfedit
/usr/bin/locale
/usr/bin/ld.bfd
/usr/bin/lzdiff
/usr/bin/info
/usr/bin/xzdec
/usr/bin/preconv
/usr/bin/split
/usr/bin/tabs
/usr/bin/msgcomm
/usr/bin/colrm
/usr/bin/readlink
/usr/bin/pwdx
/usr/bin/c++
/usr/bin/psfstriptable
/usr/bin/addftinfo
/usr/bin/roff2ps
/usr/bin/setsid
/usr/bin/rev
/usr/bin/ranlib
/usr/bin/ftp
/usr/bin/fmt
/usr/bin/catchsegv
/usr/bin/nsenter
/usr/bin/roff2pdf
/usr/bin/readelf
/usr/bin/perl5.18.1
/usr/bin/shasum
/usr/bin/newgrp
/usr/bin/nm
/usr/bin/infokey
/usr/bin/geqn
/usr/bin/tftp
/usr/bin/zmore
/usr/bin/tput
/usr/bin/compile_et
/usr/bin/libnetcfg
/usr/bin/gawk
/usr/bin/chfn
/usr/bin/peekfd
/usr/bin/expand
/usr/bin/col
/usr/bin/recode-sr-latin
/usr/bin/mesg
/usr/bin/nproc
/usr/bin/perlthanks
/usr/bin/xxd
/usr/bin/lddlibc4
/usr/bin/rexec
/usr/bin/msgcmp
/usr/bin/infotocap
/usr/bin/truncate
/usr/bin/xzcmp
/usr/bin/cut
/usr/bin/grog
/usr/bin/groffer
/usr/bin/gdiffmk
/usr/bin/pre-grohtml
/usr/bin/roff2x
/usr/bin/getconf
/usr/bin/env
/usr/bin/lkbib
/usr/bin/slabtop
/usr/bin/xzegrep
/usr/bin/setterm
/usr/bin/ncursesw5-config
/usr/bin/mkfifo
/usr/bin/getkeycodes
/usr/bin/pg
/usr/bin/corelist
/usr/bin/whereis
/usr/bin/look
/usr/bin/id
/usr/bin/strip
/usr/bin/find2perl
/usr/bin/soelim
/usr/bin/factor
/usr/bin/sort
/usr/bin/basename
/usr/bin/xsubpp
/usr/bin/runcon
/usr/bin/kbdinfo
/usr/bin/linux64
/usr/bin/vmstat
/usr/bin/piconv
/usr/bin/lastlog
/usr/bin/ex
/usr/bin/tailf
/usr/bin/automake-1.14
/usr/bin/man
/usr/bin/lzless
/usr/bin/i686-pc-linux-gnu-g++
/usr/bin/csplit
/usr/bin/enc2xs
/usr/bin/link
/usr/bin/pic
/usr/bin/install-info
/usr/bin/bzmore
/usr/bin/tbl
/usr/bin/yacc
/usr/bin/bzfgrep
/usr/bin/cmp
/usr/bin/stdbuf
/usr/bin/setleds
/usr/bin/pldd
/usr/bin/mcookie
/usr/bin/perlivp
/usr/bin/iconv
/usr/bin/bzdiff
/usr/bin/xargs
/usr/bin/stat
/usr/bin/printenv
/usr/bin/makedb
/usr/bin/dc
/usr/bin/tload
/usr/bin/users
/usr/bin/localedef
/usr/bin/msgen
/usr/bin/kbdrate
/usr/bin/msguniq
/usr/bin/printf
/usr/bin/unicode_stop
/usr/bin/nl
/usr/bin/xzdiff
/usr/bin/a2p
/usr/bin/reset
/usr/bin/splain
/usr/bin/bison
/usr/bin/catman
/usr/bin/setvtrgb
/usr/bin/zdiff
/usr/bin/xzfgrep
/usr/bin/bzgrep
/usr/bin/msgunfmt
/usr/bin/pdftexi2dvi
/usr/bin/ipcmk
/usr/bin/c2ph
/usr/bin/numfmt
/usr/bin/pod2usage
/usr/bin/gcc-ranlib
/usr/bin/zegrep
/usr/bin/updatedb
/usr/bin/texi2any
/usr/bin/tsort
/usr/bin/gettextize
/usr/bin/eqn
/usr/bin/gettext
/usr/bin/ptargrep
/usr/bin/troff
/usr/bin/watch
/usr/bin/utmpdump
/usr/bin/taskset
/usr/bin/last
/usr/bin/pstree
/usr/bin/toe
/usr/bin/zgrep
/usr/bin/od
/usr/bin/m4
/usr/bin/sdiff
/usr/bin/eject
/usr/bin/psed
/usr/bin/showconsolefont
/usr/bin/s2p
/usr/bin/lzmadec
/usr/bin/whoami
/usr/bin/grub-mkstandalone
/usr/bin/diff
/usr/bin/less
/usr/bin/tty
/usr/bin/wc
/usr/bin/isosize
/usr/bin/rename
/usr/bin/timeout
/usr/bin/unlzma
/usr/bin/lzcmp
/usr/bin/tzselect
/usr/bin/roff2html
/usr/bin/i686-pc-linux-gnu-gcc-4.8.1
/usr/bin/i686-pc-linux-gnu-gcc-ranlib
/usr/bin/prtstat
/usr/bin/chsh
/usr/bin/colcrt
/usr/bin/free
/usr/bin/xtrace
/usr/bin/ipcrm
/usr/bin/vim
/usr/bin/nohup
/usr/bin/grub-mkrescue
/usr/bin/pathchk
/usr/bin/whatis
/usr/bin/telnet
/usr/bin/pod2texi
/usr/bin/apropos
/usr/bin/znew
/usr/bin/msgattrib
/usr/bin/lzmainfo
/usr/bin/pod2text
/usr/bin/grops
/usr/bin/clear
/usr/bin/podchecker
/usr/bin/size
/usr/bin/base64
/usr/bin/bzegrep
/usr/bin/cc
/usr/bin/automake
/usr/bin/loadunimap
/usr/bin/faillog
/usr/bin/prlimit
/usr/bin/shred
/usr/bin/uuidgen
/usr/bin/pstruct
/usr/bin/lzmore
/usr/bin/wall
/usr/bin/ar
/usr/bin/w
/usr/bin/make
/usr/bin/gencat
/usr/bin/xzmore
/usr/bin/logname
/usr/bin/view
/usr/bin/dumpkeys
/usr/bin/md5sum
/usr/bin/loadkeys
/usr/bin/json_pp
/usr/bin/pdfmom
/usr/bin/ipcs
/usr/bin/lzegrep
/usr/bin/mtrace
/usr/bin/sg
/usr/bin/makeinfo
/usr/bin/expr
/usr/bin/autoscan
/usr/bin/h2xs
/usr/bin/hostid
/usr/bin/texi2pdf
/usr/bin/mktemp
/usr/bin/unlink
/usr/bin/lesskey
/usr/bin/tr
/usr/bin/grub-fstest
/usr/bin/msggrep
/usr/bin/neqn
/usr/bin/setkeycodes
/usr/bin/libtool
/usr/bin/msgcat
/usr/bin/lzma
/usr/bin/getent
/usr/bin/gprof
/usr/bin/cpp
/usr/bin/patch
/usr/bin/chattr
/usr/bin/aclocal
/usr/bin/cpanp
/usr/bin/sotruss
/usr/bin/du
/usr/bin/cksum
/usr/bin/grub-mkimage
/usr/bin/unexpand
/usr/bin/logger
/usr/bin/xzcat
/usr/bin/roff2text
/usr/bin/join
/usr/bin/nroff
/usr/bin/vimtutor
/usr/bin/g++
/usr/bin/chvt
/usr/bin/tic
/usr/bin/pkg-config
/usr/bin/xzless
/usr/bin/rsh
/usr/bin/grub-mkpasswd-pbkdf2
/usr/bin/fallocate
/usr/bin/cpan2dist
/usr/bin/lslocks
/usr/bin/tee
/usr/bin/tail
/usr/bin/chage
/usr/bin/namei
/usr/bin/getopt
/usr/bin/flock
/usr/bin/ldd
/usr/bin/cpanp-run-perl
/usr/bin/unicode_start
/usr/bin/bzless
/usr/bin/sprof
/usr/bin/manpath
/usr/bin/paste
/usr/bin/mk_cmds
/usr/bin/groff
/usr/bin/tac
/usr/bin/i686-pc-linux-gnu-gcc
/usr/bin/indxbib
/usr/bin/unxz
/usr/bin/showkey
/usr/bin/gropdf
/usr/bin/pod2html
/usr/bin/prove
/usr/bin/pod2man
/usr/bin/texindex
/usr/bin/awk
/usr/bin/vimdiff
/usr/bin/pmap
/usr/bin/psfgettable
/usr/bin/gcc-nm
/usr/bin/aclocal-1.14
/usr/bin/lzgrep
/usr/bin/podselect
/usr/bin/diff3
/usr/bin/pinky
/usr/bin/install
/usr/bin/ld
/usr/bin/rlogin
/usr/bin/sha384sum
/usr/bin/xgettext
/usr/bin/cytune
/usr/bin/oldfind
/usr/bin/zcmp
/usr/bin/file
/usr/bin/refer
/usr/bin/grub-script-check
/usr/bin/cal
/usr/bin/grodvi
/usr/bin/setarch
/usr/bin/gpasswd
/usr/bin/lastb
/usr/bin/talk
/usr/bin/grolj4
/usr/bin/pl2pm
/usr/bin/lexgrog
/usr/bin/grub-mkrelpath
/usr/bin/msgexec
/usr/bin/sha1sum
/usr/bin/gzexe
/usr/bin/perldoc
/usr/bin/msgconv
/usr/bin/autoconf
/usr/bin/grolbp
/usr/bin/realpath
/usr/bin/tset
/usr/bin/eqn2graph
/usr/bin/ngettext
/usr/bin/gtbl
/usr/bin/lessecho
/usr/bin/rpcgen
/usr/bin/afmtodit
/usr/bin/grub-editenv
/usr/bin/libtoolize
/usr/bin/i686-pc-linux-gnu-gcc-nm
/usr/bin/flex
/usr/bin/touch
/usr/bin/lzcat
/usr/bin/msgfmt
/usr/bin/zless
/usr/bin/pdfroff
/usr/bin/rvim
/usr/bin/bzcmp
EOF
check