===== Important Grep Notice ===== ==== Grep Overview ==== [[https://en.wikipedia.org/wiki/Grep|Grep]] is used extensively by dCore to crawl through extensions, dependency lists and large database files to import and update SCEs. [[http://www.gnu.org/software/grep/manual/grep.html|GNU Grep]] provides faster performance than the built-in [[https://busybox.net/downloads/BusyBox.html|BusyBox]] version. The recommendation is to ensure GNU Grep is installed and utilized. ==== Grep Utilization ==== To confirm that GNU Grep is imported and utilized run ''which grep'': tc@box:/mnt/sda1/tce$ which grep /bin/grep If the output is /bb/grep the slower BusyBox version is being used. If the output is /bin/grep the faster GNU Grep is likely being used although it may symlink to /bb/grep, so further confirmation is required. Run ''sudo find / -name "grep"'', the results will confirm /bin/grep is loaded and which SCE(s) it comes from, in this case //xorg-intel.sce//: tc@box:~$ sudo find / -name "grep" /bin/grep /bb/grep /tmp/tcloop/xorg-intel/bin/grep Can also run ''ls -l /bin | grep grep'': tc@box:/mnt/sda1/tce$ ls -l /bin | grep grep lrwxrwxrwx 1 root root 6 Jun 5 16:45 bzegrep -> bzgrep lrwxrwxrwx 1 root root 6 Jun 5 16:45 bzfgrep -> bzgrep lrwxrwxrwx 1 root root 27 Jun 5 16:45 bzgrep -> /tmp/tcloop/lxde/bin/bzgrep lrwxrwxrwx 1 root root 29 Jun 5 16:45 egrep -> /tmp/tcloop/xorg-nv/bin/egrep lrwxrwxrwx 1 root root 29 Jun 5 16:45 fgrep -> /tmp/tcloop/xorg-nv/bin/fgrep lrwxrwxrwx 1 root root 28 Jun 5 16:45 grep -> /tmp/tcloop/xorg-nv/bin/grep lrwxrwxrwx 1 root root 27 Jun 5 16:45 zegrep -> /tmp/tcloop/lxde/bin/zegrep lrwxrwxrwx 1 root root 27 Jun 5 16:45 zfgrep -> /tmp/tcloop/lxde/bin/zfgrep lrwxrwxrwx 1 root root 26 Jun 5 16:45 zgrep -> /tmp/tcloop/lxde/bin/zgrep In this example //grep// is symlinked ('l' in lrwxrwxrwx) with /tmp/tcloop/xorg-nv/bin/grep (not /bb/grep): lrwxrwxrwx 1 root root 28 Jun 5 16:45 grep -> /tmp/tcloop/xorg-nv/bin/grep Last run ''echo $PATH'' to confirm the /bin pathway is prioritized before /bb: tc@box:/mnt/sda1/tce$ echo $PATH /home/tc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/bb:/etc/sysconfig/tcedir/ondemand ==== Import GNU Grep ==== Some SCEs include GNU Grep, though it is best to confirm using the steps outlined above. For example, xorg-* SCEs appear to include GNU Grep but the Xvesa SCE does not. Users running Xvesa graphics or no graphics may, therefore, not be utilizing the faster Grep. If the SCE that provides this faster Grep is always listed in sceboot.lst then there is no need for a separate import, otherwise import the 'grep' package from the Debian or Ubuntu repositories to load at boot: sce-import -b grep ==== Grep Performance ==== To confirm whether this Grep hassle is worthwhile, an 11 MB mupdf.sce (PDF reader) update check was completed as a case study. This is a moderately sized extension not imported with advanced techniques, such as a dependency import. On slow hardware /bb/grep took 1min:27sec to complete an update check versus 0min:37sec using /bin/grep. **[[http://wiki.tinycorelinux.net/dcore:welcome|> Return to the dCore Wiki Welcome page]]**