Ответы пользователя по тегу Linux
  • Кроссплатформенное программирование на C?

    @rPman
    Ну, про "большинство" мне кажется это преувеличение.

    winapi ничем особым не отличается от других UI библиотек, чуть сложнее кастомизация, достаточно неудобная работа, C-структуры а не классы и старые форматы строк (и проблемы с кодировками). Главное его достоинство - минимальные требования к ресурсам, в том смысле что не нужно использовать какую то прослойку, формирующую свою логику и способ рисования UI только чтобы проще его было кастомизировать.. но если тебе нужен только голый функционал, тянуть весь этот лишний мусор психологически неприятно.
    Когда то очень давно
    , впечатлившись возможностями delphi и успешными потугами msvc сделать разработку UI удобным, пробовал реализовать некую IDE, позволяющую рисовать формочки и генирирующую чистый winapi код для их создания (никаких библиотек), попытка была так себе но идея витает до сих пор (надобности в этом теперь нет).

    Ответ на вопрос - использовать libwine
    Ответ написан
    4 комментария
  • Для чего изучать линукс?

    @rPman
    Так уж повелось, что основное (большее) количество разработчиков работают в среде linux или средах разработки и библиотек, изначально разрабатываемых для работы в linux

    Т.е. когда ты видишь модули npm, пакетный менеджер python pip, compose от php и прочее прочее, везде изначально разработчики ориентируются на окружение linux.

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

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

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

    Linux - это отраслевой стандарт. Не linux сервера могут быть только там где тебя поставили в такие условия намеренно (вендорлок) или по скудоумию. Отсюда не изучать его - глупо и не эффективно.

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

    p.p.s. да у linux тоже куча проблем, поддерживать все его многообразие иногда настоящий ад
    Ответ написан
    Комментировать
  • Куда класть приложения из .tar.gz?

    @rPman
    в linux для приложений, устанавливаемых неконтролируемым методом make install или распаковкой готовых бинарников является каталог /opt, порядок любой, создаешь внутри каталог по имени приложения и в него распаковываешь

    для make install есть практика устанавливать в каталог /home/xxx с той же структурой bin/lib/... что и в оригинале, обычно это средствами самого установщика настраивается.
    Ответ написан
    2 комментария
  • Почему ПК на HASSOS не видит WIFI?

    @rPman
    HassOs основан на linux так что чуда не будет
    мало того вероятность получить рабочий драйвер видео выше именно на ubuntu чем на очень непопулярной версии.

    в основном это является причиной
    ubuntu lts по ощущениям работает медленнее чем на win10

    А еще выбор именно ubuntu с рабочим окружением unity, он отвратителен по большинству показателей и несовместим ни с какой стороны с идеологией linux кроме - "свободы разрабатывать так плохо как тебе хочется"

    Поставь xubuntu/lubuntu/edubuntu, если что можно просто установить пакет в стандартном репозитарии, а настройка меняется тут же при первом логине, так что переустанавливать ничего не надо.

    p.s. гугл говорит что на этот стик устанавливали еще 14-ую и 16-ую версию ubuntu и там все работало без проблем
    Ответ написан
    Комментировать
  • Почему-то перестал загружаться диск с системой убунты?

    @rPman
    при форматировании не удается ничего сделать. Сканировал на битые секторы, на нем нашло 16 штук.
    диск умер, это гарантийный случай
    Ответ написан
    Комментировать
  • Аналоги RDP для linux-сервера без GPU?

    @rPman
    Запускаешь локально на своей машине xserver, если у тебя linux то он скорее всего уже у тебя запущен, если windows то ищи windows xserver, самый простой открытый идет в пакете cygwin, еще есть xwing

    У тебя 3 способа
    - самый простой, ничего не нужно настраивать, но не самый эффективный по сетевому трафику
    запускаешь ssh подключение с ключом -Y и в этой сессии запускаешь свои графические приложение (xterm для тестирования)
    - чуть сложнее, не грузит процессор, так же высокий сетевой трафик
    с помощью xhost настраиваешь права доступа на локальном xserver и перед запуском приложения на твоем сервере прописываешь адрес своего xserver в переменной DISPLAY
    DISPLAY=mycoolclient:0.0 xterm
    я когда то давно для теста так кваку запускал, удивительно но по локальной сети транслировалос более чем достойно и 3d-ускоритель (правда сейчас так не получится) использовался

    - самый правильный и простой, самый эффективный по трафику
    устанавливаешь на сервере и на клиенте x2go-server и соответственно x2go-client (есть windows реализация)
    работает через ssh, сам ставит xserver на windows, удобное управление сессиями, можно настраивать сессии целиком рабочий стол и т.п.
    Ответ написан
    Комментировать
  • Файловая система на диске без разделов?

    @rPman
    можно ли как то прочитать такой диск в windows

    попробуй через wsl, но если идти этим путем то лучше установить нормальную виртуальную машину (по факту она же и будет но без извращений), в ней смонтировать и расшарить диск через samba
    Ответ написан
    Комментировать
  • Есть альтернатива wkhtmltopdf на современной версии chromium?

    @rPman
    Могу подсказать путь решения, он очень простой

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

    p.s. вот пример как это делать без виртуального драйвера
    Ответ написан
    Комментировать
  • Как в initrd вызвать bash/sh?

    @rPman
    чтобы в initramfs можно было кнопки нажимать, на сколько я знаю нужно чтобы работал эмулятор терминала (т.е. привязать текущий терминал к одному из системных tty), с помощью getty , в вартуалке как я понимаю это сделано по особому, а вот на реальной машинее нужно явно указывать.

    первый же пример из гугла скрипта
    Ответ написан
  • Использовать лли ext4, или exfat для внешнего SSD, если планирую использовать его на всех 3х ОСях?

    @rPman
    исходить нужно от задач.

    ext4 будет максимально эффективно работать на linux и скорее всего mac
    exfat будет хорошо работать только в windows (когда я смотрел, на linux драйвер делает заметно больше обращений к диску)

    p.s. я помню под windows есть отличная утилита imdisk, она умеет не только ramdisk создавать но и монтировать образ cdrom и главное сделать его writable. На linux так же не будет проблем с записью cdrom (кажется фалйовая система udf), остается вопрос с macos

    само собой никаких прав доступа ни один из этих способов не обеспечит, по куче причин.
    Ответ написан
    2 комментария
  • Не загружается нужная Windows 10?

    @rPman
    Скорее всего был удален загрузочный раздел windows, на котором в т.ч. лежат EFI файлы и файлы режима восстановления.

    Исправляется средствами восстановления с установочного компакт диска/usb, вот первая же статья из гугла по этому вопросу

    после этого grub придется переустановить.

    p.s. не совмещай на одном диске загрузчики от разных ОС, windows имеет неприятную привычку лезть куда не следует с очередным обновлением, это было, это есть и нет никаких предпосылок что они исправятся в будущем. linux загрузчик можно разместить абсолютно где угодно, от карты памяти или cdrom до pxe загрузчика в сети.
    Ответ написан
    2 комментария
  • Какую операционную систему поставить?

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

    Поэтому 'windows не будет лагать'. Я надеюсь у тебя ssd диск? остальные указанные параметры более чем подходят чтобы 'все летало'.

    p.s. linux от производителя ноутбука обычно отвратительный и не подходит для использования, устанавливается скорее всего для галочки (и с высокой вероятностью это сделано специально).

    Настоятельно рекомендую устанавливать более популярные версии (например ubuntu/kubuntu/xubuntu/...) так как и работать в ней будет больше программ и помощи найти будет проще
    Ответ написан
    8 комментариев
  • Как перенести виртуальные машины из Xen 4.0.1 в ESXi?

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

    Самое универсальное и быстрое - переносить изнутри виртуальной машины обычными инструментами, например clonezilla, можно создать временную виртуальную машину, в которую добавить те же диски. Возможно после потребуется обновить/установить драйвера паравиртуализации (у vmware такой пакет есть и для linux хотя не обязателен)
    Ответ написан
    6 комментариев
  • Как поднять интерфейс в linux чтобы он был SOCKS5 proxy?

    @rPman
    curl -x socks5://socks_ip:socks_port http://your_server_address/your_big_file -o /dev/null

    выведет на экран (можнов файл ключ -O ) подробно информацию о размере скорости и т.п.

    your_server_address/your_big_file - ссылка на файл на веб сервере, до которого меряешь скорость
    Ответ написан
    2 комментария
  • Как работает VPS?

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

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

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

    Добавь сохранение логов ( 2>>errors.log >>info.log ) к вызовам tar и rsync

    Но есть совет!
    Так как ты передаешь один единственный файл - .tar архив, нет смысла использовать rsync, достаточно scp, мало того, нет смысла даже сохранять промежуточно архив у себя. Достаточно передавать архив по ssh сразу в момент его создания, а успешность доставки проверять по коду ошибки, примерно так
    tar -cvf - $BACKUPDIR |  ssh -p 55422 -i /home/pisarev/.ssh/id_rsa rsync@192.168.1.1 "cat /dev/stdin > /volume1/NetBackup/site/backup_$date.tar"
    Ответ написан
    Комментировать
  • Как освободить пространство с LVM?

    @rPman
    Настучать бы тем кто дает советы дробить ОДИН диск на разделы и раскидывать файловую систему linux по нему, причем используя lvm который тут ну совсем не нужен.

    Настоятельно рекомендую избавиться от этой формы разбиения диска, сделать резервную копию всего корня / диска (tar, например сделав отдельно для каждого раздела, добавив ключ --one-file-system) и удалить lvm. Абсолютно все фичи, которые дает lvm можно получить с помощью btrfs или zfs, при этом это будет еще и быстрее (снапшоты у этих cow файловых систем бесплатные, а у lvm за 2х понижение записи)

    настоятельно рекомендую следующий конфиг:
    gpt таблица разделов
    * 1Мб biosboot - раздел нужен если используешь legacy mbr в биосе
    * 100Мб EFIboot - раздел нужен если используешь UEFI secure boot в биосе
    * 512Мб ext4 /boot - раздел не обязательный, нужен только если используется нестандартная фйловая система или странные конфиги (типа bcache ssd кеш для hdd), так же он нужен для дисков больше 2Тб
    * сколько надо btrfs / - раздел куда установишь систему
    благодаря btrfs можно точно так же наклепать в нем виртуальных разделов для /var /home /tmp причем можно даже не указывать лимиты (будет использоваться общее место)

    btrfs прекрасно умеет grub и не считается экзотикой (/boot раздел не требуется)

    p.s. кстати, если загрузчик grub можно установить на другой диск (например карта памяти или другой диск), то системный диск nvme даже не придется разбивать на разделы и использовать буквально весь под файловую систему

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

    для софтварного рейда лучше пользоваться mdadm
    Ответ написан
    Комментировать
  • UEFI перестал видеть OS. В чём причина? Как исправить?

    @rPman
    после отключения Secure Boot и перехода в режим Legacy
    это буквально отключение поддержки UEFI и перевод системы в режим загрузки с MBR

    Для того чтобы он работал на выбираемом загрузочном диске должен быть установлен загрузчик (например grub), делать это нужно, загрузившись к примеру с флешки/компакт диска livecd версию linux той же архитектуры и битности (и желательно версии) что установлена на машине, в том же режиме (legacy), смонтировать системный диск в какой-нибудь каталог (например /mnt) и выполнить команду:
    sudo grub-install /dev/sda --root-directory=/mnt
    где /dev/sda это тот диск, который должен быть загрузочным (обычно на него и ставят ос хотя с linux это не обязательно)

    Теперь важный момент! если на диске таблица разделов GPT (это нужно для дисков больше 2Тб) то необходимо заранее создать 1Мб раздел biosboot (например в gparted или fdisk или любом другом менеджере дисков, кроме майкрософтовского, он не умеет), для старых (или всех) биос расположение этого раздела должно попадать на первые 2Тб диска (т.е. если его засунуть в конец диска, загрузка может не сработать).

    p.s. кстати, если нужна загрузка в режиме UEFI, то делать нужно то же самое, но livecd должен быть загружен в режиме UEFI, biosboot раздел не требуется но нужен EFI раздел (fat32 ~100Мб) с типом EFI Boot, grub-install его обнаружит и скопирует на него загрузчик и самое главное - пропишет диск в таблицу загрузочных дисков биоса (теперь это обязательное условие, за исключением флешек и других removable дисков), некоторые биосы делают это сами при настройке диска, с которого грузиться.
    Ответ написан
  • Как удалить файл источник после его загрузки?

    @rPman
    rsync --remove-source-files -checksum

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

    на сколько я помню при использовании rsync сервера докачка будет наиболее эффективной по ресурсам
    Ответ написан
    Комментировать
  • Существуют ли реализации Telnet over SSL?

    @rPman
    openssl в качестве reverse proxy - сервера и клиента, т.е. telnet клиента подключается к локальному openssl , который в свою очередь через шифрованное соединение подключается к удаленному серверу openssl а тот в свою очередь к локальному telnet

    в коментах пример с tftp
    Ответ написан
    2 комментария