Команда dd указывает, что на диске недостаточно места - пытается отформатировать sd-карту для raspberry pi

sed -r 's/^([^:]+):([^ ]+) ([^:]+):.*$/\1-\3 &/' your-file.txt  | \
    sort | sed -r 's/[^ ]+ (.*)/\1/'

Пример:

$ sed -r 's/^([^:]+):([^ ]+) ([^:]+):.*$/\1-\3 &/' your-file.txt  | sort | sed -r 's/[^ ]+ (.*)/\1/'
east:Lilly Batsuro:58:85:84:52
east:Shirley Couts:66:57:67:37
east:Daniel Liebelt:83:78:84:61
east:James Peringer:50:62:56:94
east:Sam Smith:52:72:78:62
west:Carmen Gondar:62:58:85:56
west:Kim Husak:89:91:63:64
west:Alex Opitz:79:68:57:93
west:Lenny Taufa:53:61:82:52
west:Derek Willard:63:69:74:43

Кстати, вот как sort выбирает первое поле и второе поле, когда вы запускаете его с sort -k1,1 -k2,2:

$ sort --debug -k1,1 -k2,2 ttt.txt
east:Daniel Liebelt:83:78:84:61
___________
           ____________________
_________________________________
east:James Peringer:50:62:56:94
__________
          _____________________
_________________________________
east:Lilly Batsuro:58:85:84:52
__________
          ____________________
________________________________
east:Sam Smith:52:72:78:62
________
        __________________
____________________________
east:Shirley Couts:66:57:67:37
____________
            __________________
________________________________
west:Alex Opitz:79:68:57:93
_________
         __________________
_____________________________
west:Carmen Gondar:62:58:85:56
___________
           ___________________
________________________________
west:Derek Willard:63:69:74:43
__________
          ____________________
________________________________
west:Kim Husak:89:91:63:64
________
        __________________
____________________________
west:Lenny Taufa:53:61:82:52
__________
          __________________
4
04.03.2017, 05:27
3 ответа
 -rw-r - r-- 1 root root 10485760 3 марта 22:04 / dev / sdb

/ dev / sdb - это обычный файл, а не устройство. В какой-то момент вы должны были запустить rm / dev / sdb . Он создается автоматически при вставке устройства, но когда вы запускаете команды от имени пользователя root, вы можете с ним напортачить. Теперь, когда / dev / sdb является обычным файлом, он хранится в памяти в файловой системе с низким пределом размера, потому что он предназначен только для файлов устройств , которые не имеют содержимого как такие, потому что они просто маркеры, чтобы сказать «вызвать этот драйвер устройства, чтобы сохранить содержимое».

Удалите файл ( rm / dev / sdb как root). Затем, чтобы воссоздать правильный / dev / sdb , самый простой способ - извлечь SD-карту и вставить ее обратно. Как только вы это сделаете, вы можете скопировать изображение с помощью команды, которую вы использовали, или просто

 </home/user/Downloads/2017-02-16-raspbian-jessie-lite.img sudo tee /dev/sdb >/dev/null
23
27.01.2020, 20:47

Для записи образа необходим отформатированный раздел. / dev / sdb - ваше устройство. У вас есть два раздела: / dev / sdb1 и / dev / sdb2 . Таким образом, команда будет такой:

dd bs=4M if=/home/user/Downloads/2017-02-16-raspbian-jessie-lite.img of=/dev/sdb2
-1
27.01.2020, 20:47

Я также получил "недостаточно места", но это было потому, что я устройство -сбросило (dd )из iso-образа в раздел /dev/sdb1, который был слишком мал! и он никогда не будет загрузочным! Я добавил этот комментарий 4 года спустя, потому что в одном ответе было неправильно сказано, что делать, если вам нужна загрузочная флешка, поэтому я немного доработал это:

Если у вас есть USB-накопитель как /dev/sdb (или sdc, sdf,независимо от того, )вы можете создать загрузочный диск из iso -загрузочного -образа с обычно разделом iso9660, используя команду dd (или cat)

dd if=/distfiles/debian -11.1.0 -amd64.iso of=/dev/sdb bs=4M

последний параметр, bs=4M, не нужен, он нужен только для скорости. обратите внимание, что было создание разделов sdb1 возможно также sdb2 abd (может быть даже больше разделов ).

проверить его существование:

ls -l /dev/sdb*

brw-rw---- 1 root disk 8, 32 Oct 22 20:59 /dev/sdb
brw-rw---- 1 root disk 8, 33 Oct 22 20:40 /dev/sdb1
brw-rw---- 1 root disk 8, 34 Oct 22 20:33 /dev/sdb2`

b в первом столбце показывает, что это блочные -устройства ("диски" ). в данном случае на образе iso -было 2 раздела! тогда вы можете установить его:

mount /dev/sdb1 /nod1

df -mT /nod1

/dev/sdb1      iso9660        378    378         0 100% /nod1

Если вы хотите сохранить образ iso -на диске или USB-накопителе, но не в качестве загрузочного -USB-накопителя -, используйте существующий раздел файловой системы ()на USB-накопителе. флешка (, возможно, отформатируйте ее с помощью mkfs или easist, используйте редактор разделов )а затем смонтировать этот раздел

mount /dev/sdb1 /nod1

df -mT /nod1

Filesystem     Type 1M-blocks  Used Available Use% Mounted on
/dev/sdc1      vfat     14844  6935      7910  47% /nod1

то вы можете сделать это, если хотите сохранить iso img на потом:

dd if=/distfiles/debian-11.1.0-amd64.iso of=/nod1

(но обратите внимание, что вы не можете загрузить его с USB-накопителя)

(насколько я знаю. Может быть, в будущем?!:)

Теперь, если вы перечислите разделы устройства, они по-прежнему будут разделами fx.ext2 или vfat, а не iso9660, и будет файл с именем debian -11.1.0 -amd64.iso

0
22.10.2021, 19:18

Теги

Похожие вопросы