Otagowano: Solaris

openssl-1.0.0d

Trochę o OpenSSL i opis kompilacji wersji 0.9.8 opisywałem już wcześniej, nie będę więc tego powielał. Tutaj jest opis konfiguracji i kompilacji wersji 1.0.0d, przy użyciu skryptu, który znajduje się w załączeniu. Należy użyć GNU Make (gmake), bo próba kompilacji dmake w tych nowszych wersjach może skończyć się błędem.

make-3.82

Make jest narzędziem, które kontroluje generowanie plików wykonywalnych i innych nie źródłowych plików programu z plików źródłowych programu. Innymi słowy: generuje binarki i biblioteki ze źródeł programu na podstawie plików Makefile.

libtol-2.4

GNU libtool jest skryptem wspierającym typowe biblioteki. Libtool ukrywa komplikację używania współdzielonych bibliotek za spójnym, przenośnym interfejsem.

Konfiguracja i kompilacja przy użyciu skryptu (w załączeniu):

automake-1.11.1

GNU Automake jest narzędziem do automatycznego generowania plików 'Makefile.in’, które są zgodne z GNU Coding Standards. Automake wymaga użycia Autoconf, którego kompilację opisałem tutaj.

Konfiguracja i kompilacja Automake przy użyciu skryptu (w załączeniu):

autoconf-2.68

GNU Autoconf jest rozszerzalnym pakietem makr M4 do tworzenia skryptów powłoki do automatycznej konfiguracji pakietów oprogramowania Open Source. Tworzenie skryptów konfiguracyjnych przy użyciu Autoconf wymaga instalacji GNU M4.

m4-1.4.16

GNU M4 jest implementacją tradycyjnego UNIXowego procesora makr. Jest w większości kompatybilny z SRV4, ale posiada pewne rozszerzenia (np. przekazywanie więcej niż 9 pozycjonowanych parametrów do makr). GNU M4 posiada również wbudowane funkcje do włączania plików, wykonywania poleceń powłoki, robienia arytmetyki itp. Jednym z największych beneficjentów GNU M4 jest projekt GNU Autoconf.

Konfiguracja i kompilacja przy użyciu skryptu (w załączeniu):

tar-1.26

Solarisowy tar ma trochę braków w stosunku do programu GNU Tar. Na przykład nie rozpoznaje skompresowanych archiwów. Warto więc zainstalować jego odpowiednika GNU. Ja dla rozróżnienia dodaję do GNU Tar przedrostek 'g’ (opcja –program-prefix=g przy kompilacji).

Konfiguracja i kompilacja z użyciem skryptu (w załączeniu):

Automatyczne usuwanie i tworzenie nowych snapshotów

Oto kolejny jednowierszowiec do usuwania starych i tworzenia nowych snapshotów. Już bez rozwodzenia się po co, jak i dlaczego tak. Można dopisać do crona.


# for a in `zfs list -t snapshot -H -o name`; do
    zfs destroy $a && zfs snapshot `echo $a|sed "s/@.*//"`@`date +%Y%m%d`;
done

Uwaga: Tworzony jest tylko jeden snapshot i tylko dla tych filesystemów, dla których były już utworzone wcześniej snapshoty, które zostaną najpierw usunięte.

Usuwanie starych i tworzenie nowych snapshotów ZFS

Niedawno pisałem o masowym tworzeniu snapshotów ZFS. Tam robiłem to rekursywnie dla całej puli używając zpool list -H i przekierowując wyjście do zfs snapshot -r. Tym razem zrobimy to inaczej.

Jeśli mamy stare snapshoty to możemy je wyświetlić poleceniem:


# zfs list -t snapshot
NAME                                   USED  AVAIL  REFER  MOUNTPOINT
dappserv@20101130                         0      -  28.0K  -
dappserv@20110107                         0      -  28.0K  -
dappserv/etc@20101130                 61.3K      -   382K  -
dappserv/etc@20110107                     0      -   382K  -
dappserv/var@20101130                  170M      -  2.03G  -
dappserv/var@20110107                 1.07M      -  2.15G  -
...

Masowe snapshoty ZFS

ZFS to taki fajny filesystem, w którym szybko można zrobić migawkę (snapshot).

Na przykład mając ZFS o nazwie tank, robimy snapshot o nazwie snap1:


# zfs snapshot tank@snap1

Załatwione, operacja szybka i bezbolesna. Ale jak w systemie jest kilka zpool i na każdej kilka filesystemów ZFS to już trzeba by się trochę naklepać. Ja to załatwiam takim jednowierszowcem:


# for a in `zpool list -H -o name`; do zfs snapshot -r $a@20110109; done

Ta instrukcja spowoduje rekursywne utworzenie snapshotów dla wszystkich zpool w systemie, oczywiście ciąg 20110109 jest przykładowy i reprezentuje aktualną datę.