Окт 052013
 

Как создать .tar.gz или .tar.bz2

tar -cvf file.tar /full/path — создать .tar

tar -czvf file.tar.gz /full/path — создать .tar.gz (архив)
tar -cjvf file.tar.bz2 /full/path — создать .tar.bz2 (архив)

Синтаксис этих примеров:
tar [-ключи] [название архива] [путь, что запаковать]

Как открыть (распаковать) .tar

Чтобы распаковать запаковыный .tar:

tar -xvf file.tar.gz

Синтаксис:
tar [-ключи] [название архива]

В файлах .tar можно хранить несколько папок (структуру папок и файлов).
Лучше использовать с ключами для архивации файла .tar, чтобы в результате получились файлы с расширением .tar.gz (файл .tar сжатый архиватором gzip) или .tar.bz2 (файл .tar сжатый bzip2).
bzip2 лучше сжимает, но с gzip более распространён, поэтому лучше сжимать этим архиватором.
Если у вас установлен WinRAR, то проблем с открытием .tar.bz2 и .tar.gz не будет.

Сен 132013
 

Не выводится CDR во Elastix

В один прекрасный вечер, решил я обновить свой сервер Elastix, нарушив правило Админа, не трогай пока все работает 🙂

Elastix взят из сборки с официального сайта. Операционка CentOS, ядро на нем уже старенькое 2.6.18.

Набираю я магические клавиши:

# yum update -y && yum upgrade -y

Первая ошибка которая произошла после обновления уже была мной описана раньше Обновление Elastix, ошибка связанная с DB.php, тоесть система просто недоустановила необходимый модуль.

Вторая ошибка вообще банальна до крику, но ужасна до паралича ip-атс, перестала обновляться запись в CDR, вообще не писались записи, ни в CSV, ни в логи. Поверхностный осмотр пациента ни к чему не приводил. Поискал пару часиков в Поисковиках, никакой похожих ситуаций не нашел.

Ну и по счастливой случайности я залез в файл cdr.conf, смотрел на него вдоль и в поперек, наблюдая правильные настройки. Увидел краем ока одну странную штуку дважды прописан enable = yes, но второй выглядел в такой форме:

enable = yes'.

Он у меня находился на строке 126.
Оказался перенесенным комментарием, я вернул строку на место, тоесть в коменты 😉 , и вуаля, все заработало.
Шайтам прямо.

Сен 122013
 

Обновление Elastix, ошибка связанная с DB.php

В один прекрасный вечер я решил обновить своей сервер на CentOS.
После обновления полезна странная ошибка:

Warning: require_once(DB.php): failed to open stream: No such file or directory in /WWW/xxx.php on line 2
Fatal error: require_once(): Failed opening required 'DB.php' (include_path='.:/usr/share/php:/usr/share/pear') in /WWW/xxx.php on line 2

Решение оказалось простым, просто не установилась необходимая библиотека.
Решается нехватка данной библиотеки просто:

# pear install DB
Янв 182013
 

Добавляем более одного, два и более IP в CentOS 5

Обычно мы используем на одно устройство по одному IP адресу.
Но допустим Вам необходимо настроить какое то устройство которое подключили удаленно, и оно находится в другой под сети.

У нас есть один IP на интерфейсе eth0:

eth0 Link encap:Ethernet HWaddr 00:26:B9:2A:B9:13
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0

Нам нужен еще один IP на том же сетевом интерфейсе (пусть для определенности это будет 192.168.20.200).
Для этого нужно отправится в директории /etc/sysconfig/network-scripts/

Скопировать существующий интерфейс:

cp ifcfg-eth0 ifcfg-eth0:0

Отредактировать скопированный файл:

nano ifcfg-eth0:0
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.20.200
NETMASK=255.255.255.255

После проделанных процедур нужно перезапустить сетевые службы:

service network restart

Выполняем ifconfig и видим, что появился “алиас” eth0:0

eth0:0 Link encap:Ethernet HWaddr 00:26:B9:2A:B9:13
inet addr:192.168.0.200 Bcast:192.168.0.11 Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:185 Base address:0xa000

Если потребуется добавить еще несколько IP, то добавляем соответственно файлы ifcfg-eth0:X, где X – 1,2,3 и так далее.
(ifcfg-eth0:1, ifcfg-eth0:2, ifcfg-eth0:3)

Если требуется “навесить” на сетевой интерфейс последовательность из IP-адресов (допустим такой вот диапазон: (192.168.0.200-220), то можно воспользоваться следующей конфигурацией.
Создаем файл /etc/sysconfig/network-scripts/ifcfg-eth0-range0:

IPADDR_START=192.168.0.200
IPADDR_END=192.168.0.220
NETMASK=255.255.255.255
CLONENUM_START=1
NO_ALIASROUTING=yes

Перезапускам сетевые службы:

service network restart

В результате появятся 20 алиасов.

Если Вам необходимо разово добавить адресс из командной строки, достаточно ввести:

ifconfig eth0:0 inet 192.168.0.200/32
Янв 052013
 

Сброс привилегий для MySQL root аккаунта windows, unix, debian, freebsd, centos

Я работал с HeidiSQL фронт-енд для MySQL и каким-то образом удалось удалить все привилегии из базы данных root аккаунта во время редактирования других учетных записей пользователей. Само собой разумеется, ни один из других аккаунтов не имел доступ к административной части MySQL.

Как восстановить доступ к MySQL root аккаунту

К счастью, MySQL предоставляет возможность обойти привилегии для всех учетных записей пользователей, как необходимо в таких ситуациях. Вот шаги, чтобы включить этот параметр:

1. Перейдите в папку установки MySQL.
Возможный путь к MySQL серверу

Windows:
C:/Program Files/MySQL/MySQL Server 5.1
Debian:
/etc/mysql/
FreeBSD:
/var/db/mysql
CentOS:
/etc

Нахождение конфигурационного файла может отличатся.

2. Откройте файл my.ini в вашем текстовом редакторе
В некоторых версиях MySQL этот файл называется my.cnf

3. В [mysqld] данного файла добавьте следующие строки:

skip-grant-tables

4. Перезапустите сервер MySQL, допустим в Service Manager в Windows.

Теперь Вы сможете войти на сервер MySQL с помощью любой из ваших учетных записей, в том числе и root аккаунт. Воспользовавшись вашим любимым инструментом для исправления привилегий таблицы, исправьте root или добавить другие учетные записи пользователей по мере необходимости.