четверг, 30 января 2014 г.

IBM DS3512 - сброс пароля

Подключаемся к массиву:



telnet 1.1.1.1
 
Вводим логин и пароль:

login: shellUsr
Password: wy3oo&w4
 
Выполняем:



loadDebug
setSAPassword_MT ""
unld "Debug"

 
Если не сработало - пробуем:
isp clearSYMbolpassword
или
isp clearSYMbolPassword 
 

понедельник, 28 января 2013 г.

Собираем nginx с поддержкой image_filter

предполагаем, что устанавливаем nginx-1.2.6
устанавливаем необходимые пакеты:
aptitude install dh-make libpcre3-dev zlib1g-dev libgd2-noxpm-dev libssl-dev
apt-get source nginx
добавляем требуемый модуль:
nano nginx-1.2.6/debian/rules
./configure --with-http_image_filter_module
Компилируем пакет:
dpkg-buildpackage -us -uc -nc
устанавливаем, получившийся пакет:
dpkg -i dpkg -i nginx_1.2.6...
запрещаем автообновление пакета:
aptitude hold nginx

вторник, 25 декабря 2012 г.

OpenVZ: Unable to stop container: operation timed out

OpenVZ при попытке остановить виртуальную машину выдает ошибку: Unable to stop container: operation timed out 

Для решения проблемы требуется остановить контейнер

Способ 1 
"pstree -nup | grep init" - выясняем pid процессов init;
vzpid pid - ищем какой init-процесс принадлежит нашему контейнеру;
убиваем child-процессы

 Способ 2
удаляем  из /var/lib/vz/lock соответсвующий .lck файл
выполняем vzctl chkpnt id-контейнера --kill

четверг, 13 декабря 2012 г.

Bash учебное пособие. Часть 6: Структура If…then…else

if...else...fi позволяют вам сделать выбор основанный на справедливости выражения. Как пример, определить существует ли файл или нет, и в зависимости от этого предпринять какие-то действия.
If...then...else...fi синтаксис:
if [ условие ]
then
 если условие справедливо
 выполнить все команды до else или
 до fi
else
 если условие не справедливо
 выполнить все команды до fi
fi
Очень важно запомнить, ваша конструкция должна всегда заканчиваться на словом fi!

Выражения используемые с if
В приведенной внизу таблице содержаться операторы которые выполняют команду test или набор команд. Эти операторы заключаются в квадратные скобки [] для проверки выполнения условия.
[ -a FILE ] Правда елси FILE существует.
[ -b FILE ] Правда елси FILE существует и это специальный блоковый файл.
[ -c FILE ] Правда елси FILE существует и это специальный знаковый файл.
[ -d FILE ] Правда елси FILE существует и это директория.
[ -e FILE ] Правда елси FILE существует.
[ -f FILE ] Правда елси FILE существует и это регулярный файл.
[ -g FILE ] Правда елси FILE существует и установлен SGID бит.
[ -h FILE ] Правда елси FILE существует и это символический ссылка.
[ -k FILE ] Правда елси FILE существует и второй промежуточный бит округления установлен.
[ -p FILE ] Правда елси FILE существует и это named pipe (FIFO).
[ -r FILE ] Правда елси FILE существует и он доступен на чтение.
[ -s FILE ] Правда елси FILE существует и больше нуля.
[ -u FILE ] Правда елси FILE существует и SUID (set user ID) бит установлен.
[ -w FILE ] Правда елси FILE существует и он доступен на запись.
[ -x FILE ] Правда елси FILE существует и он доступен на исполнение.
[ -O FILE ] Правда елси FILE существует принадлежит существующему пользователю
[ -G FILE ] Правда елси FILE существует принадлежит существующей группе.
[ -L FILE ] Правда елси FILE существует и это символический ссылка.
[ -N FILE ] Правда елси FILE существует и был изменен с тех пор как был прочитан.
[ -S FILE ] Правда елси FILE существует и это сокет.
[ FILE1 -nt FILE2 ] Правда, если файл FILE1 изменялся чаще чем FILE2, или есои FILE1 существует, а FILE2 нет.
[ FILE1 -ot FILE2 ] Правда, если файл FILE1 старше чем FILE2, или FILE1 существует, а FILE2 нет.
[ FILE1 -ef FILE2 ] Правда, если FILE1 и FILE2 относятся к одному устройству и номеру инода.
[ -o OPTIONNAME ] Правда если shell опция "OPTIONNAME" включена.
[ -z STRING ] Правда если длинна "STRING" равна 0.
[ -n STRING ] or [ STRING ] Правда если длинна "STRING" не равна 0.
[ STRING1 == STRING2 ] Правда если выражения эквивалентны. 
[ STRING1 != STRING2 ] Правда если выражения не эквивалентны.
[ STRING1 < STRING2 ] Правда если "STRING1" лексикографически упорядоченно до "STRING2".
[ STRING1 > STRING2 ] Правда если "STRING1" лексикографически упорядоченно после "STRING2".
[ ARG1 OP ARG2 ] "OP" это один из следующих параметров -eq, -ne, -lt, -le, -gt or -ge. Эти бинарные арифметические 
операторы возвращают результат "правда" если "ARG1" эквивалентен(-eq), не эквивалентен(-ne), меньше чем(-lt), 
меньше или эквивалентен(-le), больше чем(-gt), больше или эквивалентно(-ge) к "ARG2".  
[ ! EXPR ] правда если выражение EXPR не справедливо.
[ ( EXPR ) ] возвращает значение EXPR. Это может быть использовано для изменения приоритета операторов.
[ EXPR1 -a EXPR2 ] правда, если оба выражения EXPR1 и EXPR2 справедливы.
[ EXPR1 -o EXPR2 ] правда, если хотя бы одно выражение EXPR1 или EXPR2 справедливы.
Давайте перейдем к примерам. Создадим скрипт который будет определять положительное или отрицательное введенное нами число:
#!/bin/bash
read -p "Введите число : " n
if [ $n -ge 0 ];
then
 echo "$n положительное число."
else
 echo "$n отрицательное число."
fi
другой пример, определим, существует ли введенный нами пользователь:
#!/bin/bash
read -p "Введите имя пользователя : " USER
if ! grep $USER /etc/passwd
then
 echo "$n не существует."
else
 echo "$n существует."
fi
Восклицательный знак перед grep $USER /etc/passwd, говорит о том, что условие выполниться если пользователя не существует. А теперь давайте перепишем этот скрипт только используя специальный параметр $? который мы рассматривали в третем уроке:
#!/bin/bash
read -p "Введите имя пользователя : " USER
grep $USER /etc/passwd
if [ $? -ne 0 ]; 
then
 echo "$n не существует."
else
 echo "$n существует."
fi
Пример использование сравнения строк. скрипт будет проверять root вы или нет:
#!/bin/bash
if [ "$(whoami)" != 'root' ]; then
        echo "У вас нет прав для запуска $0."
        exit 1;
fi
данный скрипт можно переписать короче:
#!/bin/bash
[ "$(whoami)" != 'root' ] && ( echo У вас нет прав для запуска; exit 1 )
Вы так же можете использовать регулярные выражения. Как пример. пускай наш скрипт определяет содержит ли введенный нам текст букву "ч":
#!/bin/bash
LATTER="ч"
read -p "Введите предложение : " STR
if [[ "$STR" == *$LATTER* ]]; 
then
 echo "$LATTER найдено."
else
 echo "$LATTER не найдено."
fi
Несколько слов по поводу использования двойных и одинарных квадратных скобок. При использовании двойных скобок ваши переменный не будут разбиты на несколько отдельных слов если вы использовали пробел, как пример, переменная VAR="var with space" будет единым целым.

По материалам http://eddnet.org/?p=1311

четверг, 13 октября 2011 г.

Смена локали

Если вам нужно сменить локаль в системе выполните команду и выберите нужную: sudo dpkg-reconfigure locales

четверг, 6 октября 2011 г.

Обновление Centos

yum clean all
yum update glibc\*
yum update yum\* rpm\* pyth\*
yum clean all
yum update mkinitrd nash
yum update selinux\*
yum update
shutdown -r now

пятница, 28 января 2011 г.

ISPConfig - Hosting Control Panel Software (Open Source)

Особенности:
* Manage multiple servers from one controlpanel
* Web server management
* Mail server management (with virtual mail users)
* DNS server management (BIND and MyDNS)
* Administrator, reseller and client login
* Configuration mirroring and clusters
* Open Source software (BSD license)

http://www.ispconfig.org/