Ответы пользователя по тегу Linux
  • Что может линукс, чего не может Mac?

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

    Периферия - отдельная сага. Если у macOS все плохо, мало поддерживаемых устройств и т.д., то у Linux это какой-то ад. Если оно и есть, то работает, то нет. Даже банальный Wi-Fi в Linux редко поднимается без бубна.

    Приличного софта для творческой работы - нет. Нет ничего близко похожего на Adobe Premier или Final Cut.

    У Linux очень много хорошего сетевого и системного софта, разного рода серверов и т.д. Хотя на macOS много чего портировано через macports и очень много всего в homebrew.

    Насчет Docker - многие не понимают, что он работает изначально на основе Linux Kernel API. Логично ожидать, что на любой не Linux платформе Docker будет работать иначе и потребует ту или иную имплементацию нижних уровней API, например Linux внутри виртуальной машины или же отдельную реализацию API.

    С чем у macOS плохо - с кастомизацией интерфейса и наличием разного рода промышленного софта, CAD/BP и т.д. Есть очень много программ, которые пишутся исключительно под Windows. Часть из них работает в Wine, но большинство - нет.

    Про железо могу сказать следующее - iMac вне конкуренции. Если ноуты есть сравнимые по цене, тот тут альтернатив просто нет.
    Да, на первый взгляд выглядит жутко дорого. Но если взять даже самый дешевый iMac за $1,799.00 это будет выгоднее, чем просто купить 5K монитор за $949.66 и докупить еще всего барахла. А моноблок с 5K экраном за эти деньги наверно вообще нереалистично купить.
    Ответ написан
    7 комментариев
  • Есть ли библиотеки для PHP (может даже PECL) для работы со звуком (подключиться к PulseAudio)?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    1. Изучаем PulseAudio, особенно D-Bus.
    https://gavv.github.io/articles/pulseaudio-under-t...

    2. Управляем всем через D-Bus
    https://github.com/derickr/pecl-dbus

    Также можно почитать про самописные расширения на PHP и сделать свое для воспроизведения опираясь на этот пример https://freedesktop.org/software/pulseaudio/doxyge...

    Альтернативный подход - управлять другой программой через какой-нибудь IPC.
    Например https://milesalan.com/notes/mplayers-fifo/
    https://github.com/TheJosh/mplayer-web-remote/blob...
    Ответ написан
    2 комментария
  • Сайт в локальной сети на сервере и интернет, там где нет сети?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Начнем с простых технических требований.
    Хранение данных. В современном мире фильм среднего качества хотя бы в 720p занимает 1 GB/Hr. Т.е. 2 GB на киношку. 50 фильмов = 100 GB на жестком.

    Я рекомендую остановиться на 256 GB SSD. SSD необходим по 2-м причинам - работа в автобусе предполагает значительное количество вибраций, что будет приводить к выходу из строя обычных жестких дисков, кроме этого многопоточный стриминг требует доступа к 20 различным файлам одновременного доступа на довольно значительном рейте, чего не может вам дать обычный жесткий диск.
    По поводу остальной части компьютера - лучше всего брать какой-нибудь мини-компьютер без вентилятора, типа такого. Без вентилятора очень важно ибо запаритесь чистить пыль и менять вентиляторы. К компу обязательно переобразователь-стабилизатор от борт-сети автобуса. Можно такие поискать на AliExpress, но лучше найти электронщиков/радиолюбителей, они сделают все правильно.

    По поводу сети получается от 2.5 MBit/s на клиента. Плюс для поддержки авторизации и странички потребуется captive portal. Для стабильной раздачи на такой скорости для такого количества клиентов обычные домашние точки доступа не подойдут, нужны точки доступа корпоративного уровня. Я советую присмотреться к двухдиапазонным точкам от Ubiquiti или Microtik. Задача точки доступа просто перенаправить человека на сервер.

    В плане софта для сервера однозначно Linux, nginx + hls + mp4 streaming. Видео обязательно переконвертировать в mp4 c оптимизацией для веб. Для сервера нужно будет написать небольшой скриптик, который обойдет директории с фильмами и сгенерирует индекс плюс по небольшой страничке под каждый файл.

    Поскольку в самих ПК тоже есть wi-fi, их можно настроить на подключение к домашней "межавтобусной сети". Смысл ее заключается в простой вещи. На каждый компьютер устанавливается syncthing, который будет синхронизировать ролики между компьютерами. Т.е. достаточно будет положить видео на один компьютер и все остальные синхронизируются между собой. Не очень быстро, но просто в обслуживании.

    Если очень хочется современных решений, то смотрите сюда https://mobileonboard.com/beam-bus-wifi-systems/ и здесь https://www.quora.com/What-is-the-best-system-for-...
    Но тема такая, что вам нужно специализированный программно-аппаратный комплекс. Увы, стоить он будет дороже автобуса. Просто по-хорошему нужно взять комп и точку доступа, собрать к ним адаптеры по питанию, засунуть все в нормальный, стойкий к вибрациям и перепадам температур корпус. Да еще и приладить к этому всему софт. Несмотря на внешнюю простоту, это сложное техническое решение.
    Ответ написан
    Комментировать
  • Сайт, в котором в несколько кликов можно в облаке запустить виртуальную машину с линуксом на борту?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Это любой нормальный VPS/VDS хостинг делает. Если хотите сделать локальную машину и показывать ее клиенту, можно сделать через Vagrant и потом делать vagrant share.
    Ответ написан
    Комментировать
  • Как организовать непрерывную прослушку микрофона и реакцию на определенное слово?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Если нет подключения к Интернет, то нужно что-то вроде этого cmusphinx.sourceforge.net/wiki

    Если есть подключение к сети, то полно скриптов, которые умеют слушать в непрерывном режиме и скармливать услышанное Google Speech API. А дальше дело техники.
    Ответ написан
    Комментировать
  • Как запустить php в screen одной командой?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    https://www.gnu.org/software/screen/manual/screen....

    screen -S YourScreenSessionName -p 0 -X stuff "$(printf "php src/workers/myworker.php\r")"
    
    ######
    
    -S YourScreenSessionName говорит, что имя вашей сессии будет YourScreenSessionName
    -p 0 устанавливает номер окна, в котором будет запущена команда
    -X stuff утверждает, что нужно выполнить команду stuff
    stuff принимает команду "$(printf "php src/workers/myworker.php\r")"  из буфера 
             и печатает ее внутри сессии
    $(printf "php src/workers/myworker.php\r")  выполняет роль вызова, 
            который напечатает php src/workers/myworker.php в консоли  
            и \r нажмет Enter


    Например, запуск конвертера

    #!/usr/bin/env bash
    
    echo "Starting converter"
    screen -dmS converter
    screen -S converter -p 0 -X stuff "$(printf "php src/workers/converter.php\r")"
    Ответ написан
    2 комментария
  • Причину зависания Apache нашел. Но как решить?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Комментировать
  • Что учить, чтобы расти в сторону DevOps?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    DevOps расшифровывается как Development Operations.
    В повседневные задачи DevOps инженера входит управление инфраструктурой приложений (в основном веб).
    Что должен знать и уметь такой инженер - например по клику кнопкой в нужном датацентре произошел деплой приложения. DevOps должен суметь создать этот интерфейс с кнопкой и автоматизировать процесс приобретения инстанса (например в AWS), установки операционной системы и необходимых пакетов, доставки приложения на этот инстанс, прописывания всех настроек в приложении и приведение приложения в полную боевую готовность, т.е. состояние, в котором к приложению можно пускать пользователей.

    По пунктам, что нужно знать и уметь:
    • неистово учиться и гуглить
    • сетевые технологии, на уровне маршрутизации, TCP/IP, DNS, SMTP и остальных протоколов начиная с 3 уровня модели OSI
    • сетевые операционные системы (преимущественно семейства Linux) на уровне автоматизирования установки, обновления, настройки безопасности и мониторинга
    • системы виртуализации (Xen, OpenVZ) и контейнеризации (Docker, Vagrant)
    • настраивать сервера и мигрировать конфигурации, например перейти с Apache на Nginx, или с PHP на HHVM
    • Chef
    • Puppet
    • Ansible
    • Capistrano
    • VCS
    • AWS/OpWorks/CloudFormation/CodeDeploy, OpenStack
    • Munin/Logstash/Kibana и другие связки для мониторинга
    • Continuous delivery
    • Программировать на Bash, Ruby, Python, Go, Perl, уметь понимать конфиги на самых экзотических языках, например YAML
    • TDD
    • продукты hashicorp
    • автоматизировать создание и восстановление бэкапов баз данных
    • масштабировать приложения по горизонтали (настраивать балансировщики, реверс-проксирование, шардинг и репликацию в базах)
    • рассчитывать и оптимизировать издержки на поддержание инфраструктуры приложений
    • видеть будущее инфраструктуры приложения и компании, двигать инфраструктуру в это будущее


    DevOps - это хипстерный вариант программирующего сисадмина. Нужно уметь очень быстро учиться и непрерывно осваивать новые технологии. Если какая-то технология только в альфе, вы уже должны учиться уметь ею пользоваться. В момент беты вы ее уже должны обкатывать в пилотных проектах, а релиз должен автоматизированно устанавливаться в продакшене.
    Ответ написан
    13 комментариев
  • Как сделать ERROR PAGE в Squid?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Комментировать
  • Безболезненная эволюция работающего локального корпоративного сервера?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Да. Вы можете запустить два squid'a c разными файлами конфигурации и портами. Единственная проблема, это прозрачный прокси, тут прийдется немного повозиться. Ну и сделать whitelist для машинок, требующих NAT.
    Ответ написан
    Комментировать
  • Как диагностировать линукс сервер?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Скорее не ответ, а дополнение к предыдущим ответам. Мне вот эта картинка помогает

    linux_observability_tools.png

    И статья тоже рекомендуется www.brendangregg.com/blog/2014-08-23/linux-perf-to...
    Ответ написан
    Комментировать