Это - все, что я знаю, что это больше всего похоже на B-дерево в Linux
ps -ejH
Если то, что Вы хотите, будет средством проверки целостности файлов, то об/мин сделает то, что Вы хотите. rpm -qaV
(отметьте верхний регистр V). Это пройдет и проверит:
Это должно быть довольно всесторонним списком.
rpm -qa --filesbypkg | awk '{print $2}'
перечислит все файлы в системе, которые составлялись.
find / | grep -vf /tmp/files-on-system.txt
найдет все файлы в системе, которые не находятся в базе данных RPM. Другой способ выполнить эти две команды в одной команде был бы rpm -qf 'find /'#replace single quote with backtick
Примечание: Это также отметит как ошибочные файлы в каталогах как
/dev
/home
/proc
/var/run
/var/log
/var/lib
/tmp
На Debian и других системах с помощью dpkg, sort -u /var/lib/dpkg/info
даст Вам список всех файлов, обеспеченных пакетом. Сравнение со списком файлов на самом деле представляет в системе, показывает большое количество файлов, которые не обеспечиваются никаким пакетом. Этот список от быстрого взгляда на один Debian, сжимают машину, и ни в коем случае не является исчерпывающим.
/etc
, /usr/local
, /opt
, /var
, /home
, /srv
, точки монтирования всех видов.dpkg-divert
./boot
, initrd-*
(автоматически повторно созданный от установленного ядра и дополнительных модулей), и файлы загрузчика (/boot/grub/*
)./lib/modules/*
, файлы зависимости от модуля и карты символа и автоматически-скомпилированные-модули (от dkms)./usr/X11R6/lib/X11/fonts
./usr/lib/cups/backend-available/
кому: /usr/lib/cups/backend/http/
.*.pyc
(Python), *.elc
(Emacs), *.dll
(Моно), …/usr/share/doc/HTML
(от dhelp).Если Вы хотите объяснить каждый файл, необходимо будет отследить их историю. Другими словами, для передачи аудита Вы не можете только показать файлы, которые Вы имеете, также ваше дело как контролируемый показывать доказательство законности для каждого файла.
Классический подход должен использовать инструмент как растяжка, которая предупреждает Вас, когда файл изменяется. Если Вы после чего-то более мощного, которое позволяет Вам отслеживать изменения, это - точно управление версиями. Debian обеспечивает управление версиями под ключ для /etc
через etckeeper. Это не часть стандартной установки (к сожалению). Установите пакет, выберите свою любимую систему управления версиями в /etc/etckeeper/etckeeper.conf
, и выполненный etckeeper init
. Все изменения под /etc
будет фиксироваться автоматически каждую ночь и прежде и после выполнения apt-get
или другие фронтенды APT; можно отключить эти автоматические фиксации, чтобы вынудить администратора работать etckeeper commit
вручную (и вводят сообщение журнала).
Если Вы действительно хотите чистую, последовательную систему сборки, Вы могли бы быть лучше из со снимками файловой системы такой как, что предлагает LVM. Можно установить систему с файловыми системами как/usr на LVM. Затем можно создать снимок любых файловых систем, которые Вы хотите восстановить к их исходному состоянию через lvsnapshot
команда. Можно смонтировать эти снимки как записываемые вместо их нормального монтирования. Когда Вы хотите вернуться к более раннему состоянию, просто umount, удалить, и воссоздать снимки и смонтировать новые снимки снова. Если Вы хотите сохранить / домой или другие файловые системы в их текущем состоянии, можно поместить их на LVM, но не создать снимок для них.
Другой подход, который я использую при тестировании развертываний программного обеспечения или дисков пользовательской установки, должен использовать виртуальную машину как рабочая станция VirtualBox или VMware. Они могут взять целые дисковые снимки восстановить их по запросу. Это также обладает преимуществами как приостановка машины в то время как перезагрузки хоста. После того как виртуальная машина запущена, она возобновляется от состояния, которым это было при приостановке. VirtualBox, в частности, может взять несколько дисковых снимков, любой возвращается к любому прежнему снимку, все еще сохраняя их. Вы могли пойти между двумя или больше строками снимков в случае необходимости.
-qa
+-qaV
кажется, делает точно, что необходимо. Интересно, как трудный, который должен был бы портировать на DEB... – l0b0 05.05.2011, 17:30