Jump to content
  • 0

Как запустить, остановить и добавить в автозагрузку пакет OpenWRT ?


iFinder

Question

Как запустить, остановить и добавить в автозагрузку пакет OpenWRT ?

К сожалению, поиск по форуму и интернету не увенчался успехом.

Заранее благодарен

Link to comment
Share on other sites

Recommended Posts

  • 0
2 часа назад, iFinder сказал:

Неужели так никто и не сможет поделиться информацией по ответу на вопрос

Ответ есть во многих темах этого форума. Он есть и в wiki проекта, но на английской языке.

"Учу пользоваться поиском! Дорого!" (С) Народный

  • Thanks 1
Link to comment
Share on other sites

  • 0

Давайте тогда как в школе закрепим материал. То что ndms не openwrt, надеюсь вы поняли? 

Идём дальше. Коли openwrt не ndms, логично что его пакеты автоматически не подходят для OS на роутере. 

Продолжаем. Казалось бы тупик? Ан нет, есть выход. Имя его entware. Но, в свою очередь, entware это не ndms и не openwrt. Пакетная база entware содержит аналоги openwrt. 

 Краткий вводный курс окончен. 

P. S. Это пытались до вас донести все отписавшиеся в топе. Ставьте на внешний носитель entware, и упражняйтесь на нём в реализации ваших пожеланий...

Link to comment
Share on other sites

  • 0
6 часов назад, iFinder сказал:

... добавить в автозагрузку...

Создать скрипт запуска, разместить его в /opt/etc/init.d/ и сделать его исполняемым.

6 часов назад, iFinder сказал:

... Как запустить...

Для автостарта, имя созданного скрипта должно начинаться с `S`, либо, для ручного старта набрать: `/opt/etc/init.d/SNN_имя start` , где NN - присвоенный номер. Скрипты запуска, начинающиеся с `K` исключаются из автозапуска (для ручного запуска см. пример с `S`)

6 часов назад, iFinder сказал:

... остановить...

`/opt/etc/init.d/SNN_имя stop` (S,K,NN см. выше)

 

  • Thanks 1
  • Upvote 1
Link to comment
Share on other sites

  • 0

ОГРОМНОЕ СПАСИБО !

Начинающие участники форума оценили бы, если это появится среди прикрепленных тем (в шапке) !

1 час назад, TheBB сказал:
8 часов назад, iFinder сказал:

... добавить в автозагрузку...

Создать скрипт запуска, разместить его в /opt/etc/init.d/ и сделать его исполняемым.

1. На форуме раньше я встречал SNNимя, т.е. без "_". Или SNN_имя это для для entware. А SNNимя для Entware-Keenetic ?

2. Чтобы сделать скрипт запуска исполняемым надо в консоли SSH-сессии один раз выполнить команду:

chmod +x /opt/etc/init.d/SNN_имя

Правильно ?

По крайне мере у меня при выполнении этой команды файл /opt/etc/init.d/SNN_имя стал в MC отображаться со звездочкой (а я то думал, что она означает 1).

ПРИМЕЧАНИЕ: MC - это GNU Midnight Commander - это визуальный файловый менеджер. Это многофункциональное полноэкранное текстовое приложение, которое позволяет копировать, перемещать и удалять файлы и деревья каталогов, искать файлы и запускать команды в подоболочке. Внутренний просмотрщик и редактор также включены. Его, как пакет, надо также предварительно установить. Как создать с его помощью новый файл я пока не знаю. Поэтому скопировал любой имеющийся и затем его переименовал в SNN_имя.

3. А что нужно указывать в самом скрипте ? Анализ фрагментов, имеющихся на форуме, всегда начинается с

#!/bin/sh

а что дальше должно быть ?

В одном месте этого форума, например, так:

ENABLED=yes
PROCS=microdc2  (в общем случае "имя")
ARGS=""
PREARGS=""
DESC=$PROCS
PATH==/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin

. /opt/etc/init.d/rc.func

В другом форуме, например для OpenWRT, так:

START=80
#APP=`which mosquitto`
  (в общем случае "имя")
APP=`mosquitto`

 

Edited by iFinder
Link to comment
Share on other sites

  • 0
5 часов назад, zyxmon сказал:

Он есть и в wiki проекта, но на английской языке

Спасибо за информацию, но какого именно проекта ?

Link to comment
Share on other sites

  • 0
43 минуты назад, iFinder сказал:

1. На форуме...

без разницы

43 минуты назад, iFinder сказал:

2. Чтобы сделать...

да

44 минуты назад, iFinder сказал:

PROCS=

имя файла/скрипта

44 минуты назад, iFinder сказал:

ARGS=

параметры запуска файла/скрипта

45 минут назад, iFinder сказал:

В другом форуме...

там иная система инициализации запуска

  • Upvote 1
Link to comment
Share on other sites

  • 0

В итоге получается, что содержание скрипта запуска должно быть таким (на примере mosquitto):

#!/bin/sh

PROCS=mosquitto

ARGS="-c /opt/etc/mosquitto/mosquitto.conf -d"

Так ?

И это все ?

Link to comment
Share on other sites

  • 0
22 минуты назад, iFinder сказал:

И это все ?

Если корректно работает запуск/перезапуск/остановка, значит - всё. )))

  • Upvote 1
Link to comment
Share on other sites

  • 0
6 минут назад, TheBB сказал:

Если корректно работает запуск/перезапуск/остановка, значит - всё. )))

К сожалению:

автозапуск после перезагрузки НЕ разботает.

на перезапуск и остановку никак не реагирует.

Link to comment
Share on other sites

  • 0

Итак, подвожу промежуточные итоги по автозапуску пакета (на примере mosquitto):

1. Создал скрипт запуска "S10_mosquitto" и разместил его в "/opt/etc/init.d/"

2. Сделал скрипт запуска исполняемым (в консоли SSH-сессии один раз выполнил команду):

chmod +x /opt/etc/init.d/S10_mosquitto

3. Содержание скрипта пробовал в нескольких вариантах (с помощью пакета MC):

#!/bin/sh
PROCS=mosquitto
ARGS="-c /opt/etc/mosquitto/mosquitto.conf -d"

 
#!/bin/sh
ENABLED=yes
PROCS=mosquitto
PREARGS=""
DESC=$PROCS
ARGS="-c /opt/etc/mosquitto/mosquitto.conf -d"
PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin

4. При перезагрузке роутера пакет не автозапускается

5. Реакции на команды НЕТ:

/opt/etc/init.d/S10_mosquitto start

/opt/etc/init.d/S10_mosquitto stop

6. Запуск пакета командой вручную проходит успешно: 

mosquitto -c /opt/etc/mosquitto/mosquitto.conf -d

КУДА КОПАТЬ ДАЛЬШЕ ?

Edited by iFinder
Link to comment
Share on other sites

  • 0

В итоге вышел на вопрос:

Как имея работающую вручную команду "mosquitto -c /opt/etc/mosquitto/mosquitto.conf -d" изложить её в скрипте запуска ?

Edited by iFinder
Link to comment
Share on other sites

  • 0

@TheBB использование Entware подразумевает способность искать и читать найденное. Не стоит помогать тем, кто это делать не умеет. У вопрошающего было 12 дней на поиски. Не нашел, значит и учить не нужно. Объяснять почему - не буду.

Link to comment
Share on other sites

  • 0
12 минуты назад, iFinder сказал:

Как имея работающую вручную команду "mosquitto -c /opt/etc/mosquitto/mosquitto.conf -d" изложить её в скрипте запуска ?

Вы дурачок или прикидываетесь?

Link to comment
Share on other sites

  • 0
49 минут назад, zyxmon сказал:

Не нашел, значит и учить не нужно

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

К сожалению, Ваше поведение все больше становится похоже на Флуд и Флейм. Это Ваш авторитет не поднимет.

Было бы разумно взять пример с уважаемого TheBB.

Edited by iFinder
Link to comment
Share on other sites

  • 0
48 минут назад, zyxmon сказал:

Вы дурачок или прикидываетесь?

Слишком грубо. Таким образом Вы позорите форум.

 

Но я не об этом. В любом случае Вам спасибо: натолкнули меня на мысль, что здесь все очень просто.

Может тогда написать в скрипте:

mosquitto -c /opt/etc/mosquitto/mosquitto.conf -d

mosquitto -c /opt/etc/mosquitto/mosquitto.conf -d

Но что в таком случае делать с другими строками ?

Например этими:

#!/bin/sh
PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin

 

Edited by iFinder
Link to comment
Share on other sites

  • 0

Эмпирическим путем было установлено, что скрипт запуска "S10_mosquittoможет содержать всего одну строку:

mosquitto -c /opt/etc/mosquitto/mosquitto.conf -d

Команды:

/opt/etc/init.d/S10_mosquitto start

/opt/etc/init.d/S10_mosquitto stop

отмечаются в логе ошибкой: "Error: Address already in use"

Цель добиться автозапуска достигнута.

НО сделано явно не по уму. А как правильно ?

Edited by iFinder
Link to comment
Share on other sites

  • 0
8 часов назад, iFinder сказал:

Но что в таком случае делать с другими строками ?

А вы знаете, что означает слово скрипт? Что такое параметры скрипта, как их обрабатывать? В Entware 100000000 скриптов запуска, примеры посмотреть слабО? Если теория непонятна (см мое замечание выше), сделать по аналогии. Скрипты доступны в репозитории исходных кодов проекта, или после установки пакетов. Их грубо говоря, два типа. У Вас будет работать любой из них.

Если для Вас скрипт - это просто набор букв и цифр - большая просьба изучить основы Linux на уровне продвинутого чайника (нужно 1-2 дня потратить) на другом сайте, потом возвращайтесь.

Link to comment
Share on other sites

  • 0
8 часов назад, iFinder сказал:

Это все-равно, что сообщать выпускнику школы - ты физики ядра не изучил, мы тебя в институт не примем.

Это все равно, что сказать абитуриенту - ты буквы не знаешь и читать не умеешь, мы тебя не примем.

  • Thanks 1
Link to comment
Share on other sites

  • 0
2 часа назад, zyxmon сказал:

Это все равно, что сказать абитуриенту - ты буквы не знаешь и читать не умеешь, мы тебя не примем.

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

Приношу Вам свои извинения, если чем-то обидел.

Дабы не давать Вам повод засорять тему флеймом прекращаю общение с Вами по неотносящимся к теме вопросам.

Надеюсь, это даст Вам возможность побороть внутренний конфликт и успокоится.

Edited by iFinder
Link to comment
Share on other sites

  • 0

@iFinder - это публичный форум. Тут любой имеет право отвечать на любой пост. Ваше потребля...е отношение к жизни понятно. Шанс исправится у вас возможно небольшой есть.

Link to comment
Share on other sites

  • 0
11 час назад, iFinder сказал:

Но что в таком случае делать с другими строками ?

Например этими:


#!/bin/sh
PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin

#! - после этого так называемого шебанга ставится программа-интерпретатор скрипта. Скрипт может быть написан на bash, тогда строка примет вид

#!/bin/bash

или на perl, тогда строка будет такой

#!/usr/bin/perl

Иными словами, если у скрипта есть права на запуск, то при его запуске загрузчик анализирует эту строку и передает скрипт на исполнение интерпретатору, указанному в этой строке.

Строка

PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin

инициирует переменную окружения PATH для этого скрипта. Эта переменная есть и в Windows, если вы давно пользуетесь этой системой, то могли сталкиваться с ней. Эта переменная описывает пути, где нужно искать исполняемые файлы - программы и скрипты. Эта информация есть в общем доступе и легко находится поиском. Наличие высшего образования подразумевает умение самостоятельного поиска информации, умение ее анализировать, выявление ложной информации, поиск первоисточников. Таким образом, если у вас есть высшее образование, и вы задаете подобные элементарные вопросы, это вполне можно расценить как попытку троллинга.

  • Upvote 2
Link to comment
Share on other sites

  • 0

vadimbn !

Спасибо за ценную информацию и потраченное время

Буду признателен, если дадите ссылку на описание написания скриптов Entware.

1 час назад, vadimbn сказал:

вы задаете подобные элементарные вопросы, это вполне можно расценить как попытку троллинга.

Прошу ни в коем случае не расценивать мои вопросы как попытку троллинга.

Это для Вас элементарные вопросы. А для меня совсем наоборот, т.к. никогда до этого не сталкивался с Linux.

Мой путь был банален и типичен для новичков на этом сайте:

1. За пару лет с помощью потрясающей официальной поддержки разобрался с NDMSv.2, даже нашел и сообщил о баге в прошивке.

2. Прочитал на самом роутере. "Mенеджер пакетов OPKG"

Позволяет загрузить и установить пакеты OpenWRT на интернет-центр для расширения его функциональных возможностей.

Установка пакетов не изменяет условия гарантии, однако техническая поддержка в этом случае не оказывается.

Вопросы по работе интернет-центра с установленными пакетами можно задавать в форуме сообщества Keenetic на сайте forum.keenetic.net"

3. На другом сайте прочитал, что на  OpenWRT можно поднять MQTT-сервер. Заинтересовался домашней автоматизацией.

4. Пришел на Ваш сайт и нашел исчерпывающую инструкцию по установке пакетов Entware от уважаемого TheBB

5. Воодушевленный успехом начал настраивать. За пару дней разобрался. Получилось.

6. Столкнулся с проблемой автозапуска. Поискал на форуме (см.мое первое сообщение). Информации изложенной в стиле инструкции по установке пакетов не нашел.

7. Обратился за помощью в получении информации в любом виде, в т.ч. ссылки на статьи.

8. Чтобы помощь была взаимной все еще хочу написать инструкцию новичкам как делать автозапуск.

9. Благодарил за информацию и не начинал препирательства.

 

Неужели мои долго оставшиеся без ответа просьбы

- дать ссылки по основам автозапуска в Entware,

- дать ссылки на статьи по написанию скриптов,

- как переименовать некоректно сформулированную тему

можно расценить как попытку троллинга ?

Разве в моем случае конструктивно давать общие советы типа "иди учи Linux" ? А где конкретика ?

Яркий положительный пример - это инструкция по установке пакетов Entware от уважаемого TheBB. Именно она позволяет новичку начать использовать Entware.

P.S. Мне значительно привычнее работать с информацией, чем вести пустую пересписку. Жаль так тратить драгоценное время и свое и читающих это участников форума. Написал все это только для того, чтобы всем было понятно, что речь идет не о попытке получить что-то на халяву за счет других, без собственных усилий. 

 

Edited by iFinder
Link to comment
Share on other sites

  • 0
31 минуту назад, iFinder сказал:

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

 

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

Кстати в шапке данного форума указан расплывчатый критерий технически подкован. 

Link to comment
Share on other sites

  • 0
1 час назад, iFinder сказал:

Неужели мои долго оставшиеся без ответа просьбы

- дать ссылки по основам автозапуска в Entware,

- дать ссылки на статьи по написанию скриптов,

- как переименовать некоректно сформулированную тему

можно расценить как попытку троллинга ?

Разве в моем случае конструктивно давать общие советы типа "иди учи Linux" ? А где конкретика ?

Яркий положительный пример - это инструкция по установке пакетов Entware от уважаемого TheBB. Именно она позволяет новичку начать использовать Entware.

P.S. Мне значительно привычнее работать с информацией, чем вести пустую пересписку. Жаль так тратить драгоценное время и свое и читающих это участников форума. Написал все это только для того, чтобы всем было понятно, что речь идет не о попытке получить что-то на халяву за счет других, без собственных усилий. 

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

 

Link to comment
Share on other sites

  • 0
5 минут назад, iFinder сказал:

Это для Вас элементарные вопросы. А для меня совсем наоборот, т.к. никогда до этого не сталкивался с Linux.

Я привел информацию из Wikipedia, она общедоступна, находится за пару секунд, для этого в любом поисковике надо просто ввести #!. Вот так.

11 минуту назад, iFinder сказал:

дать ссылки на статьи по написанию скриптов

Каких именно? Написание скриптов - это слишком обширная тема, придется тратить много времени и приводить очень много ссылок. В Unix/Linux существует очень много разнообразных интерпретаторов, на языках которых можно писать скрипты. Это и разнообразные оболочки-shell (bash, sh, tcsh, ksh, zsh и другие), и интерпретируемые языки программирования (python, perl, php, ruby - это только самые известные из них). Скрипты на shell могут содержать много строк, часть из которых содержит команды самого shell, а часть - команды операционной системы Unix/Linux, которые всегда присутствуют в ней либо в виде сборки busybox (набор команд для встраиваемых систем, обычно это одна программа и куча символических ссылок на нее),  либо в виде отдельных приложений. Можно писать интерактивные приложения, можно писать скрипты автозагрузки, скрипты для автоматизации вашей деятельности. Написание программ на скриптовых языках - это тема для многих и многих весьма объемных томов. Хотите найти как писать скрипты на bash - ну так и пишите в поисковике "bash скрипты".

Скрипты для автозапуска демонов в системе могут писаться с использованием некоторых соглашений, проверок, переменных среды. При этом хорошо бы руководствоваться здравым смыслом. Если вам для запуска вашего приложения будет достаточно одной строки -

путь/до/приложения/приложение -некие -параметры -приложения

и оно не требует корректного завершения (то есть, например, не пишет информацию ни в какие файлы), то зачем городить огород? Достаточно будет этой одной строчки. Если нужны корректные start/stop скрипта - то для этого надо вводить проверки текущего состояния приложения. Лучше проанализировать как созданы уже имеющиеся скрипты, использовать их в качестве примеров.

Без этих проверок ваши команды

11 час назад, iFinder сказал:

Команды:

/opt/etc/init.d/S10_mosquitto start

/opt/etc/init.d/S10_mosquitto stop

не имеют смысла, ваш скрипт содержит только одну строку для запуска приложения, которая всегда выполняется, независимо от параметров stop и start. Это и приводит к появлению ошибки

Error: Address already in use

так как приложение уже работает и занимает сокет.

  • Thanks 2
Link to comment
Share on other sites

  • 0

vadimbn !

Ну вот, постепенно прояснется ситуация. Спасибо.

Осталось узнать как переименовать тему !

И можно сводить все вместе

 

Link to comment
Share on other sites

  • 0
В 09.04.2018 в 14:07, iFinder сказал:

Ну вот и разобрались.

Хотя для меня "Готовое решение OPKG" означало пакет, т.е. не Система пакетов - а значит искать систему надо в ветке "Сборка и настройка приложений Opkg".

Но это может только у меня ...

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

В 20.04.2018 в 13:19, iFinder сказал:

Предлагаю следовать правилам форума:

1. Перестать замусоривать топик эмоциями.

2. Писать только по делу.

3. Ссылки давать только, если там есть ответ на поставленный вопрос.

4. Если нечего по сути написать - не писать вообще.

Надеюсь, что ваш энтузиазм не закончится вместе с этой темой. Мне жаль, что беседа стилем стала схожа с филиалом LOR'а. Это скорее исключение.

Link to comment
Share on other sites

  • 0
В 23.04.2018 в 10:34, Александр Рыжов сказал:

беседа стилем стала схожа с филиалом LOR'а

Разъясните, пожалуйста что Вашу мысль. что такое LOR ?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...