Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  mount_nullfs
  badsect
  clri
  bsdlabel
  dump (rdump)
  dumpfs
  ffsinfo
  fsirand
  mount_nfs
  mount_smbfs
  swapon
  tunefs
  umount
  recovery files
  growfs
  Pax
  clonehdd
  Мониторинг RAID
  gstripe
  fusefs-ntfs
  UFS->ZFS
  RAID5
  freebsd lvm
  root ZFS, GPT
  FreeBSD on flash
  Восстановление ZFS
  Лечим FFS
  gmirror
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


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

оценить статью:


Хостинг HOST-FOOD

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 и способов аутентификации.
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 17 чел.
За последние 30 мин было: 85 человек
За сегодня было
4908 показов,
708 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.1551 секунд
Из них PHP: 60%; SQL: 40%; Число SQL-запросов: 76 шт.
Исходный размер: 79805; Сжатая: 15355