babiy

babiy
Рейтинг
56
Регистрация
06.06.2009

Многое зависит от ПО установленного на сервер и качества его настройки, так же от самой ЦМС на которой крутится сайт, но в Вашем варианте переносите без волнения, проблем не будет

доставил пакеты добавил юзера и группу что просило, компиляция прошла без привычных ошибок но не нравится мне в конце знакомое выражение


GZDIO: 316 writes, 6472768 total bytes in 3.570211 secs
D: May free Score board((nil))
D: Подпись: размер(180)+заполнение(4)
Записан: /root/rpmbuild/RPMS/x86_64/exim-debuginfo-4.63-10.x86_64.rpm
Выполняется(%clean): /bin/sh -e /var/tmp/rpm-tmp.94827
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd exim-4.63
+ rm -rf /var/tmp/exim-4.63-10-root-root
+ exit 0
Выполняется(--clean): /bin/sh -e /var/tmp/rpm-tmp.94827
+ umask 022
+ cd /root/rpmbuild/BUILD
+ rm -rf exim-4.63
+ exit 0
D: закрыт индекс базы данных /var/lib/rpm/Pubkeys
D: закрыт индекс базы данных /var/lib/rpm/Providename
D: закрыт индекс базы данных /var/lib/rpm/Packages
D: закрыто окружение базы данных /var/lib/rpm/Packages
D: May free Score board((nil))
[root@isp src]#

но пакет собрался....

---------- Post added 13-05-2012 at 23:00 ----------

Всё заработало как нужно, сейчас допишу что доделовал, думаю кому-то пригодится

globalmoney Большое человеческое спасибо!

---------- Post added 13-05-2012 at 23:44 ----------

И так боремся с зависающими процессами exim

короткий ман:

1. Проверяем, сколько система позволяет открывать файлов:


# /sbin/sysctl fs.file-max
fs.file-max = 747579

если число не большое (несколько тысяч) то правим файл /etc/sysctl.conf внеся в него желаемое количество открываемых файлов

fs.file-max = 131072

применяем изменения:

sysctl -w fs.file-max=131072

2. ставим софт необходимый для перекомпиляции я доставлял только эти пакеты

yum install kernel-headers kernel-devel glibc-kernheaders glibc-headers

3. меняем параметр FD_SETSIZE в файлах

/usr/include/bits/typesizes.h и /usr/include/linux/posix_types.h

заменив в них строку

#define __FD_SETSIZE 1024 на вашу #define __FD_SETSIZE 65536

4. скачиваем rpm пакет с сорцами для перекомпиляции нашего екзима, для начала лучше точно проверить какой стоит что бы взять идентичный пакет:

# rpm -qa | grep exim

exim-4.63-10.el5

я искал пакеты на этом сайте

переходим в директорию /usr/src и скачиваем пакет


cd /usr/src
wget ftp://ftp.pbone.net/mirror/vault.centos.org/5.8/os/SRPMS/exim-4.63-10.el5.src.rpm

5. как выяснилось для удачной компиляции екзима нужно создать юзера mockbuild и доставить ряд пакетов которые тянуться в зависимостях:


useradd mockbuild

yum install db4-devel openldap-devel pam-devel lynx pcre-devel sqlite-devel cyrus-sasl-devel mysql-devel postgresql-devel libXaw-devel libXmu-devel libXpm-devel

6. ну и наконецто пересобираем наш екзим


rpmbuild --rebuild -vv exim-4.63-10.el5.src.rpm

ключик -vv можно опустить , он позволяет видеть всё что происходит при компиляции и может быть полезен для отладки

7. ставим пересобранный екзим


rpm -Uvh --force /root/rpmbuild/RPMS/x86_64/exim-4.63-10.x86_64.rpm

8. правим скрипт запуска /etc/init.d/exim внеся в него перед всеми командами строку ulimit -n 65536

9. перезапускаем екзим /etc/init.d/exim restart и радуемся жизни....

подобную процедуру желательно проделать со всем софтом которому приходится работать с большим количеством данных, в частности чаще всего втыкаются в это ограничение апачь и nginx

Огромное спасибо всем участникам этой темы за уделённое внимание и помощь!

globalmoney:
Исправьте это и установите зависимости.
Видимо в предыдущий раз Вы не полностью скачали src.rpm пакет.

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

перезакачал пакет, ситуация чуть изменилась, зависимости тянет....

[root@isp src]# rpmbuild --rebuild -vv exim-4.63-10.el5.src.rpm

Устанавливается exim-4.63-10.el5.src.rpm
D: Ожидаемый размер: 1720760 = lead(96)+sigs(344)+pad(0)+data(1720320)
D: Фактический размер: 1720760
D: открывается окружение базы данных /var/lib/rpm/Packages joinenv
D: открывается индекс базы данных /var/lib/rpm/Packages rdonly mode=0x0
D: заблокирован индекс базы данных /var/lib/rpm/Packages
D: открывается индекс базы данных /var/lib/rpm/Pubkeys rdonly mode=0x0
D: read h# 462 Header sanity check: OK
D: ========== DSA pubkey id a8a447dc e8562897 (h#462)
D: InstallSourcePackage: Заголовок V3 DSA signature: OK, key ID e8562897
D: ========== Directories not explicitly included in package:
D: 0 /root/rpmbuild/SOURCES/
D: 1 /root/rpmbuild/SPECS/
D: ==========
предупреждение: пользователь mockbuild не существует - используется root
предупреждение: группа mockbuild не существует - используется root
D: fini 100644 1 ( 0, 0) 358 /root/rpmbuild/SOURCES/exim-4.24-libdir.patch;4faffd7e
предупреждение: пользователь mockbuild не существует - используется root
предупреждение: группа mockbuild не существует - используется root
D: fini 100644 1 ( 0, 0) 659 /root/rpmbuild/SOURCES/exim-4.33-cyrus.patch;4faffd7e
предупреждение: пользователь mockbuild не существует - используется root
предупреждение: группа mockbuild не существует - используется root

..................

D: fini 100644 1 ( 0, 0) 343 /root/rpmbuild/SOURCES/exim.trusted-configs;4faffd7e
предупреждение: пользователь mockbuild не существует - используется root
предупреждение: группа mockbuild не существует - используется root
D: fini 100664 1 ( 0, 0) 66575 /root/rpmbuild/SOURCES/sa-exim-4.2.tar.gz;4faffd7e
GZDIO: 218 reads, 1782004 total bytes in 0.004600 secs
D: ========== +++ exim-4.63-10.el5 i386/linux 0x0
D: ========== +++ exim-4.63-10 x86_64/linux 0x0
D: открывается индекс базы данных /var/lib/rpm/Depends create mode=0x0
D: открывается индекс базы данных /var/lib/rpm/Providename rdonly mode=0x0
D: Requires: db4-devel НЕT
D: пакет exim-4.63-10.x86_64 содержит неудовлетворенные Requires: db4-devel
D: Requires: openssl-devel НЕT
D: пакет exim-4.63-10.x86_64 содержит неудовлетворенные Requires: openssl-devel
D: Requires: openldap-devel НЕT
D: пакет exim-4.63-10.x86_64 содержит неудовлетворенные Requires: openldap-devel
D: Requires: pam-devel НЕT
D: пакет exim-4.63-10.x86_64 содержит неудовлетворенные Requires: pam-devel
D: Requires: lynx НЕT
D: пакет exim-4.63-10.x86_64 содержит неудовлетворенные Requires: lynx
D: Requires: pcre-devel НЕT
D: пакет exim-4.63-10.x86_64 содержит неудовлетворенные Requires: pcre-devel
D: Requires: sqlite-devel НЕT
D: пакет exim-4.63-10.x86_64 содержит неудовлетворенные Requires: sqlite-devel
D: read h# 34 Заголовок V3 DSA signature: OK, key ID e8562897
D: Requires: tcp_wrappers ДА (db provides)
D: Requires: cyrus-sasl-devel НЕT
D: пакет exim-4.63-10.x86_64 содержит неудовлетворенные Requires: cyrus-sasl-devel
D: Requires: mysql-devel НЕT
D: пакет exim-4.63-10.x86_64 содержит неудовлетворенные Requires: mysql-devel
D: Requires: postgresql-devel НЕT
D: пакет exim-4.63-10.x86_64 содержит неудовлетворенные Requires: postgresql-devel
D: Requires: libXaw-devel НЕT
D: пакет exim-4.63-10.x86_64 содержит неудовлетворенные Requires: libXaw-devel
D: Requires: libXmu-devel НЕT
D: пакет exim-4.63-10.x86_64 содержит неудовлетворенные Requires: libXmu-devel
D: read h# 698 Заголовок V3 DSA signature: OK, key ID e8562897
D: Requires: libXext-devel ДА (db provides)
D: read h# 697 Заголовок V3 DSA signature: OK, key ID e8562897
D: Requires: libX11-devel ДА (db provides)
D: read h# 700 Заголовок V3 DSA signature: OK, key ID e8562897
D: Requires: libSM-devel ДА (db provides)
D: read h# 699 Заголовок V3 DSA signature: OK, key ID e8562897
D: Requires: libICE-devel ДА (db provides)
D: Requires: libXpm-devel НЕT
D: пакет exim-4.63-10.x86_64 содержит неудовлетворенные Requires: libXpm-devel
D: read h# 701 Заголовок V3 DSA signature: OK, key ID e8562897
D: Requires: libXt-devel ДА (db provides)
D: закрыт индекс базы данных /var/lib/rpm/Depends
ошибка: Неудовлетворенные зависимости сборки:
db4-devel нужен для exim-4.63-10.x86_64
openssl-devel нужен для exim-4.63-10.x86_64
openldap-devel нужен для exim-4.63-10.x86_64
pam-devel нужен для exim-4.63-10.x86_64
lynx нужен для exim-4.63-10.x86_64
pcre-devel нужен для exim-4.63-10.x86_64
sqlite-devel нужен для exim-4.63-10.x86_64
cyrus-sasl-devel нужен для exim-4.63-10.x86_64
mysql-devel нужен для exim-4.63-10.x86_64
postgresql-devel нужен для exim-4.63-10.x86_64
libXaw-devel нужен для exim-4.63-10.x86_64
libXmu-devel нужен для exim-4.63-10.x86_64
libXpm-devel нужен для exim-4.63-10.x86_64
D: закрыт индекс базы данных /var/lib/rpm/Pubkeys
D: закрыт индекс базы данных /var/lib/rpm/Providename
D: закрыт индекс базы данных /var/lib/rpm/Packages
D: закрыто окружение базы данных /var/lib/rpm/Packages
D: May free Score board((nil))
[root@isp src]#
globalmoney:
Попробую протелепатировать, проблема в том, что Вы пытаетесь выполнить пересборку из домашнего каталога. :)

Перешёл в /usr/src пакет тоже тут же

[root@isp src]# rpmbuild --rebuild -vv exim-4.63-10.el5.src.rpm

Устанавливается exim-4.63-10.el5.src.rpm
ошибка: exim-4.63-10.el5.src.rpm не может быть установлен
D: May free Score board((nil))
[root@isp src]#
globalmoney:
А чем не устроил ман от редхат?

я изначально искал то что есть на русском

Или с английским проблема?

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

В чём именно у Вас проблема?

такс не слушается команды rpmbuild --rebuild exim-4.63-10.el5.src.rpm , сейчас подниму ман по ней, что бы основательней объяснить (если придётся) , на данный момент от того мана который показал не куда особо не отступал

---------- Post added 13-05-2012 at 21:23 ----------

[root@isp ~]# rpmbuild --rebuild -vv exim-4.63-10.el5.src.rpm
Устанавливается exim-4.63-10.el5.src.rpm
ошибка: exim-4.63-10.el5.src.rpm не может быть установлен
D: May free Score board((nil))
[root@isp ~]#


---------- Post added 13-05-2012 at 21:56 ----------

Вот вывод куска трасы при выполнении команды:

open("/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = 4

fstat(4, {st_mode=S_IFREG|0644, st_size=25464, ...}) = 0
mmap(NULL, 25464, PROT_READ, MAP_SHARED, 4, 0) = 0x2b83e3460000
close(4) = 0
futex(0x2b83df9d1f38, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/usr/lib64/gconv/KOI8-R.so", O_RDONLY) = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\4\0\0\0\0\0\0"..., 832) = 832
fstat(4, {st_mode=S_IFREG|0755, st_size=10184, ...}) = 0
mmap(NULL, 2105376, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0x2b83e3467000
mprotect(0x2b83e3469000, 2093056, PROT_NONE) = 0
mmap(0x2b83e3668000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x1000) = 0x2b83e3668000
close(4) = 0
fstat(1, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b83e366a000
poll([{fd=3, events=POLLIN}], 1, 60000) = 1 ([{fd=3, revents=POLLIN}])
read(3, " \n<HTML>\n\t<HEAD>\n\t\t<TITLE>RPM "..., 96) = 96
write(2, "\320\276\321\210\320\270\320\261\320\272\320\260: ", 14ошибка: ) = 14
write(2, "exim-4.63-10.el5.src.rpm \320\275\320\265 \320\274"..., 71exim-4.63-10.el5.src.rpm не может быть установлен
) = 71
close(3) = 0
write(2, "D: ", 3D: ) = 3
write(2, "May free Score board((nil))\n", 28May free Score board((nil))
) = 28
write(1, "\320\243\321\201\321\202\320\260\320\275\320\260\320\262\320\273\320\270\320\262\320\260\320\265\321\202\321\201\321\217 e"..., 56) = 56
exit_group(1) = ?
[root@isp ~]#

Дабы сделать тему полезной до конца ( как для себя так и для остальных) продолжим разговор, манов по изменению данного параметра не много, нашёл вот это

шагаем по ману

1.

[root@isp ~]# /sbin/sysctl fs.file-max

fs.file-max = 747579
[root@isp ~]#

тут у меня всё нормально, менять не станем

2. все нужные пакеты для перекомпиляции (вроде) стоят

3. с изменением хеадеров немного запутался а именно:

[root@isp ~]# find /usr/include/ -name typesizes.h

/usr/include/bits/typesizes.h
[root@isp ~]#

тут всё ясно , файл один и заветная строка #define __FD_SETSIZE там есть, установил её в #define __FD_SETSIZE 65536

а вот далее несколько растерялся:

[root@isp ~]# find /usr/include/ -name posix_types.h

/usr/include/asm/posix_types.h
/usr/include/linux/posix_types.h
/usr/include/asm-x86_64/posix_types.h
/usr/include/asm-i386/posix_types.h
[root@isp ~]#

искомая строка есть только в одном файле:

[root@isp ~]# cat /usr/include/asm/posix_types.h | grep __FD_SETSIZE

[root@isp ~]# cat /usr/include/linux/posix_types.h | grep __FD_SETSIZE
#undef __FD_SETSIZE
#define __FD_SETSIZE 65536
#define __FDSET_LONGS (__FD_SETSIZE/__NFDBITS)
[root@isp ~]# cat /usr/include/asm-x86_64/posix_types.h | grep __FD_SETSIZE
[root@isp ~]# cat /usr/include/asm-i386/posix_types.h | grep __FD_SETSIZE
[root@isp ~]#

там поменял остальные не трогал но сомневаюсь правильно ли.

4. скачиваем нужные пакеты для перекомпиляции, первым решил пересобрать злосчатсный экзим, дабы не напортачить смотрим какой пакет установлен

[root@isp ~]# rpm -qa | grep exim

exim-4.63-10.el5
[root@isp ~]#

находим и скачиваем объект для мучений

 wget http://rpm.pbone.net/index.php3/stat/3/srodzaj/2/search/exim-4.63-10.el5.src.rpm

ну и вот тут далее я застрял (((

5. перекомпилируем

[root@isp ~]# rpmbuild --rebuild exim-4.63-10.el5.src.rpm

Устанавливается exim-4.63-10.el5.src.rpm
ошибка: exim-4.63-10.el5.src.rpm не может быть установлен
[root@isp ~]#

и в логах ничего не нашёл что ему не понравилось...

А каким образом его увеличить?

madoff:
openfile увеличил ?

да, не помогает

madoff:
/var/log/exim/panic.log

и что тут ?

пустой этот файл

Всего: 382