odwrócenie bconda pax w glibc
Piotr Zięcik
kosmo w miechow.com
Śro, 27 Wrz 2006, 10:39:05 CEST
Dnia środa, 27 września 2006 10:19, Marek Guevara Braun napisał:
> Jeśli mamy własny kompilat glibca, zbudowany z opcją --with pax, a
> domyślnie ta opcja byłaby wyłączona, to i tak nie można "w ciemno"
> upgradować takiej maszyny, bo np. za chwilę pojawi się "w poldku" nowy
> release danej biblioteki i po upgrade system nie działa.
>
> Rozwiązania tu widzę raczej administracyjne
> (1) dodanie glibca, zlib i ew. paxctl do listy hold w poldku
> (2) dodanie do poldka tylko własnych punktów dystrybucji/builderów,
> które produkują "dobre" pakiety
> (3) dodanie jakiegoś watchdoga/zdalnego resetu do serwerów, albo lepiej
> karty zdalnego dostępu do poziomu BIOS maszyny (można edytować
> gruba przy starcie)
> (4) zainwestowanie w większy dysk, vmware serwer i testowanie upgradów
> przed zdalną implementacją.
>
> Nawet gdy --with pax było by dalej (tak jak jest obecnie) domyślnie
> wyłączone, nic nie stoi na przeszkodzie, że ktoś edytując speca
> wywali/zepsuje odpowiednią łatkę, albo odpowiednio skompilowana, nowa
> wersja będzie po prostu błędna.
Aktualnie mam zrobione punkty (1) i (2) - hold w poldku trzyma mi glibca, a
jak się pojawia nowa wersja to ją sam przebudowuję. Watchdog nie pomoże, bo
/sbin/init się nie uruchomi, a po to mam PLD, żeby nie musieć utrzymywać 2
systemów - jednego produkcyjnego i jednego do testów - po prostu zaczynam
upgrade od maszyny, na której krótkotrwałą utratę mogę sobie pozwolić i jak
coś nie zadziała, to wiem z czym muszę się zmierzyć na innych.
> PS. Pewnym ułatwieniem, byłoby dodanie jakiegoś provides do glibca i
> zliba --with pax, ale nie za bardzo widzę co musiało by mieć odpowiednie
> requires - bo kernel-pax to trochę bez sensu, a paxctl, to pewnie by się
> automatycznie odinstalowało :-)
Ja bardzo chętnie zobaczę w PLD glibc'a z obsługą PaX'a, pod warunkiem jednak,
że "miła niespodzianka" podczas upgrade'u mnie już nie spotka. Może to być
zrobione nawet jako komentarz w specu: "TEJ ŁATKI POD ŻADNYM POZOREM NIE
USUWAĆ !". Ten patch w niczym nie przeszkadza (powoduje zignorowanie błędu
mprotect() jeśli errno == EACCES) - problem jest tylko jak go ktoś usunie
i takiego glibca puści się na buildery.
Pozdrawiam.
Piotr Zięcik.
Więcej informacji o liście dyskusyjnej pld-devel-pl