equivs - tworzenie pustych pakietów
Kategoria: FAQ, etykiety: system, apt
Dodany: 2011-05-02 16:57
(zmodyfikowany: 2011-05-02 18:38)
Przez: ArnVaker
Wyświetleń: 7295
Dzięki programowi equivs łatwo można utworzyć pakiety, których jedynym zadaniem będzie spełnienie zależności innych pakietów. Po co? Czasami zdarza się, że opiekunowie pakietów ustawią swoim pakietom zależności, których wcale nie chcemy instalować.
Przykład — pakiet smplayer wymaga pakietu mplayer (lub pakietu „udostępniającego” pakiet mplayer). Ja mam zainstalowany mplayer2 z repozytorium debian-multimedia, wersja z tego repozytorium nie udostępnia pakietu mplayer, można ją zainstalować obok pakietu mplayer. Zatem aby zainstalować smplayer, normalnie musiałbym w zależnościach doinstalować mplayer i jeszcze kilka jego zależności, których wcale nie potrzebuję. Na szczęście dzięki programowi equivs łatwo można ten problem ominąć.
- Utworzenie pliku o dowolnej nazwie (może być nazwa pakietu) w dowolny sposób, np.:
nano mplayer
- Zdefiniowanie w nim przynajmniej nazwy i wersji, np.:
Package: mplayer
Version: 11:2+fake
- Utworzenie pakietu (nazwa musi się zgadzać z wcześniej utworzonym plikiem):
equivs-build mplayer
- Instalacja pakietu:
dpkg -i mplayer_2+fake_all.deb
Efekt:
mplayer:
Zainstalowana: 11:2+fake
Kandydująca: 11:2+fake
Tabela wersji:
*** 11:2+fake 0
990 file:/usr/local/repo/ stuff/ Packages
100 /var/lib/dpkg/status
3:1.0~rc4+svn20110308-0.2 0
990 http://www.debian-multimedia.org/ testing/main amd64 Packages
980 http://www.debian-multimedia.org/ unstable/main amd64 Packages
2:2.0+git+20110408~frickel.1 0
400 http://frickelplatz.de/debian/ sid/main amd64 Packages
2:1.0~rc4.dfsg1-2 0
990 http://ftp.de.debian.org/debian/ testing/main amd64 Packages
980 http://ftp.de.debian.org/debian/ unstable/main amd64 Packages
Cały system zarządzania pakietami Debiana uważa, że mplayer jest zainstalowany, a w rzeczywistości jednak tak nie jest. Tutaj dodatkowo umieściłem pakiet w lokalnym repozytorium, ale to nie dotyczy już tego tekstu.
Oczywiście ten przykład to tylko najbardziej prymitywne użycie equivs. Wszelkie informacje (zależności, pakiety polecane, sugerowane itp.), które deweloperzy ustawiają w pliku control prawdziwych pakietów, można ustawiać i tutaj.