LinuxCamp | DevOps
Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование. Админ (реклама): @XoDefender Чат: @linuxcamp_chat Менеджер: @Spiral_Yuri Биржа: https://telega.in/c/linuxcamp_tg РКН: https://clck.ru/3RWA3C
Ko'proq ko'rsatish📈 Telegram kanali LinuxCamp | DevOps analitikasi
LinuxCamp | DevOps (@linuxcamp_tg) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 13 959 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 9 131-o'rinni va Rossiya mintaqasida 47 183-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 13 959 obunachiga ega bo‘ldi.
06 Iyul, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -98 ga, so‘nggi 24 soatda esa -3 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 27.85% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 10.66% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 3 888 marta ko‘riladi; birinchi sutkada odatda 1 489 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 23 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent linuxcamp, ядро, linux, диск, docker kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование.
Админ (реклама): @XoDefender
Чат: @linuxcamp_chat
Менеджер: @Spiral_Yuri
Биржа: https://telega.in/c/linuxcamp_tg
РКН: https://clck.ru/3RWA3C”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 07 Iyul, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
sudo apt remove docker docker-engine docker.io containerd runc
Ставим зависимости
sudo apt install ca-certificates curl gnupg lsb-release -y
Добавляем официальный репозиторий Docker
Создаём папку под ключи:
sudo mkdir -p /etc/apt/keyrings
Добавляем GPG-ключ Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Добавляем репозиторий:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Устанавливаем Docker и Compose-плагины
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Проверяем:
docker --version
Если видишь строку вроде "Docker version 27.x.x", значит всё ок.
Разрешаем запуск Docker без sudo
sudo usermod -aG docker $USER
После этого выйди из терминала и зайди снова. Проверяем:
docker run hello-world
Если всё работает — поздравляю, Docker установлен правильно и официально
Что не нужно делать
- Не устанавливай Docker через snap install docker - это урезанная версия.
- Не используй скрипты get.docker.com на продакшене.
- Не ставь docker.io это старая сборка из репозиториев Ubuntu.
Вывод
Эта инструкция полностью соответствует официальной документации Docker, можно просто скопировать все команды.
Ты получаешь последнюю стабильную версию Docker и Compose, всё обновляется из официального репозитория, и система останется чистой.
LinuxCamp | #utils #docker
# Запуск основного интерфейса YaST в консоли
sudo yast
# Прямой вызов модуля настройки сети
sudo yast2 lan
# Прямой вызов модуля управления пользователями
sudo yast2 users
# Прямой вызов модуля настройки файрвола
sudo yast2 firewall
# Установка пакета nginx
sudo yast2 --install nginx
Почему YaST важен:
YaST — это универсальный инструмент для администрирования openSUSE. Он значительно экономит время и делает настройку системы доступной для тех, кто предпочитает работать с GUI, а не с командной строкой.
LinuxCamp | #utils
# создаём снапшот на 5G
lvcreate --size 5G --snapshot --name my_snap /dev/vg0/my_volume
# монтируем и работаем с ним
mount /dev/vg0/my_snap /mnt/snap
Если что-то пошло не так можно вернуть систему в исходное состояние.
Важно помнить
- Снапшоты занимают место: если оно закончится, снапшот станет бесполезен.
- Это не замена полноценному бэкапу, а удобный способ быстро откатить изменения.
Вывод
LVM-снапшоты - мощный инструмент для админа. Они позволяют экспериментировать без страха сломать систему и экономят время на откатах.
LinuxCamp | #utils
rsync -avz /home/user/ user@server:/backup/
– -a сохраняет структуру и права
– -v показывает процесс копирования
– -z сжимает данные при передаче
Полезные фишки
# Сухой прогон (показать, что будет скопировано)
rsync -avzn /src/ /dst/
# Удалить лишнее в целевой папке
rsync -av --delete /src/ /dst/
Вывод
rsync работает быстрее и экономнее, чем обычное scp, когда нужно не просто скопировать, а поддерживать актуальные копии данных. Он стал стандартом де-факто для бэкапов и синхронизации именно благодаря своей скорости и эффективности.
LinuxCamp | #utils
CMD npm run build
Если все локально собирается, то и удаленно тоже должно (так мне изначально казалось). Для справки (потом будет очень важно):
у меня локальная работа идет на MacOS, сервак же - Linux (debain)Теперь давайте о проблеме: — я выполняю на сервере "docker compose up --build -d app" — у меня в конце срабатывает "npm run build" — сборка на серваке падает с:
Module not found: Can't resolve '@/app/components/UI/IconButtonn'Проблема же, кажется, очевидная - не определяется импортируемый модуль. Значит, вероятно, что-то не так либо в экспорте, либо в пути до модуля. Я смотрю структуру проекта на MacOS - такой путь существует, ну и сборка проходит успешно. Пытаюсь стучать в Cursor, он мне ничего дельного сначала не давал. Потом.... Через часа 3 где-то, он решил посмотреть скрытый .git каталог и нашел, что названия каталогов на гите отличаются от нейминга на MacOS. Проблема оказалась в том, что я на локальной системе поменял название каталога с "ui" на "UI", но в гит изменение не попало и на серваке лежал каталог "ui"! А маку же все равно, для его FS каталоги UI и ui аналогичны. В linux же файловая система чувствительна к регистру, поэтому путь не определялся. Такие дела. Итого, что я вам советую, друзья:
Обращайте внимание на файловые системы и, в целом, специфику ОС, с которыми вы работаете
# Добавляем задержку 200ms на интерфейс eth0
sudo tc qdisc add dev eth0 root netem delay 200ms
# Потери пакетов 10%
sudo tc qdisc change dev eth0 root netem loss 10%
Что можно эмулировать
Задержки, джиттер, потерю пакетов, дублирование и даже случайный порядок доставки. Это удобно для тестирования веб-сервисов, VoIP и игр.
Важно помнить
После тестов правила нужно очищать, иначе плохая сеть так и останется:
sudo tc qdisc del dev eth0 root
Вывод
Тестировать стоит не только код и логику приложения, но и его поведение в условиях сетевых проблем. Именно такие ситуации чаще всего ловят пользователей и самих разработчиков врасплох.
LinuxCamp | #utils
# Устанавливаем утилиту для выбора самого быстрого зеркала
sudo apt install netselect-apt
# Выбираем зеркало для стабильной версии Debian
sudo netselect-apt stable
# Делаем резервную копию текущего списка репозиториев
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
# Перемещаем новый файл sources.list в /etc/apt/
sudo mv sources.list /etc/apt/sources.list
# Обновляем индекс пакетов с нового зеркала
sudo apt update
Arch Linux
Тут нам поможет reflector. Он протестирует и отсортирует зеркала по скорости:
# Устанавливаем утилиту reflector
sudo pacman -S reflector
# Генерируем новый список зеркал:
sudo reflector --country "Russia" \
--age 12 \
--protocol https \
--sort rate \
--save /etc/pacman.d/mirrorlist
"age 12" — брать только зеркала, обновлённые за последние 12 часов.
"protocol https" — фильтруем только зеркала с защищённым соединением.
"sort rate" — сортировка по скорости загрузки (можно ещё --sort score или --sort delay).
"save /etc/pacman.d/mirrorlist" — сохраняем новый список зеркал, который будет использовать pacman.
Fedora
Всё ещё проще — включаем встроенную фишку:
config-manager --set-enabled fastestmirror
LinuxCamp | #utils"-r" перенаправит на случайную страницу "-f" отфильтрует инфуP.S это неправда и просто так, без понимания не выполняй эту команду, пожааалуйста) LinuxCamp | #utils
whois linux.org
На выходе данные о регистраторе, сроке действия, контактной информации (если она открыта):
Domain Name: linux.org Updated Date: 2024-05-16T04:04:59Z Creation Date: 1994-05-10T04:00:00Z Registry Expiry Date: 2034-05-11T04:00:00Z Registrar Abuse Contact Email: domain.operations@web.com Registrar Abuse Contact Phone: +1.9046806694 Name Server: lia.ns.cloudflare.com Name Server: mark.ns.cloudflare.com ...Где полезно Сисадмину, чтобы проверить дату окончания домена. Безопаснику, чтобы понять, кому принадлежит IP. Любому пользователю, чтобы не попасть на фишинговый сайт с поддельным адресом. Важно помнить Информация в whois может быть скрыта через защиту приватности, но технические данные (например, NS-записи) почти всегда доступны. LinuxCamp | #utils #network
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
