Отключить автодобавление сетевых принтеров

Для отключения автодобавления

sudo systemctl stop cups-browsed
sudo systemctl disable cups-browsed

Для последующего включения или отключения

sudo systemctl start cups-browsed
sudo systemctl stop cups-browsed

Php 8.0. Mysql-pdo Could not find driver

На рабочей станции после обновления php до версии 8.0 столкнулся с проблемой не рабочего mysql-pdo. При подключении к базе данных получал ошибку.

Одна жди у меня уже была похожая проблема после обновления до php7 И здесь я писал как ее решить:

PDOException “could not find driver”

На этот раз я решил ее следующим способом:

Отключил старую версию php

sudo a2dismod php7.4

Включил новую версию

sudo a2enmod php8.0

Перезагрузил веб-сервер

sudo a2enmod php8.0

 

Как отключить строгий режим MySQL

После установки и настройки нового веб сервера на ubuntu 20.04 lts и установки MariaDB, столкнулся с проблемами mysql, были ошибка типа:

Truncated incorrect DOUBLE value

Field ‘filed_name’ doesn’t have a default value

 Incorrect integer value: » for column ‘field_name’ at row 1

и т.д.

Оказалось проблема в строгом режиме MySQL. Нужно его временно отключить, т.к. сервер в продакшене.

Проверить режим MySQL через phpmyadmin

Переменные->sql_mode

sql_mode phpmyadmin

Отключаем строгий режим через phpmyadmin

Выполняем запрос:

set global sql_mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Как включить строгий режим через phpmyadmin

set global sql_mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Перегрузим мускул

sudo service mysql restart

PDOException “could not find driver”

После обновления до последней LTS версии убунты 20.04, не смог открыть локальный сайт:

PDOException “could not find driver”

Подумал что-то не так с модулем php-mysql или pdo, пробовал обновлять, переустанавливать, ничего не получилось. 

Проверяем свою версию php через терминал:

php -v

Создаем файл в директории сайта со следующим текстом:


phpinfo(); 
?>

Здесь у меня почему-то версия php 7.3 вместо php 7.4.

Проверяем через терминал все установленные версии php на компьютере:

sudo update-alternatives --config php
Установленные версии php на компьютере

Попытался переключиться на php 7.4.

Перегрузил веб-сервер

sudo service apache2 restart

Проверил снова phpinfo. не помогло, так и висит php 7.3

Плюнул, удалил все версии 7.*

sudo apt-get purge php7.*

Установил последнюю актуальную, 7.4

sudo apt install php libapache2-mod-php php-mysql

Перезапустил апач. Проверил сайт. Все работает 🙂 

Возможно придется установить phpmyadmin

sudo apt install phpmyadmin

Если после установки увидели ошибку 500. Установите нужный модуль

sudo apt install php-mbstring

Перезагрузите апач. И на этом все) 

sudo service apache restart

Настройка аппаратного рейда через биос

Настройка BIOS

Заходим в биос. Меняем конфигурацию диска

Advanced -> IDE/SATA Configuration

Bios IDE/SATA Configuration

Меняем Configure SATA#1. Выбираем: RAID

Bios Configure SATA#1

Boot -> Boot Device Priority -> 1st Boot Device: Raid Intel raid

Bios 1st Boot device

Сохраняем конфигурацию диска и выходим с биоса.

Настройка RAID

Перегружаемся, в загрузочном окне нас встречает надпись с просьбой нажать: CTRL + i для настройки рейда. 

Внимание. У меня почему-то не получалось зайти, такое впечатление, что система не успевала распознать комбинацию. Поэтому, как только появляется первое загрузочное окно. Зажимаем CTRL и нажимаем постоянно i пока не прогрузится настройка рейда.

Открываем Create RAID Volume

Create RAID Volume

В нашем случае настраиваем RAID1. Зеркалирование дисков. 

Name — название рейда

RAID Level — уровень рейда, у нас RAID1(Mirror)

Конфигурация рейда

Disks: Выбираем диски для рейда. Соглашаемся на удаление всех данных с дисков.

Все остальное по умолчанию, и нажимаем Create Volume

Выбираем диски для рейда 1

Теперь у нас два диска в рейде. Нажимаем Exit для выхода. 

Настроенный редй1

Как очистить inodes на сервере

Сегодня утром меня разбудили звонком. На работе сайт. Открыл, смотрю не погружается. Пошел смотреть логи, а там ошибка:

No Space Left On Device

Проверяем свободное место на диске:

df -h
Место надиске

Место на диске есть, странно.

Закончились иноды? Проверим.

Пошел гуглить, посоветовали проверить иноды:

df -i

full inodes

На скриншоте выше у меня вместо 60% было 100%. 

Как найти директории которые заполнены файлами, инодами? 

Выполняем команду

sudo find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n
Количество файлов в директории

Как оказалось в директории tmp сайта. Временные фалы php-сессий, почему-то перестали очищаться. Раньше такой проблемы не было.

Как удалить иноды?

Очищаем папку от всех файлов старше 7 дней tmp:

sudo find /var/www/clients/client1/web1/tmp -mtime +7 -delete

Через несколько минут все заработало. Осталось разобраться почему так случилось, ти почему сессии перестали очищаться самостоятельно.