Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info

Теперь Вы можете запустить его в формате ./create_zone.sh <zone-name> <zone-ip-domain> <zone-ip-node> , например!:

./create_zone.sh zone02 192.168.0 3

...

Теперь получите зависимости. Для этого создайте скопируйте этот скрипт в файл, например, get_deps.sh и сделайте его исполняемым или выполните следующую команду:

Code Block
languagebash
cat > get_deps.sh <<EOT
#!/bin/bash

#File create for save temporary values
>list_one
>list_two
>pkg_dep
>tmp0
>tmp1
>tmp
#
function get_depends()
{
        ## This function get depends for build component
 
      [ -z "\$(grep -f pkg_dep <<< \$1)" ] &&
   
    apt-get install -s \$1 2>/dev/null | grep Inst | awk '{print \$2}'| sort -u &&
        echo \$pkg >> pkg_dep
}
#
#
function all_dep()
{
        ##This## This recursion function for get recursion depends for build conmponents
        for pkg in \$@; do
    all_dep            all_dep \$(get_depends \\$(get_depends \$pkg)
        done
}

## Loop for get depends for build components
while read component; do
    
   if [[ "" == "\$component" ]]; then
               continue
     
  fi

       apt-get --dry-run build-dep \$component 2>/dev/null | grep Inst | awk '{print \$2}' >> list_one
done < list_component

while read pkg; do
 
      if [[ "" == "\$pkg" ]]; then
    continue
  fi
       continue
        fi
        apt-get apt-get install -s \$pkg 2>/dev/null | grep Inst | awk '{print \$2}' >> list_two
done < list_pkg_sec

cat list_one       >> tmp0
cat list_two       >> tmp0
cat list_component >> tmp0
cat list_pkg_sec   >> tmp0
cat tmp0 | sort -u >> tmp1

## Loop for get depends, use function 'all_dep'
while read pkg; do
     
  if [[ "" == "\$pkg" ]]; then
               continue
     
  fi

       all_dep \$pkg >/dev/null
done < tmp1

cat pkg_dep        >> tmp1
cat tmp1 | sort -u >> tmp

while read pkg; do
   
    if [[ "" == "\$pkg" ]]; then
 
             continue
    
   fi
        sudo apt-get download \$pkg
done < tmp
EOT

Сделайте его исполняемым и запустите:

Code Block
languagebash
chmod 777 ./get_deps.sh

Запустите его:

Code Block
languagebash
./get_deps.sh
exit

4. Создайте новую зону для создания локального репозитория

...