Показаны сообщения с ярлыком mount. Показать все сообщения
Показаны сообщения с ярлыком mount. Показать все сообщения

пятница, 23 мая 2008 г.

Скрипт для упрощения монтирования CD-ROMа Автор: Антон [есть мнение]

Вот такой простой скрипт:

#!/bin/sh
retval=`/sbin/mount | grep /mnt/cdrom`
if [ -n "$retval" ];
then /sbin/umount /mnt/cdrom 1> /dev/null 2> /dev/null
if [ "$?" -ne 0 ];
then echo "Не могу размонтировать CDROM"
else echo "Размонтировал CDROM"
eject /dev/cdrom
fi
else /sbin/mount /dev/cdrom 1> /dev/null 2> /dev/null
if [ "$?" -ne 0 ];
then echo "Не могу смонтировать CDROM"
else echo "Примонтировал CDROM"
fi
fi


П.С. копируем в каталог /sbin под именем cdm. Сам определяет состояние

вторник, 13 мая 2008 г.

Шифрованная файловая система

1.Создаем сам файл, на котором будет храниться шифрованная файловая система
touch /home/secure
2.Заполняем его случайными данными, чтобы сложнее было дешифровать
shred -n1 -s500M /home/secure
в данном случаи мы указали размер в 500Мб.

3.Подгружаем нужные модули:

modprobe dm-crypt
modprobe aes_generic
(aes - быстрый алгоритм шифрования)

4.Создаем loopback устройство из файла:
losetup /dev/loop0 /home/secure
наше устройство теперь называется /dev/loop0, а находится оно в файле /home/secure

5.Создаем шифрованный том из устройства /dev/loop0
cryptsetup -c aes -y create mycrypt /dev/loop0
шифрованный том в этом примере будет называться mycrypt

6.Форматируем его:
mkreiserfs /dev/mapper/mycrypt
После этих операций в устройстве /dev/mapper/mycrypt находится файловая система с шифрованными данными. Ее уже можно монтировать / писать на нее / размонтировать.

7.Монтирование:
losetup /dev/loop0 /home/secure
cryptsetup create mycrypt /dev/loop0
mount -o acl /dev/mapper/mycrypt /home/mnt
ACL - включаем потом для самбы пригодиться

8.Размонтирование:
umount /dev/mapper/mycrypt
cryptsetup remove mycrypt
losetup -d /dev/loop0


Хранение шифрованных данных на отдельной партиции LVM

1. Создаем партицию
lvcreate -L2G -nstorage vg

в данном случаи мы задали размер 2Гб для тома с именем storage в группе vg. Подробнее в документации по LVM2.

2.Подгружаем нужные модули:
modprobe dm-crypt
modprobe aes

(aes - быстрый алгоритм шифрования, можно использовать blowfish, des и пр. - см. раздел Cryptographic options ядра)

3. Создаем шифрованный том из устройства /dev/vg/storage
cryptsetup -c aes -y create mycrypt /dev/vg/storage

шифрованный том в этом примере будет называться mycrypt

4.Форматируем его:
mkreiserfs /dev/mapper/mycrypt

Все. После этих операций в устройстве /dev/mapper/mycrypt находится файловая система с шифрованными данными. Ее уже можно монтировать / писать на нее / размонтировать.

5.Монтирование:
cryptsetup create mycrypt /dev/vg/storage
mount /dev/mapper/mycrypt /mnt/storage

6.Размонтирование:
umount /dev/mapper/mycrypt /mnt/storage
cryptsetup remove mycrypt

воскресенье, 30 марта 2008 г.

Перемонтируем /home на новый HDD в Ubuntu Linux

  • Feb. 27th, 2008 at 10:53 PM
Отсюда взято

В самом начале своего знакомства с unix-like системами я всегда выделял очередному линуксу/фре достаточно мало места, по умолчанию я использовал Windows XP и львиная доля HDD всегда доставалась этой ОС. С тех пор много чего изменилось, а я и не заметил, как уже более полугода работаю, выхожу в Интернет, слушаю музыку, смотрю фильмы, ТВ, etc находясь в своей уже полюбившейся(удобной, надёжной, защищённой и далее по тексту) ОС, а в Windows загружаюсь очень и очень редко - поиграть (да, есть такой грешок за мной :)).

Логично, что места на разделах, выделенных для линукса, стало катастрофически не хватать, особенно в своей домашней директории /home. Разумным выходом из сложившейся ситуации мне показалось следующее решение - перемещение /home на отдельный свободный (благо он есть) винчестер, в этой роли выступает Seagate SATA 80 Gb.
Первое место, где я ищу информацию по интересующему меня вопросу, это... нет, не Google, с недавних пор это планета runix.org. Полезной оказалась заметка mczim`a.
После этого я нагуглил вот это(англ.) небольшое руководство. Итак.

После подключения винчестера по всем правилам, он у нас должен появиться в /dev. В моем случае появился /dev/sdb.
Во-первых, форматируем наш новый винчестер и создаем раздел:

# fdisk /dev/sdb
# mkfs.ext3 /dev/sdb1

Проверить, что все идет по плану можно командой:

# fdisk -l

После этого, монтируем наш новый hdd в какое-нибудь место, например в /share/newhome, копируем содержимое папки /home в /share/newhome и не забываем после копирования отмонтировать новый hdd:

# mount /dev/sdb1 /share/newhome
# cp -vax /home /share/newhome
# umount /dev/sdb1

Теперь прописываем новый hdd в /etc/fstab. Тут есть одна тонкость - дело в том, что в Ubuntu в /etc/fstab вместо названий устройств (/dev/hda1, /dev/hda2, etc) используется UUID. Чтобы узнать UUID нашего нового hdd выполняем команду:

# ls -l /dev/disk/by-uuid/

Предварительно, на всякий случай, сделав резервную копию /etc/fstab, копируем нужный нам UUID вместо UUID старого раздела(надеюсь /home у вас вынесен в отдельный раздел?).
Строка монтирования домашнего раздела в моем случае выглядит так:

# /dev/sdb1
UUID=3dbf409b-c35e-482c-8464-59b85528f714 /home ext3 defaults 0 2

Тут можно вписать кучу параметров монтирования разделов типа ext3 или поменять режим журналирования - на Ваше усмотрение. По умолчанию ext3 раздел примонтируется в режиме "ordered", а в /var/log/messages будут выведены строчки:

Feb 25 19:13:44 fabian kernel: [ 32.474467] EXT3 FS on sdb1, internal journal
Feb 25 19:13:44 fabian kernel: [ 32.474473] EXT3-fs: mounted filesystem with ordered data mode.

Тут сказано, что это нормально :)

Обратите внимание на последнюю цифру "2" в строчке монтирования раздела. Вначале я по ошибке поставил там единицу, на что при загрузке Ubuntu ругалась, что не может примонтировать раздел. В man fstab по поводу этого параметра сказано следующее:

The sixth field, (fs_passno), is used by the fsck(8) program to determine the order in which filesystem checks are done at reboot time. The root filesystem should be specified with a fs_passno of 1, and other filesystems should have a fs_passno of 2.

Т.е. для "/" должна быть указана единица, а для других ФС - двойка. Поменял на двойку, Ubuntu загрузилась без ошибок.

В исходном руководстве сказано, что можно, не перезагружая компьютер, набрать команду

# mount -a

и наш новоиспечённый /home примонтируется, но тогда при выводе команды

# df -H

вы увидите, что два раздела смонтированы на /home. Чтобы этого избежать, необходимо сначала отмонтировать старый раздел, на котором расположен /home. Отмонтировать этот раздел при рабочей запущенной ОС достаточно не ординарная задача, ведь существует масса процессов, которые "занимают" этот раздел. Вообще говоря, мне показалось, что проще перезагрузиться. :)

Если все прошло как надо, то после перезагрузки, /home уже будет на новом разделе.

Что было у меня ДО:

root@fabian:/home/fab# df -H
Файловая система Разм Исп Дост Исп% смонтирована на
/dev/sda10 12G 9,9G 689M 94% /home


ПОСЛЕ:

root@fabian:/home/fab# df -H
Файловая система Разм Исп Дост Исп% смонтирована на
/dev/sdb1 79G 12G 64G 15% /home


Вот и все.

Монтирование образов Nero

Взято отсюда
Для монтирования образа созданного в Nero (file.nrg) без его конвертации в iso образ можно воспользоваться командой:
mount -t udf,iso9660 -o loop,ro,offset=307200 file.nrg /mnt

отличный совет
еще много чего интересного в man losetup

мне это помогло смонтировать поврежденную флешку (SD-MMC) с телефона (Siemens m75)

mount -t vfat -o loop,ro,offset=$((16*512*64)) sda.img /mnt/flash/

P.S. кто знает, что скрывается в этих 512k ?

 

Создание виртуальной файловой системы и ее монтирование

STEP 1 (Создать 10MB файл)
$ dd if=/dev/zero of=/tmp/disk-image count=20480

По-умолчанию dd использует блоки в 512 байт, поэтому размер получится равным 20480*512

STEP 2 (Создание файловой системы ext3 или ext2)
$ mke2fs -q
или если вы хотите ext3
$ mkfs -t ext3 -q /tmp/disk-image
да, вы можете использовать даже reiser, но тогда придется создать образ диска большего размера.
Что-то вроде "dd if=/dev/zero of=/tmp/disk-image count=50480".
$ mkfs -t reiserfs -q /tmp/disk-image

STEP 3 (Создание директории "virtual-fs" и монтирование. Это нужно делать как root)
$ mkdir /virtual-fs
$ mount -o loop=/dev/loop0 /tmp/disk-image /virtual-fs

Примечание: Если вы монтируете второе устройство, вы должны увеличить номер loop-устройства: loop=/dev/loop1, loop=/dev/loop2, ... loop=/dev/loopn
(Можно не указывать /dev/loopn вообще, но не забывайте, что устройства могут закончиться (по умолчанию их всего 8: loop0...loop7))
Теперь это работает как любой диск. Виртуальная ФС может быть смонтирована и автоматически, при старте системы, если добавить в /etc/fstab такую строчку:

/tmp/disk-image /virtual-fs ext2 rw,loop 0 0

Тогда ее можно будет монтировать, просто написав:
$ mount /virtual-fs

STEP 4 (когда закончите работу с ВФС, отмонтируйте ее)
$ umount /virtual-fs

(Основано на переводе TIP4 с http://souptonuts.sourceforge.net/how_to_linux_and_open_source.htm)

Этот же метод, только с модификациями, можно использовать для создания шифрованных дисков. Для этого нужно, чтобы поддержка шифрования была включена в ядре, были включены в ядре же алгоритмы шифрования и использовались достаточно свежие версии losetup и mount (не помню пакет, в котором это лежит).
Теперь к делу:
STEP 1 - также, как и в оригинале.
STEP 1.1 (здесь мы конфигурируем кольцевое устройство, у нас спросят пароль для создания ключа шифрования. ВНИМАНИЕ! Пароль спросят только один раз, изменить его потом нельзя!):

$ losetup -e aes /dev/loop0 /tmp/disk-image

STEP 2:

$ mkfs -t reiserfs /dev/loop0

далее по тексту. при монтировании указываем в опциях:

mount -o loop,encryption=aes ...

[Vasily Shmelev aka vs-adm]