Mniam zainstalować dla użytkowników w małej sieci

0

Mamy małą sieć 15 użytkowników. Muszę zainstalować nowe biblioteki przy użyciu yum na wszystkich komputerach w sieci. Mam już skrypt csh, który pozwala mi rsh na wszystkich komputerach w systemie, dzięki czemu mogłem ręcznie przełączyć się na root i zainstalować wymagane zależności dla każdego rsh. Czy istnieje bardziej skuteczny sposób to zrobić?

Próbowałem to zrobić za pomocą następującego skryptu csh. Nadal korzystam z rsh podczas testowania. Jednak skrypt umiera, gdy tylko rsh do innego pliku hosta. Co ja robię źle?

if ($1 == "")then
    echo -n "Please enter a package to install\n"
    set package=$<
else set package = $#argv
endif

set numlines = `cat $NM_HOME/sh_local/nc_network2.txt | grep -v "^#" | fgrep "%" |  wc -l`
while ($numlines>0)
    set line = `cat $NM_HOME/sh_local/nc_network2.txt | grep -v "^#" | fgrep "%" | tail -$numlines | head -1`
    set host2 = `echo $line | cut -f 1 -d %`
    set where = `echo $line | cut -f 2 -d %`
    if ($host2 == $this_machine) then 
    echo "This is $host2....skipping rsh to this machine"
    echo ""
    goto yum
    endif
    echo ""
    echo "logging into $host2 $where"
    echo ""
    sleep 1
    rsh $host2
    yum:
    echo ""
    echo "Preparing to install $package on $host2"
    sudo yum -y install $package
    if ($host2 == $this_machine) then 
    goto decrement
    else
    logout
    goto decrement
    endif

    decrement:
    @ numlines--

end
fixer1234
źródło

Odpowiedzi:

2
  1. Użyj ssh z uwierzytelnianiem klucza publicznego, aby uniknąć wpisywania haseł i zachować pewien rodzaj bezpieczeństwa.
  2. Zaloguj się bezpośrednio jako root lub uruchom sudo yum.
  3. Upewnij się, że yum jest uruchamiany nieinteraktywnie, yum -yaby instalacja mogła przebiegać bez nadzoru.
  4. parallelPosiadaj listę hostów w pliku i równolegle uruchom instalację na wszystkich hostach, używając GNU (gnu.org) lub xargs.
  5. Jeśli podobała Ci się automatyzacja, zajrzyj do narzędzi do automatycznej administracji takich jak puppet(wikipedia) .
Dmitrij Chubarow
źródło