niedziela, 23 sierpnia 2009

OpenSolaris: encrypt i decrypt

Solaris oferuje bardzo proste w użyciu narzędzie do szyfrowania plików: 'encrypt'. Poniżej przykład.

Tworzymy plik z tekstem:

> echo "To jest tajny tekst" > plik.txt

Tworzymy zaszyfrowany plik:

> encrypt -v -a aes -i plik.txt -o plik-zaszyfrowany
Enter passphrase:
Re-enter passphrase:
[..................|...................|...................|..................]
Done.


> file plik.txt plik-zaszyfrowany
plik.txt: ascii text
plik-zaszyfrowany: data

Usuwamy oryginalny plik:

> rm plik.txt

Pozostaje nam tylko zaszyfrowana wersja pliku.

Aby odczytać zawartość zaszyfrowanego pliku wpisujemy:

> decrypt -v -a aes -i plik-zaszyfrowany
Enter passphrase:
[..................|...................|...................|..................]
Done.
To jest tajny tekst

sobota, 22 sierpnia 2009

IPS tips

OpenSolaris podczas instalacji systemu tworzy tzw. obraz (pkg image-create) w katalogu głównym i przypisuje do niego publishera (pkg publisher), dlatego jak robimy update systemu używamy komendy 'pkg image-update'.

Mało znaną funkcjonalnością systemu pakietów OpenSolarisa IPS jest możliwość tworzenia wielu 'obrazów' w różnych katalogach. Dla przykładu, każdy użytkownik może sobie stworzyć takowy 'obraz' w swoim katalogu domowym i tam instalować paczki zamiast w katalogu głównym systemu jako root.

Ostatnio znalazłem dodatkowe repozytorium IPS z ciekawymi paczkami http://ips.homeunix.com:10906/ i zamiast dodawać kolejnego publishera do systemu i instalować jako root w globalnej strefie postanowiłem dodać nowe repozytorium jako zwykły użytkownik w katalogu domowym, dodatkowo w zonie TX..

> zonename
public

> plabel
PUBLIC

> prtdiag
prtdiag can only be run in the global zone

Będziemy instalować paczki w katalogu /home/estibi/media/

> mkdir -p /home/estibi/media/
> pkg image-create -p multimedia=http://ips.homeunix.com:10906/ /home/estibi/media/

Uwaga, musimy wejść do katalogu /home/estibi/media lub użyć parametru pkg -R, inaczej 'pkg' będzie używać publishera z katalogu "/".

> cd /
> pkg publisher
PUBLISHER TYPE STATUS URI
opensolaris.org (preferred) origin online http://pkg.opensolaris.org/dev/

> cd /home/estibi/media/
> pkg publisher
PUBLISHER TYPE STATUS URI
multimedia (preferred) origin online http://ips.homeunix.com:10906/

> pkg refresh --full

Instalujemy paczkę 'easytag':

> pkg install -v pkg:/MBLeasytag
Creating Plan - Before evaluation:
UNEVALUATED:
+pkg:/MBLeasytag@2.1,5.11:20090615T121154Z

After evaluation:
None -> pkg:/MBLeasytag@2.1,5.11:20090615T121154Z
None -> pkg:/MBLid3lib@3.8.3,5.11:20090615T121103Z
Actuators:

None
DOWNLOAD PKGS FILES XFER (MB)
Completed 2/2 44/44 1.82/1.82

PHASE ACTIONS
Install Phase 109/109
PHASE ITEMS
Reading Existing Index 8/8
Indexing Packages 2/2


Jeśli teraz uruchomimy zainstalowany program otrzymamy komunikat błędu, ponieważ program jest zlinkowany z bibliotekami, które powinny się znajdować w katalogu głównym:

> /home/estibi/media/usr/bin/easytag
ld.so.1: easytag: fatal: libid3-3.8.so.3: open failed: No such file or directory
Killed

Aby program się uruchomił, należy podać mu ścieżkę do bibliotek:

> LD_LIBRARY_PATH=/home/estibi/media/usr/lib /home/estibi/media/usr/bin/easytag

Można również wyeksportować zmienną:

> export LD_LIBRARY_PATH=/home/estibi/media/usr/lib:${LD_LIBRARY_PATH}
> /home/estibi/media/usr/bin/easytag

Paczka 'easytag' jest zainstalowana:

> pkg -R /home/estibi/media list
NAME (PUBLISHER) VERSION STATE UFIX
MBLeasytag 2.1 installed ----
MBLid3lib 3.8.3 installed ----