2012-04-23 21 views
8

Czy istnieje pułapka korzystania z wielu menedżerów pakietów? Czy mógłbym wykorzystać mniam Redhata z uzdolnieniami Debiana w tym samym czasie?Menedżer wielu pakietów

natknąłem this article i ta infografika - 2011 Linux Distro comparison result

byłem skłonny wybrać Debiana, ale szybkie VM instalacja wykazała, że ​​jądro nie jest zaktualizowany do 3.2 jeszcze w stabilnej repo. Tak więc planuję przenieść się do Archlinux, ale infografika obniża dostępność pakietu i zastanawiałem się, czy mogę zainstalować pliki .deb lub .rpm z repozytoriów Fedory lub Ubuntu.

+0

Zastanawiam się, czy użył gimpa w duchu linuxa do stworzenia tych grafik. –

+1

Głosuj na zamknięcie: Czy ktoś z autorytetem może przenieść to na właściwe forum? unix.stackexchange.com? –

Odpowiedz

7

Odpowiedź jest krótka, tak ty może, ale tak naprawdę nie powinno.

Poniżej znajduje się lista rzeczy (w przypadkowej kolejności) do rozważenia podczas instalowania cross-dystrybucja:

  • piekło zależności

Głównym powodem rzeczy jak yum/apt/YaST istnieć na pierwszym miejscu jest uniknięcie tego, co jest znane jako dependency hell. Korzystając z pakietów z innych systemów, rezygnujesz z pracy, która została umieszczona w pakietach, z czystej instalacji.

Drugorzędny menedżer pakietów będzie chciał spełnić swoje własne zależności i zainstalować kilka rzeczy, które są już zainstalowane. Oznacza to, że musisz instalować pakiety pojedynczo, aby nie zastępować już zainstalowanych pakietów z podstawowego menedżera pakietów i mieć różnego rodzaju problemy.

  • Czy używają tego samego menedżera pakietów?

Jeśli tak, może być nawet w stanie zainstalować go bezpośrednio, ale najprawdopodobniej będziesz mieć problemy z zależnościami lub konfliktami pakietów. Jeśli nie, możesz wyodrębnić pakiet za pomocą różnych narzędzi i po prostu ułożyć pliki binarne w systemie plików (spójrz na obcego lub this post about extracting .rpm and .deb files).

To spowoduje pobranie plików w systemie, ale nie ma gwarancji, że zadziała po wyjęciu z pudełka. Niektóre dodatkowe ręczne polowania mogą być (i zwykle są) wymagane.

  • Czy wersje pakietów podstawowych, takich jak glibc, są takie same lub bardzo blisko?

Jeśli tak, to istnieje mniejsze prawdopodobieństwo wystąpienia problemu. Dalsza różnica między pakietami podstawowymi dwóch dystrybucji, tym bardziej prawdopodobne jest, że będziesz mieć brak bibliotek współdzielonych, które nie są dostępne w dystrybucji, z której korzystasz, ponieważ wersja jest inna, a nazwa pliku nie jest zgodna z tym, czym jest plik binarny szukam.

Technicznie można również wyodrębnić zależności bazowe z innej dystrybucji i umieścić je również w systemie plików, ale to z pewnością spowoduje ból, jeśli kiedykolwiek będziesz musiał skompilować rzeczy ze źródła. Wyobraź sobie, jak będzie zdezorientowany gcc.

  • Czy pakiet, który instalujesz, wymaga określonego modułu jądra?

Najlepszy sposób, w jaki mogę to wyrazić, to powszechny problem, który widzę obecnie w przypadku kupowania maszyn wirtualnych od hosta; dostajesz własną markę xen lub wirtuozowego jądra, a iptables nie działa wprost, ponieważ netfilter jest w jądrze i ABI się zmieniło. To może być bolesne, aby znów zadziałało, a ten problem nie ogranicza się do iptables. Moja najlepsza rada tutaj to wybierz dystrybucję, która ma jądro, które chcesz w swoim własnym bazowym repozytorium.

  • Kompilacja ze źródeł

bez wątpienia będziesz musiał zrobić to powinien dostać bardzo głąb chcąc pakiety z innymi systemami. Ponieważ różne dystrybucje różnie konfigurują środowiska kompilacji, będziesz spędzać połowę swojego czasu na szukaniu ścieżek i innych problemów konfiguracyjnych.

+2

Wielkie dzięki :-) To bardzo fajna odpowiedź. Chciałbym, aby to pytanie zostało przeniesione, a nie zamknięte. –

Powiązane problemy