GoGPT Best VPN GoSearch

Ulubiona usługa OnWorks

dpkg-shlibdeps — Online w chmurze

Uruchom dpkg-shlibdeps w bezpłatnym dostawcy hostingu OnWorks w systemie Ubuntu Online, Fedora Online, emulatorze online systemu Windows lub emulatorze online systemu MAC OS

Jest to polecenie dpkg-shlibdeps, które można uruchomić w bezpłatnym dostawcy hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS

PROGRAM:

IMIĘ


dpkg-shlibdeps - generuje zależności substvar biblioteki współdzielonej

STRESZCZENIE


dpkg- shlibdeps [opcja...] [-e]plik wykonywalny [opcja...]

OPIS


dpkg- shlibdeps oblicza zależności bibliotek współdzielonych dla plików wykonywalnych wymienionych w jego
argumenty. Zależności są dodawane do pliku zmiennych podstawieniowych debian/substvars
jako nazwy zmiennych shlibs:pole zależności gdzie pole zależności jest polem zależności
nazwa. Wszelkie inne zmienne zaczynające się od shlibs: są usuwane z pliku.

dpkg- shlibdeps ma dwa możliwe źródła informacji do generowania informacji o zależnościach.
Bądź symbole plików lub shlibs akta. Dla każdego binarnego tego dpkg- shlibdeps analizuje, to
sprawdza listę bibliotek, z którymi jest powiązany. Następnie dla każdej biblioteki wygląda
w górę albo symbole plik lub shlibs plik (jeśli ten pierwszy nie istnieje lub jeśli
debian/shlibs.local zawiera odpowiednią zależność). Oba pliki powinny być
dostarczane przez pakiet biblioteczny i dlatego powinny być dostępne jako
/var/lib/dpkg/informacje/pakiet.symbole or /var/lib/dpkg/informacje/pakiet.shlibs. Nazwa pakietu
identyfikuje się w dwóch krokach: znajdź plik biblioteki w systemie (patrząc w ten sam sposób
katalogi, które ld.so użyłby), a następnie użyj dpkg -S plik-biblioteki aby wyszukać pakiet
udostępnienie biblioteki.

Symbolika pliki
Pliki symboli zawierają bardziej szczegółowe informacje o zależnościach, zapewniając minimum
zależność dla każdego symbolu eksportowanego przez bibliotekę. Skrypt próbuje znaleźć symbole
plik powiązany z pakietem biblioteki w następujących miejscach (używane jest pierwsze dopasowanie):

debian/*/DEBIAN/symbols
Informacje o bibliotece współdzielonej wygenerowane przez bieżący proces kompilacji, który również został wywołany
dpkg- shlibdeps. Są generowane przez dpkg-gensymbole(1). Są używane tylko wtedy, gdy
biblioteka znajduje się w drzewie kompilacji pakietu. Plik symboli w tym drzewie kompilacji
ma pierwszeństwo przed plikami symboli z innych pakietów binarnych.

/etc/dpkg/symbols/pakiet.symbolika.łuk

/etc/dpkg/symbols/pakiet.symbolika
Informacje o zależnościach bibliotek współdzielonych zastępują na poziomie systemu. łuk jest
architektura obecnego systemu (uzyskana przez dpkg-architektura -qDEB_HOST_ARCH).

Dane wyjściowe z „dpkg-zapytanie --ścieżka-kontrolna pakiet symbolika"
Informacje o zależnościach bibliotek współdzielonych dostarczone przez pakiet. Chyba że zostanie to zastąpione przez
--administrator, pliki te znajdują się w /var/lib/dpkg.

Podczas skanowania symboli używanych przez wszystkie pliki binarne, dpkg- shlibdeps pamięta (największy)
minimalna wersja potrzebna dla każdej biblioteki. Pod koniec procesu może pisać
określ minimalną zależność dla każdej używanej biblioteki (pod warunkiem, że informacje o pliku
symbole pliki są dokładne).

Jako środek zabezpieczający plik symboli może zawierać plik Pakiet kompilacji zależny meta
pole informacyjne i dpkg- shlibdeps wyodrębni minimalną wersję wymaganą przez
odpowiedni pakiet w Zależy od kompilacji pole i użyj tej wersji, jeśli jest wyższa niż
wersja minimalna obliczona poprzez skanowanie symboli.

Szlibs pliki
Pliki Shlibs kojarzą bezpośrednio bibliotekę z zależnością (bez patrzenia na plik
symbolika). Dlatego często jest mocniejszy, niż jest to naprawdę potrzebne, ale bardzo bezpieczny i łatwy w obsłudze.

Zależności biblioteki są sprawdzane w kilku miejscach. Pierwszy plik udostępniający
wykorzystywane są informacje dotyczące interesującej biblioteki:

debian/shlibs.local
Lokalne pakiety przesłaniające informacje o zależnościach bibliotek współdzielonych.

/etc/dpkg/shlibs.override
Informacje o zależnościach bibliotek współdzielonych zastępują na poziomie systemu.

debian/*/DEBIAN/shlibs
Informacje o bibliotece współdzielonej wygenerowane przez bieżący proces kompilacji, który również został wywołany
dpkg- shlibdeps. Są one używane tylko wtedy, gdy biblioteka zostanie znaleziona w kompilacji pakietu
drzewo. Plik shlibs w tym drzewie kompilacji ma pierwszeństwo przed plikami shlibs z
inne pakiety binarne.

Dane wyjściowe z „dpkg-zapytanie --ścieżka-kontrolna pakiet shlibs”
Informacje o zależnościach bibliotek współdzielonych dostarczone przez pakiet. Chyba że zostanie to zastąpione przez
--administrator, pliki te znajdują się w /var/lib/dpkg.

/etc/dpkg/shlibs.default
Informacje o domyślnych zależnościach bibliotek współdzielonych dla poszczególnych systemów.

Wyodrębnione zależności są następnie bezpośrednio wykorzystywane (z wyjątkiem sytuacji, gdy zostaną odfiltrowane, ponieważ
zostały zidentyfikowane jako duplikaty lub słabsze od innych zależności).

OPCJE


dpkg- shlibdeps interpretuje argumenty niebędące opcjami jako nazwy plików wykonywalnych, tak jakby były
dostarczane jako -eplik wykonywalny.

-eplik wykonywalny
Dołącz zależności odpowiednie dla bibliotek współdzielonych wymaganych przez plik wykonywalny.
Z tej opcji można korzystać wielokrotnie.

-lkatalog
Dodaj katalog do listy katalogów, aby wyszukać prywatne biblioteki współdzielone
(od dpkg 1.17.0). Opcji tej można użyć wielokrotnie.

Uwaga: Użyj tej opcji zamiast ustawiać LD_LIBRARY_PATH, jak to środowisko
zmienna służy do kontrolowania linkera w czasie wykonywania i nadużywania jej do ustawiania współużytkowanego
ścieżki bibliotek w czasie kompilacji mogą być problematyczne, na przykład podczas kompilacji krzyżowej.

-dpole zależności
Dodaj zależności, które mają zostać dodane do pola zależności pliku sterującego pole zależności.
(Zależności dla tego pola umieszczone są w zmiennej shlibs:zależność-
pole.)

-dpole zależności opcja działa dla wszystkich plików wykonywalnych po opcji,
do następnego -dpole zależności. Domyślny pole zależności is Zależy.

Jeśli ten sam wpis zależności (lub zestaw alternatyw) pojawia się w więcej niż jednym z
rozpoznane nazwy pól zależności Pre-zależy, Zależy, Poleca, Poprawia or
Wskazuje następnie dpkg- shlibdeps automatycznie usunie zależność od wszystkich
pola z wyjątkiem tego, które reprezentuje najważniejsze zależności.

-pPrzedrostek nazwy_zmiennej
Rozpocznij zmienne podstawieniowe za pomocą Przedrostek nazwy_zmiennej: zamiast shlibs:. Również,
wszelkie istniejące zmienne substytucyjne zaczynające się od Przedrostek nazwy_zmiennej: (raczej niż
shlibs:) są usuwane z pliku zmiennych podstawieniowych.

-O[filename]
Wydrukuj ustawienia zmiennych podstawieniowych na standardowe wyjście (lub filename jeśli określono,
od wersji dpkg 1.17.2), zamiast być dodawanym do pliku zmiennych podstawieniowych
(debian/substvars domyślnie).

-trodzaj Preferuj informacje o zależnościach bibliotek współdzielonych oznaczone dla danego typu pakietu. Jeśli
nie są dostępne żadne oznakowane informacje, następuje powrót do informacji nieoznaczonych. Domyślny
typ opakowania to deb. Informacje o zależnościach bibliotek współdzielonych są oznaczone dla danego
wpisz, poprzedzając go nazwą typu, dwukropkiem i białymi znakami.

-Lplik lokalny-shlibs
Przeczytaj zastępujące informacje o zależnościach bibliotek współdzielonych z plik lokalny-shlibs
zamiast debian/shlibs.local.

-Tpodstvars-plik
Wpisz zmienne podstawieniowe podstvars-plik; domyślnie debian/substvars.

-v Włącz tryb szczegółowy (od dpkg 1.14.8). Wyświetlane są liczne komunikaty
Wyjaśnij co dpkg- shlibdeps robi.

-xpakiet
Wyklucz pakiet z wygenerowanych zależności (od wersji dpkg 1.14.8). To jest
przydatne, aby uniknąć zależności między pakietami dostarczającymi pliki binarne ELF
(pliki wykonywalne lub wtyczki biblioteczne) przy użyciu biblioteki zawartej w tym samym pakiecie.
Opcji tej można użyć wielokrotnie, aby wykluczyć kilka pakietów.

-Skatalog budowy pakietu
Zbadać katalog budowy pakietu pierwszy przy próbie znalezienia biblioteki (ponieważ dpkg
1.14.15). Jest to przydatne, gdy pakiet źródłowy tworzy wiele odmian pliku
tej samej biblioteki i chcesz mieć pewność, że uzyskasz zależność od danego pliku binarnego
pakiet. Możesz użyć tej opcji wiele razy: katalogi zostaną wypróbowane w
w tej samej kolejności przed katalogami innych pakietów binarnych.

--ignore-brakujące-informacje
Nie zakończ niepowodzenia, jeśli nie można znaleźć informacji o zależnościach dla biblioteki współdzielonej (ponieważ
dpkg 1.14.8). Nie zaleca się używania tej opcji, wszystkie biblioteki powinny ją zapewnić
informacje o zależnościach (albo z plikami shlibs, albo z plikami symboli), nawet jeśli
nie są jeszcze używane przez inne pakiety.

--ostrzeżenia=wartość
wartość to pole bitowe określające zestaw ostrzeżeń, które mogą być emitowane przez
dpkg- shlibdeps (od dpkg 1.14.17). Bit 0 (wartość=1) włącza ostrzeżenie „symbol
sym wykorzystane przez dwójkowy nie znaleziono w żadnej z bibliotek”, bit 1 (wartość=2) umożliwia
ostrzeżenie „pakiet może uniknąć bezużytecznej zależności”, a bit 2 (wartość = 4) włącza
ostrzeżenie "dwójkowy nie należy wiązać z biblioteka”. Domyślny wartość wynosi 3:
pierwsze dwa ostrzeżenia są domyślnie aktywne, ostatnie nie. Ustawić wartość do 7 jeśli
chcesz, aby wszystkie ostrzeżenia były aktywne.

--admindir=reż
Zmień lokalizację ww dpkg baza danych (od dpkg 1.14.0). Domyślna lokalizacja
is /var/lib/dpkg.

-?, --help
Pokaż komunikat o użyciu i wyjdź.

--wersja
Pokaż wersję i wyjdź.

DIAGNOSTYKA


ostrzeżenia
Ponieważ dpkg- shlibdeps analizuje zestaw symboli używanych przez każdy wygenerowany plik binarny
pakiet, może w kilku przypadkach wygenerować ostrzeżenia. Informują Cię o rzeczach, które mogą
ulepszyć w pakiecie. W większości przypadków ulepszenia te dotyczą źródeł wydobywczych
bezpośrednio. Oto różne ostrzeżenia, jakie możesz zastosować, według malejącego znaczenia
spotkanie:

symbol sym używany by dwójkowy znaleziono in Żaden of dotychczasowy biblioteki.
Wskazanego symbolu nie odnaleziono w bibliotekach powiązanych z plikiem binarnym.
dwójkowy jest najprawdopodobniej biblioteką i należy ją połączyć z dodatkową
biblioteka podczas procesu kompilacji (opcja -lbiblioteka linkera).

dwójkowy zawiera an nierozwiązywalny odniesienie do symbol sym: to prawdopodobnie a wtyczka
Wskazanego symbolu nie odnaleziono w bibliotekach powiązanych z plikiem binarnym.
dwójkowy jest najprawdopodobniej wtyczką, a symbol jest prawdopodobnie dostarczany przez
program ładujący tę wtyczkę. Teoretycznie wtyczka nie ma żadnego SONAME poza tym
binary ma taki plik i jako taki nie można go jednoznacznie zidentyfikować.
Jednak fakt, że plik binarny jest przechowywany w katalogu niepublicznym, jest mocny
wskazuje, że nie jest to zwykła biblioteka współdzielona. Jeśli plik binarny jest naprawdę a
plugin, to zignoruj ​​to ostrzeżenie. Ale zawsze istnieje możliwość, że jest to tzw
real biblioteka i że programy łączące się z nią używają RPATH, więc dynamic
ładowarka go znajdzie. W takim przypadku biblioteka jest uszkodzona i należy ją naprawić.

pakiet mógłby uniknąć a bezużyteczny zależność if dwójkowy była nie powiązany przed biblioteka (to zastosowania
Żaden of dotychczasowy biblioteka symbolika)
Żaden z pliki binarne które są połączone z biblioteka użyj dowolnego z podanych symboli
przez bibliotekę. Naprawiając wszystkie pliki binarne, unikniesz zależności
powiązany z tą biblioteką (chyba że ta sama zależność jest również generowana przez inny
naprawdę używana biblioteka).

pakiet mógłby uniknąć a bezużyteczny zależność if pliki binarne były nie powiązany przed biblioteka (oni
zastosowania Żaden of dotychczasowy biblioteka symbolika)
Dokładnie tak samo jak powyższe ostrzeżenie, ale dla wielu plików binarnych.

dwójkowy powinien nie be powiązany przed biblioteka (to zastosowania Żaden of dotychczasowy biblioteka symbolika)
dwójkowy jest powiązany z biblioteką, której nie potrzebuje. To nie jest problem, ale jakiś
Niewielką poprawę wydajności w czasie ładowania binarnego można uzyskać, nie łącząc
tę bibliotekę do tego pliku binarnego. To ostrzeżenie sprawdza te same informacje, co ostrzeżenie
poprzedni, ale robi to dla każdego pliku binarnego, zamiast sprawdzać globalnie wszystkie
analizowane pliki binarne.

Błędy
dpkg- shlibdeps zakończy się niepowodzeniem, jeśli nie będzie mógł znaleźć biblioteki publicznej używanej przez plik binarny lub jeśli this
biblioteka nie ma powiązanych informacji o zależnościach (ani pliku shlibs, ani pliku symboli). A
biblioteka publiczna ma SONAME i jest wersjonowana (libsomething.so.X). Prywatna biblioteka (np
wtyczka) nie powinna mieć SONAME i nie musi być wersjonowana.

nie mógł odnaleźć biblioteka nazwa-biblioteki potrzebne by dwójkowy (jego ŚCIEŻKA is 'ścieżka')
dwójkowy korzysta z biblioteki tzw nazwa-biblioteki ale dpkg- shlibdeps nie był w stanie
znaleźć bibliotekę. dpkg- shlibdeps tworzy listę katalogów do sprawdzenia jako
następujące: katalogi wymienione w RPATH pliku binarnego, katalogi wymienione w
/etc/ld.so.conf, katalogi dodane przez -l opcję, katalogi wymienione w
LD_LIBRARY_PATH zmienna środowiskowa i standardowe katalogi publiczne (/ lib,
/ Usr / lib, /lib32, / usr / lib32, /lib64, /usr/lib64). Następnie sprawdza te katalogi
w drzewie kompilacji pakietu analizowanego pliku binarnego, w kompilacji pakietów
drzewa oznaczone symbolem -S opcja wiersza poleceń w drzewach kompilacji innych pakietów
który zawiera plik DEBIAN/shlibs lub DEBIAN/symbols i na koniec znajduje się w katalogu głównym
informator. Jeśli biblioteka nie zostanie znaleziona w żadnym z tych katalogów, otrzymasz
ten błąd.

Jeśli nie znaleziona biblioteka znajduje się w prywatnym katalogu tego samego pakietu, to ty
chcesz dodać katalog z -l. Jeśli znajduje się w innym budowanym pakiecie binarnym,
chcesz się upewnić, że plik shlibs/symbols tego pakietu już istnieje
stworzył i tyle -l zawiera odpowiedni katalog, jeśli również znajduje się w katalogu prywatnym
katalogiem.

Nie zależność Informacja znaleziono dla plik-biblioteki (używany by dwójkowy).
Biblioteka potrzebna dwójkowy został znaleziony przez dpkg- shlibdeps in plik-biblioteki ale
dpkg- shlibdeps nie udało się znaleźć żadnych informacji o zależnościach dla tej biblioteki.
Aby sprawdzić zależność, próbował zmapować bibliotekę na pakiet Debiana
z pomocą dpkg -S plik-biblioteki. Następnie sprawdził odpowiednie shlibs
i symbole w plikach /var/lib/dpkg/informacje/oraz w drzewach kompilacji różnych pakietów
(debian/*/DEBIAN/).

Ta awaria może być spowodowana złym lub brakującym plikiem shlibs lub symboli w pliku
pakiet biblioteki. Może się to również zdarzyć, jeśli biblioteka jest wbudowana w
ten sam pakiet źródłowy i jeśli pliki shlibs nie zostały jeszcze utworzone (w takim przypadku
musisz naprawić debian/rules, aby utworzyć shlibs przed wywołaniem dpkg- shlibdeps). Zły
RPATH może również prowadzić do znalezienia biblioteki pod niekanoniczną nazwą (przykład:
/usr/lib/openoffice.org/../lib/libssl.so.0.9.8 zamiast /usr/lib/libssl.so.0.9.8)
który nie jest powiązany z żadnym pakietem, dpkg- shlibdeps próbuje obejść ten problem
próbując odwołać się do nazwy kanonicznej (używając prawdziwa ścieżka(3)), ale nie zawsze
praca. Zawsze najlepiej jest wyczyścić RPATH pliku binarnego, aby uniknąć problemów.

powołanie dpkg- shlibdeps w trybie pełnym (-v) dostarczy znacznie więcej informacji
o tym, gdzie próbował znaleźć informacje o zależnościach. Może to być przydatne, jeśli
nie rozumiesz, dlaczego daje ci ten błąd.

Użyj dpkg-shlibdeps online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad




×
reklama
❤️Zrób zakupy, zarezerwuj lub kup tutaj — bezpłatnie, co pomaga utrzymać bezpłatne usługi.