Linux для чайника
Linux - Разбор утилит / инструментов - Новости / факты - Опросы для проверки знаний, навыков и многое другое. Только по вопросам сотрудничества: @altmainf Регистрация в перечне РКН https://clck.ru/3EpL9L
Ko'proq ko'rsatish📈 Telegram kanali Linux для чайника analitikasi
Linux для чайника (@os_linux_ru) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 19 712 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 6 674-o'rinni va Rossiya mintaqasida 33 826-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 19 712 obunachiga ega bo‘ldi.
26 Iyul, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -26 ga, so‘nggi 24 soatda esa 0 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 23.91% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 7.67% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 4 713 marta ko‘riladi; birinchi sutkada odatda 1 512 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 0 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent linux, скрипт, bash, grep, мониторинг kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Linux
- Разбор утилит / инструментов
- Новости / факты
- Опросы для проверки знаний, навыков
и многое другое.
Только по вопросам сотрудничества: @altmainf
Регистрация в перечне РКН https://clck.ru/3EpL9L”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 27 Iyul, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
Ma'lumot yuklanmoqda...
| Sana | Obunachilarni jalb qilish | Esdaliklar | Kanallar | |
| 27 Iyul | +1 | |||
| 26 Iyul | +4 | |||
| 25 Iyul | +3 | |||
| 24 Iyul | 0 | |||
| 23 Iyul | +1 | |||
| 22 Iyul | +4 | |||
| 21 Iyul | +2 | |||
| 20 Iyul | +5 | |||
| 19 Iyul | +1 | |||
| 18 Iyul | +1 | |||
| 17 Iyul | +3 | |||
| 16 Iyul | +2 | |||
| 15 Iyul | +1 | |||
| 14 Iyul | +1 | |||
| 13 Iyul | 0 | |||
| 12 Iyul | +4 | |||
| 11 Iyul | +7 | |||
| 10 Iyul | +2 | |||
| 09 Iyul | +5 | |||
| 08 Iyul | +2 | |||
| 07 Iyul | 0 | |||
| 06 Iyul | +2 | |||
| 05 Iyul | +3 | |||
| 04 Iyul | +3 | |||
| 03 Iyul | +6 | |||
| 02 Iyul | 0 | |||
| 01 Iyul | +3 |
| 2 | Поиск файлов с определенными настройками доступа
Команда find в сочетании с флагом -perm позволяет искать файлы на основе их настроек разрешений.
Чтобы найти файлы, у которых есть разрешения на чтение (r), запись (w) и выполнение (x) для владельца:
find /path/to/search -type f -perm -700
Поиск файлов по разрешению и режиму доступа:
find /path/to/search -type f -perm mode
Чтобы найти файлы, у которых нет прав на запись для группы и других:
find /path/to/search -type f ! -perm /go+w | 1 563 |
| 3 | Поиск файлов по нескольким расширениям
С помощью команды find вместе с флагом -o (логическое ИЛИ) можно искать файлы по нескольким расширениям:
find /path/to/search -type f \( -name "*.txt" -o -name "*.log" \)
/path/to/search — это каталог, в котором вы хотите начать поиск.
-type f указывает, что вы ищете файлы (а не каталоги).
-name "*.txt" и -name "*.log" — это два условия, разделенные оператором -o. При этом выполняется поиск файлов с расширением .txt или .log. | 2 213 |
| 4 | Модуль ядра Linux — это точка входа в системную разработку
Здесь уже недостаточно знать команды ОС, важно понимать архитектуру ядра, сборку, загрузку и отладку на низком уровне.
🔔 3 августа в 20:00 МСК приглашаем вас на открытый урок, где мы разберём, зачем нужны модули ядра, как они встраиваются в работу операционной системы и какую роль играют в расширении её возможностей.
На занятии вы:
- узнаете, как создать собственный модуль, собрать его, запустить и отладить с помощью буфера сообщений ядра dmesg.
- получите практические инструкции, с которых можно начать разработку под ядро Linux.
Открытый урок проходит в преддверии старта курса «Разработка ядра Linux».
Зарегистрируйтесь, если хотите сделать первый уверенный шаг от обычной работы с Linux к системному программированию: https://otus.pw/JlC0/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576 | 2 106 |
| 5 | Задача: Сервер отвечает очень медленно
CPU почти не загружен.
RAM свободна.
Но приложения работают крайне медленно.
Что проверить
I/O: iostat -x 1
Получаем:
util 100%
await 1500 ms
Диск перегружен.
Проверить процессы: iotop
Видим:
backup.sh
который читает весь диск.
Решение:
Перенести backup.
Используя ionice или nice | 2 994 |
| 6 | Задача: На сервере неожиданно закончилось место
Условие:
Команда df -h
показывает
Filesystem Use%
/dev/sda2 100%
Однако du -sh /*
дает всего около 40 ГБ.
Куда исчезло место?
Решение:
Такое происходит, когда удалили большой файл, но процесс продолжает его использовать.
Проверяем: lsof | grep deleted
Например:
java
logfile deleted
30G
Процесс продолжает держать файл открытым.
Освободить место
Можно через: systemctl restart java или kill PID
После завершения процесса место сразу освободится. | 4 992 |
| 7 | Задача: Сервер перестал загружаться после обновления ядра
Условие: На сервере Ubuntu 24.04 после выполнения:
apt update
apt upgrade
reboot
сервер больше не загружается.
На экране:
Kernel panic - not syncing:
VFS: Unable to mount root fs on unknown-block(0,0)
Требуется:
• определить причину;
• восстановить загрузку;
• сохранить данные;
• сделать так, чтобы проблема не повторилась.
Что должен сделать администратор
1. Загрузиться со старого ядра
В меню GRUB выбрать: Advanced options
и загрузить предыдущую версию ядра.
2. Проверить наличие initramfs
ls /boot
Например:
vmlinuz-6.8.0
initrd.img-6.8.0
Если initramfs отсутствует: update-initramfs -u
3. Проверить UUID
blkid
cat /etc/fstab
Если UUID изменился — исправить.
4. Проверить драйверы
Например RAID-контроллер требует модуль megaraid_sas
Проверяем: lsinitramfs /boot/initrd.img | grep megaraid
Если нет
echo megaraid_sas >> /etc/initramfs-tools/modules
update-initramfs -u
5. Переустановить GRUB
grub-install /dev/sda
update-grub
Итог: Сервер успешно загружается. | 4 481 |
| 8 | Авария: Во время работы отказал диск /dev/sdb.
После замены диска сервер необходимо полностью восстановить.
Исходные условия:
• Имеется сервер Ubuntu Server 24.04.
Конфигурация:
• два SSD по 1 ТБ (/dev/sda, /dev/sdb)
• программный RAID1 (mdadm)
• LVM поверх RAID
• файловая система XFS
• сервер предоставляет NFS
• на сервере работает PostgreSQL
• загрузчик GRUB установлен на оба диска
Шаг 1. Проверяем состояние RAID: cat /proc/mdstat
Получаем:
md0 : active raid1 sda1[0]
976630336 blocks [2/1] [U_]
U = диск исправен _ = диск отсутствует
Также
mdadm --detail /dev/md0
Вывод
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 1
RAID работает в деградированном режиме.
Шаг 2. Определяем неисправный диск: smartctl -a /dev/sdb
Типичный вывод:
SMART overall-health self-assessment test result: FAILED или I/O error
Шаг 3. Исключаем диск из RAID
Если он еще виден системой:
mdadm /dev/md0 --fail /dev/sdb1
После этого
mdadm /dev/md0 --remove /dev/sdb1
Теперь RAID использует только один диск.
Шаг 4. Замена физического диска
После замены сервер обнаружил новый диск.
lsblk
Получаем:
sda
sdb
Но новый диск пустой.
Шаг 5. Копируем таблицу разделов
sgdisk -R=/dev/sdb /dev/sda
Проверяем: fdisk -l
Шаг 6. Меняем GUID разделов
Если GPT: sgdisk -G /dev/sdb
Иначе возникнет конфликт одинаковых UUID GPT.
Шаг 7. Добавляем диск обратно в RAID
mdadm /dev/md0 --add /dev/sdb1
Проверяем: cat /proc/mdstat
Будет
md0 : active raid1 sdb1[2] sda1[0]
recovery
Шаг 8. Следим за синхронизацией
watch cat /proc/mdstat
Ждем 100%
После окончания: [UU]
Шаг 9. Проверяем состояние RAID
mdadm --detail /dev/md0
Получаем:
State : clean
Active Devices : 2
Шаг 10. Проверяем LVM
pvdisplay
vgdisplay
lvdisplay
Все тома должны быть доступны.
Шаг 11. Проверяем файловую систему
Для XFS: xfs_repair -n /dev/vg_data/lv_pg
Параметр: -n означает только проверку без изменений.
Если ext4: fsck -f
Шаг 12. Проверяем точки монтирования
mount или df -h
Получаем:
/dev/mapper/vg_data-lv_root
/dev/mapper/vg_data-lv_pg
/dev/mapper/vg_data-lv_nfs
Шаг 13. Проверяем PostgreSQL
systemctl status postgresql или pg_isready
Должно быть: accepting connections
Проверяем базы: sudo -u postgres psql
SELECT now();
Шаг 14. Проверяем NFS
systemctl status nfs-server
showmount -e localhost
Экспорт должен отображаться.
Шаг 15. Восстанавливаем GRUB
После замены диска загрузчик отсутствует.
Устанавливаем: grub-install /dev/sdb
Потом: update-grub Проверяем: efibootmgr -v
(для UEFI)
или
grub-install /dev/sda
grub-install /dev/sdb
для BIOS.
Шаг 16. Проверяем mdadm.conf
cat /etc/mdadm/mdadm.conf
Если UUID изменился
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Затем update-initramfs -u
Шаг 17. Контрольная проверка
cat /proc/mdstat
[UU]
lsblk
mdadm --detail /dev/md0
systemctl status postgresql
systemctl status nfs-server
reboot
После перезагрузки: cat /proc/mdstat
Должно быть: [UU] | 4 127 |
| 9 | Кроме bash в Linux существуют и другие оболочки: sh, csh, ksh, zsh, tcsh и пр. Все командные оболочки, установленные в системе, прописаны в файле /etc/shells.
Иногда в файле /etc/shells можно найти /bin/false и /bin/true, которые не являются оболочками. Это «заглушки», которые можно использовать, если вы хотите отключить ту или иную учетную запись пользователя.
Как известно, при входе пользователя в систему запускается установленная для него оболочка. Так вот, если для какого-либо пользователя задать оболочку /bin/false (или /bin/true), он не сможет войти в систему. Точнее, в систему-то он войдет, но и сразу выйдет из нее, поскольку сессия пользователя длится до завершения работы его оболочки, а обе заглушки ничего не делают, кроме того, что просто возвращают значение 0 (для false) или 1 (для true). | 4 166 |
| 10 | 👻 Заставь Linux зарабатывать деньги
Многие учат Linux, чтобы попасть в IT, стать сисадмином, DevOps-инженером, работать с серверами или просто лучше понимать, как всё устроено под капотом
Но Linux можно использовать не только как навык для работы
На его базе можно поднимать свои сервисы, автоматизации, CRM, ботов и небольшие приложения, которые решают реальные задачи бизнеса
И сейчас для этого уже не обязательно быть senior-разработчиком или годами пилить стартап
ИИ сильно упростил путь:
ты задаёшь направление, описываешь задачу, собираешь архитектуру — и нейронка помогает быстрее написать код, собрать MVP и довести идею до рабочего продукта
Для этого мы открыли доступ к видео «Архитектор кода»
Внутри — видео-урок о том, как начать делать свои SaaS-приложения и зарабатывать на них, даже если ты пока не считаешь себя сильным программистом
В видео ты увидишь реальные примеры:
— как ребята заработали 150 000 ₽ на своём приложении в App Store
— как сделали 300 000 ₽ на продаже простой CRM под конкретную нишу
— как можно собирать такие решения с помощью ИИ, серверов, кода и правильной постановки задачи
Главная мысль простая:
Linux, код и нейронки — это не только про работу «на кого-то»
Это база, с помощью которой можно собирать свои инструменты, тестировать идеи и постепенно создавать дополнительный источник дохода
ПОЛУЧИТЬ ВИДЕО
Доступ к видео открыт на 24 часа
Кликай по тексту выше и посмотри, как начать делать свои приложения и сервисы | 3 292 |
| 11 | Смотрим общую информацию о жёстком диске
Для регулировки и просмотра параметров жёстких дисков с интерфейсом ATA существует утилита hdparm.
Утилита может установить такие параметры как объём кеш-памяти накопителя, спящий режим, управление питанием, управление акустикой и настройки DMA.
hdparm имеет очень серьёзный недостаток: утилита может привести к сбою компьютера и сделать данные на жёстком диске недоступными, после применения сочетания некоторых параметров.
Для просмотра общей информации о жёстком диске используется команда: hdparm -i /dev/sd<буква> | 4 152 |
| 12 | Для проверки скорости записи/чтения можно использовать утилиту dd
Измеряем скорость записи:
dd if=/dev/zero of=testfile bs=1M count=1000 conv=fdatasync
Команда создаст файл testfile размером 1000 МБ, заполненный нулями, и измерит скорость записи данных в этот файл.
Измеряем скорость чтения:
dd if=testfile of=/dev/null bs=1M
Команда прочитает содержимое файла testfile и измерит скорость чтения данных из него. | 5 989 |
| 13 | Изменение прав доступа командой chmod с помощью чисел.
Чтобы изменить права доступа к файлу, можно воспользоваться командой chmod. В таком случае каждому праву доступа (чтение, запись и выполнение) присваивается номер — r=4, w=2 и x=1 соответственно, то есть для задания прав доступа используются наборы чисел.
Например, чтобы установить полные права доступа для себя как владельца, необходимо определить первое число — 7 (4 + 2 + 1), а затем дать группе и другим пользователям право только на чтение, указав второе и третье числа — 4 (4 + 0 + 0), чтобы в итоге получилось число 744. Любая комбинация прав доступа включает числа от 0 (нет прав доступа) до 7 (полные права доступа).
Примеры того, как изменить права доступа к файлу (с именем some_file) и как это будет выглядеть:
Установим права доступа rwxrwxrwx:
chmod 777 some_file
Установим права доступа rwxr-xr-x:
chmod 755 some_file
Установим права доступа rw-r--r--:
chmod 644 some_file
Установим права доступа ---------:
chmod 000 some_file | 6 973 |
| 14 | Автоматическая очистка временных файлов
Cкрипт будет удалять файлы из директории /tmp, которые не изменялись более 7 дней.
#!/bin/bash
find /tmp -type f -mtime +7 -exec rm {} \;
find /tmp — ищет файлы в директории /tmp.
-type f — ищет только файлы (не каталоги).
-mtime +7 — находит файлы, которые не изменялись более 7 дней.
-exec rm {} \; — удаляет найденные файлы. | 6 592 |
| 15 | Как работает cron
Его основная задача выполнять нужные процессы в нужное время.
Существует конфигурационный файл /etc/crontab, из которых он берет информацию о том что и когда нужно выполнять. Часто, в современных дистрибутивах там прописан запуск утилиты run-parts, которая запускает нужные скрипты из следующих папок:
/etc/cron.minutely - каждую минуту
/etc/cron.hourly - каждый час
/etc/cron.daily - каждый день
/etc/cron.weekly - каждую неделю
/etc/cron.monthly - каждый месяц
В этих папках должны находиться скрипты, которые нужно выполнять с указанным интервалом. Скрипты должны иметь права на выполнение и их имя не должно содержать точки. | 6 480 |
| 16 | Команда pstree
Похожа на ps, но вместо перечисления запущенных процессов, она показывает их в виде дерева.
В простейшей форме, когда pstree вызывается без какой-либо опции или аргументов, она отображает иерархическую древовидную структуру всех запущенных процессов.
Чтобы отключить объединение идентичных веток, примените:
pstree -c
Если в качестве аргумента указано имя пользователя, pstree отображает только процессы, принадлежащие этому пользователю:
pstree username
pstree также позволяет выделить процессы для лучшего визуального представления. Аргумент -h выделит текущий процесс и все его предки:
pstree -h | 5 048 |
| 17 | ⚠️ Хватит плодить хрупкие скрипты и оставлять дыры для троянов. Пора писать пуленепробиваемый инфраструктурный код.
🎥 Приглашаем на вебинар - Продвинутый Bash
На вебинаре вы узнаете:
- Связка set -euo pipefail навсегда исключит тихое проглатывание ошибок и потерю данных в конвейерах.
- Нативные подстановки Bash заменят тысячи ресурсоемких вызовов sed и сэкономят CPU.
- Регулярный мониторинг системных профилей защитит продакшен от перехвата команд троянами.
- Грамотный перехват сигналов через trap обеспечит безопасное сворачивание процессов при сбоях.
В результате вебинара вы:
- Замените многоуровневые костыли лаконичной логикой на базе ассоциативных массивов.
- Исключите утечки глобальных переменных через жесткую изоляцию областей видимости в функциях.
- Внедрите нативную построчную трассировку скриптов вместо примитивного дебага echo-принтами.
- Начнете напрямую пробрасывать переменные окружения в SystemD-юниты для надежного старта сервисов.
🧠 Открытый урок проходит в преддверии старта курса «Администратор Linux. Продвинутый уровень»
👉 Для участи зарегистрируйтесь: https://otus.pw/fiOO/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru | 3 912 |
| 18 | Создаем пользовательский отчет
Скрипт создает отчет о текущих пользователях в системе и сохраняет его в файл user_report.txt. (Отчет содержит имя пользователя, его UID и время последнего входа).
#!/bin/bash
output_file="user_report.txt"
echo "User Report" > "$output_file"
echo "===================" >> "$output_file"
cut -d: -f1,3,6 /etc/passwd | while IFS=: read user uid home; do
last_login=$(last -n 1 "$user" | head -n 1 | awk '{print \$4, \$5, \$6, \$7}')
echo "$user (UID: $uid) - Last login: $last_login" >> "$output_file"
done
cut -d: -f1,3,6 /etc/passwd — извлекает имя пользователя, UID и домашнюю директорию из файла /etc/passwd.
last -n 1 "$user" — получает информацию о последнем входе пользователя. | 4 386 |
| 19 | Traffic Control. Команда tc
Это набор инструментов для управления сетевым трафиком внутри Linux.
То, что вы можете сделать с помощью tc, одновременно впечатляет и вызывает отвращение. Это не для слабонервных, и настройка различных манипуляций с трафиком отнюдь не проста, но научитесь понимать это, и вы сможете использовать всю мощь управления трафиком в Linux.
Распространенным примером использования tc является применение некоторой задержки пакетов к сетевому соединению.
Чтобы создать задержку 100мс с помощью tc:
sudo tc qdisc add dev eth0 root netem delay 100ms
Теперь вы можете это проверить, пиганув например на 8.8.8.8
Чтобы убрать задержку, которую вы только что установили, выполните:
sudo tc qdisc del dev eth0 root | 5 785 |
| 20 | Довольно интересен с практической точки зрения каталог /sys/power.
В файле state находится состояние питание. Изменив должным образом содержимое этого файла, можно изменить состояние питания.
Например, вот как можно перевести систему в состояние "Suspend to RAM", когда питание процессора отключается, но питание на память подается, благодаря чему ее содержимое не уничтожается:
sudo echo -n mem > /sys/power/state
При желании можно отправить систему в состояние "Suspend to Disk", когда содержимое памяти будет записано на жесткий диск, после чего питание будет отключено:
sudo echo -n disk > /sys/power/state | 6 046 |
