Mamy środowisko programistyczne na FreeBSD 10.3. Słyszałem, że FreeBSD zarządza zależnościami pakietów w taki sposób, że zawsze szuka najnowszej wersji wszystkich pakietów, od której zależy pakiet główny. I wygląda na to, że to prawda. Tak więc moje pytania to:
- Czy to prawda? czy istnieją jakieś oficjalne dokumenty, które to potwierdzają?
- Najlepszy sposób na rozwiązanie tego problemu?
package-management
freebsd
dependencies
Sergiusz
źródło
źródło
pkg lock
, a następnie zainstalować wszystko, co chcesz.Odpowiedzi:
Jak FreeBSD buduje pakiety
Projekt FreeBSD służył do budowania pakietów tylko dla wydań, a czasami dla gałęzi STABLE. Stare konstruktory pakietów korzystały z systemu rozproszonego o nazwie Portbuild. Do zbudowania pakietów użyłby dużego klastra mniejszych maszyn o pojemności 2 GB-4 GB. Było to podatne na błędy i powolne, głównie ze względu na starsze maszyny. Pełna kompilacja może potrwać jeszcze tydzień. Dzisiaj pakiety są budowane przy użyciu pojedynczych dużych maszyn przy użyciu Poudriere. (Ze strony internetowej Brian Drewery ).
Zobacz także: Jak zaktualizować mieszankę pakietów i portów we FreeBSD
FreeBSD ma ewoluujący ABI (i API), podobnie jak Solaris i Windows, podczas gdy Linux ma stabilny (stagnacyjny?) ABI (i API), więc w przypadku Linuksa stare pliki binarne będą nadal działać na nowszej wersji systemu operacyjnego, podczas gdy w systemach innych niż Linux nie jest to „ t zawsze tak jest (czasem tak jest).
Używanie
pkg lock
może nadal prowadzić do bólów głowy , podczas gdy blokuje się (wyświetla ostrzeżenie) podczas próby uaktualnienia przy użyciupkg upgrade
nadal zakłada, że wersje o wyższym numerze są lepsze (pożądane) i że jest to coś, co chcesz zrobić - więc prosi o pozwolenie, i możesz na to pozwolić, ale nie gwarantuje to, że coś innego nie zostanie zepsute. Zobacz powyższy adres URL lub tę dyskusję: „ Czy wolisz, aby FreeBSD blokował wersje pakietów binarnych dystrybuowanych za pośrednictwem pkg dla wersji systemu operacyjnego? ”.Jeśli jeden pakiet jest czasem zablokowany , musisz zezwolić na jego odblokowanie i wykonanie aktualizacji, podczas gdy będzie to działać dla jednego pakietu (i wszystkich jego zależności), nie ma pewności, że coś innego nie będzie niezgodne z nowymi bibliotekami ( i dlatego też potrzebujesz aktualizacji, jeśli jest ona obecnie dostępna).
Blog Briana Drewery'ego: „ FreeBSD Journal: Poudriere ” ocenia :
Ale zaczep…
Więc ...
Rozwiązanie:
Utworzenie własnego repozytorium za pomocą poudriere pozwala na elastyczność portów i łatwość zarządzania pakietami.
źródło