Задать вопрос
  • Как при помощи языка Python создать спецификацию ГОСТ 2.108-68 ЕСКД в формате docx?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    В общем, все что касается PDF и ГОСТ, это сложно и очень-очень муторно. Я бы все делал в latex. А его генерировал бы из шаблона.

    Что касается docx, то его тоже можно генерировать из шаблона. Рекомендую - https://github.com/elapouya/python-docx-template
    Лучшего скорее всего ничего не найдете, ну если только на java и clojure - https://github.com/erdos/stencil :)

    А еще лучше - налепить шаблонов ГОСТ и сверху по ним печатать, установив правильные отступы на страницы и междустрочный шаг!
    И да, типографии сразу продают готовые листы шаблонов по ГОСТ.

    ЗЫ. Какой же это гиморрой я вам скажу... Как же хорошо, что я этим больше не занимаюсь!
    ЗЫЫ. И да - цифра 68 в ГОСТ 2.108-68 означает год выпуска сего опуса, когда компухтеров и текстовых процессоров и в помине не было!
    Ответ написан
    Комментировать
  • Как перенести действующие почтовые ящике с домена платного на свой?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Не знаю, как там в свиндоуз вашем, но под нормальные платформы есть утилитка https://github.com/gburd/isync
    Ответ написан
    6 комментариев
  • Настраиваю Syslogd и ещё плюсом audit, можно ли вывести на удаленный syslog сервер развернутую информацию, а не хешированную?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Для логов я бы сразу настроил что-то типа victorialogs, и собирал бы их централизованно.
    Ну или в elasticsearch клал бы, но первое более лучшее будет.
    https://docs.victoriametrics.com/victorialogs/data...

    Чем хорошо? Сразу приличный поиск, компрессия и ротация (по умолчанию 180 дней, если не ошибаюсь). Не нужно лазить по куче файлов, ну а поиск просто почти моментальный.
    Ответ написан
    Комментировать
  • Как проверить ходит ли multicast трафик между маршрутизаторами mikrotik?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Пропишите на порту с vlc ingress-группу.
    И посмотрите, не блокирует ли фаерволл мультикаст на самом компе, такое часто бываем во всяких свиндоуз. Также, если сетевых карт много, то мультикаст может не уходить на нужную карточку, тогда нужно настроить роутинг. Как в винде не помню, а в линуксах что-то типа
    ip r add 225.10.10.10/24 via dev eth123
    Ответ написан
  • Какой патч-корд мне нужен?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Ну вот что посоветую - берите плоские патч-корды!
    Как-то раз 10 лет назад накупили таких на проект. Пара штук до сих пор в рюкзаке ездит.
    Ничего не поломалось, оплетка не треснула. Цена на 5-10 процентов выше обычных, но они действительно очень живучие.

    С тех пор, если есть возможность по бюджету, то закупаю только такие.
    Из рюкзака. Оранжевый - более 10 лет, желтый - около года.
    67ea6dee6f682323682561.jpeg
    Ответ написан
    3 комментария
  • В асинхронной функции при создании массива он будет асинхронным или обычным python?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, будет работать асинхронно.
    Но есть вопросы, если что-то добавлять в процессе в глобальную переменную.
    Также есть вопросы в ползании в базу данных, тоже должно быть асинхронно.
    Ответ написан
    Комментировать
  • 301 redirect в apache2?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Рекомендую отказаться от заббикса и перейти на prometheus, а лучше сразу на victoriametrics (VM) + grafana
    1) Заббикс тежелый, причем тежелый во всем. И в настройке и в администрировании и в использовании.
    2) В VM можно вливатьи собирать статистику с кучи клиентов
    3) VM практически не нужно настраивать
    4) В Графане доступны любые графики и алерты
    5) Систему очень легко делить на компоненты, отдельно можно поставить независимую систему алертов, забирать самому метрики и их же добавлять
    6) Можно собирать статистику не только с системы, а еще и с приложений типа nginx/haproxy или публиковать свои собственные метрики, например через curl и bash :)

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

    Еще раз подытожу:
    1) качаем и запускаем victoriametrics - один исполняемый файл и мааленький конфиг к нему
    myvictoriametrics.yaml
    scrape_configs:
    - job_name: node-exporter
      static_configs:
      - targets:
        - http://localhost:9100/metrics

    Запускаем
    ./victoria-metrics-prod -promscrape.config=myvictoriametrics.yaml


    2) Качаем node_exporter - тоже один исполняемый файл, будет собирать статистику, а VM будет ее забирать
    Запускаем ./node_exporter

    3) Ставим grafana (можно и из пакетов), добавляем коннектор к prometheus, импортируем дашбоард для node_exporter (подойдет любой из доброго десятка с сайта графаны)

    4) Смотрим графики и учимся настраивать алерты, например на почту.

    5) На удаленные компы ставим или node_exporter, или любой другой клиент для сбора статистики, хоть collectd. Прописываем или в наш маленький конфиг для сбора, или pull на хост с VM.

    Ну и на посошок, на почитать - https://habr.com/ru/articles/652185/
    Ответ написан
    1 комментарий
  • Почему counter = 1?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Потому что counter = 1 + (1 + 1) равно трем (3)
    Ответ написан
    Комментировать
  • Как полностью удалить Ред ОС с компьютера?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Форматировать опасно, можно остаться без загрузчика.
    Если система с EFI, то просто переклбчить загрузку с нужной ОС через BIOS, и уже после этого форматировать.
    Ответ написан
    Комментировать
  • Как получить имя узла в сети?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Если DHCP сервер ничего не регистрирует в DNS/AC (например через протокол DDNS), то никакие "имена" устройствам не будут присваиваться.
    Ну а еще наверняка есть куча просто статических IP-адресов, которые не раздаются сервером DHCP.
    И до кучи - не все отвечают на ping и прочую лабуду, оставаясь "невидимками" внутри сети.
    Так что в любом случае можно уповать только на карту сети, полученную с коммутаторов.
    Ответ написан
    Комментировать
  • Почему при подключении с помощью последовательного порта не работает ввод и черный экран?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    0) RJ-45 может быть не RS-232, а может быть просто ethernet, и COM-порт там работать не будет никогда!
    1) убедиться, что кабель рабочий и правильно распаян
    2) прочитать доку, возможно нужен нуль-модемный кабель
    3) правильно ли выставлена скорость, стоповые биты, разрядность, xon/xoff и flow control.
    4) проверить например работу через null-modem кабель на двух компах.
    Ответ написан
  • Как можно организовать кластерный аналог CRON?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Ну, самый простой способ, чтобы все было хорошо и кудряво - поставить очередь сообщений!
    Например rabbitmq или kafka.
    Скрипты из cron переписываются таким образом, чтобы они публиковали сообщения в нужные топики.
    А скрипты, которые выполняют работу, запускались бы по приходу сообщений в нужный топик.
    Если делать на kafka, то скрипты в одной очереди из одной группы будут получать сообщения попеременно. Единственное - нужно задать нужное количество партиций в топике, согласно количеству воркеров (ну или серверов, где это будет крутиться).
    На почитать - https://learn.conduktor.io/kafka/kafka-consumers-i...

    И да, при это можно обойтись стандартными консольными командами.
    Ответ написан
    Комментировать
  • Какой мак мини выбрать?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Как ни странно, память имеет значение. И 8 гиг для запуска IDE может и не хватить.
    С другой стороны, почему macos?
    Линукс в виде Ubuntu тоже неплох.
    Ответ написан
    Комментировать
  • Какая есть альтернатива radmin vpn но для linux?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Remina desktop чем не устраивает?
    Ответ написан
    Комментировать
  • Оконные менеджеры, с чего начать?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    И так, для начала. В современных системах используются две графические системы, несовместимые между собой.
    Xorg и Wayland. Практически все дистрибутивы плавно перемещаются к использованию Wayland.
    Соответственно, если у Вас например ubuntu, то скорее всего wayland по умолчанию.
    Теперь о графической карте. Wayland плохо работает с nvidia. И тогда лучше поставить xorg. А уж к нему поставить i3wm или что-то еще типа bspwm.
    Это была вводная часть.
    И так, у нас ubuntu с wayland и дефолтной графической оболочкой gnome. Проще всего взять и дополнительно поставить sway + waybar.
    И при логине переключать оболочки через параметры окна входа!

    Как все настроить, хорошо описано на arch wiki - https://wiki.archlinux.org/title/Sway

    Если чего не получится, спрашивайте.

    Мой рабочий конфиг ~/.config/sway
    Посмотреть мой конфиг

    # Default config for sway
    #
    # Copy this to ~/.config/sway/config and edit it to your liking.
    #
    # Read `man 5 sway` for a complete reference.
    
    ### Variables
    #
    # Logo key. Use Mod1 for Alt.
    set $mod Mod4
    # Home row direction keys, like vim
    set $left h
    set $down j
    set $up k
    set $right l
    # Your preferred terminal emulator
    set $term foot
    # Your preferred application launcher
    # Note: pass the final command to swaymsg so that the resulting window can be opened
    # on the original workspace that the command was run on.
    ##set $menu dmenu_path | wmenu | xargs swaymsg exec --
    set $menu fuzzel --no-exit-on-keyboard-focus-loss
    
    include /etc/sway/config-vars.d/*
    
    ### Output configuration
    #
    # Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
    #output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
    #output * bg ~/.config/sway/wallpapers/iss071e579940orig.jpg fill
    # output * bg ~/.config/sway/wallpapers/hubble-ngc3430-spiral.webp fill
    
    output eDP-1 bg ~/.config/sway/wallpapers/heic0707a.jpg fill
    output DP-2 bg  ~/.config/sway/wallpapers/heic0515a.jpg fill
    #output DP-2 bg ~/.config/sway/wallpapers/heic0604a.jpg fill
    
    
    # output DP-2 primary
    
    # eDP-1
    workspace 1 output eDP-1
    workspace 2 output eDP-1
    workspace 3 output eDP-1
    workspace 4 output eDP-1
    workspace 5 output eDP-1
    workspace 6 output eDP-1
    # DP-2
    workspace 7 output DP-2
    workspace 8 output DP-2
    workspace 8 output DP-2
    workspace 10 output DP-2
    
    
    #
    # Example configuration:
    #
    #   output HDMI-A-1 resolution 1920x1080 position 1920,0
    #
    # You can get the names of your outputs by running: swaymsg -t get_outputs
    
    ### Idle configuration
    #
    # Example configuration:
    #
    # exec swayidle -w \
    #          timeout 300 'swaylock -f -c 000000' \
    #          timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
    #          before-sleep 'swaylock -f -c 000000'
    #
    # This will lock your screen after 300 seconds of inactivity, then turn off
    # your displays after another 300 seconds, and turn your screens back on when
    # resumed. It will also lock your screen before your computer goes to sleep.
    
    ### Input configuration
    #
    # Example configuration:
    #
    #   input "2:14:SynPS/2_Synaptics_TouchPad" {
    #       dwt enabled
    #       tap enabled
    #       natural_scroll enabled
    #       middle_emulation enabled
    #   }
    #
    # You can get the names of your inputs by running: swaymsg -t get_inputs
    # Read `man 5 sway-input` for more information about this section.
    
    input * {
        xkb_layout us,ru
        xkb_options grp:win_space_toggle
    }
    
    input "type:touchpad" {
        tap enabled
    }
    
    ### Key bindings
    #
    # Basics:
    #
        # Start a terminal
        bindsym $mod+Return exec $term
    
        # Kill focused window
        bindsym $mod+Shift+q kill
    
        # Start your launcher
        bindsym $mod+d exec $menu
    
        # Drag floating windows by holding down $mod and left mouse button.
        # Resize them with right mouse button + $mod.
        # Despite the name, also works for non-floating windows.
        # Change normal to inverse to use left mouse button for resizing and right
        # mouse button for dragging.
        floating_modifier $mod normal
    
        # Reload the configuration file
        bindsym $mod+Shift+c reload
    
        # Exit sway (logs you out of your Wayland session)
        bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
    #
    # Moving around:
    #
        # Move your focus around
        bindsym $mod+$left focus left
        bindsym $mod+$down focus down
        bindsym $mod+$up focus up
        bindsym $mod+$right focus right
        # Or use $mod+[up|down|left|right]
        bindsym $mod+Left focus left
        bindsym $mod+Down focus down
        bindsym $mod+Up focus up
        bindsym $mod+Right focus right
    
        # Move the focused window with the same, but add Shift
        bindsym $mod+Shift+$left move left
        bindsym $mod+Shift+$down move down
        bindsym $mod+Shift+$up move up
        bindsym $mod+Shift+$right move right
        # Ditto, with arrow keys
        bindsym $mod+Shift+Left move left
        bindsym $mod+Shift+Down move down
        bindsym $mod+Shift+Up move up
        bindsym $mod+Shift+Right move right
    #
    # Workspaces:
    #
        # Switch to workspace
        bindsym $mod+1 workspace number 1
        bindsym $mod+2 workspace number 2
        bindsym $mod+3 workspace number 3
        bindsym $mod+4 workspace number 4
        bindsym $mod+5 workspace number 5
        bindsym $mod+6 workspace number 6
        bindsym $mod+7 workspace number 7
        bindsym $mod+8 workspace number 8
        bindsym $mod+9 workspace number 9
        bindsym $mod+0 workspace number 10
        # Move focused container to workspace
        bindsym $mod+Shift+1 move container to workspace number 1
        bindsym $mod+Shift+2 move container to workspace number 2
        bindsym $mod+Shift+3 move container to workspace number 3
        bindsym $mod+Shift+4 move container to workspace number 4
        bindsym $mod+Shift+5 move container to workspace number 5
        bindsym $mod+Shift+6 move container to workspace number 6
        bindsym $mod+Shift+7 move container to workspace number 7
        bindsym $mod+Shift+8 move container to workspace number 8
        bindsym $mod+Shift+9 move container to workspace number 9
        bindsym $mod+Shift+0 move container to workspace number 10
        # Note: workspaces can have any name you want, not just numbers.
        # We just use 1-10 as the default.
    #
    # Layout stuff:
    #
        # You can "split" the current object of your focus with
        # $mod+b or $mod+v, for horizontal and vertical splits
        # respectively.
        bindsym $mod+b splith
        bindsym $mod+v splitv
    
        # Switch the current container between different layout styles
        bindsym $mod+s layout stacking
        bindsym $mod+w layout tabbed
        bindsym $mod+e layout toggle split
    
        # Make the current focus fullscreen
        bindsym $mod+f fullscreen
    
        # Toggle the current focus between tiling and floating mode
        bindsym $mod+Shift+space floating toggle
    
        # Swap focus between the tiling area and the floating area
        bindsym $mod+space focus mode_toggle
    
        # Move focus to the parent container
        bindsym $mod+a focus parent
    #
    # Scratchpad:
    #
        # Sway has a "scratchpad", which is a bag of holding for windows.
        # You can send windows there and get them back later.
    
        # Move the currently focused window to the scratchpad
        bindsym $mod+Shift+minus move scratchpad
    
        # Show the next scratchpad window or hide the focused scratchpad window.
        # If there are multiple scratchpad windows, this command cycles through them.
        bindsym $mod+minus scratchpad show
    #
    # Resizing containers:
    #
    mode "resize" {
        # left will shrink the containers width
        # right will grow the containers width
        # up will shrink the containers height
        # down will grow the containers height
        bindsym $left resize shrink width 10px
        bindsym $down resize grow height 10px
        bindsym $up resize shrink height 10px
        bindsym $right resize grow width 10px
    
        # Ditto, with arrow keys
        bindsym Left resize shrink width 10px
        bindsym Down resize grow height 10px
        bindsym Up resize shrink height 10px
        bindsym Right resize grow width 10px
    
        # Return to default mode
        bindsym Return mode "default"
        bindsym Escape mode "default"
    }
    bindsym $mod+r mode "resize"
    
    #
    # Status Bar:
    #
    # Read `man 5 sway-bar` for more information about this section.
    ##bar {
    ##    position top
    ##
    ##    # When the status_command prints a new line to stdout, swaybar updates.
    ##    # The default just shows the current date and time.
    ##    status_command while date +'%Y-%m-%d %X'; do sleep 1; done
    ##
    ##    colors {
    ##        statusline #ffffff
    ##        background #323232
    ##        inactive_workspace #32323200 #32323200 #5c5c5c
    ##    }
    ##}
    
    bar {
      swaybar_command waybar
    }
    
    bindsym $mod+Shift+f exec firefox
    bindsym $mod+Shift+t exec swaylock -c 000000
    bindsym $mod+Shift+p exec grimshot save area
    
    exec ~/Telegram/Telegram -startintray
    exec nm-applet --indicator
    exec mako
    exec blueman-applet
    
    bindgesture swipe:right workspace next
    bindgesture swipe:left workspace prev
    
    for_window [app_id = "org.gnome.Calculator"] floating enable
    
    include /etc/sway/config.d/*

    Ответ написан
    2 комментария
  • Адаптер питания AC и адаптер питания AC/DC - это разное?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    AC -alternating current, переменный ток
    DC - direct current, постоянный ток.
    AC/DC - конвертер переменного в постоянный ток.
    AC/DC - классная австралийская группа, названная в честь преобразователя тока :)
    Ответ написан
    Комментировать
  • Как писать логи напрямую в Elastic?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Можно писать напрямую в индексы эластика, даже через curl - https://dev.to/ankitmalikg/opensearch-crud-operati...
    А можно взять аггрегатор и трансформатор логов и его настроить на запить, типа https://vector.dev/
    К аггрегатору и самому эластику также можно подключить grafana + prometheus для сбора статистики, отображения графиков и настройки алертов.
    Ответ написан
    Комментировать
  • Рабочая проводка, почему то не работает?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    1) Скрутки практически запрещены и не работают почти никогда! Ибо по стандарту развитие витой пары максимум 10 см. Если уж хотите скрутки, то делайте на 3M scotchloc https://www.vseinstrumenti.ru/product/soedinitel-p...
    2) кабель ethernet cat 5e не должен быть больше 100 метров (от порта до порта), и опять же, не больше 5 соединений.
    3) надеюсь, кабель запрессовывали в розетки RJ-45 не отверткой, а с помошью ножа тип 110?
    И лучше, ударного типа, а не говном всяким? лезвие https://cabeus.ru/product/8309/
    такой https://cabeus.ru/product/8311/
    а лучше такой https://cabeus.ru/product/8313/
    4) минимальная проверка обязательна хотя бы простой прозвонкой типа https://cabeus.ru/product/9983/
    5) проводка кабеля не должна проходить совместно с силовыми кабелями - будет херово, или нужно было прокладывать кабель с зазением FTP, а не UTP. минимальное расстояние от силового кабеля - те же 10 см. или в отдельной гофре, или с кабельканалах с разделителем.

    Что посоветовать? Купить или взять тестер и прозвонить.
    В пробить кабель в розетки с помощью ударного ножа.
    Ну и точно соблюдать маркировку кабеля и розетки. Обычно расшивка кабеля по цветам делается по Annex-B.
    Еще раз прозвонить.

    Сложного ничего нет, нужна аккуратность и минимальный инструмент.
    Ответ написан
    2 комментария
  • Что лучше юзать для восстановления системы BTRFS или RSYNC на Linux?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Ох, это "импортозамещение".
    Вы неправильно подходите к "поставленной задаче"!
    Ее нужно исполнять, думать тут нечего. Ставьте! Разберетесь потом!

    Я бы предложил вместо RedOS ставить DeepStupidOS....

    Ну а теперь по делу.
    Чтобы что-то восстановить нужно сначала подумать - как это делать (стоп! думать?! отставить!).
    А делать это можно разными способами:
    - первичной установкой ОС, а затем накатыванием бекапа
    - полным восстановлением системы из бекапов
    - восстановлением системы из снапшота файловой системы...

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

    Я рекомендую "первичной установкой ОС, а затем накатыванием бекапа" с использованием restic/borg/bareos/urbackup (далее везде). Конкретная система бекапов подбирается из кучи факторов и умения работать с конкретной из них (даже clonezilla, которая тоже очень хороша). Мне нравятся restic/borg/urbackup, но и bacula себя отлично показывает на парке серверов в ~100 штук.

    ЗЫ. Сколько же анекдотов хороших на тему "поставленной задачи" вспомнилось...
    "копать отсюда и до заката", "поезд! стой! раз, два", "думать не нужно, за нас подумали"....

    PSS. Кстати, подозреваю, что бекапами и восстановлением Вы совсем никогда-никогда не занимались. Ибо, что в линуксах, что в юниксах, что в уиндоуз - все задачи решаются примерно одинаково и очень похожими инструментами.
    Ответ написан
    2 комментария