|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> Файловая система
—> ffsinfo
ffsinfo - программа создания дампа метаинформации UFS
Автор: lissyara.
`Исчо` одна интересная програмулина для ковыряния FS - ffsinfo. Позволяет делать дамп всей метаинформации файловой системы UFS. Разумеется всю FS дампить никто не заставляет (если дампить всю, то объём дампа составит до 2% от размера FS), при желании можно сделать частичный дамп, определённой группы цилиндров, или даже одной иноды.
Ключики:
-g cylinder_group этот ключ ограничит дамп только информацией об этой группе цилиндров. 0 - первая группа цилинров, -1 - последняя
-i inode - ограничит дамп только информацией об этой иноде. Минимальная разрешённая инода - 2. Если инода не выбрана, но группа цилиндров определена, то будет создан дамп только для инод в пределах этой группы цилиндров.
-l level - уровень детализации дампа. Значение `по-умолчанию` - 255.
-o outfile - имя файла в который будет сделан дамп. Должен быть обязательно. Если задать - то дамп будет выведен на стандартный вывод (в трубу, или на экран.).
Вот примеры использования:
/usr/home/lissyara/>ls -i
4945922 .cshrc 4945927 .mailrc 4945931 distfiles
4945924 .login 4945928 .profile 4945930 distfiles.tar.bz2
4945926 .login_conf 4945925 .rhosts 4946193 file.txt
4945923 .mail_aliases 4945929 .shrc
/usr/home/lissyara/>ffsinfo -o - -i 4945927 -l 0x100 /dev/ad1s1c
===== START UFS2 INODE DUMP =====
# 0@80a4700: Inode 0x004b7807
mode u_int16_t 0100644
nlink int16_t 0x0001
uid u_int32_t 0x000003e9
gid u_int32_t 0x00000000
blksize u_int32_t 0x00000000
size u_int64_t 0x000000000000014b
blocks u_int64_t 0x0000000000000004
atime ufs_time_t 1137673537
mtime ufs_time_t 1137673537
ctime ufs_time_t 1137673537
birthtime ufs_time_t 1137673537
mtimensec int32_t 0x00000000
atimensec int32_t 0x00000000
ctimensec int32_t 0x00000000
birthnsec int32_t 0x00000000
gen int32_t 0x1649ada8
kernflags u_int32_t 0x00000000
flags u_int32_t 0x00000000
extsize int32_t 0x00000000
db ufs2_daddr_t[0] 0x 12d7d9f
===== END UFS2 INODE DUMP =====
/usr/home/lissyara/>
| Это инфа по одной иноде. Можно достать информацию, например по суперблоку:
/usr/home/lissyara/>ffsinfo -o - -l 0x001 /dev/ad1s1c
===== START SUPERBLOCK =====
# 0@80808c4: primary sblock
sblkno int32_t 0x00000028
cblkno int32_t 0x00000030
iblkno int32_t 0x00000038
dblkno int32_t 0x00000bb8
old_cgoffset int32_t 0x00000000
old_cgmask int32_t 0x00000000
old_time int32_t 0
old_size int32_t 0x00000000
old_dsize int32_t 0x00000000
ncg int32_t 0x000000d6
bsize int32_t 0x00004000
fsize int32_t 0x00000800
frag int32_t 0x00000008
minfree int32_t 0x00000008
old_rotdelay int32_t 0x00000000
old_rps int32_t 0x00000000
bmask int32_t 0xffffc000
fmask int32_t 0xfffff800
bshift int32_t 0x0000000e
fshift int32_t 0x0000000b
maxcontig int32_t 0x00000008
maxbpg int32_t 0x00000800
fragshift int32_t 0x00000003
fsbtodb int32_t 0x00000002
sbsize int32_t 0x00000800
spare1 int32_t[2] 0x00000000 0x00000000
nindir int32_t 0x00000800
inopb int32_t 0x00000040
old_nspf int32_t 0x00000000
optim int32_t 0x00000000
old_npsect int32_t 0x00000000
old_interleave int32_t 0x00000000
old_trackskew int32_t 0x00000000
id int32_t[2] 0x43cf81c1 0x85c2eb4f
old_csaddr int32_t 0x00000000
cssize int32_t 0x00001000
cgsize int32_t 0x00004000
spare2 int32_t 0x00000000
old_nsect int32_t 0x00000000
old_spc int32_t 0x00000000
old_ncyl int32_t 0x00000000
old_cpg int32_t 0x00000000
ipg int32_t 0x00005c00
fpg int32_t 0x00016f88
===== START CYLINDER SUMMARY =====
# 1@8080984: internal old_cstotal
ndir int32_t 0x00000000
nbfree int32_t 0x00000000
nifree int32_t 0x00000000
nffree int32_t 0x00000000
===== END CYLINDER SUMMARY =====
fmod int8_t 0x00
clean int8_t 0x00
ronly int8_t 0x00
old_flags int8_t 0xffffff80
fsmnt u_char[MAXMNTLEN] "/usr"
volname u_char[MAXVOLLEN] ""
swuid u_int64_t 0x0000000000000000
pad int32_t 0x00000000
cgrotor int32_t 0x00000017
old_cpc int32_t 0x00000000
maxbsize int32_t 0x00004000
sblockloc int64_t 0x0000000000010000
===== START CYLINDER SUMMARY TOTAL =====
# 1@8080cb4: internal cstotal
ndir int64_t 0x00000000000063fc
nbfree int64_t 0x000000000022a1f5
nifree int64_t 0x00000000004a9303
nffree int64_t 0x0000000000008a21
numclusters int64_t 0x0000000000000000
===== END CYLINDER SUMMARY TOTAL =====
time ufs_time_t 1137745993
size int64_t 0x0000000001324af1
dsize int64_t 0x000000000128a067
csaddr ufs2_daddr_t 0x0000000000000bb8
pendingblocks int64_t 0x0000000000000000
pendinginodes int32_t 0x00000000
snapinum int32_t[ 0] 0x00000000
avgfilesize int32_t 0x00004000
avgfpdir int32_t 0x00000040
save_cgsize int32_t 0x00000000
flags int32_t 0x00000002
contigsumsize int32_t 0x00000008
maxsymlinklen int32_t 0x00000078
old_inodefmt int32_t 0x00000000
maxfilesize u_int64_t 0x000080100202ffff
qbmask int64_t 0x0000000000003fff
qfmask int64_t 0x00000000000007ff
state int32_t 0x00000000
old_postblformat int32_t 0x00000000
old_nrpos int32_t 0x00000000
spare5 int32_t[2] 0x00000000 0x00000000
magic int32_t 0x19540119
===== END SUPERBLOCK =====
/usr/home/lissyara/>
| Другие примеры приводить не буду, тока один, чтобы был понятен общий объём инфы:
/usr/home/lissyara/>
/usr/home/lissyara/>ffsinfo -o - -l 255 /dev/ad1s1c | wc -l
54452
/usr/home/lissyara/>ffsinfo -o file.txt -l 255 /dev/ad1s1c
/usr/home/lissyara/>ls -lah | grep file.txt
-rw-r--r-- 1 root wheel 13M Jan 20 11:53 file.txt
/usr/home/lissyara/>
|
размещено: 2006-01-20,
последнее обновление: 2008-07-01,
автор: 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 и способов аутентификации.
|
Статистика сайта
|
Сейчас на сайте находится: 20 чел.
|
За последние 30 мин было: 47 человек
|
За сегодня было 8495 показов, 984 уникальных IP
|
|
|
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
|
|
|