Prosta i szybka aktualizacja programów w OpenBSD
01.07.2013 19:28
OpenBSD to świetny system na serwery i firewall’e. Od ideału dzieli go naprawdę niewiele. Tym małym czymś jest aktualizowanie systemu i programów. W przypadku systemu bazowego polega to na kompilowaniu odpowiednich fragmentów kodu źródłowego. W przypadku programów, na kompilowaniu całego ich kodu. Nie jest to trudne (a co w OpenBSD jest trudne?) ale bardzo czasochłonne. Dodatkowym problemem jest brak mechanizmu sprawdzania dostępności aktualizacji, czegoś na kształt Debianowego “apt-get update && apt‑get upgrade”. W takim razie skąd w ogóle wiadomo, że jest dostępna nowa wersja programu? Trzeba zapisać się na listę mailingową i co jakiś czas ją sprawdzać. Co prawda w OpenBSD występuje mechanizm zarządzania oprogramowaniem w paczkach binarnych, ale niestety poprawki do programów trafiają tylko do kodu źródłowego drzewa portów. W związku z tym, w przypadku wykrycia luki bezpieczeństwa w jakimś programie, przed instalacją jego nowszej wersji, należy najpierw go skompilować.
Tak się ostatnio złożyło, że znalazłem w sieci projekt, który powyższą niedogodność całkowicie eliminuje. Firma M:Tier udostępniła swoje repozytorium ze skompilowanymi aktualnymi wersjami programów. Rozwiązanie podobne do backportów Debiana. Jako, że OpenBSD słynie z bezpieczeństwa, tu nasuwa się pytanie: czy można zaufać jakiejś firmie, która tworzy nieoficjalne repozytorium oprogramowania? Uważam, że tak, ponieważ jednym ze współautorów jest Antoine Jacoutot - wieloletni developer OpenBSD.
Firma M:Tier, jak to w świecie OpenBSD, udostępniła instrukcję instalacji ich repozytorium. Dokumentacja jest przejrzysta lecz niestety mi sprawiła mały problem. Nie bardzo wiedziałem jak zainstalować w systemie certyfikat ssl. W tym miejscu autorzy dokumentacji najwyraźniej założyli, że każdy kto administruje OpenBSD, zagadnienia związane z openssl ma w małym palcu. Ponieważ ja nie mam, napisałem maila na podany na stronie adres i wierzcie lub nie ale w ciągu góra pięciu minut dostałem odpowiedź! Po szybkiej wymianie maili już wiedziałem wszystko co i jak. Wobec tego, gdyby pojawił się jeszcze jakiś chętny do korzystania z paczek przygotowanych przez M:Tier i tak jak ja nie ogarnął całości tematu, podaję brakujący (moim zdaniem) fragment dokumentacji. Aby pobrać na dysk OpenBSD certyfikat, uruchamiamy wget z wyłączoną opcją sprawdzania wystawcy certyfikatu:
[code=]wget --no-check-certificate https://stable.mtier.org/mtier.cert[/code]
Kolejnym krokiem jest instalacja certyfikatu w:
[code=]/etc/ssl/pgca.pem[/code]
I tu pojawił się mój problem: jak to zrobić? Rozwiązanie jest tak proste, że aż trudno w to uwierzyć:
[code=]mv /tmp/mtier.cert /etc/ssl/pkgca.pem[/code]
Jeśli w tej lokalizacji mamy już jakiś plik pkgca.pem, wydajemy polecenie:
[code=]cat /tmp/mtier.cert >> /etc/ssl/pkgca.pem[/code]
Dalej postępujemy zgodnie z dokumentacją. Od teraz możemy aktualizować programy jednym poleceniem:
[code=]pkg_add -u[/code]