Please open Telegram to view this post
VIEW IN TELEGRAM
😁69💊11👍7🔥7❤5👏3❤🔥1
История о моменте, когда не понимаешь, что происходит
Запускал я однажды MVP нового проекта на новом домене. Сеть поднял, контейнеры крутятся, nginx настроен. Сидим все в офисе с wi-fi - всё летает, тестировщики даже с иностранными vpn тестируют, все ок.
Пошёл трафик, хоть и небольшой. Через пару дней бизнес: «С телефона сайт не открывается». Проверяю, реально, в мобильной сети таймаут.
Думаю: баг в коде? косяк в nginx? Меняю конфиги, даже делаю location / { return 200 "test"; }, но не помогает. Оказывается, что основной сайт компании при этом работает и с wi-fi, и с мобильного. Что-то тут нечисто🤔
И тут вкидывают новость: в РФ начали троттлить (ограничивать скорость) пул ip адресов Cloudflare, и работает это тоже неравномерно, в одной сети может быть все ок, в другой нет. Я конечно же подумал: "пф, как же хорошо, что у нас все домены идут через ServicePipe". Но все-таки решил сравнить DNS у доменов:
Результат:
— основной домен: ip провайдера/прокси (ServicePipe), у которого в РФ всё ок
— мой домен: IP-адреса Cloudflare, часть из которых блокировалась
Добавил проверку трассы:
Картина сложилась: мобильные операторы по пути до Cloudflare режут или троттлят соединение, а трафик на ServicePipe доходит без проблем.
В итоге перевели новый домен через тот же провайдер (SP), всё стабилизировалось. И да, ещё и денег заработали😊
LinuxCamp | #magadrovosex #network #story
Запускал я однажды MVP нового проекта на новом домене. Сеть поднял, контейнеры крутятся, nginx настроен. Сидим все в офисе с wi-fi - всё летает, тестировщики даже с иностранными vpn тестируют, все ок.
Пошёл трафик, хоть и небольшой. Через пару дней бизнес: «С телефона сайт не открывается». Проверяю, реально, в мобильной сети таймаут.
Думаю: баг в коде? косяк в nginx? Меняю конфиги, даже делаю location / { return 200 "test"; }, но не помогает. Оказывается, что основной сайт компании при этом работает и с wi-fi, и с мобильного. Что-то тут нечисто
И тут вкидывают новость: в РФ начали троттлить (ограничивать скорость) пул ip адресов Cloudflare, и работает это тоже неравномерно, в одной сети может быть все ок, в другой нет. Я конечно же подумал: "пф, как же хорошо, что у нас все домены идут через ServicePipe". Но все-таки решил сравнить DNS у доменов:
# Мой MVP-домен
dig +short my-new-domain.tld A
# Основной домен
dig +short main.company.tld A
Результат:
— основной домен: ip провайдера/прокси (ServicePipe), у которого в РФ всё ок
— мой домен: IP-адреса Cloudflare, часть из которых блокировалась
Добавил проверку трассы:
dig +trace my-new-domain.tld
dig +trace main.company.tld
Картина сложилась: мобильные операторы по пути до Cloudflare режут или троттлят соединение, а трафик на ServicePipe доходит без проблем.
В итоге перевели новый домен через тот же провайдер (SP), всё стабилизировалось. И да, ещё и денег заработали
LinuxCamp | #magadrovosex #network #story
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥27👍14❤9❤🔥1
btop: next level мониторинг процессов
Что такое btop:
Классика жанра top или htop. Но есть современная альтернатива - btop. Интерфейс более красивый, делится на несколько вкладок, и каждая отвечает за свою часть системы.
Установка:
Работа с процессами:
В btop можно смотреть список процессов, фильтровать и сортировать их, переключаться на дерево иерархии. Управление процессами тоже встроено: можно изменить приоритет или завершить задачу.
Поддерживается работа мышью, клик по нужному процессу сразу открывает меню действий.
Запускается просто командой:
Память и диски:
В отличие от htop, btop показывает полное распределение памяти: занятое, свободное, кэш, буферы и swap. Для дисков можно видеть не только объём, но и скорость чтения и записи в реальном времени.
Сеть:
Встроенный мониторинг сетевых интерфейсов позволяет сразу видеть скорость входящего и исходящего трафика.
На графиках удобно отслеживать пики нагрузки. В htop этого нет, там пришлось бы использовать отдельные инструменты, например iftop или nload.
Вывод:
btop объединяет в одном интерфейсе возможности htop, iotop и nload. При этом он остаётся лёгким по ресурсам и удобным в использовании.
Если нужен инструмент для мониторинга процессов, памяти, дисков и сети btop заметно опережает htop по возможностям.
LinuxCamp | #utils
Что такое btop:
Классика жанра top или htop. Но есть современная альтернатива - btop. Интерфейс более красивый, делится на несколько вкладок, и каждая отвечает за свою часть системы.
Установка:
sudo snap install btop
Работа с процессами:
В btop можно смотреть список процессов, фильтровать и сортировать их, переключаться на дерево иерархии. Управление процессами тоже встроено: можно изменить приоритет или завершить задачу.
Поддерживается работа мышью, клик по нужному процессу сразу открывает меню действий.
Запускается просто командой:
btop
Память и диски:
В отличие от htop, btop показывает полное распределение памяти: занятое, свободное, кэш, буферы и swap. Для дисков можно видеть не только объём, но и скорость чтения и записи в реальном времени.
Сеть:
Встроенный мониторинг сетевых интерфейсов позволяет сразу видеть скорость входящего и исходящего трафика.
На графиках удобно отслеживать пики нагрузки. В htop этого нет, там пришлось бы использовать отдельные инструменты, например iftop или nload.
Вывод:
btop объединяет в одном интерфейсе возможности htop, iotop и nload. При этом он остаётся лёгким по ресурсам и удобным в использовании.
Если нужен инструмент для мониторинга процессов, памяти, дисков и сети btop заметно опережает htop по возможностям.
LinuxCamp | #utils
👍35❤6🔥5❤🔥1
Последняя стадия принятия, она такая)
1. Борюсь с багами Nvidia
2. Плачу из-за багов Nvidia
3. Становлюсь одним целым с багами Nvidia
У меня на работе даже был кейс, когда нужно было под каждое отдельное GPU Nvidia в композиторе (picom) добавлять исключения на некоторые граф. эффекты, иначе все артефачило.
LinuxCamp | #memes
1. Борюсь с багами Nvidia
2. Плачу из-за багов Nvidia
3. Становлюсь одним целым с багами Nvidia
У меня на работе даже был кейс, когда нужно было под каждое отдельное GPU Nvidia в композиторе (picom) добавлять исключения на некоторые граф. эффекты, иначе все артефачило.
LinuxCamp | #memes
😭28😁12🫡7❤1💔1
Логи, краткий гайд по поиску и чтению
Логи — это «черный ящик» вашей системы. Умение с ними работать - ключевой навык для быстрого решения проблем. Разберем основы.
Где всё лежит?
Почти все логи живут в /var/log. Главные файлы:
/var/log/syslog/messages — общий журнал системы (ядра, службы, сеть).
/var/log/auth.log/secure — попытки входа (успешные и нет). Первое место для проверки безопасности.
/var/log/dmesg — сообщения от ядра и драйверов. Смотрите через одноименную команду, фильтруя по уровню, например, только ошибки:
Чем смотреть?
tail -f (следить в реальном времени), less (просмотр), grep (поиск).
lnav (Log File Navigator) — делает работу с логами гораздо удобнее.
Почему lnav?
Открывает несколько файлов сразу и архивы (.gz) напрямую.
Показывает гистограмму сообщений по времени (клавиша i).
Подсвечивает синтаксис для разных форматов логов.
Установка и использование:
LinuxCamp | #utils
Логи — это «черный ящик» вашей системы. Умение с ними работать - ключевой навык для быстрого решения проблем. Разберем основы.
Где всё лежит?
Почти все логи живут в /var/log. Главные файлы:
/var/log/syslog/messages — общий журнал системы (ядра, службы, сеть).
/var/log/auth.log/secure — попытки входа (успешные и нет). Первое место для проверки безопасности.
/var/log/dmesg — сообщения от ядра и драйверов. Смотрите через одноименную команду, фильтруя по уровню, например, только ошибки:
dmesg -l err
Чем смотреть?
tail -f (следить в реальном времени), less (просмотр), grep (поиск).
lnav (Log File Navigator) — делает работу с логами гораздо удобнее.
Почему lnav?
Открывает несколько файлов сразу и архивы (.gz) напрямую.
Показывает гистограмму сообщений по времени (клавиша i).
Подсвечивает синтаксис для разных форматов логов.
Установка и использование:
sudo apt install lnav
sudo lnav /var/log/syslog /var/log/auth.log
LinuxCamp | #utils
1👍38❤9❤🔥5
Зачем нужен Whois
Что это такое
whois - это утилита, которая показывает регистрационные данные о доменах и IP-адресах. Через неё можно узнать, кто владелец сайта, где зарегистрирован домен, какие у него NS-сервера и когда заканчивается регистрация.
Как работает
Запрос отправляется к публичным базам данных, где хранятся сведения о доменах и IP. Ответ может отличаться в зависимости от зоны (.ru, .com и т.д.), а часть информации скрывается из-за политики приватности.
Пример в консоли
На выходе данные о регистраторе, сроке действия, контактной информации (если она открыта):
Где полезно
Сисадмину, чтобы проверить дату окончания домена. Безопаснику, чтобы понять, кому принадлежит IP. Любому пользователю, чтобы не попасть на фишинговый сайт с поддельным адресом.
Важно помнить
Информация в whois может быть скрыта через защиту приватности, но технические данные (например, NS-записи) почти всегда доступны.
LinuxCamp | #utils #network
Что это такое
whois - это утилита, которая показывает регистрационные данные о доменах и IP-адресах. Через неё можно узнать, кто владелец сайта, где зарегистрирован домен, какие у него NS-сервера и когда заканчивается регистрация.
Как работает
Запрос отправляется к публичным базам данных, где хранятся сведения о доменах и IP. Ответ может отличаться в зависимости от зоны (.ru, .com и т.д.), а часть информации скрывается из-за политики приватности.
Пример в консоли
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
👍30❤9🔥6❤🔥1
Знакомо, когда "apt upgrade" ползет как черепаха?
Виноват не всегда провайдер. Часто - просто загруженное или далёкое зеркало, с которого вы качаете пакеты. Лечится это за 2 минуты! Давайте разберемся, как заставить пакеты летать:
Debian/Ubuntu
Ставим инструмент для поиска самого шустрого зеркала и сразу применяем его:
Arch Linux
Тут нам поможет reflector. Он протестирует и отсортирует зеркала по скорости:
"age 12" — брать только зеркала, обновлённые за последние 12 часов.
"protocol https" — фильтруем только зеркала с защищённым соединением.
"sort rate" — сортировка по скорости загрузки (можно ещё --sort score или --sort delay).
"save /etc/pacman.d/mirrorlist" — сохраняем новый список зеркал, который будет использовать pacman.
Fedora
Всё ещё проще — включаем встроенную фишку:
LinuxCamp | #utils
Виноват не всегда провайдер. Часто - просто загруженное или далёкое зеркало, с которого вы качаете пакеты. Лечится это за 2 минуты! Давайте разберемся, как заставить пакеты летать:
Debian/Ubuntu
Ставим инструмент для поиска самого шустрого зеркала и сразу применяем его:
# Устанавливаем утилиту для выбора самого быстрого зеркала
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
2👍35🔥15❤10❤🔥1
Эмуляция сетевых проблем в Linux
Зачем это нужно
Иногда надо проверить, как приложение ведёт себя при «плохом интернете»: потерях пакетов, задержках или ограниченной скорости. Для этого в Linux есть tc netem - инструмент управления трафиком.
Как работает
tc (Traffic Control) позволяет добавлять правила для сетевых интерфейсов. С помощью модуля netem можно симулировать нестабильную сеть прямо на локальной машине или сервере.
Пример команды
Что можно эмулировать
Задержки, джиттер, потерю пакетов, дублирование и даже случайный порядок доставки. Это удобно для тестирования веб-сервисов, VoIP и игр.
Важно помнить
После тестов правила нужно очищать, иначе плохая сеть так и останется:
Вывод
Тестировать стоит не только код и логику приложения, но и его поведение в условиях сетевых проблем. Именно такие ситуации чаще всего ловят пользователей и самих разработчиков врасплох.
LinuxCamp | #utils
Зачем это нужно
Иногда надо проверить, как приложение ведёт себя при «плохом интернете»: потерях пакетов, задержках или ограниченной скорости. Для этого в Linux есть tc netem - инструмент управления трафиком.
Как работает
tc (Traffic Control) позволяет добавлять правила для сетевых интерфейсов. С помощью модуля netem можно симулировать нестабильную сеть прямо на локальной машине или сервере.
Пример команды
# Добавляем задержку 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
6🔥42👍19❤11❤🔥1🤝1
Forwarded from Кирилл Жильников
Самый тупой баг
Рассказываю историю. Несколько дней назад я активно занимался деплоем своего "вайб-веб" приложения на сервак: переносил код и, самое ключевое, настраивал докер файлы. По указанной логике у нас при инициализации контейнера выполняется компиляция проекта:
Если все локально собирается, то и удаленно тоже должно (так мне изначально казалось). Для справки (потом будет очень важно):
Теперь давайте о проблеме:
— я выполняю на сервере "docker compose up --build -d app"
— у меня в конце срабатывает "npm run build"
— сборка на серваке падает с:
Проблема же, кажется, очевидная - не определяется импортируемый модуль. Значит, вероятно, что-то не так либо в экспорте, либо в пути до модуля.
Я смотрю структуру проекта на MacOS - такой путь существует, ну и сборка проходит успешно. Пытаюсь стучать в Cursor, он мне ничего дельного сначала не давал.
Потом.... Через часа 3 где-то, он решил посмотреть скрытый .git каталог и нашел, что названия каталогов на гите отличаются от нейминга на MacOS.
Проблема оказалась в том, что я на локальной системе поменял название каталога с "ui" на "UI", но в гит изменение не попало и на серваке лежал каталог "ui"!
А маку же все равно, для его FS каталоги UI и ui аналогичны. В linux же файловая система чувствительна к регистру, поэтому путь не определялся.
Такие дела. Итого, что я вам советую, друзья:
Рассказываю историю. Несколько дней назад я активно занимался деплоем своего "вайб-веб" приложения на сервак: переносил код и, самое ключевое, настраивал докер файлы. По указанной логике у нас при инициализации контейнера выполняется компиляция проекта:
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 же файловая система чувствительна к регистру, поэтому путь не определялся.
Такие дела. Итого, что я вам советую, друзья:
Обращайте внимание на файловые системы и, в целом, специфику ОС, с которыми вы работаете
👍46🔥15😁8✍4❤🔥2
rsync - железный инструмент для копирования
Главное преимущество rsync - он передаёт только изменённые части файлов. Если у тебя есть 100 ГБ данных и изменился один файл на 10 МБ, скопируется только этот кусок. Это экономит время и трафик, особенно при бэкапах или синхронизации между серверами.
Почему быстрее
В отличие от scp и cp, которые всегда переносят файл целиком, rsync использует алгоритм дельт. Он сравнивает файлы и гоняет только разницу. На больших проектах или медленных каналах это ускоряет процесс в разы.
Пример команды
– -a сохраняет структуру и права
– -v показывает процесс копирования
– -z сжимает данные при передаче
Полезные фишки
Вывод
rsync работает быстрее и экономнее, чем обычное scp, когда нужно не просто скопировать, а поддерживать актуальные копии данных. Он стал стандартом де-факто для бэкапов и синхронизации именно благодаря своей скорости и эффективности.
LinuxCamp | #utils
Главное преимущество rsync - он передаёт только изменённые части файлов. Если у тебя есть 100 ГБ данных и изменился один файл на 10 МБ, скопируется только этот кусок. Это экономит время и трафик, особенно при бэкапах или синхронизации между серверами.
Почему быстрее
В отличие от scp и cp, которые всегда переносят файл целиком, rsync использует алгоритм дельт. Он сравнивает файлы и гоняет только разницу. На больших проектах или медленных каналах это ускоряет процесс в разы.
Пример команды
rsync -avz /home/user/ user@server:/backup/
– -a сохраняет структуру и права
– -v показывает процесс копирования
– -z сжимает данные при передаче
Полезные фишки
# Сухой прогон (показать, что будет скопировано)
rsync -avzn /src/ /dst/
# Удалить лишнее в целевой папке
rsync -av --delete /src/ /dst/
Вывод
rsync работает быстрее и экономнее, чем обычное scp, когда нужно не просто скопировать, а поддерживать актуальные копии данных. Он стал стандартом де-факто для бэкапов и синхронизации именно благодаря своей скорости и эффективности.
LinuxCamp | #utils
👍62🔥13❤4
Торвальдс завез новое ядро - 6.17
Линус представил новую версию ядра. Она станет основой для осенних релизов: Ubuntu 25.10 и Fedora 43.
Что нового из интересного?
— файловая система Btrfs стала быстрее;
— добавлены системные вызовы file_getattr() и file_setattr();
— внедрены новые драйвера, собранные на Rust. Он у нас продолжает закрепляться как второй язык для разработки драйверов и модулей ядра;
— в драйверах расширена поддержка некоторых GPU: Qualcomm, Adreno, Mali;
— старая добрая EXT4 тоже не забыта и получила небольшие апдейты;
Если кому будет интересно, больше нововведений и правок у нас расписаны на OpenNet.
Что с 6.18?
Линус уже анонсировал работу над версией 6.18, которую ждём к концу года или началу следующего.
LinuxCamp | #news
Линус представил новую версию ядра. Она станет основой для осенних релизов: Ubuntu 25.10 и Fedora 43.
Что нового из интересного?
— файловая система Btrfs стала быстрее;
— добавлены системные вызовы file_getattr() и file_setattr();
— внедрены новые драйвера, собранные на Rust. Он у нас продолжает закрепляться как второй язык для разработки драйверов и модулей ядра;
— в драйверах расширена поддержка некоторых GPU: Qualcomm, Adreno, Mali;
— старая добрая EXT4 тоже не забыта и получила небольшие апдейты;
Если кому будет интересно, больше нововведений и правок у нас расписаны на OpenNet.
Что с 6.18?
Линус уже анонсировал работу над версией 6.18, которую ждём к концу года или началу следующего.
LinuxCamp | #news
🔥26❤7💊6🌭2🤔1
LVM и снапшоты: быстрый откат изменений
Если понимаешь что напортачишь на сервере, то лучше использовать стапшот. Благодаря этому можно вернуться без боли в интимных местах вернуть все как было.
Что такое LVM
LVM (Logical Volume Manager) - это слой между физическим диском и файловой системой. Он позволяет разбивать хранилище на гибкие логические тома, которые можно изменять на лету без перекатывания дисков.
Зачем нужны снапшоты
Снапшот - это снимок состояния тома в определённый момент времени. Он создаётся мгновенно и занимает мало места, так как хранит только изменения после создания.
Пример использования
Перед обновлением или экспериментами можно сделать снапшот:
Если что-то пошло не так можно вернуть систему в исходное состояние.
Важно помнить
- Снапшоты занимают место: если оно закончится, снапшот станет бесполезен.
- Это не замена полноценному бэкапу, а удобный способ быстро откатить изменения.
Вывод
LVM-снапшоты - мощный инструмент для админа. Они позволяют экспериментировать без страха сломать систему и экономят время на откатах.
LinuxCamp | #utils
Если понимаешь что напортачишь на сервере, то лучше использовать стапшот. Благодаря этому можно вернуться без боли в интимных местах вернуть все как было.
Что такое LVM
LVM (Logical Volume Manager) - это слой между физическим диском и файловой системой. Он позволяет разбивать хранилище на гибкие логические тома, которые можно изменять на лету без перекатывания дисков.
Зачем нужны снапшоты
Снапшот - это снимок состояния тома в определённый момент времени. Он создаётся мгновенно и занимает мало места, так как хранит только изменения после создания.
Пример использования
Перед обновлением или экспериментами можно сделать снапшот:
# создаём снапшот на 5G
lvcreate --size 5G --snapshot --name my_snap /dev/vg0/my_volume
# монтируем и работаем с ним
mount /dev/vg0/my_snap /mnt/snap
Если что-то пошло не так можно вернуть систему в исходное состояние.
Важно помнить
- Снапшоты занимают место: если оно закончится, снапшот станет бесполезен.
- Это не замена полноценному бэкапу, а удобный способ быстро откатить изменения.
Вывод
LVM-снапшоты - мощный инструмент для админа. Они позволяют экспериментировать без страха сломать систему и экономят время на откатах.
LinuxCamp | #utils
👍34❤11🔥6🤔1
YAST — пилот для openSUSE и SUSE
YaST (Yet another Setup Tool) — ваш персональный “центр управления полетами” для операционной системы.
Он позволяет настроить практически любые аспекты системы, минуя необходимость копаться в конфигурационных файлах и вводить бесконечные команды в терминале.
Что умеет:
— Настройка системы, пользователей и сети. Добавляй новых пользователей, меняй права, настраивай Wi-Fi, IP и DNS через понятное меню, без ручного редактирования.
— Управление пакетами и репозиториями. Устанавливай программы, подключай репозитории и следи за обновлениями.
— Разметка дисков и установка загрузчика. Хочешь разделить диск или поменять параметры загрузки? Всё можно сделать через удобный интерфейс.
— Службы, файрвол и безопасность. Контролируй, какие сервисы запускаются при старте системы, открывай нужные порты и регулируй уровень безопасности.
Примеры использования
Почему YaST важен:
YaST — это универсальный инструмент для администрирования openSUSE. Он значительно экономит время и делает настройку системы доступной для тех, кто предпочитает работать с GUI, а не с командной строкой.
LinuxCamp | #utils
YaST (Yet another Setup Tool) — ваш персональный “центр управления полетами” для операционной системы.
Он позволяет настроить практически любые аспекты системы, минуя необходимость копаться в конфигурационных файлах и вводить бесконечные команды в терминале.
Что умеет:
— Настройка системы, пользователей и сети. Добавляй новых пользователей, меняй права, настраивай Wi-Fi, IP и DNS через понятное меню, без ручного редактирования.
— Управление пакетами и репозиториями. Устанавливай программы, подключай репозитории и следи за обновлениями.
— Разметка дисков и установка загрузчика. Хочешь разделить диск или поменять параметры загрузки? Всё можно сделать через удобный интерфейс.
— Службы, файрвол и безопасность. Контролируй, какие сервисы запускаются при старте системы, открывай нужные порты и регулируй уровень безопасности.
Примеры использования
# Запуск основного интерфейса YaST в консоли
sudo yast
# Прямой вызов модуля настройки сети
sudo yast2 lan
# Прямой вызов модуля управления пользователями
sudo yast2 users
# Прямой вызов модуля настройки файрвола
sudo yast2 firewall
# Установка пакета nginx
sudo yast2 --install nginx
Почему YaST важен:
YaST — это универсальный инструмент для администрирования openSUSE. Он значительно экономит время и делает настройку системы доступной для тех, кто предпочитает работать с GUI, а не с командной строкой.
LinuxCamp | #utils
👍20❤6🔥5
Устанавливаем Docker на Ubuntu правильно
Просто копи паста в большинстве случаев будет достаточно. Если ты копировал случайные команды из форумов вроде "curl https://get.docker.com | sh", забудь. Так можно словить старую или небезопасную сборку.
Удаляем старые версии (если были)
Ставим зависимости
Добавляем официальный репозиторий Docker
Создаём папку под ключи:
Добавляем GPG-ключ Docker:
Добавляем репозиторий:
Устанавливаем Docker и Compose-плагины
Проверяем:
Если видишь строку вроде "Docker version 27.x.x", значит всё ок.
Разрешаем запуск Docker без sudo
После этого выйди из терминала и зайди снова. Проверяем:
Если всё работает — поздравляю, Docker установлен правильно и официально
Что не нужно делать
- Не устанавливай Docker через snap install docker - это урезанная версия.
- Не используй скрипты get.docker.com на продакшене.
- Не ставь docker.io это старая сборка из репозиториев Ubuntu.
Вывод
Эта инструкция полностью соответствует официальной документации Docker, можно просто скопировать все команды.
Ты получаешь последнюю стабильную версию Docker и Compose, всё обновляется из официального репозитория, и система останется чистой.
LinuxCamp | #utils #docker
Просто копи паста в большинстве случаев будет достаточно. Если ты копировал случайные команды из форумов вроде "curl https://get.docker.com | sh", забудь. Так можно словить старую или небезопасную сборку.
Удаляем старые версии (если были)
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
👍40🔥10❤9
Создание ssh-ключа: копипасти и не думай
Linux / macOS (bash, терминал)
Создать ключ (RSA, 4096 бит, стандартный путь
Нажми Enter, чтобы принять путь по умолчанию, при желании введи passphrase или оставь пустым. Далее добавить ключ в ssh-agent (рекомендуется, чтобы не вводить passphrase постоянно):
Копировать публичный ключ на сервер (самый простой вариант):
Если
Проверка подключения:
Windows (PowerShell, Windows 10/11 с OpenSSH)
Открыть PowerShell (не Git Bash), затем создать ключ:
Запустить агент и добавить ключ:
Скопировать публичный ключ на сервер (один вариант):
Проверка подключения:
Вывод
Теперь у вас есть ssh ключ для безопасного подключения к серверам.
LinuxCamp | #ssh
Linux / macOS (bash, терминал)
Создать ключ (RSA, 4096 бит, стандартный путь
~/.ssh/id_rsa
):ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Нажми Enter, чтобы принять путь по умолчанию, при желании введи passphrase или оставь пустым. Далее добавить ключ в ssh-agent (рекомендуется, чтобы не вводить passphrase постоянно):
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Копировать публичный ключ на сервер (самый простой вариант):
ssh-copy-id user@your_server
Если
ssh-copy-id
нет, можно так:cat ~/.ssh/id_rsa.pub | ssh user@your_server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
Проверка подключения:
ssh user@your_server
# либо явно указать ключ
ssh -i ~/.ssh/id_rsa user@your_server
Windows (PowerShell, Windows 10/11 с OpenSSH)
Открыть PowerShell (не Git Bash), затем создать ключ:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# Нажми Enter несколько раз, чтобы принять путь по умолчанию (C:\Users\<User>\.ssh\id_rsa), при желании введи passphrase
Запустить агент и добавить ключ:
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_rsa
Скопировать публичный ключ на сервер (один вариант):
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh user@your_server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
Проверка подключения:
ssh user@your_server
# или с явным ключом
ssh -i $env:USERPROFILE\.ssh\id_rsa user@your_server
Вывод
Теперь у вас есть ssh ключ для безопасного подключения к серверам.
LinuxCamp | #ssh
1👍24❤11🔥4😁1
Так вышла же новая Ubuntu 25.10!
Ребята из Canonical выпустили Questing Quokka. В целом, ничего революционного, но есть за что зацепиться глазом:
— Beta на базе ядра Linux 6.17
— Использует новое рабочее окружение GNOME 49, в котором разработчики окончательно отказались от поддержки сеансов на базе X11, сделав Wayland единственным вариантом
Это не значит, что X11-приложения остались без поддержки — для них используется XWayland
— Замена GNOME Terminal на Ptyxis (эмулятор терминала ориентирован на работу с контейнерами: Toolbox, Distrobox, Podman)
Радует высокой скоростью отрисовки благодаря Vulkan и OpenGL
— Замена GNU Coreutils на Rust Coreutils (uutils) и sudo на sudo-rs. Эти инструменты написаны на Rust
Вывод
Это НЕ LTS-версия. Её поддержат всего до июля 2026-го. Так что для серьёзных, если нужна стабильность и поддержка, можно использовать 24.04 (выпуск поддержки до апреля 2029 года).
Следующий LTS уже получил имя - Resolute Raccoon (Решительный Енот). Будет в апреле 2026.
LinuxCamp | #news
Ребята из Canonical выпустили Questing Quokka. В целом, ничего революционного, но есть за что зацепиться глазом:
— Beta на базе ядра Linux 6.17
— Использует новое рабочее окружение GNOME 49, в котором разработчики окончательно отказались от поддержки сеансов на базе X11, сделав Wayland единственным вариантом
Это не значит, что X11-приложения остались без поддержки — для них используется XWayland
— Замена GNOME Terminal на Ptyxis (эмулятор терминала ориентирован на работу с контейнерами: Toolbox, Distrobox, Podman)
Радует высокой скоростью отрисовки благодаря Vulkan и OpenGL
— Замена GNU Coreutils на Rust Coreutils (uutils) и sudo на sudo-rs. Эти инструменты написаны на Rust
Вывод
Это НЕ LTS-версия. Её поддержат всего до июля 2026-го. Так что для серьёзных, если нужна стабильность и поддержка, можно использовать 24.04 (выпуск поддержки до апреля 2029 года).
Следующий LTS уже получил имя - Resolute Raccoon (Решительный Енот). Будет в апреле 2026.
LinuxCamp | #news
👍22🔥7❤5💊4
Как выйти из vim не переустанавливая сервер?
vim - это встроенный в Linux текстовый редактор. Он есть почти везде и нужен, когда GUI-редакторов нет под рукой.
Как открыть и выйти
Ты попадаешь в Normal-режим, тут текст вводиться не будет, клавиши выполняют команды. Чтобы выйти:
(если что-то не работает нажми Esc и попробуй ещё раз).
Как редактировать
Чтобы начать печатать текст, надо перейти в Insert-режим, для этого достаточно нажать что-нибудь из этого:
Когда закончил редактирование нажми Esc, чтобы вернуться обратно в Normal.
Как двигаться
В Normal-режиме работают стрелки, но дляизвращенцев кого-то придумали:
А ещё (команды работают в Normal-режиме, нажмите Esc):
Как правитьк сожалению не миром
Полезная имба
Вывод
vim'ом оказывается можно пользоваться и без использования транквилизаторов, главное сначала разобраться :)
Ставь реакцию, если разобрался!
LinuxCamp | #utils
vim - это встроенный в Linux текстовый редактор. Он есть почти везде и нужен, когда GUI-редакторов нет под рукой.
Как открыть и выйти
vim file.txt
Ты попадаешь в Normal-режим, тут текст вводиться не будет, клавиши выполняют команды. Чтобы выйти:
:q — выйти
:q! — выйти без сохранения
:wq — сохранить и выйти
(если что-то не работает нажми Esc и попробуй ещё раз).
Как редактировать
Чтобы начать печатать текст, надо перейти в Insert-режим, для этого достаточно нажать что-нибудь из этого:
i — вставить перед курсором
a — вставить после курсора
o — вставить новую строку и остаться на ней
Когда закончил редактирование нажми Esc, чтобы вернуться обратно в Normal.
Как двигаться
В Normal-режиме работают стрелки, но для
h — влево j — вниз
k — вверх l — вправо
А ещё (команды работают в Normal-режиме, нажмите Esc):
0 — в начало строки
$ — в конец строки
gg — в начало файла
G — в конец файла
Как править
dd — удалить строку
yy — скопировать строку
p — вставить
u — отменить
Ctrl + r — вернуть отменённое
Полезная имба
:set number — показать номера строк
:syntax on — включить подсветку
Вывод
vim'ом оказывается можно пользоваться и без использования транквилизаторов, главное сначала разобраться :)
Ставь реакцию, если разобрался!
LinuxCamp | #utils
👍77😁36🔥16❤8🤯4