Вы уверены, что получили право makedev? Я нашел несколько версий makedev:
Что касается gimp-tool
вызов, похоже, что автор makedev-20110824 хотел 'значок', чей исходный (в калеке формат XCF) был преобразован в png во время make
. Я не понимаю, почему автор поместил бы значок для системной утилиты как makedev, который вряд ли будет запущен от настольной среды.
Кроме того, я хотел бы Вас к контролю Linux С нуля, рассматривая Ваш интерес к учебному руководству. То учебное руководство довольно старо (2000), и Вы могли бы столкнуться со многими проблемами, соединяющими части (который мог бы быть хорошей вещью, если Вы наслаждаетесь им).
Не использовать dd
с каналами. dd
низкий уровень. Это - интерфейс к read
и write
системные вызовы.
Когда Вы делаете a dd bs=1024 count=1
, это делает a read(0, buf, 1024)
.
Если read
возвраты меньше данных, чем 1 024 байта (например, потому что канал только содержит 200 байтов в данный момент), dd
не повторно попытается read
для получения недостающих 824 байтов это сообщит о неполном чтении блока в конце (часть после +
). То же самое может произойти при записи также.
Вот почему опасно использовать dd
на каналах как, если Вы не можете гарантировать, что запись процессов или чтение в канал делают так в суммах, которые пропорциональны размеру блока и являются делителями к размеру канала, нет никакой гарантии, что Вы получите полные блоки.
(echo AAAA; sleep 1; echo BBBBBB) | dd bs=3 > /dev/null
3+2 records in
3+2 records out
Это не слишком большая проблема здесь, поскольку мы просто пишем то, что мы читаем, но это может быть более проблематично, например, при определении a count
.
GNU dd
имеет -iflag fullblock
работать вокруг этого:
$ (echo AAAA; sleep 1; echo BBBBBB) | dd bs=3 iflag=fullblock > /dev/null
4+0 records in
4+0 records out
12 bytes (12 B) copied, 1.00068 s, 0.0 kB/s