Многое зависит от ПО установленного на сервер и качества его настройки, так же от самой ЦМС на которой крутится сайт, но в Вашем варианте переносите без волнения, проблем не будет
доставил пакеты добавил юзера и группу что просило, компиляция прошла без привычных ошибок но не нравится мне в конце знакомое выражение
GZDIO: 316 writes, 6472768 total bytes in 3.570211 secsD: 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 0D: закрыт индекс базы данных /var/lib/rpm/PubkeysD: закрыт индекс базы данных /var/lib/rpm/ProvidenameD: закрыт индекс базы данных /var/lib/rpm/PackagesD: закрыто окружение базы данных /var/lib/rpm/PackagesD: 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
Огромное спасибо всем участникам этой темы за уделённое внимание и помощь!
по поводу юзера и группы как я понял из большинства манов это просто рекомендация делать это от непривилигированного юзера, а зависимости сейчас доставлю
перезакачал пакет, ситуация чуть изменилась, зависимости тянет....
[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]#
Перешёл в /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]#
я изначально искал то что есть на русском
та не то что бы проблема, но более и менее ответственные вещи стараюсь делать по стабильно понятным мне манам, когда нет достаточной информации на русском то изучаю маны на английском, но даже "уверенным" не могу себя назвать в знании английского, пока что...
такс не слушается команды 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 ~]#
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 ~]#
и в логах ничего не нашёл что ему не понравилось...
А каким образом его увеличить?
да, не помогает
пустой этот файл