LINUX.ORG.RU

Debian Lenny, создание файловых систем в файле, ошибки


0

1

Здравствуйте. Использую на работе KANOTIX, LiveUSB на основе Debian Lenny. Решил я как-то скомпилировать программу, а она компилируется только в GCC 4.5 и старше. Ладно, скомпилировал GMP 5.0.2 (version 4.3.2 or later), MPFR 3.0.1 (version 2.4.2 or later), MPC 0.9 (0.8.1 or later), PPL 0.11.2 (version 0.11 or later), Cloog 0.16 (CLooG-PPL version 0.15 or CLooG 0.16). Это были зависимости. Готовлюсь компилировать GCC 4.5.3 и понимаю, что 500 свободных мегабайт на виртуальном диске не хватит для компиляции. Решил создать swap-файл на разделе NTFS.

kanotix@Kanotix:~$ cd /media/disk/
kanotix@Kanotix:/media/disk$ dd if=/dev/zero of=swap.img bs=1M count=512
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 30.3254 s, 17.7 MB/s

kanotix@Kanotix:/media/disk$ sudo swapon /media/disk/swap.img
swapon: Skipping file /media/disk/swap.img - it appears to have holes.

kanotix@Kanotix:/media/disk$ /sbin/mkswap /media/disk/swap.img
Setting up swapspace version 1, size = 536866 kB
no label, UUID=3788e05d-3661-425c-a922-7bdac05760d8
mkswap: /media/disk/swap.img: unable to write signature page: Operation not supported

kanotix@Kanotix:/media/disk$ sudo /sbin/mkswap /media/disk/swap.img
Setting up swapspace version 1, size = 536866 kB
no label, UUID=e5ce4fcd-0076-42ed-be12-110cf9c14132
mkswap: /media/disk/swap.img: unable to write signature page: Operation not supported

kanotix@Kanotix:/media/disk$ sudo /sbin/mkswap --help
Usage: mkswap [-c] [-v0|-v1] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]

kanotix@Kanotix:/media/disk$ dd if=/dev/zero of=extra-swap bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 12.729 s, 21.1 MB/s

kanotix@Kanotix:/media/disk$ sudo /sbin/mkswap /media/disk/extra-swap
Setting up swapspace version 1, size = 268431 kB
no label, UUID=281d6634-cafa-41e7-acdf-804711045cf4
mkswap: /media/disk/extra-swap: unable to write signature page: Operation not supported

kanotix@Kanotix:/media/disk$ susudo swapon /media/disk/extra-swap
swapon: Skipping file /media/disk/extra-swap - it appears to have holes.

Создал файл размером 512 мегабайтов, забитый нулями. Попробовал сразу подключить, забыв создать файловую систему - разумеется не подключилось. Создаю файловую систему - вижу ошибку! Разумеется, ничего не создалось и подключить тоже не получается.

Тогда я решил создать раздел ext2 в файле, туда распаковать архив с gcc и всё сделать.

kanotix@Kanotix:/media/disk$ dd if=/dev/zero of=extra-swap bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 78.3449 s, 13.7 MB/s
kanotix@Kanotix:/media/disk$ sudo mkfs.ext2 /media/disk/extra-swap
mke2fs 1.41.3 (12-Oct-2008)
/media/disk/extra-swap is not a block special device.
Proceed anyway? (y,n) y
Warning: could not erase sector 2: Attempt to write block from filesystem resulted in short write
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Warning: could not erase sector 0: Attempt to write block from filesystem resulted in short write
mkfs.ext2: Attempt to write block from filesystem resulted in short write while zeroing block 262128 at end of filesystem
Writing inode tables: 0/8
Could not write 5 blocks in inode table starting at 67: Attempt to write block from filesystem resulted in short write

kanotix@Kanotix:/media/disk$ sudo mkdir /mnt/1

kanotix@Kanotix:/media/disk$ sudo mount -t ext2 /media/disk/extra-swap -o loop /mnt/1
mount: wrong fs type, bad option, bad superblock on /dev/loop1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

kanotix@Kanotix:/media/disk$

Что это было, почему, и как исправить? Домой с работы через час.

>> Тогда я решил создать раздел ext2 в файле

Нужно использовать losetup, потом создавать ФС на петлевом устройстве.

GotF ★★★★★ ()
Ответ на: комментарий от GotF

Можно подробнее? Я первый раз слышу про петлевое утсройство. Да и про утилиту. дома из SuSE всё работало, правда несколько лет назад.

ZenitharChampion ★★★★★ ()

ntfs-3g (fuse) ? на этом ты хочешь держать swap?

sdio ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

Может, тебе ман скопипастить?

найти свободное устройство:
losetup -f
подключить файл:
losetup /dev/loop№ /path/to/file
далее работаешь с /dev/loop№ как с обычным блочным устройством
отключить:
losetup -d /dev/loop№

GotF ★★★★★ ()
Ответ на: комментарий от GotF

Завтра так и сделаю. Сегодня этот монстр уже не скомпилируется. Спасибо!

ZenitharChampion ★★★★★ ()

Если кому интересно, что было дальше. Взял Flash-диск, создал раздел ext2 (вообще у меня на персональной флешке всегда есть такой раздел в 10 гигабайтов), компилирую GCC там. И что вы дуцмаете - мой компьютер не выдержал нагрузки! После 25 минут компиляции, когда ошибки быть не могло, он выдал Make [3] bus error, Error 2, exiting... Думаю найти и решать проблему, хотя бы посмотреть сколько места осталось. Жму на Konqueror - через мгновение он выключился. Жму на Google Chrome - выключился. Жму на kicker (панель внизу) - выключился и утянул за собой фон рабочего стола. Одна лишь консоль работала. Смотрю на USB-модем - горит красная лампочка. Теперь я понял, что ошибка была в шине USB. Ну круто! Думаю, причина в разболтанной розетке USB на передней панели компьютера, в которую был вставлен 1-гигабайтный диск с LiveUSB.

Щас попробую продолжить с прежнего места, только зависимости доставлю.

ZenitharChampion ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.