Устанавливаем 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
👍49🔥13❤11
Создание 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👍30❤16🔥6😁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
👍25🔥8❤7💊5
Как выйти из 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
50👍111😁46🔥19❤13🤯5💔1
Все флаги курла! (почти)
Самые нужные флаги
1. -X - вставляешь метод запроса
2. -d - отправляешь данные (автоматически включает POST)
3. -H - заголовок (хедер, header)
4. -i / -I - показать заголовки ответа (-I - только их)
5. -L - следовать за редиректами
6. -o / -O - сохранить файл (-O - с оригинальным именем, -o <name.txt> - со своим именем)
7. -s - тихий режим (никаких прогресс-баров)
8. -v / -vvv - подробный вывод (диагностика)
9. -u - авторизация
10. -k - игнорировать SSL-ошибки (осторожно!)
Комбинируй флаги:
Вывод:
curl - твой HTTP-отладчик, загрузчик и дебаггер в одной команде. Освоишь 10 ключей и ты уже мастер.
LinuxCamp | #utils
Самые нужные флаги
1. -X - вставляешь метод запроса
curl -X POST https://api.site.com/data
2. -d - отправляешь данные (автоматически включает POST)
curl -d "name=Chirill&age=45" https://api.site.com/user
3. -H - заголовок (хедер, header)
curl -H "Authorization: Bearer TOKEN" https://api.site.com/me
4. -i / -I - показать заголовки ответа (-I - только их)
curl -I https://example.com
5. -L - следовать за редиректами
curl -L http://site.com
6. -o / -O - сохранить файл (-O - с оригинальным именем, -o <name.txt> - со своим именем)
curl -O https://example.com/file.zip
7. -s - тихий режим (никаких прогресс-баров)
curl -s https://example.com
8. -v / -vvv - подробный вывод (диагностика)
curl -v https://api.site.com
9. -u - авторизация
curl -u user:password https://site.org
10. -k - игнорировать SSL-ошибки (осторожно!)
curl -k https://selfsigned.local
Комбинируй флаги:
curl -s -L -H "Accept: application/json" https://api.exnode.ru/articles
Вывод:
curl - твой HTTP-отладчик, загрузчик и дебаггер в одной команде. Освоишь 10 ключей и ты уже мастер.
LinuxCamp | #utils
15👍53❤11🔥10
Почему же тормозит сервер...
Бывает, начинаешь замечать странные вещи: страницы грузятся медленно, CPU не забит, память вроде есть, а система еле дышит.
В таких случаях стандартные утилиты вроде htop бывают бессильны — нужен детальный разбор.
Я собрал 3 Bash-скрипта, которые помогают быстро найти виновника — будь то память, диск или сеть:
1. memory_analysis.sh — поиск аномалий памяти. Показывает не просто free -m, а:
— какие процессы реально жрут RAM (по RSS);
— кто держит «грязную» память, не сбрасывая её на диск;
— насколько система страдает от нехватки памяти (PSI).
2. io_analyzer.sh — анализ дискового I/O. Находит процессы, которые активно грузят диск, и показывает:
—статистику I/O по устройствам (iostat);
— кто пишет и читает больше всех (pidstat -dl);
— какие процессы открыли тысячи файлов или гигантские логи (>100MB).
3. network_analysis.sh — детектор сетевых аномалий. Помогает вычислить сетевые странности:
— кто держит слишком много соединений;
— какие процессы слушают нестандартные порты;
— где растёт число ошибок и сброшенных пакетов.
Итог:
Эти три скрипта — не замена Zabbix или Prometheus. Это лёгкий, но мощный инструмент диагностики для VPS и продов без сложных систем мониторинга.
LinuxCamp | #utils
Бывает, начинаешь замечать странные вещи: страницы грузятся медленно, CPU не забит, память вроде есть, а система еле дышит.
В таких случаях стандартные утилиты вроде htop бывают бессильны — нужен детальный разбор.
Я собрал 3 Bash-скрипта, которые помогают быстро найти виновника — будь то память, диск или сеть:
1. memory_analysis.sh — поиск аномалий памяти. Показывает не просто free -m, а:
— какие процессы реально жрут RAM (по RSS);
— кто держит «грязную» память, не сбрасывая её на диск;
— насколько система страдает от нехватки памяти (PSI).
Если растёт full в /proc/pressure/memory — всё, система уже задыхается.
2. io_analyzer.sh — анализ дискового I/O. Находит процессы, которые активно грузят диск, и показывает:
—статистику I/O по устройствам (iostat);
— кто пишет и читает больше всех (pidstat -dl);
— какие процессы открыли тысячи файлов или гигантские логи (>100MB).
Если %util ≈ 100% и await высокий — диск — узкое место.
3. network_analysis.sh — детектор сетевых аномалий. Помогает вычислить сетевые странности:
— кто держит слишком много соединений;
— какие процессы слушают нестандартные порты;
— где растёт число ошибок и сброшенных пакетов.
Полезно при подозрении на DDoS, утечки соединений или забытые сервисы.
Итог:
Эти три скрипта — не замена Zabbix или Prometheus. Это лёгкий, но мощный инструмент диагностики для VPS и продов без сложных систем мониторинга.
LinuxCamp | #utils
👍40🔥6👏4❤2
`>`, `2>`, `&1`, `2>&1` - что это вообще такое?
Эти команды и символы часто можно встретить в терминале или скриптах. Разбираем по порядку, что означает каждый знак, куда уходит вывод и почему от порядка зависит результат.
Стандартные потоки
Каждая команда в Linux работает с тремя потоками. Читает из stdin, пишет результат в stdout и выводит ошибки в stderr. Перенаправление (>, 2>, 2>&1) - это способ указать, куда именно должен идти каждый поток: в файл, в терминал или в никуда.
Символ '>' - направить вывод в файл
'>' создаёт (или перезаписывает) файл и отправляет туда стандартный вывод. Чтобы не затирать файл используйте '>>', он вставляет в конец:
Символ '2>' - то же самое, но для ошибок
Здесь '2' - это номер потока stderr. Ошибки уйдут в errors.txt, а обычный вывод останется в терминале.
Объединение потоков: '2>&1'
'2>&1' значит отправить ошибки ('2') туда же, куда идёт обычный вывод ('1'). Порядок важен! Если написать наоборот (2>&1 > all.txt), ошибки всё равно пойдут в консоль, потому что в момент перенаправления stdout ещё не указывает на файл.
Сокращённая запись: '&>'
Эквивалент предыдущей команды, оба потока в один файл. Работает только в bash и zsh. Если ваш скрипт должен выполняться в sh или dash, используйте классическую форму.
/dev/null - "чёрная дыра"
Команда выполняется, но вывод и ошибки никуда не сохраняются. Удобно для cron-задач, но не для отладки.
Вывод
Понимание потоков позволит писать устойчивые shell-скрипты и не терять данные.
LinuxCamp | #shell
Эти команды и символы часто можно встретить в терминале или скриптах. Разбираем по порядку, что означает каждый знак, куда уходит вывод и почему от порядка зависит результат.
Стандартные потоки
1 - stdout (нормальный вывод)
2 - stderr (ошибки)
Каждая команда в Linux работает с тремя потоками. Читает из stdin, пишет результат в stdout и выводит ошибки в stderr. Перенаправление (>, 2>, 2>&1) - это способ указать, куда именно должен идти каждый поток: в файл, в терминал или в никуда.
Символ '>' - направить вывод в файл
echo "hello" > log.txt
'>' создаёт (или перезаписывает) файл и отправляет туда стандартный вывод. Чтобы не затирать файл используйте '>>', он вставляет в конец:
echo "new line" >> log.txt
Символ '2>' - то же самое, но для ошибок
command 2> errors.txt
Здесь '2' - это номер потока stderr. Ошибки уйдут в errors.txt, а обычный вывод останется в терминале.
Объединение потоков: '2>&1'
command > all.txt 2>&1
'2>&1' значит отправить ошибки ('2') туда же, куда идёт обычный вывод ('1'). Порядок важен! Если написать наоборот (2>&1 > all.txt), ошибки всё равно пойдут в консоль, потому что в момент перенаправления stdout ещё не указывает на файл.
Сокращённая запись: '&>'
command &> all.txt
Эквивалент предыдущей команды, оба потока в один файл. Работает только в bash и zsh. Если ваш скрипт должен выполняться в sh или dash, используйте классическую форму.
/dev/null - "чёрная дыра"
command > /dev/null 2>&1
Команда выполняется, но вывод и ошибки никуда не сохраняются. Удобно для cron-задач, но не для отладки.
Вывод
Понимание потоков позволит писать устойчивые shell-скрипты и не терять данные.
LinuxCamp | #shell
👍60❤17🔥9🦄3🎉1
Да зачем проверять эти ваши ИИ агенты... И так же прекрасно справляются)
Чтоб не приходилось переводить:
LinuxCamp | #memes
Чтоб не приходилось переводить:
«ты создал каталог ~ в этом проекте… но ~ должна быть моей домашней директорией»
«о нет! ты совершенно прав! я создал каталог ~ вместо того, чтобы использовать твою реальную домашнюю директорию. Сейчас исправлю: rm -rf ~/»
LinuxCamp | #memes
😁82🔥11❤5👍5🤣4
Вышла Mobian 13.0! Debian на мобилу
Проект Mobian - дистрибутив, который превращает мобильные устройства в карманные компьютеры на базе Debian.
Теперь можно установить на поддерживаемые смартфоны и планшеты почти стоковый Debian с удобными мобильными оболочками: Phosh (на базе GNOME) или KDE Plasma Mobile.
Всё работает на ядре Linux 6.12 и пакетной базе свежего Debian 13.
Что нового в Mobian 13.0:
— Основа Debian 13 «Trixie»
— Современное ядро — для большинства устройств используется Linux 6.12.
— Обновлённые оболочки — Phosh 46.0 и KDE Plasma Mobile 6.3.
— Широкий список устройств: готовые образы есть для PinePhone, PinePhone Pro, Purism Librem 5, для популярных Android-смартфонов от Google, OnePlus и Xiaomi.
LinuxCamp | #news
Проект Mobian - дистрибутив, который превращает мобильные устройства в карманные компьютеры на базе Debian.
Теперь можно установить на поддерживаемые смартфоны и планшеты почти стоковый Debian с удобными мобильными оболочками: Phosh (на базе GNOME) или KDE Plasma Mobile.
Всё работает на ядре Linux 6.12 и пакетной базе свежего Debian 13.
Что нового в Mobian 13.0:
— Основа Debian 13 «Trixie»
— Современное ядро — для большинства устройств используется Linux 6.12.
— Обновлённые оболочки — Phosh 46.0 и KDE Plasma Mobile 6.3.
— Широкий список устройств: готовые образы есть для PinePhone, PinePhone Pro, Purism Librem 5, для популярных Android-смартфонов от Google, OnePlus и Xiaomi.
LinuxCamp | #news
👍42🔥14❤9🤔2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁73🔥17👍8❤5
Консольный проводник: broot
Интерактивная альтернатива ls и cd, которая показывает дерево директорий прямо в терминале, позволяет искать файлы на лету и мгновенно переходить в любую папку. Чтобы вместо бесконечных ls, cd, ls видеть всё дерево сразу, можно использовать broot.
Запуск команды
Откроется интерактивный интерфейс, где можно раскрывать папки, искать файлы по имени и тут же открывать их. Инструмент поддерживает вывод нескольких деревьев одновременно, а флаг -s добавляет отображение размеров каталогов, что удобно при анализе занимаемого места.
Быстрый переход
Одна клавиша и ты в нужной папке:
broot сам подставит нужную команду cd path/to/dir.
Поиск и фильтры
Встроенный фильтр работает так же удобно, как в ripgrep (rg): просто начинаешь печатать и дерево моментально сужается до нужных файлов.
Установка через cargo
Самый универсальный способ поставить через Rust:
Если будут проблемы с версией rust:
После установки добавь бинарь в PATH:
Вывод
broot - это tree, find, cd и fzf в одном флаконе. Благодаря встроенным фильтрам, поиску и отображению размеров папок он превращает терминал в файловый менеджер. Попробовать стоит, особенно если устал блуждать по ls и cd.
LinuxCamp | #utils
Интерактивная альтернатива ls и cd, которая показывает дерево директорий прямо в терминале, позволяет искать файлы на лету и мгновенно переходить в любую папку. Чтобы вместо бесконечных ls, cd, ls видеть всё дерево сразу, можно использовать broot.
Запуск команды
broot
Откроется интерактивный интерфейс, где можно раскрывать папки, искать файлы по имени и тут же открывать их. Инструмент поддерживает вывод нескольких деревьев одновременно, а флаг -s добавляет отображение размеров каталогов, что удобно при анализе занимаемого места.
Быстрый переход
Одна клавиша и ты в нужной папке:
:cd
broot сам подставит нужную команду cd path/to/dir.
Поиск и фильтры
Встроенный фильтр работает так же удобно, как в ripgrep (rg): просто начинаешь печатать и дерево моментально сужается до нужных файлов.
Установка через cargo
Самый универсальный способ поставить через Rust:
sudo apt install -y build-essential libxcb1-dev libxcb-render0-dev \
libxcb-shape0-dev libxcb-xfixes0-dev cargo
cargo install --locked broot
Если будут проблемы с версией rust:
curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
rustup update stable
После установки добавь бинарь в PATH:
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Вывод
broot - это tree, find, cd и fzf в одном флаконе. Благодаря встроенным фильтрам, поиску и отображению размеров папок он превращает терминал в файловый менеджер. Попробовать стоит, особенно если устал блуждать по ls и cd.
LinuxCamp | #utils
❤21👍16🔥6
Мониторинг с веб-версией за 1 команду
Когда нужно сделать серьезный мониторинг, пригодится инструмент, который показывает всё сразу: загрузку процессора, памяти, сети, дисков, температуру и даже Docker-контейнеры. Это glances.
Что это такое
glances - системный монитор с web-интерфейсом и консольным отображением из коробки. Он написан на Python, работает в Linux, macOS и Windows, и адаптируется под размер терминала, показывает ровно столько данных, сколько помещается.
Запуск
Откроется интерактивная панель, где видны все метрики системы в реальном времени.
Можно листать стрелками, сортировать процессы и даже отслеживать температуру и I/O.
Web-интерфейс
Можно смотреть метрики прямо из браузера:
После запуска открой http://<ip>:61208 и получишь панель мониторинга в реальном времени.
Установка
или, если хочешь последнюю версию:
Дополнительно
glances поддерживает экспорт данных в Prometheus, InfluxDB, Elasticsearch и MQTT, удобно для централизованного мониторинга.
Вывод
glances - это как htop, iostat, sensors и netstat в одном окне. Лёгкий, понятный и идеален, если хочешь быстро понять, что происходит с системой.
LinuxCamp | #utils
Когда нужно сделать серьезный мониторинг, пригодится инструмент, который показывает всё сразу: загрузку процессора, памяти, сети, дисков, температуру и даже Docker-контейнеры. Это glances.
Что это такое
glances - системный монитор с web-интерфейсом и консольным отображением из коробки. Он написан на Python, работает в Linux, macOS и Windows, и адаптируется под размер терминала, показывает ровно столько данных, сколько помещается.
Запуск
glances
Откроется интерактивная панель, где видны все метрики системы в реальном времени.
Можно листать стрелками, сортировать процессы и даже отслеживать температуру и I/O.
Web-интерфейс
Можно смотреть метрики прямо из браузера:
glances -w
После запуска открой http://<ip>:61208 и получишь панель мониторинга в реальном времени.
Установка
sudo apt install glances
или, если хочешь последнюю версию:
pip install glances
Дополнительно
glances поддерживает экспорт данных в Prometheus, InfluxDB, Elasticsearch и MQTT, удобно для централизованного мониторинга.
Вывод
glances - это как htop, iostat, sensors и netstat в одном окне. Лёгкий, понятный и идеален, если хочешь быстро понять, что происходит с системой.
LinuxCamp | #utils
👍37❤11🔥11
Куда делось место на диске?
Иногда du -h показывает тонны цифр, но понять, где заполнена память всё равно сложно. Для этого есть dust - современная замена du, которая красиво визуализирует использование диска прямо в терминале.
Что делает dust
Он сортирует директории по размеру и рисует дерево, где видно, кто занимает больше всего места.
Вывод читается с первого взгляда: чем глубже, тем меньше папка, а самая тяжёлая подсвечивается ярче.
Примеры
Показать топ по текущей директории:
Посчитать размер домашней папки без скрытых файлов:
Показать только верхние 10 результатов:
Установка
Вывод
dust - это du, которому сделали интерфейс для людей. Он помогает быстро понять, куда уходит место, и очистить диск без паники.
LinuxCamp | #utils
Иногда du -h показывает тонны цифр, но понять, где заполнена память всё равно сложно. Для этого есть dust - современная замена du, которая красиво визуализирует использование диска прямо в терминале.
Что делает dust
Он сортирует директории по размеру и рисует дерево, где видно, кто занимает больше всего места.
dust
Вывод читается с первого взгляда: чем глубже, тем меньше папка, а самая тяжёлая подсвечивается ярче.
Примеры
Показать топ по текущей директории:
dust .
Посчитать размер домашней папки без скрытых файлов:
dust -d 1 ~
Показать только верхние 10 результатов:
dust -n 10
Установка
sudo apt install dust
Вывод
dust - это du, которому сделали интерфейс для людей. Он помогает быстро понять, куда уходит место, и очистить диск без паники.
LinuxCamp | #utils
👍53🔥12❤11
Передать файл по одному слову
Можно передать файл, не зная IP, SSH-доступа или домена сервера получателя. Утилита croc сама установит защищённое соединение и мгновенно отправит файлы или текст прямо из терминала, используя шифрование и одноразовый код
Пример использования
Отправитель запускает:
После выводится одноразовый код. Получатель вводит:
И всё! Файл мгновенно передаётся по защищённому каналу P2P(крипта, арбитраж, темки) , без возни с адресами и ключами
Установка
Почему это круто
croc не требует FTP, SCP, VPN, использует end-to-end шифрование (AES-256), работает между любыми ОС и можно пересылать даже директории
Микро-лайфхак
Чтобы не палить одноразовый код в истории, запусти просто croc в терминале и введи код интерактивно. Но также можно команду с пробела (в большинстве shell-ов это не сохранит её в history)
Вывод:
croс - гига-удобная утилита для передачи файлов вообще ничего не понимая в этой жизни, нужно написать 2 очень простые команды и очень аккуратно скопировать и вставить одноразовый код.
Выключайте мозги, товарищи! Скоро ai нас уничтожит и мозги нам не понадобятся
LinuxCamp | #utils
Можно передать файл, не зная IP, SSH-доступа или домена сервера получателя. Утилита croc сама установит защищённое соединение и мгновенно отправит файлы или текст прямо из терминала, используя шифрование и одноразовый код
Пример использования
Отправитель запускает:
croc send magadrovosex.omg
После выводится одноразовый код. Получатель вводит:
croc <выданный код>
И всё! Файл мгновенно передаётся по защищённому каналу P2P
Установка
curl https://getcroc.schollz.com | bash
Почему это круто
croc не требует FTP, SCP, VPN, использует end-to-end шифрование (AES-256), работает между любыми ОС и можно пересылать даже директории
Микро-лайфхак
Чтобы не палить одноразовый код в истории, запусти просто croc в терминале и введи код интерактивно. Но также можно команду с пробела (в большинстве shell-ов это не сохранит её в history)
Вывод:
croс - гига-удобная утилита для передачи файлов вообще ничего не понимая в этой жизни, нужно написать 2 очень простые команды и очень аккуратно скопировать и вставить одноразовый код.
Выключайте мозги, товарищи! Скоро ai нас уничтожит и мозги нам не понадобятся
LinuxCamp | #utils
6🤔33❤11🔥6👍4🐳2🙈1
Open 3D Engine 25.10
Немного вводных
Open 3D Engine - игровой движок, пригодный для разработки современных игр класса AAA и высокоточных симуляторов.
Исходный код движка O3DE был открыт в июле 2021 года компанией Amazon, сам код написан на C++.
Из нового в 25.10 (для linux)
— Размер установочного пакета сокращён на 40%
— Обеспечена совместимость со стандартом C++ 20
— MOC (Masked Occlusion Culling) экономит ресурсы, не рисуя то, что перекрыто другими объектами
— Motion Blur добавляет размытие для движущихся объектов
— В модуль OpenXR добавлены компоненты для контроллеров виртуальной реальности
Детальная статья по ссылке
LinuxCamp | #news
Немного вводных
Open 3D Engine - игровой движок, пригодный для разработки современных игр класса AAA и высокоточных симуляторов.
Исходный код движка O3DE был открыт в июле 2021 года компанией Amazon, сам код написан на C++.
Из нового в 25.10 (для linux)
— Размер установочного пакета сокращён на 40%
— Обеспечена совместимость со стандартом C++ 20
— MOC (Masked Occlusion Culling) экономит ресурсы, не рисуя то, что перекрыто другими объектами
— Motion Blur добавляет размытие для движущихся объектов
— В модуль OpenXR добавлены компоненты для контроллеров виртуальной реальности
Детальная статья по ссылке
LinuxCamp | #news
👍22🔥10❤5🥴1
This media is not supported in your browser
VIEW IN TELEGRAM
И все это для того, чтобы при загрузке произошёл очередной "Kernel panic", и надо было подключить ноутбук с Windows, чтобы найти решение.
Особенно актуально для любителей Арча))
LinuxCamp | #memes
Особенно актуально для любителей Арча))
LinuxCamp | #memes
1😁41👍12❤7🤪1💊1
Менеджер паролей для linux
Если не хочешь хранить пароли в .env или светить их в коде, попробуй pass. Это минималистичный менеджер паролей, который хранит каждый пароль в отдельном GPG-файле, зашифрованном твоим GPG-ключом.
Установка:
Команда pass init связывает хранилище с твоим ключом, только им можно будет расшифровать пароли.
Добавление и просмотр:
Пароли лежат в ~/.password-store. Это обычные файлы, но зашифрованные GPG. Структура каталогов повторяет иерархию имён, поэтому всё выглядит логично и читаемо.
Использование в скриптах:
Так можно передавать пароли в CI или автоматизацию без риска утечек, они подгружаются только во время выполнения.
pass легко интегрируется в CI, shell-скрипты и git. Все шифруется твоим ключом, все под твоим контролем.
LinuxCamp | #utils
Если не хочешь хранить пароли в .env или светить их в коде, попробуй pass. Это минималистичный менеджер паролей, который хранит каждый пароль в отдельном GPG-файле, зашифрованном твоим GPG-ключом.
Установка:
sudo apt install pass gpg
gpg --gen-key
pass init <имя_ключа>
Команда pass init связывает хранилище с твоим ключом, только им можно будет расшифровать пароли.
Добавление и просмотр:
pass insert github.com
pass show github.com
Пароли лежат в ~/.password-store. Это обычные файлы, но зашифрованные GPG. Структура каталогов повторяет иерархию имён, поэтому всё выглядит логично и читаемо.
Использование в скриптах:
Так можно передавать пароли в CI или автоматизацию без риска утечек, они подгружаются только во время выполнения.
#!/bin/bash
DOCKER_PASS=$(pass show dev/docker)
echo "$DOCKER_PASS" | docker login -u myuser --password-stdin
pass легко интегрируется в CI, shell-скрипты и git. Все шифруется твоим ключом, все под твоим контролем.
LinuxCamp | #utils
1👍32🔥17❤7🥴1
Запуск Windows-приложений на Linux: Wine
Если ты сидишь на Linux, но время от времени нуждаешься в каких-нибудь программах, которые есть только под винде — используй Wine
Он ничего не эмулирует, он транслирует код из одной среды, в другую - переводит вызовы Windows API в POSIX-вызовы "на лету" — из-за этого программы работают быстрее и потребляют меньше ресурсов.
Проект запустили ещё в 1993 году, а стабильный релиз вышел в 2008. Это полностью открытое ПО, которое поддерживают компании вроде CodeWeavers.
Важно что:
— не всё работает идеально, иногда придётся повозиться с настройками
— стабильность зависит от конкретной программы и драйверов
Подробный гайд по установке и использованию wine.
LinuxCamp | #utils
Если ты сидишь на Linux, но время от времени нуждаешься в каких-нибудь программах, которые есть только под винде — используй Wine
Он ничего не эмулирует, он транслирует код из одной среды, в другую - переводит вызовы Windows API в POSIX-вызовы "на лету" — из-за этого программы работают быстрее и потребляют меньше ресурсов.
Отсюда и следует его полное название, которое является акронимом - Wine Is Not an Emulator.
Проект запустили ещё в 1993 году, а стабильный релиз вышел в 2008. Это полностью открытое ПО, которое поддерживают компании вроде CodeWeavers.
Важно что:
— не всё работает идеально, иногда придётся повозиться с настройками
— стабильность зависит от конкретной программы и драйверов
Подробный гайд по установке и использованию wine.
LinuxCamp | #utils
🔥26❤9👍9🤔2
perf: микроскоп для производительности ядра
perf - инструмент, встроенный прямо в ядро Linux. Он показывает, куда утекает производительность: какие функции жрут CPU, сколько контекстных переключений, какие системные вызовы самые медленные. Не требует установки пакетов, а просто:
и ты видишь, где реально горит процессор.
Замер производительности программы
Хочешь понять, где тормозит твой код запускаешь:
Первая команда собирает стек вызовов с нагрузкой. Вторая показывает отчёт: на какие функции ушло больше всего времени.
Анализ системных вызовов
Чтобы увидеть, что делает процесс на уровне ядра:
Выведет количество системных вызовов, переключений контекста и кэшей. Это то, что top не покажет.
Вывод
perf - инструмент, который показывает, чем занята твоя система. Его используют, когда нужно найти горячие участки кода, понять, куда уходит процессорное время в базе данных, или оптимизировать Nginx и PostgreSQL под реальные боевые нагрузки.
LinuxCamp | #utils
perf - инструмент, встроенный прямо в ядро Linux. Он показывает, куда утекает производительность: какие функции жрут CPU, сколько контекстных переключений, какие системные вызовы самые медленные. Не требует установки пакетов, а просто:
sudo perf top
и ты видишь, где реально горит процессор.
Замер производительности программы
Хочешь понять, где тормозит твой код запускаешь:
sudo perf record -g ./my_program
sudo perf report
Первая команда собирает стек вызовов с нагрузкой. Вторая показывает отчёт: на какие функции ушло больше всего времени.
Анализ системных вызовов
Чтобы увидеть, что делает процесс на уровне ядра:
sudo perf stat -p $(pidof nginx)
Выведет количество системных вызовов, переключений контекста и кэшей. Это то, что top не покажет.
Вывод
perf - инструмент, который показывает, чем занята твоя система. Его используют, когда нужно найти горячие участки кода, понять, куда уходит процессорное время в базе данных, или оптимизировать Nginx и PostgreSQL под реальные боевые нагрузки.
LinuxCamp | #utils
2🔥47👍18❤7