Задать вопрос
  • Как реализовать удаленный доступ к SSH, имея серый ip?

    @Drno
    Поднимаешь где то опенВПН сервер.
    Подключаешь распбери клиентом
    Подключаешь свой комп клиентом
    Профит - распбери доступна по адресу внутри впн
    Не забываем добавить правило masquarade на впн серваке
    Ответ написан
    3 комментария
  • Почему %0|%0 так нагружает процессор?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Потому что команда запускает самоё себя, бесконечно. И в какой-то момент просто перестаёт хватать оперативной памяти и производительности процессора.

    Количество рекурсий? Передавать текущий номер рекурсии как аргумент. Разумеется перед тем, как его передавать - его нужно увеличить на 1, что бы следующий потомок его знал:
    @echo off
    set /A LVL=%1+1
    if %LVL% LEQ 3 %0 %LVL% |%0 %LVL%
    Ответ написан
    Комментировать
  • Может ли совпадать количество ip адресов в подсети с количеством узлов сети?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Если речь про IP, то не совпадает в IPv4 подсетях кроме /32 и /31 из-за наличия адреса для broadcast-а.
    Ответ написан
    8 комментариев
  • Как побороть /usr/bin/ld: cannot find -lpython3.10?

    устатовите

    libpython3-dev

    header files and a static library for Python (default)

    внутри будут библитеки для сборки модулей

    например

    dpkg -L libpython3.6-dev | grep .so

    /usr/lib/x86_64-linux-gnu/libpython3.6m.so
    Ответ написан
    Комментировать
  • Как организовать видеозапись RDP, трансляции?

    @rPman
    rdp сессия в windows при отключении становится такой же как если бы ты заблокировал экран, приложения не получают сигнал перерисовки (так, если бы они были закрыты поверх другим окном или минимизированы)

    чтобы это обойти, запусти каскадно два rdp подключения, одно в другом, заведя для каждого отдельного пользователя windows, от первого ты отсоединишься, второе внутри продолжит работу как ожидается, я так autoit запускал

    2 одновременно подключения не в серверных версиях windows не разрешены. На старых версиях win10 и в win8.. win7 можно установить rdpwrap, оно это ограничение на десктопных windows убирало. Майкрософт с этим борется.

    Так что остается либо сменить ОС на linux где таких проблем принципиально нет либо ставить виртуальную машину и внутри запускай свое приложение (запись с экрана там кстати бывает встроенная). Так как у тебя браузер и OBS то проблем с этим не будет.
    Ответ написан
    2 комментария
  • Как создать кастомное кроссплатформенное окно на си?

    includedlibrary
    @includedlibrary
    Надо либо использовать библиотеки GTK, QT и т.п., либо писать свою реализацию под каждую ОС
    Ответ написан
    Комментировать
  • Как перенаправить tcp/udp трафик с доменов с одинаковым айпи?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Я вам подскажу: внутри TCP и UDP, если это не HTTP, нет имени домена. Вот совсем нет. Он используется в момент перевода доменного имени -> в IP-адрес, что бы потом создать коннект на этот IP-адрес. Он используется в HTTP-запросе, так исторически сложилось. Но в простом TCP и UDP его НЕТ, трафик приходит к вам БЕЗ доменного имени.

    Облом, желанное - не получится.
    Ответ написан
    5 комментариев
  • Как убрать потерю покетов?

    hint000
    @hint000
    у админа три руки
    Авторам предыдущих ответов и комментариев, mayton2019, Stalker_RED, Dimonchik, Drno,
    ребята, да что с вами сегодня, тяжелый день или не проснулись? :) Я знаю, что вы все можете лучше.

    Смотрим на вывод WinMTR на скриншоте.
    первый хоп - домашний роутер - потерь нет;
    второй хоп - шлюз провайдера (Казахстан) - потерь нет; собственно, на этом вопрос можно и закрыть, но нет;
    пятый хоп - IX Санкт-Петербург - потерь нет;
    десятый хоп - США;
    целевой хост - непонятно где, но диапазон адресов выделен Японии, значит считаем, что так и есть.
    Вообще, не кажется странным такой маршрут - из Казахстана через Питер и США в Японию?
    Ответ написан
    8 комментариев
  • Нужно ли подключать все необходимые заголовки если они подтягиваются из других заголовков?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    В контексте использования директивы #include есть два важных принципа.
    Важный из этих двух сейчас - это принцип Include What You Use.

    Суть сводится к тому, что файлы исходного кода формирующие модуль трансляции должны в правильном порядке подключать все заголовки, объявления которых используют. Транзитивные включения не считаются. Методология соответствия IWYU включает в себя и правило перечисления подключаемых заголовков - от общих к частным. Именно таким образом должна обеспечиваться оптимальная скорость формирования модуля трансляции.
    И с этим связано несколько проблем. Основные я опишу ниже.
    Наивное следование IWYU в сложных проектах.

    В обычном проекте считается что один файл исходного кода соответствует одному модулю трансляции. В более сложных проектах, где используется SCU/Unity Build, один модуль трансляции уже представлен несколькими файлами исходного кода. Но IWYU требует соблюдать правила только для модуля трансляции, а не для файлов исходного кода.
    Эта ситуация обозначает одну из проблем соответствия IWYU, которую не замечают многие разработчики, кто пользуется IWYU и SCU одновременно. Дублирование директив, нарушение порядка от общего к частному и доступность директив для всего нижележащего кода других файлов исходного кода сводит на нет весь принцип IWYU.
    Простейшей ошибкой наивного следования IWYU при использовании SCU является простой забытый инклуд, который присутствует в другом файле исходного кода, размещенном модуле трансляции выше по коду. SCU формируются динамически, на базе определенного алгоритма. Сегодня ошибки нет, а завтра исходный код попадет в другой модуль трансляции, где выше по коду уже не будет нужного инклуда и трансляция пойдет прахом. Особой пикантности данной ситуации добавляют разные сценарии SCU для разработчиков и систем CI. В этом случае ошибку с потерянным инкудом искать будут очень долго и не в одно лицо. Такие ситуации реально существовали у меня на работе. Особую пикантность такой ситуации добавляет и то, что на этой работе люди особо активно пропагандировали IWYU, говоря о безмерной пользе принципа вместе с использованием SCU.
    Решением же является понимание несовместимости использования SCU и IWYU в одном проекте.

    Излишне детальное следование IWYU.

    Принцип IWYU говорит включать только то, чем пользуешься. Что это означает в деталях?
    Когда заголовочный файл использует какое-то объявление, он должен сперва подключить соответствующий заголовок. Когда исходный код использует какое-то объявление, он должен сперва подключить соответствующий заголовок.
    Код не пишется в вакууме, код пишется в составе библиотек и систем, в рамках которых код связывается между собой. На более мелком уровне код пишется в составе подсистем и модулей, а подсистемы и модули уже формируют более глобальные системы и библиотеки. В рамках всех этих единиц агломерации кода сам код является тесно связанным между собой. Заголовки одной подсистемы редко не будут перекрестно включать друг друга потому что активно пользуются их объявлениями для реализации функционала подсистемы.
    Внешний же код, использующий функционал подсистемы, редко будет ограничиваться включением только одного заголовка, потому сами заголовки включают друг друга и через IWYU диктуют подобный подход своему пользователю.
    Это заставляет блоки включений раздуваться до невиданных масштабов в сотни строк одних только #include. Если проект использует #pragma once, то огромные блоки включений сказываются только на удобстве чтения, сводя удобство разбора инклудов к нулю. Но если проект использует только define-guard, то от огромных блоков инклудов начинает катастрофически страдать скорость сборки. В этот момент люди обычно вспоминают про SCU и с его помощью окончательно хоронят гибкость проекта в пучине ошибок совместного использования SCU и IWYU.
    А решением в данном случае является выделение для единиц агломерации кода своих собственных публичных заголовков, внутри которых в правильном порядке будут подключены все заголовки используемого кода.
    Этот простой шаг кратно сокращает списки инклудов в пользовательском коде, не противоречит IWYU и позволяет на более высоком уровне организовать публичный интерфейс модуля, подсистемы, системы или библиотеки.


    Полагаясь на транзитивные включения, можно угодить в неприятности даже с кодом стандартной библиотеки. От стандарта к стандарту библиотечный код немного меняется и в любой момент может перестать подключать используемые в твоем коде заголовки. В этом случае при переходе на новый стандарт тебе придется сперва справиться с возникшими ошибками трансляции. Еще более остро эта проблема встает при обновлении сторонних библиотек, авторы которых, как правило, часто и кардинально меняют внутреннюю структуру библиотеки.
    Соблюдение же принципа IWYU обещает реже встречаться с подобными проблемами и легче переживать обновление стороннего кода, делая тем самым проект более гибким и готовым к изменениям.
    Ответ написан
    Комментировать
  • Какой есть универсальный и надежный способ замены байт в файле?

    hint000
    @hint000
    у админа три руки
    Меня интересует способ решить проблему, используя только встроенные в систему (в основном речь идет о macOS) утилиты
    там есть dd?
    echo -ne "\x04\x05\x06" | dd of=filename bs=1 seek=`grep -aboP "\x01\x02\x03" filename | cut -d ":" -f 1 | head -c -1`

    Монструозненько получилось (неравный бой с выводом grep). :) Если заглянет xotkot, то придумает, как оптимизировать, у него чёрный пояс по таким вещам.
    Ответ написан
    Комментировать
  • Git что-то говорит, как убрать?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Гит не просто «что-то говорит», а конкретно сообщает что вы находитесь в состоянии незаконченного перебазирования и сообщает «как убрать».
    Вы должны либо продолжить и довести перебазирование до конца
    git rebase --continue
    Либо отменить процесс через
    git rebase --abort

    Я бы на вашем месте как раз отменил, так как вы делаете что-то странное. Сначала дропнули из истории один коммит, потом попытались применить его отмену и скорее всего получили сложный конфликт. Что вообще пытаетесь добиться?

    Если вы, не осознав что rebase ещё не закончился, продолжили добавлять новые коммиты, то тогда завершите rebase. А потом смотрите что получилось.
    Ответ написан
  • Может ли физ лицо создавать интернет-проекты?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Создавать сайт не запрещено, и на это не нужно никаких специальных разрешений, получения лицензий или ещё каких-то бессмысленных телодвижений. Это же не медицинская деятельность, производство продуктов питания, строительство или банковское дело.

    Квалификация данных как персональных очень разнообразна, в некоторых странах под них подапают IP-адреса, электронная почта, куки итд. Также сложно сказать, что именно решит судья в тех случаях, когда сайт будет ответчиком или иной стороной в судебном деле. В России так особенно сложно.

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

    Кроме того, в некоторых случаях политика конфиденциальности требуется не для соответствия законам, а по правилам тех или иных сайтов и сервисов. Например, для прохождения review приложения в Facebook у него обязательно должна быть опубликована политика конфиденциальности. Когда мне потребовалось пройти этот квест (по работе), я взял текст с сайта своей компании и немного отредактировал, даже гуглить примеры не потребовалось.
    Ответ написан
    Комментировать
  • Для чего изучать линукс?

    @Drno
    если нет задачи - незачем и изучать.
    а в целом - на линукс работает не менее 70% всего что ты видишь в интернете, сайты,сервисы,почта, конвертеры видео \ аудио итд итп...
    на линукс работают роутеры, прокси-серверы, VPN серверы... итд итп
    Ответ написан
    Комментировать
  • Для чего изучать линукс?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В рамках импорто-замещения РФ скоро откажется от Windows.
    Тогда специалисты по Linux будут восстребованы везде.

    Вот главный мотиватор. Хочешь иметь работу завтра - изучай Линуха сегодня.
    Ответ написан
    4 комментария
  • В каком конфигурационном файле настраиваются сетевые интерфейсы в Ubuntu, Debian, CentOS?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    По-разному. Где-то консервативный /etc/network/interfaces, где-то netplan, где-то networkmanager. Гуглите для конкретной версии дистрибутива.
    Ответ написан
    1 комментарий
  • Почему замена строк местами не работает на большом документе?

    wisgest
    @wisgest
    Не ИТ-специалист
    (Не очень понятно, в чём состоит «открытие файла на чтение»: по моему, просто присваивается значение одной переменной другой.)

    Вероятно, не хватает памяти для переменных окружения.
    Можно не запоминать все строки, а прочитать три первых, вывести их в нужном порядке, а затем выводить строки, не запоминая их, в новый файл и удалить старый.

    Первые три строки можно получить так:
    (
    set /p "s1="
    set /p "s2="
    set /p "s3="
    ) <input.txt

    Вывести содержимое файла, начиная с четвёртой строки можно, например, с помощью утилиты more:
    more +3 input.txt >>output.txt
    или
    more +3 <input.txt >>output.txt

    А в целом:
    (
    set /p "s1="
    set /p "s2="
    set /p "s3="
    echo !s3!
    echo !s2!
    echo !s1!
    more
    ) <input.txt >output.txt
    del input.txt
    ren output.txt input.txt

    В этом случае, возможно, вместо
    more
    для перехвата оставшихся строк будет лучше
    find /v ""
    Ответ написан
    3 комментария
  • Как перенаправить весь трафик с хоста на виртуалку pfsense на хосте, чтобы использовать pfsense как личный шлюз?

    @Strabbo
    Если они в одной сети, то на хосте в качестве шлюза по умолчанию пропишите айпи pfsense-а.
    Ответ написан
    2 комментария
  • Будет ли работать Интернет без света, если он идёт через распределительную коробку?

    @Drno
    Если приходит витая пара, то…
    Если провайдер аоставил на свои свитчи бесперебойники, и если Вы воткнете свой роутер в бесперебойник - то да, инет будет, при отключении дома от питания

    У меня в доме так происходит
    Ответ написан
    Комментировать
  • Будет ли работать Интернет без света, если он идёт через распределительную коробку?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Был бы ваш провайдер беспроводным - так бы работало. А так - нужно запитать Ваш роутер, свитч на техэтаже (чердаке) здания, свитч на чердаке здания, куда приходит аплинк от Вашего здания и т.д. вплоть до свитча на здании провайдера (такая очень обобщенная схема).
    Как видим, в схеме очень много узлов и отключение одного из них - это отвал всех, кто в структуре "ниже".
    Ответ написан
    Комментировать
  • Почему socket работает только в локальной сети? Как это исправить?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Дело в том, что пока ваши устройства в одной подсети (им выдал адреса один DHCP сервер, это обычно ваш роутер), вы, указав локальный IP другого устройства в сокете, можете создать соединение.
    Но если устройства в разных локальных сетях, между которыми не настоен никакой роутинг, то устройства не смогут видеть друг друга. Их адреса будут в разных адресных пространствах.
    Это как звонить внутри отеля по внутреннему номеру телефона. Если один из абонентов окажется в другом отеле, то, даже зная его внутренний номер, вы из первого отеля не дозвонитесь ему напрямую по короткому номеру. Придётся пользоваться шлюзом. Вот шлюз - это NAT.
    Тут дальше аналогия уже поплывёт, если ещё глубже пытаться её применять.
    Прочитайте что такое NAT, что такое белый IP, динамический и статический IP, что такое port-forwarding, сетевая модель OSI, что такое маска подсети и как устроен IP-адрес, как происходит маршрутизация.
    Это слишком много инфы, чтобы рассказывать вам об этом в ответе на один вопрос. Вам нужно изучать это самостоятельно.
    Ответ написан
    3 комментария