shurshur, как раз для задачи запуска приложений debootstrap в chroot идеален, и он прост как валенок. Собственно docker этот тот же chroot но с большей гибкостью пеосчницы (своя сеть, лучше изоляция)
Zloy_Mitya, мы говорим об программе, работа которой жизненно необходима компании, простои из-за сбоев выражаются в значимых для нее денежных потерях.
Это тот самый момент когда нужно думать высоко, а не тяп ляп.
Тем более то что я описал не требует каких то особых затрат (резервный сервер не обязан быть быстрым! он не должен обрабатывать запросы 1c, он тупо хранит базу и в ленивом режиме обновляет записи, это так работает master-slave репликация)
Вариант со снапшотами запущенного приложения это может и перебор (система виртуализации кстати будет кушать заметный процент ресурсов), но один раз такое попробуешь, уже не захочешь назад.
Когда у тебя бакапы 1-2 раза в сутки, ты теряешь эти сутки в момент восстановления и тратишь значительное время, восстанавливая потерянные записи из бумажных логов.
Когда у тебя бакапы раз в час или к примеру после каждого заказа! это значительно уменьшает количество объектов, которые нужно восстанавливать, и повышают вероятность, когда этого вообще не придется делать.
Есть кстати режим (только дорогие старшие системы виртуализации либо вручную городить на базе qemu) когда на резервном сервере в автоматическом режиме удерживается копия оперативной памяти запущенной виртуальной машины... и в момент смерти рабочего сервера, этот резервный сервер может моментально стать рабочим и продолжить работу без какой либо значительной задержки (считанные секунды)
докер, а точнее любая система (пара)виртуализации с установкой своей версии ОС с нужным libssl наиболее простой и логичный вариант решения задачи.
venv просто не подходит для данной задачи, он для разграничивания python пакетов а libssl это бинарный пакет, который стоит на уровне выше по зависимостям. Ты не можешь просто так подменить одну библиотеку, там наверняка у нее в зависимость половина дистрибутива.
Если уж совсем надо, то путь тебе в компиляцию python с установкой в home и всего что он там за собой потянет.
понять бы еще, чем тебе существующие не понравились
тебе нужна именно сериализация данных или еще поверх нее чтобы была какая то инфраструктура наворочена?
например json-rpc, тут json это сериализация, а rpc это какраз инфраструктура и стандарты
Константин, elinks, у него есть поддержка javascript, точно помню был в поставке с cygwin (не уверен правда со включенной ли поддержкой скриптов)
На самом деле хороший вариант, эти браузеры могут быть хорошей основой для ИИ, который гуглит за тебя и анализирует сайты
вы думаете я что-то понял, кроме фразы "это нормально"?
Для вас разве этого не достаточно?
В линукс есть принцип 'все есть файл', даже usb флешки, даже сетевые устройства, даже видеокарты (ну по разному), даже вся оперативная память на машине доступна как файл и т.п.
Блочные устройства - это такие специальные файлы, которые создаются ядром (драйверами) для дисков, весь файл - все доступное для чтения и записи место, это ваши /dev/sda или /dev/mapper/...
Симлинк, это специальный файл, который при создании определен как симуляция другого файла (какой указан при создании), такие файлы и каталоги выглядят как обычные, но реальное размещение файла другое. Это не копия а именно ссылка. (в linux кстати есть разные способы создать ссылку, hardlink - в пределах одного устройства, simlink - на любой файл и inode link, когда файл ссылается не на имя файла а на место на диске)
Таблица разделов - это информация о разделах, на которые разбит диск (записано обычно в начале диска), именно это показывает fdisk -l
p.s. так как разделы LVM часто используют для хранения образов виртуальных дисков, это нормально, что fdisk ожидает в них таблицу разделов, ведь для виртуальной машины этот раздел - целый диск.
Объясните мне, почему народ мучается и жует кактус, пытаясь использовать адски неудобный язык программирования bash? (та же фигня с windows bat, майкрософт запилили scripting host javascript/vbs, дали компилятор .net c#, идущий с .net sdk и т.п. но нет, давайте извратимся и сделаем powershell и весь необходимый функционал в него интегрируем, пусть народ дальше извращается). Да, очень часто, подход с пайпами, плюс набор утилит по работе с текстом, позволяет очень эффективно все это писать именно на bash но..
Все то же самое можно сделать на других языках программирования. Хотите python? хотите php? c# (mono)? да елки палки, тот же javascript с node будет удобнее в сотню раз.
На bash самая большая головная боль - это строки, и даты,.. работа с ними на столько сделана неудобной, что вместо пары строк, код становится 100-строчным извращением, который не поддерживать, ни баги исправить, ведь в нем разберется только такой же извращенец, что его написал.
Единственный аргумент против я видел только в том что нельзя на машине что то устанавливать, это какие же адские условия выставляют своим работникам работодатели, что запрещают устанавливать python? В крайнем случае можно ведь установить требование цифровой подписи у скриптов, это достаточно безопасно.
Teamviewer/anydesk/rustdesk/vnc (а так же rdp у virtualbox) это управление УЖЕ ИМЕЮЩИМСЯ терминалом (console в терминах windows), так как если бы ты сидел за тем же компьютером и управлял мышкой и нажимал кнопки на клавиатуре, одновременно работать не получится.
Для windows есть ibik aster, позволяет создать несколько реальных консолей, каждая со своим реальным монитором и клавиатурой, и в каждой консоли запустить свой rustdesk (с оговорками), для linux то же самое встроено штатно (1 видеокарта = одно рабочее место), а вот для macos про такой функционал я не слышал, но все уже привыкли что это самая кастрированная ОС.
RDP для windows server и с помощью rdpwrapper для рабочих windows <10-ки позволяет создать дополнительные рабочие столы, работающие независимо (один консоль с реальным монитором и клавиатурой и остальные - подключенные по сети), позволяют работать одним компьютером нескольким пользователям
почему для этого нужно использовать usb?
если для macos не создали какой-нибудь удаленной графической консоли (типа rdp в windows server или x2go в linux) то не уверен что любые другие инструменты позволят вам в двоем работать за одной машиной, тем более таким странным способом.
Разве в iphone не существует возможности аналогичной android ndis usb network? позволяет подключать интернет на компьютере по usb проводу, поднятом на смартфоне, и как бонусом, прямая связь по сети между ними (т.е. интернет это бонус а не обязаловка)
Это старая фича, работает 'из коробки', т.е. подключил, разрешил, нажал на компьютере (win и linux) подключить, все
пальцем в небо, после того как первый vpn подключается, второй уже начинает работать через канал первого, чтобы это было не так, нужно добавить маршрут до сервера второго vpn через дефолтный локальный шлюз
Ипатьев, будь проще и терпимее Михаил Ливач, по теме, когда ты собираешь словарь с ключом - имя города $index[$v['name']]=$k; тебе нужно сразу преобразовать это имя в нижний или верхний регистр, а так же то же преобразование ты должен сделать когда будешь искать эту запись.. Предвещая другие проблемы, настоятельно рекомендую так же удалить из наименования все что не является буквами (это легко, если у тебя ограниченный список языков в газваниях), чтобы не попасть на разные написания городов с '-' или амперсандом или пробелами и т.п. Т.е. создай метод типа PrepareNameAsKey($name) который будет упрощать его и используй тут и там где ищешь имя в словаре.
Внимание, при использовании mb_strtolower нужно указывать верную кодировку (ее заранее лучше указать в начале)
Еще, настоятельно рекомендую, не использовать наименования городов в качестве идентификатора, потому что это не уникальное значение, первый же результат из гугла, пересмотри архитектуру проекта или будь готов к таким нежданчикам.
удали из поста api_key, теперь он дискредитирован, смени его.
по теме вопроса непонятно что должно быть.
решение таких задач очень простое, добавь логирование с выводом переменных везде где это актуально либо, что лучше, используй отладку, пройди по шагам своего алгоритма и сравнивай то что есть с тем что ожидается.
Everything_is_not_so_bad, при работе wsl антивирус не задействуется, мало того с файловой системой работа происходит в каком то особом режиме (например изменившиеся файлы внутри wsl снаружи, в каталоге-контейнере, файл может не измениться и наоборот), в теории там какой то агрессивный режим кеширования, из-за чего при железных сбоях, файлы внутри wsl могут быть порушены с большими шансами чем снаружи без wsl.
у меня сестра, очень далекая от компьютера и всегда обращавшаяся ко мне по любому поводу, после того как уехала в другой город смогла заменить жесткий диск, а там винтиков больше, разъемов больше и он сам больше :)
, либо пусть приглашает специалиста, таких сейчас много и если не умеешь/не хочешь сам ковыряться с железом, иметь на руках проверенного человека очень надо (вызов обычно от 500р начинается но есть такие кто нарабатывают клиентскую базу и могут приехать по себестоимости такси)