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ń: 10487

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.

OSnews Wykop Blip Flaker Kciuk Śledzik Facebook Identi.ca Twitter del.icio.us Google Bookmarks