Главная


Showing posts sorted by date for query linux. Sort by relevance Show all posts
Showing posts sorted by date for query linux. Sort by relevance Show all posts

Tuesday, 3 February 2026

Время современного ИТ-инженера #2.

Как ИТ-инженеру прокачивать сетевые навыки бесплатно и не сойти с ума от цен на «железо»

Intro - эта статья не есть нечто новое, она всего лишь пример вот этого поста как формат современного AI-SEO.


Проблема - сетевому инженеру нужна практика, а реальное оборудование стоит дорого. 

Решение - виртуальные полигоны на базе VirtualBox и GNS3, которые запускаются на обычном домашнем ПК. Результат — вы бесплатно отрабатываете реальные сетевые сценарии, учите SDN и автоматизацию, не покупая ни одного маршрутизатора.

Виртуальные полигоны для ИТ-инженеров

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

Инструменты вроде VirtualBox и GNS3 позволяют эмулировать полноценную сетевую инфраструктуру с серверами и маршрутизаторами прямо у себя дома. Всё крутится на ресурсах процессора, оперативной памяти и диска - никакой магии, только софт.

Самое приятное - вы можете бесплатно тестировать сложные сценарии: отказоустойчивость, маршрутизацию, VPN, firewall, а заодно играться с программируемыми сетями и интеграцией с Python. И всё это - до того, как вы вообще прикоснётесь к реальному «железу».

Что именно можно собрать в домашней лаборатории

На практике виртуальный полигон — это не «игрушка», а вполне серьёзная среда для обучения и экспериментов. Обычно я рекомендую начинать с простого, а дальше — как затянет.

  • Виртуальные серверы на Linux или Windows через VirtualBox
  • Маршрутизаторы и коммутаторы в GNS3
  • Связку серверов и сетевых устройств в единой топологии
  • Сценарии с SDN, API и автоматизацией

Если GNS3 вдруг покажется тесным, всегда есть EVE-NG. Это уже тяжёлая артиллерия, но для старта обычно хватает и GNS3.

Почему без Python сетевику дальше будет скучно

Современные сети постепенно перестают быть «ручными». Всё больше появляется концепций вроде SDN и «инфраструктуры как кода». И вот тут без Python уже никуда.

Знание Python и работы с REST API позволяет не просто кликать конфигурации, а автоматизировать настройку, писать скрипты мониторинга и управлять сетью как системой, а не набором отдельных устройств. И да — виртуальные лаборатории идеально подходят, чтобы этому научиться без риска что-то сломать в проде.

FAQ - коротко и по делу

Где практиковаться работе с сетями бесплатно?

Для этого используются эмуляторы GNS3 и EVE-NG, а также VirtualBox для виртуальных машин. Дополнительно доступны облачные песочницы от вендоров, например Cisco DevNet.

Какие требования к ПК для домашней сетевой лаборатории?

Ключевой ресурс — оперативная память. Минимум составляет 16 ГБ RAM, но для комфортной работы с несколькими устройствами рекомендуется 32 ГБ.

Зачем сетевому инженеру изучать Python?

Python используется для автоматизации и управления сетями через API. Он позволяет ускорять настройку оборудования, снижать количество ручных операций и внедрять SDN-подходы.

Friday, 1 August 2025

Скажи, кто твой AI, и я скажу, кто ты.


Всем привет.

Популярная фраза теперь звучит так "Скажи, кто твой AI, и я скажу, кто ты." Ажиотаж вокруг AI еще тот. И он оправдан. Вы можете любить или ненавидеть  AI, но с каждым днем его все больше в вашей жизни.

Сегодня процитирю вам АІ-советы от Александра Фролова, начальника отдела информационных технологий МГУ им. адм. Г.И. Невельского.

Нейросети - это мощный инструмент для системных администраторов, который помогает экономить время и решать сложные задачи. Однако важно использовать их с умом: проверять ответы, задавать четкие вопросы и не полагаться на них полностью в критически важных ситуациях. Для сисадминов особенно полезны ChatGPT, GitHub Copilot и Claude, так как они помогают автоматизировать рутинные задачи и находить решения быстрее. 

Для сисадминов (DevOps) особенно полезны ChatGPT, GitHub Copilot и Claude, так как они помогают автоматизировать рутинные задачи и находить решения быстрее.

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

Наиболее популярные инструменты:

⦁ ChatGPT (OpenAI): для генерации скриптов, анализа ошибок, поиска решений, документации.

⦁ GitHub Copilot: для помощи в написании кода и автоматизации задач.

⦁ Perplexity.ai: для поиска информации и быстрого получения ответов на технические вопросы.

⦁ Bard (Google): для сравнения ответов и поиска альтернативных решений.

⦁ Claude (Anthropic): для работы с длинными текстами, например, анализ логов или документации.

Sunday, 20 July 2025

FaceFusion - замена лиц на изображениях и видео.


Всем привет!

Сегодня взглянем на FaceFusion версии 3.0.0 (последняя 3.3.2) - мощный инструмент для замены лиц на изображениях и видео!

Он очень похож на VisoMaster, который делает замену лиц в видео и изображениях. И он также open-source решение, которое работает на Windows и Linux и подходит как для творческих экспериментов, так и для знакомства с технологиями deepfake. Потому пробуйте и делайте свой выбор.

Давайте теперь разберём, что это за инструмент, чем он примечателен и как его установить.

Для его начального использования понадобится всего лишь фотография в профиль. 

Основные возможности FaceFusion:

  • Замена лиц на фото и видео;
  • Улучшение качества лиц и кадров;
  • Раскрашивание черно-белых видео;
  • Синхронизация губ (Lip-sync);
  • Поддержка нескольких моделей для замены лиц;
  • Настройка параметров обработки;
  • Работа с несколькими лицами в кадре.

А в последней версии добавлено следующее:

  • Добавлена возможность изменения возраста;
  • Улучшение качества пикселей для алгоритмов замены лиц;
  • Live Portrait улучшает выражения лиц на фотографиях;
  • Порядок выбора лиц теперь учитывает возраст, пол и другие параметры;
  • Новые видеокодеки h264_videotoolbox и hevc_videotoolbox;
  • Исправлено качество изображений формата webp;

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

Thursday, 29 May 2025

Про Firewall Builder.

Привіт привіт.

Вам потрібно оновити брандмауер? Але ви забули, яка саме команда вам потрібна, тому шукаєте документацію, переглядаєте форуми, переглядаєте wiki, мучаєте ChatGPT, ... минає час, минає два. Нарешті ось щось схоже на потрібну команду! Спробуємо! Упсс, а не спрацювало. Ви повертаєтеся до пошуку...

Було так? Авжеш було, і не одноразово. 

Аж ось є чарівна пігулка - Firewall Builder тобто Конструктор брандмауерів який спрощує налаштування ваших брандмауерів і робить це візуально.  Звісно за умови що ви точно знаєте яка фільтрація трафіку вам потрібна.

Ключові поняття

  • Об'єкти . Конструктор брандмауера базується на концепції об'єктів. Користувачі створюють об'єкти, такі як IP-мережі та IP-адреси, для представлення елементів, які будуть використовуватися в правилах брандмауера.
  • Бібліотеки . Об'єкти зберігаються в бібліотеках. За замовчуванням Firewall Builder постачається з двома бібліотеками об'єктів. Бібліотека під назвою User використовується для зберігання об'єктів, створених користувачем. Бібліотека лише для читання під назвою Standard містить сотні попередньо визначених об'єктів, таких як поширені служби TCP та UDP.
  • Компіляція . Після створення політики з правилами брандмауера в Firewall Builder вам потрібно скомпілювати політику. Компіляція перетворює ваші правила з синтаксису Firewall Builder на синтаксис команд, який використовується цільовою платформою брандмауера. Щоразу, коли ви змінюєте правила брандмауера, вам потрібно перекомпілювати набір правил.

Макет графічного інтерфейсу

Програма Firewall Builder складається з трьох основних панелей, показаних на знімку екрана нижче.


  • Панель об’єктів . Об’єкти в активній бібліотеці відображаються в дереві об’єктів на панелі об’єктів. Для всіх можливих типів об’єктів, які користувач може створити в бібліотеці користувача, визначено порожні папки.
  • Панель правил . Коли об’єкт політики відкривається для редагування, він відображається на панелі правил. Натискання кнопки «+» у верхній частині панелі створює нове правило.
  • Панель редактора . Подвійне клацання на об’єктах відкриває їх для редагування на панелі редактора. Зміни в полях атрибутів об’єкта набувають чинності негайно.

Панелі відкриваються динамічно залежно від того, яку дію виконує користувач. Наприклад, подвійне клацання об’єкта для його редагування відкриє панель редактора, якщо вона ще не відкрита.

Thursday, 1 May 2025

Локализация Linux.

Всем привет.

10 лет тому мне пришлось "бороться" в CentOS 7 за русскую консоль, точнее за буковки кирилицы в наборе. Как оказалось, также всегда полезно на первых шагах провести локализацию временной зоны и следом локализацию окружения Linux, чтобы было меньше сюрпризов в будущем. 

Делай раз, локализация временной зоны.

Для Ubuntu:

# timedatectl set-timezone Europe/Kyiv


Для FreeBSD:

# rm /etc/localtime

# ln -s /usr/share/zoneinfo/Europe/Kyiv /etc/localtime

# cp /usr/share/zoneinfo/Etc/GMT-2 /etc/localtime

Saturday, 1 March 2025

VisoMaster: замена лиц в видео и на фото.


Всем привет.

Сегодня я хочу рассказать вам о VisoMaster - проекте, который делает замену лиц в видео и изображениях проще и доступнее для всех. Это open-source решение, которое работает на Windows и Linux и подходит как для творческих экспериментов, так и для знакомства с технологиями deepfake. Хотите попробовать себя в роли видеомонтажёра или узнать, как работают нейросети? Давайте разберём, что это за инструмент, чем он примечателен и как его установить.


Что такое VisoMaster?

VisoMaster - это проект на GitHub (https://github.com/visomaster/VisoMaster), созданный энтузиастами, включая @argenspin и @Alucard24. Он позволяет загружать видео или фото, выбирать любое лицо для замены и получать результат с помощью нейросетей. Всё интуитивно: добавляете материалы, настраиваете параметры, запускаете обработку. Проект поддерживает разные форматы файлов, а в последних обновлениях (v0.1.5) появилась возможность передавать результат на виртуальную камеру - например, для стримов в OBS.

VisoMaster вырос из популярного редактора Rope и его ответвления RopeMod. Оригинальный Rope давно не обновлялся - разработчик не выпускал новых версий уже наверное более полугода. Сообщество решило взять дело в свои руки и создало своего рода "переосмысление" проекта. VisoMaster унаследовал ключевые возможности RopeMod, такие как детальная настройка масок и поддержка видео с веб-камеры, но при этом стал быстрее и удобнее. Интерфейс теперь отзывчивее, можно работать не только с папками, но и с отдельными файлами, а некоторые инструменты заметно ускорились. 


Для чего нужен VisoMaster.

VisoMaster открывает простор для творчества. С ним можно создавать забавные ролики с заменой лиц, делать уникальные аватарки или экспериментировать с видео. Стримеры оценят интеграцию с виртуальной камерой - представьте, как ведёте эфир с другим лицом в реальном времени. А для тех, кто только начинает знакомство с нейросетями, это удобный способ увидеть их работу без глубокого погружения в технические детали.

Как установить VisoMaster.

Установка зависит от вашей системы. Для Windows есть простой автоматический вариант, а для Linux или желающих настроить всё вручную - более гибкий подход.

Как установить VisoMaster для Windows:

1. Перейдите на страницу релизов VisoMaster (https://github.com/visomaster/VisoMaster/releases) и скачайте последнюю версию программы на февраль 2025 года - v0.1.5. Для этой версии доступна портативная версия в формате архива (.zip). Скачайте файл, но обратите внимание: портативная версия не содержит встроенного выбора версии CUDA. Убедитесь, что на вашем компьютере уже установлена совместимая версия CUDA, соответствующая вашей видеокарте NVIDIA:

  • для видеокарт серии 10xx (например, GTX 1080) используйте CUDA 11.8.
  • для видеокарт серии 20xx и выше (например, RTX 2080 или новее) используйте CUDA 12.4.

Проверьте, что у вас установлены актуальные драйверы NVIDIA, совместимые с выбранной версией CUDA (информацию о минимальных версиях драйверов можно найти в документации CUDA или на сайте NVIDIA).

Распакуйте скачанный архив в удобное место на вашем компьютере - например, в папку на диске C или D. Для этого используйте любой архиватор 7-Zip или встроенные средства Windows.

После распаковки откройте папку с программой и найдите файл Start_Portable.bat. Дважды щёлкните по нему, чтобы запустить VisoMaster. В процессе запуска скачаются необходимые для работы зависимости и модели. Интерфейс программы откроется, и вы сможете приступить к работе.

Monday, 17 February 2025

Ollama-сервер и API

Всем привет.

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

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

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

Основные отличия Ollama от других проектов - это предоставление бесплатного API. Уже есть огромный выбор графических интерфейсов для этого API. Проект доведен до ума и не требует танцев с бубном при запуске. Проект поддерживает Windows, Linux и MacOS. Многочисленные инструкции по локальной установке Ollama доступны в сети.

Самый популярный вариант это docker плюс Open WebUI. Суть в том, что сервер лучше запускать в Docker, так как это готовый проект на React и у него есть официальный образ. Также есть и официальный чарт от Open WebUI. 

Но не спешите так делать! Ну право, из-за одного сервиса я буду разворачивать у себя еще и docker. Нет, не буду, и штатно инсталировать Ollama тоже не буду. Не доверяю я всяким инсталяторам.)

И как же тогда? А я возьму из репозитория Ollama его портабельный вариант, и просто разверну его в отдельную папку. Готово! Забегая наперед, перед первым стартом  я пропишу еще две системные переменные для Ollama-сервера чтобы к нему можно было обращаться по локальной сети

OLLAMA_HOST=192.168.1.100

и отдельную папку для моделей чтобы файлы не падали на диск "С"

OLLAMA_MODELS=Е:\ollama\models

Пока все! Запускаю OLLAMA-сервер bat-файлом:

@echo off

start /B ollama.exe serve

timeout /t 5

@echo Load model to server ...

ollama.exe run "gemma:latest"

pause


Если вы заранее не загружали модель набирая ollama.exe pull "gemma:latest", то первый старт до готовности отвечать на запросы у вас займет некоторое время. Проверить работу и наличие локальных моделей можно через запрос http://192.168.1.100:11434/api/tags

Friday, 7 February 2025

Git та safe.directory

Привіт привіт.

Після міграції на новий GenAI сервер з портабельними версіями генераторів Forge, ComfyUI та Fooocus ви можете отримати сюрприз при спробі оновленння або встановлення нових функцій будь якого генератора, тобто всього того що використовує Git.

Під час спроби виконати команду git, наприклад клонування, git повертає фатальну помилку, повідомляючи, що ваш репозиторій має сумнівне право власності, і команда git переривається. Текст про помилку може бути різний, але він буде пов'язваний з Working Directory. Як приклад повертається помилка (дивитися в консолі самого генератора), подібна до наведеної нижче: 

fatal: detected dubious ownership in repository at '<path to the repository>'

To add an exception for this directory, call:

git config --global --add safe.directory <path to the repository>

або

fatal: unsafe repository ('<path to the repository>' is owned by someone else)

To add an exception for this directory, call:

git config --global --add safe.directory <path to the repository>


Причина

З git 2.35.2+ було внесено зміни, щоб запобігти користувачеві виконувати команди в репозиторії, що належить іншому користувачеві. Це зроблено для усунення загрози безпеці, CVE-2022-24765 , для отримання додаткової інформації див. setup_git_directory та оголошено про вразливість безпеки Git . Зміни в setup_git_directory запобігають викликам виконання команд у сховищі, що належить іншому користувачеві. 

Авжеж, якщо це нова інсталяція Windows, то і Ви як користувач (тобто SID) вже новий для локальних репозиторіїв Forge, ComfyUI та Fooocus, навіть якшо вони були портабельні.

Wednesday, 1 January 2025

Переносим кэш Python.

Всем привет. 

Уверен, что многие из вас, работая с GenAI, рано или поздно сталкивались с нехваткой свободного места на системном диске. 

Часто полагают, что проблема именно в самой генераторе, и что он непомерно "жрёт" дисковое пространство, но это не совсем так, большую часть места "съедает" кэш самого Python и устанавливаемые зависимости, коих для корректной работы любой нейросети используется достаточно большое количество. И в процессе, вы, поиграв с одной нейросетью, и даже удалив её и поставив другую в недоумении смотрите на цифры и не понимаете, куда же сегодня делось еще 10 Гб с диска "С".

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

Лично я рекомендую использовать ВСЕ способы ВМЕСТЕ если вы пользуетесь портабельными версиями ИИ-генераторов. Ибо далеко не каждый генератор портабелен на все 100% и свой кэш может легко забрасывать на ваш системный диск. Особенно этим грешат сборки Spaces.

Способ 1. 

Измените переменную среды ТЕМР в своей ОС. Да, да, это банально, но частенько мы забываем что по умолчанию пользовательская "времянка" в Windows тоже указывает на системный диск.

Чтобы настроить переменные среды, нажмите правой кнопки мыши на Мой Компьютер - Свойства - Дополнительные параметры системы - в окне "Свойства системы" нажмите "Переменные среды". Нажмите на переменную, которую вы хотите изменить, нажмите "Изменить".

Способ 2. 

Задайте, или измените если она существует, переменную среды PIP_CACHE_DIR в своей ОС. После этого все операции установки пакетов с использованием PlP будут использовать указанную директорию для хранения кэша. Шаги те же что и в 1-м способе.

Способ 3. 

Задайте, или измените если она существует, переменную среды XDG_CACHE_HOME в своей ОС. Это наследие Linux с которым теперь приходиться сражаться и в Windows. Переменная XDG_CACHE_HOME является стандартом из XDG Base Directory Specification, который происходит из Linux-среды. Однако многие библиотеки Python, независимо от операционной системы (включая Windows), поддерживают эту переменную среды как способ определения места хранения кэша.

Способ 4. 

Задайте, или измените если он существует, глобальный кэш для PIP. Откройте командную строку прописав в ней команду:

..\python_embeded\python.exe -m pip config list

или

..\python_embeded\python.exe -m pip config get global.download-cache

..\python_embeded\python.exe -m pip config get global.cache-dir

Friday, 13 December 2024

About Ultralytics crypto miner situation.

Всем привет.

Небольшой шухер в сообществе ComfyUI. В некоторых версиях пакета ultralytics pip был обнаружен майнер криптовалют. Оригинал тревоги здесь.

Кто может пострадать?

Люди, установившие версии v8.3.41 и v8.3.42 пакета ultralytics pip на Mac и Linux. Windows пока не затронута. Анализ взломанного пакета ultralytics показал, что майнер загружается только на Mac и Linux. Скорее всего, это связано с тем, что атака была направлена на серверы, а не на обычных пользователей.

Ultralytics не является основной зависимостью ComfyUI, но он является зависимостью некоторых очень популярных пользовательских узлов, таких как ComfyUI-Impact-Pack. Одна из взломанных версий могла установиться, если вы установили новую версию некоторых узлов, которые от нее зависят. Простое обновление пользовательских узлов обычно не приводит к обновлению зависимостей, поэтому, скорее всего, пострадали только те, кто установил совершенно новую версию в то время, когда взломанные пакеты находились в рабочем состоянии.

Вы можете проверить, затронуты ли вы, обновив менеджер ComfyUI, чтобы проверить наличие этих зависимостей и предупредить себя, или вручную проверив, установлена ли у вас версия 8.3.41 или 8.3.42 с помощью: pip show ultralytics


Чем это плохо?

Скомпрометированный ultralytics загружает двоичный файл (криптомайнер) на Mac и Linux в /tmp/ultralytics_runner и запускает его на выполнение.

Friday, 4 October 2024

Лаборатория с REMnux.

Всем привет.

Форензика (Forensics) - это компьютерная криминалистика, наука о расследовании киберпреступлений, то есть прикладная наука о раскрытии преступлений, связанных с компьютерной информацией. Неотъемлемой частью форензики является исследование цифровых доказательств, использование методов поиска, получения и закрепления данных доказательств.

Когда произошел инцидент, необходимо оперативно получить ответы на следующие вопросы:

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

Форензика делится на следующие направления:

  • computer forensics – к ней относится все, что связано с поиском артефактов взлома на локальной машине: анализ ram, hdd, реестра, журналов ОС и т. д.;
  • network forensics – анализ сетевого трафика;
  • forensic data analysis – посвящена анализу файлов, структур данных и бинарных последовательностей, оставшихся после атаки или использовавшихся при вторжении;
  • mobile device forensics – занимается всем, что касается особенностей извлечения данных из android и ios;
  • hardware forensic – экспертиза аппаратного обеспечения и технических устройств прошивки, bios и т. д.

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

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

Экспертиза взломанного хоста состоит из Статического анализа и Динамического анализа.

Статический анализ

Задачи статического анализа:

  • создать образ жесткого диска или дампа оперативной памяти;
  • выявить и восстановить удаленные файлы;
  • остатки аномальных файлов в %temp% и системных директориях;
  • собрать историю серфинга веб-браузера;
  • системные логи события авторизации;
  • аудит доступа к файлам и директориям и т. д.;
  • получить список запущенных в памяти процессов и открытых коннектов сети.

Thursday, 12 September 2024

Cканер кода SonarQube

Всем привет.

Большинство кодировщиков пишут, как им часто кажется, совершенный код. Некоторые уже используют в IDE инструменты статического анализа, такие как ESLint, которые выявляют возможности улучшения каких-то частей кода в процессе его написания. Практика хорошая, и не стоит от нее отказываться.

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

  • что такое SonarQube;
  • как установить этот инструмент на локальный компьютер;
  • как сканировать файлы проекта;
  • как провести анализ проекта в SonarQube.

В статье будет рассмотрена открытая версия для сообщества. SonarQube невероятно полезный инструмент, так что я с радостью поделюсь своими знаниями о нем.


Что такое SonarQube?

SonarQube - это платформа с открытым исходным кодом, разработанная SonarSource, для непрерывной оценки качества кода путем статического анализа.

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

Завершив сканирование кода, о чем будет рассказано далее, SonarQube формирует отчет, который можно посмотреть в GUI через браузер. Все обнаруженные проблемы представляют собой “интерактивные тикеты”, позволяющие писать к ним комментарии, делегировать их другим пользователям, открывать или закрывать и т. д.


К подробному описанию проблемы сразу же прилагается соответствующий код.



SonarQube также объясняет суть проблемы при нажатии на соответствующую ссылку “Why is this an issue?” .


Tuesday, 23 July 2024

Легкий старт з Prometheus.

Всім привіт.

Моніторинг сьогодні - фактично обов'язкова частина ІТ-інфраструктури для компанії будь-яких розмірів. Але сьогодні я не буду зупинятися на різноманітті програмного забезпечення для моніторингу, а просто покажу як легко можно дати старт такому функціоналу з одним із популярних рішень - пара на основі Prometheus плюс Grafana.


То ж щодо теорії то вам сюди, бо далі сама практика від Дениса Астахова. Піднімемо сервер Prometheus та сервер Grafana, з'єднаємо їх, та запустимо моніторинг на інші сервери.

Інсталюємо сервер Prometheus:

#!/bin/bash

#--------------------------------------------------------------------

# Script to Install Prometheus Server on Linux Ubuntu

# Tested on Ubuntu 22.04, 24.04

# Developed by Denis Astahov in 2024

#--------------------------------------------------------------------

# визначення глобальних констант

PROMETHEUS_VERSION="2.51.1"

PROMETHEUS_FOLDER_CONFIG="/etc/prometheus"

PROMETHEUS_FOLDER_TSDATA="/etc/prometheus/data"


# отримання пакету PROMETHEUS з мережі internet

cd /tmp

wget https://github.com/prometheus/prometheus/releases/download/v$PROMETHEUS_VERSION/prometheus-$PROMETHEUS_VERSION.linux-amd64.tar.gz

tar xvfz prometheus-$PROMETHEUS_VERSION.linux-amd64.tar.gz

cd prometheus-$PROMETHEUS_VERSION.linux-amd64


mv prometheus /usr/bin/

rm -rf /tmp/prometheus*


# створення теки для PROMETHEUS

mkdir -p $PROMETHEUS_FOLDER_CONFIG

mkdir -p $PROMETHEUS_FOLDER_TSDATA


# створення конфігурації для сервера PROMETHEUS

cat <<EOF> $PROMETHEUS_FOLDER_CONFIG/prometheus.yml

global:

  scrape_interval: 15s


scrape_configs:

  - job_name      : "prometheus"

    static_configs:

      - targets: ["localhost:9090"]

EOF


# визначення користувача PROMETHEUS та надання йому відповідних прав

useradd -rs /bin/false prometheus

chown prometheus:prometheus /usr/bin/prometheus

chown prometheus:prometheus $PROMETHEUS_FOLDER_CONFIG

chown prometheus:prometheus $PROMETHEUS_FOLDER_CONFIG/prometheus.yml

chown prometheus:prometheus $PROMETHEUS_FOLDER_TSDATA


# створення конфігурації PROMETHEUS як сервісу Linux

cat <<EOF> /etc/systemd/system/prometheus.service

[Unit]

Description=Prometheus Server

After=network.target


[Service]

User=prometheus

Group=prometheus

Type=simple

Restart=on-failure

ExecStart=/usr/bin/prometheus \

  --config.file       ${PROMETHEUS_FOLDER_CONFIG}/prometheus.yml \

  --storage.tsdb.path ${PROMETHEUS_FOLDER_TSDATA}


[Install]

WantedBy=multi-user.target

EOF


# запуск сервісу PROMETHEUS, перевірка його статусу, та визначення його на автозапуск

systemctl daemon-reload

systemctl start prometheus

systemctl enable prometheus

systemctl status prometheus --no-pager

prometheus --version

Saturday, 13 July 2024

Get address book from printer by SNMP.

Hi all.

By the way, yesterday I had to get the address book from the printer. To find out if there is a specific account there or not. Of course, you can export the book to a csv-file, but it's so tedious to go to the printer's admin web-panel every time. I wondered how it could be done remotely. And this is what ChatGPT advised me to do.

Using SNMP (Simple Network Management Protocol) is a valid approach for managing and retrieving information from network devices like printers. If your Xerox printer supports SNMP, you can indeed query it to retrieve the address book.

Here’s how you can proceed with SNMP in PowerShell:

1. Ensure SNMP is enabled on the printer: Check the printer’s settings to ensure SNMP is enabled and properly configured. You might need to consult the printer's manual for details.

2. Identify the OID (Object Identifier): You need to find the correct OID for the address book. OIDs are unique identifiers used to manage and monitor various aspects of a network device. The specific OID for the address book will depend on the printer model and its SNMP implementation.

3. Use PowerShell to query SNMP: PowerShell does not have built-in SNMP cmdlets, but you can use third-party modules like PSSNMP or SnmpSharpNet to perform SNMP queries.

Here’s an example of how to use SnmpSharpNet to perform an SNMP query:

Install and Import SnmpSharpNet

First, you need to download and reference the SnmpSharpNet library.

# Download the SnmpSharpNet.dll from the official source or a trusted repository.

# Example URL: https://github.com/lextudio/sharpsnmplib/releases

# Assume you've downloaded SnmpSharpNet.dll to C:\path\to\SnmpSharpNet.dll

Add-Type -Path "C:\path\to\SnmpSharpNet.dll"


While I don't have a specific OID for the address book for Xerox printers readily available, I can guide you through common OIDs used in Xerox printers and how to find the OID you need.

Sunday, 16 June 2024

Run Stable Diffusion on AWS.

Hi all.

This is retype post from  Andrew "How to run Stable Diffusion on AWS".

Running Stable Diffusion in the cloud (AWS) has many advantages. You rent the hardware on-demand and only pay for the time you use. You don’t need to worry about maintaining the hardware.

Author set up a personal cloud server to run AUTOMATIC1111, ComfyUI, and SD Forge for saving storage space, the three Stable Diffusion software share models.


When do you want to use the Cloud?

The benefits of using a personal cloud server to run Stable Diffusion are:

  • You don’t need to buy and maintain hardware. The cloud provider is responsible for the capital cost and maintenance.
  • You can easily rent a more powerful GPU if you need it.
  • You can access the machine anywhere, even when you are traveling.

Setting up a cloud server requires some technical expertise and can be time-consuming. You can use Google Colab notebooks as alternative method.


Cloud server setup

This article will guide you in setting up a Stable Diffusion cloud server for personal use. You will use Amazon Web Service (AWS) to set up the cloud system.

AWS is Amazon’s cloud computing service. You can rent computer resources such as CPU, GPU, RAM, storage, and public IP addresses on demand. You only pay for the hours you use.

We will use:

  • EC2: Compute instance to host the Stable Diffusion server. You can select the CPU, GPU, and RAM specs. The instance will have options to run A1111, ComfyUI, or SD Forge.
  • Elastic IP: Fix the IP address of the EC2 instance. Without it, the IP address will change everytime you stop and start the instance.
  • S3 bucket (optionally): For storing the AI models more economically.


Notes:

You should stop the instance after each session. Otherwise, it will keep charging at the rate of a running instance. The storage is persistent, meaning that all the files and settings stay the same between sessions. It is no different from your local PC. See the summary of commands at the end.

Personal prerequisite - to follow this tutorial you should have a basic knowledge of using Linux with a terminal.

PS: of course, you can choose a Amazon Machine Image as Windows11 and simply upload your portable builds of A1111, ComfyUI and SD Forge to running EC2 instance.)

Sunday, 12 May 2024

Кросс-платформенное удалённое управление в Powershell.


Всем привет.

В своей практике мы осознали, что создатели PowerShell слегка ленивы, и это хорошо. Поскольку они не хотели кодировать параметр -HostName для каждого отдельного командлета, они создали систему удалённого взаимодействия, охватывающую всю оболочку. Данная система позволяет запускать любой командлет в удалённом компьютере. На самом деле, вы даже можете запускать команды, которые имеются в самом удалённом компьютере, но при этом отсутствуют в вашем собственном, то есть вам не всегда необходимо устанавливать все административные командлеты в своей рабочей станции. Такая система удалённого взаимодействия мощная и предлагает интересные административные возможности.

Основная мысль за удалённым PowerShell

Удалённое взаимодействие PowerShell работает схожим образом с Telnet и прочими древними технологиями удалённого управления. Когда вы запускаете некую команду, она исполняется в самом удалённом компьютере - обратно в ваш компьютер приходят лишь получаемые результаты этой команды.

Удалённое взаимодействие на устройствах Windows

PowerShell применяет протокол взаимодействия с названием Web Services for Management (WSMan). WSMan работает целиком поверх HTTP или HTTPS (HTTP по умолчанию), упрощая маршрутизацию через межсетевые экраны в случае их необходимости (поскольку каждый из таких протоколов пользуется для взаимодействия единственным портом). Реализация Microsoft для WSMаn поступает в виде службы в фоновом режиме, Windows Remote Management (WinRM). WinRM по умолчанию устанавливается в устройствах Windows 10, а также в сервере 2012 и выше. По умолчанию, эти службы отключены, но запросто могут включаться индивидуально или групповой политикой.

Удалённое взаимодействие на устройствах macOS и Linux

Как вы могли догадаться, WSMan и WinRM это службы только для Windows. Поэтому, чтобы PowerShell обладал возможностями удалённого взаимодействия, его команда приняла решение что было бы лучше воспользоваться стандартном отрасли Безопасной оболочки (SSH, Secure Shell)/ SSH упрощает маршрутизацию через межсетевые экраны, в случае такой необходимости (потому как этот протокол применяет для взаимодействия единственный порт), и десятилетиями применялся профессионалами Linux. Microsoft портировал в Windows OpenSSH, а потому вы даже можете применять его для удалённого взаимодействия в Windows.

Кросс-платформенное удалённое взаимодействие

Вы уже изучили что все командлеты PowerShell в качестве своего вывода производят объекты. Когда вы выполняете некую удалённую команду, она выдаёт объекты, которые необходимо поместить в некий вид, который запросто передаётся через сетевую среду. Как оказалось, XML - отличный способ для осуществления этого, а потому PowerShell автоматически такие объекты вывода выстраивает в последовательную форму (упорядочение, serializes) в XML. Данный XML передаётся через сетевую среду и затем в вашем компьютере выполняется обратное преобразование в параллельную форму (развёртывание, deserialized) в объекты, с которыми вы можете работать внутри PowerShell.

Упорядочение и развёртывание это всего лишь некий вид преобразования формата: из объектов в XML (упорядочение) и из XML в объекты (развёртывание). Зачем вам беспокоиться относительно того как возвращается такой вывод? Поскольку такие упорядоченные и затем развёрнутые объекты это всего лишь некого рода моментальные снимки; они не обновляются сами по себе непрерывно. Например, когда вы получили определённые объекты, которые представляют тот процесс, который запущен в удалённом компьютере, то что вы получили обратно будет в точности тем, что имелось в тот конкретный момент времени, в который был выработаны эти объекты. Такие объекты, как применение памяти и использование ЦПУ не будут обновляться чтобы отражать последующие условия. Кроме того, вы не можете заставлять свои развёрнутые объекты выполнять что бы то ни было - вы не можете указывать им останавливать себя, например. 

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

Для работы удалённого взаимодействия у вас имеются два основных требования:

  • Ваш компьютер, и тот, в который вы желаете отправлять команды, оба, должны исполнять PowerShell v7.1 или последнюю версию. 
  • В идеале, оба компьютера должны быть участниками одного и того же домена или доменам с двусторонним доверием. Существует возможность получения удалённого взаимодействия для работы вне домена, однако это слишком заумно.

Tuesday, 23 April 2024

Возможности BCDEdit.

Всем привет.

Вы наверняка знаете что система запуска для Windows хранится в чём-то с названием Boot Configuration Database (BCD, База данных конфигурации запуска). В Windows 11 его можно редактировать, но зачем это кому-то нужно? Существуют обстоятельства, например, когда у вас имеется конфигурация с двойным запуском или когда что- то в этой базе данных изменяется или разрушается.  Даже в этом случае для Вас не все потеряно!

Для редактирования этой базы данных откройте Командную строку или Терминал Windows от имени Администратора и наберите команду BCDEdit. Она отобразит текущую конфигурацию в этой базе данных. 

Все записи в этой базе данных начинаются со своих Идентификаторов. Это может быть некое техническое название, текстовая строка или даже шестнадцатеричный GUID (General Unique Identifier, Глобально уникальный идентификатор). Он поставляется в установленном формате {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}. 

Полный список идентификаторов показан ниже:

  • {badmemory} Глобальный список дефектной памяти
  • {bootloadersettings} Подлежащие наследованию всеми записями начального загрузчика глобальные настройки
  • {bootmgr} Диспетчер запуска Windows
  • {current} Основная операционная система в этом ПК
  • {dbgsettings} Глобальные настройки отладчика
  • {default} Идентификатор для записи запуска по умолчанию
  • {emssettings} Глобальные настройки EMS
  • {fwbootmgr} Запись запуска диспетчера запуска встроенного ПО, хранится в NVRAM систем UEFI
  • {globalsettings} Подлежащие наследованию всеми записями начального загрузчика глобальные настройки
  • {memdiag} Утилита диагностики памяти
  • {ntldr} Наследуемый загрузчик Windows, NTLDR; применяется для выпущенных до Windows Vista версий Windows
  • {ramdiskoptions} Необходимые для RAM дисков дополнительные параметры
  • {resumeloadersettings} Подлежащие наследованию всеми записями восстановления из гибернации Windows глобальные настройки.

Saturday, 9 March 2024

Обновление версии Windows Server.

Всем привет.

Использование современной версии Windows Server позволит нам внедрять новые функции этой ОС, получить высокую безопасность и более высокую производительность. Сейчас есть два канала распространения LTSC (Long-term servicing channel) – релиз с 5-летней основной и 5-летней расширенной поддержкой и Semi-Annual Channel – версии, которые выходят гораздо чаще, примерно каждые полгода, имеют основной цикл поддержки 6 месяцев, а расширенную в течение 18 месяцев. Компании, использующие Semi-Annual канал получают возможность использовать все самые новые функции, например, контейнеры с Linux и совместную работу с облачной платформой Azure.

По представленной ниже схеме можно выбрать путь обновления («Обновление на месте») до Windows Server 2019, в зависимости от используемой на текущий момент версии. 


 Есть несколько путей обновления с предыдущих версий Windows Server:

  • «Обновление на месте» используется, если вы хотите сохранить все установленные роли, настройки и приложения. Рекомендуется сделать предварительный backup данных. Такое обновление происходит путем запуска программы установки (setup.exe) с установочного носителя в работающий системе. Вначале инсталлятор предложит вам загрузить необходимые обновления и драйвера, затем предстоит выбрать необходимую редакцию. Далее будьте внимательны! Следующий параметр выбрать «Сохранить мои данные и приложения». После нескольких перезагрузок вы получите новую ОС.
  • «Чистая установка». Полное удаление старой ОС путем установки новой ОС. Предварительно вам нужно будет сделать резервную копию данных и список установленного программного обеспечения. 
  • Миграция. Производится установка новой ОС на другом оборудовании или на виртуальной машине. Затем поочередно переносятся все роли, работающие на старом сервере и данные. Для этого шага рекомендуется иметь предварительный план миграции. 
  • Обновление кластера. При выборе этого пути, вам будет нужно последовательно обновить все узлы кластера на новую ОС, причем весь процесс происходит без остановки сервисов, т.е. этот вариант позволяет избежать простоев. Как и с миграцией у вас должен быть четкий план действий.  
  • Преобразование лицензии. Выполняется повышение редакции. Например, сервер под управлением Windows Server 2016 Standard можно повысить до Server 2016 Datacenter. Внимание! Преобразование лицензии работает только в одну сторону, в сторону повышения редакции. Для этого используется встроенная утилита DISM и соответствующий ключ продукта. Запускаем от имени Администратора PowerShell и последовательно вводим команды:

dism /Online /Get-CurrentEdition //в ответ увидим установленную редакцию

dism /Online /Get-TargetEditions //покажет до какой редакции можно обновиться

И чтобы перейти на другую редакцию нужна команда: 

DISM.exe /Online /Set-Edition:ServerDatacenter /AcceptEula /ProductKey:<product_key>

Где ServerDatacenter – нужная редакция, AcceptEula – согласие с лицензией, <product_key> - ваш ключ продукта. После применения команды, сервер должен быть перезагружен.  

Для активации компьютеров в вашей сети может использоваться ключ многократной установки (Multiple Activation Key) или KMS (Key Management Service). KMS начинает работать, если счетчик наберет от 25 клиентских (5 для серверных) запросов на активацию. Кроме этого, необходимо чтобы компьютеры минимум раз в 180 miдней могли подключиться к KMS серверу. Иначе активация «слетает» и Windows переходит в ознакомительный режим. Ключ MAK активирует систему один раз, используя сервера активаций Майкрософт:

slmgr /ipk <product_key>

cscript c:\windows\system32\slmgr.vbs /skms kms03.forza.com:1688

cscript c:\windows\system32\slmgr.vbs /ato

Удачи.

Saturday, 3 February 2024

Шпаргалка - Linux та домен AD.


Всім привіт.

Ще одна шпаргалка щодо введення сервера Linux в домен AD. Перед самим введенням сервер  Linux (Ubuntu) повинен відповідати наступним вимогам:

1) підтримка FQDN

2) підтримка NTP синхронізації

3) правильно підключені репозіторії

4) локальна облікова типу SuperAdmin з правами Sudo для адміністратора який буде виконувати безпосередньо введення хоста в AD.


Ок, далі виконуємо наш план по кроках.

1) Заміна імені хоста згідно вимог FQDN:

hostname 

sudo hostnamectl set-hostname newbuzzy.forza.com


2) Налаштування NTP синхронізації:

sudo timedatectl set-timezone Europe/Kiev

sudo sed -i "s/^#NTP=/NTP=sd01-ntp-forza.com sd02-ntp-forza.com/g" /etc/systemd/timesyncd.conf

sudo sed -i "s/^#FallbackNTP=ntp.ubuntu.com/FallbackNTP=192.168.10.9 192.168.10.8/g" /etc/systemd/timesyncd.conf

sudo systemctl restart systemd-timesyncd.service

timedatectl timesync-status

-АБО-

timedatectl status

timedatectl set-ntp on

Monday, 21 August 2023

Жесткие и символические ссылки в Windows.

Всем привет.

Прилетел мне вопрос по символическим ссылкам из вчерашнего поста. И если для линуксоидов  это вполне знакомо то для пользовталей Windows они в диковинку. Ок, тогда пройдемся по ним подробнее.

Жесткие и символические ссылки давно знакомы и активно используются Linux-администраторами, в то время как их Windows коллеги используют их гораздо реже, а некоторые вообще не знают о такой возможности. Тем не менее такая возможность в Windows существует и позволяет значительно упростить некоторые сценарии работы с папками и файлами. Сегодня мы рассмотрим все виды ссылок, доступные в среде ОС Windows, а также разные способы работы с ними, начиная от командной строки и заканчивая PowerShell.

Жесткие ссылки (HardLink)

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

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

Жесткая ссылка может существовать только в пределах логического тома, поддерживается файловыми системами NTFS и ReFS начиная со сборки 19536.

Для создания жесткой ссылки можно воспользоваться утилитой mklink:

mklink /H C:\Folder1\LinkFileName C:\Folder\FileName

Где ключ /H предписывает создать именно жесткую ссылку, далее следует путь к новому файлу и целевому файлу, на который мы делаем ссылку. Путь можно указывать как абсолютные, так и относительные, в имени создаваемого файла не забывайте указывать расширение.

Ссылки можно создавать и при помощи PowerShell, для этого воспользуйтесь командой:

New-Item -ItemType HardLink -Path C:\Folder1\LinkFileName -Target C:\Folder\FileName

Команда другая, но принцип тот же самый: -ItemType - тип создаваемой ссылки, в нашем случае жесткая ссылка, -Path - путь к создаваемому файлу ссылки, -Target - файл на который мы делаем ссылку.

Можно ли сделать жесткую ссылку на директорию? Нет, только на файлы.

Вроде бы все понятно, но если внимательный читатель заглянет в свойства папки с жесткой ссылкой, то он увидит, что ее размер равен исходному файлу, если сделаем в ней еще одну жесткую ссылку - двум исходным файлам. Как так? Не стоит переживать, все нормально. Для операционной системы жесткая ссылка ничем не отличается от обычного файла и при подсчете свободного места учитывается размер каждой ссылки, но на самом деле на диске хранится единственная копия. В этом можно убедиться, если одновременно с созданием жестких ссылок контролировать свободное место на диске.

Какой вывод можно сделать из того, что мы увидели и где нам могут пригодиться жесткие ссылки? Прежде всего для предоставления пользователям доступа к объемным архивам, образам или инсталляционным пакетам. Скажем у вас есть файловый сервер и несколько отделов, каждому из которых нужно предоставить доступ к одному и тому же большому файлу. При этом вы можете не бояться, что кто-то удалит файл, он удалит его только у себя в директории, для остальных пользователей он останется доступен.

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

Версія на друк

Популярне