Ответы пользователя по тегу Linux
  • Как тестировать драйвера?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    С копмиляцией вам уже посдказали. Давайте я про отладку расскажу. Во первых очень желательно иметь две машины - одну для компиляции и отладки, вторую - таргет, куда все грузим и где тестируем и проверяем
    1) используем printk, в 95% случаев этого достаточно
    2) если аппаратура позволяет, используем jtag - это аппаратный модуль для отладки - 100% успех!
    3) можно использовать kgdb - не всегда это работает.

    Ну и совсем сильная магия - использовать статическую область памяти, где реализуем кольцевой буфер и туда пишем своими средствами отладочную информацию напрямую. Но для этого статическая память должна быть на каком-то из устройств, я обычно пишу в статику в часики реального времени, но не везде они есть и имеются. За то таким образом можно отлаживать абсолютно все, от NME, до драйверов высокоскоростных устройств.
    Ответ написан
    2 комментария
  • Нужен сбор статистики по работе пользователей и загрузке сервера, linux. Чем это можно сделать?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Рекомендую накатить систему мониторинга. Для этого нужна база данных, агент сдбора данных и некий сервис для отображения этих данных.
    Советую InfluxDB - ставится в один клик, обслуживания практически никакого не требует на ваших объемах.
    К ней ставите telegraf - агент сбора статистики, собирает все, что можно собрать, процессы, пользователей, сеть, диски, температуру и т.д. Тоже ставится в один клик.
    И чтобы все это просмотреть через браузер - ставите grafana. Ставится в два клика из пакетов.
    В графане нужно создать графики просмотра данных, но их можно взять уже готовые с самого сайта графины и импортировать к себе.
    В общем, мы так следим за целым кластером машин, я же так слежу за кучей отдельных серверов, где все установлено на них самих же.
    Ответ написан
    Комментировать
  • Как запустить скомпилированную программу в Linux ( Ubuntu ) без терминала?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    В линуксе, как и в виндовс, как и во всех остальных операционных системах (мне знакомых), есть два типа программ: консольные и с графическим интерфейсом.
    Консольные программы требуют наличия какого-то терминала или консоли, соответсвенно их хоть и можно запустить по двойному щелчку, не всегда результат их работы будет виден, если дополнительно не указать в каком окружении их запускать.

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

    Так, Вы сделали и скомпилировали консольную программу. В этом же терминале можно ее и запустить.
    Либо сделать "лаунчер" типа
    xterm ./prog
    Как сделать "лаунчер", зависит от вашего графического окружения, но обычно можно просто сделать desktop-файл, его практически все в линуксе понимают.
    Просто создайте текстовый файл prog.Desktop со следующим содержимым (Exec - полный путь до вашей программы, Icon - путь до иконки, но можно без нее)
    [Desktop Entry]
    Encoding=UTF-8
    Version=1.0
    Type=Application
    Terminal=true
    Exec=/path/to/executable
    Name=Name of Application
    Icon=/path/to/icon


    Вот руководство - https://www.maketecheasier.com/create-desktop-file...

    ЗЫ. Да, забыл напомнить, сделайте в вашей программе выход по ожиданию нажатия на клавишу, иначе можно ничего и не рассмотреть!
    Ответ написан
    Комментировать
  • Как отключить шифрование в SSH?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Самый простой и быстрый arcfour, но его нужно прописать с двух сторон.
    Ответ написан
  • NFS до версии 4.1 хранил данные только на NFS-сервере?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    NFS не был никогда gateway. И на клиентах он ничего не хранил. Вся ответственность, и за файлы, и за их местонахождение, и за их раздачу лежала только на сервере. Собственно, с NFS 4.1 тоже самое, за исключением PNFS, но там на клиенте тоже ничего не хранится.

    Если в сети есть несколько клиентов, как у нас например, 5 NFS-серверов и штук 30 клиентов, все данные расположены на самих серверах, клиенты к ним получают доступ по сети. Если клиенты одновременно обращаются к одному и тому же ресурсу, то происходят блокировки на стороне сервера, который разруливает очередность доступа клиентов к общим ресурсам. Здесь могут возникать и конфликты, но это бывает редко и все зависит от режима чтения-записи конкретных приложений.

    На самом деле NFS это один из компонентов (приложение) поверх протокола RPC со всеми вытекающими... Это клиент-серверный бинарный протокол "вызова удаленных процедур".

    Вот здесь относительно доходчиво изложено - https://ru.wikipedia.org/wiki/Network_File_System
    Ответ написан
    Комментировать
  • Как заставить Debian 9.6 слушать конфиг /etc/network/interfaces?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Не скажу за debian, но в новых ubuntu перешли на https://netplan.io/ и теперь все лежит в /etc/netplan
    Также посмотрите в сторону NetworkManager, вдруг он у вас случаем стоит и меняет картину мира? nmcli Вам в руки
    Ответ написан
  • Порт открыт, но в firewalld этого не видно. Это нормально?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Firewalld работает с iptables, и ему глубоко наплевать, какая программа что открыла. Для просмотра открытых соединений есть netstat. И кстати, /etc/services вообще здесь ни причем, он используется как справочник, сопоставляя номера портов с их общепринятым наименованием.
    Ответ написан
    4 комментария
  • Как найти источник вредоносной активности на сервере?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    1) Начните со списка процессов на вашем сервере и сетевых подключений.
    2) Проверьте, не имеется ли у вас rootkit или подмены системных файлов (поможет проверка через менеджер пакетов)
    https://blog.sleeplessbeastie.eu/2015/03/02/how-to...
    и
    https://bencane.com/2013/12/23/yum-plugins-verifyi...
    3) Запретите все исходящие коннекты с сервера (через iptables/firewalld/ufw или что у вас там стоит), и переведите их в состояние drop (только не reject!), тогда как минимум можно увидеть по netstat, какой процесс пытается стучаться к чужим серверам по ssh
    4) найти виновника и его пристрелить
    5) по типу атаки узнать как пробрался на систему гад и ликвидировать дырку

    На дальнейшее
    - доступ по ssh по ключам
    - отключение исходящих коннектов через firewall
    - всех по своим пользователям-ролям, под рутом живут только нужные службы
    - желательно ограничивать коннекты не на сервере, а на отдельном роутере
    - запускайте службы в контейнерах или виртуалках (если barebone)
    - мониторинг системы
    - логи на внешний сервер
    Ответ написан
  • Как подключить несколько 4g модемов к linux?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Эти модемы работают как роутеры, у каждого из них не только один и тот-же MAC, у них еще у каждого свой dhcp-сервер внутри, и один и тот же IP-адрес на встроенный usb-Ethernet. Другими словами, нужно еще поменять внутренний ip и подсеть dhcp какого-то одного модема.
    Ответ написан
    2 комментария
  • Какие есть средства для анализа подозрительного трафика(ОС)?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Ответ написан
    Комментировать
  • Как слушать файл в realtime?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Ну, хоть на вопрос и ответили, таки добавлю. В линуксе есть подсистема inotify, которая позволяет мониторить файл действительно в realtime - https://ru.wikipedia.org/wiki/Inotify
    Ответ написан
    Комментировать
  • Как поднять сервер на Linux и задеплоить приложение?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Так, более или менее понятно.
    1) собираете war-файл, с вашими jar и web.xml
    2) качаете tomcat с apache org
    3) устанавливаете его и запускаете
    4) заходите на его порт через браузер и смотрите, что он запустился
    5) кладете свой war-файл в томкат (место куда конкретно класть погуглите)
    5.1) заходите на ваше приложение /имя-war-файла-без-расширения
    6) идете сюда и читаете, как сделать ваше приложение по умолчанию https://tomcat.apache.org/tomcat-8.0-doc/config/co...
    7) смотрите в лог томката на наличие ошибок

    Да, публиковать в томкат можно и удаленно, через web-интерфейс. Гуглите и читайте в документации https://tomcat.apache.org/tomcat-8.0-doc/deployer-...
    Ответ написан
    Комментировать
  • Объясните процесс написания драйвера под линукс?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Нет, систему перекомпилировать совсем не нужно!
    Для написания драйвера ядра нужды исходники ядра (точнее, только хереды) и компилятор.
    Что касается сетевого драйвера, рекомендую начать с изучения драйвера ne2000, как одного из самы простых.

    Начать же что-то писать под ядро - начните с кижки Померанца The Linux Kernel Module Programming Guide - https://www.tldp.org/LDP/lkmpg/2.6/lkmpg.pdf
    А вот тут и на русском - citforum.ru/operating_systems/linux/lkmpg
    Также в исходниках ядра есть темплейты (шаблоны) драйверов, правда сейчас не упомню где точно...
    Вот есть и такой ресурс - https://github.com/ngtkt0909/linux-kernel-module-t... (кросскомпиляторы ставить не обязательно, если не разрабатываете модуль под платформу отличную от x86)
    Вот, вообще отличная статья, типа делай раз-два-три - https://blog.sourcerer.io/writing-a-simple-linux-k...
    Ответ написан
    1 комментарий
  • PMP from windows to linux?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    А чем не подходит просто перелить базу через pg_dump dbname > outfile?
    На всякий случай на почитать - https://www.postgresql.org/docs/9.1/backup-dump.html
    Ответ написан
    3 комментария
  • Как по SSH с линукса на линукс получить доступ к GUI?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Вариантов несколько.
    1) зайти на удаленный комп через ssh -X user@host Далее поосто запускать что нравится. Но в этом случае вы останетесь в том окружении, в котором работает локальный комп.
    2) настроить на удаленном компе вход по xdmcp, это делается в display-manager (какой конкретно стоит у вас не знаю, настройки у всех разные), на локальном компьютере нужно настроить локальный display-manager (DM) на доступ к удаленному сеансу.
    3) испльзовать xnest, но удаленный DM нужно также настроить на xdmcp. Здесь у вас будет окружение удаленного компа в отдельном окошке.
    4) можно на удаленный комп установить x2go, на локальном использовать клиента x2go, работать тоже будет в окошке. Да, окошко можно и на весь экран раскрыть.
    На самом деле проблема в том, что xwindow позволяет работать только одному window manager (отвечает за размещение и отрисовку окон), поэтому не получится совместить сразу десктопы и кде и гнома.
    Ответ написан
    Комментировать
  • Как настроить мультикластер Ceph?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Ой, нет, такого не делал. Но теоретически я бы развернул или в виртуалках KVM или в контейнерах LXC. В виртуалках точно развернется. Делаете для каждого кластера по выделенному VLAN, и нужные виртуалки туда и подключаете. К виртуалкам подключаете диски/ Также можно попробовать и в LXC сделать.
    А собственно, разве правами доступа нельзя разрулить один кластер? Делаете нужное количество пулов, и на каждый пул - свои права доступа клиентам.
    Ответ написан
  • Как сделать общедоступный owncloud сервер за NAT через VPS?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Ставите openvpn и прокидываете туннель.
    На VPS в туннель, и далее до домашнего компа (owncloud), прокидываете через перенаправление портов, либо ставите reverse-proxy типа nginx.
    Также туннель можно прокинуть и через ssh.
    И через IKEV2 и еще кучу других.

    Ах, да, можно обойтись и без туннеля! Если на сервере с  Rasberry сделать подключение по IPv6, и ходить только по этому протоколу. Если же хотите получить к нему доступ из IPv4, то нужно тогда на VPS поставить reverse-proxy, так как нельзя перенаправить порт и трафик напрямую из IPv4 и IPv6 (хотя здесь я не уверен)..

    Почему нужен туннель? Ответ прост, ваш компьютер за NAT не виден из Интернет, и достучать ся до него можно только по проложенному им самим туннелю.

    PS. Собственно, настройкой IPv6 на домашнем Rassberry будет самым простым и дешевым вариантом! (Даже в виде туннеля к провайдеру IPv6)
    Ответ написан
    Комментировать
  • Как избавиться от ада зависимостей в Debian?

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

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Проверьте права доступа на каталоги и файлы. И так как у вас openvpn запускается под systemd, я бы проверил доступ от пользователя, под которым его запускают.
    Ответ написан
  • Старые тома только для чтения, как исправить?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Проблема в том, что стандартный драйвер линукса не умеет писать на тома NTFS! Если хотите чтение-запись, то используйте NTFS-3G, он правда работает в userspace и монтировать придется через консоль руками - https://wiki.archlinux.org/index.php/NTFS-3G_(Русский)
    Ответ написан