Что то типа путевых записок, и размышлений об жизни, ну и о FreeBSD конечно, иногда какие нибудь новости и что то типа переводов.

16.06.2011

echo "20110615 $post" >> /life/notebook/UPDATING

Что то меня на днях пробило обновить систему, в принципе я это делаю довольно систематично, но из за приступа хандры как то поднакопилось обновлений, в том числе довольно критичных. Так что решил не только
# portmaster -ad
прогнать, но и наконец то очистить /etc/libmap.conf от скопившегося там хлама. Для начала почему portmaster, так как вроде раньше не писал. Ну во первых это клёво, и всего навсего набор .sh скриптов, кстати для тех кто хочет поучить sh говорят весьма познавательно. Но работает просто таки на ура, так что всем тем кто ещё не пробовал очень советую. Основные патерны использования, как это не странно описаны в man, и можно зачастую ими и ограничится, хотя из частого я ещё смотрю что обновилось и иногда "чиню" зависимости
# portmaster -L | grep New
# portmaster -y --index --check-depends
в связи с экспериментами с AWS EC2, думаю ещё будет актуально поднять своё зеркало пакетов, с нужными зависимостями, и юзать флаг -PP, да и для VPS ки может пригодится, хотя и не так актуально. Да с portmaster есть одно примечание, если долго не обновляетесь, а это весьма динамично изменяющийся пакет, то его стоит обновить первым, и отдельно от остальных.
Итак потом была чистка /etc/libmap.conf, вообще то этого файла у многих нет и это пожалуй правильно, но иногда он весьма удобен, особенно если вы пользуетесь CURRENT, но иногда ленитесь подолгу обновлять софт, ну или апгрейдитесь между ветками и тоже с софтом возится лениво.
Принцип несложен, коментируете всё его содержание, если не трусы, то просто затираете и запускаем что надо, следя за выводом в консоли или в файле ~/.xsession-errors, ошибка обычно выглядит как то так
/libexec/ld-elf.so.1: Shared object "libutil.so.7" not found, required by "sudo"
Хотя иногда не так банально написано для чего нужна эта библиотека, может быть другая либа, или вообще функция. Так же может выдавать схожую ошибку при сборке какого то порта. Если в required by указана не программа виновник, то оно в принципе довольно легко обычно ищется в первых страницах гугла.
Ну а найдя "виновника" его нужно просто пересобрать. И так до полного пропадания таких ошибок, обычно их не так уж и много, если не запускать процесс.
Ещё был прикол с xmonad, собственно из-за него то этот libmap.conf вроде и завёлся, так как папочка ~/.xmonad/ исправно переезжала наверное, как раз с 7-й версии FreeBSD :)
А Xmonad с тех пор успел нехило изменится, вернее его базовые библиотеки и система подбора компонентов, в пакеты. Хитрость в том, что при значительных апдейтах, как раз из этой папочки надо убивать файл .xmonad/xmonad-x86_64-freebsd этот бинарник компилируется из .xmonad/xmonad.hs при запуске, и если его не убить как раз и требует старых библиотек. Остальные файлы там тоже можно безболезненно убить, ну кроме истории, и самописных скриптов, хотя я так и ленюсь их там завести.
Вот такая небольшая памятка, да в данный момент ещё немного сломан порт sysutils/tmux его сборка прерывается, при установленной опции
LIBEVENT2=on "Use libevent version 2"
метод по исправлению, предложен в рассылке, но из за не универсальности его не комитят в дерево портов :(

3 комментария:

  1. хм, т е надо самому отслеживать и чинить ситуацию с не теми либами? Я как-то привык, что для этого в gentoo есть специальный инструмент. Во-первых он может пересобрать всё, что хочет кукую-то либу (бывало так и пишут, типа собираешь либу - а там в конце вывода рекомендуют пересобрать всех её "клиентов"), ну а во вторых он может просто сам посмотреть чего не хватает и пересобрать это дело. revdep-rebuild зовётся http://www.gentoo.org/doc/en/gentoolkit.xml

    ОтветитьУдалить
  2. Не буду утверждать что нет, но вроде нет, есть сборка зависимых пакетов, но там ориентируется на пакет вроде. Ну и просто иногда влом пересобирать, не до того, а надо чтоб вот щас заработало, а потом ещё лень. Ну и такое случается не часто, при мажорных обновлениях в основном, ну и при переходе с ветки на ветку.
    Я там с xmonad вроде попал, что то я тогда помнится не догадался убить этот экзешничек в домашней папке юзера, а оно его видно не отслеживает, эдакая баго/фича видимо. Ну а потом понеслось что то.

    ОтветитьУдалить
  3. И кстати у генту вроде попродвинутее, в некотором смысле система портажей, многие пеняют что в портах нет чего то типа оверлеев. Но пока никто не решился внедрить что то более дельное, хотя порой порываются, вот сейчас судя по вики будет очередная попытка.

    ОтветитьУдалить

Здесь можно записать свои мысли о посте :)
Если ваш ответ не появился сразу, не паникуйте, тут работает спамоловка, и вероятно вы угодили в неё, так как были анонимом или в вашем посте ссылка, ну или вас не любит google.
Я проснусь и одобрю комент ;)