Типичные проблемы и решения
Проблема: Недостаточно места на диске
Симптомы
- Ошибки при записи файлов
- Невозможность установить пакеты
- Медленная работа системы
Решение
# Проверка использования диска
df -h
# Поиск больших файлов
sudo du -h / | sort -rh | head -20
# Очистка логов
sudo journalctl --vacuum-time=7d
# Очистка пакетов
sudo apt clean
sudo apt autoremove
Проблема: Высокая нагрузка на CPU
Симптомы
- Медленная работа системы
- Высокий load average
Решение
# Поиск процессов, использующих CPU
top
htop
# Проверка системных процессов
ps aux --sort=-%cpu | head -10
Проблема: Недостаточно памяти
Симптомы
- Система использует swap
- Медленная работа
- OOM (Out of Memory) ошибки
Решение
# Проверка использования памяти
free -h
# Поиск процессов, использующих память
ps aux --sort=-%mem | head -10
# Очистка кэша (осторожно!)
sudo sync
sudo echo 3 | sudo tee /proc/sys/vm/drop_caches
Проблема: Сервис не запускается после перезагрузки
Решение
# Включение автозапуска
sudo systemctl enable nginx
sudo systemctl enable postgresql
# Проверка статуса
sudo systemctl is-enabled nginx
Проблема: SSL сертификат истекает
Решение
# Проверка сертификатов
sudo certbot certificates
# Обновление вручную
sudo certbot renew
# Тест автоматического обновления
sudo certbot renew --dry-run
Проблема: "Соединение не установлено: Вероятная угроза безопасности" / "EE certificate key too weak"
Симптомы:
- Браузер показывает предупреждение о безопасности при подключении к HTTPS
- Используется старый самоподписанный SSL сертификат "Mini Webservice Ltd" со слабым ключом (1024 bit RSA)
- Все домены (denkart.cdto.life, school.cdto.life, docs.cdto.life) показывают один и тот же старый сертификат
Причина:
Трафик к внешнему IP (89.179.242.240) проходит через OUTPUT chain iptables, а не только через PREROUTING. Поэтому требуется дополнительное правило DNAT в OUTPUT chain.
Быстрое решение:
# Автоматическое исправление
sudo /home/cdto/DENKART/scripts/fix-ssl-external-ip-routing.sh
Ручное решение:
# Добавить правило OUTPUT в iptables
sudo iptables -t nat -A OUTPUT -d 89.179.242.240/32 -p tcp --dport 443 -j DNAT --to-destination 10.218.14.37:443
# Сохранить правила для автоматической загрузки
sudo netfilter-persistent save
Проверка:
# Проверить SSL сертификат после исправления
openssl s_client -connect 89.179.242.240:443 -servername denkart.cdto.life < /dev/null 2>&1 | grep -E "subject=|issuer=|Verify return code"
Ожидаемый результат:
- subject=CN = denkart.cdto.life
- issuer=C = US, O = Let's Encrypt, CN = R12
- Verify return code: 0 (ok)
Подробнее: ssl-certificate-external-ip-issue.md
sudo certbot renew --dry-run
## Проблема: Медленная работа базы данных
### Решение
```bash
# Проверка активных подключений
sudo -u postgres psql -c "SELECT count(*) FROM pg_stat_activity;"
# Проверка медленных запросов
sudo -u postgres psql -c "SELECT * FROM pg_stat_statements ORDER BY total_time DESC LIMIT 10;"
# Анализ таблиц
sudo -u postgres psql -d mydb -c "ANALYZE;"
Проблема: Переключение раскладки клавиатуры ALT+Shift не работает или индикатор не обновляется
Симптомы
- Сочетание клавиш ALT+Shift не переключает раскладку ru/en
- Индикатор раскладки не обновляется при переключении
- Переключение срабатывает только при повторной попытке
Причина
В Wayland и GNOME переключение раскладки управляется через настройки GNOME, а не через xkb напрямую. Горячие клавиши могут быть настроены неправильно или конфликтовать с другими настройками.
Решение
Автоматическое исправление (рекомендуется)
# Запуск скрипта исправления
/home/cdto/DENKART/scripts/fix-keyboard-layout-switch.sh
Ручное исправление
Для Wayland/GNOME:
# Установка раскладок
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'ru')]"
# Настройка горячих клавиш Alt+Shift
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Alt>Shift_L', '<Alt>Shift_R']"
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Shift>Alt_L', '<Shift>Alt_R']"
# Настройка опций xkb
gsettings set org.gnome.desktop.input-sources xkb-options "['grp:alt_shift_toggle']"
# Системные настройки
sudo localectl set-x11-keymap us,ru pc105 "" "grp:alt_shift_toggle"
# Перезапуск ibus (если используется)
ibus restart
Для X11:
setxkbmap -layout us,ru -option grp:alt_shift_toggle
Проверка настроек
# Проверка текущих настроек
localectl status
gsettings get org.gnome.desktop.wm.keybindings switch-input-source
gsettings get org.gnome.desktop.input-sources sources
Если проблема сохраняется
- Перезагрузите систему
- Проверьте, не конфликтуют ли другие приложения с горячими клавишами
- Убедитесь, что используется правильный тип сессии (Wayland или X11)
Проблема: "Обнаружена ошибка в системной программе" после перезагрузки
Симптомы
- После перезагрузки системы появляется диалоговое окно "Обнаружена ошибка в системной программе"
- Сообщение появляется при входе пользователя в систему
- Система работает нормально, но уведомление раздражает
Причина
В системе остались старые краш-файлы в /var/crash/, которые были созданы при падении системных программ (например, Xwayland, gnome-remote-desktop-daemon). Apport (система отчетов об ошибках Ubuntu) обнаруживает эти файлы и предлагает отправить отчет.
Важно: Краши могли произойти давно и не влиять на текущую работу системы.
Решение
Вариант 1: Удалить краш-файлы (рекомендуется)
# Проверить наличие краш-файлов
sudo ls -lh /var/crash/
# Удалить все краш-файлы
sudo rm /var/crash/*.crash
# Или удалить конкретные файлы
sudo rm /var/crash/_usr_bin_Xwayland.*.crash
sudo rm /var/crash/_usr_libexec_gnome-remote-desktop-daemon.*.crash
Вариант 2: Отключить Apport (если не хотите видеть уведомления)
# Отредактировать конфигурацию Apport
sudo nano /etc/default/apport
# Установить: enabled=0
# Затем перезагрузить систему или перезапустить Apport
sudo systemctl restart apport
Вариант 3: Настроить автоматическую очистку старых краш-файлов
# Создать скрипт для очистки краш-файлов старше 7 дней
sudo tee /usr/local/bin/cleanup-crash-reports.sh > /dev/null << 'EOF'
#!/bin/bash
find /var/crash -name "*.crash" -mtime +7 -delete
EOF
sudo chmod +x /usr/local/bin/cleanup-crash-reports.sh
# Добавить в cron для еженедельного запуска
sudo tee /etc/cron.weekly/cleanup-crash-reports > /dev/null << 'EOF'
#!/bin/bash
/usr/local/bin/cleanup-crash-reports.sh
EOF
sudo chmod +x /etc/cron.weekly/cleanup-crash-reports
Проверка
После удаления краш-файлов:
# Убедиться, что краш-файлы удалены
sudo ls -lh /var/crash/
# Должно быть пусто или показать только новые краш-файлы (если есть)
Примечания
- Краш-файлы обычно создаются при падении программ
- Если краш произошел давно и система работает нормально, можно безопасно удалить старые файлы
- Если краши повторяются часто, стоит проверить системные логи и обновить соответствующие пакеты
- Подробнее о работе с крашами: docker-compose-crash-fix.md
- Повторяющиеся ошибки и приоритет их решения: recurring-errors-priority-2026-02-11.md
Заметки
[Добавьте типичные проблемы и их решения]