Здраствуйте.
Обновил FreeBSD с 5.4 до 6.0Появилась ошибка:
/libexec/ld-elf.so.1: Shared object "libmysqlclient.so.14" not foundУстановил порты COMPAT4x и COMPAT5x
Все равно непомогает!Если удалить порт mysql41-client и тут же его установить то программы (netams, sams) запускаются и работают нормально, но если перезагрузить то опять выскакивает эта ошибка.
Помогите разобраться!файл /etc/make.conf
CPUTYPE?=pentium3
NO_ACPI=true
NO_USB=true
NO_PROFILE=true
NO_BLUETOOTH=true
NO_GAMES=true
NO_PF=true
NO_LPR=true
BOOTWAIT=0
DOC_LANG=en_US.ISO8859-1 ru_RU.KOI8-R
COMPAT1X=no
COMPAT20=no
COMPAT21=no
COMPAT22=no
COMPAT4x=yes
COMPAT5x=yes
PERL_VER=5.8.8
PERL_VERSION=5.8.8Обновлялся:
cd /usr/src
make buildworld
make buildkernel KERNCONF=GENERIC
make installkernel KERNCONF=GENERIC
reboot
shutdown now
cd /usr/src/
mergemaster -p
make installworld
mergemaster
exit
>Если удалить порт mysql41-client и тут же его установить то программы (netams,
>sams) запускаются и работают нормально, но если перезагрузить то опять выскакивает
>эта ошибка.А собственно netams и sams пересобрать не пробовали?
>Здраствуйте.
>Обновил FreeBSD с 5.4 до 6.0
>
>Появилась ошибка:
>/libexec/ld-elf.so.1: Shared object "libmysqlclient.so.14" not found
>
>Установил порты COMPAT4x и COMPAT5x
>Все равно непомогает!
>
>Если удалить порт mysql41-client и тут же его установить то программы (netams,
>sams) запускаются и работают нормально, но если перезагрузить то опять выскакивает
>эта ошибка.А порты не пробовал накатить после перезда.
>
>файл /etc/make.conf
>CPUTYPE?=pentium3
>NO_ACPI=true
>NO_USB=true
>NO_PROFILE=true
>NO_BLUETOOTH=true
>NO_GAMES=true
>NO_PF=true
>NO_LPR=true
>BOOTWAIT=0
>DOC_LANG=en_US.ISO8859-1 ru_RU.KOI8-R
>COMPAT1X=no
>COMPAT20=no
>COMPAT21=no
>COMPAT22=no
>COMPAT4x=yes
>COMPAT5x=yes
>PERL_VER=5.8.8
>PERL_VERSION=5.8.8
>
>Обновлялся:
>cd /usr/src
>make buildworld
>make buildkernel KERNCONF=GENERIC
>make installkernel KERNCONF=GENERIC
>reboot
>shutdown nowСмысла не пойму. зачем? достаточно было boot -s. Не всегда все службы стопорятся.
>cd /usr/src/
>mergemaster -p
>make installworld
>mergemaster
>exitЧестно говоря лень, но все же прочитал еще раз UPDATING
To upgrade in-place from 5.x-stable or higher to 6.x-stable
-----------------------------------------------------------
<make sure you have good level 0 dumps>
make buildworld [9]
make kernel KERNCONF=YOUR_KERNEL_HERE [8]
[1]
<reboot in single user> [3]
mergemaster -p [5]
make installworld
mergemaster -i [4]
<reboot>Найдите различия.
Посмотрел, различий не нашел.
Конечно вместо двух строк.
make buildkernel KERNCONF=GENERIC
make installkernel KERNCONF=GENERIC
можно писать
make kernel KERNCONF=GENERIC
и не перзагружаться а сразу shutdown now
Но принципиальной разницы нет.Всем спасибо.
я вроде нашел где кроется проблема.
Сравнивал системные файлы с другим серваком, на котором изначально устанавливалась FreeBSD 6.0, подозрение вызвало то что в /etc/rc.d/ отсутствовал файл ldconfig_compat! Скопировал файл, перезагружаю работает!
Сейчас инфу собираю про ldconfig и ldconfig_compat
>Всем спасибо.
>я вроде нашел где кроется проблема.
>Сравнивал системные файлы с другим серваком, на котором изначально устанавливалась FreeBSD 6.0,
>подозрение вызвало то что в /etc/rc.d/ отсутствовал файл ldconfig_compat! Скопировал файл,
>перезагружаю работает!
>Сейчас инфу собираю про ldconfig и ldconfig_compat
>Посмотрел, различий не нашел.
>Конечно вместо двух строк.
>make buildkernel KERNCONF=GENERIC
>make installkernel KERNCONF=GENERIC
>можно писать
>make kernel KERNCONF=GENERIC
>и не перзагружаться а сразу shutdown now
>Но принципиальной разницы нет.
>
Невнимательно смотрелиmergemaster -p [5]
make installworld
mergemaster -i [4]Внимательно почитайте про ключи mergemaster. Это раз
Их привели именно в такой последовательности отнюдь не зря - это два.
Одна из самых распространненных ошибок при прыжке - забыть ключ -i или использовать его перед make installworld вместе с ключем -p
>Невнимательно смотрели
>
> mergemaster -p
>
>
> [5]
> make installworld
> mergemaster -i
>
>
> [4]
>
>Внимательно почитайте про ключи mergemaster. Это раз
>Их привели именно в такой последовательности отнюдь не зря - это два.
>
>Одна из самых распространненных ошибок при прыжке - забыть ключ -i или
>использовать его перед make installworld вместе с ключем -pНаоборот очень внимательно смотрел, вот man mergemaster
-i Automatically install any files that do not exist in the des-
tination directory.
А мне нафиг не надо автоматически инсталировать все файлы, это даже вредно сразу многие сервисы отвалятся, так как автоматически поменяются /etc/master.passwd, /etc/group,/etc/hosts и другие придется долго возиться что бы восстановить все конфигурационные файлы, а в ручном режиме смотришь и говоришь установить новую версию файла или оставить старую или слить два файла в один, а потом удалить ненужные строки. По моему так проще чем восстанавливать потом из архива и все равно удалять лишние строчки.
>>Невнимательно смотрели
>>
>> mergemaster -p
>>
>>
>> [5]
>> make installworld
>> mergemaster -i
>>
>>
>> [4]
>>
>>Внимательно почитайте про ключи mergemaster. Это раз
>>Их привели именно в такой последовательности отнюдь не зря - это два.
>>
>>Одна из самых распространненных ошибок при прыжке - забыть ключ -i или
>>использовать его перед make installworld вместе с ключем -p
>
>Наоборот очень внимательно смотрел, вот man mergemaster
> -i
> Automatically install any files that do not exist
>in the des-
>
> tination directory.
>А мне нафиг не надо автоматически инсталировать все файлы, это даже вредно
>сразу многие сервисы отвалятся, так как автоматически поменяются /etc/master.passwd, /etc/group,/etc/hosts и
>другие придется долго возиться что бы восстановить все конфигурационные файлы, а
>в ручном режиме смотришь и говоришь установить новую версию файла или
>оставить старую или слить два файла в один, а потом удалить
>ненужные строки. По моему так проще чем восстанавливать потом из архива
>и все равно удалять лишние строчки.вы обновляли 5.4 до 6.0, объясните тогда пАчему вам нужно ДВА КОМПАТА: 4.x и 5.x?!
после обновления 5.4 -> 6.0 в /libexec и в /usr/libexec и /usr/lib образуется каша
из актуальных 6.0 библиотек и старых 5.4.5.4 вы ставили с НУЛЯ или обновляли?
Два компата мне не нужны, просто так получилось что я искал причину почему у меня вылазит ошибка, и вот сначала ставил компат4х а когда не помогла попытался исправить с помощью компата5х, а 5.4 ставил с нуля.
>Два компата мне не нужны, просто так получилось что я искал причину
>почему у меня вылазит ошибка, и вот сначала ставил компат4х а
>когда не помогла попытался исправить с помощью компата5х, а 5.4 ставил
>с нуля.советую забить на старые сборки и СРОЧНО все пересобрать из портов, особенно ВСЕ что
было собрано с ТРЕДАМИ.Достаточно безболезненно прыгать было по веткам: 3.x -> 4.x, 4.x -> 5.x
4.x -> 6.x и 5.x -> 6.x довольно неприятно, лучше не заниматься этим спортом на
БОЕВЫХ серверах.
Считается что безболезненно прыгать ВНУТРИ ветки(branch) с релиза на релиз, НО
с ВЕТКИ на ВЕТКИ всегда есть подводные камни. Хоть 5'ую ветку и нельзя назвать
показательной, но даже внутри нее переходы 5.2.1 -> 5.3 и 5.3 -> 5.4 могли мало-мало
попортить нервы.
>4.x -> 6.x и 5.x -> 6.x довольно неприятно, лучше не заниматься этим спортом наlavr, поделись рецептом, как прыгать на прямую, в обход 5-ки на 6-ую ветку. Мои эксперименты никчему хорошему не привели. Приходится прыгать минимум до 5.3 первоначально, а только потом на 6-ку.
>БОЕВЫХ серверах.
> Считается что безболезненно прыгать ВНУТРИ ветки(branch) с релиза на релиз, НО
>
>с ВЕТКИ на ВЕТКИ всегда есть подводные камни. Хоть 5'ую ветку и
>нельзя назвать
>показательной, но даже внутри нее переходы 5.2.1 -> 5.3 и 5.3 -> 5.4 могли мало-мало
>попортить нервы.
Ну поповоду остального немного не соглашусь. Если правильно подойти то можно прыгать. К примеру у меня так несколько удаленных серверов прыгало. Просто внимательно надо смотреть что меняется, а что нет. И сначала на локальном тазике с таким же софтом.
Единственное исключение - 4-ая ветка, когда катил до 6-ки, непомню точно что, но заставила какаязто гадость накатываться именно до 5-ки или 6-ки. Там жестко в синг уходить надо. И нужно возле кмпа быть либо проситть саппорт удаленный проделать ряд операций.Насчет каши да, либ остается в поряде, но не столь глобально, лишние вычистить не проблема тем более, что базовый набор не такой большой :).
>
>>4.x -> 6.x и 5.x -> 6.x довольно неприятно, лучше не заниматься этим спортом на
>
>lavr, поделись рецептом, как прыгать на прямую, в обход 5-ки на 6-ую
>ветку. Мои эксперименты никчему хорошему не привели. Приходится прыгать минимум
>до 5.3 первоначально, а только потом на 6-ку.да нет рецепту, просто имелось ввиду за два приема как ты и написал.
>>БОЕВЫХ серверах.
>> Считается что безболезненно прыгать ВНУТРИ ветки(branch) с релиза на релиз, НО
>>
>>с ВЕТКИ на ВЕТКИ всегда есть подводные камни. Хоть 5'ую ветку и
>>нельзя назвать
>>показательной, но даже внутри нее переходы 5.2.1 -> 5.3 и 5.3 -> 5.4 могли мало-мало
>>попортить нервы.
>
>
>Ну поповоду остального немного не соглашусь. Если правильно подойти то можно прыгать.ну да, да, но очень сильно зависит от того ЧТО и КАК СОБИРАЛОСЬ.
>К примеру у меня так несколько удаленных серверов прыгало. Просто внимательно
>надо смотреть что меняется, а что нет. И сначала на локальном
>тазике с таким же софтом.полностью согласен
>Единственное исключение - 4-ая ветка, когда катил до 6-ки, непомню точно что,
>но заставила какаязто гадость накатываться именно до 5-ки или 6-ки. Там
>жестко в синг уходить надо. И нужно возле кмпа быть либо
>проситть саппорт удаленный проделать ряд операций.да, если не ошибаюсь - смена местоположения ядра и что-то еще, тоже не помню...
те у принципе можно 4.x -> 6.0 если оно рядом под рукой, удаленно лучше не делать.>Насчет каши да, либ остается в поряде, но не столь глобально, лишние
>вычистить не проблема тем более, что базовый набор не такой большой
>:).ну да, на все требуется время, опыт и экперименты.
Натрахавшись с 2.x -> 3.x -> 4.x - я просто завязал делать такие апгрейды и писать
руководства по апгрейдам с ветки на ветку. Даже когда практически ВСЕ расписано на
листочке и делаешь не первый раз - много ЛИШНИХ сил, нервов и главное времени уходит.
Для себя выяснил что проще поднимать сбоку.
> Для себя выяснил что проще поднимать сбоку.;)
>
>Наоборот очень внимательно смотрел, вот man mergemaster
> -i
> Automatically install any files that do not exist
>in the des-
>
> tination directory.
>А мне нафиг не надо автоматически инсталировать все файлы, это даже вредно
>сразу многие сервисы отвалятся, так как автоматически поменяются /etc/master.passwd, /etc/group,/etc/hosts иВообще-то там по ходу задаются вопросы, что менять, а что нет.
>другие придется долго возиться что бы восстановить все конфигурационные файлы, а
>в ручном режиме смотришь и говоришь установить новую версию файла или
>оставить старую или слить два файла в один, а потом удалить
>ненужные строки. По моему так проще чем восстанавливать потом из архива
>и все равно удалять лишние строчки.:)
Не поленитесь и посмотрите различия в /etc на 5-й ветке и на 6-й. Особо обратите внимание на /etc/rc.d
Вопрос тогда, как разгребать кашу /usr/lib/ /usr/libexec
насколько безопастно удалить /usr/lib/* и скопировать библиотеки с сервера на котором изначально устанавливалось FreeBSD 6.0
>Вопрос тогда, как разгребать кашу /usr/lib/ /usr/libexec
>насколько безопастно удалить /usr/lib/* и скопировать библиотеки с сервера на котором изначально
>устанавливалось FreeBSD 6.0если вы удалите /usr/lib/* - система рухнет. есть утилиты mtree, diff - что мешает
ими воспользоваться?
>>Вопрос тогда, как разгребать кашу /usr/lib/ /usr/libexec
>>насколько безопастно удалить /usr/lib/* и скопировать библиотеки с сервера на котором изначально
>>устанавливалось FreeBSD 6.0
>
>если вы удалите /usr/lib/* - система рухнет. есть утилиты mtree, diff -
>что мешает
>ими воспользоваться?
Да конечно, буду стараться сделать правильно, но вот как система рухнет если скажем я подключусь локально в single mode, /usr/lib/* с FreeBSD 6.0 будут уже скопированы в /tmp
ls -lo /usr/lib | grep schg
-r--r--r-- 1 root wheel schg 112972 Jun 4 21:28 libc_r.so.6
-r--r--r-- 1 root wheel schg 148304 Jun 4 21:28 libpthread.so.2
-r--r--r-- 1 root wheel schg 74252 Jun 4 21:28 libthr.so.2Только эти библиотеки имеют флаг schg и их менять не надо они уже от 6.0
Но я не настаиваю, конечно буду думать, спрашивать, опять думать и так семь раз!
>>>Вопрос тогда, как разгребать кашу /usr/lib/ /usr/libexec
>>>насколько безопастно удалить /usr/lib/* и скопировать библиотеки с сервера на котором изначально
>>>устанавливалось FreeBSD 6.0
>>
>>если вы удалите /usr/lib/* - система рухнет. есть утилиты mtree, diff -
>>что мешает
>>ими воспользоваться?
>Да конечно, буду стараться сделать правильно, но вот как система рухнет если
>скажем я подключусь локально в single mode, /usr/lib/* с FreeBSD 6.0
>будут уже скопированы в /tmp
>ls -lo /usr/lib | grep schg
>-r--r--r-- 1 root wheel schg 112972 Jun
>4 21:28 libc_r.so.6
>-r--r--r-- 1 root wheel schg 148304 Jun
>4 21:28 libpthread.so.2
>-r--r--r-- 1 root wheel schg 74252 Jun
> 4 21:28 libthr.so.2
>
>Только эти библиотеки имеют флаг schg и их менять не надо они
>уже от 6.0
>Но я не настаиваю, конечно буду думать, спрашивать, опять думать и так
>семь раз!вы снова НЕ ПОНЯЛИ:
- ЗАЧЕМ использовать маску "*"
в чем проблемы сделать ls -la /usr/lib (libexec) на машинах:
- чистая 6.0
- апгрейд с 5.4 -> 6.0и посмотреть ЧТО нужно просто удалить на последней (5.4->6.0)
>вы снова НЕ ПОНЯЛИ:
>
>- ЗАЧЕМ использовать маску "*"
>
>в чем проблемы сделать ls -la /usr/lib (libexec) на машинах:
>- чистая 6.0
>- апгрейд с 5.4 -> 6.0
>
>и посмотреть ЧТО нужно просто удалить на последней (5.4->6.0)
Спасибо за ответ!
Только я понял, просто лень знаете ли, думал одной командой удалить, другой вставить, раз и я в дамках.
>>вы снова НЕ ПОНЯЛИ:
>>
>>- ЗАЧЕМ использовать маску "*"
>>
>>в чем проблемы сделать ls -la /usr/lib (libexec) на машинах:
>>- чистая 6.0
>>- апгрейд с 5.4 -> 6.0
>>
>>и посмотреть ЧТО нужно просто удалить на последней (5.4->6.0)
>Спасибо за ответ!
>Только я понял, просто лень знаете ли, думал одной командой удалить, другой
>вставить, раз и я в дамках.ну да, начнешь сие делать через copy в mc и система рухнет на libc
расписывать это лень было...
FreeBSD 6.0
поставил 4.1.7 mysql
конфигурирую pvpgnв логах ошибка /libexec/ld-elf.so.1: Shared object "libmysqlclient.so.14" not found, required by "conftest"
echo compat5x_enable="YES" >> /etc/rc.conf
>Наоборот очень внимательно смотрел, вот man mergemaster
> -i
> Automatically install any files that do not exist
>in the destination directory.
>А мне нафиг не надо автоматически инсталировать все файлы, это даже вредно
>сразу многие сервисы отвалятся, так как автоматически поменяются /etc/master.passwd, /etc/group,/etc/hosts и
>другие придется долго возиться что бы восстановить все конфигурационные файлы
[skipped]Значит, читали внимательно, но не поняли сути :)
Ключ -i автоматически устанавливает файлы, которых нет в каталоге назначения (/etc). Но это не критично, без этого ключа mergemaster просто будет спрашивать, устанавливать новый файл или нет.
Перечисленные же вами файлы при указании этого ключа не будут заменены без запроса. Уж поверьте мне, я использую этот ключ при каждом апгрейде и никаких проблем он мне не создавал.А относительно старых библиоткек - читайте внимательно /usr/src/UPDATING.
Чтобы удалить файлы, не используемые текущей сборкой, нужно выполнить make delete-old. Аналогично, чтобы удалить не используемые текущей сборкой библиотеки, выполняется make delete-old-libs (если мне память не изменяет).Кстати, внимательное прочтение файлов /usr/src/UPDATING и /usr/ports/UPDATING позволяет избежать подобных проблем, поскольку все критические изменения там документированы. А в качестве бонуса часто приведен и наиболее универсальный способ решения возможной проблемы.
Такое соблюдение нехитрых правил позволило мне совершенно безболезненно проапгрейдиться с 5.4 до 6.0 в свое время. Потом постепенно были пересобраны все порты и к 6.1 система уже работала без старых версий библиотек.
--
Jay
>Посмотрел, различий не нашел.
>Конечно вместо двух строк.
>make buildkernel KERNCONF=GENERIC
>make installkernel KERNCONF=GENERIC
>можно писать
>make kernel KERNCONF=GENERIC
>и не перзагружаться а сразу shutdown now
>Но принципиальной разницы нет.
>
>Всем спасибо.
>я вроде нашел где кроется проблема.
>Сравнивал системные файлы с другим серваком, на котором изначально устанавливалась FreeBSD 6.0,
>подозрение вызвало то что в /etc/rc.d/ отсутствовал файл ldconfig_compat! Скопировал файл,
>перезагружаю работает!
>Сейчас инфу собираю про ldconfig и ldconfig_compatу меня фрибсд 5.4
проблема такая же ldconfig_compat отсутствует а откуда его взять?