Mniam i zalecane / sugerowane pakiety

10

Chciałbym zainstalować pakiet oprogramowania w moim systemie Fedora , ale ma on wiele nieuzasadnionych zależności (które wiem na pewno, że tak naprawdę nie są wymagane).

Kiedyś pracowałem na Debianie , gdzie apt-get pozwala ci systematycznie wykluczać polecane i sugerowane pakiety, instalując tylko ściśle wymagane zależności.

Czy jest na to sposób z Yum ?

Dacav
źródło

Odpowiedzi:

4

Nie.

Niestety, zarządzanie pakietami oparte na RPM ma tylko jeden rodzaj zależności. To zależność, czy nie, a nie coś pośredniego ( czytaj tutaj ). Z mojego doświadczenia wynika, że ​​zależności w Fedorze są dość ograniczone, a funkcje inne niż podstawowe nie są instalowane, chyba że wykonujesz instalacje grupowe.

Wiele poziomów zależności pokazuje, moim zdaniem, jedną z możliwości zarządzania pakietami opartymi na DEB.

gertvdijk
źródło
Instalowanie zaćmienia na fedorze to instalacja o pojemności 400 MB. Przyszedłem tutaj, yum install --whithout-recommendsale szukałem niczego.
MGP
3

EDYCJA: Aby odpowiedzieć na pierwotne pytanie, tak, jest to możliwe dla menedżerów pakietów, którzy obecnie obsługują słabe zależności. Jako przykład, na Magei to by było równe urpmi --no-suggests foo. Dla SuSe byłoby to możliwe zypper in --no-recommends. Coś takiego musi zostać zaimplementowane również w nowszych wersjach yum, w przeciwnym razie te miękkie depresje byłyby bezużyteczne.


Właściwie istnieją słabe zależności w rpm, które na to pozwalają, ale niestety nie zostały one dodane do yum i wersji rpm.org, z której Fedora / RHEL używa od niedawna (i wtedy prawdopodobnie dostępne tylko przez rawhide). Sprawdź http://lists.rpm.org/pipermail/rpm-maint/2014-F February/003666.html, aby zapoznać się z najnowszymi ogłoszeniami i szczegółami implementacji. Zobacz także http://lists.baseurl.org/pipermail/yum-devel/2009-September/005844.html dla poprzedniej dyskusji. Istnieje również strona wiki fedory na temat zmian w rpm-4.12, która opisuje tę obsługę: https://fedoraproject.org/wiki/Changes/RPM-4.12

FWIW, od kilku lat SuSe używa miękkich zależności, patrz http://en.opensuse.org/Libzypp/Dependencies#Weak_dependencies i sekcja poniżej, która pokazuje, co obsługuje ich gałąź rpm. Również Mandriva / Mageia i pokrewne widelce używają miękkich zależności (tylko Sugeruje) od dłuższego czasu.

Tak więc, aby odpowiedzieć na pierwsze pytanie, uaktualnij do rawhide / rpm-4.12 i użyj jednej ze słabych zależności, które obsługuje teraz.

Jeśli potrzebujesz więcej informacji na temat wewnętrznych szczegółów implementacji RPM, chętnie się nimi podzielę.

doktor5000
źródło
2

Zależności w dystrybucjach opartych na RPM działają w inny sposób niż metoda dpkg Wymaga / Poleca / Sugeruje.

Zasadniczo zależności w dystrybucjach opartych na RPM można uznać za równoważne z „ten pakiet nie będzie działał poprawnie, chyba że ta zależność zostanie spełniona”. Jednak twórcy pakietów mają pewną swobodę artystyczną, aby uwzględnić dodatkowe zależności według własnego uznania (albo dlatego, że nie są automatycznie wykrywani, albo dlatego, że uważają to za trudne wymaganie).

Na przykład aplikacja internetowa w Debian / Ubuntu może mieć różne sugerowane zależności od pakietów MySQL Server. Ponieważ jednak serwer MySQL nie musi znajdować się na lokalnym serwerze WWW, nie jest to trudne wymaganie, więc ten sam pakiet w Fedorze nie byłby zależny.

Wystąpił problem z metodologią RPM, którą zidentyfikowałeś, czasami występuje zbyt wiele zależności. Często słyszę pytanie: „Dlaczego ten pakiet powinien zawierać biblioteki Bluetooth, kiedy nie korzystam z Bluetooth?”, Takie elementy, jak opcjonalne wtyczki, które są zawarte w głównym pakiecie aplikacji, są na ogół przyczyną takiej sytuacji.

NJ
źródło