Coreutils for Windows
Компания Microsoft представила порт набора утилит Coreutils для платформы Windows. В состав входит несколько десятков утилит, включая sort, cat, chmod, chown, cp, find, sleep, sort, tee, echo, uptime и ls. Инструментарий позволяет напрямую использовать в Windows типовые утилиты, доступные в Linux и macOS, без использования прослойки WSL.
Целью проекта заявлено упрощение перехода между Unix-подобными системами, WSL, контейнерами и Windows, и предоставление единого набора команд, флагов и методов, позволяющих переносить существующие скрипты из других систем без переписывания. Код написан на Rust и PowerShell, и распространяется под лицензией MIT.
Реализация основана на коде проекта uutils (Rust Coreutils), развивающего вариант GNU Coreutils на языке Rust, а также реализациях утилит find и grep на Rust. Утилиты собраны в виде одного универсального исполняемого файла "C:\Program Files\coreutils\coreutils.exe", отдельные команды к которому привязаны при помощи жёстких ссылок в NTFS.
Из-за конфликта с имеющимися штатными утилитами Windows или привязки к специфичным возможностям из поставки исключены утилиты dd, dir, dircolors, shred, sync, uname, expand, kill, more, paste, timeout и whoami. Из состава также исключены утилиты, завязанные на не поддерживаемые в Windows концепции POSIX: chcon, chgrp, chmod, chown, chroot, groups, hostid, id, install, logname, mkfifo, mknod, nice, nohup, pathchk, pinky, runcon, stdbuf, stty, tty, users, who.
Из ограничений и особенностей отмечается необходимость использовать NUL вместо /dev/null, отсутствие поддержки сигналов (SIGHUP, SIGPIPE, SIGUSR), возможность создания символических ссылок только после включения режима для разработчика, недоступность некоторых операций с правами доступа. При работе с каталогами принимаются как пути с символом "/", так и c "\".
✅ По материалам: https://www.opennet.ru/opennews/art.shtml?num=65609
Компания Microsoft представила порт набора утилит Coreutils для платформы Windows. В состав входит несколько десятков утилит, включая sort, cat, chmod, chown, cp, find, sleep, sort, tee, echo, uptime и ls. Инструментарий позволяет напрямую использовать в Windows типовые утилиты, доступные в Linux и macOS, без использования прослойки WSL.
Целью проекта заявлено упрощение перехода между Unix-подобными системами, WSL, контейнерами и Windows, и предоставление единого набора команд, флагов и методов, позволяющих переносить существующие скрипты из других систем без переписывания. Код написан на Rust и PowerShell, и распространяется под лицензией MIT.
Реализация основана на коде проекта uutils (Rust Coreutils), развивающего вариант GNU Coreutils на языке Rust, а также реализациях утилит find и grep на Rust. Утилиты собраны в виде одного универсального исполняемого файла "C:\Program Files\coreutils\coreutils.exe", отдельные команды к которому привязаны при помощи жёстких ссылок в NTFS.
Из-за конфликта с имеющимися штатными утилитами Windows или привязки к специфичным возможностям из поставки исключены утилиты dd, dir, dircolors, shred, sync, uname, expand, kill, more, paste, timeout и whoami. Из состава также исключены утилиты, завязанные на не поддерживаемые в Windows концепции POSIX: chcon, chgrp, chmod, chown, chroot, groups, hostid, id, install, logname, mkfifo, mknod, nice, nohup, pathchk, pinky, runcon, stdbuf, stty, tty, users, who.
Из ограничений и особенностей отмечается необходимость использовать NUL вместо /dev/null, отсутствие поддержки сигналов (SIGHUP, SIGPIPE, SIGUSR), возможность создания символических ссылок только после включения режима для разработчика, недоступность некоторых операций с правами доступа. При работе с каталогами принимаются как пути с символом "/", так и c "\".
✅ По материалам: https://www.opennet.ru/opennews/art.shtml?num=65609
👍16🤮6🤣3🤔2❤1
Записки IT специалиста
По этой теме не утихают холивары, поэтому повторим данный материал. Папка, каталог или директория? Данный вопрос давно занимает умы коллег и является предметом частых споров на счет того, какой из этих терминов является единственно правильным. Сегодня…
Папка, каталог или директория?
Данный вопрос давно занимает умы коллег и является предметом частых споров на счет того, какой из этих терминов является единственно правильным.
Сегодня в очередной раз пришлось столкнуться с измышлениями на данную тему, что и послужило поводом для написания данной заметки.
Начнем с языковых трудностей. В английском языке есть два слова: directory и catalog, которые переводятся на русский как каталог.
Но имеют различный смысл, directory, по сути, ближе к справочнику, это список однотипных данных, предназначенный для поиска по нему. Например: телефонный или адресный справочник.
Но встречаются и варианты со словом каталог, скажем, каталог запчастей. Хотя на английском все это будет directory (Parts Directory).
Слово catalog применяется для коллекций однотипных элементов предполагающий их более широкий выбор и обработку. Например, каталог марок, монет, книг. Каталог интернет-магазина и т.д. и т.п. Т.е. каталог не предназначен только для поиска, а содержит исчерпывающие данные о каждом элементе, позволяя подробно ознакомиться с ним.
Но вернемся к файловым системам, первоначально файловые системы были плоские, т.е. все файлы находились в единственном корневом каталоге. Потом возникла иерархия на основе тех самых каталогов.
Каталог представлял и представляет специальный файл с набором записей о принадлежащих ему файлах и подкаталогах, которые содержат имя объекта и ссылку на место файловой системы (кластер, inode) где он хранится.
В английском языке данная структура однозначно попадает под понятие directory и на русский переводится как каталог. И литературно правильно использовать именно этот термин.
Слово директория возникло в любительских переводах 90-х, когда этим занимались различные энтузиасты и представляет обычную транслитерацию слова directory. По подобному принципу возникли флоппи и хард диски вместо гибких и жестких.
Но данный термин плотно вошел сначала в компьютерный сленг, а после и в русский язык и также обрел массовое употребление.
В настоящий момент слово директория употребляется в том числе и серьезной компьютерной литературе в качестве синонима слова каталог и их можно считать полностью равнозначными.
За рубежом же никакого разночтения не было и повсеместно использовался термин directory, что нашло отражение в командах: cd, dir, mkdir и т.д.
Иногда встречается ошибочное мнение, что директории – это в UNIX/Linux, а каталоги в DOS/Windows, однако это не так. Достаточно взять англоязычные версии и убедиться, что кроме directory никаких иных терминов не используется.
Шло время, компьютеры становились все более распространенными и все чаще работать с ними начинали обычные пользователи, далекие от всех этих технических терминов.
Чтобы облегчить им работу была придумана концепция рабочего стола, который логически повторял обычный рабочий стол. Файлы представлялись как документы, а каталоги как папки (folder) с этими документами.
С тех пор повелось файлы изображать преимущественно в виде близком бумажным документам, а каталоги в виде канцелярских папок. Такой подход впервые был внедрен в Apple в Mac System Software, предшественнице Mac OS.
Начиная с Windows 95 папки стали использоваться в ОС Microsoft, а также перекочевали в графические оболочки Linux, первоначально в KDE и GNOME.
Со временем термин стал общеупотребительным и стал употребляться наравне с directory (каталогом). В русском языке появилось сразу три термина обозначающие одно и то же: каталог, папка и директория.
Существует еще одно заблуждение, что термин папка можно применять только в графической среде. Однако это не так. Каталог – это объект файловой системы и его свойства не меняются в зависимости от наличия или отсутствия графической оболочки. И поэтому мы можем называть его любым из этих трех терминов.
Данный вопрос давно занимает умы коллег и является предметом частых споров на счет того, какой из этих терминов является единственно правильным.
Сегодня в очередной раз пришлось столкнуться с измышлениями на данную тему, что и послужило поводом для написания данной заметки.
Начнем с языковых трудностей. В английском языке есть два слова: directory и catalog, которые переводятся на русский как каталог.
Но имеют различный смысл, directory, по сути, ближе к справочнику, это список однотипных данных, предназначенный для поиска по нему. Например: телефонный или адресный справочник.
Но встречаются и варианты со словом каталог, скажем, каталог запчастей. Хотя на английском все это будет directory (Parts Directory).
Слово catalog применяется для коллекций однотипных элементов предполагающий их более широкий выбор и обработку. Например, каталог марок, монет, книг. Каталог интернет-магазина и т.д. и т.п. Т.е. каталог не предназначен только для поиска, а содержит исчерпывающие данные о каждом элементе, позволяя подробно ознакомиться с ним.
Но вернемся к файловым системам, первоначально файловые системы были плоские, т.е. все файлы находились в единственном корневом каталоге. Потом возникла иерархия на основе тех самых каталогов.
Каталог представлял и представляет специальный файл с набором записей о принадлежащих ему файлах и подкаталогах, которые содержат имя объекта и ссылку на место файловой системы (кластер, inode) где он хранится.
В английском языке данная структура однозначно попадает под понятие directory и на русский переводится как каталог. И литературно правильно использовать именно этот термин.
Слово директория возникло в любительских переводах 90-х, когда этим занимались различные энтузиасты и представляет обычную транслитерацию слова directory. По подобному принципу возникли флоппи и хард диски вместо гибких и жестких.
Но данный термин плотно вошел сначала в компьютерный сленг, а после и в русский язык и также обрел массовое употребление.
В настоящий момент слово директория употребляется в том числе и серьезной компьютерной литературе в качестве синонима слова каталог и их можно считать полностью равнозначными.
За рубежом же никакого разночтения не было и повсеместно использовался термин directory, что нашло отражение в командах: cd, dir, mkdir и т.д.
Иногда встречается ошибочное мнение, что директории – это в UNIX/Linux, а каталоги в DOS/Windows, однако это не так. Достаточно взять англоязычные версии и убедиться, что кроме directory никаких иных терминов не используется.
Шло время, компьютеры становились все более распространенными и все чаще работать с ними начинали обычные пользователи, далекие от всех этих технических терминов.
Чтобы облегчить им работу была придумана концепция рабочего стола, который логически повторял обычный рабочий стол. Файлы представлялись как документы, а каталоги как папки (folder) с этими документами.
С тех пор повелось файлы изображать преимущественно в виде близком бумажным документам, а каталоги в виде канцелярских папок. Такой подход впервые был внедрен в Apple в Mac System Software, предшественнице Mac OS.
Начиная с Windows 95 папки стали использоваться в ОС Microsoft, а также перекочевали в графические оболочки Linux, первоначально в KDE и GNOME.
Со временем термин стал общеупотребительным и стал употребляться наравне с directory (каталогом). В русском языке появилось сразу три термина обозначающие одно и то же: каталог, папка и директория.
Существует еще одно заблуждение, что термин папка можно применять только в графической среде. Однако это не так. Каталог – это объект файловой системы и его свойства не меняются в зависимости от наличия или отсутствия графической оболочки. И поэтому мы можем называть его любым из этих трех терминов.
👍27❤2👀2
Squid - жив, курилка
Кто из нас не знает Squid? Ну из админов старшего поколения Squid знают все и многие его ставили и настраивали. На нашем сайте был большой цикл статей, посвященный этому продукту и пользовавшийся непременной популярностью.
Squid тогда был не просто кеширующий прокси-сервер, хотя на медленных каналах кеш тоже неплохо выручал, особенно если много пользователей работали с одними и теми же ресурсами.
Squid позволял осуществлять инспекцию и фильтрацию трафика, показывая кто куда ходил, когда и зачем. А также мог управлять аутентификацией и ограничением скорости. В общем универсальный солдат, который должен был быть на каждом шлюзе.
А что же сейчас? А сейчас Squid все еще жив, заметив в новостях заметку о выходе новой версии 7.6 я решил посмотреть, чем живет и дышит популярный проект.
Сегодня былой популярности уже нет, разработка ведется силами 4-5 человек и особой активности в ней не наблюдается. Можно сказать, что эпоха бурного развития прошла и сегодня проект больше держится на ряде старожилов, притока молодой крови в нем нет.
Активный спад разработки начался в конце 2017 года и выглядит как достаточно резкое охлаждение проекта, как будто он внезапно перестал быть интересен или возникли какие-то иные сложности.
На самом деле тако оно и было, потому что именно с января 2017 Google стал помечать сайты без HTTPS как небезопасные в браузере и понижать их в поисковой выдаче, что завершило переход сайтов на HTTPS и практически не оставило незащищенных сайтов, на работу с которыми был ориентирован Squid.
К этому добавилось внедрение HTTP/2 и более сложных криптографических алгоритмов, что сделало инспекцию и контроль трафика сложной и дорогостоящей задачей. Да, Squid научился расшифровывать и проверять HTTPS-трафик, то технически это был совсем уже иной элемент инфраструктуры.
А сложностей там было порядочно, как технических, так и организационных, поэтому сама идея инспекции и контроля трафика для многих отошла на второй план, потому что не являлась насущной задачей и начинала стоить несоизмеримо дорого.
После чего сама потребность в Squid сошла на ноль, так как остальные задачи вполне успешно решались без его помощи.
Все это отразилось на популярности проекта и активности разработки. А из популярного продукта, который знали все Squid превратился во что-то нишевое, о котором молодое поколение даже и не слышало.
Кто из нас не знает Squid? Ну из админов старшего поколения Squid знают все и многие его ставили и настраивали. На нашем сайте был большой цикл статей, посвященный этому продукту и пользовавшийся непременной популярностью.
Squid тогда был не просто кеширующий прокси-сервер, хотя на медленных каналах кеш тоже неплохо выручал, особенно если много пользователей работали с одними и теми же ресурсами.
Squid позволял осуществлять инспекцию и фильтрацию трафика, показывая кто куда ходил, когда и зачем. А также мог управлять аутентификацией и ограничением скорости. В общем универсальный солдат, который должен был быть на каждом шлюзе.
А что же сейчас? А сейчас Squid все еще жив, заметив в новостях заметку о выходе новой версии 7.6 я решил посмотреть, чем живет и дышит популярный проект.
Сегодня былой популярности уже нет, разработка ведется силами 4-5 человек и особой активности в ней не наблюдается. Можно сказать, что эпоха бурного развития прошла и сегодня проект больше держится на ряде старожилов, притока молодой крови в нем нет.
Активный спад разработки начался в конце 2017 года и выглядит как достаточно резкое охлаждение проекта, как будто он внезапно перестал быть интересен или возникли какие-то иные сложности.
На самом деле тако оно и было, потому что именно с января 2017 Google стал помечать сайты без HTTPS как небезопасные в браузере и понижать их в поисковой выдаче, что завершило переход сайтов на HTTPS и практически не оставило незащищенных сайтов, на работу с которыми был ориентирован Squid.
К этому добавилось внедрение HTTP/2 и более сложных криптографических алгоритмов, что сделало инспекцию и контроль трафика сложной и дорогостоящей задачей. Да, Squid научился расшифровывать и проверять HTTPS-трафик, то технически это был совсем уже иной элемент инфраструктуры.
А сложностей там было порядочно, как технических, так и организационных, поэтому сама идея инспекции и контроля трафика для многих отошла на второй план, потому что не являлась насущной задачей и начинала стоить несоизмеримо дорого.
После чего сама потребность в Squid сошла на ноль, так как остальные задачи вполне успешно решались без его помощи.
Все это отразилось на популярности проекта и активности разработки. А из популярного продукта, который знали все Squid превратился во что-то нишевое, о котором молодое поколение даже и не слышало.
👍8💯7❤5🤮1
А теперь давайте все сломаем!
Такое предложение часто ставит в тупик как заказчиков, так и внешних подрядчиков, но мы регулярно это делаем, особенно перед вводом в эксплуатацию или принятии решения о внедрении.
Смысл его прост, берем новый чистый компьютер или виртуальную машину и пытаемся восстановить систему из бекапа, а заодно смотрим как легко или не очень это сделать и какие подводные камни при этом всплывают.
Заодно отсекаются различные нежизнеспособные конфигурации, которые могут красиво выглядеть на бумаге, но не позволяющие выполнить восстановление в необходимые сроки в необходимом объеме.
Заодно становится понятно, как именно надо бекапить и какие ресурсы для этого иметь.
В общем – задача непростая, но необходимая, как и учения подобного рода. Без такого тестирования вводить в эксплуатацию что-то серьезное – это очень сильно рисковать.
Но бывают и интересные случаи. У одного заказчика закончилась опытная эксплуатация новой системы. Внешний подрядчик все установил, настроил, они месяц тестировали – вроде все хорошо. Надо принимать решение.
Предлагаем подрядчикам последний тест. Все сломать и поднять систему из бекапов. Молчание, консультации с руководством, потом, вроде как, с разработчиками и вердикт – мы такое не делаем.
Ок, дайте нам инструкцию, мы сделаем сами. Ответ – подобные инструкции это в техподдержку, а для этого сначала купите сам продукт и поддержку к нему. Занавес.
Заказчик в раздумье, вроде и продукт хороший, вроде все нравится, но мы его сразу предупредили, что, взяв его на обслуживание обложим дополнительным соглашением, по которому вообще ничего не гарантируем, кроме работоспособности ОС и железа.
А вообще, подход крайне странный. Что секретного в способах резервного копирования и восстановления продукта? Разве в том, что их нет?
Такое предложение часто ставит в тупик как заказчиков, так и внешних подрядчиков, но мы регулярно это делаем, особенно перед вводом в эксплуатацию или принятии решения о внедрении.
Смысл его прост, берем новый чистый компьютер или виртуальную машину и пытаемся восстановить систему из бекапа, а заодно смотрим как легко или не очень это сделать и какие подводные камни при этом всплывают.
Заодно отсекаются различные нежизнеспособные конфигурации, которые могут красиво выглядеть на бумаге, но не позволяющие выполнить восстановление в необходимые сроки в необходимом объеме.
Заодно становится понятно, как именно надо бекапить и какие ресурсы для этого иметь.
В общем – задача непростая, но необходимая, как и учения подобного рода. Без такого тестирования вводить в эксплуатацию что-то серьезное – это очень сильно рисковать.
Но бывают и интересные случаи. У одного заказчика закончилась опытная эксплуатация новой системы. Внешний подрядчик все установил, настроил, они месяц тестировали – вроде все хорошо. Надо принимать решение.
Предлагаем подрядчикам последний тест. Все сломать и поднять систему из бекапов. Молчание, консультации с руководством, потом, вроде как, с разработчиками и вердикт – мы такое не делаем.
Ок, дайте нам инструкцию, мы сделаем сами. Ответ – подобные инструкции это в техподдержку, а для этого сначала купите сам продукт и поддержку к нему. Занавес.
Заказчик в раздумье, вроде и продукт хороший, вроде все нравится, но мы его сразу предупредили, что, взяв его на обслуживание обложим дополнительным соглашением, по которому вообще ничего не гарантируем, кроме работоспособности ОС и железа.
А вообще, подход крайне странный. Что секретного в способах резервного копирования и восстановления продукта? Разве в том, что их нет?
👍24🔥7❤4🤔2🤮1
Как узнать зашитый в BIOS/UEFI ключ Windows?
Последние годы ноутбуки, моноблоки и часть системных блоков идет без лицензионных OEM-наклеек на корпусе, так как ключ производитель зашивает в BIOS.
Как узнать этот ключ или хотя бы подтвердить его наличие? Все просто, достаточно одной команды, которую следует выполнить с правами администратора:
Если ключ есть, то вы его увидите, если вывод содержит пустую строку, то OEM-ключа на устройстве нет.
Последние годы ноутбуки, моноблоки и часть системных блоков идет без лицензионных OEM-наклеек на корпусе, так как ключ производитель зашивает в BIOS.
Как узнать этот ключ или хотя бы подтвердить его наличие? Все просто, достаточно одной команды, которую следует выполнить с правами администратора:
wmic path softwarelicensingservice get OA3xOriginalProductKey
Если ключ есть, то вы его увидите, если вывод содержит пустую строку, то OEM-ключа на устройстве нет.
👍40👌3❤2
Установка KMS сервера активации Microsoft на базе vlmcsd
Непростые времена требуют непростых решений. На фоне блокировок вендора даже легальные пользователи начинают испытывать затруднения.
Но есть хорошая альтернатива – пакет vlmcsd эмулирующий KMS-сервер и позволяющий активировать продукты Microsoft.
Напомним, мы крайне негативно относимся к использованию нелицензионного ПО, данный материал ни в коем случае не призывает и не поощряет его использование.
Приведенное решение полностью базируется на открытом ПО и не преследует цели нарушения норм действующего законодательства и правил лицензирования ПО.
При этом мы не просто рассказываем, как установить пакет vlmcsd, но и помогаем собрать его правильно, чтобы после установки не пришлось дорабатывать инсталляцию напильником
✅ Читать далее: https://interface31.ru/post/ustanovka-kms-servera-aktivacii-microsoft-na-baze-vlmcsd-v-debian-ili-ubuntu/
Непростые времена требуют непростых решений. На фоне блокировок вендора даже легальные пользователи начинают испытывать затруднения.
Но есть хорошая альтернатива – пакет vlmcsd эмулирующий KMS-сервер и позволяющий активировать продукты Microsoft.
Напомним, мы крайне негативно относимся к использованию нелицензионного ПО, данный материал ни в коем случае не призывает и не поощряет его использование.
Приведенное решение полностью базируется на открытом ПО и не преследует цели нарушения норм действующего законодательства и правил лицензирования ПО.
При этом мы не просто рассказываем, как установить пакет vlmcsd, но и помогаем собрать его правильно, чтобы после установки не пришлось дорабатывать инсталляцию напильником
✅ Читать далее: https://interface31.ru/post/ustanovka-kms-servera-aktivacii-microsoft-na-baze-vlmcsd-v-debian-ili-ubuntu/
1👍32❤3
Установка Aspia в Docker
Система удаленного доступа Aspia пользуется заслуженной популярностью, но при ее развертывании есть некоторые особенности – пакеты собраны для Ubuntu 20.04 или Debian 11, которые на сегодня являются устаревшими.
Также, по нашим временам, для подобного ПО хочется большей переносимости, чтобы в случае чего можно было быстро мигрировать на новое место.
Для этих целей удобно использовать контейнеры, но официального Docker-образа для Aspia нет, есть неофициальный, созданный одним из участников сообщества, который сам активно использует этот продукт.
Допустим мы разместим проект в /opt/aspia, сразу создадим там две служебные директории для хранения базы данных и конфигов:
Затем создадим docker-compose.yml со следующим содержимым:
Где вам потребуется указать имя хоста узла Aspia и внешний IP-адрес, по которому вы будете принимать внешние подключения.
Если вы переносите уже существующую инсталляцию сразу разместите в папках конфиги и публичный ключ в ./data/config и базу данных в
Сразу после запуска контейнер готов к работе, хотя вы можете произвести более тонкие настройки через конфигурационные файлы.
Наиболее популярный тюнинг – это изменение диапазона ID клиентов, которые по умолчанию начинаются с единицы. Но это не сложно исправить.
Останавливаем службу:
Устанавливаем sqlite:
Подключаемся к базе и правим нужную запись:
В нашем случае мы установили начальное значение 3000. Обратите внимание, что это нужно сделать до того, как вы начали подключать клиентов.
После чего снова запускаем службу, сервер Aspia готов к работе.
Система удаленного доступа Aspia пользуется заслуженной популярностью, но при ее развертывании есть некоторые особенности – пакеты собраны для Ubuntu 20.04 или Debian 11, которые на сегодня являются устаревшими.
Также, по нашим временам, для подобного ПО хочется большей переносимости, чтобы в случае чего можно было быстро мигрировать на новое место.
Для этих целей удобно использовать контейнеры, но официального Docker-образа для Aspia нет, есть неофициальный, созданный одним из участников сообщества, который сам активно использует этот продукт.
Допустим мы разместим проект в /opt/aspia, сразу создадим там две служебные директории для хранения базы данных и конфигов:
mkdir -p /opt/aspia/data/{database,config}Затем создадим docker-compose.yml со следующим содержимым:
services:
aspia-server:
image: paprikkafox/aspia-server:latest
container_name: aspia-server
hostname: aspia.example.com
environment:
- EXTERNAL_IP=203.0.113.6
ports:
- "8070:8070"
- "8060:8060"
volumes:
- ./data/database:/var/lib/aspia:rw
- ./data/config:/etc/aspia:rw
restart: always
Где вам потребуется указать имя хоста узла Aspia и внешний IP-адрес, по которому вы будете принимать внешние подключения.
Если вы переносите уже существующую инсталляцию сразу разместите в папках конфиги и публичный ключ в ./data/config и базу данных в
./data/database, в противном случае они будут автоматически созданы при первом запуске.Сразу после запуска контейнер готов к работе, хотя вы можете произвести более тонкие настройки через конфигурационные файлы.
Наиболее популярный тюнинг – это изменение диапазона ID клиентов, которые по умолчанию начинаются с единицы. Но это не сложно исправить.
Останавливаем службу:
docker compose down
Устанавливаем sqlite:
apt install -y sqlite3
Подключаемся к базе и правим нужную запись:
sudo sqlite3 ./data/database/router.db3 "INSERT INTO hosts (id, key) VALUES (3000, 0x53544152544b4559);"
В нашем случае мы установили начальное значение 3000. Обратите внимание, что это нужно сделать до того, как вы начали подключать клиентов.
После чего снова запускаем службу, сервер Aspia готов к работе.
👍15❤2
Как создать копию драйверов текущего ПК не прибегая к сторонним инструментам
Задача по сохранению текущего набора драйверов является достаточно актуальной, скажем при переустановке системы, особенно если у вас портативное устройство с многочисленным количеством датчиков и дополнительных устройств.
Для этих задач есть специализированные утилиты, которые можно найти на просторах сети интернет, но не нужно ничего искать, система сама прекрасно справляется с данным вопросом.
Начнем с PowerShell, для выполнения данной задачи выполните с правами Администратора:
Кроме PowerShell вы также можете использовать DISM:
Или pnputil, что актуально для старых систем, начиная с Windows 7:
Все три команды дадут одинаковый результат, все драйвера текущей машины будут скопированы в указанную папку (должна существовать на момент экспорта) с разбитием по подпапкам по числу драйверов.
Далее можете делать с ними все что хотите: использовать как резервную копию, внедрить в образ или выборочно забрать нужные драйвера.
Задача по сохранению текущего набора драйверов является достаточно актуальной, скажем при переустановке системы, особенно если у вас портативное устройство с многочисленным количеством датчиков и дополнительных устройств.
Для этих задач есть специализированные утилиты, которые можно найти на просторах сети интернет, но не нужно ничего искать, система сама прекрасно справляется с данным вопросом.
Начнем с PowerShell, для выполнения данной задачи выполните с правами Администратора:
Export-WindowsDriver —Online —Destination F:\Drivers
Кроме PowerShell вы также можете использовать DISM:
dism /online /export-driver /destination: F:\Drivers
Или pnputil, что актуально для старых систем, начиная с Windows 7:
pnputil.exe /export-driver * F:\Drivers
Все три команды дадут одинаковый результат, все драйвера текущей машины будут скопированы в указанную папку (должна существовать на момент экспорта) с разбитием по подпапкам по числу драйверов.
Далее можете делать с ними все что хотите: использовать как резервную копию, внедрить в образ или выборочно забрать нужные драйвера.
👍46❤6⚡2
Evolution free tier от Cloud.ru существенно похудел
Еще в марте 2024 мы писали про бесплатное предложение от Cloud.ru (https://t.me/interface31/2227) основной ценностью которого была бесплатная виртуальная машина с очень неплохими характеристиками.
Единственный момент – в предложение не входил выделенный IP-адрес и его нужно приобретать отдельно, за 149 руб/мес., что вызвало тогда волну критики. Хотя, будем честны, настоящего Free tier ни у кого практически нет.
Здесь же вы получали неплохой VPS по цене всего 149 руб. без существенных ограничений в параметрах и скрытых подводных камней.
Да, по первым порам платформа Evolution не отличалась стабильностью, а техподдержка оставляла желать лучшего и об этом мы тоже писали. Однако ситуация медленно, но, верно, исправлялась.
И вот теперь там подумали и решили, что с халявой пора завязывать и без лишнего шума и пыли виртуалку из доступных бесплатных ресурсов убрали. Хотя само предложение Free tier осталось, но теперь это интересно разве что как демо версия некоторых сервисов.
Так что кто не успел – тот опоздал, а иметь бесплатный сервер для личных, учебных или тестовых нужд в отечественном облаке по нынешним временам – совсем не лишнее.
Еще в марте 2024 мы писали про бесплатное предложение от Cloud.ru (https://t.me/interface31/2227) основной ценностью которого была бесплатная виртуальная машина с очень неплохими характеристиками.
Единственный момент – в предложение не входил выделенный IP-адрес и его нужно приобретать отдельно, за 149 руб/мес., что вызвало тогда волну критики. Хотя, будем честны, настоящего Free tier ни у кого практически нет.
Здесь же вы получали неплохой VPS по цене всего 149 руб. без существенных ограничений в параметрах и скрытых подводных камней.
Да, по первым порам платформа Evolution не отличалась стабильностью, а техподдержка оставляла желать лучшего и об этом мы тоже писали. Однако ситуация медленно, но, верно, исправлялась.
И вот теперь там подумали и решили, что с халявой пора завязывать и без лишнего шума и пыли виртуалку из доступных бесплатных ресурсов убрали. Хотя само предложение Free tier осталось, но теперь это интересно разве что как демо версия некоторых сервисов.
Так что кто не успел – тот опоздал, а иметь бесплатный сервер для личных, учебных или тестовых нужд в отечественном облаке по нынешним временам – совсем не лишнее.
👍4😢3❤1
Vikunja – менеджер задач с открытым исходным кодом
В современном мире без управления задачами обойтись сложно, особенно если у вас в работе более одного проекта. Поэтому менеджеры задач довольно востребованный тип программного обеспечения.
Если вы не хотите приобретать еще одну подписку или вообще хотите посмотреть, как данный тип ПО впишется в ваш рабочий процесс и что вам вообще от него надо, то можно развернуть на собственных мощностях Vikunja.
Установить его очень просто, на официальной страничке выбираете нужный набор ПО, и он генерирует вам готовые конфигурационные файлы. Например, для использования совместно с PostgreSQL вы можете использовать такой docker-compose.yml:
Перед запуском создайте в папке проекта директории и установите на них права:
Понятно, что выставлять в интернет его в таком виде без обратного прокси нельзя, но для посмотреть можно и так.
Теперь переходим по адресу
При этом одни задачи могут блокировать другие, что важно, так как сразу позволяет видеть ошибки в планировании и грамотно перераспределять нагрузку в случае изменения сроков.
А для этого тут есть то, что редко где встречается в бесплатных версиях коммерческих продуктов – диаграмма Ганта, если вы ведете сложный проект с этапами и зависимостями, то без него никак.
Также есть канбан, если вы предпочитаете работать по этой схеме, хотя никто не мешает вам одновременно применять несколько методов.
На первый взгляд выглядит совсем неплохо, и мы быстро накидали в ней нечто похожее на правду.
Но есть и ряд особенностей и недоработок. Самая существенная из них – нельзя одновременно вывести на один экран несколько проектов, общий список дел вы можете увидеть только на обзорной странице.
И ладно бы это касалось только независимых проектов, но это в полной мере относится и ко вложенным, что сильно затрудняет планирование и распределение рабочих ресурсов.
Командная работа тоже построена своеобразно. Вы можете создать команду и попросить пользователей присоединиться к ней, задав каждому свою роль. Создатель команды является ее администратором.
Но вы не можете просто так назначить произвольную задачу участнику команды пока вы не поделитесь с ним проектом целиком, что неудобно, если участником команды является внешний подрядчик и вы не хотите раскрывать ему всю внутреннюю кухню.
В целом продукт производит приятное впечатление, пользоваться можно, но однозначно рекомендовать его мы не можем, недоработки тоже достаточно серьезные и могут существенно затруднить процесс планирования.
Хотя если вы не пользовались раньше менеджерами задач, то Vikunja будет неплохим вариантов для знакомства, во всяком случае вы сможете быстро понять как данное ПО будет работать с вашими процессами и какие инструменты и функции вам нужны, а какие не очень.
В современном мире без управления задачами обойтись сложно, особенно если у вас в работе более одного проекта. Поэтому менеджеры задач довольно востребованный тип программного обеспечения.
Если вы не хотите приобретать еще одну подписку или вообще хотите посмотреть, как данный тип ПО впишется в ваш рабочий процесс и что вам вообще от него надо, то можно развернуть на собственных мощностях Vikunja.
Установить его очень просто, на официальной страничке выбираете нужный набор ПО, и он генерирует вам готовые конфигурационные файлы. Например, для использования совместно с PostgreSQL вы можете использовать такой docker-compose.yml:
services:
vikunja:
image: vikunja/vikunja:2.3.0
environment:
VIKUNJA_SERVICE_PUBLICURL: http://<your-server-ip>:3456/
VIKUNJA_SERVICE_SECRET: 8ea9b4dd84
VIKUNJA_DATABASE_HOST: db
VIKUNJA_DATABASE_PASSWORD: changeme
VIKUNJA_DATABASE_TYPE: postgres
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_DATABASE: vikunja
ports:
- 3456:3456
volumes:
- ./files:/app/vikunja/files
depends_on:
db:
condition: service_healthy
restart: unless-stopped
db:
image: postgres:18
environment:
POSTGRES_PASSWORD: changeme
POSTGRES_USER: vikunja
volumes:
- ./db:/var/lib/postgresql
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -h localhost -U $$POSTGRES_USER"]
interval: 2s
start_period: 30s
Перед запуском создайте в папке проекта директории и установите на них права:
mkdir files db
chown 1000 files db
Понятно, что выставлять в интернет его в таком виде без обратного прокси нельзя, но для посмотреть можно и так.
Теперь переходим по адресу
http://<your-server-ip>:3456, регистрируемся и смотрим. Все что нужно для работы тут есть. Вы можете создавать проекты любой степени вложенности и размещать в них задачи, сами задачи могут иметь логические связи друг с другом и зависимости.При этом одни задачи могут блокировать другие, что важно, так как сразу позволяет видеть ошибки в планировании и грамотно перераспределять нагрузку в случае изменения сроков.
А для этого тут есть то, что редко где встречается в бесплатных версиях коммерческих продуктов – диаграмма Ганта, если вы ведете сложный проект с этапами и зависимостями, то без него никак.
Также есть канбан, если вы предпочитаете работать по этой схеме, хотя никто не мешает вам одновременно применять несколько методов.
На первый взгляд выглядит совсем неплохо, и мы быстро накидали в ней нечто похожее на правду.
Но есть и ряд особенностей и недоработок. Самая существенная из них – нельзя одновременно вывести на один экран несколько проектов, общий список дел вы можете увидеть только на обзорной странице.
И ладно бы это касалось только независимых проектов, но это в полной мере относится и ко вложенным, что сильно затрудняет планирование и распределение рабочих ресурсов.
Командная работа тоже построена своеобразно. Вы можете создать команду и попросить пользователей присоединиться к ней, задав каждому свою роль. Создатель команды является ее администратором.
Но вы не можете просто так назначить произвольную задачу участнику команды пока вы не поделитесь с ним проектом целиком, что неудобно, если участником команды является внешний подрядчик и вы не хотите раскрывать ему всю внутреннюю кухню.
В целом продукт производит приятное впечатление, пользоваться можно, но однозначно рекомендовать его мы не можем, недоработки тоже достаточно серьезные и могут существенно затруднить процесс планирования.
Хотя если вы не пользовались раньше менеджерами задач, то Vikunja будет неплохим вариантов для знакомства, во всяком случае вы сможете быстро понять как данное ПО будет работать с вашими процессами и какие инструменты и функции вам нужны, а какие не очень.
👍10🤔2❤1😁1👀1
И больше никогда так не делай! Нам приключения не нужны!
Очередные длинные праздники – это повод отдохнуть, а вовсе не то, о чем многие из вас сейчас подумали. Хотя желание поработать в выходные и праздничные дни возникает часто.
Мотивация тут проста и понятна – большинства сотрудников на рабочем месте нет, никто не мешает. Но это же самое обстоятельство может сыграть и против вас. Потому что на рабочем месте нет ни только ваших сотрудников, но и всех других – партнеров, поддержки и т.д. и т.п.
И если вдруг что-то пошло не так – вы окажетесь у разбитого корыта и помощи оказать вам будет некому.
А сегодня вспомнилась одна история, которая произошла как раз в эти самые дни. Один молодой и резкий товарищ решил обновить 1С в небольшой сети розничных магазинов. 1С доработанная, мы протестировали обновление и передали заказчику для развертывания.
Ну что тут может пойти не так? А вот решительно все. Если обновление не содержит технических ошибок, то это не значит, что ошибок не содержит сама учетная система, которые после применения обновления себя проявят.
В этот раз именно так все и вышло. После обеда нам позвонил их директор и попросил принять участие в веселом квесте: на магазинах лезут какие-то ошибки, продавцы психуют, покупатели нервничают, собираются очереди.
К проблеме, кроме нашего героя уже оказался подключен практически весь коллектив фирмы, включая высшее руководство.
Как оказалось, в некоторых карточках товаров были не заполнены или заполнены неправильно некоторые реквизиты, которые до обновления не проверялись, а теперь, в связи с грядущими изменениями законодательства стали нужны, о чем система и сообщала при каждом добавлении товара в чек, заставляя выбирать нужное значение руками.
В общем разобрались и быстро исправили, но выходной день практически всего коллектива был безнадежно испорчен, многим пришлось даже экстренно возвращаться обратно в город с дач и прочих загородных мест отдыха.
В последствии, на оглашении оргвыводу тому самому молодому именно это и поставили на вид, потому что приключения никому не нужны, а вносить изменения перед или на выходных, даже не очень длинных – это верный способ их получить.
Очередные длинные праздники – это повод отдохнуть, а вовсе не то, о чем многие из вас сейчас подумали. Хотя желание поработать в выходные и праздничные дни возникает часто.
Мотивация тут проста и понятна – большинства сотрудников на рабочем месте нет, никто не мешает. Но это же самое обстоятельство может сыграть и против вас. Потому что на рабочем месте нет ни только ваших сотрудников, но и всех других – партнеров, поддержки и т.д. и т.п.
И если вдруг что-то пошло не так – вы окажетесь у разбитого корыта и помощи оказать вам будет некому.
А сегодня вспомнилась одна история, которая произошла как раз в эти самые дни. Один молодой и резкий товарищ решил обновить 1С в небольшой сети розничных магазинов. 1С доработанная, мы протестировали обновление и передали заказчику для развертывания.
Ну что тут может пойти не так? А вот решительно все. Если обновление не содержит технических ошибок, то это не значит, что ошибок не содержит сама учетная система, которые после применения обновления себя проявят.
В этот раз именно так все и вышло. После обеда нам позвонил их директор и попросил принять участие в веселом квесте: на магазинах лезут какие-то ошибки, продавцы психуют, покупатели нервничают, собираются очереди.
К проблеме, кроме нашего героя уже оказался подключен практически весь коллектив фирмы, включая высшее руководство.
Как оказалось, в некоторых карточках товаров были не заполнены или заполнены неправильно некоторые реквизиты, которые до обновления не проверялись, а теперь, в связи с грядущими изменениями законодательства стали нужны, о чем система и сообщала при каждом добавлении товара в чек, заставляя выбирать нужное значение руками.
В общем разобрались и быстро исправили, но выходной день практически всего коллектива был безнадежно испорчен, многим пришлось даже экстренно возвращаться обратно в город с дач и прочих загородных мест отдыха.
В последствии, на оглашении оргвыводу тому самому молодому именно это и поставили на вид, потому что приключения никому не нужны, а вносить изменения перед или на выходных, даже не очень длинных – это верный способ их получить.
👍8👌4❤2🤮2😁1
Устраиваете ли вы работы на выходные и в праздники?
Anonymous Poll
19%
Да, идеальное время, никто не мешает
15%
Раньше устраивал, теперь перестал
33%
Когда как
1%
Устраивал, пока не нажил проблем, теперь нет
22%
Нет, на выходных надо отдыхать
4%
У нас подобное прямо запрещено
6%
Нет, но иногда думаю поработать
👎1
Настраиваем скачивание обновлений APT через внешний прокси-сервер
История для наших дней типичная – у заказчика перестали нормально обновляться сервера Linux и если с доступом к репозиториям Debian или Ubuntu проблем не было, то вот с репозиториями Proxmox или Zabbix – ну просто беда.
Проблема не глобальная, с других площадок все нормально работало, провайдер на контакт не шел, рассказывая, что он сам ничего не блокирует и мы со своими претензиями пришли не по адресу.
Ну решение такого вопроса сегодня знает даже воспитанник детского сада – известное слово из трех букв. Но самое очевидное решение не всегда самое оптимальное.
Потому что решение проблемы таким путем требует инфраструктурных решений – развертывания сервера, клиента, настройки выборочной маршрутизации, хотя задача стоит предельно простая – качать обновления APT.
Но если подумать, то найдется другой способ, простой и изящный – поднять прокси-сервер, через который APT умеет работать из коробки. К этому добавим, что классический SOCKS5 не является массовым средством ходить туда, не надо куда и массовых блокировок внутри по нему нет.
Плюс все это очень быстро и просто разворачивается в любом месте. На сервере создаем новую папку проекта и размещаем там
И
Где 203.0.113.92 – адрес вашей площадки и только ей разрешено использовать проски-сервер.
Запускам стек и у нас все готово, а дальше на целевом севере выполняем две команды:
После чего сразу запускаем обновление APT и оно пойдет уже через наш прокси сервер. При этом мы настоятельно рекомендуем использовать в этой настройке именно FQDN,а не IP-адрес.
Это дает гибкость и переносимость. Сам прокси не содержит данных и для его переноса достаточно скопировать на новый узел всего два конфигурационных файла.
История для наших дней типичная – у заказчика перестали нормально обновляться сервера Linux и если с доступом к репозиториям Debian или Ubuntu проблем не было, то вот с репозиториями Proxmox или Zabbix – ну просто беда.
Проблема не глобальная, с других площадок все нормально работало, провайдер на контакт не шел, рассказывая, что он сам ничего не блокирует и мы со своими претензиями пришли не по адресу.
Ну решение такого вопроса сегодня знает даже воспитанник детского сада – известное слово из трех букв. Но самое очевидное решение не всегда самое оптимальное.
Потому что решение проблемы таким путем требует инфраструктурных решений – развертывания сервера, клиента, настройки выборочной маршрутизации, хотя задача стоит предельно простая – качать обновления APT.
Но если подумать, то найдется другой способ, простой и изящный – поднять прокси-сервер, через который APT умеет работать из коробки. К этому добавим, что классический SOCKS5 не является массовым средством ходить туда, не надо куда и массовых блокировок внутри по нему нет.
Плюс все это очень быстро и просто разворачивается в любом месте. На сервере создаем новую папку проекта и размещаем там
docker-compose.yml:services:
dante:
image: n00b1k/dante:1.0.3
container_name: dante
restart: unless-stopped
ports:
- "1080:1080"
volumes:
- ./danted.conf:/etc/danted.conf:ro
И
danted.conf:logoutput: stdout
internal: 0.0.0.0 port=1080
external: eth0
user.privileged: root
user.unprivileged: nobody
clientmethod: none
socksmethod: none
client pass {
from: 203.0.113.92/32 to: 0.0.0.0/0
log: connect disconnect error
}
socks pass {
from: 203.0.113.92/32 to: 0.0.0.0/0
command: bind connect udpassociate
log: connect disconnect error
}
Где 203.0.113.92 – адрес вашей площадки и только ей разрешено использовать проски-сервер.
Запускам стек и у нас все готово, а дальше на целевом севере выполняем две команды:
echo 'Acquire::http::Proxy "socks5h://proxy.example.com:1080";' > /etc/apt/apt.conf.d/80proxy
echo 'Acquire::https::Proxy "socks5h://proxy.example.com:1080";' >> /etc/apt/apt.conf.d/80proxy
После чего сразу запускаем обновление APT и оно пойдет уже через наш прокси сервер. При этом мы настоятельно рекомендуем использовать в этой настройке именно FQDN,а не IP-адрес.
Это дает гибкость и переносимость. Сам прокси не содержит данных и для его переноса достаточно скопировать на новый узел всего два конфигурационных файла.
👍8❤2🤮1