Programowanie w systemie UNIX/depend: Różnice pomiędzy wersjami

Z Wikibooks, biblioteki wolnych podręczników.
Usunięta treść Dodana treść
Linia 53: Linia 53:


apt-cache showpkg package-name
apt-cache showpkg package-name


lup apt-file <ref>[https://www.computerhope.com/unix/apt-file.htm apt-file command with examples by Computer Hope]</ref>

apt-file search fontconfig/fontconfig.h


lub <ref>[http://askubuntu.com/questions/80655/how-can-i-check-dependency-list-for-a-deb-package askubuntu question how-can-i-check-dependency-list-for-a-deb-package]</ref>
lub <ref>[http://askubuntu.com/questions/80655/how-can-i-check-dependency-list-for-a-deb-package askubuntu question how-can-i-check-dependency-list-for-a-deb-package]</ref>

Wersja z 18:59, 28 cze 2021

Zależności ( ang dependencies)[1]

  • biblioteki
    • katalogi poszukiwań[2]
  • pakiety
    • lista zależności[3]
Piekło zależności

Jak sprawdzić zależności?

Biblioteka

  • pakiety
    • dev
    • non-dev

Program

wykonywalny

Za pomocą komendy ldd[4]

 ldd /path/to/program

lub bezpieczniej (program ldd może uruchamiać badany program co jest potencjalnie szkodliwe, gdy pochodzi z nieznanego źródła) [5]

 objdump -p /path/to/program | grep NEEDED

lub [6][7]

 readelf -d /bin/ls | grep 'NEEDED'

Żródła

Jeśli program był zainstalowany za pomocą autotools to wyszukujemy ( grep) w pliku configure.ac : [8]

  • AC_SEARCH_LIBS (
  • AC_CHECK_HEADERS
  • PKG_CHECK_MODULES

czynny proces

  sudo pldd <PID>
 sudo pmap <PID>

pakiety

W ubuntu :

sudo apt-get build-dep <package>

Pakiety dev: [9]

to build things based on libfoo, you need libfoo-dev

pakiet deb

Zależności pakietu za pomocą apt:

 apt-cache showpkg package-name


lup apt-file [10]

 apt-file search fontconfig/fontconfig.h

lub [11]

 dpkg -I package.deb

lub rekursywnie (zależności zależności: "it resolves dependencies recursively, i.e., not only does it show the direct dependencies of a package, but also the dependencies' dependencies.")[12]

 apt-rdepends package

odwrotne

Pakiety zależne od pakietu (reverse dependencies):

 apt-cache rdepends package-name

Jak uruchomić stary program na nowym systemi ?

  • snap[13]
  • live OS: uruchomić system bez instalacji za pomoca live CD lub usb
  • emulator
  • maszyna virtualna[14][15]

Zobacz również

Źródła

  1. askubuntu question: what-are-dependencies
  2. stackoverflow question: find-a-directory-in-shared-library-search-path
  3. ostechnix: list-dependencies-package-linux
  4. man ldd
  5. How to check what libraries are used by a program or process on Linux Posted on August 7, 2014 by Dan Nanni
  6. unix.stackexchange question how-to-find-out-the-dynamic-libraries-executables-loads-when-run
  7. stackoverflow question how-do-i-find-the-direct-shared-object-dependencies-of-a-linux-elf-binary
  8. unix.stackexchange question: get-list-of-required-libraries-when-installing-something-from-source
  9. stackoverflow question: how-to-install-gtk-development-dependencies-on-ubuntu
  10. apt-file command with examples by Computer Hope
  11. askubuntu question how-can-i-check-dependency-list-for-a-deb-package
  12. checking-package-dependencies-with-apt-rdepends-on-debian-ubuntu
  13. ubuntu blog: how-to-preserve-old-software-with-snaps
  14. help.ubuntu : VirtualMachines
  15. osboxes : ubuntu
  16. AutoApt