Задать вопрос
  • Как сделать автоматическое обновление консольного приложения в Linux на .Net Core?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Про атрибуты все уже сказали. Но если заливаете в /tmp, то там атрибуты исполнения могут сбрасываться или просто оттуда не запускаться, в зависимости от параметров монтирования /tmp!
    tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noexec)
    Вот у меня - nosuid (запрещать suid бит), noexec (запрещать исполнение), nodev (запрещать дескрипторы устройств).

    У меня процесс обновления происходит в несколько этапов
    1) скрипт запуска приложения проверяет линк в /tmp/uploaded
    - если есть, запускает приложение по этой ссылке с параметром --uploaded=path-to-new-version и удаляет саму ссылку (!)
    - если нет - запускает приложение по стандартному месту
    2) приложение проверяет по ключу --uploaded свой функционал и если все хорошо, делает линк на текущую версию на стандартное место приложения, или валится по ошибке.
    3) Когда скачалась новая версия, на нее делается ссылка в /tmp/uploaded и приложение гасится
    4) приложение перезапускается

    В результате, даже если залилось приложение с ошибками, то у меня всегда есть старая версия.
    Ответ написан
    Комментировать
  • Переходить ли с windows 10 на linux?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Ну так. Сижу на линуксе уже лет 20 (да-да, я стар, как говно мамонта, но не совсем).
    1) Рекомендую установить линукс второй системой, благо это не вызовет какой-то диссонанс.
    2) Попробовать в нем поработать. Будет дискомфорт, сильный. Придется поменять привычки, изучить командную строку и найти альтернативные программы.
    3) Конечно, 4Гб для комфортно работы маловато, но достаточно при умелом использовании.
    Далее.

    Если вы разработчик, то в линуксе все для этого есть, начиная от кучи всяких IDE (благо, они практически такие же, как и на винде), и заканчивая docker/libvirt. Все вместе значительно облегчает разработку. С примесью командной строки, а еще и например с таловым менеджером типа I3, производительность будет очень высокой, правда со временем. Уходить на винду обратно - морально себя ломать.

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

    За что я люблю линукс.
    - все на кончике пальцев, в прямом смысле слова.
    - куча рабочих столов (как и в OSX), я до сих пор не пойму, почему майкрософт это никак не внедрит в свой GUI, причем оболочки типа HP Launch для еще windows 3.11 были в 1995 году.
    - все инструменты разработки создавались изначально под командную строку и все из мира unix
    - командную строку вообще практически нечем заменить, и 40 лет развития unix сделали ее просто волшебной.
    - куча редакторов для простого текста, начиная от VI/Emacs, и заканчивая тем же самым gedit. все это с подсветкой синтаксиса, автокомплитом и прочими плюшками
    - все идет из коробки, не нужно ползать по сайтам, скачивать сомнительные программы
    - отсутствие вирусов и безопасность
    - виртуализация типа docker/libvirt, развернуть.попробовать новую систему - 5-10 минут, даже винду.
    - ну и подготовка документации, обожаю pandoc и текстовый markdown. На выходе красивые PDF, которые можно хранить под управлением git/mercurial.
    - для картинок использую inkscape.

    Да, у меня еще есть парочка макбуков и аймак, но этот текст пишу с ультрабука асус s. OSX в плане юзабилити немного лучше, но в ней нет I3.
    Ответ написан
    1 комментарий
  • Можно ли запрограммировать самодельное устройство счетчика денег?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Очень странно, есть такое понятие, как бухгалтерская книга, двойная запись, приход-расход, остаток и поступление, снятие «кассы» и отчет.. С древних времен, и без кассы, все считалось на бумаге и счетах. А с приходом кассы, осталось все тоже самое!
    https://ru.m.wikipedia.org/wiki/Двойная_запись
    Ответ написан
    Комментировать
  • Как передать координаты для захвата видео с X-сервера интерактивно в ffmpeg?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Можно использовать xdotool (ставится из репозиториев)

    Или xwininfo, есть в стандартных утилитах.

    $ xclock&
    [1] 6914
    $ xdotool search -name xclock  getwindowgeometry
    Window 6291466
      Position: 1422,487 (screen: 0)
      Geometry: 164x164
    $


    $ xwininfo -name xclock
    
    xwininfo: Window id: 0x60000a "xclock"
    
      Absolute upper-left X:  1417
      Absolute upper-left Y:  468
      Relative upper-left X:  5
      Relative upper-left Y:  19
      Width: 164
      Height: 164
      Depth: 24
      Visual: 0x20
      Visual Class: TrueColor
      Border width: 0
      Class: InputOutput
      Colormap: 0x22 (not installed)
      Bit Gravity State: NorthWestGravity
      Window Gravity State: NorthWestGravity
      Backing Store State: NotUseful
      Save Under State: no
      Map State: IsViewable
      Override Redirect State: no
      Corners:  +1417+468  -99+468  -99-418  +1417-418
      -geometry 164x164-94+449
    Ответ написан
    Комментировать
  • Насколько в Docker (Linux) медленнее будет работает MySQL?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Эта прослойка называется Cgroups и по идее, она не должна мешать вообще, так как работающие нативно программы также работают через данную прослойку, только с другими политиками. Есть одно исключение - сетевые интерфейсы, они обычно работают тоже нативно, но иногда заводятся в виртуальный бридж (коммутатор), тут есть накладные расходы на дополнительный просмотр заголовков и тегов пакета. Но обычно всем этим можно просто пренебречь и заявить, что скорость работы программ в docker/lxc/cgroups практически ничем не отличается от скорости нативных приложений.
    Другое исключение, если используем виртуализацию с аппаратным управлением (KVM), тут в зависимости от конфигурации можем проиграть от 1.5 до 10%.
    Ответ написан
    Комментировать
  • Как обрабатывать запрос от клиента к серверу и как этот же самый запрос генерировать?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Здесь типичная интеграционная задача, которую хорошо бы решать соответствующими средствами. Предлагаю посмотреть на apache camel (мой выбор) или mule esb. И там и там есть и sftp и все остальное.
    Ответ написан
    2 комментария
  • Существует ли программа для автоматизации разработки логической схемы сети?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Да. Генерите текстовый нетлист или граф, и прогоняете его через https://plantuml.com/ru/ или https://mermaid-js.github.io/mermaid
    Мне plantuml нравится.
    Ответ написан
  • Виснет ПК 1-3 раза в день. Что проверить?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Я бы проверил, что виснет именно система, а не графика. Проверка проста, если комьютер доступен по сети (ping/ssh), то виснет графика - меняйте настройки драйверов. Если недоступен, но здесь уже насоветовали и noacpi и swap...
    Ответ написан
    Комментировать
  • Java ssl клиент-сервер?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Как так нет?!вот первая же ссылка по запросу java ssl socket https://www.baeldung.com/java-ssl
    Что здесь не хватает?
    Ответ написан
    Комментировать
  • Как грамотно изолировать сервисы на linux-сервере?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Технологий конечно же есть.
    1) Это виртуализация - KVM/Xen
    На мой взгляд предпочтительнее KVM, лучше поддержка, не нужно специальное хост-ядро.
    Немного, процента на 2-3 проигрывает перед XEN, но в удобстве выигрывает однозначно. XEN - только линукс, и только со специальными патчами в ядре на хосте и клиенте.
    Фактически получаете полноценную виртуальную машину, ставите туже все, что душе угодно, хоть линукс, хоть BSD, хоть винду.
    Проблема одна - требует жесткого выделения ресурсов. Поэтому только десяток-другой виртуалок (да и то заивисит от нагрузок).
    По сравнению с железом, сожрет от 3 до 7-10 процентов производительности.
    Тем не менее: мой выбор KVM.
    2) Контейнеризация - Docker/LCX/Virtuozzo.
    Сразу скажу за virtuozzo - ничего про нее говорить не буду. В принципе - очень похожа на XEN.
    Остальные две основаны на CGroups, более того, docker внутри использует LXC.
    Docker - очень распространен и популярен, фактически лидер рынка. Заточен на запуск одной задачи в одном контейнере. Контейнеры можно объединять в группы.
    LXC/LXD - менее распростанен, но очень удобная технология, если нужно контейнеризировать окружение операционки с кучей процессов.

    Мы пользуем и Docker и LXC/LCD. И даже в LXC пускаем Docker.
    Все зависит от задачи.
    Нужен сервис с кучей процессов и окружением - LXC
    Нужен один процесс - docker.
    Нужно полноценное окружение с ядром, куртизанками и гусарами - KVM.

    По факту - около 10 виртуалок KVM, порядка 10 контейнеров LXC, и порядка 20 контейнеров Docker.
    Ответ написан
    7 комментариев
  • Есть случаи возвращения с MacOS на Windows/Linux?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, есть, я. Но не совсем вернулся. Просто жаба задушила покупать новый MacBook. Купил Asus ZenBook S в четверь дешевле. Дома естественно есть пака маков. Жалею, ну не совсем, хотя новый аир наверное после карантина все же куплю.
    Ибо: нихрена не заработала подсветка клавиатуры, какие-то проблемы с ядром и блютусом... При этом в линуксе пришлось уходить на oem-kernel (linux-oem). Да, достаточно шумная клавиатура и тачпад.
    В результате съэкономив 20к рублей не вполне счастлив. Так что скорее всего асус или старшему отдам, или будет как подменный. И пойду таки после карантина за новым аиром!

    PS. В винде не работаю, но стоит на всякий, так как с ноутом шла!

    Ах, да, забыл. Мне в линуксе немного комфортнее (i3wm), чем на маке. Хотя, не хватает автосинхронизации всех айфонов/апплетв/ноутов. Ну и к макам привых за 15 лет.
    Ответ написан
    2 комментария
  • Почему своя реализация system.arraycopy быстрее на 30%, учебники врут?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    1) Код не рабочий. Нет метода arrayCopyDouble
    2) Нет проверки выхода за границы массива.
    3) System.arraycopy действительно проигрывает на малых массивах. Зато на больших - дает существенный выигрыш.
    Вот например на массивах по 83Mb - https://stackoverflow.com/questions/18638743/is-it...
    Ответ написан
    2 комментария
  • Как создать документ library office через терминал?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Чтобы файл был либреофис, он должен быть в формате либре офис. Содержимое этого файла должно отвечать стандарту odf, как минимум.
    Ну и если вам нужно получить этот формат из входного потока, воспользуйтесь утилитой pandoc например. Ее нужно поставить отдельно, есть в пакетах основных дистрибутивов.
    Ответ написан
    Комментировать
  • Разница между DNS зоной и доменом?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Домены разбиваются на зоны, за которые отвечают индивидуальные DNS-серверы.
    Домен представляет список ресурсов, объединенных одной организационной единицей.
    К примеру, все домены с окончанием ".ru" принадлежат домену "ru".
    Зона - запись, определяющая делегирование ответственности за поддомены на другие DNS-серверы (запись типа NS).
    Ответ написан
    Комментировать
  • Установка Linux mint без флешки или диска?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Берете жеский диск из ноутбука, ставите его в комп, устанавливаете линух. После ставите его обратно в ноут.
    Ответ написан
    Комментировать
  • Активные процессы, так и должно быть?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Некоторые процессы могут порождать свои копии вполне легально и оправданно (мастер-процесс, пара.тройка процессов-воркеров). Это как раз относится к apache и php-fpm.
    Есть утилита - pstree -p, которая распечатывает дерево процессов, какой процесс и кого породил (отец-сын - parent-child) - вызовите ее и посмотрите.
    Ответ написан
  • Можно ли сделать отображение разделов дисков как в windows на linux mint?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, можно, насоздавайте себе на рабочем столе .desktop файлов с нужными именами.
    Здесь хорошее описание https://www.google.ru/amp/s/omgubuntu.ru/ubuntu-de...
    Ответ написан
    Комментировать
  • Как собрать программу воедино?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    у вас бот постоянно висит в процессах, как программа (сервис) и ждет входящих событий? У него есть несколько типов событий, подписаться, изменить расписание, разослать подписчикам расписание? Если рассылка нового расписания происходит сразу, то и вызывайте эту функцию сразу после публикации расписания. На зудой конец можно эту функцию запустить в отдельном треде, а публикацию нового расписания, или его активацию сделать через посылку специального сообщения через телеграм боту.
    Ответ написан
    Комментировать