Задать вопрос
  • Как работают установщики OS Linux?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Тут есть вопрос о железе на которое будет все раскатываться и конечной цели.
    Если предположить что везде будет uefi совместимая загрузка, пользователи локальные то я бы сделал так.
    Взял арч.
    Написал скрипт.
    1) Разметка диска скриптом через sfdisk. Грубо на 2 части, /boot и / .Первый vfat на пол гига, все остальное ext4 под / . Назначение единнообразных лейблов разделам чтобы потом грузится по ним а не по UUID, скажем arch_boot и arch_root.
    2) Установка базовой ОС. Локаль, часовой пояс, hostname и прочая мелочь.
    3) Установка дополнительных пакетов необходимых, DE и прочее именно необходимое.
    4) Установка systemd-boot в качестве бутлоадера. Максимально просто. Копирование заранее созданного конфига для бута ОС. Создание правила пакмана для обновления systemd-boot после обновы пакета с ним.
    5) Включение службы systemd-timesyncd . Копирование конфига для него с прописанным сервером времени.
    6) Отключение службы сети от DE и включение службы systemd-networkd, копирование конфига или конфигов нужных. Включение systemd-resolved (если необходимо то конфиг с прописанными dns нужными).
    7) Запуск systemd-homed , копирование "рыбы"(или старого хомяка ) директории пользователя с конфигами софта который будет использоваться. (внезапно это удобно, если не заморачиваться с luks).
    8) Накатка административных кофигов, ssh\ftp и прочего.

    Т.е. весь скрипт фактически сводится к автоматической разметке диска, установке пачки пакетов. Копирование конфигов и хомяка, включение служб. В случае арча я бы еще пошаманил в конфигах пакмана запретив распаковывать некоторые файлы, типа исходников, ненужных локалей и прочего ненужного обычному пользователю в целях уменьшения итоговой системы. Единожды подготовив все можно получить универсальный скрипт инсталяции в котором всегда будет свежая система.
    Конечно если у вас там ldap и большая завязка на что то, то вероятно, такой способ будет не совсем удобным.
    Если все в пределах локалки то тут скорее всего в разы удобнее будет pxe загрузка какого нибудь thinstation.

    Касательно изначального вопроса про упаковку всей системы в tar.gz архив, вариант не очень хороший по многим причинам но имеет право жизни если вы будете учитывать все нюансы этого подхода.
    Ответ написан
  • Как заставить работать linux в двух DNS зонах?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Нужен резолвер поумнее стандартного. BIND например а в нем что то типа такого:
    zone "." IN {
        type forward;
        forward only;
        forwarders {internet;};
    };
    
    zone "private-lan.corp" IN {
        type forward;
        forward only;
        forwarders {private;};
    };

    Похожее есть и в других, к примеру точно есть в adguard home.
    Так же есть такая фича в systemd-resolved. Читал но не пробовал лично.
    Ответ написан
    2 комментария
  • Как правильно составить путь до файла?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    java.io.IOException: The filename, directory name, or volume label syntax is incorrect

    имя файла, имя директории, или имя тома некорректно.

    В официальной документации Log4J 2 сказано, что

    fileName String The name of the file to write to. If the file, or any of its parent directories, do not exist, they will be created.

    что означает, если файл отсутствует по заданному пути, он будет создан. По каким правилам тогда задается путь?

    Отлично, но есть еще ограничения имен самой ОС и\или ФС в ней.
    В Windows это \/:*?<>"|
    Также есть ограничения и в самих словах и по ссылке выше найдете и их.
    В общем это не проблема самой java, и вообще не проблема, это ограничения ФС и ОС.
    Ответ написан
  • Какие есть подставки для телефона для разработчика?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Ответ написан
    Комментировать
  • Что лучше купить в 2021 году, Grandstream HT818 или б\у Linksys spa8000?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Линксис не доводилось тыкать. Из грандстримов есть в обиходе десяток HT701. За 7 лет подох 1, причем помер буквально за 2 месяца. Не ручаюсь за более новые модели но вот список претензий:
    1) В очень редких случаях бывает что они при перезагрузке могут сброситься в дефольный IP адрес, перезагружаешь еще раз и все становится нормально. При этом пофиг IP выдается по dhcp или статикой прописан.
    2) Линию в 30 метров тянут, если больше то могут быть проблемы.
    3) Ущербная настройка и параметры.
    4) Настройки частот и длительностей есть, но осцилограф всегда показывал чудовищный разбег. Если будет стоять просто ТА то ничего страшно.
    5) Из за п4. адекватно настроить такой шлюз как СЛ с другой АТС та еще проблема.

    Абсолютно все вышеперечисленное относится и к FXO шлюзам грандстрима.
    Ответ написан
  • Не собрать Qt. Ищет libQt5Core.so, а есть libQt5Core.so.5.15.2. Что делать?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Это нормально и повсеместно не только для qt.
    ln -s libQt5Core.so.5.15.2 libQt5Core.so
    Ответ написан
    3 комментария
  • Как выполнить скомпилированный Java класс на Android?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Вам нужен jdk\jre, для termux были порты.
    Ответ написан
  • Как функциональней распорядиться местом на жестких дисках в Linux?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Также можете и раскидать все что надо и как вам надо.
    В самом простом случае можете так:
    1) 60 гб ssd под /
    2) 120gb ssd под /home
    3) HDD 800гб. Откусить раздел на 100гб и смонтировать под /var/cache/pacman/pkg/ (кэш пакетов арча, у убунты свой путь будет)
    4) HDD 800гб. Оставшиеся 700ГБ можете сделать , ну например, для файлопомойки. Смонтировать в /помойка
    5) HDD 1тб смонтировать в /ценное

    Это просто, исключительно, как пример.
    Ответ написан
    Комментировать
  • Yeastar возможен ли звонок на группу номеров одновременно?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Функция что вам нужна называется Paging/Intercom или по нашему ГГС.
    snom pa1 какраз для этого и сделан для ГГС. В него подключается динамик который и будет оповещать.
    Работает просто, на АТС находите Paging/Intercom , назначаете номер этой группы, в эту группу засовываете все номера на которых сидят snom pa1. Звоните на этот номер и матюгальники из этой группы разом включатся и будут вещать что наговорите.
    Ответ написан
    Комментировать
  • SIP транк, за что всё таки нужно платить?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Считают сколько у них идут затраты, срок окупаемости и сверху присыпают суммой для дохода.
    Примерно так:
    Стоимость купленного оборудования(поделенное на вероятный срок его работы и числа клиентов) + стоимость обслуживания (зарплаты всем, налоги) + стоимость ремонта(вероятного в случае ЧП) + стоимость СОРМ + стоимость аренды номеров и т.д. и т.п. Все это делится на число клиентов. И так выходит итоговая стоимость услуги.
    Из воздуха ничего не берется и просто так от балды никто не рисует ценник на услугу, по крайней мере так где все легально, чисто и бело по букве закона. Если конечно опсос полулегальный типа накупил кучу шлюзов gsm, натыкал в них симкарт раздобытых неизвестно где, худо бедно на коленке заставил все это работать а потом продает. Но тут надо понимать что это незаконно, за это можете и как клиент загреметь, никто ничего не гарантирует.
    Ответ написан
    Комментировать
  • SIP trunk в vlan (mikroik)?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    2 vlan на порту смотрящим на провайдера.
    vlan300 для инета.
    vlan301 sip пробрасываете прям до freepbx.
    на freepbx на физическом порту добавляете vlan301.
    Итого инет инетом. А SIP бегает напрямую мимо фаирволов и прочих радостей, кроме того никакого бродкаста и подозрительной активности не будет и шансов что у провайдера сработает бан гораздо меньше. В общем нефиг совать линк для телефонки в общую сеть.
    Ответ написан
  • Как обновить Asterisk 1.8?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Есть золотое правило: работает? Не трогай!.
    По сути вопроса, для начала зачем вы хотите обновляться? Если есть веская причина то:
    1) Поднимайте в виртуалке нужную версию астера.
    2) По кусочкам переносите конфиги, базы.
    3) По кусочкам переносите скрипты.
    4) Переносите свою веб панельку.
    На каждом этапе протыкать все возможные ситуации.
    До этого рекомендую почитать что менялось в астерисках по чейнджлогам во всех версиях вплоть до нужной на которую обновляетесь.
    Ответ написан
    3 комментария
  • Как обеспечить целостность данных в EEPROM памяти и FLASH памяти с постраничным стиранием?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Обверните структуры в "пакеты". Длинна структуры у вас не меняется, изменяется только содержимое. Тогда делаете примерно такой пакет:
    [МАРКЕР_НАЧАЛА_СТРУКТУРЫ][ДЛИННА_СТРУКТУРЫ][ДАННЫЕ_СТРУКТУРЫ][CRC-8_СТРУКТУРЫ][МАРКЕР_КОНЦА_СТРУКТУРЫ]

    Изменяться у вас будет только [ДАННЫЕ_СТРУКТУРЫ] и [CRC-8_СТРУКТУРЫ].
    Как результат сможете легко пробежать по всей памяти, найти все структуры, сравнить crc, обнаружить битые и решать что с этим делать т.к. сможете только предсказать что вот тут явно что то не так.
    Как минус избыточный объем данных за счет маркеров, длинны и crc. Но это можно оптимизировать исходя из ваших реалий, скажем если структуры не особо длинные то [МАРКЕР_НАЧАЛА_СТРУКТУРЫ][ДЛИННА_СТРУКТУРЫ] можно объединить в 1 байт вместо 2х(2-3 или 4 бита отдать под маркер а остальное под длинну).

    Это с ходу что в голову пришло.
    Ответ написан
    1 комментарий
  • Можно ли завести 2 оптические линии на 1 SFP Mikrotik?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Хороший вариант:
    Кабель от каждой точки до офиса, в офисе микрот с кучей sfp(есть такие у них). Все соединяете и радуетесь. Работать будет прекрасно, надежность хорошая.

    Вариант нормальный:
    Кабель от офиса в каждую сторону, там через микротики с помощью sfp делаете вход\уход к следующей точке. Тоже хорошо все но узлы "транзитные" будут критическими точками, вылетает узел и все что за ним соответственно отвалится.

    По поводу sfp:
    1) Расстояния пишут не просто так, ваш S+C61DLC10D модуль на 10км и на таком расстоянии он и\или его спалят такие же модули. Берите на меньшие расстояния.
    2) Берите самые простые модули.
    Ответ написан
    5 комментариев
  • Почему прерывается регистрация VoIP с роутером Mikrotik при закрытии WinBox?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    1) В ip-firewall-Service ports в пункте sip порты корректные стоят? Какой таймаут стоит?
    2) Какой таймаут сип регистрации стоит в телефоне?
    3) Какой таймаут требует sip провайдер?
    Ответ написан
  • Удобный софт для полного бекапа рабочей машины на Ubuntu?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Тут множество вопросов и такое же количество вариантов ответов, если вкратце:
    Хотите просто? Берите платное решение типа акрониса или подобных.
    Хотите бесплатно? Миритесь с тем что есть в виде готового и подбирайте максимально подходящее вам.
    Хотите именно так как надо Вам? Проявляете сноровку, голову, руки и пару дней времени. Получите ровно то что вам необходимо, конкретно Вам и конкретно под ваши задачи.
    Ответ написан
  • Кто может помочь с моим paint на Java?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Тупой способ:
    1) перед началом рисования полностью копируете весь холст без новой фигуры. Т.е. в момент тыка мышкой.
    ...
    2) Вставляете на основной холст чистую копию без фигуры
    3) Рисуете прямоугольник
    g2.setColor(Color.white);
    g2.drawRect(startX, startY, endX, endY);


    По правильному, за которое вам не оторвут руки.
    Перед рисованием фигуры поверх холста делаете прозрачный холст и рисуете уже на нем. Как только нарисовали сводим полученное в результат.
    Ответ написан
  • Актуальную система для сборки дистрибутива Linux?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Один раз сделайте установочник для своего чуда юда и это будет удобно всем.
    Условно такой принцип:
    Как зависимость указать "Postres с postgis и timeseriesD". Это установится до установки уже вашего пакета.
    Дальше ставится ваше пакет который копирует нужные конфиги. Запускает скрипт который скажем инициализирует БД и прочее в " Postres с postgis и timeseriesD".
    Копирует ваш бинарник в удобное место.
    Создает ярлыки.

    Занимать это будет смешной объем. Удобно отдавать клиентам для обновы и прочее. Само Поставит все необходимое и сконфигурирует.
    А с дистрибутивом что делать собрираетесь? Обновили свою прогу или табличку в бд и отправлять клиенту целый дистр? Чтобы он каждый раз его переустанавливал? Или будете писать тонны инструкций Как поставить дист а потом еще и обновлять? Не занимайтесь чушью, все уже давно придумано за вас и лежит на блюдечке, собрать установочный пакет, на крайний случай nspawn\docker\snap\...

    Ну и кроме того, ни одна контора не даст ставить у себя непонятно чей и кем собранный\переделанный дистрибутив.
    Ответ написан
    Комментировать
  • Почему не идён звонок на два одинаковых номера?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Тут разные варианты есть. В случае pjsip
    context local-phones {
    	_3XXX=> {
    		Dial(${PJSIP_DIAL_CONTACTS(${EXTEN})},,r);
    		HangUp;
    	}
    }

    В случае sip выше предложили уже но повторю для полноты.
    Тут надо заметить что в примере:
    3ХХХ условно офисный номер
    13ХХХ условно мобильный номер, у номера надо будет переопределить callerid для исходящих.
    В целом это называется "Hunt Group" и в какомто смысле это чуть более простая вещь чем следующий вариант.
    context local-phones {
    	_3XXX=> {
    		Dial(SIP/${EXTEN}&SIP/1${EXTEN},,r);
    		HangUp;
    	}
    }


    Дальше есть вариант с followme но пример не дам т.к. это довольно комплексная штука уже.
    Еще есть, но честно никогда не пробовал, DIALGROUP.
    Ответ написан
    Комментировать
  • Как прописать мой скрипт в автозагрузку Raspbian?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Для начала положи zmp в opt как это рекомендуется.
    Далее учи systemd.
    Создай файл /etc/systemd/system/zmp-tv.service
    С содержимым:
    [Unit]
    Description=ZMediaProxy tv
    After=network.target
    
    [Service]
    Type=simple
    NonBlocking=true
    WorkingDirectory=/opt
    ExecStart=/opt/zmp-linux-arm7 --host "192.168.88.99" --best http://immo.date/ero.m3u
    ExecStop=/usr/bin/killall -w zmp-linux-arm7
    Restart=on-failure
    RestartSec=10s
    TimeoutSec=120s
    
    [Install]
    WantedBy=multi-user.target


    Дальше обновляешь
    systemctl daemon-reload
    Добавляешь автозапуск
    systemctl enable zmp-tv.service
    Запускаешь
    systemctl start zmp-tv.service
    Посмотреть состояние
    systemctl status zmp-tv.service
    Посмотреть логи
    journalctl -eu zmp-tv.service
    Ответ написан
    Комментировать