Сценарий запуска не запускается

Вы должны запустить следующие команды, чтобы восстановить папку tmp.

sudo -i
# You now have a root prompt and do not need to continue typing sudo
mkdir /tmp
chmod 1777 /tmp
exit

Тогда вы все хорошо

33
задан 17 March 2011 в 20:30

47 ответов

В любом случае я здесь, потому что у меня была такая же проблема, но мой синтаксис был на 100% правильным.

После некоторой отладки я обнаружил еще одну проблему, которая может вызвать это «Неизвестная работа» :

upstarts использует inotify для мониторинга изменений файла .conf и заданий автоматической установки, это очень круто (для этого вам не нужно что-то вроде update.rc с выскочкой!) [ ! d2], но может быть не идеальным, если вы (как и я в этом случае) используете некоторую программу FTP / SCP GUI для загрузки и редактирования конфигураций на удаленных серверах, это задание может быть тихо удалено выскочкой при редактировании файла таким образом. [ ! d6]

, чтобы исправить просто сделать это (это спасло меня)

  touch / etc / init / *  

] он будет генерировать события inotify, чтобы обновить все upstart confs.

46
ответ дан 6 August 2018 в 03:55

Наиболее релевантная ссылка для синтаксиса файла задания будет доступна, когда вы запустите команду:

  man 5 init  

в вашей системе. Для Ubuntu 10.04, как вы нашли в предыдущем ответе, синтаксис файла pid неверен.

При каждом возврате этой ошибки «неизвестного задания» рекомендуется проверить журналы (pre 11.04, /var/log/daemon.log, 11.04 и больше все идет в / var / log / syslog)

Вы можете увидеть такую ​​ошибку:

  init: /  etc / init / test.conf: 2: Неизвестная строфа  
6
ответ дан 6 August 2018 в 03:55

У меня была такая же проблема в моих контейнерах Docker Ubuntu 14.04. Как оказалось, изображение Ubuntu 14.04 (если не другие) для Docker не поддерживает Upstart так же, как полная виртуальная машина.

Чтобы ответить на этот вопрос, почему служба не запускается, это связано с тем, что initctl не является реальной программой Upstart: она сопоставляется с /bin/true.

Чтобы проверить запуск следующий за контейнером Ubuntu 14.04 Docker против Vagrant и с капелькой DigitalOcean

  $ ls -al / sbin / initctl  

Вы увидите initctl не то же самое в Docker и других.

Ссылка, которая может способствовать вашему пониманию .. https://github.com/docker/docker/issues/1024

2
ответ дан 6 August 2018 в 03:55

Во-первых, вы можете проверить, что ваша работа действительно известна выскочке:

  sudo initctl list |  grep your_job_name  

... где your_job_name - это имя вашего скрипта выскочки за вычетом расширения .conf .

Если он не найден, вы можете попробовать перезагрузить конфигурацию, а затем повторить проверку:

  sudo initctl reload-configuration # re-check sudo initctl list |  grep your_job_name  

Затем повторите попытку, чтобы начать работу:

  sudo start your_job_name  

Если вы не были все записи в /var/log/daemon.log или / var / log / syslog раньше, у вас могут быть некоторые из них.

26
ответ дан 6 August 2018 в 03:55

Наиболее релевантная ссылка для синтаксиса файла задания будет доступна, когда вы запустите команду:

  man 5 init  

в вашей системе. Для Ubuntu 10.04, как вы нашли в предыдущем ответе, синтаксис файла pid неверен.

При каждом возврате этой ошибки «неизвестного задания» рекомендуется проверить журналы (pre 11.04, /var/log/daemon.log, 11.04 и больше все идет в / var / log / syslog)

Вы можете увидеть такую ​​ошибку:

  init: /  etc / init / test.conf: 2: Неизвестная строфа  
6
ответ дан 7 August 2018 в 21:52

В любом случае я здесь, потому что у меня была такая же проблема, но мой синтаксис был на 100% правильным.

После некоторой отладки я обнаружил еще одну проблему, которая может вызвать это «Неизвестная работа» :

upstarts использует inotify для мониторинга изменений файла .conf и заданий автоматической установки, это очень круто (для этого вам не нужно что-то вроде update.rc с выскочкой!) [ ! d2], но может быть не идеальным, если вы (как и я в этом случае) используете некоторую программу FTP / SCP GUI для загрузки и редактирования конфигураций на удаленных серверах, это задание может быть тихо удалено выскочкой при редактировании файла таким образом. [ ! d6]

, чтобы исправить просто сделать это (это спасло меня)

  touch / etc / init / *  

] он будет генерировать события inotify, чтобы обновить все upstart confs.

46
ответ дан 7 August 2018 в 21:52

У меня была такая же проблема в моих контейнерах Docker Ubuntu 14.04. Как оказалось, изображение Ubuntu 14.04 (если не другие) для Docker не поддерживает Upstart так же, как полная виртуальная машина.

Чтобы ответить на этот вопрос, почему служба не запускается, это связано с тем, что initctl не является реальной программой Upstart: она сопоставляется с /bin/true.

Чтобы проверить запуск следующий за контейнером Ubuntu 14.04 Docker против Vagrant и с капелькой DigitalOcean

  $ ls -al / sbin / initctl  

Вы увидите initctl не то же самое в Docker и других.

Ссылка, которая может способствовать вашему пониманию .. https://github.com/docker/docker/issues/1024

2
ответ дан 7 August 2018 в 21:52

Во-первых, вы можете проверить, что ваша работа действительно известна выскочке:

  sudo initctl list |  grep your_job_name  

... где your_job_name - это имя вашего скрипта выскочки за вычетом расширения .conf .

Если он не найден, вы можете попробовать перезагрузить конфигурацию, а затем повторить проверку:

  sudo initctl reload-configuration # re-check sudo initctl list |  grep your_job_name  

Затем повторите попытку, чтобы начать работу:

  sudo start your_job_name  

Если вы не были все записи в /var/log/daemon.log или / var / log / syslog раньше, у вас могут быть некоторые из них.

26
ответ дан 7 August 2018 в 21:52

У меня была такая же проблема в моих контейнерах Docker Ubuntu 14.04. Как оказалось, изображение Ubuntu 14.04 (если не другие) для Docker не поддерживает Upstart так же, как полная виртуальная машина.

Чтобы ответить на этот вопрос, почему служба не запускается, это связано с тем, что initctl не является реальной программой Upstart: она сопоставляется с /bin/true.

Чтобы проверить запуск следующий за контейнером Ubuntu 14.04 Docker против Vagrant и с капелькой DigitalOcean

  $ ls -al / sbin / initctl  

Вы увидите initctl не то же самое в Docker и других.

Ссылка, которая может способствовать вашему пониманию .. https://github.com/docker/docker/issues/1024

2
ответ дан 10 August 2018 в 10:06

Во-первых, вы можете проверить, что ваша работа действительно известна выскочке:

  sudo initctl list |  grep your_job_name  

... где your_job_name - это имя вашего скрипта выскочки за вычетом расширения .conf .

Если он не найден, вы можете попробовать перезагрузить конфигурацию, а затем повторить проверку:

  sudo initctl reload-configuration # re-check sudo initctl list |  grep your_job_name  

Затем повторите попытку, чтобы начать работу:

  sudo start your_job_name  

Если вы не были все записи в /var/log/daemon.log или / var / log / syslog раньше, у вас могут быть некоторые из них.

26
ответ дан 10 August 2018 в 10:06

Наиболее релевантная ссылка для синтаксиса файла задания будет доступна, когда вы запустите команду:

  man 5 init  

в вашей системе. Для Ubuntu 10.04, как вы нашли в предыдущем ответе, синтаксис файла pid неверен.

При каждом возврате этой ошибки «неизвестного задания» рекомендуется проверить журналы (pre 11.04, /var/log/daemon.log, 11.04 и больше все идет в / var / log / syslog)

Вы можете увидеть такую ​​ошибку:

  init: /  etc / init / test.conf: 2: Неизвестная строфа  
6
ответ дан 10 August 2018 в 10:06

В любом случае я здесь, потому что у меня была такая же проблема, но мой синтаксис был на 100% правильным.

После некоторой отладки я обнаружил еще одну проблему, которая может вызвать это «Неизвестная работа» :

upstarts использует inotify для мониторинга изменений файла .conf и заданий автоматической установки, это очень круто (для этого вам не нужно что-то вроде update.rc с выскочкой!) [ ! d2], но может быть не идеальным, если вы (как и я в этом случае) используете некоторую программу FTP / SCP GUI для загрузки и редактирования конфигураций на удаленных серверах, это задание может быть тихо удалено выскочкой при редактировании файла таким образом. [ ! d6]

, чтобы исправить просто сделать это (это спасло меня)

  touch / etc / init / *  

] он будет генерировать события inotify, чтобы обновить все upstart confs.

46
ответ дан 10 August 2018 в 10:06

У меня была такая же проблема в моих контейнерах Docker Ubuntu 14.04. Как оказалось, изображение Ubuntu 14.04 (если не другие) для Docker не поддерживает Upstart так же, как полная виртуальная машина.

Чтобы ответить на этот вопрос, почему служба не запускается, это связано с тем, что initctl не является реальной программой Upstart: она сопоставляется с /bin/true.

Чтобы проверить запуск следующий за контейнером Ubuntu 14.04 Docker против Vagrant и с капелькой DigitalOcean

  $ ls -al / sbin / initctl  

Вы увидите initctl не то же самое в Docker и других.

Ссылка, которая может способствовать вашему пониманию .. https://github.com/docker/docker/issues/1024

2
ответ дан 13 August 2018 в 16:26
  • 1
    Идти в ту же проблему с докером: короче говоря, и суммировать, докер выполняет только один процесс за раз, поэтому он не может запускать выскочку и что-то еще. Чтобы перезапустить службу, если / когда она умирает, я закончил использование supervisord. PS: вы не должны запускать несколько сервисов в контейнере: весь смысл использования контейнеров заключается в создании микросервисов, поэтому создавайте куски в отдельных контейнерах и объединяйте их с Docker-Compose – MrE 14 June 2015 в 23:12
  • 2
    Я просто столкнулся с этой статьей, и это дает очень хороший совет о том, как разделить проблемы: blog.docker.com/2014/06/why-you-dont-need-to-run-sshd-in-docker , что, вероятно, является еще лучшей стратегией использования, чем использование супервизора – MrE 15 June 2015 в 22:23

Во-первых, вы можете проверить, что ваша работа действительно известна выскочке:

  sudo initctl list |  grep your_job_name  

... где your_job_name - это имя вашего скрипта выскочки за вычетом расширения .conf .

Если он не найден, вы можете попробовать перезагрузить конфигурацию, а затем повторить проверку:

  sudo initctl reload-configuration # re-check sudo initctl list |  grep your_job_name  

Затем повторите попытку, чтобы начать работу:

  sudo start your_job_name  

Если вы не были все записи в /var/log/daemon.log или / var / log / syslog раньше, у вас могут быть некоторые из них.

26
ответ дан 13 August 2018 в 16:26
  • 1
    И что, если это показывает, что задание неизвестно выскочкам, хотя синтаксис верен и находится в / etc / init? – FvD 14 July 2013 в 01:30
  • 2
    Вы пытались запустить sudo initctl reload-configuration & quot; как было предложено? Вы проверяли разрешения, журналы, документы? – Mark Stosberg 15 July 2013 в 17:26
  • 3
    Я сделал это и снова прочитал ваш комментарий. Даже убедитесь, что пользователь был системным пользователем (useradd -r). Возможно, может быть что-то еще неправильное - не связанное с выскочкой - поэтому я отправил проблему разработчикам службы, которую я пытаюсь запустить (это блестящий сервер, который я пытаюсь запустить при загрузке). – FvD 15 July 2013 в 20:56
  • 4
    И ведь это были разрешения! даже несмотря на то, что при просмотре каталога все выглядело персиковым, только после того, как chmod 644 действительно запустил сценарий. Еще раз спасибо. – FvD 15 July 2013 в 23:10
  • 5
    Помните, что имя_и_и_имя отсутствует .conf. Принял у меня час, чтобы узнать. – Marcel 30 December 2016 в 22:57

Наиболее релевантная ссылка для синтаксиса файла задания будет доступна, когда вы запустите команду:

  man 5 init  

в вашей системе. Для Ubuntu 10.04, как вы нашли в предыдущем ответе, синтаксис файла pid неверен.

При каждом возврате этой ошибки «неизвестного задания» рекомендуется проверить журналы (pre 11.04, /var/log/daemon.log, 11.04 и больше все идет в / var / log / syslog)

Вы можете увидеть такую ​​ошибку:

  init: /  etc / init / test.conf: 2: Неизвестная строфа  
6
ответ дан 13 August 2018 в 16:26

В любом случае я здесь, потому что у меня была такая же проблема, но мой синтаксис был на 100% правильным.

После некоторой отладки я обнаружил еще одну проблему, которая может вызвать это «Неизвестная работа» :

upstarts использует inotify для мониторинга изменений файла .conf и заданий автоматической установки, это очень круто (для этого вам не нужно что-то вроде update.rc с выскочкой!) [ ! d2], но может быть не идеальным, если вы (как и я в этом случае) используете некоторую программу FTP / SCP GUI для загрузки и редактирования конфигураций на удаленных серверах, это задание может быть тихо удалено выскочкой при редактировании файла таким образом. [ ! d6]

, чтобы исправить просто сделать это (это спасло меня)

  touch / etc / init / *  

] он будет генерировать события inotify, чтобы обновить все upstart confs.

46
ответ дан 13 August 2018 в 16:26
  • 1
    Команда не существует в 10.04, но она существует в 12.04. – Mark Stosberg 6 May 2013 в 21:52
  • 2
    Но он не работает на безголовом сервере Ubuntu 12.04 (пока). См. [D0] bugs.launchpad.net/upstart/+bug/881885 – FvD 14 July 2013 в 02:44
  • 3
    Нашел вопрос сразу! - Должен быть встроен в команду start , чтобы она давала более информативное сообщение об ошибке ... – A T 22 February 2015 в 14:55

Вы также можете запустить init-checkconf , чтобы проверить синтаксис

  init-checkconf /etc/init/job.conf Файл /etc/init/job.conf  : синтаксис ok  
46
ответ дан 15 August 2018 в 23:11
  • 1
    Команда не существует в 10.04, но она существует в 12.04. – Mark Stosberg 6 May 2013 в 21:52
  • 2
    Но он не работает на безголовом сервере Ubuntu 12.04 (пока). См. [D0] bugs.launchpad.net/upstart/+bug/881885 – FvD 14 July 2013 в 02:44
  • 3
    Нашел вопрос сразу! - Должен быть встроен в команду start , чтобы она давала более информативное сообщение об ошибке ... – A T 22 February 2015 в 14:55

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

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