===== Taśma DAT/DLT na Linuksie ====== Słowniczek mt oraz tar: ^ Polecenie ^ Wyjaśnienie ^ | ls -la /dev/nst0 | Sprawdzenie, czy istnieje plik urządzenia taśmy | | mt -f /dev/nst0 status | Stan taśmy oraz aktualny //File number// | | sudo mt -f /dev/nst0 setblk 65536 | Ustawienie rozmiaru bloku | | mt -f /dev/nst0 load | Wymuszenie załadowania taśmy (powinno odbyć się automatycznie) | | mt -f /dev/nst0 fsf 1 | Przewinięcie o jeden //File number// do przodu | | mt -f /dev/nst0 bsfm 1 | Przewinięcie do początku obecnego //File number// | | mt -f /dev/nst0 rewind | Przewinięcie do początku taśmy | | tar -b 128 -cvf /dev/nst0 /home/lukasz/dir/ | Utworzenie archiwum na taśmie, na obecnym numerze pliku | | tar -b 128 -tvf /dev/nst0 | Pokazanie zawartości archiwum z obecnego numeru pliku | | tar -b 128 -xvf /dev/nst0 | Rozpakowanie archiwum z obecnego numeru pliku do aktualnego katalogu | | mt -f /dev/nst0 erase | Zerowanie taśmy (zajmuje dużo czasu) | | mt -f /dev/nst0 eject | Wyjęcie taśmy z napędu | | mt -f /dev/nst0 stsetoptions debug | Zwiększenie gadatliwości logu | | journalctl -f %%|%% grep 'st0' | Czytanie na bieżąco logów | Scenariusz: * należy zarchiwizować katalogi /home/lukasz/Dokumenty/battletech/rpg oraz /home/lukasz/Dokumenty/craft na taśmie, * system to Fedora 33, streamer to (stary model, ale w przypadku nowszych archiwizuje się w ten sam sposób) HP DW022A, kaseta to HP DDS40. ==== Przygotowanie systemu oraz magnetofonu. ==== Warto dodać swojego użytkownika do grupy //tape// i na chwilę się wylogować: # sudo usermod -aG tape lukasz Po umieszczeniu taśmy w napędzie: # ls -la /dev/nst0 crw-rw---- 1 root tape 9, 128 01-12 14:04 /dev/nst0 # mt -f /dev/nst0 status SCSI 2 tape drive: File number=0, block number=0, partition=0. Tape block size 65536 bytes. Density code 0x26 (DDS-4 or QIC-4GB). Soft error count since last status=0 General status bits on (41010000): BOT ONLINE IM_REP_EN Jeżeli taśma została zakupiona używana, można ją wyzerować, co zajmuje jednak prawie dwie godziny: # mt -f /dev/nst0 erase # mt -f /dev/nst0 rewind Ustawienie bloku (może być potrzebne sudo): # sudo mt -f /dev/nst0 setblk 65536 ==== Zapisanie katalogu na taśmie i weryfikacja ==== # tar -b 128 -cvf /dev/nst0 /home/lukasz/Dokumenty/battletech/rpg/ tar: Removing leading `/' from member names /home/lukasz/Dokumenty/battletech/rpg/ /home/lukasz/Dokumenty/battletech/rpg/mapy/ /home/lukasz/Dokumenty/battletech/rpg/mapy/openterrain1.jpg [...] # tar -b 128 -tvf /dev/nst0 drwxr-xr-x lukasz/lukasz 0 2020-04-12 18:36 home/lukasz/Dokumenty/battletech/rpg/ drwxr-xr-x lukasz/lukasz 0 2020-04-12 18:22 home/lukasz/Dokumenty/battletech/rpg/mapy/ -rw-r--r-- lukasz/lukasz 4299522 2020-04-12 17:44 home/lukasz/Dokumenty/battletech/rpg/mapy/openterrain1.jpg [...] Po zapisie pliku taśma będzie ustawiona na następnym //file number//. Dla pewności można przewijać taśmą o 100 plików do przodu, zakładając, że na żadnej taśmie nie ma 100 archiwów. Przewinięcie taśmy do przodu i zapisanie kolejnego archiwum: # mt -f /dev/nst0 fsf 100 [komunikat read/write error, ponieważ osiągnięto EOT - End of Tape] # tar -b 128 -cvf /dev/st0 /home/lukasz/Dokumenty/craft/ tar: Removing leading `/' from member names /home/lukasz/Dokumenty/craft/ /home/lukasz/Dokumenty/craft/zew_cthulhu.pdf /home/lukasz/Dokumenty/craft/zapomniane_miasto.pdf /home/lukasz/Dokumenty/craft/w_gorach_szalenstwa.pdf [...] ==== Rozpakowanie archiwum w celu weryfikacji. ==== # tar -b 128 -xvf /dev/nst0 drwxr-xr-x lukasz/lukasz 0 2020-04-12 18:36 home/lukasz/Dokumenty/battletech/rpg/ drwxr-xr-x lukasz/lukasz 0 2020-04-12 18:22 home/lukasz/Dokumenty/battletech/rpg/mapy/ -rw-r--r-- lukasz/lukasz 4299522 2020-04-12 17:44 home/lukasz/Dokumenty/battletech/rpg/mapy/openterrain1.jpg -rw-r--r-- lukasz/lukasz 4491530 2020-04-11 15:44 home/lukasz/Dokumenty/battletech/rpg/mapy/tortuga_mapa.jpg [...] Sztuczka z md5 do sprawdzenia sum kontrolnych plików: # find home/lukasz/Dokumenty/battletech/rpg/ -type f -print0 | xargs -0 md5sum