ServerAdmin.ru
32.4K subscribers
1.18K photos
73 videos
29 files
3.19K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Ресурс включён в перечень Роскомнадзора
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84👎3
🤡 Самый хороший сервер — тот, о котором вспоминают только при продлении

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

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

🚀 Выбирайте то, что подходит именно вам

🟡 Виртуальный хостинг — от 123 ₽/мес
Для сайтов на WordPress, 1С-Битрикс, Joomla и других CMS. Установка популярных систем — в пару кликов.
7 дней бесплатного тестирования.

🟡 VPS в России — от 317 ₽/мес
Подходит для Telegram-ботов, Docker, разработки, тестовых окружений и собственных сервисов. 3 дня бесплатного тестирования.

🟡 VPS в Европе — от 366,5 ₽/мес
Для проектов, которым важна европейская площадка, международная аудитория или размещение сервисов за пределами России.

💡 А ещё

✔️ Хостинг облачной 1С
✔️ Домены
✔️ Резервное копирование
✔️ Партнерская программа до 50%
✔️ Оплата в рублях и круглосуточная русскоязычная поддержка даже для европейских серверов
✔️ DDoS-защита включена по умолчанию на всех тарифах

Попробуйте ИХЦ сами — возможно, вопрос с выбором хостинга закроется надолго.

👉 Посмотреть тарифы: ihc.ru

Реклама, ООО Интернет-Хостинг, ИНН 7701838266.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29👎7
Есть довольно известная программа в Linux (в Windows тоже работает) для хранения и управления историей - atuin. Видел много про неё заметок в различных тематических каналах. Но в основном там были общие слова, либо пересказ описания. Программа мало того, что сама по себе довольно удобная и полезная, но таких немало, так у неё есть ещё одна особенность, которая меня заинтересовала. Она поддерживает централизованное хранение истории со всех хостов в одном месте с возможностью смотреть или искать глобально по всей истории.

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

📌 Перечислю основные возможности atuin:

▪️Замена основного поиска по истории через CTRL + R. Работает удобно, мне лично очень понравилось.
▪️Централизованный сбор истории со всех хостов. Хранение либо в SQLite, либо в PostgreSQL. Это одновременно и удобный поиск по всей истории, и её бэкап.
▪️На сервере может показывать глобальную историю, историю всего хоста, текущей сессии или конкретной папки.
▪️Помимо непосредственно выполненной команды сохраняет код выхода, время исполнения, в какой директории была запущена.
▪️Стандартную историю в ~/.bash_history не заменяет и не перезаписывает.
▪️Работает со всеми популярными оболочками, в том числе powershell.
▪️В bash работает с помощью хуков preexec и precmd через расширение bash-preexec.sh, в других оболочках не проверял.
▪️ Всё это open source.

Не буду подробно останавливаться на установке клиентов, так как в документации всё это есть. Для сервера я взял готовый docker-compose.yml, убрал оттуда postgres и заменил на локальную sqlite, просто указав:

ATUIN_DB_URI: sqlite:///config/atuin.db

Соответственно, бэкап всей истории - это бэкап файла atuin.db. Теперь после установки клиентов на хостах достаточно добавить адрес своего сервера для хранения там истории.

Приведу пример настроенного мной клиента в ~/.config/atuin/config.toml. Отражу только те параметры, что изменил по сравнению со стандартом:

- sync_address = "http://192.168.137.57:8888"
Мой локальный адрес сервера истории

- sync_frequency = "0"
Сразу после записи команды отправлять её на сервер

- filter_mode = "host"
По умолчанию в поиске по CTRL+R открывается история хоста

- history_format = "{time} {host} {user} - {directory} | {command}"
Формат хранения истории, по умолчанию не сохраняет имя сервера, добавил

- style = "full"
Всегда отображать полный интерфейс

По умолчанию autin запускается по CTRL+R или по стрелке вверх. Последнее мне не нужно, я сразу отключил. Для этого в ~/.bashrc добавил ключ к запуску:

eval "$(atuin init bash --disable-up-arrow)"

После настройки первого клиента, регистрируем учётную запись на сервере:

# atuin register

Далее записываем в atuin уже существующую историю и синхронизируем её с сервера:

# atuin import auto
# atuin sync

На следующих серверах достаточно будет сделать:

# atuin login

И зайти под уже созданной учёткой. Теперь при нажатии CTRL+R у вас откроется поиск по текущей истории хоста. Дальнейшее нажатие комбинации CTRL+R переключает область поиска: сессия, директория, глобальный поиск.

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

# atuin search --filter-mode global

Можно её грепать, а можно прямо тут написать строку для поиска. Например, смотрим на все перезагрузки:

# atuin search --filter-mode global reboot

В целом, удобное решение для централизованного хранения истории. Тут тебе и сама история хоста и по сути глобальный аудит. Не хватает веб интерфейса для просмотра.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍70👎4
Ingress-nginx уходит в прошлое. С марта 2026 поддержка прекратилась. А что вместо него? Предлагаем посмотреть на Gateway API, новый стандарт Kubernetes SIG.

23 июля в 17:00 старший SRE-инженер MWS Cloud Евгений Макеев на практике покажет:

⚫️ чем маршрутизация Gateway API отличается от Ingress
⚫️ как выбрать контроллер
⚫️ как установить Gateway API в Managed Kubernetes
⚫️ как настроить безопасное подключение через TLS-сертификат

Будет полезно для DevOps, платформенным инженерам и разработчикам.

Регистрируйтесь по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👎4
Середина лета, такое затишье. Ощущение, что все по отпускам разъехались и никто не работает. В мессенджерах почти никто не пишет, не звонит на телефон. Красота. Развлеку вас немного.

Недавно ездил в Калугу. Был там в музее космонавтики. Это, кстати, самый большой музей в Европе по данной теме. Больше только в США. Там построили современное, многоярусное здание, оформили прилегающую территорию. Получился интересный современный музей. На улице можно увидеть оригинал ракеты-носитель «Восток». Рекомендую посетить.

В старом корпусе, где не только космонавтика, обнаружил необычный экспонат - Робот секретарь "APC". Он привлёк моё внимание, потому что тема персонального помощника в связи с развитием ИИ сейчас на волне, да и робототехника тоже. Вот что умел этот робот, созданный в 60-е годы прошлого века:

1️⃣ Будить хозяина в указанное время, включать на магнитофоне запись утренней гимнастики, напоминать о планах на день.

2️⃣ После ухода хозяина отвечать на звонки по телефону и записывать сообщения от звонящих, до 30 телефонных сообщений по 2 минуты.

3️⃣ В случае кратковременного отсутствия хозяина, просить звонящего подождать у телефона или сообщить через какое время вернется хозяин и можно будет перезвонить.

4️⃣ Приносить телефонный аппарат хозяину:
- в случае телефонного вызова,
- при желании хозяина позвонить.
Если вызываемый абонент занят, то АРС начинает процесс дозвона набором номера через каждые 3 минуты. Как только удается дозвониться - передает трубку хозяину.

5️⃣ Самостоятельно набрать номер на телефоне: для передачи сообщения в заданное время, для наведения справки в справочном бюро, для вызова аварийных служб (пожарная, скорая и т.д.) при срабатывании соответствующих датчиков.

6️⃣ Включать хозяину в заданное время приемник, телевизор или магнитофон. Записать на магнитофон передачу с приемника, телевизора или трансляционной сети.

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

8️⃣ Реагировать на стук или звонок в дверь:
- сообщить, что хозяина нет дома, и через сколько будет;
- если хозяин дома, то открыть дверь гостям.

9️⃣ Приветствовать гостей поднятием руки и произнесением заранее записанного приветствия, проводить гостей в гостиную, включить им телевизор или магнитофон, предложить гостям выпить и разлить напиток в бокалы и подать на специальном столике.

Весил этот железный друг около 100 кг, рост - 170 см. Робот реально функционировал. Это не макет. Создал его по сути один человек-энтузиаст - Борис Николаевич Гришин, преподаватель Калужского техникума железнодорожного транспорта. Он же и передал его потом в музей.

Я впервые услышал о таком роботе, поэтому заинтересовался и решил поделиться с вами. Меня лично он впечатлил как разработка такого далёкого прошлого, да ещё и сделанная одним человеком. Представьте, что могли бы сделать 10-15 таких человек при должной ресурсной поддержке?

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#железо
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍142👎1
У меня есть задача, которую я себе поставил, когда стал на практике разбирать работу с ИИ не в формате чата и выполнения простых агентских задач. Хочу получить возможность локально работать со своими документами, коих у меня немало - документы по моему ИП, различные квитанции по оплате, документация по стройке и дому, мои текстовые заметки по различным темам и некоторые другие. Отправлять всё это на постоянной основе в облачные сервисы не хочется. Эта же задача может быть актуальна практически для любого современного бизнеса. Так что разобраться в ней полезно.

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

В Anythingllm есть два варианта работы с локальными файлами:

1️⃣ Вы создаёте рабочее пространство и вручную загружаете в него файлы по теме. Они обрабатываются, составляется векторное представление (embedding) и записывается в векторную базу данных. Вы получаете полноценную RAG-систему. Теперь при ответах LLM может учитывать информацию из RAG.

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

2️⃣ Можно настроить агентский skill, который умеет работать с файлами - искать, открывать, изменять и т.д. Доступы и ограничения гибко настраиваются. Сделано удобно, работает нормально. Но опять же, со своими нюансами.

В ютубе много роликов на тему Anythingllm, но все они очень поверхностны. Скачали, запустили, закинули вручную 10-20 файлов и что-то ищем в них, редактируем. Это сразу заработает.

Я тестировал на ~1500 файлах, связанных с деятельностью моего ИП - договоры, акты, соглашения и т.д. Подключил локальную LLM через LM Studio. Пробовал разные модели. Более-менее нормальный результат можно получить только с нейронкой от qwen3.5-9b и выше. Но даже её мне не хватало. Для глобального поиска по всей базе не хватает контекста даже в 128к токенов. Моя RTX 5060 и его не тянет. Саму Anythingllm я запускал отдельно на другой машине. Ей тоже нужны ресурсы, но в основном разово, при обработке новых документов.

Тестировал на следующих запросах:

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

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

В процессе тестов выяснилось, что если вы подключаете директорию через skill, то она никак не обрабатывается. Файлы из неё не попадают в RAG. LLM может с ней работать напрямую, что требует огромного контекста, если там много файлов. Для того, чтобы что-то найти, надо всё прочитать и загрузить в контекст, либо явно указывать, с каким конкретно файлом мы работаем. Фактически это бессмысленный для меня в таком виде вариант.

По умолчанию в RAG документы добавляются только вручную. Чтобы это автоматизировать, надо использовать API и писать логику. В этом ничего особо сложного нет, но нужно заниматься. Получается уже не такое простое и удобное решение.

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

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

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#ai
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍46👎4
This media is not supported in your browser
VIEW IN TELEGRAM
Просматривал старые видео с приколами, где в том числе было вот это:

▶️ Разыгрываем коллег с помощью компьютера

Шутки так себе, мне не особо понравились. Самое интересное тут - обаяние ведущей. Ролик всего 3,5 минуты, можете глянуть. Он погрузит вас в далёкий 2011 год, когда в компьютерах ещё были сидиромы. Можно было придумать шутку с их участием. Показан типичный офис того времени. Я примерно в таком и работал обычным сисадмином и техподдержкой - 2 в 1.

Потом зашёл на канал, где размещён этот ролик. А он весь из той эпохи. Пару лет публиковал видео, а потом закрылся. Вся атмосфера того времени там сохранилась. Ролики все короткие, смотрятся быстро. Снято интересно и с душой. Приятные ведущие. Посмотрел последние ролики, мне понравилось, поэтому решил поделиться с вами.

Вот прикольные:

▶️ Как ускорить wi-fi при помощи банки пива
Ускоряют Wi-Fi на легендарном Linksys WRT54GL. Я свой, смахнув ностальгическую слезу, выкинул в итоге.

▶️ У Yandex и Google появился конкурент?
Невероятные хаки системы Windows 7 для встраивания поиска в проводник. Для тех, кто до сих пор считает Windows 7 лучшей системой всех времён и народов будет актуально.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#юмор
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35👎2
Виртуализация: just for fun

Поднимаете, настраиваете или
чините системы виртуализации? Любите смотреть, что под капотом технологий?

Тогда ждём вас на инженерной вечеринке «Виртуализация: just for fun».

В программе:
🔹Прикладные доклады и инженерные кейсы;
🔹Квиз по айтишным темам;
🔹Турнир по администрированию VMware «Admin Jam»;
🔹Открытый микрофон без корпоративной цензуры;
🔹Профессиональное и дружеское общение в
неформальной обстановке (пенного хватит на всех!)

Хотите хорошо провести время, а
заодно пообщаться на профессиональную тему?

Тогда регистрируйтесь и
забивайте слот в календаре:

📅Дата и время: 6 августа (четверг), 16:00−23:00
🗣 Формат: только офлайн
📍Место: Москва, ул. Мясницкая, 13, стр. 20 (м. Тургеневская)

Количество мест ограничено.
👍12👎3
В последнее время видел много упоминаний на тему загрузки на старом ядре Linux, если после обновления на новом возникают проблемы. Это стало особенно актуально после перехода PVE на новое ядро 7-й версии. На некотором железе с ним возникают проблемы. Я сам с этим столкнулся на одном из серверов. Хотя чаще всего всё в порядке.

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

Была у меня одна виртуалка с веб сервером, которая начала глючить из-за нехватки памяти. Периодически приходил OOM Killer и выключал Mysql. У неё был большой аптайм, так что решил её на всякий случай перезагрузить, прежде чем разбираться с тем, почему перестало хватать памяти. Ну и чтобы не приседать два раза, решил сразу и обновления свежие поставить.

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

Kernel panic not syncing: VFS: Unable to mount root fs

Не буду рассказывать, как я её решал, чтобы не тратить понапрасну ваше время. Перехожу сразу к сути. Пакетный менеджер установил все обновления, в том числе ядра. В момент пересборки initramfs с новым ядром, процесс с update-initramfs упал из-за нехватки памяти и начальный загрузчик не собрался. Но в Grub по умолчанию было назначено новое ядро. В итоге система не стартовала.

Решилось это выбором старой версии ядра для загрузки системы. Для него initramfs был собран нормально. Загрузился на старом ядре, ещё раз нормально провёл обновление и убедился, что всё в порядке. От подобной ошибки, кстати, частично страхует наличие swap, хоть и не на 100%. У меня обычно везде есть swap, но тут он не помог.

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

p.s. Картинка снизу не моя, нашёл в инете для наглядности. Она примерно так и выглядит. Когда первый раз видишь подобное, становится не по себе, так как выглядит страшно и не понятно, как решать. Сразу о бэкапах начинаешь думать и хаотично вспоминать, точно ли с ними всё в порядке.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#linux #ошибка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33