Я использовал qemu + QEmu Monitor для монтирования дискет и чтения необработанных данных с помощью dd.
dd
или split
:Примечание: Возможно, вам потребуется разбить на тома по 1474560 (именно таким является /dev/rdsk/f03ht).
Вы можете также попробовать использовать compress
.
# Archive the files you wish to send using `tar` (supported on SYSV).
$ ls -la test.tar
----------+ 1 cmihai None 5901312 Dec 2 20:55 test.tar
# Split into 1.44MB volumes
$ split -b 1478656 test.tar test_floppy_
$ ls -la test_floppy*
-rw-r--r--+ 1 cmihai None 1478656 Dec 2 21:10 test_floppy_aa
-rw-r--r--+ 1 cmihai None 1478656 Dec 2 21:10 test_floppy_ab
-rw-r--r--+ 1 cmihai None 1478656 Dec 2 21:10 test_floppy_ac
-rw-r--r--+ 1 cmihai None 1465344 Dec 2 21:10 test_floppy_ad
qemu
. Нажмите Ctrl + Alt + 2 в qemu
, чтобы использовать монитор qemu.
change floppy0 test_floppy_aa
info block
Примечание: Возможно, для проверки нам следует читать с необработанного устройства /dev/rdsk/f03ht, а не с блочного....
dd if=/dev/dsk/f03ht of=test_floppy_aa
dd if=/dev/dsk/f03ht of=test_floppy_ab
...
cat a b c | tar -tvt test_floppy_* # test..
cat a b c | tar -xvt test_floppy_*
qemu-system-i386 -hda sysv.img -hdb test.tar
и читаем с помощью dd
с /dev/rdsk/1s1
(я полагаю... 0s0 - это корневой диск). Вы также можете попробовать `fdisk /dev/rdsk/1s1'. dd
:D. (безумие...)RAW
в VMDK
(используемый VMware и VirtualBox): qemu-img convert -O vmdk sysv.img sysv.vmdk
. Теперь мы можем попробовать проверить, поддерживаются ли драйверы сетевых карт VMware или VirtualBox... kermit
/ tip
/ cu
, как только найду дискету, содержащую их и /dev/
, которые мне нужно использовать... tar -tvf /dev/dsk/f03ht
. Возможно, стоит попробовать создать многотомную дискету и забыть о части dd... WIP :-). Одним из решений является использование опции nospace
для встроенной функцииcomplete
.
Во-первых, вам нужно знать, как определяется завершение дляls
$ complete -p ls
complete -F _longopt ls
Затем вы изменяете его, добавляя-o nospace
$ complete -o nospace -F _longopt ls
Таким образом, даже если вы нажмете Tab ↹ несколько раз, совпадения не будет, и аргумент не будет добавлен в командную строку.
Побочный эффект:вам нужно вручную добавить пробел в конце строки, если вы хотите добавить еще один аргумент к ls
.
Чтобы избежать этого побочного эффекта, вы можете изменить функцию _longopt
таким образом, чтобы она не совпадала с одним и тем же аргументом дважды (это может быть непросто ).
Как применить это к другим командам и сделать постоянным
Добавление пробела после совпадения является поведением по умолчанию. Я не знаю, есть ли другой способ, кроме использования -o nospace
при указании правил завершения с помощью complete
.
Более того, имейте в виду, что правила завершения где-то указаны, даже для встроенных команд (на моем ноутбуке в этой папке:/usr/share/bash-completion
). Если вы посмотрите файл /usr/share/bash-completion/bash-completion
, вы найдете, где определены завершения дляls
:
complete -F _longopt a2ps awk base64 bash bc bison cat chroot colordiff cp \
csplit cut date df diff dir du enscript env expand fmt fold gperf \
grep grub head irb ld ldd less ln ls m4 md5sum mkdir mkfifo mknod \
mv netstat nl nm objcopy objdump od paste pr ptx readelf rm rmdir \
sed seq sha{,1,224,256,384,512}sum shar sort split strip sum tac tail tee \
texindex touch tr uname unexpand uniq units vdir wc who
Вы видите, что одни и те же правила применяются для целой группы различных команд (, таких как cp
, mv
, rm
... ), поэтому, если вы измените это, добавив -o nospace
, изменение повлияет на ls
и все остальные команды.
Если вам неудобно изменять глобальные настройки (, вам потребуются привилегии суперпользователя ), вы можете записать их в~/.bash_completion
(создать этот файл, если он отсутствует ), вот так
complete -F _longopt -o nospace a2ps awk base64 bash bc bison cat chroot colordiff cp \
csplit cut date df diff dir du enscript env expand fmt fold gperf \
grep grub head irb ld ldd less ln ls m4 md5sum mkdir mkfifo mknod \
mv netstat nl nm objcopy objdump od paste pr ptx readelf rm rmdir \
sed seq sha{,1,224,256,384,512}sum shar sort split strip sum tac tail tee \
texindex touch tr uname unexpand uniq units vdir wc who
Если вы хотите изменить дополнения для других команд, не перечисленных здесь, просто найдите их в файле /usr/share/bash-completion/bash-completion
или папке /usr/share/bash-completion/completions
.