Обновить
89.3

Настройка Linux *

Вечный кайф

Сначала показывать
Порог рейтинга
Уровень сложности

Как я пытался ускорить анализ 12 000 комментариев с помощью GPU за 50 тысяч, но победил процессор

Время на прочтение4 мин
Просмотры13K

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

Недавно передо мной встала задача собрать все положительные комментарии к моим статьям. Веду их учёт в таблице, и там уже вполне серьёзные цифры — больше 300 строк и свыше 10 тысяч комментариев. Основные площадки, где я публикуюсь, выглядят так:

Хабр — 4 497 комментариев

Т‑Ж — 4 186

Смартлаб — 1 998

Пикабу — 726

Вручную искать в этом массиве текста слова поддержки — долго и нудно, а главное — совершенно не масштабируется. Так родилась идея: поручить всё локальной нейросети для анализа тональности. Заодно я хотел на практике разобраться с моделями на основе BERT.

Для этой цели у меня был, как мне казалось, идеальный инструмент: компьютер с Ubuntu 24 LTS, Docker и мощной NVIDIA GeForce RTX 5060 Ti на 16 ГБ. Казалось, что с RTX 5060 Ti на 16 ГБ анализ пройдёт молниеносно. Но на деле именно GPU стал главной точкой отказа — пришлось всё считать на CPU.

Код на GitHub.

Читать далее

WiFi, который не ловил

Уровень сложностиПростой
Время на прочтение4 мин
Просмотры19K

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

Читать далее

Рутокен ЭЦП + ИФНС: отправляем отчетность в Линуксе

Время на прочтение4 мин
Просмотры4.8K

Еще не так давно периодическая процедура типа «сдача налоговой отчетности» заставляла нервно дергаться глаз: для того, чтобы сделать это онлайн — нужна электронная подпись на USB‑токене, для того, чтобы работать с USB‑токеном нужно установить специальную программу (широко известную в узких кругах), а для того чтобы установить эту специальную программу — нужен компьютер с Windows.
Да еще у нее может закончиться срок лицензии, и тогда его надо продлевать...

Но что делать, если больше ни для чего мне Windows не нужен нигде и никогда? Держать на полке специальный старый ноубук (который все время мешается)? Завести образ виртуальной машины, который нужно будет в определенное время запускать только ради того чтобы отправить файл?
Да еще периодически обновлять программу, выполнять хотелки типа «нужно установить версию ХХХ не ниже YYY!», бороться со странными багами после установки версии XXX...

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

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

Читать далее

Автоматика через telnet

Время на прочтение3 мин
Просмотры4.4K

Я тут периодически пишу про всякие штуки, с использованием shell‑скриптов и разных linux‑утилит — в частности, чтобы лишний раз продемонстировать, что в линуксе не обязательно требуется «найти программу которая умеет делать ХХХХХ» — во многих случаях у вас уже есть всё необходимое, нужно только знать как использовать.

Вот, например, такая задача. У меня выход в интернет через роутер Keenetic. Роутеры эти неплохие, умеют, в частности, вести контроль работоспособности нескольких подключений, автоматически переключаться между ними.
Отвалилось соединение по каналу А — переходим на канал Б. Восстановилось — переходим обратно. Очень удобная функция.

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

Но для этого надо отлавливать факт переключения. И как это сделать, если роутер не умеет об этом как‑либо оповещать?

Читать далее

Перезапускаемые последовательности в Linux: выход в свет

Уровень сложностиСредний
Время на прочтение8 мин
Просмотры4.5K

Фича под названием перезапускаемые последовательности была добавлена в версию ядра 4.18 в 2018 году. Она позволяет повысить производительность в определённых категориях многопоточных приложений. Притом, что кому-то перезапускаемые последовательности действительно пригодились, такой код считается достаточно специализированным — как правило, разработчики приложений этим инструментом не пользуются. Но со временем перезапускаемые последовательности выросли и, по-видимому, тренд к их росту сохраняется, так как эта фича привязана к новым возможностям, предоставляемым в ядре. Но по мере того, как перезапускаемые последовательности стало всё сложнее считать нишевой фичей, с ними стали возникать заметные проблемы. Если исправить одну из них, это может повлечь заметные изменения ABI, которые будут видимы в пользовательском пространстве.

Читать далее

Используем Rutoken Lite для шифрования

Время на прочтение11 мин
Просмотры4.9K

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

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

И тут я увидел валяющиеся без дела USB‑токены...

Ну, так получилось: один старый, но когда‑то навороченный Aladdin, а другой современный, но простой Rutoken Lite, оставшийся после апгрейда.
Что, если использовать их?

Читать далее

Часть 3. Rsync — подробное руководство для админов

Уровень сложностиПростой
Время на прочтение4 мин
Просмотры7.1K

Привет, Хабр! В предыдущих частях руководства мы разобрали rsync вдоль и поперек - от базового синтаксиса до продвинутых "трюков" для бэкапов и деплоя. Казалось бы, вот он, идеальный инструмент на все случаи жизни. Но как часто бывает в IT, универсальных решений не существует.

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

Читать далее

«Просто используй Docker» — мой путь от Whisper к WhisperX

Уровень сложностиПростой
Время на прочтение6 мин
Просмотры15K

Несколько недель назад я опубликовал статью о том, как превратить обычный диктофон в инструмент для расшифровки речи с помощью OpenAI Whisper. Идея была создать бесплатную и приватную систему ИИ диктофона, которая избавляет от необходимости переслушивать аудиозаписи лекций или выступлений. Тогда статья нашла своего читателя, собрав 140 закладок.

В процессе настройки я боролся с несовместимостью библиотек, подбирал нужные версии драйверов и вручную собирал рабочее окружение. В комментариях мне справедливо заметили: «Вместо всей этой возни можно было найти готовый Docker‑контейнер и поднять всё одной командой». Звучало логично, и я с энтузиазмом принял этот совет. Я ведь верю людям в интернете.

Новая идея — не просто расшифровывать речь, а разделять её по голосам — как на совещании или встрече. Это называется диаризацией, и для неё существует продвинутая версия — WhisperX. Цель была проста — получить на выходе не сплошное полотно текста, а готовый протокол встречи, где понятно, кто и что сказал. Казалось, с Docker это будет легко.

Но я заблуждался. Путь «в одну команду» оказался полон сюрпризов — всё сыпалось одно за другим: то скрипт не видел мои файлы, то не мог получить к ним доступ, то просто зависал без объяснения причин. Внутри этой «волшебной упаковки» царил хаос, и мне приходилось разбираться, почему она не хочет работать.

Но когда я всё починил и заставил систему работать, результат превзошёл мои ожидания. Новейшая модель large-v3 в связке с диаризацией выдала не просто текст, а структурированный диалог. Это был настолько лучший результат, что я смог передать его большой языковой модели (LLM) и получить глубокий анализ одной очень важной для меня личной ситуации — под таким углом, о котором я сам бы никогда не задумался.

Именно в этот момент мой скепсис в отношении «умных ИИ‑диктофонов», которые я критиковал в первой статье, сильно пошатнулся. Скорее всего их сила не в тотальной записи, а в возможности превращать хаос в структурированные данные, готовые для анализа.

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

Весь код выложен на Гитхаб.

Зачем покупать ИИ диктофон?

Часть 2. Rsync — подробное руководство для админов

Уровень сложностиПростой
Время на прочтение26 мин
Просмотры11K

Привет, Хабр! В первой части я разобрал основы rsync: синтаксис, ключевые опции и работу по SSH. Эти аспекты позволяют эффективно пользоваться утилитой на базовом уровне. В этой статье заглянем «под капот» и научимся тонко контролировать весь процесс синхронизации и диагностировать проблемы с производительностью...

Что в статье:

— Фильтрация;
— Экономичные бэкапы;
— Диагностика и решение проблем.

Читать далее

Логирование и мониторинг WG

Уровень сложностиСредний
Время на прочтение9 мин
Просмотры1.3K

Всех приветствую! Послушал обзор курса «Мониторинг высоконагруженных систем» от OTUS, в котором упоминалось, что используется асинхронный подход в мониторинге и решил реализовать его в установленном WG. Готового легковесного в интернете ранее не нашел, а вопрос назрел в ввиду оперативного понимания, кто забивает канал, да и логи хотелось бы увидеть о событиях. Если читатель надеется, что тут я опишу изменение исходника, не тратьте время, будем обрабатывать вывод команды wg в консоли Python-ом, который уже есть в ubuntu 20.04 и содержит asincio. Можете по

Читать далее

Часть 1. Rsync: подробное руководство для админов

Уровень сложностиПростой
Время на прочтение21 мин
Просмотры24K

Привет, Хабр! В арсенале системного администратора и разработчика есть множество инструментов для переноса данных. Мы копируем файлы десятки раз в день: cp для локальных копий, scp для удалённых серверов. Но что если задача сложнее? Нужно не просто скопировать, а синхронизировать два дерева файлов, дёргая по сети лишь изменившиеся данные? Или поддерживать в актуальном состоянии зеркало веб‑контента?

О чём эта статья?
— Фундамент: как правильно путями в rsync и почему слеш в конце решает всё;
— Два основных режима работы: локально, с сервером;
— Разбор флага -a: что скрывается под капотом; — Главные опции: как сделать вывод подробным, а работу — безопасной; — Синхронизация поверх SSH: работа с нестандартными портами; — Самые опасные «грабли» и как их избежать.

Читать далее

2FA ALD Pro. Авторизация пользователей по сертификатам в домене

Уровень сложностиСредний
Время на прочтение14 мин
Просмотры2.2K

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

В этой статье я подробно разберу, как настроить двухфакторную аутентификацию с помощью сертификатов на токенах Рутокен для пользователей как родного домена ALD Pro, так и доверенного домена Microsoft Active Directory. Мы пройдем весь путь от инициализации токена и генерации ключей до настройки клиентов Astra Linux Special Edition (ALSE) и получения заветного окна ввода PIN-кода при входе в систему.

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

Читать далее

BPF CPU Scheduler: не нравится стандартный планировщик в Linux? Напиши свой

Уровень сложностиПростой
Время на прочтение6 мин
Просмотры2.9K

Всем привет! В статье расскажу про относительно новую возможность написания собственных CPU планировщиков для Linux с помощью BPF. Разберёмся, для чего это нужно, как работает, а также посмотрим на примеры уже написанных планировщиков.

Читать далее

Ближайшие события

Механизм запуска процесса в Linux

Уровень сложностиСредний
Время на прочтение7 мин
Просмотры15K

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

Изучил я этот механизм, когда разрабатывал Zapper — инструмент Linux, удаляющий все параметры командной строки из любого процесса без прав root.

Читать далее

Как FreeIPA защищает SSH от MITM-атак

Уровень сложностиСредний
Время на прочтение13 мин
Просмотры3.9K

Привет, Хабр!

Сегодня мы предлагаем погрузиться во внутреннюю кухню протокола SSH, заострив особое внимание на его интеграции с доменом FreeIPA. Настройка такого взаимодействия будет интересна администраторам, привыкшим к централизованному управлению Windows-серверами и рабочими местами, входящими в состав MS AD. Развитие нашей продуктовой линейки включает глубокий анализ технологического стека, и мы хотим поделиться с читателями результатами своих исследований.

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

Читать далее

Xfce и «автоматический» диалог

Уровень сложностиСредний
Время на прочтение5 мин
Просмотры10K

Сейчас будет еще одна «трешевая» история из мира открытого ПО, из тех что не рассказывают детям, дамам и сотрудникам ППС.

Читать далее

Повышаем привилегии юзера через docker

Время на прочтение1 мин
Просмотры2.6K

В очередной раз в очередной статье попалось упоминание о том, "как запустить docker контейнер без sudo".

В самом деле, можно же сделать так, чтобы вместо ввода пароля просто написать "docker start ..." прямо под пользователем, и всё будет работать.
Для этого достаточно внести пользователя в группу docker любым удобным способом, хоть прямым редактированием файла /etc/group, и сделать это один раз.

А теперь - почему так не стоит делать:

Читать далее

Ностальгия по пикселям: почему старые игры до сих пор в нашем сердце?

Уровень сложностиПростой
Время на прочтение3 мин
Просмотры2.7K

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

В статье придаемся воспоминаниям, а в конце рассказываем, как и во что можно играть на ОС Astra Linux SE.

Читать!

Устанавливаем Pi-KVM 4.94 на любое железо с OTG

Уровень сложностиПростой
Время на прочтение6 мин
Просмотры8.9K

Многие слышали про DIY проект Pi-KVM, позволяющий превратить ненужную малинку в IP-KVM. Не смотря на то, что разработчик проекта выпускает свое собственное железо, проект опенсурсный, но заточен только под одноплатные микрокомпьютеры Raspberry Pi 2, 3, 4 и Zero 2 W.

Для того, чтобы поставить Pi-KVM на одноплатники других производителей существует хитрый хак, а именно скрипт, написанный энтузиастами. Лучше не знать, какая магия творится там внутри, но скрипт реально делает свое дело - ставит PiKVM версии 3.291.

На этом вроде бы можно и закончить, если бы не одно "но" - в самой свежей версии 4.94 (на момент написания данной статьи) реализован режим эмуляции DVD-ROM, который позволяет монтировать большие ISO образы. Да и в принципе приятно когда установлен свежий софт, с исправленными глюками и багами, а не версия времен динозавров.

Читать далее

FreeBSD, ноутбук и перегрев

Уровень сложностиПростой
Время на прочтение3 мин
Просмотры4.6K

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

Читать далее

Вклад авторов