Monthly Archive for July, 2012

Asterisk-1.8 на Debian 6.0.5 Squeeze

  1. Устанавливаем Debian
  2. Устанавливаем пакет python-software-properties:
    sudo apt-get install python-software-properties
  3. Импортируем public-key:
    sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 175E41DF
    Если будут проблемы с импортированием, можно попробовать вот так:wget http://packages.asterisk.org/keys/175E41DF.pub -O - | sudo apt-key add -
  4. Добавляем в /etc/apt/sources.list репозиторий:
    deb http://packages.asterisk.org/deb squeeze maindeb-src http://packages.asterisk.org/deb squeeze main
  5. Опциональнодобавляем репозиторий ветви Proposed:deb http://packages.asterisk.org/deb squeeze-proposed main
    deb http://packages.asterisk.org/deb squeeze-proposed main
  6. Устанавливаем:sudo apt-get update && sudo apt-get install asterisk-1.8

Чуть подробнее и по-английски – на официальном сайте: https://wiki.asterisk.org/wiki/display/AST/Asterisk+Packages

MySQL: смотрим список пользователей

Заходим в mysql под пользователем root , в базу mysql:

mysql -u root -p mysql

И смотрим всю информацию о пользователях (хранится она, как можно понять, в базе под одноименным названием “mysql”, в таблице “user”):

mysql> select * from user;

Этот запрос выведет достаточно много информации, которая некрасиво умещается на экране. Поэтому сначала можно посмотреть список колонок этой таблицы:

mysql> describe user;

… а потом сделать запрос только по интересующим нас колонкам:

mysql> select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| 127.0.0.1 | root             |
| lexus     | root             |
| localhost | debian-sys-maint |
| localhost | root             |
+-----------+------------------+
4 rows in set (0.00 sec)

Creating user petrov_ak, who will connect from anywhere (%):

mysql> CREATE USER 'petrov_ak'@'%' IDENTIFIED BY 'pAsSwOrD';
Query OK, 0 rows affected (0.00 sec)

Grant privileges. Let him SELECT only from DB ‘asterisk’, table ‘cdr’:

mysql> GRANT SELECT ON asterisk.cdr TO 'petrov_ak'@'%';
Query OK, 0 rows affected (0.00 sec)

gksu

Если не хотим пугать пользователя страшными командами в терминале, то заставить систему спросить его пароль можно использовав команду gksuGTK+ frontend for su and sudo. Вот как будет выглядеть запуск synaptic из строки по нажатию Alt-F2 и вписанной туда магической командой

gksu synaptic

Открыть видеофайл .mts в Linux

Цифровые камеры могут сохранять видео  в формате .mts. Чтобы открыть его в Линуксе, сначала конвертируем его в .mpg  , потом открываем например SMPlayer’ом:

mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:aspect=16/9:threads=4 input-file.mts -ofps 50 -fps 50 -o output_file.mpg

Также можно использовать скрипт. Условие такое – он должен лежать в домашней папке. И файлы .mts/.MTS тоже должны лежать в ней.

#!/bin/bash

for i in *.{mts,MTS}; do
mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:aspect=16/9:threads=4 $i -ofps 50 -fps 50 -o `basename $i`.mpg $i
done

Ubuntu: отключить автозапуск сервиса

И снова тут всё не в как привычной мне Slackware :)

update-rc.d apache disable

http://askubuntu.com/questions/27134/disable-autostart-for-a-service-without-uninstalling

MySQL: меняем тип столбца, переименовываем таблицу и др.

Меняем тип столбца под названием “ip” на VARCHAR(20) (был INT):

mysql> ALTER TABLE ubuntu_users MODIFY ip VARCHAR(20);

Разумеется, предполагается, что мы находимся в конкретной БД (mysql> use dbname;), содержащей таблицу “ubuntu_users”.

Подробнее тут: http://mysqlru.com/reference/data-definition/alter-table.html

О типах данных читать тут http://mysqlru.com/reference/column-types.html

===============================

Переименовываем таблицу из ubuntu_users  в ubuntu_victims:

mysql> ALTER TABLE ubuntu_users RENAME ubuntu_victims;

Подробнее тут http://mysqlru.com/reference/data-definition/rename-table.html

===============================

Добавляем столбец с названием “comment” и типом VARCHAR(50) :

mysql> ALTER TABLE ubuntu_users ADD comment VARCHAR(50);

===============================

Удаляем столбец с именем “comment”:

mysql> ALTER TABLE ubuntu_users DROP COLUMN comment;

===============================

Добавить новый числовой столбец AUTO_INCREMENT с именем "count":

mysql> ALTER TABLE ubuntu_users ADD count INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (comment);

Заметьте, что столбец "comment" индексируется, так как столбцы AUTO_INCREMENT должны быть индексированы, кроме того, столбец "comment" объявляется как NOT NULL, поскольку индексированные столбцы не могут быть NULL.

При добавлении столбца AUTO_INCREMENT значения этого столбца автоматически заполняются последовательными номерами (при добавлении записей).

Подробнее о команде SET: http://mysqlru.com/mysql-optimisation/optimising-the-server/set-option.html

==============================

Удаляем БД:

mysql> DROP DATABASE dbname;

http://mysqlru.com/reference/data-definition/drop-database.html

===============================

Получаем информацию о столбцах таблицы “ubuntu_users”:

mysql> DESCRIBE ubuntu_users;

===============================

Устанавливаем значение по умолчанию :
mysql> ALTER TABLE ubuntu_users MODIFY comment varchar Default ‘this is comment’;

Apache: tips & hints

Заметки о том, что может вылететь из головы, когда не залазишь в конфиг Apache.

——————————————————————

Alias (http://httpd.apache.org/docs/2.0/mod/mod_alias.html#alias). Создаем алиас для директории, которая на самом деле расположена вне DocumentRoot.

Alias /alexey /home/alexey/pub_html
<Directory /home/alexey/pub_html>
Order allow,deny
Allow from all
</Directory>

——————————————————————

Options Indexes. Indexes – одна из нескольких возможных Options (http://httpd.apache.org/docs/2.0/mod/core.html#options). Смысл ее такой: когда в директории нет файла, отдаваемого сервером по умолчанию (index.html и т.п.), и когда у нас прописано Options Indexes , тогда сервер выдаст листинг директории. Если же нет ни index.html, ни параметра Options Indexes, тогда сервер будет выдавать ошибку 404 при попытке открыть директорию.

Alias /alexey /home/alexey/pub_html
<Directory /home/alexey/pub_html>
Order allow,deny
Allow from all

    Options Indexes
</Directory>

——————————————————————

server-status (http://httpd.apache.org/docs/2.0/mod/mod_status.html). Отображает статус сервера.

Добавляем в конфиг:

<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from 192.168.0.0/24 127.0.0.1
</Location>

Теперь (если мы из подсети 192.168.0.0/24) можно увидеть небольшую сводку статистики работы сервера по адресу http://наш_сервер/server-status . Также можно смотреть с localhost’a, в т.ч. консольной командой ‘apachectl status’ .

——————————————————————

Order – задаёт порядок – allow или deny. Решение принимается по последнему параметру. То есть, если указано только:

Order Allow,Deny

то доступ будет запрещён. Если же прописано:

Order Allow,Deny

Allow from all

то доступ будет рзрешен всем.

Если прописано:

Order Allow,Deny

Allow from 10.4.1.0/24

то доступ будет разрешен только из сети 10.4.1.0/24.

Сгенерировать список

Сгенерировать какой-либо список, например IP-адресов для скрипта шейпера, можно например таким скриптом:

#!/bin/bash

TC=”traffic_shaping_rules_go_here 192.168.0.”

for i in `seq 1 10`;
do
echo $TC$i
done

Очистка кеша памяти в Linux

С правами администратора делаем:

sync; echo 3 > /proc/sys/vm/drop_caches

Взято отсюда .

OpenVPN в OpenBSD

OpenBSD – клиент.

В конфиге (который на ура работает в Linux), прописано “dev tun”. В OpenBSD это уже не прокатит. Надо называть интерфейс – tun0.

Не указав этот неприметный ноль, мы получим примерно такие ошибки в выводе OpenVPN’a:

ifconfig: SIOCSIFMTU: Device not configured ifconfig: SIOCGIFFLAGS: Device not configured Thu Sep 17 13:23:44 2009 OpenBSD

ifconfig failed: external program exited with error status: 1 

Thu Sep 17 13:23:44 2009 Exiting

Обсуждение проблемы тут: http://www.daemonforums.org/showthread.php?p=27062