# Плиз, научите правильно ставить софт

**URL:** <https://support.wirenboard.com/t/pliz-nauchite-pravilno-stavit-soft/12274>\
**Category:** Периферийные устройства\
**Created:** [August 16, 2022, 9:41am UTC](https://support.wirenboard.com/t/pliz-nauchite-pravilno-stavit-soft/12274 "2022-08-16T09:41:03Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vyac](https://avatars.discourse-cdn.com/v2/letter/v/e9a140/32.png) [@Vyac](https://support.wirenboard.com/u/Vyac)\
**Post date:** [August 16, 2022, 9:41am UTC](https://support.wirenboard.com/t/pliz-nauchite-pravilno-stavit-soft/12274/1 "2022-08-16T09:41:04Z")

</div>

Добрый день.  
Я понимаю, что вопрос немного не по теме, но все же…  
Есть контроллеры, несколько разных. В разных инсталляциях.  
Очень часто нужно управлять железками по SSH. Я делаю это через python/paramiko

Проблема в том, что paramiko из коробки отсутствует, необходимо поставить pip и потом paramiko. Стандартный путь - apt install python3-pip и т.д.  
Пока все сделаешь -  
/dev/root 976M 747M 163M 83% занято. Еще один шаг влево и все, no left space.

Вопрос не столько про SSH|paramiko, сколько про правильную установку сторонних пакетов. Есть ли какой-то гайд?

Памяти свободной полно, но она где-то не там, и мои лапки не позволяют ее использовать в полной мере.

---

<div class="post-metadata">

**Author:** ![Vyac](https://avatars.discourse-cdn.com/v2/letter/v/e9a140/32.png) [@Vyac](https://support.wirenboard.com/u/Vyac)\
**Post date:** [August 16, 2022, 10:32am UTC](https://support.wirenboard.com/t/pliz-nauchite-pravilno-stavit-soft/12274/2 "2022-08-16T10:32:21Z")

</div>

И, небольшое пояснение, для чего все это.  
У вас прекрасный, великолепный, чудный контроллер! Мне очень нравится с ним работать, к ее работе нет никаких нареканий. Его можно применить для управления любой железкой, у которой есть интерфейс для управления - последовательный 232, 485, TCP-сокет, telnet, ssh или просто сухой контакт, - это мне очень нравится.  
Проблема только в костылях, и в велосипедах, которые приходится собирать для управления сторонними устройствами. Поднимал я этот вопрос на выставке весной, к сожалению, никто не дал ответа - как канонично работать с сокетом или последовательным портом в вашей идеологии?  
Например, есть проектор, управляемый по TCP/232. Как правильно (по канонам wb-rules) создать к нему модуль, который будет отслеживать его состояние, и отправлять команды?

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

Перечитал свои сообщения еще раз, сообщения в теме [Катастрофическая нехватка места в системном разделе](https://support.wirenboard.com/t/katastroficheskaya-nehvatka-mesta-v-sistemnom-razdele/6322) , и решил спросить более конкретные вопросы.

1. Мне нужна поддержка SSH в питоне. Что нужно сделать, чтобы корректно добавить эту поддержку и не сократить место в системном разделе. Или, ставлю node - как сделать так, чтобы осталось место после установки?
2. Есть ли (будет ли) какой-то интерфейс|api через движок wb-rules, который позволяет работать с последовательными портами/сокетами/ssh  
например, примерно таким образом:  
var port = new Serial(’/dev/ttyMOD1’)  
port.on(‘data’, function (data) {  
// парсинг данных  
publish(’/devices/controls/ttyMOD1/data’, data)  
})  
trackMqtt(topic, function (message) {  
// преобразование сообщения в понятное устройству  
port.write(message)  
})

---

<div class="post-metadata">

**Author:** ![Explorerol](https://avatars.discourse-cdn.com/v2/letter/e/7ab992/32.png) [@Explorerol](https://support.wirenboard.com/u/Explorerol)\
**Post date:** [August 16, 2022, 1:41pm UTC](https://support.wirenboard.com/t/pliz-nauchite-pravilno-stavit-soft/12274/3 "2022-08-16T13:41:25Z")

</div>

> [@Vyac](#):
>
> ставлю node - как сделать так, чтобы осталось место после установки?

Обычно рекомендуем после установки дополнительного ПО переносить директорию с файлами пользовательских программ на раздел /mnt/data/, заменяя на старом месте директорию симлинком. Системные файлы не нужно переносить.

> Есть ли (будет ли) какой-то интерфейс|api через движок wb-rules, который позволяет работать с последовательными портами/сокетами/ssh

Пока такого механизма нет, в ближайших планах тоже. Это можно делать с помощью отдельной программы/скрипта или команды bash, которую уже вызывать из wb-rules.

Предполагаю, что вашу задачу можно решить, создав собственный образ прошивки контроллера на ПК, а затем его уже заливать в контроллеры. Привожу ссылки на документацию, где описан процесс сборки собственных прошивок:  
[https://wirenboard.com/wiki/WB\_Firmware\_Update\_Details](https://wirenboard.com/wiki/WB_Firmware_Update_Details)  
[https://wirenboard.com/wiki/Сборка\_образов\_прошивки](https://wirenboard.com/wiki/%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2_%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D0%B8)  
[https://wirenboard.com/wiki/Как\_разрабатывать\_ПО\_для\_Wiren\_Board](https://wirenboard.com/wiki/%D0%9A%D0%B0%D0%BA_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%B0%D1%82%D1%8B%D0%B2%D0%B0%D1%82%D1%8C_%D0%9F%D0%9E_%D0%B4%D0%BB%D1%8F_Wiren_Board)

---

<div class="post-metadata">

**Author:** ![Vyac](https://avatars.discourse-cdn.com/v2/letter/v/e9a140/32.png) [@Vyac](https://support.wirenboard.com/u/Vyac)\
**Post date:** [August 16, 2022, 3:40pm UTC](https://support.wirenboard.com/t/pliz-nauchite-pravilno-stavit-soft/12274/4 "2022-08-16T15:40:00Z")

</div>

> [@Explorerol](#):
>
> Пока такого механизма нет, в ближайших планах тоже. Это можно делать с помощью отдельной программы/скрипта или команды bash, которую уже вызывать из wb-rules.

Я сейчас так и делаю, только демоном в systemd. Скрипт парсит сообщения из порта/ssh и пишет/читает в mqtt-топики, все работает хорошо. Ну, нет, так нет.

> [@Explorerol](#):
>
> Предполагаю, что вашу задачу можно решить, создав собственный образ прошивки контроллера на ПК, а затем его уже заливать в контроллеры.

Если для wb7/2/64 была бы инструкция, как увеличить системный раздел, хотя бы до 4 ГБ, это было бы просто замечательно. Пусть тестовое, не боевое решение. Щас, к сожалению, времена такие, библиотека на фреймворке погроммистом погоняет.

---

<div class="post-metadata">

**Author:** ![Explorerol](https://avatars.discourse-cdn.com/v2/letter/e/7ab992/32.png) [@Explorerol](https://support.wirenboard.com/u/Explorerol)\
**Post date:** [August 17, 2022, 5:32am UTC](https://support.wirenboard.com/t/pliz-nauchite-pravilno-stavit-soft/12274/5 "2022-08-17T05:32:14Z")

</div>

> [@Vyac](#):
>
> Щас, к сожалению, времена такие, библиотека на фреймворке погроммистом погоняет.

Да, разработчики осведомлены о проблеме. Обсуждается возможность увеличения раздела rootfs, возможно, он в будущем будет увеличен.

---

<div class="post-metadata">

**Author:** ![DesperateMaker](https://support.wirenboard.com/user_avatar/support.wirenboard.com/desperatemaker/32/10935_2.png) [@DesperateMaker](https://support.wirenboard.com/u/DesperateMaker)\
**Post date:** [August 18, 2022, 5:32pm UTC](https://support.wirenboard.com/t/pliz-nauchite-pravilno-stavit-soft/12274/6 "2022-08-18T17:32:53Z")

</div>

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

Грубый метод решения проблемы:  
Действительно вставляется флешка или разделы после корневого перенарезаются через cfdisk.  
Потом создаются два раздела по 1-2 гига, куда в корень копируются /usr и /var. Потом они прописываются в fstab, рекомендую использовать также lazytime опцию, чтобы не изнашивать флеш накопитель. После чего mount -a подгружает новую таблицу разделов. Если забыть скопировать каталоги до их монтирования - будет кирпич(я так закирпичивал, пришлось отправлять на перепрошивку, но это был не вайренборд - его перепрошить можно).

Присоединюсь к страждущим: дефолтная прошивка в домашним разделом например 2гб была бы актуальна как никогда.

Сам ставлю на контроллер Docker и поднимаю микросервисы для проброса MQTT сообщений в бекенд сеть проекта. Хочется сохранять дерево зависимостей, т.е. ставить через apt, а не из бинарей, поэтому в корень.

Если нужны более подробные комментарии, you are welcome. Тема для меня крайне актуальная, прям вот сейчас готовлю тестовую партию контроллеров к деплою.

---

<div class="post-metadata">

**Author:** ![DesperateMaker](https://support.wirenboard.com/user_avatar/support.wirenboard.com/desperatemaker/32/10935_2.png) [@DesperateMaker](https://support.wirenboard.com/u/DesperateMaker)\
**Post date:** [August 18, 2022, 5:34pm UTC](https://support.wirenboard.com/t/pliz-nauchite-pravilno-stavit-soft/12274/7 "2022-08-18T17:34:35Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [August 19, 2022, 6:46am UTC](https://support.wirenboard.com/t/pliz-nauchite-pravilno-stavit-soft/12274/8 "2022-08-19T06:46:44Z")

</div>

> [@DesperateMaker](#):
>
> Действительно вставляется флешка или разделы после корневого перенарезаются через cfdisk.  
> Потом создаются два раздела по 1-2 гига, куда в корень копируются /usr и /var.

Не надо менять геометрию и количество существующих разделов. Это приведет к окирпичиванию контроллера с восстановлением на стенде у производителя.

---

<div class="post-metadata">

**Author:** ![DesperateMaker](https://support.wirenboard.com/user_avatar/support.wirenboard.com/desperatemaker/32/10935_2.png) [@DesperateMaker](https://support.wirenboard.com/u/DesperateMaker)\
**Post date:** [August 19, 2022, 7:03am UTC](https://support.wirenboard.com/t/pliz-nauchite-pravilno-stavit-soft/12274/9 "2022-08-19T07:03:06Z")

</div>

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

Концептуальная задача из-за которой возникают такие вопросы: это установка большего количества софта в дерево зависимостей apt(он это ставит всё в /usr/bin и /usr/lib), когда контроллер нужно интегрировать в какую-то систему, уже нагруженную софтом и зависимостями.

---

<div class="post-metadata">

**Author:** ![system](https://support.wirenboard.com/uploads/default/original/2X/5/5ac90dc8a7bdff486d3494a19ec6aaa6f6cc5d36.png) [@system](https://support.wirenboard.com/u/system)\
**Post date:** [August 26, 2022, 7:03am UTC](https://support.wirenboard.com/t/pliz-nauchite-pravilno-stavit-soft/12274/10 "2022-08-26T07:03:29Z")

</div>

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.
