Задать вопрос
Ответы пользователя по тегу Linux
  • Как настроить работу через VPN только одного приложения KRDC в Manjaro Linux?

    @rPman
    Если полный нуб, то подними vpn в виртуалке и там же запускай нужное приложение.

    Формально для данной задачи подойдёт cgroup network namespace, достаточно сложно для настройки
    Ответ написан
  • Возможно ли поставить Ubuntu 18.04 на Irbis nb267?

    @rPman
    mint 20.1 основан на ubuntu 20.04, на их базе пакетов и том же ядре... т.е. ubuntu (или xubuntu или kubuntu,...) 20.x версии.

    Ожидать что все будет работать на другой версии, и тем более старее - опрометчиво.

    С другой стороны, для проверки потребуется от силы час времени, а если честно - просто использовав liveusb вариант можно проверить все за минуту. Очень странно что народ лезет в интернет и спрашивает, вместо простой проверки.
    Ответ написан
  • Почему время выполнения программы так сильно различается?

    @rPman
    Любой вопрос о производительности своего приложения нужно начинать с профилирования.
    google: c++ profiler, первая же статья с хабра как пример.

    И да отсутствие 100% нагрузки на все ядра уже повод задуматься что что то делаешь не так (или приложение упирается в недостаточно высокую скорость чтения файлов как пример). Кстати напоминаю, современные ядра что у intel что у amd - виртуальные, мало того, есть модели десктопных процессоров, где некоторые ядра не такие же как остальные (читай медленнее) а значит выкачивать 100% эффективности не так просто. Например многопоточные приложения числодробилки я сразу запускаю на 1/2 от количества ядер процессора (иначе можно получить замедление вместо ускорения).

    Для начала попробуй зафиксировать для своего однопоточного приложения определенные ядра, например с помощью taskset (google: linux cpu core affinity for specified application). Если делать тупо, то перебирай доступные ядра по одному (может быть по два, так как асинхронные методы могут внутри себя использовать потоки, для реализации асинхронности тех действий для которых они в ОС не реализованы), иначе нужно проанализировать свои ядра по отдельности бенчмарками и принимать решение обосновано.
    Ответ написан
    Комментировать
  • На убутободобном linux установил драйвера wifi, как вернуть родные?

    @rPman
    Универсально, устанавливаешь систему, делаешь резервную копию (на самом деле достаточно создания снапшота, это 1 команда и заранее устанавливать систему на btrfs), затем ставишь свой драйвер с помощью make install, делаешь еще один снапшот, и сравниваешь эти два снапшота, например с помощью diff -ru, или получив список различий чем то типа btrfs-diff (он вместо сканирования всего, будет анализировать буквально различия снапшотов).

    Таким образом ты быстро поймешь, что именно сломано и даже как. Мало того, сломанные библиотеки (когда подменяется файл вместо установки рядом с новым именем) можно откатить с помощью штатного дебиановского dpkg:
    # получить имя пакета, в котором указанный файл, работает только для установленных пакетов, иначе apt-file
    dpkg -S /path/to/your/file

    чтобы переустановить пакет (не советую, так как такие пакеты помечаются как нужные и если они были установлены не вами а как зависимость, то эта информация будет потеряна)
    apt install --reinstall package_name
    либо
    # 1. Скачать пакет
    apt-get download package_name
    # 2. Извлечь содержимое пакета во временный каталог
    dpkg-deb -x package_name_version.deb /tmp/package_contents
    # делать с этим файлами что угодно по одному, в т.ч. копировать
    # либо установить пакет без отметки его важности
    dpkg -i package_name

    Альтернатива, изучать исходники конфига устанавливаемых драйверов и помнить, что огульно ставить что либо в систему с помощью make install очень и очень дурная практика, прямой путь все сломать без возможности восстановить.
    Ответ написан
  • Как настроить необходимые разрешения для запуска проекта?

    @rPman
    ты забыл настроить права для /var/www/html/
    если продолжать твою идею с 777 то нужно:
    sudo chmod -R 777 /var/www/html/

    Но вернее выдать права не всем, а только пользователю, под которым запускается сервис:
    chown -R username:username  /var/www/html/
    chmod -R u+rw  /var/www/html/
    Ответ написан
  • Как открыть флешку в терминале линукса?

    @rPman
    Если на флешку была команда - безопасное извлечение (кнопка ^ в интерфейсе файлового менеджера) то такую флешку смонтировать уже нельзя, пока физически не извлечь из usb и обратно не подключить (формально можно это сделать манипуляциями с /proc файловой системой но это не просто).

    В зависимости от ОС и настроек, автомонтирование флешек может быть отсутствовать, так же путь к автомонтированию может быть разный. Обычно флешки монтируются в /media/имя_пользователя/метка_диска но вручную их можно смонтировать с помощью команды mount

    И главное, в linux должна быть установлена поддержка файловой системы, используемой на носителе. Например если там exfat то поддержку нужно устанавливать вручную (по лицензионным соображениям ее нельзя поставлять в готовом виде, лучи поноса отправлять майкрософту, которые уже на fat32 успели миллиарды наварить на отчислениях).
    Например установка поддержки exfat в ubuntu/mint/debian/...:
    sudo apt install exfat-fuse
    Ответ написан
    6 комментариев
  • Как найти фантомный бинарник Caddy, который мне не нужен?

    @rPman
    Попробуй посмотреть в /proc/$pid там куча файлов, описывающих процесс
    Ответ написан
    Комментировать
  • Как вызвать source при выполнении .sh файла?

    @rPman
    если тебе cd ...;source activate долго писать ручками, сделай это алиасами bash
    Ответ написан
    Комментировать
  • Как через openvpn linux клиента иметь доступ во всю подсеть?

    @rPman
    Делаешь тип сетевого подключения, создаваемого openvpn, tap (настраивается на сервере в конфиг файле строчка "dev tap").

    Отключаешь все dhcp и вообще настройки ip адрес, достаточно комментировать строки ifconfig, server-bridge и push route.
    spoiler
    можно и с ним но у меня когда то давно win7 странно глючил, являясь сервером (к нему подключался удаленный клиент), причем не регулярно, он выдавал ip адрес сетевому устройству которое часть сетевого моста, и сеть переставала работать пока в проводнике, в списке сетевых устройств, не нажать f5, как так можно было проглючить я хз, но глюк был

    Объединяешь виртуальное tap устройство на сервере и на клиенте с сетевым адаптером, который подключен к локальной сети соответственно на стороне сервера и на стороне клиента (если на клиенте нет сети то не надо).

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

    В результате, после поднятия openvpn подключения, клиентский компьютер будет подключен в удаленную локальную сеть, точно так же как это бы произошло, если бы он был подключен физически к ней (по ethernet или wifi), и если роутер а точнее dhcp сервер не запрещает этого, то клиентской машине будет выдан ip адрес из удаленной локальной сети и все будет работать. ip адрес можно выдать вручную, если адрес не будет конфликтовать с ip адресами этой сети (иначе можно нарушить ее работу). Осторожно с двумя одновременно работающими dhcp серверами в сетях сервера и клиента, если желаешь объеденить их в одну, они могут конфликтовать и машинам выдавать ip адреса из своих диапазонов, и если они будут пересекаться, будут глюки. К сожалению нет красивого решения, как разграничить доступ к dhcp в разных подсетях, нужно ставить нормальный фаервол на обоих машинах (не уверен, сможет ли фаервол напрямую влиять на пакеты в сетевом мосту,. как минимум на windows нет).

    Умные маршрутизаторы в локальной сети могут ограничить пакеты от устройств с 'неправильным' mac адресом, т.е. админстратор удаленной сети может запретить такое подключение. Не очень изучал, до какой степени эта защита работает, так как mac адрес можно изменить на клиенте.
    Ответ написан
  • Как и где легче создать свой шаблонный образ linux?

    @rPman
    Создавать qcow2 образ нужно локально на своей машине с помощью того же qemu, первоначальное создание пустого с помощью qemu-img.

    Создать образ - это установить linux внутри виртуальной машины. linux не сильно привязывает установку к железу, как это делает windows, поэтому нет никакой разницы, с помощью чего была создана установка, пусть и с помощью virtualbox.

    После настройки OS в любимой тобой виртуальной машине, ее образ можно сконвертировать с помощью того же qemu-img (он понимает наверное все существующие форматы) а так же, как вариант, сделать резервную копию любым инструментом создания резервных копий ОС, например clonezilla, изнутри виртуальной машины, полученный файл подсунуть уже qemu и создав в нем пустую виртуалку - восстановить.

    Интерфейс qemu для linux - libvirt, но если тебе однократно, то нет никакой необходимости в этом, достаточно разобраться в простых ключах коммандной строки.

    p.s. выбирай ту же архитектуру что использует провайдер vps, обычно это amd64 (x86_64), но возможны разные ситуации, вплоть до arm
    Ответ написан
    2 комментария
  • Подсчитывается ли интернет-трафик самой системой linux?

    @rPman
    Чтобы не устанавливать дополнительно приложений, просто прочитай файл /proc/net/dev, его читать достаточно удобно и глазами, и программно
    Ответ написан
  • Какие есть вендор-независимые реализации IPMI для консьюмерского компа?

    @rPman
    Может попробовать решить изначальную проблему? ограничив ресурсы виртуальным машинам и раздать приоритеты?
    https://ivirt-it.ru/lxc-linux-containers-resources...
    Ответ написан
    1 комментарий
  • Как усановить php-curl?

    @rPman
    Официальная поддержка уже закончилась, и официальные ppa так же свернулись, но можно поискать неофициальные. Я не прбовал, это первое что нашел гугл на запрос 'ppa bionic php 8.1'

    https://launchpad.net/~sergey-dryabzhinsky/+archiv...

    p.s. я надеюсь ты осознаешь, какие проблемы у тебя от использования такой старой версии linux?

    настоятельно рекомендую обновиться, и придется это делать шаг за шагам по всем промежуточным релизам lts, причем скорее всего будут проблемы с пиоском и настройкой рабочего репозитария.
    Ответ написан
    Комментировать
  • Как сделать права 777 по умолчанию для общих папок Virtualbox?

    @rPman
    У тебя нет доступа к настройкам virtualbox smb server, поэтому скорее всего таким способом проблему не решить.

    Но ты можешь на linux поставить samba (входит в поставку), настроить мапинг пользователей windows-linux (1 команда) и работать с нативными правами, т.е. проводник windows без проблем подключится к расшаренному на linux каталогу, и кстати наоборот тоже должно работать без проблем.

    p.s. виртуальная машина это - отдельно стоящая машина, с доступом по сети.
    рекомендую организовать свою работу на основе git (локально, не нужно заливать все на github и аналоги), разместив его на том же linux (отдельно каталог создай как хранилище git а для рабочего каталога делай клонирование), с авторизацией по ssh проблем не будет на windows.

    Работа через git comit позволит оформить и внести порядок в процесс разработки, особенно если у тебя команда.
    Ответ написан
    1 комментарий
  • Как добиться нормальной скорости чтения microSD через встроенный картридер на Debian?

    @rPman
    Очевидно что картридер в usb-модеме не работает на ожидаемых скоростях, сделан 'для галочки' и работает медленно.
    Ответ написан
  • Как исправить ошибку?

    @rPman
    Установи в wine preffix правильную версию dotnet с помощью winetricks, начни с верхней и перебирай, меняя старшую цифру.

    Еще совет, вместо wine используй proton, а лучше готовую запускалку lutris, она и порулить несколькими позволит, и сама обновит и базу скриптов и автонастроек настроек для приложений предложит.
    Ответ написан
    Комментировать
  • Как выполнить rm без ошибок?

    @rPman
    заключи весь путь в ковычки!
    пробелы или к примеру если путь не абсолютный, и в начале его стоит - то это не сработает
    Ответ написан
    Комментировать
  • Как изменить /dev/sda на другое название, и последствия?

    @rPman
    в системе уже должны быть симлинки на диски и разделы вида
    /dev/disk/by-id (идентификатор самого устройства, например nvme-eui.0000000000000000707c180208020000)
    /dev/disk/by-label (сюда попадут те разделы для которых определена метка диска)
    /dev/disk/by-path (тут по подключению на аппаратном уровне pci-0000:00:17.0-ata-7)
    /dev/disk/by-partuuid (работает только для gpt таблицы разделов, сохраняется в таблице раздела и не меняется при форматировании файловой системы на нем)
    /dev/disk/by-uuid (идентификатор раздела выдается во время форматирования раздела, можно изменить в любой момент и не сохраняется при форматировании)
    Последний поддерживается практически везде, например в grub или /etc/fstab можно писать UUID=xxxxx вместо /dev/sda1

    читаем

    большинство утилит сможет принять вместо /dev/sda их симлинки, даже в конфигах, но некоторые (те кто не обновляет свой код десятилетиями) могут разименовывать эти симлинки в их текущее положение, с такими будет тяжело
    Ответ написан
    Комментировать
  • Как исправить раздел LVM - отсутствует верная таблица разделов?

    @rPman
    это нормально, fdisk -l перебирает все блочные устройства, а lvm создает симлинки на созданные разделы, которые выглядят как блочные.
    Естественно таблица разделов не должна присутствовать на самих разделах
    Ответ написан
    2 комментария
  • Как создать свой образ Linux для размноживания на других АРМ?

    @rPman
    Настраиваешь pxe загрузчик по сети, прописываешь в default минимальный образ системы (я создавал такие с помощью debootstrap) с единственным скриптом в автозапуске (служба или в сохраненным для совместимости /etc/init.d) который отформатирует диск с помощью parted и копированием, либо восстановит образ, созданный заранее с помощью той же clonezilla (она показывает команду, с помощью которой идет восстановление), в общем на выбор, он же добавит специфические для машин моменты (например на основе mac адреса сетевой карты)

    Настоятельно рекомендую использовать этот подход (или тот что с помощью livecd) только для однократного первичного распространения машин. Дальнейшая поддержка должна осуществляться уже не копированием оригинала, а обновлением, на основе скриптов того же ansible.
    Ответ написан
    Комментировать