Compare commits

...

4 Commits

Author SHA1 Message Date
e74ada7369 externalisation gestion listes paquets installés 2021-07-05 14:18:07 +02:00
e8f10d4e42 mise au point fonction commandIsWorking 2021-07-02 11:54:44 +02:00
83aa4dc018 add cleanUpPkgList 2021-06-14 22:16:56 +02:00
d70db48add ajout fonctiondirMustContains 2021-06-14 22:14:16 +02:00
2 changed files with 60 additions and 8 deletions

View File

@@ -68,8 +68,8 @@ fi
#Ok if dir exists #Ok if dir exists
# arg1: dir to check # arg1: dir to check
function dirMustExists { function dirMustExists {
if [ -d ${1} ] ; then echo -ne "1;" if [ -d ${1} ] ; then e 1
else echo -ne "0;" else e 0
fi fi
} }
# Ok if given dir DOESNOT exists # Ok if given dir DOESNOT exists
@@ -80,6 +80,21 @@ if [ -d ${1} ] ; then echo -ne "0;"
fi fi
} }
# Ok if some files of given dir contains at least one occurence of pattern
# arg1: dir
# arg2: pattern
function dirMustContains {
dir=$1
shift
string=$@
if [ ! -d $dir ] ; then echo -ne "0;" ; return 0 ;fi
if ( grep -ri -qE "${string}" $dir ) ;
then echo -ne "1;"
else
echo -ne "0;"
fi
}
# Ok if file contains at least one occurence of pattern # Ok if file contains at least one occurence of pattern
# arg1: file # arg1: file
# arg2: pattern # arg2: pattern
@@ -167,8 +182,16 @@ function md5 {
echo -ne "${am};" echo -ne "${am};"
} }
# cleanUppkgList
# arg1: rootfs
function cleanUppkgList {
test -d ${1} || return 0
test -f ${1}/tmp/pkg.list && rm -f ${1}/tmp/pkg.list
}
# init pkg list # init pkg list
function _initPkgList { # arg1: rootfs
function initPkgList {
root="$1" root="$1"
test -f "${1}/tmp/pkg.list" || chroot "$1" sh -c "rpm -qa > /tmp/pkg.list" test -f "${1}/tmp/pkg.list" || chroot "$1" sh -c "rpm -qa > /tmp/pkg.list"
} }
@@ -176,15 +199,15 @@ function _initPkgList {
# Ok if given package is installed # Ok if given package is installed
# arg1: rootfs # arg1: rootfs
# arg2: pkg to check # arg2: pkg to check
# WARNING: package list might not be up to date
function pkgInstalled { function pkgInstalled {
_initPkgList $1
if (grep -qi "$2" "${1}/tmp/pkg.list" ) ; then e 1 ; else e 0 ; fi if (grep -qi "$2" "${1}/tmp/pkg.list" ) ; then e 1 ; else e 0 ; fi
} }
# Ok if given package is NOT installed # Ok if given package is NOT installed
# arg1: pkg to check # arg1: pkg to check
# WARNING: package list might not be up to date
function pkgNotInstalled { function pkgNotInstalled {
_initPkgList $1
if (grep -qi "$2" "${1}/tmp/pkg.list" ) ; then e 0 ; else e 1 ; fi if (grep -qi "$2" "${1}/tmp/pkg.list" ) ; then e 0 ; else e 1 ; fi
echo -ne "${?};" echo -ne "${?};"
} }
@@ -196,10 +219,16 @@ function processIsRunning {
} }
#Ok if given command returns 0 #Ok if given command returns 0
# arg1: command to be run # arg1: chroot dir
# arg2: command to be run
function commandIsWorking { function commandIsWorking {
command=$1 chroot=$1
if ( $command &> /dev/null ) ; then echo -ne "1;" ; else echo -ne "0;" ; fi shift
command="$@"
chroot ${chroot} bash -c "$command" &> /dev/null
ret=$?
if [ $ret -eq 0 ] ; then e 1 ; else e 0 ; fi
} }
# ok if given pattern is detected on command's stdout or stderr # ok if given pattern is detected on command's stdout or stderr

23
initPkg.sh Normal file
View File

@@ -0,0 +1,23 @@
#! /bin/bash
set -e
IFS=$'\n\t'
source functions.sh
echo -ne "host;name;root history;bash history;<+CHANGEME+>\n"
if [ $# -ge 1 ] ; then
hostlist=/srv/lxc/epsi/$1
else
hostlist=/srv/lxc/epsi/*
fi
for host in $hostlist ; do
root=${host}/rootfs
host=$(basename $host)
hostname=$(grep HOSTNAME ${root}/etc/sysconfig/network 2>/dev/null| cut -f2 -d=)
test -z "${hostname}" && hostname=$(cat ${root}/etc/hostname)
test -f ${root}/etc/motd && user="$(cat ${root}/etc/motd | xargs)"
echo -ne "${hostname};${user};"
unset user
initPkgList ${root}
echo
done