Ответы пользователя по тегу Linux
  • RAW-сокеты и API сетевых устройств в Linux. Какая есть литература?

    @res2001
    Developer, ex-admin
    По Линукс + сети книг достаточно.

    Хороших книг явно не достаточно, по моему.
    Про raw socket написано в "Unix. Разработка сетевых приложений" Стивенса. Книга старая, новых изданий нет. Но информация достаточно актуальна.

    Про API сетевых устройств - что вы имеете ввиду? Написание сетевых драйверов? Уровень железа описан в документации производителя чипа, то что касается взаимодействия с ядром - берите пример любого драйвера и переделывайте под свою железку. В новом драйвере изменений со стороны взаимодействия с ОС будет минимум, скорее всего.
    Ответ написан
  • Как организовать файлопомойку через ssh?

    @res2001
    Developer, ex-admin
    Если пользователи сидят в одной локальной сети то ssh избыточна, используйте стандартные средства: виндовые шары/samba.
    Если нужен доступ из инета, то можно использовать sshfs. Или WebDAV какой-нибудь.
    Ответ написан
    Комментировать
  • Есть ли возможность использовать дистрибутивы wsl2 на другом диске?

    @res2001
    Developer, ex-admin
    Сам дистрибутив, скорее всего лежит где-то в каталоге винды (где хранится и остальной софт, скачанный из MS Store), но он скорее всего не очень много весит.
    Но развернутый в WSL линукс лежит в профиле пользователя. Перенесите профиль на другой диск и будет вам счастье.
    Вообще профиль на другом диске сильно помогает, когда надо переустанавливать винду. Уже лет 15 практикую это везде куда только дотягиваются руки :)
    Ответ написан
    Комментировать
  • На каком режиме работают выполняются сервисы Пользовательский режим или на Режиме ядра?

    @res2001
    Developer, ex-admin
    В kernel mode работает только само ядро и драйверы устройств. Все остальное работает в user mode.
    Любая программа, совершая системный вызов, переключается в kernel mode на время выполнения системного вызова. Системных вызовов все программы совершают много и регулярно.
    Ответ написан
    1 комментарий
  • Как записать файл в python при запуске через cron?

    @res2001
    Developer, ex-admin
    Вы указываете имя файла без пути, значит ОС ищет файл в текущем рабочем каталоге. Когда вы запускаете скрипт в консоли, вы вероятно как раз находитесь в этом каталоге и у вас все работает. Когда запускает скрипт cron текущим каталогом является ... какой-то каталог, удобный крону по каким-то его кроновым причинам.
    Так что правильный выход - указывать полный путь к файлу - просто передавайте полный путь к файлу в параметре запуска скрипта и
    твои волосы будут мягкими и шелковистыми
    .
    Ответ написан
    Комментировать
  • Универсальный VPN-сервер?

    @res2001
    Developer, ex-admin
    softether это умеет.
    Ответ написан
    3 комментария
  • Как настроить маршрутизацию клиентов из LAN через VPN, а самого устройства через провайдера?

    @res2001
    Developer, ex-admin
    Вам просто нужно на малинке добавить статический маршрут до вашего DNS провайдера, куда ходит AdGuard. Маршрут этот должен быть через DNS вашего оператора связи (или что там у вас сейчас в качестве шлюза по умолчанию без поднятого ВПН).
    Никаких сложных телодвижений с настройкой фаервола не требуется.
    Ответ написан
  • Как настроить маршрутизацию?

    @res2001
    Developer, ex-admin
    Ответ смотри в комментариях к вопросу.
    Ответ написан
    Комментировать
  • Как с помощью BAT в dialog вывести значения в файл?

    @res2001
    Developer, ex-admin
    Ваш dialog должен каким-то образом сообщать наружу результаты работы.
    Обычно в консольных утилитах используют либо код возврата (результат return в main), либо, если возвращаемой информации много - текстовый вывод в консоль. В батнике вывод в консоль и код возврата можно обрабатывать так как вам надо.
    То же самое можно и в dialog делать, не зависимо от того, что это не консольное приложение.
    Я бы и на шелл мог бы сделать

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

    @res2001
    Developer, ex-admin
    Обычно, если linux ставится второй системой после винды, то используется grub в качестве загрузчика.
    Есть такая графическая приблуда для линукса boot_repair. Использовал ее в убунту.
    Если у вас 2 диска и линукс стоит на втором, то он скорее всего создал на своем диске загрузочный раздел. В этом случае в БИОС/UEFI можно выбрать зугрузку с другого диска. Тогда сможете попасть в линукс (но не в винду) и там воспользоваться boot_repair. После восстановления у вас появится возможность выбора в какую ОС загружаться.
    Если диск один, то можно сделать live flash с линуксом загрузиться с нее и там запустить boot_repair.
    На крайняк можно и виндовый загрузчик настроить на загрузку линукса.
    Ответ написан
    Комментировать
  • Stunnel4.service failed как исправить?

    @res2001
    Developer, ex-admin
    Конфиги в студию. Приведенные ошибки на стороне клиента или сервера?
    Ошибки, видимо 2:
    Unknown TCP service "993 ."

    Видимо описан лишний сервис в конфиге, уберите его.
    [!] Service [openvpn]: Cannot resolve accept target

    Доступен ли openvpn по адресу и порту, указанному во фразе accept?
    Ответ написан
    Комментировать
  • Что такое поток в Linux (pthread_create())?

    @res2001
    Developer, ex-admin
    У вас программа завершается раньше, чем успевает отработать поток (вывести на экран информацию). После завершения основного потока (функция main) весь процесс завершается, в т.ч. и запущенные потоки.
    Для исправления ошибки вам нужно в main() после старта потока подождать окончания его выполнения: pthread_join(). Вообще выполнять join нужно для каждого "присоединенного" потока, а по умолчанию они все присоединенные.

    Процесс - это контейнер для потоков. В каждом процесс есть минимум один поток - основной (main()). Планировщик операционной системы планирует потоки.
    Для ОС запустить поток проще и дешевле (по ресурсам), чем запустить процесс.

    Потоки позволяют какие-то задачи в вашей программе решать параллельно. Это примерно то же самое, что и запустить второй процесс для решения части задачи. Но у двух процессов разные адресные пространства, а у потоков одно. Из-за этого обмен данными между потоками гораздо проще, чем между процессами. Но, конечно, и тут есть подводные камни - гонки данных и другие связанные проблемы.

    stdin и прочие потоки ввода/вывода - это совсем другая сущность - это потоки данных.
    pthread_create() - создает поток выполнения. Ощутите разницу!
    Ответ написан
    Комментировать
  • Есть ли аналог Terminal server в linux?

    @res2001
    Developer, ex-admin
    1.xrdp ставить на линукс и подключаетесь любым RDP клиентом.
    2.В комп с линухом: 2 видеокарты, в каждую по монитору, 2 клавы и мышки. Ставите гипервизор (например KVM), создаете 2 виртуалки, в каждую виртуалку пробрасываете видюху, клаву и мышь. Статьи на эту тему видел на хабре.
    Ответ написан
    Комментировать
  • Как починить отображаемую кодировку в терминале?

    @res2001
    Developer, ex-admin
    Надо выставить в XShell кодировку UTF8.
    Ответ написан
    1 комментарий
  • Как быть в Windows с папками с символами "?" в названии?

    @res2001
    Developer, ex-admin
    Нельзя. Символ ? является специальным и запрещен к использованию в NTFS: https://docs.microsoft.com/en-us/windows/win32/fil...
    Ответ написан
    5 комментариев
  • Не получается настроить rEFInd для загрузки ядра GNU/Linux. Как исправить?

    @res2001
    Developer, ex-admin
    Ядро - /boot/vmlinuz-linuz

    Error: Not found while loading vmlinuz-linux

    Сравните имена файлов
    Ответ написан
  • Как опредлить столбец по которому сортируется список в top (Linux)?

    @res2001
    Developer, ex-admin
    Нажми 'f', там в заголовке будет написано. Тут же можно выбрать столбец и нажать 's', чтоб сменить столбец сортировки явно.
    Про f можно почитать в общей справке ('?'), про s написано, когда нажмешь f
    Ответ написан
    Комментировать
  • В чём может быть ошибка в скрипте?

    @res2001
    Developer, ex-admin
    У вас в ошибке в строке for 1 in ${routers[@]}; do
    После for стоит единица, а должна стоять r. Сравните с оригинальным скриптом, который вы привели.
    Ну и по тексту скрипта внутри for используется переменная цикла ${r}
    Ответ написан
  • Если выучить чисто Unix, то насколько потом легко перейти на Linux?

    @res2001
    Developer, ex-admin
    На чем вы собираетесь учить "чисто Unix"? По книжкам? По стандартам?
    Сейчас как таковой ОС UNIX не существует. Торговая марка UNIX принадлежит The Open Group.
    Официально ОС может называться UNIX, если получит сертификат от The Open Group. Сертификат выдается после прохождения тестов на соответствиес стандарту Single UNIX Specification.
    Вот тут список всех сертифицированных UNIXов: https://www.opengroup.org/openbrand/register/
    Линукс хоть и не проходила сертификацию, но стандарту соответствует. Поэтому можно считать, что Linux это одна из реализаций UNIX. Поэтому не парьтесь и изучайте Линукс. В подавляющем большинстве вакансий под UNIX понимают именно Linux.
    И еще. Даже сертифицированные UNIXы отличаются друг от друга примерно так же, как Linux отличатеся от FreeBSD.
    Удачи!
    Ответ написан
    1 комментарий
  • Почему не работает графический интерфейс linux в Windows?

    @res2001
    Developer, ex-admin
    По моему линуксовый GUI под WSL2 работает пока что только через xrdp. Т.е. можно подключаться к линуксовому раб.столу с помощью виндового RDP клиента. Инструкции по настройке этого легко гуглиться. Но то что я видел было применительно к Ubuntu. По идее с Kali должно быть +- то же самое.
    Ответ написан
    Комментировать