Perły z lamusa – Netcat
Wszyscy którzy momentalnie wywołali ‘man netcat’, już wiedzą – to niepozorne polecenie umożliwia przesyłanie plików między komputerami. Nic wyszukanego – po prostu jeden komputer rozpoczyna transmisję na wybrany port drugiego komputera, który na rzeczonym porcie oczekuje transmisji. A wygląda to tak:
Na ‘serwerze’ uruchamiamy nasłuch:
nc -l -p 6502 > naszplik.txt
A ‘klient’ wysyła:
cat naszplik.txt | nc numer.ip.serwera 6502
Trąci banałem? Oczywiście. Do takich rzeczy są już bardziej rozbudowane rozwiązania. Ale skoro mamy takie niskopoziomowe narzędzie, dlaczego by nie wykorzystać go do mniej oczywistych funkcji, jak… klonowanie dysku? To koncepcja wyłaniająca się z szarówki dnia codziennego – po zainstalowaniu systemu na jednej maszynie, chcielibyśmy przenieść tę samą instalację na kolejny komputer (o tych samych, lub podobnych parametrach). Jak na postęp cywilizacyjne przystało do klonowania dysków/systemów powstało już sporo narzędzi graficznych, lecz piękno prostoty i jednoznaczności tekstowych komend nadal urzeka. Wystarczy obie maszyny (a już na pewno maszynę ‘klienta’) uruchomić za pomocą LiveCD (pendrive, CD), by mieć pełen dostęp do dysku i…
Komputer na którym chcemy mieć duplikat systemu:
nc -l -p 6502 | dd of=/dev/sda
Komputer ‘matka’:
dd if=/dev/sda | nc numer.ip.serwera 6502
Jednak ponieważ kopiowanie całego dysku o pojemności np. 40GB przy przepustowości sieci 100Mbit/s zajmie jakieś 55 minut, klonować można wybrane partycje oraz np. sam MBR. A gdyby ktoś uważał, że praca w konsoli jest poniżej godności, istnieją graficzne nakładki, np. GtkNetCat.
Oczywiście powyższe to jedynie zasugerowanie jednego z zastosowań ‘netcat’. Na podobnej zasadzie można tworzyć kopie bezpieczeństwa systemu, całych dysków, itp. Stara rzecz, a cieszy.