Задать вопрос
  • Могу ли я перенести RAID массив на другую ОС с сохранением файлов?

    @rPman
    Технически это debian linux, и поддержка mdadm в нем есть, но вопрос, как именно работает в нем GUI, требует ли он чтобы массив так же создавался из интерфейса.

    Настоятельно рекомендую сначала установить тестовый вариант OpenMediaVault куда-нибудь на виртуальную машину, создать в другой машине (просто загрузившись с livecd) тестовый массив (сделай диски по 100мб) и проверь как он отреагирует
    Ответ написан
    Комментировать
  • Хочу заняться графической оболочкой для линукс. Есть ли какая-нибудь база дистрибутива?

    @rPman
    Есть два пути, один рекомендует тот кто с крылышками, другой - кто с рожками. Один путь - выбрать язык программирования (например c++ или python), выбрать фреймворк (например qt или gtk), и ваять приложение, затем оформить его в виде deb/rpm пакета (где то тут или чуть чуть раньше, когда выбираешь фреймворк и версии библиотек выбираешь ОС, deb и rm это одни из самых популярных форматов дистрибуции приложений, например debian/ubuntu/minnt - это deb) и затем оформить это в виде iso или аналогов.

    Второй путь chromium based приложение, какой-нибудь electron (соответственно писать на javascript и html), из плюсов, на халяву работа с мультимедиа, минусы - высокие требования к железу а точнее к оперативке (особенно когда у тебя 256Гб-512Гб ram, минипк в формфакторе флешка). Многие почему то выбирают этот путь но он чреват сложной поддержкой в долгую (точнее не он а типовой способ разработки на nodejs когда народ простейшее приложение собирает из ТЫСЯЧ пакетов в зависимостях, тянуть это потом нереал).

    Способ создания iso лучше гуглить, доступно от штатных инструментов linux (вручную собирать и следить за обновлениями) до готовых инструментов, вот пощелкай варианты ответа в этом вопросе как пример.
    Ответ написан
    1 комментарий
  • Linux на SSD рядом с Win10, на внешний HDD или виртуализация?

    @rPman
    WSL, виртуализация это хороший вариант, но почти полностью убивает возможность использования kubernetis, так как он использует в т.ч. виртуализацию (но в теории можно настроить для работы внутри виртуалки) для своей работы. docker-у виртуализация не требуется поэтому он нормально работает внутри любых виртуалок

    Я бы настоятельно рекомендовал сначала попробовать поработать в виртуальной машине а затем, попробовать установить на физическое железо, это тоже этап обучения, проблемы с которыми сталкиваются (точнее которые создает windows) тоже позволяют понять как это работает. Одним из экстремальных способов можно выбрать установку gentoo, строго следуя документации, шаг за шагом, разбираясь что именно делает каждая команда, будет видно из чего состоит процесс установки и загрузки linux, после этого квеста такие мелочи как перенос работающей системы на другой раздел с форматированием и сменой файловой системы прямо из работающей системы будет легким делом (был такой квест, нужно было сменить файловую систему на btrfs с поддержкой сжатия но vps провайдер не давал нормальной возможности загрузиться в recovery, так вот сначала ставилась система в swap раздел, настраивалась загрузка с него, затем перезагрузка, резервное копирование, форматирование и восстановление...)

    linux менее требовательный к тому, как именно он загружается, в отличии от windows, загрузчик можно устновить куда угодно, хоть на флешку, хоть cdrom, хоть в сети (pxe boot) хоть прописать прямо в efi строке (uefi биосы умеют работать с файловыми системами fat32/ntfs/isofs и возможно linux ext3) ну а само физическое размещение разделов linux и тем более может быть каким угодно (был момент ubuntu можно было ставить внутри файла-контейнера, который лежит на windows ntfs диске, потом это из установщика убрали но физическая возможность есть)

    В зависимости от выбранного способа загрузки в биосе и типа разделов на диске, у тебя должен быть раздел biosboot (если выбрать legacy mbr или называют csm и gpt таблица разделов) или efiboot (если выбран efi или еще называют secure boot или csm), кстати ее можно было бы совместить с виндовым загрузочным разделом но я настоятельно советую держать linux подальше от windows, были случаи когда очередным обновлением майкрософт затирала загрузчик, ломая linux загрузку.
    Ответ написан
    Комментировать
  • Astra Linux - как избавиться от шума в HDD?

    @rPman
    Якобы проблема в том, что разбивка жёсткого диска неверная, и там надо создать какие-то разделы для того чтобы hdd справлялся, а в данной ситуации он не вывозит и какая-либо деталь там западает или что-то в этом роде.
    либо вас обманули либо вы не так что то поняли или не договрили.

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

    p.s. первое же видео со звуками типовых поломок hdd от гугла
    Ответ написан
    Комментировать
  • Как сделано всплывающее окно с моим e-mail адресом Google, который я на этом сервере не оставлял?

    @rPman
    Всплывающее окошко использует iframe, этот тег 'надежно' защищает от доступа к данным со страницы, на которой этот iframe размещен от доступа.. т.е. ни какой информации вытащить из этого фрейма нельзя, но вот сам фрейм может вызывать методы на основной странице, это значит если их там подготовить, код из фрейма может выдавать то что необходимо основной странице. Т.е. страница во фрейме имеет доступ к кукам гугла, а значит авторизации, но вот основная странице нет... с оговорками:

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

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

    Чтобы этого избежать, атакуемый сайт должен проверять, не происходит ли с его положением на странице чего то странного. Хз, делает ли это гугл, надеюсь да.
    Ответ написан
    1 комментарий
  • Как исправить неправильное отображение данных в csv после экспорта?

    @rPman
    майкрософтовский эксель по умолчанию (когда ты открываешь csv файл из проводника) ожидает то ли DOS кодировку cp866 то ли windows cp1251 (это для кирилицы), в общем однобайтовую. Чтобы была возможность выбирать (у тебя utf8), нужно открыть пустой документ и из меню данные выбрать вставить из текста, там откроется диалоговое окно с возможностью выбирать (офис помнит импортированный файл и может его повторно перезагружать с сохраненными настройками).

    libreoffice calc диалоговое окно импорта открывает сразу при открытии .csv

    Еще, настоятельно рекомендую в качестве разделителя выбирать ';' или символ табуляции '\t'
    Ответ написан
    1 комментарий
  • Разница в нагреве компонентов при разной нагрузке системой?

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

    Чистить дело неблагодарное, хоть и реальное, примерно раз в год, с крупными обновлениями от майкрософта, все очищенное возвращается назад с изменениями от автоочищалок,.. какая то борьба с ветряными мельницами.

    Попробуй зайди в bios материнки и понаблюдай за температурой, на сколько я помню это единственное место где можно получить минимальную нагрузку и наблюдать за ней. Если и там температура будет заметной, то настоятельно рекомендую провести чистку системы охлаждения и замену термопасты.
    Ответ написан
  • Как распарсить вывод ifconfig/ip, чтобы показывало имя интерфейса, отвечающее за беспроводную сеть?

    @rPman
    зачем так сложно? читаешь /proc/net/wireless и получаешь начиная с третьей строки список wireless интерфейсов, типа так:
    Inter-| sta-|   Quality        |   Discarded packets               | Missed | WE
     face | tus | link level noise |  nwid  crypt   frag  retry   misc | beacon | 22
    wlan0: 0000   70.  -50   -256        0      0      0      0    325        0
    Ответ написан
    Комментировать
  • Существует ли аналог GPTs?

    @rPman
    Мне кажется рановато искать ГОТОВЫЕ решения В ОТКРЫТОМ доступе на эту тему. Народ только только пилит все это.

    И да, открытые и доступные llm-ки могут быть не достаточно сильными, чтобы успешно отрабатывать данную задачу. Зачем вам поисковая система, которая будет косячить в 10% случаев? 20%? 30%? причем в обе стороны, т.е. не только выдавать не нужное, но и пропускать нужное

    p.s. из-за ограниченного размера контекста, других вариантов кроме как - определить по запросу пользователя, какие ему нужны документы и докинуть саморизацию их в контекст, нет. И это плохо работает.

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

    @rPman
    Если у тебя есть видеокарта (или несколько) nvidia с достаточным объемом gpu vram (обычно это 2х от количества параметров, но можно использовать квантизацию, 8битная не меняет значимо качество работы, если не нужно дообучать, т.е. количество параметров ~ размер памяти + чуть чуть, обычно гигабайт, на внутренние нужды сетки) то достаточно воспользоваться примерами python кода со страницы модели на huggingface. Самое главное, скрипт скачает модель автоматически.

    Если у тебя нет достаточного количества vram или вообще нет nvidia видеокарты, то запускай на процессоре с помощью проекта llama.cpp (тебе не нужно ничего сверх этого). Он использует модели, конвертированные в собственный формат (сейчас это .gguf но он меняется очень часто, за год раза 3 менялся без обратной совместимости), у этого формата и проекта есть бонус - загрузка модели в кеш операционной системы, т.е. повторный запуск приложения не будет тратить время на загрузку модели. Так же есть поддержка gpu (причем и amd тоже, но я не пробовал, формально даже intel дискретка заработает, хз на сколько хорошо), причем фича - можно разместить там только часть модели, а вот python huggingface вариант так не может, либо вся нейронка либо только на процессоре. Так же проект может автоматически раскидывать модель по нескольким gpu (кажется этим управлять пока нельзя), что не очень просто в других случаях.

    llama.cpp в поставке несет server, простенький веб интерфейс и api для работы в своих скриптах. Умеет режим chat (на самом деле не просто это запустить на huggingface примерах) и если покопаться в возможностях кода, есть мегафичи, например сохранение состояния. Особенность алгоритма работы llm такова что на входящие токены тратится время, но можно сохранить состояние в памяти, так работает чат режим, или на диске, и загрузить его по требованию и продолжить в режиме чата (например в контекст записываешь данные, сохраняешь состояние, а затем возвращая его, подсовываешь разные вопросы, загрузка состояния мгновенна, соответственно тратиться время будет только на вопрос и ответ, но не на повторную обработку данных, что актуально для нейронок с большим контекстом)

    Теперь объединяем фичи huggingface и llama.cpp, в поставке последнего идут утилиты конвертации модели из huggingface в .gguf, просто указав название модели, она будет загружена, конвертирована, квантизована, если актуально, в нужную битность (настоятельно рекомендую 8бит, ну если сильно надо, можно 5бит), и будет работать максимально эффективно соответственно твоему железу.

    ну и отвечаю на вопрос, какие нейронки хороши для дома - openchat35 -7B (основан на mistral), mixtral8x7b - 56B (требует оперативку но по скорости работает как 7B), посмотри на qwen1.5 (на любой вкус от 0.5B до 70B), cohere command R+ (кажется 100B версия догнала gpt4), а при наличии очень большого количества памяти - databrix (порядка 256Гб при 8битной квантизации, но работает как 30B модель так как использованы идеи из mixtral)

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

    p.s. не советую надеяться на то что нейронки будут хороши на русском языке. Они могут его понимать, могут отвечать на нем, но качество результата скорее всего будет максимальным при использовании родного языка (чаще английский, но к примеру qwen скорее всего заточен на китайский)
    Ответ написан
    Комментировать
  • Повысит ли вынос ОС на отдельный SSD диск скорость работы стриминга на сервере?

    @rPman
    Смотрим на цифры, у hdd есть максимальная линейная скорость и максимальная скорость в случайном доступе, и эти две цифры отличаются на пару порядков!
    Возможна комбинация условий, такие как - нехватка оперативной памяти для кеширования системных файлов, плюс, не настроенный (тут не помогу, знаю только что это возможно) алгоритм сохранения данных в кешах (типовая ситуация, системная библиотека попала в кеш, затем сервер отдал двум-трем клиентам один и тот же огромный файл, и он, при попытке положить его в кеш, вытеснил ранее закешированную библиотеку) и вот любой запрос к ОС заставляет диск дергать свои головки, значительно понижая скорость работы. Это не в том смысле вот добавили еще одного пользователя и стало чуть чуть хуже, нет, вот у пользователей чуть чуть изменился характер работы с данными и скорость упала на порядок скачкообразно.

    Я бы разместил ОС на отдельном диске (не обязательно ssd), это слегка поможет.

    От жестких дисков нужно избавляться, они подходят только там где нужно хранить много а доступ редкий, а у вас я так понимаю диски на 100% постоянно? Если вам на только на чтение (пишем один раз читаем много), а сервер ваш, можно приобрести максимально дешевые десктопные ssd и держать на них копию данных с hdd, тогда за относительно небольшие траты можно решить проблему низкой скорости (повторяю - держать копию на hdd так как дешевые десктопные могут тупо из-за контроллера помереть).
    Ответ написан
    Комментировать
  • Как вернуть двумерный массив?

    @rPman
    Помню очень очень давно, когда мне нужен был объект двумерный массив с заданными константами размерами (и достаточно маленький чтобы не перегружать стек), а так же мне не нравилось что двумерные массивы требовали дополнительный массив ссылок, который еще нужно было инициализировать, я создавал класс (формально два, так как перегружать оператор [] можно только один раз, для второй перегрузки нужен класс посредник), симулирующий поведение двумерного массива на одномерном, при этом сам массив определялся не как ссылка на него, а как собственно сам объект
    нытье
    сейчас я код свой старый не найду, мне лень но я попросил chatgpt все написать, и о чудо, bing copilot не справился (отвратительно, майкрософт испортила хороший инструмент) хотя он понял концепцию но умудрился наделать кучу ошибок, пришлось чинить, в прошлом году он прекрасно с таким простым кодом справлялся. Не так, если воспользоваться площадкой для ботов coze, там используется gpt4, то результат получается верным (нет он тоже напортачил в подсчете смещения в массиве), это именно майкрософтовский сопилот тупой
    template<typename T,size_t RowNum, size_t ColNum>
    class Array2D {
    private:
    	T arr[RowNum*ColNum];
    
    public:
    	class Proxy
    	{
    	private:
    		T* _arr;
    
    	public:
    		Proxy(T arr[]) : _arr(arr) {}
    
    		T& operator[](size_t index)
    		{
    			return _arr[index];
    		}
    	};
    
    	Proxy operator[](size_t index)
    	{
    		return Proxy(&arr[index*ColNum]);
    	}
    };
    
    typedef Array2D<int, 3, 5> mas35;
    
    mas35 test()
    {
    	return *(new mas35); // с этим нужно быть предельно осторожным, так как бездумно можно получить утечки памяти
    }
    
    int main()
    {
    	mas35 a=test();
    	a[1][0] = 5;
    // ...
    	return 0;
    }
    Ответ написан
    Комментировать
  • Какое можно использовать клиент-серверное приложение видеоконференции p2p?

    @rPman
    jitsi meet - не p2p но серверную инфраструктуру запускают у себя. Между клиентами связь прямая. На основе webrtc
    Ответ написан
    1 комментарий
  • Можно ли включить звук при звонке определённого контакта в бесшумном режиме?

    @rPman
    Нет, но есть опция - выдавать уведомление если в течении 15 минут был повторный вызов от того же абонента (не уверен правда, со звуком ли это уведомление или только экран включается).

    Есть лайфхак, советую попробовать. Найди в настройках - второе пространство или похожее, если ты зайдешь в него, настройки режима 'не беспокоить' для него будут свои, т.е. там он будет отключен. Соответственно если второе пространство запущено и в него установлено требуемое приложения (например у меня так whatsup звонил в фоне, при выключенной громкости на основном рабочем месте) то даже если этот рабочий стол не активирован, он все равно работает и будет выдавать звонки и звук получения sms (я этот момент не понял, sms и звонки сотовой связи видны в обоих рабочих местах)
    Ответ написан
    1 комментарий
  • На каком виртуальном сервере процессор мощнее?

    @rPman
    Во первых, виртуальные серверы не подходят для числодробилок (исключение - использование GPU или других сопроцессоров типа FPGA, там обычно они делятся по честному), потому что физический сервер будет разделен между несколькими пользователями, и даже если ты наберешь тарифным планом максимальное количество процессоров/ядер, часть ресурсов (для серверных - 3-5%, а для десктопных железок до 10-30% в очень специфических случаях) будут тратиться на обслуживание виртуализации.

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

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

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

    p.s. тебе верно советуют, не смотреть на гигагерцы.
    Все очень зависит от того как и какая задача запускается. Оптимизация кода, выбор архитиктуры (например 32-битная на 64-битной будет работать по другому, где то хуже где то лучше), глобальные параметры (размеры буферов пакетной обработки, количество запущенных воркеров/потоков, настройки кеширования и тюнинг файловой системы ос или выбор конфигурации хранилища,..). Это вопрос исследования, и только эксперименты могут дать какой то адекватный ответ. Еще раз - тестируй на реальном железе.
    Ответ написан
    Комментировать
  • Нужно ли вынимать процессор из сокета при прошивке БИОС программатором?

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

    Но, возможна ситуация, когда контакт программатора слетел и подал питание не туда, в этом случае существует вероятность что-нибудь сломать, и не только процессор но и какой-либо другой чип на плате (там есть компоненты с требованиям к питанию 3v).
    Ответ написан
    Комментировать
  • Можно ли поставить SSD SATA III в старую материнку?

    @rPman
    Да, 2 из 5 портов поддерживают 6Gb скорости, какие именно - читать в мануале.

    sata III обратно совместимы, т.е. можно вставлять быстрые устройства в медленные порты и все будет работать на той скорости что обеспечивает порт.

    И нужно понимать, что ограничения скорости интерфейса обычно значительно выше скоростей самого устройства, т.е. даже если вы вставите ssd sata в старый порт sata I, работающий на 1.5мбит, то чтение с диска будет 150мбайт/с, и таких скоростей дешевые устройства тупо не смогут выдать (максимум из кеша, что в контексте задачи пользователь не заметит)
    Ответ написан
    Комментировать
  • [ВОПРОС РЕШЕН] Как сделать так чтобы можно было выбирать загружаемую систему?

    @rPman
    За загрузку linux обычно отвечает grub (можно и без него, например uefi умеет, но не советую новичкам туда лезть).
    В зависимости от выбранного типа загрузки в bios - legacy mbr или efi, настройки соответственно разнятся.

    1. в mbr режиме на диске должен быть записан загрузчик (он размещается в dos разделах, в бут секторе и последующих за ним секторах, в gpt разделах для загрузчика выделяют соответствующий раздел 1мб. biosboot)
    2. в efi режиме загрузчик записывается в efi boot раздел, можно использовать тот же раздел что и у windows (тогда загрузкой будет он заведовать, не рекомендую новичкам) либо создать второй efoboot раздел на втором диске, и при загрузке выбирать в биосе второй диск как загрузочный
    Это я написал к тому, чтобы в зависимости от типа загрузки, на втором диске должны быть соответствующие разделы (biosboot или efiboot)

    В обоих случаях все за пользователя делает grub-install /dev/sdX где sdX имя диска (sda - первый, sdb - второй,... советую внимательно проверять, потому как порядок может отличаться от того что в windows). Но для этого нужно загрузиться в linux, если же загрузка прооисходит с livrcd/liveusb загрузочного носителя, то тогда команда будет grub-install /dev/sdX --root-directory=/mnt где /mnt это каталог, в который необходимо смонтировать вручную установленный на втором диске linux (если к примеру там два раздела / и /boot то их нужно смонтировать соответственно в /mnt/ и /mnt/boot). grub автоматически найдет efi раздел и смонтирует его, мало того он автоматически найдет windows и добавит его в grub menu чтобы из linux загрузчика можно было бы загрузить windows... Если возникнет путаница и grub найдет виндовый efi, то можно смонтировать его вручную перед запуском grub-setup
    Ответ написан
    2 комментария
  • Как сделать чтобы приложение для win ce открывалось на весь экран?

    @rPman
    Явно причина в неправильном закрытии explorer. Его автозапуск нужно убирать из реестра, заменой шела на ваше приложение.
    https://developer.toradex.com/windows-ce/knowledge...

    Путь указывать полный

    p.s. еще если это WinForm то у формы можно задать TopMost свойство true, но надо экспериментировать.
    Ответ написан
    Комментировать
  • Есть ли оптимальный способ получения смс с +-50 сим-карт одновременно?

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

    Вторая альтернатива закупить БУ смартфоны на android, это проще но возни много со старым железом
    Ответ написан
    Комментировать