Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on null in /var/www/tgoop/function.php on line 65
525 - Telegram Web
Telegram Web
По слухам из очень "надежных" источников. После того, как упал AWS, попросили того самого (единственного) разраба, который координирует ИИ переподнять сервера.

Картина выглядела примерно так 📤

LinuxCamp | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁70🔥5🌚41🤔1💯1
Передать файл по одному слову

Можно передать файл, не зная 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🤔3311🔥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
👍22🔥105🥴1
This media is not supported in your browser
VIEW IN TELEGRAM
И все это для того, чтобы при загрузке произошёл очередной "Kernel panic", и надо было подключить ноутбук с Windows, чтобы найти решение.

Особенно актуально для любителей Арча))

LinuxCamp | #memes
1😁41👍127🤪1💊1
Менеджер паролей для linux

Если не хочешь хранить пароли в .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🔥177🥴1
Запуск Windows-приложений на Linux: Wine

Если ты сидишь на Linux, но время от времени нуждаешься в каких-нибудь программах, которые есть только под винде — используй Wine

Он ничего не эмулирует, он транслирует код из одной среды, в другую - переводит вызовы Windows API в POSIX-вызовы "на лету" — из-за этого программы работают быстрее и потребляют меньше ресурсов.

Отсюда и следует его полное название, которое является акронимом - Wine Is Not an Emulator.


Проект запустили ещё в 1993 году, а стабильный релиз вышел в 2008. Это полностью открытое ПО, которое поддерживают компании вроде CodeWeavers.

Важно что:

— не всё работает идеально, иногда придётся повозиться с настройками
— стабильность зависит от конкретной программы и драйверов

Подробный гайд по установке и использованию wine.

LinuxCamp | #utils
🔥269👍9🤔2
perf: микроскоп для производительности ядра

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🔥46👍187
Как поделиться терминалом по ссылке и без SSH?

ttyd - утилита, которая превращает твой терминал в веб-страницу. Запускаешь одну команду и можешь открыть консоль прямо в браузере.

Установка


sudo snap install ttyd --classic
ttyd bash


Открываешь http://<ip>:7681 и видишь свой терминал в браузере. По умолчанию он только для чтения, но если добавить флаг -W, можно делать его интерактивным.

Зачем это нужно

С ttyd можно делиться консолью на демо, показывать командам CI, смотреть логи контейнеров или следить за своим ИИ-агентом прямо с телефона через Tailscale - без SSH и без клиента. Например:


ttyd -p 7681 sh -lc 'docker logs -f backend'


Теперь логи бекенда доступны по ссылке

Один терминал для всех

Чтобы все видели одну и ту же сессию (а не каждый свой терминал), можно обернуть в tmux:


tmux new -s demo
ttyd tmux attach -t demo


Теперь все участники смотрят один экран. Добавь -W, если хочешь дать им право писать команды.

Вывод

ttyd превращает обычный shell в веб-интерфейс без SSH. Но нельзя забывать о безопасности! Не давайте права на запись кому попало.

LinuxCamp | #utils
1👍44🔥86
This media is not supported in your browser
VIEW IN TELEGRAM
Умный CLI файловый менеджер: nnn

nnn - миниатюрный, но мощный терминальный файловый менеджер, который почти не требует настройки:

— Управляется с клавиатуры: стрелки, / для поиска, Tab для контекстов, q для выхода

— Поддерживает фильтрацию, пакетное переименование, анализ диска, закладки и сессии

— Интегрируется с Vim/Neovim, копирует пути в буфер, умеет работать с архивами и отправлять файлы в корзину

— Работает везде: Linux, macOS, BSD, Windows (WSL), Haiku, Termux (Android)

— Приватный, POSIX-совместимый, без сбора данных и лишних зависимостей

— Расширяется плагинами: превью, миниатюры, монтирование, загрузка в облако и многое другое

Совет:

Если вы сильно привыкли к ls, делаем alias и используем nnn:


alias ls='nnn -de'


Ссылки:

1) GitHub проекта
2) Туториал по использованию тулзы

LinuxCamp | #utils
👍33🔥124❤‍🔥1
fio: тестируем скорость дисков

Что делает fio:

fio - утилита для нагрузочного тестирования ввода-вывода (input-output). Она показывает, сколько твой диск реально выдаёт: IOPS, MB/s и latency при разных сценариях чтения и записи.

Установка:


sudo apt install fio -y


Пример проверки скорости:


fio --name=test \
--ioengine=io_uring \
--rw=randread \
--bs=4k \
--size=1G \
--numjobs=4 \
--runtime=30s \
--group_reporting


fio создаёт четыре параллельных задачи, которые читают случайные блоки по 4 KB из 1 GB файла в течение 30 секунд, используя движок io_uring. Результат: сколько твой диск может обработать случайных операций за секунду.

Зачем это нужно:

Когда настраиваешь базу данных, файловый сервер или просто хочешь понять, стоит ли менять SSD, то fio покажет, где узкое место: в скорости, в задержках или в количестве параллельных операций.

Вывод:

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

LinuxCamp | #utils
🔥33👍134
Нет места, а оно есть

du/dh показывает, что место в файловой системе еще есть, а записать ничего не возможно, т.к. нет места.

Места полно, а записать нельзя


Симптом:

df -h показывает, что место есть, а при записи: "No space left on device".

Почему так бывает

Когда удаляешь файл, его данные не исчезают мгновенно. Если какой-то процесс всё ещё держит открытый дескриптор на этот файл, ядро не освобождает место, пока процесс не закроет его. Получается: файла вроде нет, а гигабайты всё ещё заняты.

Как проверить

Посмотреть, кто держит удалённые файлы:


lsof | grep deleted


или покороче:


lsof +L1


В списке найдёшь процессы и пути к призрачным файлам.

Как починить

Заверши процесс, который держит файл:


kill -9 <pid>


или перезапусти службу, если это, например, nginx, postgres или docker. После этого место действительно освободится.

Вывод

Удалённый файл жив, пока его кто-то держит. df/du не всегда дают полную реальную картину происходящего.

LinuxCamp | #storage
2🔥36👍235
Когда процессу не дают дышать

Симптом:

Приложение падает с ошибкой, а ты смотришь вроде ресурсов полно.


Too many open files


Виноват ulimit

Каждый процесс в Linux живёт в рамках ограничений ядра - ulimits. Одно из них nofile, максимум открытых файловых дескрипторов. Файл, сокет, pipe - всё это дескрипторы.

Посмотреть текущие лимиты:


ulimit -n


увидишь, например:


1024


Это значит, что твой процесс не может держать больше 1024 открытых файлов и соединений.

Как увеличить

Иногда это нужно для высоконагруженных сервисов, например, база данных, reverse-proxy или API, который держит тысячи открытых соединений. Если лимит слишком маленький, то приложение начнёт падать на пике трафика.

Временно (для текущей сессии):


ulimit -n 65535


Навсегда — в /etc/security/limits.conf или /etc/systemd/system.conf:


* soft nofile 65535
* hard nofile 65535


Если сервис под systemd, добавь в unit-файл:


[Service]
LimitNOFILE=65535


и перезапусти:


systemctl daemon-reexec
systemctl restart <service>


Осторожно с лимитами

Увеличивать можно, но без фанатизма. Слишком высокий nofile при множестве активных процессов может съесть память и дескрипторы ядра, Особенно если приложение не закрывает файлы корректно. Поэтому лучше провести ревизию приложения вначале.

Вывод

Too many open files - это не баг, а защита ядра. Если приложение задыхается, то можно увеличить лимиты. Главное понимать почему в приложении появляется данная проблема

LinuxCamp | #utils
🔥27👍147❤‍🔥1
ИИ добрался и до операционок: SUSE и Red Hat

Enterprise-лидеры встраивают ИИ в основу операционной системы. Новые фичи на примере недавнего анонса SUSE:

MCP (Model Context Protocol) — реализовали открытый стандарт связи ИИ с системой.

— ИИ может действовать: читать логи, предлагать/выполнять откаты, генерить конфиги — через Cockpit или CLI.

— Поддержка любого LLM-провайдера. Можно использовать свои модели.

Что будет?

Вот так будет выглядеть пример взаимодействия с ОС, к которому мы идем:


$ ai-troubleshoot nginx


— ИИ анализирует "journalctl, nginx -t, ss -tulpn, df -h" и выводит:

«Порт 80 занят apache2... Остановить apache и перезапустить nginx?»


LinuxCamp | #news
🤔24👍10👾5🤯2😐2👏1
Насчет небезопасной памяти не в курсе, но точно знаю, что в одной комнате тут есть причина множества багов в тулзах, которые переписывают на Rust)

Из нового: замена в дистрибутиве Ubuntu 25.10 инструментария GNU Coreutils на Rust Coreutils (uutils) привела к нарушению работы скрипта для автоматической проверки наличия обновлений пакетов.

Инициатива наказуема)

LinuxCamp | #news
😁32👍10
Сборка дистра по исходникам: Linux From Scratch

Что такое LFS?

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

Зачем это нужно?

— Глубокое понимание структуры Linux: /bin, /sbin, /etc, init, systemd, libc, toolchain…

— Полный контроль: только то, что ты выбрал — никаких лишних пакетов и зависимостей.

— Основа для своих embedded-проектов, роутеров, серверов или учебных систем.

После LFS можно пойти дальше: Beyond Linux From Scratch (BLFS) — добавляй графику, браузеры, DE и даже Docker

Это не про эффективность, а про понимание - как варить кофе в турке, когда все вокруг используют кофемашины)

LinuxCamp | #resources
👍43🔥102
Моя общага примерно также выглядела, когда мне по работе завезли туда Ubuntu сервер и систему на AltLinux 🚽

LinuxCamp | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30😁178👍4
Одна ошибка и ты ошибся: Suicide Linux

Suicide Linux – это не полноценный дистрибутив, а Debian пакет, который наказывает пользователя за любые опечатки в командах удалением данных с диска:


sudo rm -rf /


"Это уже шестой раз, когда я переустанавливаю систему... Прощай, suicide linux!"

sudo atp remove suicide-linux
"О нет, опять"


LinuxCamp | #resources
1🤣665😁5🙈2
Когда память закончилась, но сервер ещё живёт

Сценарий:

На голом сервере запущен сервис с утечкой памяти. Что произойдёт, когда память закончится?

Если включён swap

Система начнёт выгружать редко используемые страницы в своп, по сути, использовать диск как "медленную память". Процессы будут жить, но всё станет жутко медленным - диск вместо оперативы и большие задержки.

Посмотреть, включён ли swap:


swapon --show


или просто:


free -h


Если swap выключен

Когда физическая память закончится, ядро запустит OOM Killer (Out Of Memory Killer) - это специальный механизм, который выбирает и убивает процессы, чтобы высвободить память. Умрёт не обязательно твой сервис, система решает сама, кого "пожертвовать", ориентируясь на приоритет oom_score.

Посмотреть, как она видит твоё приложение:


cat /proc/<pid>/oom_score


Как OOM выбирает жертву

Он не смотрит на виртуальную память, а только на реально используемую (resident set size, RSS). Именно физическая память решает, кому жить, а кому нет.

Вывод

Если память утекает Linux не спасёт, он просто решит, кого первым застрелить. Swap продлит агонию, OOM поставит точку.

LinuxCamp | #storage #ram
👍338🔥7
Ничего личного, только горький опыт одного админа 😎

LinuxCamp | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63😁31👍7💯4💊21
101-я причина отсутствия памяти: коротко про inode

В ext-файловых системах может случиться так: df -h показывает много свободного места, но создать файл нельзя. Причина в том, что закончились inode.

Что такое inode

Файл в Linux состоит из данных и его описания. Данные лежат в блоках, а описание в inode. В inode хранятся права, владелец и номера блоков с данными.

Посмотреть inode файла:


ls -li


Почему место может закончиться при свободных гигабайтах

Свободное место и количество inode это разные вещи. Ext2/3/4 создают inode один раз при форматировании. Один файл -> один inode.

Проверка:


df -h # место
df -i # inode


Типичная ситуация:


df -h → свободно 20G
df -i → 0 свободных inode


Свободные блоки есть, а inode закончились, получается новый файл создать нельзя.

Что делать

Понять, что именно упёрлось: место или inode. Если упёрлось в inode, вариантов немного. На ext увеличить их нельзя. Только удалить мелкие файлы или переделать файловую систему.

Резервные блоки ext

Ext по умолчанию скрывает около 5% места под root. Иногда это десятки гигабайт.

Посмотреть:


tune2fs -l /dev/sdX1 | grep 'Reserved block'


Временно отключить:


sudo tune2fs -m 0 /dev/sdX1


Вывод

Если прод внезапно перестал писать, а df -h показывает свободное место — сразу смотри df -i. Чаще всего именно inode закончились первыми. В xfs и btrfs такая ситуация почти не встречается, потому что inode там создаются динамически, а не заранее.

LinuxCamp | #storage
👍3610🔥5😍1
2025/12/08 14:09:29
Back to Top
HTML Embed Code: