Задать вопрос
  • Возможно ли конвертировать vdmk образ в raw, который лежит в vmfs датасторе?

    @rPman
    добавь в вирутальную vmware с нужным тебе диском загрузочный диск какой-нибудь утилиты резервного копирования и скопируй как raw.

    самый тупой пример, берешь livecd ubuntu, загружаешься, монтируешь по сети целевой диск, куда сложить файлы (если тебе сразу диск нужен, советую nbd например идет в поставке с qemu, во всех вариациях как сервер так и клиент) и копируешь с помощью dd или partclone (он, зная файловую систему будет пропускать не занятые сектора, что еще быстрее)
    Ответ написан
  • Какие программы подойдут для резервного копирования клиентских ПК с медленной сетью и большим объемом данных?

    @rPman
    Я помню для машин на windows7 использовал bat-скрипт (он уже не подойдет для win10) который делал примерно то же самое, создавал теневую копию копируемого диска, запускал rsync, который для дубликатов на основе предыдущего копирования создавал символические ссылки.
    rsync -avh --link-dest=previous_backup/ source_directory/ new_backup_directory/

    source_directory/ - это каталог, который нужно скопировать.
    new_backup_directory/ - это каталог, в который будет создана новая резервная копия.
    previous_backup - это предыдущий каталог резервного копирования. rsync будет создавать символические ссылки на файлы в этом каталоге, если они не изменились.

    rsync можно брать как нативный виндовый так и использьзовать linux через wsl, рекомендую нативный (который на основе mingw)

    По поводу работы с этим по сети, лично я делал не стандартно, диск, на который происходило копирование подключался по сети как блочное устройство (.vhd/.vhdx), сам же файл по сети раздавался сервером.

    Делал я это потому что в моей задаче не сервер инициировал копирование, а клиент. Так же полное сканирование диска локально проводится на порядок быстрее, чем по сети. Так же работа с .vhdx благодаря монопольному доступу и штатному кешированию записи на порядок быстрее именно по сети.

    Копируя файлы с нескольких машины по очереди на один и тот же диск у меня появлялась возможность отдельным приложением сканировать диск на одинаковые файлы и делать их так же символическими ссылками (т.е. в пределах резервных копий с одной машины ссылки создавались с помощью rsync, но между машинами нет).

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

    p.s. что значит интерфейс управления резервным копированием?
    Ответ написан
    6 комментариев
  • Что делать, если перестал запускаться пк после обновления диска в формат GPT?

    @rPman
    Ты так и не написал что сделал после чего перестало работать.

    Тебе нужно восстановить загрузчик (в режиме cms это часть uefi), раз у тебя открывается окно восстановления
    https://remontka.pro/windows-10-bootloader-fix/
    Ответ написан
    1 комментарий
  • Как копировать/переносить виртуальную машину с Linux без правки загрузчика?

    @rPman
    при инициализации диска, создании и форматировании раздела можно задать свой uuid, тебе где из этого надо?

    вот например так я это делаю с lvm
    pvcreate --norestorefile -u xxx-xxx-xxx-xxx-xx-xxxx /dev/sda2

    а так с файловой системой
    mkfs.xfs -m uuid=xxx-xxx-xxx-xxx-xx-xxxx /dev/sda1
    Ответ написан
    Комментировать
  • Существует ли альтернатива видео api ютуба?

    @rPman
    В целом альтернатив youtube нет, любые варианты будут хуже, так как за ними не стоит компании, готовой вкладывать миллиарды годами в убыточный проект до тех пор пока даже самые стойкие конкуренты не протухнут, а население мира не станет воспринимать площадку как естественно единственный вариант.

    youtube это не только api но и люди, без них любая технология будет в забвении.

    p.s. попробуй peertube, технология позволяет во первых не зависеть от центра, не требует держать действительно дорогие сервера чтобы удерживать большие всплески посетителей (за счет того что видео грузится по технологии torrent с других веб клиентов) и там какие то механизмы объединения списка медиа в какой то каталог чтобы все было в одном месте а не миллион независимых сайтов... может у них получится.
    Ответ написан
    Комментировать
  • Как создавать файл блокировки на диске?

    @rPman
    При открытии файла fopen с режимом "x" если файл существует - будет возвращена ошибка.

    Соответственно спокойно открываешь файл, если вернулась ошибка, ждешь и повторяешь попытки в цикле, если открылся - тут же закрываешь и работаешь с директорией, по окончанию работы файл удаляешь. Обе операции атомарные.
    Ответ написан
    Комментировать
  • В VirtualBox вылазиет ошибка после запуска exe приложения, как решить?

    @rPman
    Не существует драйверов для windows гостя с полноценной поддержкой 3d-акселератора.
    Есть какие то кастрированные потуги, например при установки гостевых дополнений (те что проприетарные и требуют отдельной загрузки) можно отметить чекбоксик что желаете экспериментальную поддержку directx 3d но на практике там мало что работает и самое главное ничего не работает в windows 10, майкрософт что то как следует сломало и перестало работать даже то что раньше работало.

    Та же ситуация с другими системами виртуализации.

    Для qemu есть spice, механизм универсального проброса функций 3d ускорителя по сети, но на сколько это работоспособно я не знаю, кажется плохо.

    Наилучшее на текущий момент решение - проброс всего PCI контроллера с видеокартой (всем что оно предлагает, там и звуковая карта для hdmi и еще какие то устройства), virtualbox так не умеет, пробуй с qemu. Вот посмотри тут есть список устройств которые вроде бы будут работать так

    https://ubuntu.com/server/docs/gpu-virtualization-...
    https://wiki.gentoo.org/wiki/GPU_passthrough_with_...

    p.s. совет, сначала настрой windows машину не внутри виртуалки а на реальном железе с пробрасываемой видеокартой, установив драйвера заранее и только потом переноси ее в виртуальную машину, когда то давно установщик драйверов в windows не могу их установить если видеокарта биосом уже была инициализирована (получается двойная попытка).
    Ответ написан
  • Файлообменник на qt5 c++ с ms sql?

    @rPman
    сохранить в бд через QSqlDatabase надо использовать QSqlQuery запрос
    открываем документацию и видим bindValue, позволяет добавлять параметры указанного типа ParamType - QSql::Binary

    Мне очень лень было искать или писать код поэтому попросил chatgpt, по сути он верный, может есть какие то нюансы или неточности, исправляются документацией
    spoiler
    #include <QSqlDatabase>
    #include <QSqlQuery>
    #include <QVariant>
    #include <QFile>
    #include <QByteArray>
    
    void writeBinaryData(const QString &filePath) {
        // Создаем объект базы данных
        QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
        db.setDatabaseName("my_database.db");
    
        // Открываем базу данных
        if (!db.open()) {
            qDebug() << "Не удалось открыть базу данных";
            return;
        }
    
        // Создаем объект QSqlQuery для выполнения запросов к базе данных
        QSqlQuery query;
    
        // Создаем таблицу, если она еще не существует
        query.exec("CREATE TABLE IF NOT EXISTS my_table (id INTEGER PRIMARY KEY, data BLOB)");
    
        // Открываем файл
        QFile file(filePath);
        if (!file.open(QIODevice::ReadOnly)) {
            qDebug() << "Не удалось открыть файл";
            return;
        }
    
        // Читаем все данные из файла
        QByteArray fileData = file.readAll();
    
        // Закрываем файл
        file.close();
    
        // Готовим запрос на вставку данных в таблицу
        query.prepare("INSERT INTO my_table (data) VALUES (:data)");
    
        // Привязываем двоичные данные к запросу
        query.bindValue(":data", fileData);
    
        // Выполняем запрос
        if (!query.exec()) {
            qDebug() << "Не удалось выполнить запрос";
            return;
        }
    
        qDebug() << "Данные успешно записаны в базу данных";
    }


    p.s. пожалуйста, не издевайтесь над сервером, пользователями, администраторами и здравым смыслом. Не храните файлы в базе данных! Только очень большая нужда может заставить так поступать, а уж если файлы имеют большой размер, то мало какое железо адекватно потянет такое 'решение'
    Ответ написан
    3 комментария
  • Как бекапить диски виртуалок PVE в lvm на СХД?

    @rPman
    Такое возможно только если раздел, на который будет выполняться копирование и с которого производится копирование, не используются. Нельзя одновременно монтировать один и тот же раздел, за исключением случаев, если все работают readonly.

    Создаешь виртуальную машину и пробрасываешь в нее локальный диск, тот же, что раздается по iscsi, и самостоятельно следишь за монопольным доступом к нему.

    Красиво реализовать не получится.

    P.s. резервное копирование на ту же машину это сценарии защиты от пользователя и ошибок в ПО, это лучше и эффективнее разрешать снапшотами, либо файловой системы либо системой виртуализации. Не рекомендую снапшоты lvm, при них кратно деградирует скорость записи.
    Ответ написан
  • Как избавиться от спам-рекламы?

    @rPman
    Это подписки на уведомления, сами они не появляются, для этого нужно согласиться когда выпадает соответствующее уведомление браузера.

    Чтобы отключить, нужно удалить сайт (а лучше все что не нужно) из списка исключений, для этого открывай настройки своего браузера и сверху в поиске пиши Notification или Уведомления и удаляй все что туда попало не нужного.
    Ответ написан
    1 комментарий
  • Какой инструмент может превратить схему БД в панель управления или админку?

    @rPman
    Что то мне говорит, что в общем случае это невозможно, как помощник можно использовать chatgpt и аналоги.

    Прямо хочется назвать этот инструмент - называется фрилансер
    Ответ написан
    1 комментарий
  • Какой библиотекой редактировать, заполнять шаблон pdf на php?

    @rPman
    откуда вы беретесь? кто вам дает такие упоротые задания?
    Как генерировать PDF документы из шаблонов?
    Pdf - худший формат для данной задачи.

    На php не густо библиотек по работе с pdf, они обычно ориентированы на чтение но не на редактирование. А читать документ в одном формате а генерировать из него другой промежуточный (обычно это html) это очень плохая идея.

    Настоятельно рекомендую изменить данные момент в вашем бизнес-процессе, и использовать в качестве шаблона какой-либо открытый офисный формат типа open document или по старинке html

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

    @rPman
    так как роутеры это уже давно linux машина, почти полнофункциональная, из него можно сделать все что угодно.

    ищи статистику по трафику, сравнивай с такой же статистикой по машинам в сети, можешь даже специально время выделить для тестов и отключить все машины от роутера (или оставить одну с прогнозируемым трафиком)
    Ответ написан
    Комментировать
  • Стоит ли писать алгоритмы на PHP?

    @rPman
    Благодаря добавлению почти нормальных классов и некоторой типизации, php стал вполне неплохим языком программирования.

    С точки зрения изучения алгоритмов, этого более чем достаточно.

    Но! язык это не главное для разработчика, нужны еще доступные библиотеки и инструменты разработчика (ide, отладчик, профилировщик, помощник с рефакторингом и т.п.) вот тут у php не так заоблачно (но все еще хорошо, если речь идет о разработке приложений web backend или к примеру скриптов автоматизации).

    Канонически для изучения именно программирования с прицелом на работу, лучше выбирать что то из c++/java/python может c# (точнее весь .net) но с оговорками.

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

    python - как язык может чем то не нравиться, но у него самое большое покрытие библиотеками по задачам работы с данными, с точки зрения полезности его нельзя не упомянуть.

    java - учит строгости, даст полезную базу для изучения,.. кто то поставил бы его на первое место новичкам и не только... но после него 'опускаться' до c++ будет сложно, и больших скоростей как и у python от него не жди

    Не выбирай первым языком всякие javascript (они испортят тебя как программиста) или go/rust (от них можно получить разочарование при поиске работы).
    Ответ написан
  • Как в предварительном запросе передать переменной $ значение полей?

    @rPman
    Да, параметризовать можно только значения но не наименование полей и таблиц (мало того ты и prepared запрос так не сможешь сделать, с каждым новым значением $(column) будет новый запрос).

    Да, тебе придется валидировать значение в $(column) но это не сложно так как там допускаются только латинские буквы (оба регистра), цифры и подчеркивание. Конечно если ты не используешь идентификаторы_в_ковычках (там любые символы, но зачем тебе стрелять себе в ногу), ну в крайнем случае как разработчик ты знаешь что у тебя в запросе и какие допустимые наименования полей там могут быть
    Ответ написан
    1 комментарий
  • Алгоритм построения многоугольника из исходного квадрата и пересекающих его линий?

    @rPman
    Так и не увидел в вопросах уточнений по алгоритму, поэтому потелепатствую, возможно уточнение возникнет тут:

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

    Затем для каждого отрезка вызываем эту функцию, последовательно отсекая от многоугольника, в конце получим искомый.

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

    @rPman
    10.xxx.xxx.xxx - это частные адреса и снаружи видеть их никто не может

    на фаерволе нужно настроить перенаправление 3000 порта на твой локально установленный сервер либо настроить какой-нибудь прокс-веб-сервер, например nginx это умеет
    Ответ написан
    Комментировать
  • Как заставить готовый exe-файл обращаться к файлам по фиксированной директории?

    @rPman
    каталог, в котором находится твой текущий .py файл можно получить os.path.dirname(__file__)

    ты можешь сменить текущий каталог на него os. chdir(...) либо при открытии файлов добавлять этот путь вручную
    Ответ написан
    Комментировать
  • Как установить Windows 95 с флешки?

    @rPman
    Установи через виртуалку, пробросив весь жесткий диск внутрь.
    Не забудь выставить в биосе режим sata -> ide, и метод загрузки legacy mbr
    так же максимальный размер раздела у тебя может быть fat32 - 32Gb (в теории больше но именно win95 не сможет), лимит на оперативную память 512мб (16битная ос), говорят уже на гигабайте глючит и не работает, и вообще глюки начинаются после 480мб.

    Говорят win98se могла работать на 1gb (вроде бы даже 1.5gb) ну и соответственно последняя досовая версия win me тоже.

    winnt4 могла работать на 4гб (с нее пошло win32 поддержка 32битная)

    p.s. зачем тебе win95 на реальном железе? тебе более чем хватит виртуалки.
    Ответ написан
    3 комментария
  • Как автоматизировать работу с .xcf GIMP-шаблоном?

    @rPman
    в linux установка пакета gimp-plugin-registry добавляет в т.ч. пакетную обработку, возможно она тебе подойдет
    Ответ написан
    Комментировать