Linux Ready | DevOps
9.53K subscribers
838 photos
41 videos
343 links
Авторский канал по разработке на Linux.
Ресурсы, обучения, задачи, шпаргалки.
Ежедневно информация пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/linux_ready
Download Telegram
Работа с символическими и жёсткими ссылками!

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

Создание жёсткой ссылки:
ln original.txt hardlink.txt


Жёсткая ссылка указывает на тот же inode, что и исходный файл. Удаление одного имени не удаляет данные, пока существует хотя бы одна ссылка.

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

Создание символической ссылки:
ln -s /path/to/original symlink


Симлинк — это отдельный файл, содержащий путь к целевому объекту (файлу или каталогу).

Просмотр ссылок и inode:
ls -li


Одинаковый inode — жёсткие ссылки на один файл. Симлинк имеет собственный inode.

Проверка, куда указывает символическая ссылка:
readlink symlink
readlink -f symlink


-f разворачивает цепочку ссылок до реального пути.

Перезапись существующей символической ссылки:
ln -sfn /new/path symlink


-s — symbolic
-f — удаляет существующий путь назначения перед созданием
-n — не разыменовывать симлинк на каталог

Удаление ссылки:
rm symlink
rm hardlink.txt


Для жёсткой ссылки это удаление имени, а не данных.

🔥 Симлинки зависят от пути и могут «сломаться»; жёсткие ссылки устойчивы, но ограничены одной файловой системой и практически не применяются для каталогов

🚪 Linux Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
14🔥10👍8
This media is not supported in your browser
VIEW IN TELEGRAM
❤️ AlgoTree — понятные объяснения алгоритмов, деревьев и графов!

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

📌 Оставляю ссылочку: algotree.org

🚪 Linux Ready | #сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍12🤝9
👩‍💻 Жёсткая чистка Linux: удаляем мусор и освобождаем место!

Со временем даже минималистичная Linux-система захламляется: остаются старые логи, кеши пакетов, временные файлы. Всё это съедает пространство и мешает обслуживанию.

В этом посте:
Удаляем кеш APT и старые версии пакетов.

Чистим временные файлы и мусор от приложений.

Удаляем старые логи, освобождаем /var/log.

Проверяем свободное место и очищаем остатки.


Такой подход помогает освободить несколько гигабайт и держать систему в порядке.

🚪 Linux Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥34👍108🤝7
🔥31👍157🤝2
This media is not supported in your browser
VIEW IN TELEGRAM
👍 LYM — интерактивный учебник с реальными примерами!

Этот ресурс объясняет основы и важные концепции через примеры и живые объяснения. Тут ты найдёшь темы по синтаксису, функциям, структурам данных, алгоритмам и архитектуре. Полезно как новичкам, так и тем, кто хочет укрепить фундамент, понять внутренние механизмы и перестать путаться в деталях.

📌 Оставляю ссылочку: lym.readthedocs.io

🚪 Linux Ready | #сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1810🔥10
Параллельные команды в Bash!

coproc запускает команду асинхронно и создаёт для неё каналы ввода и вывода, доступные из Bash через файловые дескрипторы.

Cразу получаешь PID процесса и FD для stdin/stdout и можешь работать с ним как с обычным I/O:
echo "ping" >&"${WORKER[1]}"


Так отправляешь данные в stdin фоновой команды напрямую, без cmd | cmd и без временных файлов:
read -r result <&"${WORKER[0]}"


Читаешь ответ синхронно, управляя порядком чтения и записи из Bash.

Ожидание завершения без busy-loop и sleep:
wait "$WORKER_PID"


🔥 coproc - встроенный механизм параллелизма Bash, который даёт управляемые фоновые процессы с явным I/O-контролем.

🚪 Linux Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍179🔥9
❤️ Крутейшая статья недавно вышла на Хабре: «Скрипты и алиасы для вашего линукса»!

В этой статье:
• Показано, как превратить рутинные задачи в быстрые и удобные команды под себя;
• Разобраны реальные алиасы и скрипты для git, systemd, сети, дисков и мониторинга системы;
• На примерах видно, как со временем вырастает персональный набор инструментов, который реально экономит время работы.


🔊 Продолжайте читать на Habr!


🚪 Linux Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍119🤝3
👩‍💻 Управляем пользователями: полный жизненный цикл учётки!

В реальной системе пользователи постоянно появляются, меняются и исчезают. Важно уметь безопасно управлять доступом на всех этапах.

В этом посте:
Создаём пользователя и задаём пароль;

Разбираемся, чем su отличается от su -;

Блокируем и разблокируем учётную запись;

Управляем сроком действия пароля и группами;

Корректно удаляем пользователя и его данные.


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

🚪 Linux Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥14🤝111
📂 Напоминалка по NAT (Network Address Translation)!

NAT позволяет устройствам из приватной сети выходить в интернет через один публичный IP, подменяя IP и порты на роутере.

На картинке — как меняется пакет до и после NAT, как работает NAT-таблица и почему несколько устройств могут использовать один public IP.

Сохрани, чтобы не забыть!

🚪 Linux Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍12🔥9🤝2
Реализация swap-файла в Linux!

Swap — это механизм подстраховки по памяти, который помогает системе переживать пиковые нагрузки, снижать вероятность OOM и деградации сервисов.

Проверка текущего состояния — посмотреть активные swap-устройства:
swapon --show


Если swap не настроен, вывод будет пустым.

Для общего обзора памяти:
free -h


Создание swap-файла — создаётся обычным файлом нужного размера. Быстрый вариант:
sudo fallocate -l 4G /swapfile


Если fallocate недоступен или swapon отказывается работать с таким файлом, используется более универсальный способ:
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress


На файловых системах с Copy-on-Write (например, btrfs) swap-файл требует отдельной настройки. (nocow, без compression и соблюдение требований FS), иначе swapon завершится ошибкой.

Права доступа:
sudo chmod 600 /swapfile


Swap-файл должен быть доступен только root, иначе система откажется его использовать.

Инициализация и активация:
sudo mkswap /swapfile
sudo swapon /swapfile


Swap начинает работать сразу, без перезагрузки. Проверка:
swapon --show


Автоподключение при загрузке — добавить в /etc/fstab:
/swapfile none swap defaults 0 0


Это стандартная и ожидаемая конфигурация.

Настройка swappiness — текущее значение:
cat /proc/sys/vm/swappiness


На серверах значение часто уменьшают до 10–20, чтобы swap использовался как страховка, а не как активная память, конкретное значение зависит от профиля нагрузки.

Временное изменение — через sysctl, постоянное — через файл в /etc/sysctl.d/.

Отключение swap:
sudo swapoff /swapfile


После этого файл можно удалить и убрать запись из /etc/fstab, если он больше не нужен.

🔥 Swap-файл — простой и безопасный способ повысить устойчивость системы без переразметки дисков и с заметным снижением риска OOM.

🚪 Linux Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍16🔥9
🔥15👍9🤝7