Титла: проблем с еднакви имена на споделени библиотеки Публикувано от: iskren в Jul 04, 2008, 16:08 Здравейте!
До сега по принцип ползвах файърфокс инсталиран от репотата на федората, бях си сложил даже 3ката (от development), но много crash-ваше затова си сложих и 2ката (свалена от официалния сайт). Сега обаче реших да си сложа и 3ката от официалния сайт... е да ама има библиотеки които се намират във папката на ff2 и се казват по същия начин като тези, намиращи се във папката на ff3. Сложил съм пътя до 2те в /etc/ld.so.conf.d и съм написал ldconfig, но както се сещате това не оправя нещата. Та въпроса ми е има ли начин да кажа всяка версия да си ползва нейните без да се налага постоянно едит във /etc/ld.so.conf.d и ldconfig. Мисля че ако преименувам някой споделен файл няма да го намери споделената версия (ако сложа примерно номера на подверсията - защото в момента проблема е че новия файърфокс използва споделен файл със същото име, но по нова версия във същност) Титла: проблем с еднакви имена на споделени библиотеки Публикувано от: phantomlord в Jul 04, 2008, 18:39 Имах подобен проблем с vmware, когато имаше две библиотеки с различни версии, но от един и същ тип. Реших го така:
Надявам се да те ориентира. Титла: проблем с еднакви имена на споделени библиотеки Публикувано от: gat3way в Jul 04, 2008, 20:18 Мдам, един шел скрипт дето ти вдига firefox-a и сетва преди това LD_PRELOAD е добра идея. Има един друг (тъп) вариант, който е удобен, но не е за препоръчване:
1) Единият firefox го правиш suid-нат. Не е задължително собственикът на binary-то да е root, дори хич не е препоръчително, просто трябва да е някой съществуващ потребител със съществуваща home директория 2) В /etc/ld.so.preload слагаш пълните пътища до .so файловете, използвани от другият firefox. 3) Спокойно можеш да си стартираш първият firefox, защото suid ELF binary-тата когато се зареждат и изпълняват, игнорират LD_PRELOAD и това в /etc/ld.so.preload. Така няма да се занимаваш със шел скриптове дето ти стартират други версии на браузъра. Лошото е че се създава излишен хаос и когато забравиш за тази манипулация и си ъпдейтнеш браузъра през пакетния мениджър ще си имаш драми ![]() Нооо така пък става ![]() Между другото доста old-school рууткитове ползваха /etc/ld.so.preload за да hook-ват glibc функции и да се крият и да правят пакости ![]() Титла: проблем с еднакви имена на споделени библиотеки Публикувано от: iskren в Jul 05, 2008, 11:12 Мерси много за отговорите!
Вчера пробвах със LC_PRELOAD, но не се получи:
Интересното е че като ползвам скрипта firefox (а не директно изпълнимия firefox-bin) той някак си оправя нещата ... но го прегледах и не разбирам как точно го прави ![]() А пък за /etc/ld.so.preload ... там ако сложа един so файл ми излизат през 5 сек съобщения на конзолата че не може да го прелоудне - т.е това по скоро разбрах че опитва да зареди файлове в рамта, които евентуално ще се ползват за да се намали времето за стартиране. За сега ще ползвам скриптовете (firefox) които преди не ползвах, защото като подам опция -p даваха грешка (после се оказа че за линукс трябва да е -profilemanager) и разреших проблема. |