Что делает при автоматическом обновлении системы ispmanager, при возникновении вопросов?

123 4
Dmitriy_2014
На сайте с 01.07.2014
Offline
370
#11
Sly32 #:

Ну тогда пусть хакер отбросит лень и таки прочитает про создание и чтение конфигураций. Никто не собирает систему руками, а в скриптах ты можешь прописать что угодно, в том числе и создание конфигов, вычитывание из и зменение и проч. К примеру ты думаешь что нужно самому писать конфиг нжинкс во время установки? Все это прописано в баш-скрипте. Я понатно написал?

Да, понятно, тогда ответь мне на простой вопрос, когда я в настройках панели управления сервером ispmanager ставлю настройку – Обновлять систему и панель ispmanager, где можно посмотреть этот баш-скрипт, просто чтобы хотя бы примерно посмотреть, как это реализовано, может там и вправду на все по дефолту Y нажимается.
S3
На сайте с 29.03.2012
Offline
368
#12
Dmitriy_2014 #:
Да, понятно, тогда ответь мне на простой вопрос, когда я в настройках панели управления сервером ispmanager ставлю настройку – Обновлять систему и панель ispmanager, где можно посмотреть этот баш-скрипт, просто чтобы хотя бы примерно посмотреть, как это реализовано, может там и вправду на все по дефолту Y нажимается.

Нигде, никто тебе доступ к таким скриптам не даст. Это все работает выше твоей операционки. Есть специальные тулы для сборки. Можешь почитать про дженкинс и терраформ, чтобы иметь какое-то представление

CP
На сайте с 04.05.2023
Offline
13
#13
Dmitriy_2014 #:
Вы не совсем поняли, я не про подтверждение устанавливать или не устанавливать пакет, я про то что вовремя уже установки пакета, когда уже было нажато Y, прямо во время установки пакета идет какой-то дополнительный вопрос, который связан не с подтверждением устанавливать или нет пакет, а с тем оставить какие-то там настройки, связанные с устанавливаемым пакетом или оставить все как есть и продолжить установку. Это не подтверждение для – Согласны ли вы установить пакет – Y/N, это другое, это прямо во время установки пакета, уже Y был нажат, это не совсем то. Про автоаппрув, ленивый и не очень умный хакер из даркнета знает.

Могу ошибаться, т.к. с ISPmanager дел не имел, но, судя по описанию, это очень похоже на промпт apt-get при обновлении пакетов. Речь там о том, что в новой версии пакета конфиг по-умолчанию был каким-то образом изменён (добавлены какие-то новые значения, например), а локальный конфиг был отредактирован пользователем, поэтому вслепую его обновить (перезаписать) нельзя.

Варианты ответа при промпте:

  •  N (по-умолчанию): оставить текущий конфиг
  •  Y: перезаписать текущий конфиг новым конфигом по-умолчанию
  • И пара других вспомогательных вариантов вроде открытия конфигов в редакторе для сравнения

Соответственно, если нажать вслепую Enter, то останется текущий конфиг и ничего перезаписано не будет, что не должно быть фатально и обычно является предпочтительной опцией.

S3
На сайте с 29.03.2012
Offline
368
#14
Ну что ж вы все гадаете? Почему не изучить тему? Какая разница что устанавливать, консоль ISP или что-то другое?
Вот вам пример скрипта, который у меня устанавливает Нжинкс. Проверяю, установлен ли он и существует ли уже конфигурация, если нет - создаю ее и применяю. От какого юзера запускается  итд.

echo "================= Start NGINX configure, change Nginx user to "ubuntu""

# Define the Nginx configuration file
NGINX_CONF="/etc/nginx/nginx.conf"
NGINX_CONF_CUSTOM="/etc/systemd/system/nginx-custom.service"
NGINX_SITE="/etc/nginx/sites-available/learn.conf"
# Define the desired user
DESIRED_USER="ubuntu" # ubuntu

# Check if the Nginx configuration file exists
if [ ! -f "$NGINX_CONF" ]; then
  echo "Nginx configuration file not found: $NGINX_CONF"
  exit 1
fi

# Get the current user in the nginx.conf
CURRENT_USER=$(grep -E '^user' "$NGINX_CONF" | awk '{print $2}')

# Remove the trailing semicolon from the current user if it exists
CURRENT_USER=$(echo "$CURRENT_USER" | sed 's/;$//')

# Check if the current user is not the desired user
if [ "$CURRENT_USER" != "$DESIRED_USER" ]; then
  echo "Current user in $NGINX_CONF is '$CURRENT_USER'. Replacing with '$DESIRED_USER'."

  # Replace the user directive with the desired user
  sudo sed -i "s/^user.*/user $DESIRED_USER $DESIRED_USER;/" "$NGINX_CONF"

  echo "Nginx user updated to '$DESIRED_USER'."

  # Restart Nginx to apply changes
  sudo systemctl restart nginx

  echo "Nginx restarted successfully."
else
  echo "Nginx is already configured to run as '$DESIRED_USER'. No changes made."
fi

echo "# Create a root Nginx configuration file"
if [ ! -f $NGINX_CONF_SITE ]; then
sudo bash -c "cat > /etc/systemd/system/nginx-custom.service << EOF
[Unit]
Description=A high performance web server and a reverse proxy server
After=network.target

[Service]
User=ubuntu
Group=ubuntu
ExecStart=/usr/sbin/nginx -g 'daemon off;'
ExecReload=/bin/kill -USR1 $MAINPID
ExecStop=/bin/kill -TERM $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF"
else
echo "$NGINX_CONF_SITE already exists" # TODO check if old file is not matched with new
fi


sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl disable nginx-custom
sudo systemctl stop nginx
sudo systemctl daemon-reload


echo "# Create a Nginx configuration file"
if [ ! -f $NGINX_SITE ]; then
sudo bash -c 'cat > /etc/nginx/sites-available/learn.conf << EOF
server {
    listen 80;
    server_name '"$PUBLIC_DNS"';
    proxy_read_timeout 1200;
    proxy_connect_timeout 1200;
    proxy_send_timeout 1200;

    location /static/ {
        alias /home/ubuntu/current/code/static/;
        expires 30d;
        add_header Cache-Control "public, max-age=2592000";
    }

    location /media/ {
        alias /home/ubuntu/current/code/media/;
    }

    location / {
       proxy_pass http://unix:/run/gunicorn/gunicorn.sock;
       proxy_set_header Host '"$PUBLIC_DNS"';
       proxy_set_header X-Real-IP '"$HOST"';
       proxy_set_header X-Forwarded-For '"$HOST"';
    }

}
EOF'

# Enable the new configuration file
sudo ln -s /etc/nginx/sites-available/learn.conf /etc/nginx/sites-enabled/
sudo nginx -t
else
echo "$NGINX_SITE already exists"
fi

# Reload Nginx to apply the changes
sudo systemctl daemon-reload
sudo systemctl restart nginx
Точно так же обрабатывается любая нужная мне программа скриптом а не руками, пакеты и прочее. 
Или вы думаете - вот вы заказали хостинг, админ закурил сигаретку и пошел фигачить в консоли руками?
Вы отметили галочками в конфигураторе параметры, все это собралось в конфиг и поехало устанавливаться. 

Dmitriy_2014
На сайте с 01.07.2014
Offline
370
#15
CursedPotato #:

Могу ошибаться, т.к. с ISPmanager дел не имел, но, судя по описанию, это очень похоже на промпт apt-get при обновлении пакетов. Речь там о том, что в новой версии пакета конфиг по-умолчанию был каким-то образом изменён (добавлены какие-то новые значения, например), а локальный конфиг был отредактирован пользователем, поэтому вслепую его обновить (перезаписать) нельзя.

Варианты ответа при промпте:

  •  N (по-умолчанию): оставить текущий конфиг
  •  Y: перезаписать текущий конфиг новым конфигом по-умолчанию
  • И пара других вспомогательных вариантов вроде открытия конфигов в редакторе для сравнения

Соответственно, если нажать вслепую Enter, то останется текущий конфиг и ничего перезаписано не будет, что не должно быть фатально и обычно является предпочтительной опцией.

Да, вот это похоже на тот случай, я тоже нажал N оставить все как есть, жаль, что все не записал очистил шелл, просто сильно удивился за последние сто лет не видел такого, и да там еще какие-то варианты выбора были, я просто на скорости обновил, нажал и пошел в магазин, а потом думаю, что это было-то :)

И вот видите уже три варианта, один пишет будет нажато на автомате что-то по дефолту не понятно, что, другой человек пишет, что будет автоаппруф Y, вы говорите N (по-умолчанию), а там еще два варианта было вроде.

И да вопрос был связан вроде с конфигурационными файлами определенного пакета вроде бы.
I7
На сайте с 12.06.2008
Offline
372
#16
Dmitriy_2014 #:
Там три года тебе отвечать будут, хоть платно хоть бесплатно, тут может был у кого такой случай и … Короче не хочу я в поддержку звонить…

Звонить? Им не надо звонить, им надо писать, и отвечают они очень быстро. Вы видимо даже не пробовали общаться с разработчиками.

Dmitriy_2014 #:
И вот видите уже три варианта, один пишет будет нажато на автомате что-то по дефолту не понятно, что, другой человек пишет, что будет автоаппруф Y, вы говорите N (по-умолчанию), а там еще два варианта было вроде.

Вроде, вроде, вроде... Когда работа с APT идёт через скрипты, добавляют параметр DEBIAN_FRONTEND=noninteractive, который собственно указывает, что запуск идёт в неинтерективном режиме. Ещё есть параметр Dpkg::Options::='--force-confold', который отвечает за то, чтобы не изменять текущие конфиги.

CP
На сайте с 04.05.2023
Offline
13
#17
Dmitriy_2014 #:

Да, вот это похоже на тот случай, я тоже нажал N оставить все как есть, жаль, что все не записал очистил шелл, просто сильно удивился за последние сто лет не видел такого, и да там еще какие-то варианты выбора были, я просто на скорости обновил, нажал и пошел в магазин, а потом думаю, что это было-то :)

И вот видите уже три варианта, один пишет будет нажато на автомате что-то по дефолту не понятно, что, другой человек пишет, что будет автоаппруф Y, вы говорите N (по-умолчанию), а там еще два варианта было вроде.

И да вопрос был связан вроде с конфигурационными файлами определенного пакета вроде бы.

В случае с apt-get на современном Debian по-умолчанию будет N (оставить текущий конфиг). Если речь про пост Sly32, он просто говорил о том, что можно добавить команде аргумент, который укажет на то, что нужно автоматически положительно или отрицательно отвечать на такие промпты. Если промпт вылез, то такой аргумент явно не был передан в команду.

Вот пример того, как выглядит этот промпт:
https://stackoverflow.com/questions/22957939/how-to-answer-an-apt-get-configuration-change-prompt-on-travis-ci-in-this-case

Собственно, опять же, с ISPmanager дел не имел и просто даю знать, как работает apt-get в чистом Debian. Осмелюсь предположить, что раз выскакивают подобные промпты, то ничего специфического в ISPmanager не происходит при ручном обновлении и он просто предоставляет графический интерфейс для запуска `apt-get dist-upgrade -y` в интерактивном режиме и ответа на промпты.

В общем, не похоже, что должны быть какие-то проблемы. Если хочется дополнительно убедиться, можно просто проверить работу сервисов, которые были установлены на сервер. Обычно сервер выделяют под один-несколько сервисов и сразу должно быть понятно, если что-то отвалилось (стоит почтовый сервер? отправьте тестовое письмо). Если всё-таки отвалилось, то наводка есть - посмотрите конфиг того, что упало.

Dmitriy_2014
На сайте с 01.07.2014
Offline
370
#18
CursedPotato #:

В случае с apt-get на современном Debian по-умолчанию будет N (оставить текущий конфиг). Если речь про пост Sly32, он просто говорил о том, что можно добавить команде аргумент, который укажет на то, что нужно автоматически положительно или отрицательно отвечать на такие промпты. Если промпт вылез, то такой аргумент явно не был передан в команду.

Вот пример того, как выглядит этот промпт:
https://stackoverflow.com/questions/22957939/how-to-answer-an-apt-get-configuration-change-prompt-on-travis-ci-in-this-case

Собственно, опять же, с ISPmanager дел не имел и просто даю знать, как работает apt-get в чистом Debian. Осмелюсь предположить, что раз выскакивают подобные промпты, то ничего специфического в ISPmanager не происходит при ручном обновлении и он просто предоставляет графический интерфейс для запуска `apt-get dist-upgrade -y` в интерактивном режиме и ответа на промпты.

В общем, не похоже, что должны быть какие-то проблемы. Если хочется дополнительно убедиться, можно просто проверить работу сервисов, которые были установлены на сервер. Обычно сервер выделяют под один-несколько сервисов и сразу должно быть понятно, если что-то отвалилось (стоит почтовый сервер? отправьте тестовое письмо). Если всё-таки отвалилось, то наводка есть - посмотрите конфиг того, что упало.

Да, точно вот это то и было при обновлении:

Installing new version of config file /etc/logrotate.d/couchdb ...
  Configuration file `/etc/couchdb/local.ini'
   ==> Deleted (by you or by a script) since installation.
   ==> Package distributor has shipped an updated version.
     What would you like to do about it ?  Your options are:
      Y or I  : install the package maintainer's version
      N or O  : keep your currently-installed version
        D     : show the differences between the versions
        Z     : start a shell to examine the situation
   The default action is to keep your current version.
  *** local.ini (Y/I/N/O/D/Z) [default=N] ? 

Помню много буковок и что-то про конфигурационный файл пакета.

Так значит если система обновляется от настроек в ispmanager’е в автоматическом режиме, то она на автомате выберет N так как он по умолчанию([default=N]) при таком вопросе и не будет трогать конфиг устанавливаемого пакета.

N or O  : keep your currently-installed version – я так понял типа оставить текущую версию конфиг файла.
I7
На сайте с 12.06.2008
Offline
372
#19
Dmitriy_2014 #:
Так значит если система обновляется от настроек в ispmanager’е в автоматическом режиме, то она на автомате выберет N так как он по умолчанию([default=N]) при таком вопросе и не будет трогать конфиг устанавливаемого пакета.

Ispmanager ничего не выбирает. Он запускает команду выставив определённые параметры, которые уже обрабатывают такие моменты касательно вопросов по тем или иным пакетам. Выше я вам написал какие именно параметры применяется в APT для разруливания этих вопросов.

Dmitriy_2014
На сайте с 01.07.2014
Offline
370
#20
Ilya74 #:

Ispmanager ничего не выбирает. Он запускает команду выставив определённые параметры, которые уже обрабатывают такие моменты касательно вопросов по тем или иным пакетам. Выше я вам написал какие именно параметры применяется в APT для разруливания этих вопросов.

Так он при обновлении затрет конфиг или нет?
123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий