[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Проблемы при установке пакетов в примонтированном образе



Есть образ флеш карты flash.img , которая содержит в себе дистрибутив lenny.
Я хочу обновить на ней дистрибутив до sid (или просто установить много других пакетов). 

Я монтирую образ в каталог 'flash':
mount -o loop,offset=16384 -t ext2 flash.img flash/

и вхожу в этот каталог под окружением chroot:
LC_ALL=C chroot flash/ /bin/bash

Затем я редактирую файл с репозиториями 'nano /etc/apt/source.list' и заменяю там
'lenny' на 'sid'. 

После я получаю список доступных пакетов: 'aptitude update'.

Затем запускаю процесс обновления дистрибутива 'aptitude upgrade -y', 
и все необходимые пакеты скачиваются и настраиваются.
После завершения процесс я выхожу из chroot.

Теперь у меня есть образ флешки с sid. Теперь самое интересное.

Когда я пытаюсь отмантировать образ, то получаю предупреждение:

#umount flash/
umount: /home/debuser/work/flash: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

Я ищу по процессам и вижу что пара процессов до сих пор привязана к этому образу:
#fuser -m /home/debuser/work/flash
/home/debuser/work/flash:  2832rce  8811rce

Если я сделаю:
#fuser -m -k /home/debuser/work/flash

то эти процессы убьются. При этом, если я выполняю эти действия на сервере, может сломаться ssh сервис, 
и я больше не могу попасть на этот сервер. Иногда сервер вообще перестает работать до полной перезагрузки.

Я пытался использовать 'fakeroot' но ничего не получилось.

Можно ли как-то избежать таких последствий? Чтобы установка и работа с образом происходила изолированно 
от основной системы? Как вообще правильно делать в такой ситуации?


Reply to: