Witam Państwa po raz pierwszy!Pisze ten post aby rozstrzygnąć pewne kwestie dotyczące pakietów które mnie prześladują a w internecie nie znalazłem na nie odpowiedzi. Nie jestem nowicjuszem jeśli chodzi o użytkowanie Ubuntu ale chciałbym zrozumieć go jeszcze lepiej.
1. Użytkuje już od dłuższego czasu moja pierwsza instalacje Ubuntu 10.10 wiec trenowałem na niej od samego początku mojej przygody z tym systemem co skutkuje tym ze na początku instalowałem pewne pakiety bez opamiętania i baczenia na ich wersje (oczywiście instalowałem je ręcznie) co spowodowało taka sytuacje ze mam zainstalowane parę wersji tego samego pakietu w innych katalogach np. posiadam biblioteki dynamiczne tego samego pakietu w katalogach:
-/usr/local/lib/libz.so -> libz.so.1.2.5
libz.so.1 -> libz.so.1.2.5
libz.so.1.2.5
-/usr/lib/libz.so -> /lib/libz.so.1.2.3.4
-/lib/libz.so.1 -> libz.so.1.2.3.4
libz.so.1.2.3.4
Rozumiem jaka jest różnica pomiędzy np libz.so a libz.so.1 jednak jak widać istnieje tu konflikt dwóch wersji biblioteki libz (libz.so.1.2.5 a libz.so.1.2.3.4) które sa w różnych katalogach umiejscowione. Strzałka '->' oznacza ze dany pakiet został uaktualniony do innej wersji. Jednak przy instalacji różnych pakietów które wymagały bibliotek które są u mnie w systemie redundowane i przy kompilacji wyskakiwał bład ze nie jest zainstalowana odpowiednia wersja danej biblioteki choć miałem ja zainstalowana w systemie ale kompilator odwoływał się do tej drugiej inne wersji. Kiedy instalowałem ręcznie dany pakiet to doszedłem do tego ze można dotrzeć do określonego 'Makefile' który kompiluje dana część pakietu i tam w nim dorzucic mu do 'gcc -L{wlasciwa sciezke do wlasciwej biblioteki dynamicznej}' i poszlo. Ale teraz instaluje aprzez apt-get i niezabardzo jest jak tam cos dorzucic bo wlasnie apt odwoluje sie do nietej wersji biblioteki co trzeba. I teraz pytanie czy jest jakaś możliwość zadania apt-get tej sciezki choc w to watpie zeby byla taka mozliwosc?A tak wogole to apt-get przeszukuje wiele katalogow w ktorych potecjalnie moze sie znajdowac wymagana biblioteka czy moze jeden konkretny w ktorym jak nie znajdzie dane biblioteki to uznaje ze jej poprostu nie ma??
Jeśli nie ma takiej możliwości to pozostaje tylko odinstalowanie starszej wersji danego pakietu ale tu zachodzi kolejny problem czyli czy jak odinstaluje dana bibliotekę dynamiczna (czyli pakiet choc nie jest to tozsame pojecie) to nie uszkodze przy tym jakis innych programow ktore jej uzywaly???czy apt-get sprawdza czy dany usuwany pakiet nie jest uzywany przez jakis inny program i jesli tak to go nie usunie bo wiem ze jak usuwam jakis pakiet z jego zaleznosciami to apt sprawdza czy zaleznosci tego pakietu nie sa uzywane przez inny program ale czy sprawdza ten glowny ktory wlasnie usuwam???Mam pare takich pakietow ktore sa poinstalowane wlasnie w taki sposob czyli w pare ruznych wersjach i kombinuje jak to rozwiazac nie uszkadzajac innych programow ktore moga na nich bazowac bo posiadam wazne i to duze programy z ktorymi sie troche meczylem przy instalacju i sa mi bardzo potrzebne na studia wiec nie moge sobie pozwolic na ich strate i ponowna zabawe w instalacje choc pewnie teraz jak juz troche ogarnelem ten system poszlo by mi troche sprawniej.
Z góry wielkie dzięki za jakąkolwiek pomoc!
Pozdrawiam
Pare kwesti do roztrzygniecia dotyczace instalacji, usuwania i zaleznosci pakietow
- devipl
- Sędziwy Jeż
- Posty: 47
- Rejestracja: 06 mar 2007, 21:46
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: GNOME
- Kontakt:
Re: Pare kwesti do roztrzygniecia dotyczace instalacji, usuwania i zaleznosci pakietow
dpkg pomoże, względnie można wyrżnąć nawet ręcznie...przecieź nie ma rejestru...
-
- Przyjaciel
- Posty: 340
- Rejestracja: 09 lip 2005, 18:33
- Płeć: Mężczyzna
- Wersja Ubuntu: 12.04
- Środowisko graficzne: Xfce
- Architektura: x86_64
- Kontakt:
Re: Pare kwesti do roztrzygniecia dotyczace instalacji, usuwania i zaleznosci pakietow
Szczerze mówiąc, najlepiej wyrzucać konkretną wersję biblioteki właśnie przez apt. Pokaże ci się, co ew. zostanie usunięte wraz z tą wersją biblioteki. I albo usuniesz, albo nie. Ponadto, możesz określić, którą konkretnie wersję biblioteki chcesz usunąć. Przypuszczam jednak, że jedna z tym wersji znalazła się w systemie zainstalowana ręcznie (czyli nie przez system pakietów). Zatem ręcznie trzeba będzie ją wyciąć. Diagnostyka jest prosta. Jeśli nie masz polecenia apt-file, na stronie np. packages.debian.org sprawdzasz sobie, do jakiego pakietu należy libz.so. Następnie sprawdzasz, jakie wersje tych pakietów masz zainstalowane u siebie.
Tę wersję, od której masz pliki w /usr/, a której nie pokazuje dpkg - musisz 'wykasować' ręcznie - czyli raczej na piechotkę z katalogów wycinasz konkretne pliki (męczące, no ale cóż - posiłkuj się listą plików z packages.ubuntu.com). Powinno pójść łatwo, gdyż druga wersja jest umieszczona z innym prefiksem w systemie (/usr/local). To oczywiście bardzo oględne spojrzenie na ten temat, bo nie wiem, co kiedy i jak było wrzucane w system.
Kod: Zaznacz cały
dpkg -l | grep nazwa_pakietu
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 7 gości