Попытки обновления или удаления InfluxDB

В настоящее время Grafana, InfluxDB и Telegraf используются для сбора, хранения и представления данных мониторинга из моей домашней лаборатории.

Это относится к запуску InfluxDB на моем центральном хосте мониторинга.

Ранее установив и настроив InfluxDB и получив удовольствие от ее работы, при попытке обновить ее я сталкиваюсь с ошибками.

Следуя ряду руководств, чтобы попытаться и заставить удалить пакет, обновить его, принудительно установить последнюю версию и т.д. Я решил прийти к старейшинам за некоторыми советами или вещами, чтобы попробовать.

Надеюсь, что это простое исправление, но я еще не нашел его - я запускаю Ubuntu 18.04.5 LTS

В любом случае - когда я запускаю

sudo apt-get install influxdb

Я получаю это

Reading package lists... Done
Building dependency tree       
Reading state information... Done
influxdb is already the newest version (1.8.5-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up influxdb (1.8.5-1) ...
Synchronizing state of influxdb.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable influxdb
Failed to enable unit: Unit file /etc/systemd/system/influxdb.service is masked.
dpkg: error processing package influxdb (--configure):
 installed influxdb package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 influxdb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Я зарезервировал свою конфигурацию, так что любые советы по принудительному удалению пакета и позволению мне переустановить будет здорово. Спасибо.

-121--901548- Как непрерывно обновлять переменную ENV (например, PS1) внутри сценария, выполняющегося в фоновом режиме? Задача проста. Я хочу добавить таймер обратного отсчета в подсказку внутри сценария bash, который определен как функция псевдонима в моем .bashrc, чтобы он был запущен в фоновом режиме, когда мне нужно (например, "...

Задача проста. Я хочу добавить таймер обратного отсчета в приглашение внутри сценария bash, который определен как функция псевдонима в моем .bashrc, чтобы он работал в фоновом режиме, когда мне нужно (например, «обратный отсчет 60 &»). Таким образом, внутри цикла имеется задержка «sleep 0.1», которая затем обновляет PS1 до тех пор, пока не достигнет конечного условия, когда обратный отсчет завершится и запустит простой звук рингтона.

PS1 = PS1 + [обратный отсчет]

Что происходит со мной, так это то, что переменная env обновляется, но только когда сценарий заканчивается, который не заполняет цель сценария, которая заключается в отображении состояния таймера в приглашении. Я могу представить, что сценарий создает копию вызывающего контекста во время выполнения, так что это может быть проблема.

Как обновить переменную env в глобальном контексте вызова на лету?

EDIT : Другое решение, которое я использую. Запись в/dev/shm.

То, что я сделал, это написал в /dev/shm/< my _ var > , используя его в качестве общего пространства памяти (вы также можете использовать/tmp) и прочитать оттуда. Я предполагаю, что ENV global доступны для чтения, но сценарии делают копию внутри (я считаю, чтобы предотвратить конфликты), а затем записывают обратно в bind var, как только они завершают процесс.

Если кто-то хочет узнать, как динамически изменить считывание подсказки из состояния пользовательской переменной, вот мой сценарий.

  export PSbase=$PS1;

  function countdown(){
     date1=$((`date +%s` + $1));
    while [ "$date1" -ge `date +%s` ]; do
      echo $(date -u --date @$(($date1 - `date +%s`)) +%H:%M:%S) > /dev/shm/countdown;
       sleep 0.1
     done;
     rm /dev/shm/countdown;
     paplay <path_to_sound>;
  }
  function countdownToPS1 () {
    if [ -f /dev/shm/countdown ]; then
      export PS1="${PSbase%\$ } [$(cat /dev/shm/countdown)]$ ";
    else
       export PS1=$PSbase;
    fi;
  };

  PROMPT_COMMAND="countdownToPS1"

И использование «обратный отсчет 50 &» и покажет ваше приглашение с хорошим таймером [HH: MM: SS] в конце. Это оценивает секунды, поэтому, если мне нужно 4 минут, это «обратный отсчет 60 * 4 &». И каждый раз, когда я нажимаю Enter,PROMPT_COMMAND поручается выполнить функцию, которая считывает из/dev/shm/countdown и генерирует мою новую подсказку с текущим состоянием таймера. Мило. Можно также перевести эту функцию в timer () {countdown «$ @» &} , чтобы начать с таймера типа , и обратный отсчет всегда будет выполняться в фоновом режиме.

Поэтому вопрос заключался в том, как я могу это сделать, но работать только с переменными ENV и обновлять их прямой записью на них, а не просто копией во время выполнения сценария. Думаю, это невозможно.

1
задан 29 April 2021 в 03:41

1 ответ

Это не работает вообще: сценарий, который вы запустили из текущей оболочки, может изменять только свою собственную среду, но не среду своей родительской оболочки.

0
ответ дан 7 May 2021 в 17:42

Другие вопросы по тегам:

Похожие вопросы: