find network hosts:
for ip in $(seq 1 254); do ping -c 1 192.168.1.$ip>/dev/null; [ $? -eq 0 ] && echo "192.168.1.$ip UP" || : ; done

SCP:
Copy the file "foobar.txt" from a remote host to the local host

    $ scp your_username@remotehost.edu:foobar.txt /some/local/directory 

Copy the file "foobar.txt" from the local host to a remote host

    $ scp foobar.txt your_username@remotehost.edu:/some/remote/directory 

Copy the directory "foo" from the local host to a remote host's directory "bar"

    $ scp -r foo your_username@remotehost.edu:/some/remote/directory/bar 

Copy the file "foobar.txt" from remote host "rh1.edu" to remote host "rh2.edu"

    $ scp your_username@rh1.edu:/some/remote/directory/foobar.txt \
    your_username@rh2.edu:/some/remote/directory/ 

Copying the files "foo.txt" and "bar.txt" from the local host to your home directory on the remote host

    $ scp foo.txt bar.txt your_username@remotehost.edu:~ 

Copy the file "foobar.txt" from the local host to a remote host using port 2264

    $ scp -P 2264 foobar.txt your_username@remotehost.edu:/some/remote/directory 

Copy multiple files from the remote host to your current directory on the local host

    $ scp your_username@remotehost.edu:/some/remote/directory/\{a,b,c\} . 

    $ scp your_username@remotehost.edu:~/\{foo.txt,bar.txt\} . 


Update rpm to 4.14.2.1:
	*	update setup.sh, download 4.14.2.1 tarball
	*	update tools.sh, build 4.14.2.1
	*	update base.sh:	not needed
	*	update rpm.spec, see below
	*	drop python dependency
	
#TARBALL:	ftp.rpm.org/releases/rpm-4.14.x/rpm-4.14.2.1.tar.bz2
#TARBALL:	http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz
#MD5SUM:	fdb8b8857f103b087b6aed5b78dd9b4f;rpm-4.14.2.1.tar.bz2
#MD5SUM:	f73afcb308aefde7e6ece4caa87b22a9;SOURCES/db-6.0.20.tar.gz
Read base.spec to get list of packages to install

BASE.SPEC GENERATOR:
	TODO for base.sh
	Make a base.spec generator
		list= $( ls rpm dir )
		for i in $list; do
			case $i in
				filespec*)	;;
				*)		LIST+="Requires:	${i} " ;;
			esac
		done
		write header
		write requires
		write end
	then build base package

RPM PACKAGE INSTALLER:
	fetch package name start with base ( sort unique )
	determine binary package name insert into name = ${REPOPATH}/package name-* to process
	do until - process names, de dupe names
		requirements =  $( rpm -qp --requires	${RPMS}/${RPM_ARCH}/${RPM_BINARY}):  > ${REQUIRES}/${RPM_NAME}	2>&1 || true
		work string = $( rpm <name> requirements )
		determine requires [ rpm -qp --requires <filespec> ]	if / then filespec add to rpm list
		determine requires [ rpm -qp --requires <libary ] ]	if ( then library  add to rpm list
		determine requires [ rpm -qp --requires <package> ]	else package add to rpm list
		binary name = strip current name from list of package names
	no more
	LIST+="${REPOPATH}/${i##Requires:}* "
	rpm -qp --requires	${RPMS}/${RPM_ARCH}/${RPM_BINARY} > ${REQUIRES}/${RPM_NAME}	2>&1 || true
	# rpm -q --whatprovides [file name]
	for i in ${LIST}; do
		find requires
		msg_line "installing: ${i} :"
		rpm --upgrade --verbose --hash --noscripts --root ${ROOTPATH} --dbpath ${DBPATH} "${REPOPATH}/${i}-*"
		msg_success
	done

	
	
	
		./configure \
		--prefix=/usr \
		--program-prefix= \
		--sysconfdir=/etc \
		--with-crypto=openssl \
		--with-cap \
		--with-acl \
		--without-external-db \
		--without-archive \
		--without-lua \
		--disable-dependency-tracking \
		--disable-silent-rules \
		--disable-rpath \
		--disable-plugins \
		--disable-inhibit-plugin