Записки IT специалиста
9K subscribers
2.41K photos
38 videos
16 files
2.41K links
IT-канал, просто о сложном
https://interface31.ru

Купить рекламу:
https://telega.in/c/interface31
Download Telegram
Без лишнего шума и пыли вышла Aspia 3.0. Ключевые изменения в выжимке ниже:

1️⃣ Архитектура, платформы и безопасность (Релиз 3.0.15)

🔹Переход на Qt 6 и кроссплатформенность: компонент Host теперь работает на Linux (X11/Wayland), macOS и Android (ранее был доступен только на Windows). Появился Client для Android.

🔹 Шифрование и безопасность: соединения по умолчанию защищены AES-256 GCM. Для пользователей Router обязательна двухфакторная аутентификация (TOTP).

Адресная книга шифруется мастер-паролем, а службы Router и Relay переведены на запуск от непривилегированных учетных записей.

🔹 Сетевой стек: добавлены прямые UDP-соединения (UDP hole punching, UPnP, NAT-PMP, PCP), встроенный STUN-сервер и раздельные порты для хостов, клиентов и релея.

🔹 Видео и сессии: внедрен кодек H.264 с аппаратным ускорением, адаптивный выбор качества, поддержка нового типа сессий Terminal, расширенный буфер обмена (файлы, изображения, HTML) и вкладки в интерфейсе клиента.

🔹 Упразднение Console: отдельная консоль удалена, ее функции интегрированы прямо в Client.

2️⃣ Развитие Host и портативный доступ (3.0.16 — 3.0.22)

🔹 Портативный Quick Support (3.0.22): для Windows добавлена версия хоста, работающая без установки. Ее можно экспортировать прямо из настроек с уже зашитой конфигурацией.

🔹 Экспорт преднастроенных инсталляторов (3.0.21): возможность сгенерировать готовый установочный пакет под развертывание на других ПК.

🔹 Мобильный хост на Android: Добавлен полноценный фоновый режим с уведомлением: хост остается на связи при заблокированном или выключенном экране (3.0.21, 3.0.22).

Появилась опция автоподтверждения захвата экрана.

Плавающая кнопка активной сессии теперь отображается поверх настроек системы и скрывается на экране блокировки.

🔹 Стабильность графики и системные фиксы: исправлены сбои аппаратного кодирования H.264 на старых GPU Intel, решены проблемы черного экрана в Wayland (GNOME) и захвата KMS на multi-GPU системах в Linux.

3️⃣ Улучшения Client и администрирования

🔹 Быстрое подключение (Quick Connect / F8): разовое подключение по адресу или роутерному ID без обязательного добавления в базу данных (3.0.20).

🔹 Управление парком машин через роутер: Введено разделение на временные и постоянные хосты с процедурой подтверждения (3.0.15).

Добавлено массовое одобрение временных хостов и пакетное перемещение по группам через Drag-and-Drop (3.0.20).

Quick Support-хосты помечаются отдельно и не могут быть одобрены как постоянные (3.0.22).

🔹 Удобство авторизации: возможность автоматической разблокировки мастер-пароля базы при старте через системное хранилище ключей Windows/macOS (3.0.20).

🔹 Собственные серверы обновлений: добавлена поддержка указания кастомного сервера обновлений и публичного ключа подписи пакетов (3.0.21).
🔥19👍13❤4🤔1
До первого сервис-пака не ставить
 
На фоне некоторых коллег, которые бегут ставить свежий софт сразу после его выпуска, невзирая на то, что разработчик за неделю выпустил семь минорных релизов вспоминаются старые добрые времена, когда интернет был по талонам по карточкам с почасовой тарификацией и никакой мгновенной доставки софта быть не могло.
 
В те годы софт распространялся на физических носителях: дискеты, а позже и компакт-диски. И все косяки, доработки и прочее копились большой массой чтобы быть исправленными или добавленными в большом обновлении, которое называлось сервис-пак.
 
Выпускали их, когда быстро, когда не очень. В зависимости от критичности выявленных проблем и ожиданий пользователей.
 
Так для NT 4 было выпущено целых шесть сервис-паков, не считая Service Pack 6a и Post Service Pack 6a Security Rollup. И самая жесть состояла в том, что, поставив чистую NT 4 с лицензионного носителя вы должны были все эти обновления (числом 8 штук) накатить последовательно.
 
Для Windows 2000 было выпущено четыре сервис-пака и один Update Rollup для закрытия выявленных уязвимостей, для Windows XP сервис-паков было три. Потом этот процесс пошел на убыль.
 
Windows Vista получила всего два сервис-пака, а Windows 7 – один. Но к этому времени широкополосный интернет стал нормой жизни и все изменения и исправления стало можно свободно распространять через Windows Update.
 
Времена прошли, но привычки остались. Любой администратор, заставший те времена помнит, что установка сервис-пака часто была сродни обновлению системы. Менялось многое, добавлялись новые функции, исправлялись ошибки.
 
Поэтому и возникло правило: до первого сервис-пака в прод не ставим. Пусть там все оттестируют, исправят, а тогда уже и мы подтянемся.
 
А мотивация была проста – с косяками нам придется жить и жить долго, пока тот самый сервис-пак не выпустят. И зачем это надо? Совсем не надо! Поэтому посидим на старой версии, пока на новую все исправления не выпустят.
👍21❤3🥱2
Автоматический перезапуск Aspia в Docker
 
Не так давно мы рассказывали, как запустить популярную систему удаленного доступа Aspia в Docker - https://t.me/interface31/6296/
 
И вот некоторое время назад пользователи начали сталкиваться с проблемами, перестает работать ретранслятор, но сам контейнер остается рабочим и Docker его не перезапускает.
 
С чем связаны падения ретранслятора пока непонятно, но по всем признакам проблема внешняя, так как на совершенно разных установках ретрансляторы падают практически одновременно.
 
Что делать? Перезапускать контейнеры руками? Но это не наш метод, да и где взять столько рук. Поэтому обратимся к средствам автоматизации, существует проект autoheal, который позволяет следить за здоровьем контейнера и перезапускать его, если что-то пошло не так.
 
Откроем docker-compose.yml в папке проекта Aspia и приведем его к следующему виду:

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
     labels:
      - "autoheal=true"
    healthcheck:
      test: ["CMD-SHELL", "pidof aspia_relay && pidof aspia_router || exit 1"]
      interval: 10s      
      timeout: 5s        
      retries: 2         
      start_period: 15s  

 
Мы добавили метку, чтобы autoheal мог контролировать данный контейнер и добавили проверки процессов роутера или ретранслятора, если хоть один из них упал, то после двух неудачных проверок контейнер перейдет в статус unhealthy.
 
Теперь создадим отдельную директорию:
 
mkdir  /opt/autoheal
 
И разместим в ней следующий docker-compose.yml:
 
services:
  autoheal:
    image: willfarrell/autoheal:latest
    container_name: autoheal
    restart: always
    environment:
      - TZ=Europe/Moscow
      - AUTOHEAL_CONTAINER_LABEL=autoheal
      - AUTOHEAL_DELAY=2
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

 
В данном случае мы отслеживаем только контейнеры с меткой autoheal=true и перезапускаем их с задержкой в 2 секунды.

Запускаем все это добро и радуемся жизни, схема рабочая, проверена на практике.
 
Но есть один неочевидный момент. По умолчанию autoheal запускается с опцией:
 
AUTOHEAL_ONLY_MONITOR_RUNNING=false
 
Это означает, что он будет мониторить даже незапущенные контейнеры и автоматически будет поднимать их, даже если вы руками их остановите. Чтобы избежать этой ситуации добавьте в секцию environment опцию:

- AUTOHEAL_ONLY_MONITOR_RUNNING=true
 
Подобным образом мы можем отслеживать далеко не только Aspia, но и вообще любой сервис по любому нужному нам показателю, который не приводит к аварийному завершению контейнера, но влияет на его пользовательские характеристики. Главное – правильно написать условия проверки.
👍11🔥1
Как узнать все смонтированные файловые системы?

Раньше можно было сказать: загляните в /etc/fstab, но сегодня изучение этого файла уже не даст полного представления о всех смонтированных ФС.

Можно использовать команду mount, но ее вывод недостаточно удобочитаем.

Но есть способ лучше - findmnt, данная команда выведет все смонтированные файловые системы в удобном древообразном виде.

А если вы хотите видеть только реальные файловые системы, то используйте ее с ключом --real. Чтобы получить больше информации воспользуйтесь ключом --help.
👍22❤2🔥1
Работаем с жесткими и символическими ссылками в Windows

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

Тем не менее такая возможность в Windows существует и позволяет значительно упростить некоторые сценарии работы с папками и файлами.

В данной статье мы рассмотрим все виды ссылок, доступные в среде ОС Windows, а также разные способы работы с ними, начиная от командной строки и заканчивая PowerShell.

✅ Читать далее: https://interface31.ru/post/rabotaem-s-zhestkimi-i-simvolicheskimi-ssylkami-v-windows/
👍10❤1👌1
Горе от ума или причины упадка FreeBSD

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

Тут, конечно, хочется задать классический вопрос: если ты такой умный, то почему такой бедный? А применительно к ОС хочется спросить, а где ее пользовательская база? И почему так получилось, что из технологического лидера FreeBSD очень быстро превратилась в маргинальную и нишевую систему.

Я почитал материалы 2011 года, когда от FreeBSD отказались два отечественных IT-гиганта – Яндекс и Рамблер. Тогда было сломано много копий, но были и вполне разумные выводы и высказывания, которые, к сожалению, оказались не услышанными.

Основная проблема FreeBSD – это ее происхождение, а появилась она в университете Беркли и разрабатывалась в первую очередь в этой самой университетской среде. Это сразу задало стиль разработки – строим величественный собор под руководством грамотных архитекторов.

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

Linux строился по принципу караван-сарая. Надо – сделаем, вот тут с боку прилепим, ну и что, что неказисто, зато работает. И, что более важно, в разработке Linux использовался инженерный подход, а не научный.

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

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

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

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

Поэтому в Linux всегда приветствовали простых пользователей, т.е. эксплуатантов, прислушивались к ним, считали равноправной и неотъемлемой частью сообщества. И это работало и работает до сих пор.

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

Но академическая среда устроена совсем по-другому, это закрытая система, где критика может приниматься только от равных. Критиковать архитектора могут только архитекторы, желательно равные по регалиям и заслугам.

А попробуй это сделать какой-нибудь «выскочка», то его сразу спросят: а где твои научные работы? Кто ты вообще такой? Кто позволил тебе критиковать авторитетного и уважаемого человека?

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

Само же сообщество было проникнуто духом элитарности и крайне высокой планкой вступления. На любое замечание по работе ПО было принято спрашивать: where are your patches? (Где твои патчи?).

Т.е. если ты не способен соответствовать высоким запросам сообщества – то тебе в нем делать нечего, тебя там не ждут, тебе не рады. И об этом заявлялось практически официально, мол нам тут не нужны «недоадмины» по образу и подобию линуксовых.

В результате народ начал голосовать ногами в сторону более демократичного и развивающегося Linux. А когда «великие архитекторы» проспали ряд технологических новшеств, ногами стал голосовать и бизнес, хотя нерешаемых технических проблем там не было.

Но «элитарный» подход и «это не нужно» - свое дело сделали.
👍16🤔9🥱3❤2👀1
Неожиданный взгляд на BolgenOS

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

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

BolgenOS была представлена на конкурсе школьных проектов Нижнего Тагила в 2010 году и заняла там первое место. И все сразу заговорили о его авторе – 16-летнем школьнике Денисе Попове.

Но как-то упускается из виду, что над этим проектом Денис работал более полугода на внеклассных занятиях по информатике под руководством своего педагога Ефима Ширинкина.

К Денису у нас нет никаких вопросов, 16 лет – это такой возраст, когда «в голове ветер, в жопе дым» и он сам не мог полностью понимать и осознавать последствия своих действий. Ну это нормально, у всех в этом возрасте есть какие-то вселенские планы и амбиции.

При этом надо отдать должное – в техническом плане Денис был неплохо подкован, так как пересобрать дистрибутив Linux, особенно в те годы, требовало определенных знаний и умений, да и сейчас не каждый 16-летний пацан это сделает.

А вот товарищ Ефим Ширинкин вполне должен был отдавать себе отчет о том, что они делают, взрослый человек, как-никак. И как старший товарищ и наставник должен был предупредить, оградить, направить.

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

Чем больше этой мишуры – тем успешней школа, успешней учитель, да и управление образования в стороне не останется, если вдруг чего-то такое за пределы региона выстрелит.

И только будучи клиническим идиотом Ефим Ширинкин мог поверить, что его подопечный пишет ОС с нуля. Но идиотом он явно не был, а вот опытным функционером системы был.

В итоге на конкурс была заявлена и получила там первое место «принципиально новая ОС» - BolgenOS. Созданная Тагильским школьником Денисом под чутким руководством Ефима Ширинкина.

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

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

Но что-то пошло не так…

Ажиотаж по поводу BolgenOS неожиданно вышел за пределы области и распространился в интернете, чем вызвал неизбежное разоблачение и опровержение.

Крайним, как всегда, назначили самого молодого, т.е. Дениса, хотя именно гражданин Ширинкин приложил, в собственных интересах, конечно, все усилия по медийной раскрутке BolgenOS и Дениса.

После чего парня просто затравили. И отбили у него всякое желание далее развиваться в IT, впоследствии он ушел в звукорежиссуру и музыку, в настоящее время проживает в Москве и крайне не любит вспоминать про BolgenOS.

Но в чем виноват Денис? Только в одном, что по молодости и небольшому уму решил выкосить все копирайты и выдать свою сборку за собственную ОС.

Скажи он, что это просто еще один дистрибутив на основе Ubuntu и сохрани исходные копирайты – вопросов бы к нему не было.

А где были старшие товарищи? Тот же Ширинкин? Почему вовремя не одернул, не направил на путь истинный?

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

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

Хотя может быть в его лице страна потеряла хорошего, талантливого айтишника?
🔥13👍9❤4💯3
Please open Telegram to view this post
VIEW IN TELEGRAM
Развод и кухня пополам

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

Договор? Да какой там договор, стандартная рыба из интернета на одну сторону листа с очень и очень общими фразами. Ну и часть суммы оплачивалась не на расчетный счет, а на карту. Такая вот «налоговая оптимизация».

В результате бухгалтер с начала текущего месяца разорвала с заказчиком все отношения, базу 1С:Предприятие передавать отказалась, мотивируя это тем, что база – результат ее интеллектуального труда.

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

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

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

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

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

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

И обе стороны одновременно и правы, и виноваты. Однозначно хороших и однозначно плохих в этой истории нет.

Что могло помочь нашим фигурантам? Договор, только нормальный, а не формальная рыба из интернета. В котором бы четко были прописаны все взаимоотношения. Объем работ, порядок их сдачи-приемки, оплата. А также такие вопросы, как принадлежность информационной базы и прочие тонкости.

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

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

Мы уже не раз об этом говорили, повторим еще раз – договор должен быть по существу! Не цитируйте в него абзацы из Гражданского Кодекса - они и так имеют приоритет над любым договором. А лучше, распишите подробно, что вы собрались делать, как и на основании каких критериев сдавать сделанное.

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

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

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

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

К актам желательно предоставлять и подписывать подробные расшифровки, которые будут подтверждать время, место, объем и характер работ, иначе достаточно легко можно оспорить их как фиктивные.

И не забывайте оформить официально каналы общения с контрагентом. Если в договоре указано, что стороны общаются по факсу и электронной почте, то никакой суд не примет у вас в доказательство переписку в Телеграм. А что мешало добавить в договор?
👍10❤4👌3🤡1💯1
Please open Telegram to view this post
VIEW IN TELEGRAM
🍌2👎1
Прогнозирования выхода твердотельных накопителей из строя

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

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

Традиционные показатели, такие как SMART или счетчики износа здесь помогают мало, поэтому мы проанализировали наши случаи отказов и сделали некоторые выводы, которые не претендуют на истину, но могут оказаться полезны. Выводы применимы как к SSD, так и NVMe дискам.

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

1️⃣ Первый – это процент использования активного времени диска, в Zabbix это метрика Disk Utilization, в Windows – активное время. Если данная метрика на достаточное время залипает на уровне 100% без заметной дисковой активности или сопровождается активным чтением с небольшой скоростью – то это первый сигнал неблагополучия.

Да, мы можем нагрузить диск на 100%, но при этом будем видеть реальную адекватную нагрузку на чтение или на запись, либо и то и другое вместе.

Если же диск загружен на 100% в отсутствие видимой активности – то это сигнал о том, что он занят какими-то своими делами и на внешние раздражители не реагирует. В целом такого можно добиться на недорогих дисках удалив сразу большой объем данных и когда диск займется уборкой мусора эффект может быть схожим.

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

2️⃣ Второй симптом – это продолжительное интенсивное чтение, не несущее никакого логического смысла или вовсе противоречащее характеру производимой операции.

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

Либо мы пытаемся записать документ в 1С:Предприятие, но процесс вместо того, чтобы выполнить запись начинает интенсивно читать.

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

А может и вообще ничего не читать. Т.е. у нас нет активно читающего процесса, а диск показывает, что его активно кто-то читает. Система или процесс, вызвавший такое поведение или подвисают, или существенно тормозят.

Попутно все это сопровождается 100% загрузкой диска. В Zabbix это можно отследить по увеличению метрике Disk read time (rate), в Windows мы просто видим продолжительное чтение.

👆 Еще раз повторим, что каждая из указанных метрик может вырастать по различным причинам, но их устойчивое сочетание в совокупности с «непонятным» чтением «непонятных» данных – это характерный признак скорого выхода из строя.
👍11