Linux для чайника
Linux - Разбор утилит / инструментов - Новости / факты - Опросы для проверки знаний, навыков и многое другое. Только по вопросам сотрудничества: @altmainf Регистрация в перечне РКН https://clck.ru/3EpL9L
Show more📈 Analytical overview of Telegram channel Linux для чайника
Channel Linux для чайника (@os_linux_ru) in the Russian language segment is an active participant. Currently, the community unites 19 640 subscribers, ranking 6 564 in the Technologies & Applications category and 33 685 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 19 640 subscribers.
According to the latest data from 03 September, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -57 over the last 30 days and by 1 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 16.52%. Within the first 24 hours after publication, content typically collects 7.17% reactions from the total number of subscribers.
- Post reach: On average, each post receives 3 244 views. Within the first day, a publication typically gains 1 409 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 0.
- Thematic interests: Content is focused on key topics such as linux, скрипт, bash, grep, мониторинг.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Linux
- Разбор утилит / инструментов
- Новости / факты
- Опросы для проверки знаний, навыков
и многое другое.
Только по вопросам сотрудничества: @altmainf
Регистрация в перечне РКН https://clck.ru/3EpL9L”
Thanks to the high frequency of updates (latest data received on 04 September, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
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 -h