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

    @rPman
    консольный
    dd if=win.iso of=/dev/sdX bs=1024k status=progress


    замени /dev/sdX на имя устройства с флешкой (внимание не /dev/sdX1 т.е. разделов не будет) список получи с помощью lsblk

    bs=1024k заставит писать блоками по 1мб, а status=progress будет выводить какую то информацию о прогрессе
    Ответ написан
    1 комментарий
  • Как правильно бэкапить в этом случае?

    @rPman
    ACL - во всех современных linux дает дополнительный слой прав поверх привычных chown/chmod.

    Можно с помощью setfacl выдать дополнительные права на файловую систему специально созданному пользователю backup и тогда rsync с удаленной машины сможет залогиниться под этим пользователем и скопировать файлы.
    Типа так:
    sudo setfacl -R -m u:backup:rx /
    а копирование с удаленной машины типа так:
    rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} backup@remote:/ /path/to/destination

    дополнительно нужно будет настроить без парольную аутентификацию под пользователем backup на эту машину

    p.s. резервное копирование больших объемов данных, особенно если файлы большие или, к примеру, во время резервного копирования могут быть записаны, потребует заморозку файловой системы с помощью снапшотов, выбор технологии которых накладывает различные ограничения, например LVS кратно роняет скорость работы файловой системы, на которой создан снапшот. Я бы рекомендовал cow файловые системы btrfs/zfs, у них из коробки максимально эффективная система снапшотов (на основе которой можно создать инкрементальные бакапы на порядок удобнее и быстрее чем с помощью rsync) но они роняют (десятки процентов на hdd) скорость работы баз данных в принципе... в общем нужно думать и правильное решение - исключить файлы баз данных из резервного копирования и настройка этого копирования уже средствами базы данных.

    В общем полностью абстрагироваться от клиентских машин не получится, что то на них настраивать придется
    Ответ написан
    1 комментарий
  • Как получить федеральный цифровой канал DVB-T2 и стримить его через Linux?

    @rPman
    На сколько я знаю все в одном есть в vlc и в ffmpeg, они могут брать поток из любого источника (будь то pci плата захвата или usb) а так же позволяет публиковать поток

    p.s. ubuntu 24.04 lts может получиться нежданчик с поддержкой железа, еще года с выхода не прошло, но я очень давно такой фигней не занимался, может там уже все хорошо

    p.p.s. пожалей свои мозги и мозги своих пользователей в сети, не нужно множить зло федеранльный мусор

    Раз в неделю собирай список раздач с какого-нибудь торрент трекера, скачивай его консольным rtorrent, отправляй на трансляцию, удаляй, скрипты по 2-3 строчки.

    Там тебе и развлечения, и новости, и фильмы,.. без рекламы, по твоему выбору.
    Ответ написан
    9 комментариев
  • Как можно запустить одну программу с windows сервера через Linux?

    @rPman
    Не использовать server ревизии windows.

    Использовать рабочие ревизии windows, с ibik aster, настраивая на каждого пользователя свое рабочее место (формально достаточно порта на видеокарте, но DP при наличии соответствующего хаба может умножить это значение в несколько раз. Как минимум 12 рабочих мест организовать так можно.
    spoiler
    Помню был большой и абсурдно выглядящий спор, по поводу легальности такого способа использования windows, у майкрософт очень сильно подгорало, что одна лицензия буквально позволяет работать с компьютером нескольким человек, но это вопрос философии... ведь к примеру нельзя запретить играть в компьютерную игру в несколько человек на одном экране (например hotsit), и в чем разница, с помощью какой программы и с какими целями это разделение происходит. В общем полагаю как то разобрались и ibik aster формально легален, а их софт получает подписи от майкрософт.

    Доступ к приложениям можно организовать через vnc или аналоги. Мало того, с технической точки зрения, наверное всю конструкцию можно собрать внутри виртуальной машины (все виртуалки позволяют создавать виртуальные мониторы), ну только что ревизия windows должна быть enterprise/ultimate.

    p.s. иногда мне кажется, что искусственно созданные ограничения майкрософт вынуждают людей покупать больше железа, тратить больше энергии и ресурсов планеты, только чтобы не платить абсурдно высокую стоимость за ненужный софт.
    Ответ написан
    5 комментариев
  • Как залить большой файл sql в базу?

    @rPman
    Телепатствую.

    Главная причина, чаще всего, это не отключенные индексы, запись в таблицу с ними это n*log(n), а без индексов это n или даже log(n).

    Раздели sql на место создания структуры и импорт данных. Замени код создания структуры на такой, чтобы таблицы создавались без индексов, и отдельно создание этих индексов уже после (автоматизировать это не сложно, но чтобы так с ходу найти готовый код я не найду).

    Отдельно в sql коде можно расставить commit через некоторое количество (десятки тысяч +-) insert-ов, что бы лог не переполнялся.

    Следующий вариант - оптимизация дисковой записи, найди способ принудительно включить lazy writes на диске с базой, например с помощью виртуализации или хотя бы ext4 опция data writeback. Внимание! в этом режиме любая проблема с ос (например отключили питание) испортит данные. Т.е. на время импорта создай файловую систему для таблиц отдельно, потом данные тупо скопируешь. Но если у тебя норм ssd или дисковый контроллер с хорошим кешем, то это не актуально.

    И если говорить об самым экстремально большом ускорении, размести файлы базы в tmpfs (оперативка, сотня гигабайт сейчас даже дома не проблема)... Можно для этого арендовать в облаке vps-ку, но желательно в этом же датацентре, а то копировать сотню гигабайт может быть долго. И да, следи за тем что бы была та же архитектура процессора и версия mysql
    Ответ написан
    Комментировать
  • Как установить Винду через Линукс?

    @rPman
    Почти в любой установке linux есть приложение Диски (kde другое, например etcher, ну и никто не мешает gnome-disk-utility, это для тех кто ленится написать в консоли dd....), оно позволяет в 5 кликов мыши записать iso образ на флешку как есть (без распаковки, просто записывая его в режиме dd сектор в сектор). Выбрать целевую флешку в списке слева, нажать меню справа (кнопка три точки) - восстановить образ диска - выбрать iso образ и нажать - начать восстановление (проигнорировать предупреждение если флешка больше iso-шки)

    Этот режим поддерживается наверное всеми материнскими платами, как новыми uefi (тем вообще пофиг) так и очень старыми, у меня была материнка со времен только только появившегося usb2, точнее когда с usb заработала загрузка, так вот этот режим записи iso прекрасно сработал (правда пришлось выбирать режим usb cdrom в биосе)... когда как многие другие методы создавали кучу проблем.

    Это работает, потому что файлавая система iso, используемая на cdrom поддерживается всеми биосами во всех режимах, а в efi режиме никто не заморачивается проверкой типа файловой системы соответствию типа носителя, лишь бы драйвер был в биосе
    Ответ написан
    Комментировать
  • Какой Linux ещё поддерживает роботу и синхронизацию 32 bit Chrome и Firefox?

    @rPman
    Debian все ещё поддерживает i386, так же firefox ещё выпускается под эту архитектуру

    Если тебе нужно выджать проценты эффективности и экономить сотни мегабайт ram, то выбери Gentoo, в ней все собирается пот установке, да ещё и оптимизировано под текущую архитектуру (бинарные сборки застыли на i386), но собирать браузер придется сутками ждать
    Ответ написан
    Комментировать
  • Как сделать резервное копирование archlinux?

    @rPman
    Исторически в linux резервную копию делают с помощью tar, но никто не мешает делать архивацию обычным cp или rsync или 100500 инструментов копирования файлов.
    Например если установка состоит из одного корневого раздела (даже без /boot) то, смонтировав хранилище для резервной копии в /mnt:
    tar --one-file-system --sparse -cpzf /mnt/backup.tar.gz /

    создаст архив в /mnt, исключив все левые файловые системы, включая /dev /proc и т.п.

    Так же, при выборе адекватных (по функционалу снапшотов) файловых систем (btrfs/zfs), на время установки можно просто сделать readonly снапшот, обновить систему, и при необходимости, подключиться к машине со сторонней установки (livecd/liveusb) и восстановить файлы, смонтировав снапшот (осторожно, снапшоты могут быть уничтожены простым форматированием, это не происходит при обновлении но при установке заново).

    После восстановления, скорее всего потребуется восстановить загрузчик, что можно сделать так же с livecd, смонтировав восстановленную систему в какой-нибудь каталог типа /mnt и сделав
    grub-install /dev/sda --root-directory=/mnt
    при условии что /dev/sda - это диск, куда нужно ставить загрузчик (при смене uuid разделов, потребуется править /etc/fstab и возможно /boot/grub/grub.cfg на новые значения, а позже, загрузившись, обновить загрузчик grub-update
    Ответ написан
    Комментировать
  • Как перенести свободную память с sda3 на sda2?

    @rPman
    грузишься с livecd/liveusb любой linux и запускаешь gparted, в gui нормально все двигаешь и пермещеаешь
    Ответ написан
  • Перенос Linux c vhdx на hdd?

    @rPman
    Для начала метка активного диска это очень устаревшая методика, работает только с legacy mbr boot и только с dos и старыми windows.

    Если система EFI (материнка + настройка в биосе) то нужно восстановить загрузочную запись в биосе (некоторые биосы позволяют выбрать откуда грузиться и так).

    Самое простое и универсальное (не важно какой биос), загрузиться с livecd/liveusb (любую систему linux той же архитектуры, т.е. x86/x64/... в идеале той же версии но не обязательно), смонтировать корневой раздел в какой-нибудь каталог типа /mnt (причем если root состоит из нескольких разделов типа /boot /home и т.п. то нужно смонтировать их все в правильном порядке) и запустить команду
    grub-install /dev/sda --root-directory=/mnt
    где /dev/sda это устройство с диском с которого нужно грузиться (где лежит efiboot или biosboot или для старых mbr дисков где будет загрузочный сектор)
    а /mnt - каталог, в который смонтирован корневой раздел файловой системы твоей перенесенной ОС.

    p.s. grub все сам проверит, восстановит и настроит, и если какая ошибка - напишет

    Дополнительно удостовериться, что в /etc/fstab указаны верные устройства монтирования а лучше перевести на UUID
    Ответ написан
  • Как настроить работу через 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 комментария