sadm.magnus.pp.ru Заметки крошки-админа

21 March 2008

Добавляем вторую копию postfix'а

Filed under: Компьютеры и интернет — Tags: — Magnus @ 17:46

1. Добавляем IP-адрес на сервере.
2. Копируем директорию /etc/postfix со всеми файлами в новую директорию:

[~]# cp -rp /etc/postfix /etc/postfix-out

3. Правим файл конфигурации main.cf новой копии /etc/postfix/main.cf

queue_directory = /var/spool/postfix-out

3. Создаем дополнительную директорию spool для новой копии:

[~]# mkdir /var/spool/postfix-out

Создаем структуру внутри директории:

[~]# postfix -c /etc/postfix-out check

4. Правим файлы конфигурации.
Правим файл конфигурации main.cf основной копии /etc/postfix/main.cf и добавляем следующую строку в начале файла:

alternate_config_directories = /etc/postfix-out

Таким образом мы сообщаем Postfix'у о наличии второй копии.

Затем правим /etc/postfix/main.c и изменяем следующую настройку:

inet_interfaces = 192.168.1.2

5. Запуск и управление.
Запускаем таким же образом, как и основную - командой postfix start с добавлением ключа -c, в котором указывается путь к директории конфигруции:

[~]# postfix -c /etc/postfix-out start

Управление осуществляется теми же самыми командами - postfix, postdrop и т.п. с добавлением ключа -c.
Можно так же указать путь к директории конфигурации в переменной окружения MAIL_CONFIG.

11 December 2007

Работаем со SCSI-устройствами в Linux

Filed under: Компьютеры и интернет — Tags: — Magnus @ 11:16

Посмотреть подключенные устройства:

[~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: SEAGATE  Model: ST336704LC       Rev: 0004
Type:   Direct-Access                    ANSI SCSI revision: 03
Host: scsi1 Channel: 00 Id: 06 Lun: 00
Vendor: ESG-SHV  Model: SCA HSBP M16     Rev: 0.05
Type:   Processor                        ANSI SCSI revision: 02

Добавить устройство:

[~]# echo "scsi add-single-device <h> <b> <t> <l>" > /proc/scsi/scsi

где переменные host, bus (channel), target (scsi id) и lun
Например,

[~]# echo "scsi add-single-device 1 0 1 0" > /proc/scsi/scsi

Удалить устройство:

echo "scsi remove-single-device 1 0 1 0" > /proc/scsi/scsi

10 December 2007

OpenSSL - шпаргалка

Filed under: Компьютеры и интернет — Tags: — Magnus @ 16:05

Генерация нового личного ключа (private key) и запроса на подпись сертификата (CSR)

openssl req -out MYCSR.csr -pubkey -new -keyout MYKEY.key

Генерация CSR для существующего личного ключа

openssl req -out MYCSR.csr -key MYKEY.key -new

Генерация CSR на основе существующего сертификата

openssl x509 -x509toreq -in MYCRT.crt -out MYCSR.csr -signkey MYKEY.key

Создаем самоподписанный (self-signed) сертификат

openssl req -x509 -new -out MYCERT.crt -keyout MYKEY.key -days 365

Создаем самоподписанный (self-signed) сертификат с подписью CA (Certificate Authority) на основе CSR

openssl -x509 req -days 365 -in MYCSR.csr -CA MYCACERT.crt -CAkey MYCAKEY.key -set_serial 01 -out MYCERT.crt

Проверка CSR

openssl req -text -noout -verify -in MYCSR.csr

Проверка сертификата

openssl x509 -in MYCERT.crt -text -noout

Проверяем, подходит ли ключ к сертификату

openssl x509 -noout -modulus -in server.crt | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5

27 November 2007

Что бы мы делали без замечательной утилиты crle?

Filed under: Компьютеры и интернет — Tags: — Magnus @ 14:53

В процессе компилирования необходимого набора программ для 64 бит, я в очередной рад воспользовался замечательной утилитой crle, и снова отметил, насколько проще становится жизнь если её использовать.

В странице-руководстве (man crle) сказано вот что:

The crle utility provides for the creation and display of a runtime linking configuration file. The configuration file is read and interpreted by the runtime linker, ld.so.1(1), during process start-up.

И именно этим утилита и полезна - можно указать, где компоновщику следует искать необходимые библиотеки в первую очередь, и многие проблемы пропросту исчезнут.

Так что бы мы делали без этой замечательной утилиты? Всё очень просто:

1) указывали бы обязательно дополнительные параметры для компиляторов - пути к библиотекам с параметрами -L и -R
2) Пользовались бы старой и надёжной переменной LD_LIBRARY_PATH, которая так же позволяет указывать каталоги, откуда компоновщику стоит брать библиотеки.

Мало того, что это неудобно потому, что нужно тратить дополнительное время, так ещё и настройки эти годятся только для конкретного пользователя - и любой другой, кто захочет использовать скомпилированную с помощью подобных ухищрений программу, вынужден будет делать то же самое - устанавливать себе аналогичное значение LD_LIBRARY_PATH.

А с crle всё гораздо проще:

для просмотра текущих параметров работы компоновщика (списков каталогов), нужно просто запустить команду:

-bash-3.00$ crle
Default configuration file (/var/ld/ld.config) not found
Default Library Path (ELF): /lib:/usr/lib (system default)
Trusted Directories (ELF): /lib/secure:/usr/lib/secure (system default)

для просмотра конфигурации при работе компоновщика с 64-битными объектами, нужно указать соответствующий параметр:

-bash-3.00$ crle -64
Configuration file [version 4]: /var/ld/64/ld.config
Default Library Path (ELF): /lib/64:/usr/lib/64:/usr/sfw/lib/64
Trusted Directories (ELF): /lib/secure/64:/usr/lib/secure/64 (system default)

Command line:
crle -64 -c /var/ld/64/ld.config -l /lib/64:/usr/lib/64:/usr/sfw/lib/64

И как видно из примера, достаточно выполнить вот такую команду, чтобы добавить новый каталог к списку тех, где компоновщик будет искать библиотеки. Например, если я хочу добавить к списку свой собственный каталог /export/soft/lib/64, то сделать это можно вот так:

-bash-3.00$ crle -64 -c /var/ld/64/ld.config -l /lib/64:/usr/lib/64:/usr/sfw/lib/64:/export/soft/lib/64

Источник: http://solaris.reys.net/2006/04/crle

21 November 2007

Как использовать в awk и sed внешнюю переменную

Filed under: Компьютеры и интернет — Tags: , , — Magnus @ 16:58

В awk:

[~]$ A="aaa"
[~]$ echo '' | awk -v a=${A} '{print a}'
aaa

В sed:

[~]$ A="old"
[~]$ B="oldstring"
[~]$ echo $B | sed 's/'$A'/new/g'
newstring
« Newer PostsOlder Posts »

Powered by WordPress