Linux для чайника
Linux - Разбор утилит / инструментов - Новости / факты - Опросы для проверки знаний, навыков и многое другое. Только по вопросам сотрудничества: @altmainf Регистрация в перечне РКН https://clck.ru/3EpL9L
نمایش بیشتر📈 تحلیل کانال تلگرام Linux для чайника
کانال Linux для чайника (@os_linux_ru) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 19 643 مشترک است و جایگاه 6 545 را در دسته فناوری و برنامهها و رتبه 33 514 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 19 643 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 30 اوت, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -55 و در ۲۴ ساعت گذشته برابر -1 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 15.23% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 7.62% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 2 991 بازدید دریافت میکند. در اولین روز معمولاً 1 497 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 0 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند linux, скрипт, bash, grep, мониторинг تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Linux
- Разбор утилит / инструментов
- Новости / факты
- Опросы для проверки знаний, навыков
и многое другое.
Только по вопросам сотрудничества: @altmainf
Регистрация в перечне РКН https://clck.ru/3EpL9L”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 31 اوت, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
python3 server.py &
Теперь сделай: disown
После закрытия терминала процесс продолжит работать, даже без nohup.df -T
Вывод покажет список всех смонтированных файловых систем с указанием их типа.
2. Через команду mount или findmnt
mount | grep '^/dev' или: findmnt -T /
Эти команды покажут, какие устройства куда смонтированы и с каким типом ФС.
3. Используя lsblk
lsblk -f
Отображает информацию о блочных устройствах, включая тип файловой системы.
4. С помощью sudo blkid
Выводит информацию о типе ФС, UUID и другом
5. Используя file на устройство
sudo file -s /dev/sda1
Показывает тип содержимого устройства, включая файловую систему.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+wfind вместе с флагом -o (логическое ИЛИ) можно искать файлы по нескольким расширениям:
find /path/to/search -type f \( -name "*.txt" -o -name "*.log" \)
/path/to/search — это каталог, в котором вы хотите начать поиск.
-type f указывает, что вы ищете файлы (а не каталоги).
-name "*.txt" и -name "*.log" — это два условия, разделенные оператором -o. При этом выполняется поиск файлов с расширением .txt или .log.iostat -x 1
Получаем:
util 100% await 1500 msДиск перегружен. Проверить процессы:
iotop
Видим:
backup.shкоторый читает весь диск. Решение: Перенести backup. Используя
ionice или nicedf -h
показывает
Filesystem Use% /dev/sda2 100%Однако
du -sh /*
дает всего около 40 ГБ.
Куда исчезло место?
Решение:
Такое происходит, когда удалили большой файл, но процесс продолжает его использовать.
Проверяем: lsof | grep deleted
Например:
java logfile deleted 30GПроцесс продолжает держать файл открытым. Освободить место Можно через:
systemctl restart java или kill PID
После завершения процесса место сразу освободится.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
Итог: Сервер успешно загружается./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]bash в Linux существуют и другие оболочки: sh, csh, ksh, zsh, tcsh и пр. Все командные оболочки, установленные в системе, прописаны в файле /etc/shells.
Иногда в файле /etc/shells можно найти /bin/false и /bin/true, которые не являются оболочками. Это «заглушки», которые можно использовать, если вы хотите отключить ту или иную учетную запись пользователя.
Как известно, при входе пользователя в систему запускается установленная для него оболочка. Так вот, если для какого-либо пользователя задать оболочку /bin/false (или /bin/true), он не сможет войти в систему. Точнее, в систему-то он войдет, но и сразу выйдет из нее, поскольку сессия пользователя длится до завершения работы его оболочки, а обе заглушки ничего не делают, кроме того, что просто возвращают значение 0 (для false) или 1 (для true).hdparm.
Утилита может установить такие параметры как объём кеш-памяти накопителя, спящий режим, управление питанием, управление акустикой и настройки DMA.
hdparm имеет очень серьёзный недостаток: утилита может привести к сбою компьютера и сделать данные на жёстком диске недоступными, после применения сочетания некоторых параметров.
Для просмотра общей информации о жёстком диске используется команда: hdparm -i /dev/sd<буква>dd if=/dev/zero of=testfile bs=1M count=1000 conv=fdatasync
Команда создаст файл testfile размером 1000 МБ, заполненный нулями, и измерит скорость записи данных в этот файл.
Измеряем скорость чтения:
dd if=testfile of=/dev/null bs=1M
Команда прочитает содержимое файла testfile и измерит скорость чтения данных из него.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/tmp, которые не изменялись более 7 дней.
#!/bin/bash
find /tmp -type f -mtime +7 -exec rm {} \;
find /tmp — ищет файлы в директории /tmp.
-type f — ищет только файлы (не каталоги).
-mtime +7 — находит файлы, которые не изменялись более 7 дней.
-exec rm {} \; — удаляет найденные файлы./etc/crontab, из которых он берет информацию о том что и когда нужно выполнять. Часто, в современных дистрибутивах там прописан запуск утилиты run-parts, которая запускает нужные скрипты из следующих папок:
/etc/cron.minutely - каждую минуту
/etc/cron.hourly - каждый час
/etc/cron.daily - каждый день
/etc/cron.weekly - каждую неделю
/etc/cron.monthly - каждый месяц
В этих папках должны находиться скрипты, которые нужно выполнять с указанным интервалом. Скрипты должны иметь права на выполнение и их имя не должно содержать точки.ps, но вместо перечисления запущенных процессов, она показывает их в виде дерева.
В простейшей форме, когда pstree вызывается без какой-либо опции или аргументов, она отображает иерархическую древовидную структуру всех запущенных процессов.
Чтобы отключить объединение идентичных веток, примените:
pstree -c
Если в качестве аргумента указано имя пользователя, pstree отображает только процессы, принадлежащие этому пользователю:
pstree username
pstree также позволяет выделить процессы для лучшего визуального представления. Аргумент -h выделит текущий процесс и все его предки:
pstree -huser_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" — получает информацию о последнем входе пользователя.