В системах которые используют systemd локальный пользователь может перезагружать систему без авторизации командой reboot (он же alias для /bin/systemctl, он же systemctl reboot)
Что может привести к незапланированной перезагрузке, например, если ошибиться окном терминала
Чтобы это отключить в Ubuntu 16.04 создайте файл конфигурации
/etc/polkit-1/localauthority/50-local.d/99-disallow-shutdown.pkl
и в нем пропишите следующее:
[Disallow shutdown]
Identity=unix-group:*
Action=org.freedesktop.login1.reboot;org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off;org.freedesktop.login1.power-off-multiple-sessions
ResultAny=auth_admin_keep
ResultInactive=auth_admin_keep
ResultActive=auth_admin_keep
Полезные ссылки:
https://wiki.archlinux.org/index.php/Polkit_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)
http://rus-linux.net/MyLDP/sec/PolicyKit_pr1.html
Отключить push уведомления в firefox глобально для всех сайтов
Каждый раз когда мы заходим в firefox на какой-либо сайт, в нем всплывает push уведомление с предложением подписаться на новости сайта и приходится его закрывать
Как же это отключить глобально? Очень просто
about:config => dom.push.enabled, dom.webnotifications.enabled => false
И больше уведомления беспокоить не будут.
В Chrome данные настройки делаются через интерфейс
chrome://settings/content
В появившемся окне находим блок «Оповещения» и устанавливаем переключатель в положение «Не показывать оповещения на сайтах»
Как же это отключить глобально? Очень просто
about:config => dom.push.enabled, dom.webnotifications.enabled => false
И больше уведомления беспокоить не будут.
В Chrome данные настройки делаются через интерфейс
chrome://settings/content
В появившемся окне находим блок «Оповещения» и устанавливаем переключатель в положение «Не показывать оповещения на сайтах»
centos 7 : roundcube выдает ошибку Server Error (OK) при открытии папки
В лог при этом пишется Notice: No suitable function found for UTF-8 encoding in
/var/www/kdn570/html/program/lib/Roundcube/rcube_charset.php on line 276
Решение править скрипт https://www.roundcubeforum.net/index.php?topic=23440.0 у меня не заработало
Помогло обновление с 1.1.10 (штатно в репозитории CentOS 7) до 1.3.3
Решение править скрипт https://www.roundcubeforum.net/index.php?topic=23440.0 у меня не заработало
Помогло обновление с 1.1.10 (штатно в репозитории CentOS 7) до 1.3.3
bitrix выдает ошибку ERR_CONTENT_DECODING_FAILED
bitrix при открытии сайта выдает в браузере ошибку (а скажем через wget нормально открывается)
ERR_CONTENT_DECODING_FAILED
Ошибка в типе содержимого. Страница, которую вы пытаетесь просмотреть, не может быть показана, так как она использует неверную или не поддерживаемую форму компрессии
Лечение: прописать
define('BX_COMPRESSION_DISABLED',true);
в bitrix/php_interface/init.php (dbconf.php если старый и нет такого файла)
ERR_CONTENT_DECODING_FAILED
Ошибка в типе содержимого. Страница, которую вы пытаетесь просмотреть, не может быть показана, так как она использует неверную или не поддерживаемую форму компрессии
Лечение: прописать
define('BX_COMPRESSION_DISABLED',true);
в bitrix/php_interface/init.php (dbconf.php если старый и нет такого файла)
Поставить свежее ядро в Debian 8
Самый простой способ установить ядро в Debian 8 из Debian 9 - это использовать debian-backports
echo 'deb http://deb.debian.org/debian jessie-backports main contrib non-free' >> /etc/apt/sources.list
apt-get update
apt-get -t jessie-backports install linux-image-amd64
Получим более-менее свежее ядро 4.9, которое, в отличие от 3.16, работает, скажем с LSI MegaRAID 9361-4i (с новой прошивкой этот контроллер переименовался в AVAGO MegaRAID)
echo 'deb http://deb.debian.org/debian jessie-backports main contrib non-free' >> /etc/apt/sources.list
apt-get update
apt-get -t jessie-backports install linux-image-amd64
Получим более-менее свежее ядро 4.9, которое, в отличие от 3.16, работает, скажем с LSI MegaRAID 9361-4i (с новой прошивкой этот контроллер переименовался в AVAGO MegaRAID)
Посчитать объем баз данных MySQL
Посчитать объем баз
SELECT table_schema "Data Base Name",
sum( data_length + index_length ) / 1024 / 1024 "Data Base Size in MB",sum( data_free )/ 1024 / 1024 "Free Space in MB"
FROM information_schema.TABLES
GROUP BY table_schema;
Размеры всех таблиц в БД
SELECT
table_schema as `Database`,
table_name AS `Table`,
round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB`
FROM information_schema.TABLES
ORDER BY (data_length + index_length) DESC;
Студент 20 с небольшим
лет попал под автобус, и — насмерть. Очнулся на том свете. В кресле
напротив увидел кого-то, похожего на человека, но светящегося изнутри
инфракрасным светом. -Где я?
— Ты в аду, сынок. Но не бойся заранее, здесь на самом деле намного
лучше, чем описывают там, на земле. Вот ты в жизни курил?
Студент опускает глаза: — Да, курил.
— Ну значит, по понедельникам для тебя будет праздник. Это у нас день
курения. Выбор — огромный, от трубки и махорки до дорогих сигар и
кальяна. Курим весь понедельник, до поздней ночи. И пофигу астма и рак —
ты ведь уже умер! А выпить ты любил?
Студент опускает голову: — Не без этого...
— У-у! Тогда готовься к праздникам по вторникам! Этот день мы пьем весь,
с самого утра, от пива и легких вин до самых крепких напитков: самогона
и спирта. И плевать на печень: ты ведь уже умер! А как насчет
наркотиков?
Студент краснеет: — Да, бывало!
— Что ж, повеселишься по средам! У нас это день наркотиков, от самых
легких, до героина и тяжелой синтетики. Хочешь — колись, хочешь — кури, и
не бойся ни ломки, ни передоза, ни ментов — ты ведь уже умер! А с
женщинами?
Студент оживляется: — А как же!
— Тогда оторвешься по четвергам! Это у нас день повального ceкcа. Дело в
том, что женщин в аду в 10 раз больше, чем мужчин, и у тебя будет
супервыбор! А о сифилисе там всяком даже не вспоминай — ты ведь уже
умер! А не был ли ты голубым?
Студент вскидывается: -Нет, что вы!
— М-да-ссс... Вот пятницы тогда станут для тебя настоящим адом!
anekdotov.net
Оптимизация картинок по cron через jpegoptim и optipng
## Optimization jpg
15 22 * * * /usr/bin/find /var/www/*/data/www/ -type f -iregex '.*\.jpe?g' -mtime -1 -exec /usr/bin/jpegoptim --preserve --quiet {} \;
## Optimization png
15 23 * * * /usr/bin/find /var/www/*/data/www/ -type f -iregex '.*\.png' -mtime -1 -exec /usr/bin/optipng --preserve --quiet {} \;
15 22 * * * /usr/bin/find /var/www/*/data/www/ -type f -iregex '.*\.jpe?g' -mtime -1 -exec /usr/bin/jpegoptim --preserve --quiet {} \;
## Optimization png
15 23 * * * /usr/bin/find /var/www/*/data/www/ -type f -iregex '.*\.png' -mtime -1 -exec /usr/bin/optipng --preserve --quiet {} \;
bitrix ошибка : Mysql query error: Unknown or incorrect time zone: 'Europe/Moscow' (400)
bitrix выдает ошибку при открытии сайта на CentOS 7
Mysql query error: Unknown or incorrect time zone: 'Europe/Moscow' (400)
Лечение - создать базу timezone в mysql сервере:
# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql mysql
Mysql query error: Unknown or incorrect time zone: 'Europe/Moscow' (400)
Лечение - создать базу timezone в mysql сервере:
# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql mysql
Windows 2016 GPT EFI deploy из под Linux rescue
В статье пойдет речь о том, как подготовить образ windows для развертывания из под Linux systemrescuecd
Производите установку VirtualBox, он позволяет осуществлять загрузку с EFI
Используйте iso-образ windows SW_DVD9_Win_Svr_STD_Core_and_DataCtr_Core_2016_64Bit_English_-3_MLF_X21-30350.ISO и Linux диск systemrescuecd-x86-5.1.1.iso
Создаем виртуальный сервер в virtualbox с диском в 20 Gb (система умещается в 13, а в архиве и того в 5, но потребуется запас для запуска на новом сервере, под дополнительные драйвера или программы если будете их устанавливать)
В настройках виртуального сервера ставите галочку на вкладке Система - Включить EFI
Загружаетесь с iso-образа, он нормально запустится с EFI загрузчика
На этапе когда инсталлятор выведет окно разметки жесткого диска необходимо будет нажать shift+f10 и в окне cmd которое откроется конвертировать диск в GPT
diskpart
sel dis 0
clean
convert gpt
exit
После чего просто нажмите Далее и система поставится на диск с GPT разметкой
Запомните пароль администратора сервера и включите доступ по RDP - включается в Server Manager - Local Server - Remote desktop - Enabled
Установите скрипт через политики безопасности который будет запускаться при старте системы (без логина пользователя в отличие от классической автозагрузки в реестре через HKLM)
Для этого запустите
gpedit.msc -
Computer configuration - Windows Settings - Scripts (Startup/Shutdown) - Startup - c:\run.cmd
Если есть необходимость в дополнительных сетевых драйверах или программах - установите их
Теперь корректно выключите виртуальный сервер и загрузите его с systemrescuecd (кстати, он тоже поддерживает efi boot)
После чего снимите образ через dd over ssh на какой-либо свой внешний сервер который будет хранилищем попутно сжимая его через gzip
dd if=/dev/sda bs=64k | pv | gzip | ssh storage@storage.com "cat > /storage/windows2016"
Сжатый образ будет занимать 5 Gb
Затем пишем скрипт установки сервера который будет выкачивать образ по ssh c storage.com и распаковывать на новом сервере и производить настройку статического ip адреса и активацию ОС, я привожу его максимально упрощенную версию
Также его можно использовать и для windows 2012 с отличиями в запуске netsh
#!/bin/bash
ssh storage@storage.com dd if=/storage/windows2016 bs=64k | gunzip | pv | dd of=/dev/sda bs=64k
blockdev --rereadpt /dev/sda
sleep 5
mount /dev/sda4 /mnt
cat <<EOF > /mnt/run.cmd
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
Reg Add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /V ClearDll /D "cmd /C Del /F /Q C:\run.cmd" /f
for /f "delims=" %%a in ('netsh interface ip show interface ^| find /i "1500" ^| find /i " connect"') do (set "string=%%a")
for /f "tokens=5,6" %%a in ('echo %string%') do (set "name=%%a %%b")
netsh interface ipv4 set address name="%name%" static `ifconfig | grep 'inet ' | grep -v 127.0.0.1 | awk '{print $2}'` `ifconfig | grep 'inet ' | grep -v 127.0.0.1 | awk '{print $4}'` `netstat -nr |awk -F ' ' '{print $2}' |egrep -v 'IP|Gateway|0.0.0.0'`
netsh interface ipv4 set dnsservers name="%name%" static 8.8.8.8 primary
timeout 10 > NUL
%windir%\system32\slmgr.vbs -ipk XXXX-XXXX-XXXX-XXXX
%windir%\system32\slmgr.vbs -ato
del c:\run.cmd
EOF
unix2dos /mnt/run.cmd
umount /mnt
Далее для развертывания системы просто загружаем исходный сервер в Linux rescue и выполняем это скрипт
После успешного копирования образа перезагружаемся и включаем в BIOS загрузку с UEFI
После загрузки Windows 2016 необходимо зайти в Управление дисками и там увеличить размер диска c: до необходимого вам
Известные баги скрипта:
Если интерфейс на сервере один и не сменит имя (это маловероятно так как windows найдет все равно новую сетевую карту) (скажем будет называться "Ethernet"), то скрипт настроить его не сможет, так как будет искать "Ethernet " поскольку пробел в (set "name=%%a %%b") ставится искусственно (иначе будет пытаться настраивать "Ethernet2" вместо "Ethernet 2"
Производите установку VirtualBox, он позволяет осуществлять загрузку с EFI
Используйте iso-образ windows SW_DVD9_Win_Svr_STD_Core_and_DataCtr_Core_2016_64Bit_English_-3_MLF_X21-30350.ISO и Linux диск systemrescuecd-x86-5.1.1.iso
Создаем виртуальный сервер в virtualbox с диском в 20 Gb (система умещается в 13, а в архиве и того в 5, но потребуется запас для запуска на новом сервере, под дополнительные драйвера или программы если будете их устанавливать)
В настройках виртуального сервера ставите галочку на вкладке Система - Включить EFI
Загружаетесь с iso-образа, он нормально запустится с EFI загрузчика
На этапе когда инсталлятор выведет окно разметки жесткого диска необходимо будет нажать shift+f10 и в окне cmd которое откроется конвертировать диск в GPT
diskpart
sel dis 0
clean
convert gpt
exit
После чего просто нажмите Далее и система поставится на диск с GPT разметкой
Запомните пароль администратора сервера и включите доступ по RDP - включается в Server Manager - Local Server - Remote desktop - Enabled
Установите скрипт через политики безопасности который будет запускаться при старте системы (без логина пользователя в отличие от классической автозагрузки в реестре через HKLM)
Для этого запустите
gpedit.msc -
Computer configuration - Windows Settings - Scripts (Startup/Shutdown) - Startup - c:\run.cmd
Если есть необходимость в дополнительных сетевых драйверах или программах - установите их
Теперь корректно выключите виртуальный сервер и загрузите его с systemrescuecd (кстати, он тоже поддерживает efi boot)
После чего снимите образ через dd over ssh на какой-либо свой внешний сервер который будет хранилищем попутно сжимая его через gzip
dd if=/dev/sda bs=64k | pv | gzip | ssh storage@storage.com "cat > /storage/windows2016"
Сжатый образ будет занимать 5 Gb
Затем пишем скрипт установки сервера который будет выкачивать образ по ssh c storage.com и распаковывать на новом сервере и производить настройку статического ip адреса и активацию ОС, я привожу его максимально упрощенную версию
Также его можно использовать и для windows 2012 с отличиями в запуске netsh
#!/bin/bash
ssh storage@storage.com dd if=/storage/windows2016 bs=64k | gunzip | pv | dd of=/dev/sda bs=64k
blockdev --rereadpt /dev/sda
sleep 5
mount /dev/sda4 /mnt
cat <<EOF > /mnt/run.cmd
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
Reg Add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /V ClearDll /D "cmd /C Del /F /Q C:\run.cmd" /f
for /f "delims=" %%a in ('netsh interface ip show interface ^| find /i "1500" ^| find /i " connect"') do (set "string=%%a")
for /f "tokens=5,6" %%a in ('echo %string%') do (set "name=%%a %%b")
netsh interface ipv4 set address name="%name%" static `ifconfig | grep 'inet ' | grep -v 127.0.0.1 | awk '{print $2}'` `ifconfig | grep 'inet ' | grep -v 127.0.0.1 | awk '{print $4}'` `netstat -nr |awk -F ' ' '{print $2}' |egrep -v 'IP|Gateway|0.0.0.0'`
netsh interface ipv4 set dnsservers name="%name%" static 8.8.8.8 primary
timeout 10 > NUL
%windir%\system32\slmgr.vbs -ipk XXXX-XXXX-XXXX-XXXX
%windir%\system32\slmgr.vbs -ato
del c:\run.cmd
EOF
unix2dos /mnt/run.cmd
umount /mnt
Далее для развертывания системы просто загружаем исходный сервер в Linux rescue и выполняем это скрипт
После успешного копирования образа перезагружаемся и включаем в BIOS загрузку с UEFI
После загрузки Windows 2016 необходимо зайти в Управление дисками и там увеличить размер диска c: до необходимого вам
Известные баги скрипта:
Если интерфейс на сервере один и не сменит имя (это маловероятно так как windows найдет все равно новую сетевую карту) (скажем будет называться "Ethernet"), то скрипт настроить его не сможет, так как будет искать "Ethernet " поскольку пробел в (set "name=%%a %%b") ставится искусственно (иначе будет пытаться настраивать "Ethernet2" вместо "Ethernet 2"
rbd to qcow2 file format
# rbd export vm5891121 vm5891121.img -p volumes
# qemu-img convert -f raw -O qcow2 vm5891121.img vm5891121.qcow2
# qemu-img convert -f raw -O qcow2 vm5891121.img vm5891121.qcow2
Подписаться на:
Сообщения (Atom)