L
Linux для чайника
20.07.2026 08:59 · 👁 1.7K
Задача: Сервер отвечает очень медленно
CPU почти не загружен.
RAM свободна.
Но приложения работают крайне медленно.
Что проверить
I/O: iostat -x 1
Получаем:
util 100%
await 1500 ms
Диск перегружен.
Проверить процессы: iotop
Видим:
backup.sh
который читает весь диск.
Решение:
Перенести backup.
Используя ionice или nice
L
Linux для чайника
10.07.2026 08:59 · 👁 4K
Задача: На сервере неожиданно закончилось место
Условие:
Команда df -h
показывает
Filesystem Use%
/dev/sda2 100%
Однако du -sh /*
дает всего около 40 ГБ.
Куда исчезло место?
Решение:
Такое происходит, когда удалили большой файл, но процесс продолжает его использовать.
Проверяем: lsof | grep deleted
Например:
java
logfile deleted
30G
Процесс продолжает держать файл открытым.
Освободить место
Можно через: systemctl restart java или kill PID
После завершения процесса место сразу освободится.
L
Linux для чайника
08.07.2026 08:59 · 👁 3.8K
Задача: Сервер перестал загружаться после обновления ядра
Условие: На сервере 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
Итог: Сервер успешно загружается.
L
Linux для чайника
03.07.2026 11:59 · 👁 3.8K
Авария: Во время работы отказал диск /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]
L
Linux для чайника
01.07.2026 11:04 · 👁 3.8K
Кроме bash в Linux существуют и другие оболочки: sh, csh, ksh, zsh, tcsh и пр. Все командные оболочки, установленные в системе, прописаны в файле /etc/shells.
Иногда в файле /etc/shells можно найти /bin/false и /bin/true, которые не являются оболочками. Это «заглушки», которые можно использовать, если вы хотите отключить ту или иную учетную запись пользователя.
Как известно, при входе пользователя в систему запускается установленная для него оболочка. Так вот, если для какого-либо пользователя задать оболочку /bin/false (или /bin/true), он не сможет войти в систему. Точнее, в систему-то он войдет, но и сразу выйдет из нее, поскольку сессия пользователя длится до завершения работы его оболочки, а обе заглушки ничего не делают, кроме того, что просто возвращают значение 0 (для false) или 1 (для true).
L
Linux для чайника
29.06.2026 11:59 · 👁 3.9K
Смотрим общую информацию о жёстком диске
Для регулировки и просмотра параметров жёстких дисков с интерфейсом ATA существует утилита hdparm.
Утилита может установить такие параметры как объём кеш-памяти накопителя, спящий режим, управление питанием, управление акустикой и настройки DMA.
hdparm имеет очень серьёзный недостаток: утилита может привести к сбою компьютера и сделать данные на жёстком диске недоступными, после применения сочетания некоторых параметров.
Для просмотра общей информации о жёстком диске используется команда: hdparm -i /dev/sd<буква>
L
Linux для чайника
22.06.2026 09:00 · 👁 6K
Для проверки скорости записи/чтения можно использовать утилиту dd
Измеряем скорость записи:
dd if=/dev/zero of=testfile bs=1M count=1000 conv=fdatasync
Команда создаст файл testfile размером 1000 МБ, заполненный нулями, и измерит скорость записи данных в этот файл.
Измеряем скорость чтения:
dd if=testfile of=/dev/null bs=1M
Команда прочитает содержимое файла testfile и измерит скорость чтения данных из него.
L
Linux для чайника
15.06.2026 13:59 · 👁 7.3K
Изменение прав доступа командой 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
L
Linux для чайника
09.06.2026 11:59 · 👁 7K
Автоматическая очистка временных файлов
Cкрипт будет удалять файлы из директории /tmp, которые не изменялись более 7 дней.
#!/bin/bash
find /tmp -type f -mtime +7 -exec rm {} \;
find /tmp — ищет файлы в директории /tmp.
-type f — ищет только файлы (не каталоги).
-mtime +7 — находит файлы, которые не изменялись более 7 дней.
-exec rm {} \; — удаляет найденные файлы.
L
Linux для чайника
03.06.2026 09:01 · 👁 7.4K
Как работает cron
Его основная задача выполнять нужные процессы в нужное время.
Существует конфигурационный файл /etc/crontab, из которых он берет информацию о том что и когда нужно выполнять. Часто, в современных дистрибутивах там прописан запуск утилиты run-parts, которая запускает нужные скрипты из следующих папок:
/etc/cron.minutely - каждую минуту
/etc/cron.hourly - каждый час
/etc/cron.daily - каждый день
/etc/cron.weekly - каждую неделю
/etc/cron.monthly - каждый месяц
В этих папках должны находиться скрипты, которые нужно выполнять с указанным интервалом. Скрипты должны иметь права на выполнение и их имя не должно содержать точки.