Безопасность и оптимизация Linux.Редакция для Red Hat

       

Компиляция и оптимизация.


Перейдите в новый OpenLDAP каталог и введите следующие команды на вашем терминале:

Шаг 1

Важно заметить, что вы можете настроить три различных вида баз данных на использование с LDAP. Высокопроизводительная, с памятью на диске база данных “LDBM”; интерфейс базы данных к произвольным UNIX командам или shell скриптам, называемый “SHELL”; и простейшая база данных используемая в файле паролей “PASSWD”.

По умолчанию OpenLDAP подразумевает использование базы данных LDBM,так что если вы хотите настроиться на другой тип базы данных, вы должны при инсталляции определить ее. Для SHELL вы должны добавить опцию “--enable-shell”, а для PASSWD (используется как замена сервису NIS) - “--enable-passwd”.

CC="egcs" \

CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions -D_REENTRANT" \

./configure \

--prefix=/usr \

--libexecdir=/usr/sbin \

--localstatedir=/var/run \

--sysconfdir=/etc \

--enable-dns \

--enable-shared \

--with-gnu-ld \



--disable-debug

Эти опции настраивают OpenLDAP на следующее:

  • включить поддержку dns.
  • создавать совместно используемые библиотеки.
  • предполагаем, что компилятор C использует GNU ld.
  • ЗАМЕЧАНИЕ. Опции компиляции предложенные выше предполагают использование базы данных LDBM. Для других типов баз данных используйте соответствующие опции, описанные выше.

    Шаг 2

    Сейчас мы должны скомпилировать и инсталлировать OpenLDAP на сервере:

    [root@deep openldap-1.2.10]# make depend

    [root@deep openldap-1.2.10]# make

    [root@deep openldap-1.2.10]# cd tests/

    [root@deep tests]# make

    [root@deep tests]# cd ..

    [root@deep openldap-1.2.10]# make install

    Команда "make depend" будет создавать необходимые зависимости для различных файлов, “make” компилирует все файлы с исходными кодами в исполняемые двоичные файлы и затем “make install” инсталлирует исполняемые файлы и файлы поддержки в необходимые каталоги. Команда “make” в подкаталоге “/test” будет делать некоторые важные тесты для проверки функциональности вашего LDAP сервера перед инсталляцией. Если некоторые тесты закончатся ошибкой, вам необходимо исправить их перед продолжением инсталляции.


    [root@deep openldap-1.2.10]# install -d -m 700 /var/ldap

    [root@deep openldap-1.2.10]# echo localhost > /etc/openldap/ldapserver

    [root@deep openldap-1.2.10]# strip /usr/lib/liblber.so.1.0.0

    [root@deep openldap-1.2.10]# strip /usr/lib/libldap.so.1.0.0

    [root@deep openldap-1.2.10]# strip /usr/lib/libldap.a

    [root@deep openldap-1.2.10]# strip /usr/lib/liblber.a

    [root@deep openldap-1.2.10]# strip /usr/sbin/in.xfingerd

    [root@deep openldap-1.2.10]# strip /usr/sbin/go500

    [root@deep openldap-1.2.10]# strip /usr/sbin/go500gw

    [root@deep openldap-1.2.10]# strip /usr/sbin/mail500

    [root@deep openldap-1.2.10]# strip /usr/sbin/rp500

    [root@deep openldap-1.2.10]# strip /usr/sbin/rcpt500

    [root@deep openldap-1.2.10]# strip /usr/sbin/fax500

    [root@deep openldap-1.2.10]# strip /usr/sbin/slapd

    [root@deep openldap-1.2.10]# strip /usr/sbin/slurpd

    [root@deep openldap-1.2.10]# strip /usr/sbin/ldif

    [root@deep openldap-1.2.10]# strip /usr/sbin/ldif2ldbm

    [root@deep openldap-1.2.10]# strip /usr/sbin/ldif2index

    [root@deep openldap-1.2.10]# strip /usr/sbin/ldif2id2entry

    [root@deep openldap-1.2.10]# strip /usr/sbin/ldif2id2children

    [root@deep openldap-1.2.10]# strip /usr/sbin/ldbmcat

    [root@deep openldap-1.2.10]# strip /usr/sbin/ldbmtest

    [root@deep openldap-1.2.10]# strip /usr/sbin/centipede

    [root@deep openldap-1.2.10]# strip /usr/bin/ud

    [root@deep openldap-1.2.10]# strip /usr/bin/ldapadd

    [root@deep openldap-1.2.10]# strip /usr/bin/ldapsearch

    [root@deep openldap-1.2.10]# strip /usr/bin/ldapmodify

    [root@deep openldap-1.2.10]# strip /usr/bin/ldapmodrdn

    [root@deep openldap-1.2.10]# strip /usr/bin/ldappasswd

    [root@deep openldap-1.2.10]# strip /usr/bin/ldapdelete

    Команда “install” будет создавать новый каталог с именем “ldap” в каталоге “/var” и установит режим доступа к нему чтение, запись и исполнение только для суперпользователя “root” (700) из соображений безопасности. Команда “strip” будет удалять все символы из объектных файлов. Это необходимо, чтобы сделать исполняемые файлы меньшего размера.

    Очистка после работы

    [root@deep /]# cd /var/tmp

    [root@deep tmp]# rm -rf openldap-version/ openldap-version.tgz

    Команды “rm” будет удалять все файлы с исходными кодами, которые мы использовали при компиляции и инсталляции OpenLDAP. Также будет удален сжатый архив OpenLDAP из каталога “/var/tmp”.



    [root@deep postgresql-6.5.3]# mv /usr/include/os.h /usr/include/pgsql/

    [root@deep postgresql-6.5.3]# mv /usr/include/config.h /usr/include/pgsql/

    [root@deep postgresql-6.5.3]# mv /usr/include/c.h /usr/include/pgsql/

    [root@deep postgresql-6.5.3]# mv /usr/include/postgres.h /usr/include/pgsql/

    [root@deep postgresql-6.5.3]# mv /usr/include/postgres_ext.h /usr/include/pgsql/

    [root@deep postgresql-6.5.3]# mv /usr/include/libpq-fe.h /usr/include/pgsql/

    [root@deep postgresql-6.5.3]# mv /usr/include/libpq-int.h /usr/include/pgsql/

    [root@deep postgresql-6.5.3]# mv /usr/include/ecpgerrno.h /usr/include/pgsql/

    [root@deep postgresql-6.5.3]# mv /usr/include/ecpglib.h /usr/include/pgsql/

    [root@deep postgresql-6.5.3]# mv /usr/include/ecpgtype.h /usr/include/pgsql/

    [root@deep postgresql-6.5.3]# mv /usr/include/sqlca.h /usr/include/pgsql/

    [root@deep postgresql-6.5.3]# mv /usr/include/libpq++.H /usr/include/pgsql/

    [root@deep postgresql-6.5.3]# mkdir -p /usr/lib/pgsql

    [root@deep postgresql-6.5.3]# mv /usr/lib/*source /usr/lib/pgsql/

    [root@deep postgresql-6.5.3]# mv /usr/lib/*sample /usr/lib/pgsql/

    [root@deep postgresql-6.5.3]# mkdir -p /var/lib/pgsql

    [root@deep postgresql-6.5.3]# chown -R postgres.postgres /var/lib/pgsql/

    [root@deep postgresql-6.5.3]# chmod 755 /usr/lib/libpq.so.2.0

    [root@deep postgresql-6.5.3]# chmod 755 /usr/lib/libecpg.so.3.0.0

    [root@deep postgresql-6.5.3]# chmod 755 /usr/lib/libpq++.so.3.0

    [root@deep postgresql-6.5.3]# strip /usr/bin/postgres

    [root@deep postgresql-6.5.3]# strip /usr/bin/postmaster

    [root@deep postgresql-6.5.3]# strip /usr/bin/ecpg

    [root@deep postgresql-6.5.3]# strip /usr/bin/pg_id

    [root@deep postgresql-6.5.3]# strip /usr/bin/pg_version

    [root@deep postgresql-6.5.3]# strip /usr/bin/pg_dump

    [root@deep postgresql-6.5.3]# strip /usr/bin/pg_passwd

    [root@deep postgresql-6.5.3]# strip /usr/bin/psql

    [root@deep postgresql-6.5.3]# rm -f /usr/lib/global1.description

    [root@deep postgresql-6.5.3]# rm -f /usr/lib/local1_template1.description

    Команда “make” компилирует все исходные файлы в исполняемые двоичные файлы и команды “make install” инсталлирует исполняемые и все сопутствующие файлы в необходимое место. “mkdir” создаст новый каталог “pgsql” в каталогах “/usr/include” и “/usr/lib”, и затем мы переместим все подкаталоги и файлы, связанные с PostgreSQL из каталогов “/usr/include” и “/usr/lib” в “/usr/include/pgsql” и “/usr/lib/pgsql” соответственно. Команда "chown" установит правильного владельца и группу для каталога “/var/lib/pgsql”. Команда “strip” удалит все символы из объектных файлов. Это приведет к уменьшению размеров соответствующих файлов, что улучшит производительность программ. Команда “rm” удалит файлы “global1.description” и ”local1_template1.description”, которые не нужны программе PosgreSQL.


    Содержание раздела