przystajnik

Archiwum tagów la dd

Mały pokaz siły z ddCopy 0.2.0

Ręka w górę, kto uwielbia wprawiać w zakłopotanie fanów wiodących systemów, tworząc pendrive’y LiveCD za pomocą jednego polecenia dd?. Jednak nawet dla miłośników Linuksa nomenklatura tego programu jest niekiedy zbyt przytłaczająca. A szkoda, żeby taki potencjał się marnował. A dowodem na to jest graficzne narzędzie ddCopy.

Terminal pogryzł człowieka: pv

Nawet jeżeli ktoś nie żywi sympatii do linuksowego terminala, to potrafi wymienić co najmniej jedną czynność, którą łatwiej i wygodniej jest przeprowadzić w terminalu. Moim ulubionym zajęciem jest nagrywanie obrazów iso na pendrive’ach za pomocą programu dd. Szybko, łatwo, skutecznie (o ile dobrze wskaże się urządzenie wyjściowe) i tylko czasem może brakuje informacji, ile jeszcze taki proces nagrywania zajmie czasu, albo w który miejscu akurat się znajduje. I tu z pomocą przychodzi pv, którego skromna nazwa nie odzwierciedla miodności płynącej z kontrolowania przesyłania danych potokami w Linuksie.

Perły z lamusa – Netcat

Tak, polecenie netcat to według obecnych kryteriów staroć. Mało tego, ten staroć nadal znajduje sie w repozytoriach. Nie uwierzycie – ‚netcat’ nadal może być użyteczne…

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.

Iso, dd i cała ta kosmiczna terminologia

Człowiek próbuje być nowoczesny, obeznany i podążać za trendami, a tu się niekiedy okazuje się, że na rozwiązania nowoczesne i trendy brakuje czasu, wiedzy i samozaparcia. Czym skorupka za młodu…Tak właśnie w moim przypadku ma się sprawa z tworzeniem bootowalnych pendrive’ów. Nierzadko nabywam z sieci całe mnóstwo różnych dziwnych obrazów iso, które według zapewnień twórców po wypaleniu/nagraniu na nośniku USB mają być samobootowalne. I zapewne są – tyle, że niekiedy systemowe oprogramowanie graficzne do tego celu ma na tę kwestię odmienny pogląd. I nośnik się nie uruchamia, albo program stwierdza, że nie może nagrać tego obrazu, bo (…). Być może istnieje idealne rozwiązanie, ale w Ubuntu na dzień dzisiejszy kreator dysków startowych ignoruje niektóre pliki iso, Unetbootin nagrywa je ze swoimi dodatkami, dzięki którym potem nic się potem nie uruchamia, itp. Cóż, niejeden na moim miejscu może by się załamał i wpadł w nałogi, a ja uruchamiam terminal, przypominam sobie obsługę dd i jestem w domu… W czym tkwi magia tej siermiężnej prostoty o której wielu już zapomina? W tym, że działa (przeważnie).Ponieważ dd umożliwia operacje na niskim poziomie dostępu do sprzętu, przed jego użyciem każdy musi się upewnić, że wie co robi. Zatem, że plik które chce nagrać to jest ten plik co powinien być, a nośnik to sprzęt na którym dane _powinny_ wylądować. Zasada wykorzystania dd jest bowiem klarowna – wskazujemy programowi plik z obrazem dysku oraz miejsce, gdzie on ma go upchać. I program to robi. Nie bacząc na to, że ktoś przez pomyłkę wskazał np. partycję /home.Ale bez obaw. Gdyby ktoś miał wątpliwości, może wszystko powyższe i poniższe potraktować jako niskich i niezrozumiałych lotów beletrystykę. Natomiast osoby z zacięciem, po wspięciu pendrive i wydaniu poleceniem ‚sudo fdisk -l’ odnajdą sobie, pod jaką nazwą systemową nośnik został zaszeregowany (/dev/sdX). W ten sposób, cały powyższy wywód zawiera się w jednym poleceniu:sudo dd if=/pełna_ścieżka_do/pliku.iso of=/dev/sdX bs=8MNależy pamiętać, że podajemy nazwę urządzenia (np. /dev/sdc) a nie partycji jaka na nim się znajduje (/dev/sdc1). Parametr ‚bs’ reguluje ilość (w MB) odczytywanych i zapisywanych danych. Jak widać, nic skomplikowanego, a my w ten sposób stajemy się niezależni od nieodgadnionych humorów narzędzi graficznych.

Translate »