как изменить скрипт под росу

Ответить
eropegov
Сообщения: 12
Зарегистрирован: 09 янв 2016, 15:10
Operating system: ROSA Desktop Fresh R7 2014.1

как изменить скрипт под росу

Сообщение eropegov » 12 сен 2018, 17:26

#!/bin/bash
RED='\033[1;31m'
GREEN='\033[1;32m'
BLUE='\033[1;36m'
YELLOW='\033[1;33m'
NONE='\033[0m'
RED0='\033[0;31m'
GREEN0='\033[0;32m'
PROMETHEUS="$BLUE--------------------------------------------------------------------$NONE$GREEN
0000 0000 00000 0 0 00000 00000 0 0 00000 0 0 00000
0 0 0 0 0 0 00 00 0 0 0 0 0 0 0 0
0000 0000 0 0 0 00 0 00000 0 00000 00000 0 0 00000
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 00000 0 0 00000 0 0 0 00000 00000 00000$NONE
$BLUE-------------------------------------------------------------------- $NONE"
PROMETHEUS2="update script"
clear
echo -e "$PROMETHEUS"
sleep 0.2
echo
DIRP=`pwd`
export DIRP
# Проверяем наличие директорий
rm -R $DIRP/scripts &>/dev/null
mkdir $DIRP/scripts
rm -R $DIRP/configs &>/dev/null
mkdir $DIRP/configs
rm -R $DIRP/files &>/dev/null
mkdir $DIRP/files
rm -R $DIRP/logs &>/dev/null
mkdir $DIRP/logs

echo -e "GET http://google.com HTTP/1.0\n\n" | nc google.com 80 > /dev/null 2>&1

if [ $? -eq 0 ]; then
internet_connection=ok
else
internet_connection=error
fi
if [ "$internet_connection" == "error" ]
then
echo -e "$RED Возможно нет соединения с интернетом! $NONE"
while true; do
read -p " Все равно продолжить? " yn
case $yn in
[Yy]* ) echo -e "$NONE"; break;;
[Nn]* ) echo -e "$NONE"; exit;;
* ) echo -e " Пожалуйста введите yes или no.";;
esac
done
fi

echo -e "GET http://pm.freize.net HTTP/1.0\n\n" | nc pm.freize.net 80 > /dev/null 2>&1

if [ $? -eq 0 ]; then
internet_connection2=ok
else
internet_connection2=error
fi

if [ "$internet_connection2" == "error" ]
then
echo "$RED Удаленный сервер не отвечает! $NONE"
while true; do
read -p " Все равно продолжить? " yn
case $yn in
[Yy]* ) echo -e "$NONE"; break;;
[Nn]* ) echo -e "$NONE"; exit;;
* ) echo -e " Пожалуйста введите yes или no.";;
esac
done
fi
while true; do
#проверяем зависимости и выходим если все установлено
dpkg -s ca-certificates build-essential gawk texinfo pkg-config gettext automake libtool bison flex zlib1g-dev libgmp3-dev libmpfr-dev libmpc-dev git zip sshpass mc curl python expect bc telnet openssh-client tftpd-hpa libid3tag0-dev gperf libltdl-dev autopoint >/dev/null 2>&1 && break
echo -e "$YELLOW Устанавливаем ПО, требуется ввести пароль от $NONE"
echo -e "$YELLOW вашей учетной записи в Linux. $NONE"
sudo apt-get update
sudo apt-get -y --force-yes install ca-certificates build-essential gawk texinfo pkg-config gettext automake libtool bison flex zlib1g-dev libgmp3-dev libmpfr-dev libmpc-dev git zip sshpass mc curl python expect bc telnet openssh-client tftpd-hpa libid3tag0-dev gperf libltdl-dev autopoint
done
wget -O update.tar http://pm.freize.net/scripts/update.tar &>/dev/null
wget -O files/loki.tar http://pm.freize.net/scripts/loki.tar &>/dev/null
tar -xvf $DIRP/files/loki.tar configs/git.sh -C configs >/dev/null 2>&1
tar -xvf $DIRP/files/loki.tar configs/uboot.sh -C configs >/dev/null 2>&1
tar -xvf update.tar
rm -f update.tar
./scripts/up2.sh
echo -e "$BLUE Скрипты:$NONE$GREEN OK $NONE"
sleep 0.1
exec ./start.sh

PastorDi
Сообщения: 2617
Зарегистрирован: 25 авг 2011, 12:34
Operating system: IBM DOS, OS/2
Откуда: Санкт-Петербург
Контактная информация:

как изменить скрипт под росу

Сообщение PastorDi » 13 сен 2018, 01:12

На сколько я понял, это Преметеус, с помощью которого прошивки от Падавана собираются?
Там вроде на сайте у них готовый образ есть для Виртуалки. Скачайте да и будете собирать. Он в виртуалке не очень долго собирается, буквально минут 10.

Для Росы:

Код: Выделить всё

dpkg -s ca-certificates build-essential gawk texinfo pkg-config gettext automake libtool bison flex zlib1g-dev libgmp3-dev libmpfr-dev libmpc-dev git zip sshpass mc curl python expect bc telnet openssh-client tftpd-hpa libid3tag0-dev gperf libltdl-dev autopoint >/dev/null 2>&1 && break 
и тут

Код: Выделить всё

sudo apt-get update
sudo apt-get -y --force-yes install ca-certificates build-essential gawk texinfo pkg-config gettext automake libtool bison flex zlib1g-dev libgmp3-dev libmpfr-dev libmpc-dev git zip sshpass mc curl python expect bc telnet openssh-client tftpd-hpa libid3tag0-dev gperf libltdl-dev autopoint
вместо dpkg = rpm
вместо apt-get = urpmi
Ну надо проходится по каждому пакет, чтобы проверить их название. Они могут от Дебиановских отличаться. Остальное все стандартно.

ilfat
Сообщения: 5
Зарегистрирован: 15 фев 2016, 13:33
Operating system: ROSA Linux

как изменить скрипт под росу

Сообщение ilfat » 06 окт 2018, 10:11

eropegov,

Зависимости скрипта в сравнительной форме:

Код: Выделить всё

UBUNTU:                 ROSA(x64):
ca-certificates         rootcerts
build-essential         task-c++-devel
gawk                    gawk
texinfo                 texinfo
pkg-config              pkgconfig
gettext                 gettext
autoconf                autoconf
automake                automake
libtool                 libtool
bison                   bison
flex                    flex
zlib1g-dev              lib64z-devel
libgmp3-dev             lib64gmp-devel
libmpfr-dev             lib64mpfr-devel
libmpc-dev              lib64mpc-devel 
git                     git
zip                     zip
sshpass                 sshpass
mc                      mc
curl                    curl
python                  python
expect                  expect
bc                      bc
telnet                  heimdal-telnet
openssh-client          openssh-clients
tftpd-hpa               tftp-server
libid3tag0-dev          lib64id3tag-devel
gperf                   gperf
libltdl-dev             lib64ltdl-devel
autopoint               gettext-devel
libarchive-zip-perl     perl-Archive-Zip
python-docutils         python-docutils
help2man                help2man
libncurses5-dev         lib64ncurses-devel
Одной строкой для установки:

Код: Выделить всё

sudo urpmi rootcerts task-c++-devel gawk texinfo pkgconfig gettext autoconf automake libtool bison flex lib64z-devel lib64gmp-devel lib64mpfr-devel lib64mpc-devel git zip sshpass mc curl python expect bc heimdal-telnet openssh-clients tftp-server lib64id3tag-devel gperf lib64ltdl-devel gettext-devel perl-Archive-Zip python-docutils help2man lib64ncurses-devel
Если не хотите засорять систему можете воспользоваться ROSA Freeze или urpmi.recover

В скрипте проверка зависимостей работает в бесконечном цикле до достижения успеха, но в Росе этому не суждено случиться, поэтому нужно закомментировать или удалить этот блок. Строки с 73 по 80, со временем может измениться, лучше проверить:

Код: Выделить всё

   while true; do
      #проверяем зависимости и выходим если все установлено
      dpkg -s ca-certificates build-essential gawk texinfo pkg-config gettext automake libtool bison flex zlib1g-dev libgmp3-dev libmpfr-dev libmpc-dev git zip sshpass mc curl python expect bc telnet openssh-client tftpd-hpa libid3tag0-dev gperf libltdl-dev autopoint >/dev/null 2>&1 && break 
      echo -e "$YELLOW Устанавливаем ПО, требуется ввести пароль от $NONE"
      echo -e "$YELLOW вашей учетной записи в Linux. $NONE"
      sudo apt-get update
      sudo apt-get -y --force-yes install ca-certificates build-essential gawk texinfo pkg-config gettext automake libtool bison flex zlib1g-dev libgmp3-dev libmpfr-dev libmpc-dev git zip sshpass mc curl python expect bc telnet openssh-client tftpd-hpa libid3tag0-dev gperf libltdl-dev  autopoint
   done
Еще одна проверка зависимостей предусмотрена в скрипте up2.sh, который скачивается автоматически, его изменять смысла большого нет, так как он обновляемый и цикл проверки зависимостей в нем не бесконечный, на третьем круге выдаст ошибку, но это уже не имеет значения, если вы установили все необходимые пакеты.

Update: В Росе собирается только тестовая ветка, версия скрипта "5.00-39 TEST", репозиторий padavan-ng. На скрипте "4.13-39 STABLE" на репозиториях padavan и linaro не собирается.

Ответить