putty — не верное отображение символов в MC — qqqqqq

Часто бывает что при заходе на сервер через Putty встречаешь «аброкадабру» вместо букв в Midnight Commander (MC) или неверное отображение псевдографики (линии отображаются qqqqqqqqqqq…) Обычно это решается выставлением правильной кодировки в настройках Putty:

Window -> Translation -> Remote character set

Устанавливаем ту же кодировку что и на удаленном сервере. Обычно это UTF-8

Чтобы узнать какая кодировка используется на сервере вводим ssh команду:

locale

В ответ сервер выдает что-то типа:

LANG=ru_RU.UTF-8
LC_CTYPE=»ru_RU.UTF-8″
LC_NUMERIC=»ru_RU.UTF-8″
LC_TIME=»ru_RU.UTF-8″
LC_COLLATE=»ru_RU.UTF-8″
LC_MONETARY=»ru_RU.UTF-8″
LC_MESSAGES=»ru_RU.UTF-8″
LC_PAPER=»ru_RU.UTF-8″
LC_NAME=»ru_RU.UTF-8″
LC_ADDRESS=»ru_RU.UTF-8″
LC_TELEPHONE=»ru_RU.UTF-8″
LC_MEASUREMENT=»ru_RU.UTF-8″
LC_IDENTIFICATION=»ru_RU.UTF-8″
LC_ALL=

Это значит что кодировка используемая в консоли ru_RU.UTF-8. Выставляем в Putty UTF-8 и все должно заработать нормально.

Однако бывает что в ответ на команду locale сервер выдает:

LC_CTYPE=»POSIX»
LC_NUMERIC=»POSIX»
LC_TIME=»POSIX»
LC_COLLATE=»POSIX»
LC_MONETARY=»POSIX»
LC_MESSAGES=»POSIX»
LC_PAPER=»POSIX»
LC_NAME=»POSIX»
LC_ADDRESS=»POSIX»
LC_TELEPHONE=»POSIX»
LC_MEASUREMENT=»POSIX»
LC_IDENTIFICATION=»POSIX»
LC_ALL=

Это значит что локаль на сервере не настроена.

Чтобы посмотреть предустановленые локали:

locale -a | grep ru

Сервер выдаст что-то типа:

ru_RU
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8

Видим что необходимая локаль есть ru_RU.utf8

Чтобы настроить использование ее в консоли создаем файл /etc/sysconfig/i18n командой:

touch /etc/sysconfig/i18n

После чего в файл пишем следующие строки:

LANG=»ru_RU.UTF-8″
SUPPORTED=»ru_RU.UTF-8:ru_RU:ru»
SYSFONT=»latarcyrheb-sun16″

Сохраняем файл и выходим из консоли. Заходим снова. И наблюдаем что всее символы отображаются корректно.

Если при использовании команды

locale -a | grep ru

в списке нет необходимой локали. То нужно ее установить командой:

localedef -i ru_RU -f UTF-8 ru_RU.UTF-8

Эта команда извлечет из папки /usr/share/i18n/charmaps файл UTF-8.gz (символьная карта для юникода) и сгенерирует нужный нам файл ru_RU.UTF-8

Работа с жесткими дисками FreeBSD

Вывести список установленных жестких дисков:

# geom disk list
# atacontrol list

Если есть программный RAID массив, посмотреть его статус:
# atacontrol status ar0

Установка MC

Вобщем не только MC (Midnight Commander). Механизм установки программы такой:
Ищем место расположение ее:
#whereis mc

Сервер ответит
mc: /usr/ports/misc/mc

Если не найдет, то нужно сперва установить порты

Переходим в директорию программы
#cd /usr/ports/misc/mc
Читать далее «Установка MC»

Установка и обновление портов Free BSD

Если не установлены устанавливаем:
#portsnap fetch
#portsnap extract

Обновляем командой:
#portsnap update
Читать далее «Установка и обновление портов Free BSD»

Просмотр установленных модулей Nginx

Чтобы посмотреть какие модули собраны в установленном Nginx, нужно ввести в командной строке:
# nginx -V
Читать далее «Просмотр установленных модулей Nginx»

Выполнение PHP через Cron

Для выполнения php скрипта по расписанию, можно использовать Cron. Для этого нужно внести изменения в таблице Crontab. В системе на FreeBSD таблицы находятся в var/cron/tabs/

Внесение следующей строчки:

*/1 * * * * /usr/local/bin/php -q /home/user/data/www/mysite.ru/mysctypt.php

делает автоматическое выполнение скрипта mysctypt.php каждую минуту (*/1 ).
/usr/local/bin/php -q — путь до интерпретатора php с параметром -q, чтобы не выводить http-заголовки.

Сетевая нагрузка сервера на Linux

Сразу скажу. чтобы прикратить выполнение некоторых команд в окне терминала назмите Ctrl+С. Эти команды позволят просмотреть количество коннектов на сервер, и возможно отследить DDoS атаку.

Число процессов Apache:
ps aux | grep httpd |wc -l

Число коннектов на 80 порт:
netstat -na | grep :80 | wc -l

Посмотреть много ли разных IP:
netstat -na | grep :80 | grep SYN | sort -u | more

На какой домен чаще всего идут запросы:
tcpdump -npi eth0 port domain

Статус Apache:
apachectl status

Посмотреть откуда IP или Domain:
whois xxx.xxx.xxx.xxx

или
jwhois xxx.xxx.xxx.xxx

С какого IP сколько запросов:
netstat -na | grep :80 | sort | uniq -c | sort -nr | more

Количество соединений с сервером:
cat /proc/net/ip_conntrack | wc -l

IP которые соединены с сервером и какое количество соединений по каждому IP
netstat -anp |grep ‘tcp\|udp’ | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n

Проверяем на SYNC flood:

netstat -n -p | grep SYN_REC| awk ‘{print $5}’|awk -F: ‘{print $1}’ | sort -n | uniq -c | sort -nr | head -n10