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 ?
apt
yum
dependencies
Dacav
źródło
źródło
Odpowiedzi:
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.
źródło
yum install --whithout-recommends
ale szukałem niczego.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żliwezypper 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ę.
źródło
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.
źródło
Znalazłem to w mojej historii poleceń
Najwyraźniej czytałem o tej funkcji na https://bgstack15.wordpress.com/2017/05/13/dnf-ignore-weak-dependencies/ .
źródło