|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> Мелочи
—> dd
Использование утилиты dd
Автор: lissyara.
В составе FreeBSD (и не только во фряхе, но и в linux) есть штатная утилита dd - она копирует стандартный ввод, в стандартный вывод. Таково её определение в man`е. Тока может она немного больше. Примеры приведены в том же мане, а также кое-что здесь.
Для начала - с её помошью можно делать образы дисков или отдельных слайсов:
/usr/home/lissyara/>df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 248M 100M 128M 44% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1d 989M 1.4M 909M 0% /tmp
/dev/ad0s1e 14G 5.0G 7.5G 40% /usr
/dev/ad0s1f 3.5G 331M 2.9G 10% /var
/dev/ad8s1 73G 62G 5.0G 93% /usr/local/smb
/usr/home/lissyara/>dd if=/dev/ad0s1a of=test.img
524288+0 records in
524288+0 records out
268435456 bytes transferred in 231.665702 secs (1158719 bytes/sec)
/usr/home/lissyara/>
/usr/home/lissyara/>mdconfig -a -t vnode -f test.img -u 0
/usr/home/lissyara/>bsdlabel -w md0 auto
/usr/home/lissyara/>mount /dev/md0c /mnt
/usr/home/lissyara/>ls /mnt/
.cshrc boot entropy proc tmp
.profile cdrom etc rescue usr
.snap compat lib root var
COPYRIGHT dev libexec sbin
bin dist mnt sys
/usr/home/lissyara/>df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 248M 100M 128M 44% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1d 989M 1.4M 909M 0% /tmp
/dev/ad0s1e 14G 5.0G 7.5G 40% /usr
/dev/ad0s1f 3.5G 331M 2.9G 10% /var
/dev/ad8s1 73G 62G 5.0G 93% /usr/local/smb
/dev/md0c 248M 4.0K 228M 0% /mnt
/usr/home/lissyara/>
/usr/home/lissyara/>umount /mnt
/usr/home/lissyara/>mdconfig -d -u 0
| Вот так. Можно сделать образ слайса в виде файла, утащить его куда надо и там раскатать - выглядеть это будет также (это уже другая машина):
/usr/home/lissyara/>df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 252M 36M 196M 16% /
/dev/ad0s1e 1008M 18K 927M 0% /tmp
/dev/ad1s1e 37G 8.2G 26G 24% /usr
/dev/ad0s1f 4.7G 25M 4.3G 1% /var
procfs 4.0K 4.0K 0B 100% /proc
/usr/home/lissyara/>dd if=/dev/ad0s1a of=/usr/ad0s1a.img
524288+0 records in
524288+0 records out
268435456 bytes transferred in 160.064442 secs (1677046 bytes/sec)
/usr/home/lissyara/>ls -lah /usr | grep img
-rw-r--r-- 1 root wheel 256M Dec 26 15:44 ad0s1a.img
/usr/home/lissyara/>
/usr/home/lissyara/>dd if=/usr/ad0s1a.img of=/dev/ad0s1a
dd: /dev/ad0s1a: Device busy
| Не даёт. Логично - / по любому занят... Плохо что корневой раздел нельзя отмонтировать с ключиком -f - можно было бы попробовать... А так придётся делать другой опыт, на другом разделе:
/usr/home/lissyara/>df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 252M 36M 196M 16% /
/dev/ad0s1e 1008M 18K 927M 0% /tmp
/dev/ad1s1e 37G 2.2G 32G 7% /usr
/dev/ad0s1f 4.7G 25M 4.3G 1% /var
procfs 4.0K 4.0K 0B 100% /proc
/usr/home/lissyara/>dd if=/dev/ad0s1e of=/usr/ad0s1e.img
2097152+0 records in
2097152+0 records out
1073741824 bytes transferred in 612.327543 secs (1753542 bytes/sec)
/usr/home/lissyara/>
/usr/home/lissyara/>dd if=/usr/ad0s1e.img of=/dev/ad0s1e
dd: /dev/ad0s1e: Device busy
/usr/home/lissyara/>umount -f /tmp
/usr/home/lissyara/>df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 252M 36M 196M 16% /
/dev/ad1s1e 37G 3.2G 31G 9% /usr
/dev/ad0s1f 4.7G 25M 4.3G 1% /var
procfs 4.0K 4.0K 0B 100% /proc
/usr/home/lissyara/>
/usr/home/lissyara/>dd if=/usr/ad0s1e.img of=/dev/ad0s1e
/usr/home/lissyara/>dd if=/usr/ad0s1e.img of=/dev/ad0s1e
2097152+0 records in
2097152+0 records out
1073741824 bytes transferred in 789.388632 secs (1360220 bytes/sec)
/usr/home/lissyara/>mount /tmp
mount: /dev/ad0s1e: Operation not permitted
/usr/home/lissyara/>df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 252M 36M 196M 16% /
/dev/ad1s1e 37G 3.2G 31G 9% /usr
/dev/ad0s1f 4.7G 25M 4.3G 1% /var
procfs 4.0K 4.0K 0B 100% /proc
/dev/ad0s1e 1008M 18K 927M 0% /tmp
/usr/home/lissyara/>
| Тоже самое можно сделать и с корневым разделом - но если образ можно снять и с работающей системы, то "раскатывать" его придётся загрузившись с "LiveCD" FreeBSD или какого линуха...
Также мне понравился один пример из man dd:
/usr/home/lissyara/>su
/usr/home/lissyara/>df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 252M 36M 196M 16% /
/dev/ad0s1e 1008M 18K 927M 0% /tmp
/dev/ad1s1e 37G 3.2G 31G 9% /usr
/dev/ad0s1f 4.7G 25M 4.3G 1% /var
procfs 4.0K 4.0K 0B 100% /proc
/usr/home/lissyara/>dd if=/dev/ad0 of/dev/null bs=1m
dd: unknown operand of/dev/null
/usr/home/lissyara/>dd if=/dev/ad0 of=/dev/null bs=1m
6187+1 records in
6187+1 records out
6488294400 bytes transferred in 424.050846 secs (15300746 bytes/sec)
/usr/home/lissyara/>
| Такая вот проверка диска на бэд-блоки :) Ещё одна интересная тема - вместо "сверхпопулярной" :) команды rm -Rf / можно применить dd - причём будет гораздо более надёжно, т.к. весь диск затрётся нулями:
/usr/home/lissyara/>df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 1.8G 1.0G 668M 60% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ad1s1d 9.5G 630M 8.1G 7% /disk_1
/usr/home/lissyara/>dd if=/dev/zero of=/dev/ad1
dd: /dev/ad1: Operation not permitted
/usr/home/lissyara/>umount -f /disk_1
/usr/home/lissyara/>dd if=/dev/zero of=/dev/ad1
^C87183+0 records in
87182+0 records out
44637184 bytes transferred in 130.484121 secs (342089 bytes/sec)
/usr/home/lissyara/>
| Ждать не захотел, т.к. при такой скорости на это ушло б много времени. (скорость такая маленькая потому что на виртуальной машине делал - а Вы думали я на настоящей изгаляюсь с такими деструктивными командами? - изгаляюсь, и на настоящей - на тестовой, но и её жалко - т.к. перестановка ОС - это время.)
Точно также легко и непринуждённо создаются образы с CD-ROM (в примере защищённый диск с данными):
/usr/home/lissyara/>dd if=/dev/acd0 of=map.iso bs=2048
355964+0 records in
355964+0 records out
729014272 bytes transferred in 445.316083 secs (1637072 bytes/sec)
/usr/home/lissyara/>
/usr/home/lissyara/>ll | grep iso
-rw-r--r-- 1 root wheel 729014272 2 май 13:20 map.iso
/usr/home/lissyara/>
| Вот такая полезная программка.
размещено: 2005-12-26,
последнее обновление: 2006-05-02,
автор: lissyara
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
|
Статистика сайта
|
Сейчас на сайте находится: 19 чел.
|
За последние 30 мин было: 68 человек
|
За сегодня было 4460 показов, 527 уникальных IP
|
|
|
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
|
|
|
Комментарии пользователей [10 шт.]