Ответы пользователя по тегу Linux
  • Актуальна ли книга "Разработка ядра Linux, 2-е издание"?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Увы, актуальна! Да, изменений в ядре много, иногда кардинальных. Но это не умаляет того факта, что по этой книге можно написать драйвер, один, второй третий. Потом полезть в исходники, посмотреть изменения - и писать с новыми API.
    А вообще - рекомендую https://lwn.net/Kernel/LDD3/ и свежие примеры https://github.com/martinezjavier/ldd3
    И https://github.com/0xAX/linux-insides
    Ответ написан
    Комментировать
  • Проблемы с ALSA на Linux(Manjaro)?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Интересно, чем pulseaudio не устроило? A jackaudio пробовали?
    Вы же понимаете, что без аудиосервера у вас будут проблемы с несколькими приложениями с доступом к карте, да и кучу других проблем....
    Ответ написан
  • Есть ядро только ядро, как наполнить и зделать юзабилити? Core с сайта тини кор?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    LFS - вам сюда - www.linuxfromscratch.org/lfs
    Ну и вот, по-русски, но почему-то без настроек компилятора.... - https://habr.com/ru/post/257663/
    Ответ написан
    Комментировать
  • Как послать сигнал на дочерний sh процесс?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    А написать спою запускалку, которая будет pid из переменной $! доставать? https://unix.stackexchange.com/questions/30370/how...
    Ответ написан
    Комментировать
  • Чем QEMU отличается от "реального" процессора и что быстрее?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    В kvm/libvirt можно по разному пробрасывать процессор, ограничивая или нет его функциональность. На производительности, если это и сказывается, то обычно не очень сильно. Но всегда хорошо бы уточнять, что конкретно прокинуто, используя для диагностики в том же выводе флаги процессора. Ну и собственные тесты производительности никто не отменял!
    Ответ написан
    Комментировать
  • Ограничения на количество сетевых интерфейсов Ubuntu server 18.04?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Ограничения если и есть, то где-то в драйверах конкретного устройства. Вы бы рассказали, что делаете, на каких устройствах и как?
    Ответ написан
    Комментировать
  • Как настроить сеть при установке Debian 10?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Похоже, что ваш DHCP сервер не выдал вам default gateway. Если сеть без выхода в интернет, то ничего страшного. Если с выходом, то можно попробовать самому установить командой ip route add 0.0.0.0/0 via IP-адрес-роутера. Для этого переключитесь на другую консоль клавишами Ctrl-Alt-F2-5
    Такж еможно посмотреть, что за адрес выдался ip a
    Ответ написан
    Комментировать
  • Как сделать автоматическое обновление консольного приложения в 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 комментарий
  • Как передать координаты для захвата видео с 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%.
    Ответ написан
    Комментировать
  • Виснет ПК 1-3 раза в день. Что проверить?

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

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Чтобы файл был либреофис, он должен быть в формате либре офис. Содержимое этого файла должно отвечать стандарту odf, как минимум.
    Ну и если вам нужно получить этот формат из входного потока, воспользуйтесь утилитой pandoc например. Ее нужно поставить отдельно, есть в пакетах основных дистрибутивов.
    Ответ написан
    Комментировать
  • Установка 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...
    Ответ написан
    Комментировать
  • Веб-сервер Linux и сбор стат.отчетов. Что посоветуете?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Скорее всего полностью варианта из коробки для вас нет. Для отчетов можно использовать eclipse birt или jasperpeports.
    В случае с Birt - https://www.eclipse.org/birt/ у него есть серверный вариант, я как-то очень давно с ним работал. Создаете report-файл, загружаете его на сервер и при запросе генерируется отчет из базы данных или другого источника. Да, есть плагин к эклипсу (среда разработки) для содания report-файлов, почти как эксель.
    C jasperReports https://community.jaspersoft.com/project/jasperrep... примерно тоже самое.
    Ответ написан
    1 комментарий
  • Какое ПО наиболее популярно для Linux-серверов разного типа?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Ну коли я встрял в диспут, тоже ответ напишу.
    Есть разные задачи, начиная от рабочей станции-десктопа и заканчивая разными серверными задачами.
    Про десктоп писать не буду, ставите ЛЮБОЙ понравившийся дистрибутив с графической оболочкой по умолчанию - это и будет набор самого популярного ПО. Например я пишу с ноута с убунтой (ноут хороший, стильный и дорогой ультрабук асус ux391), все рабоатет как надо.

    А вот дальше - все интереснее. Для небольших установок подойдет стандартный набор LAMP - Linux, Apache (Nginx), MySQL (PostgreSQL), PHP.
    Для связи с виндовыми машинами - Samba.
    FTP не ставьте никогда (!!!) - используйте ssh/sftp - они в стандартном наборе, это безопаснее и универсальнее.
    Сейчас очень популярна контейнеризация типа Docker/LXC/Kyberners и виртуализация KVM/XEN. Что здесь лучше - не скажу, пользую и то и то. Для быстрых вещей - контейнеры, для разделения - KVM.
    Базы разные и Mysql и Postgres, последний приятнее и может гораздо больше, но не все его могут, увы. Я же предпочитаю Redis/MongoDB/Kafka/Hbase/Elasticsearch но все под задачу.
    Из вебсерверов предпочитаю Nginx, но есть продукты, которые заточены для работы с Apache.

    Для настроек файрвола в каждом дистрибутиве есть генераторы правил - в убунте это ufw. Я же пользую firehol.

    Спрашивайте - дополню список.
    Ответ написан
  • Как получить доступ к локальной подсети клиента, находящегося за NATом через тоннель WireGuard VPN?

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

    Вот здесь подробнее - https://medium.com/@jmarhee/configuring-and-managi...
    Ответ написан
    Комментировать