Задать вопрос
  • Крон внутри докера?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Не нужно "именно внутри контейнера".

    Делайте отдельный контейнер, запускайте с хоста или юзайте оркестратор, в котором есть CronJob.
    Ответ написан
    Комментировать
  • Почему скрипт запуска виртуальной машины перестал работать?

    @rPman
    какое красивое садамаза, скрипт запускает сам себя на javascript являясь bat, да еще и внутри powershell, как это читать и отлаживать, известно только его разработчику :)

    И самое главное, вам точно нужно GUI для смены даты? И уж точно для этого не требуется ни powershell ни повышение прав доступа (хотя может у вас там так настроено)

    У virtualbox есть соответствующие команды VBoxManage, которые можно было просто прописать в текстовом файлике, назвать blablabla.bat и запускать
    upd. нужно считать разницу в миллисекундах между текущим временим и целевым, на bat это сложно, поэтому лучше сразу писать на чем то типа javascript, не изобретая паровоза (и от туда же запускать vboxmanage)

    p.s. кайфую с современного ИИ, который это сумел разобрать и по полочкам разложить этот кошмар
    anthropic:claude sonnet 3.5
    ...
    проанализируй этот скрипт для windows, почему тут сместь cmd и javascript, и начни описание, что именно делают первые строчки
    Давайте разберем этот интересный гибридный скрипт:

    Первые строки скрипта представляют собой "полиглот" - код, который может быть интерпретирован несколькими языками программирования:

    ```
    set @x=0; /*
    @echo off
    ver |>NUL find /v "5." && if "%~1"=="" cscript.exe //nologo //e:jscript "%~f0"& exit /b
    ```

    Это хитрая конструкция, которая:
    1. Начинается как cmd-скрипт (`@set @x=0;`)
    2. Открывает многострочный комментарий в JavaScript (`/*`)
    3. Выключает вывод команд в cmd (`@echo off`)
    4. Проверяет версию Windows и если скрипт запущен без параметров, перезапускает сам себя через cscript.exe в режиме JavaScript

    Последняя строка скрипта:
    ```javascript
    */new ActiveXObject('Shell.Application').ShellExecute (WScript.ScriptFullName,'Admin','','runas',1);
    ```
    закрывает JavaScript-комментарий и содержит код для повышения привилегий - перезапуска скрипта с правами администратора.

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

    Основная часть скрипта написана на PowerShell и использует Windows Forms для создания графического интерфейса. Согласно документации [learn.microsoft.com](https://learn.microsoft.com/en-us/dotnet/api/syste...), скрипт создает форму для ввода даты, которая будет использоваться для настройки BIOS времени виртуальной машины VirtualBox.

    Такая сложная структура используется для:
    1. Обеспечения запуска с правами администратора
    2. Совместимости с разными версиями Windows
    3. Комбинирования возможностей разных языков скриптования Windows

    продолжай дальше анализ, почему там еще и powershell?
    PowerShell используется в этом скрипте для основной функциональности, и его часть начинается после строк:

    ```
    ;@echo off
    ;@Findstr -bv ;@ "%~f0" | powershell -noprofile -command - & goto:eof
    ```

    Эта конструкция особенно интересна, потому что:
    1. Использует Findstr для фильтрации содержимого файла, пропуская строки, начинающиеся с `;@`
    2. Передает отфильтрованное содержимое в PowerShell через пайп (`|`)
    3. Запускает PowerShell без профиля (`-noprofile`) для ускорения загрузки

    PowerShell был выбран для основной части скрипта по нескольким причинам:

    1. **Объектная модель**: Как отмечается в [thenewandshiny.com](https://thenewandshiny.com/powershell-everywhere/), PowerShell работает с объектами, а не с текстом, что делает его более надежным для работы с системными компонентами.

    2. **Удобство работы с GUI**: PowerShell позволяет легко создавать Windows Forms для пользовательского интерфейса, что используется в функции `CustomInputBox`

    3. **Управление VirtualBox**: PowerShell предоставляет удобные средства для запуска процессов и управления VirtualBox через `VBoxManage`

    4. **Работа с датами**: PowerShell имеет мощные средства для работы с датами и временем, что критично для этого скрипта

    Важно отметить, что в скрипте используется разделение на Windows PowerShell и PowerShell Core. Как упоминается в [get-powershellblog.blogspot.com](https://get-powershellblog.blogspot.com/2017/10/wh...), это важно учитывать при работе с разными версиями PowerShell.

    Скрипт использует стандартный формат командлетов PowerShell `Verb-Noun`, хотя, как отмечается в [scoop-docs.vercel.app](https://scoop-docs.vercel.app/docs/misc/Why-PowerS...), такой формат может казаться излишне многословным, но он обеспечивает четкую структуру и понятность команд.

    Основная функциональность скрипта:
    1. Создает GUI для ввода даты
    2. Проверяет корректность введенной даты
    3. Настраивает время BIOS для виртуальной машины VirtualBox
    4. Запускает виртуальную машину с модифицированными настройками времени

    какими строчками настраивается время
    В скрипте время настраивается несколькими ключевыми командами:

    1. Сначала отключается синхронизация времени с хостом:
    ```powershell
    start-process $VB_MANAGE 'setextradata', $vmname, 'VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled 1' -NoNewWindow
    ```

    2. Затем вычисляется смещение времени в миллисекундах:
    ```powershell
    $timeoffset_milliseconds='{0:0}' -f ([datetime]$date - [datetime]::Now).TotalMilliseconds
    ```

    3. И наконец, применяется смещение времени BIOS:
    ```powershell
    start-process $VB_MANAGE 'modifyvm', $vmname, '--biossystemtimeoffset', $timeoffset_milliseconds -NoNewWindow
    ```

    Здесь важно отметить несколько моментов:
    - Используется VBoxManage - утилита командной строки VirtualBox (путь хранится в переменной `$VB_MANAGE`)
    - Смещение вычисляется как разница между желаемым временем (`$date`) и текущим системным временем
    - Параметр `--biossystemtimeoffset` устанавливает смещение времени BIOS в миллисекундах

    После установки времени виртуальная машина запускается командой:
    ```powershell
    start-process $VB_MANAGE startvm, $vmname
    ```

    Похожий подход используется в проекте [github.com/bitbank2/rtc_setter](https://github.com..., где также реализована настройка времени, но для реального RTC (часов реального времени), а не виртуальной машины.

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

    Ответ написан
    5 комментариев
  • Как убрать ошибку Microsoft Office при работе с Yandex диском подключенным через WebDAV?

    alexsupra
    @alexsupra Автор вопроса
    root
    Для этого необходимо выполнить команду
    REG ADD HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\16.0\Common\Identity /t REG_EXPAND_SZ /v basichostallowlist /d "webdav.yandex.ru"
    Ответ написан
    Комментировать
  • Почему останавливается разворачивание ROOK в MINIKUBE?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    ImagePullBackoff какбы намекает, что по одному образу в 2 подах не скачалось и дальше ничего не поднялось.
    P.S. До ныряния в логи надо сначала читать kubectl get events.
    Ответ написан
    Комментировать
  • Как выбрать идеальный умный замок?

    Судя по вашему предыдущему вопросу, вам нужен не умный замок, а СКУД.

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

    При установке на улицу рассчитывай только на разблокировку по NFC или через приложение.

    Работу в минус 30 производитель не гарантирует и даже не гарантирует, что откроется механический замок.
    Уверены, что хотите играть в лотерею "а нужно ли мне будет зимой доставать фен и размораживать замок, чтобы попасть внутрь"?
    Ответ написан
    1 комментарий
  • Как все таки использовать cron в связке Docker+php-fpm?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Ничего дикого в кроне на хосте нету (особенно если это не крон, а systemd-таймер), как и в отдельном сервисе-планировщике. А если хотите, чтобы было прям по фэншую - юзайте Kubernetes + CronJobs.
    Ответ написан
    3 комментария
  • Как выглядит sudoers?

    martin74ua
    @martin74ua Куратор тега Linux
    Linux administrator
    Никакие, для нормальной работы права sudo служебному пользователю не нужны
    Ответ написан
    Комментировать
  • Можете помочь с установкой Wubuntu?

    NVidia не пускает вас скачать свои драйверы.
    Используйте VPN

    Но смысла особого в использовании именно в "Wubuntu" нет, используйте обычные версии: Ubuntu/Kubutu/Xubuntu.
    Ответ написан
    Комментировать
  • Как настроить автоматическую загрузку драйвера принтера через GPO?

    @NortheR73
    системный инженер
    В 2021 году в сервисе Print Spooler была обнаружена серьезная уязвимость (PrintNightmare CVE-2021-34527), для исправления которой Microsoft изменила поведение Windows при установке драйверов печати. Теперь пользователи без прав администратора не могут установить драйвера для принтера (KB5005033), в том числе с помощью параметра GPO Point and Print. Установку драйверов (подписанных и неподписанных) должны выполнять только пользователи с правами администратора.

    Установка принтеров с помощью групповых политик Ac... - вот тут расписано, что и как делать.
    Можно заранее интегрировать драйверы в устанавливаемые образы и/или, например, проверять наличие какого-то ключевого файла или флага и ставить драйверы скриптом (через GPO/Scheduled Task)

    такой же вопрос пару лет назад
    Ответ написан
    Комментировать
  • Какой выбрать Linux совместимый ноутбук на базе процессоров ARM?

    VoidVolker
    @VoidVolker Куратор тега Железо
    Dark side eye. А у нас печеньки! А у вас?
    Альтернатив макбуку практически нет. Как рабочая лошадка - машина великолепная. Поэтому его и берите.

    Отмечу также, что вопрос цены значения не имеет. В игры играть не планирую.

    В этом случае вам осталось только выбрать, что для вас приоритетнее: если размер, легкость и портативность - тогда берите "Аир". Если важнее производительность и память - то остаётся только "Про" версия. 14 или 16 дюймов. Конфигурацию сразу берите максимальную - память и ядра лишними не бывают. Своих денег он стоит на все 100%.

    Есть ли среди комьюнити кто-нибудь, кто имеет успешный опыт установки Linux на ноутбуки Apple Silicon, в частности на упомянутый выше Pro? Отзовитесь, пожалуйста.

    Правильно ли я понял, что на данный момент поддержка Linux для современных Macbook Pro M3 не реализована полностью?

    Ошибаетесь: её там вообще нет. Так-то есть проект один - но оно там сырое и не юзабельное. Вам вообще для каких целей линукс? Докер с десятком контейнеров прекрасно летает и на аир-м1. Причём даже с х86 контейнерами работает вполне себе адекватно, несмотря на то, что виртуализация х86 обходится примерно в 90% потери производительности. Да, медленно, но всё равно работает же. Пишут, что даже арм-винда номрально себя чувствует со своим транслятором арм-х86. Арм линукс в виртуалках тоже летает прекрасно - есть qemu, UTM APP, а недавно и VirtualBox подтянулся. Так что даже если нужен линукс с графикой - то в виртуалке он будет работать прекрасно. Кроме того, сама по себе мак-ось - это тот же самый юникс. Так что есть очень много софта, который есть в линуксе, что отлично работает в маке и спокойно ставится через brew. Смысла менять родную юниксовую ось на линукс нет вообще никакого.

    UPD:
    Для Framework Laptop 13 вышла материнская плата с RISC-V процессором: https://3dnews.ru/1117823/
    Ответ написан
    2 комментария
  • Как исправить проблему со звуком?

    @SunTechnik
    По спецификации, у данной модели монитора нет встроенной акустической системы.
    https://www.dns-shop.ru/product/3b24ead0e1b2ed20/3...

    Чем он должен звук издавать?
    Ответ написан
    5 комментариев
  • Как очистить взломанный пк?

    @rootnoroot
    систему переустановите
    Ответ написан
    Комментировать
  • Как сделать так, чтоб бэкап одного устройства отправлялся на другое устройство?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Выглядит как кандидат на запуск с ПК, а не с "RPI 4".

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

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    И не знаю что делать, у меня есть только сомнения об шнуре который идет от роутера к свитчу. Он как бы разъединенный на две части.

    Вот в этом кабеле и проблема: роутер и свитч видят две пары и выбирают режим 100мб. Для гигабита нужны все 4 пары - замените этот кабель на один нормальный со всеми четырьмя парами проводов.
    Ответ написан
    7 комментариев
  • Какое качество у репозиториев моих Python проектов на GitHub?

    Maksim_64
    @Maksim_64
    Data Analyst
    1. Код не смотрел, не потому что лень, а потому что его никто смотреть не будет. Если ты доберешься до технического собеседования, то там все и решится, если нет то нет. На этапе скрининга и общения с рекрутером, наличие github увеличит твои шансы в пределах статистической погрешности.

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

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    2 комментария
  • Можно ли создать оригинальную веб-игру без кодинга?

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

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

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

    ЗЫ:
    Геймплейно это буквально монополия, так что ссылку прикреплять было не обязательно и ничего оригинального в ней нет, кроме картинок и названий клеток
    Ответ написан
    Комментировать
  • Как в Postfix-e заблокировать прием с определенного домена?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Создать файл со списком доменов/IP /etc/postfix/my_blacklist
    .aporolo.ru REJECT

    Хэшировать этот файл
    postmap /etc/postfix/my_blacklist

    Добавить в /etc/postfix/main.cf после reject_unauth_destination
    smtpd_client_restrictions =
        ...
        reject_unauth_destination,
        check_client_access hash:/etc/postfix/my_blacklist,
        ...


    При изменении списка сайтов перехэшировать файл.
    Ответ написан
    7 комментариев
  • Почему игры нельзя контейнеризировать?

    GavriKos
    @GavriKos
    Так контейнер не обеспечивает "запуск того что невозможно". Контейнер изолирует зависимости. Если зависимостей под хостовую ОС нет - то контейнер не поможет. На линуксе "игры не работают никакие" (что кстати неправда) потому, что там нет DirectX - потому что это майкрософт. А поддержка openGL всеми драйверами и видеокартами вызывает вопросики. Ну и основное- т.к. в целом аудитория линуксов меньше винды в домашней среде - то разработчики как игр, так и драйверов не парятся особо с поддержкой - т.е. просто у игры нет бинарника для запуска на линуксе.
    Но - опять таки - это уже заблуждение из далекого прошлого - есть игры, и немало.

    Для этого уже нужна виртуалка, и вполне под виртуалками запускают игры.
    Ответ написан
    8 комментариев
  • Открываются разные сайты при входе с ноутбука и со смартфона?

    NeiroNx
    @NeiroNx
    Программист
    hosts(подмена DNS), прокси(перенаправление трафика на уровне прокси), VPN - где то там копать надо.
    Зараза заменила вам настройки на ноуте. Она может их тут же возвращать на место.
    Возможно она там поселилась прочно и быстрее систему переустановить.
    На чистой системе такого не должно быть.
    Ответ написан
    Комментировать