Mam następujące ograniczenia:
- Mam
.zip
plik 1,0 GB na moim komputerze, który zawiera jeden plik, obraz dyskuraspbian
. Po rozpakowaniu ten plik ma 3,2 GB i nosi nazwę2015-11-21-raspbian-jessie.img
. - Po pobraniu pliku zip mam na komputerze prawie 1,0 GB miejsca do przechowywania, za mało miejsca, aby wyodrębnić obraz na komputer.
- Ten plik musi być nieskompresowany i zapisany na karcie SD zwykłym starym
dd
.
Czy mogę zapisać obraz na karcie SD zgodnie z tymi ograniczeniami?
Wiem, że możliwe jest przepuszczanie danych przez tar
rurę, a następnie przesyłanie danych w innym miejscu, jednak czy to nadal będzie działać w przypadku zip
formatu pliku, czy też całe archiwum musi zostać zdekompresowane przed udostępnieniem jakichkolwiek plików?
/dev/sdh
, uruchomunzip -p file.zip >/dev/sdh
. (Wiem, że stosowaniedd
jest tradycyjne, ale nie jest konieczne.)dd
? Pomyślałem, że potrzebny będzie parametr Rozmiar bloku.dd
. W przeszłości rozmiar bloku był bardzo ważny podczas pisania na taśmy. W przypadku dysków nie ma to znaczenia.dd
pozwala tylko na utratę danych lub spowolnienie (lub w rzadkich przypadkach przyspiesza trochę, jeśli jest wystarczająco duży). Zapomnij odd
, to bardzo rzadko przydatne.Odpowiedzi:
Użyj
unzip -p
:źródło
unzip -p … >/dev/sdb
.dd
jest czasem przydatny wsudo
:unzip -p ... | sudo dd of=/dev/sdb bs=1M
unzip -p … | sudo 'cat >/dev/sdb'
Ale wolę,sudo chown $USER /dev/sdb
co daje mi dodatkową możliwość sprawdzenia, czy piszę na właściwym urządzeniu.Po drobnych zmaganiach z poprzednim rozwiązaniem:
lub, jeśli chcesz zobaczyć postęp i zainstalowałeś
pv
:źródło