Проверять изменения, сделанные до / после установки приложения? - PullRequest
1 голос
/ 05 августа 2010

В Linux мне нужно знать, какие файлы были добавлены / изменены / перемещены / удалены после компиляции и установки приложения из исходного кода, т.е. командная строка, Linux эквивалентно venerale InCtrl5 .

Есть ли утилита, которая делает это, или набор команд, которые я могу запустить и покажет мне изменения?

Спасибо.


Редактировать: Следующие команды в порядке, но мне не нужно знать номера строк, в которых произошли изменения или что "./ .." были обновлены:

# ls -aR /tmp > b4.txt
# touch /tmp/test.txt
# ls -aR /tmp > after.txt
# diff -u b4.txt after.txt

Ответы [ 2 ]

4 голосов
/ 06 августа 2010

Если вам нужно знать только , какие файлы были затронуты, тогда вы можете использовать find для этого:

touch /tmp/MARK
# install application here
find / -newercm /tmp/MARK

Это покажет вам все файлы, содержимое или метаданные которых изменились с тех пор, как вы коснулись /tmp/MARK (включая недавно добавленные файлы).

1 голос
/ 05 августа 2010

Я бы лично использовал что-то вроде Mercurial (управление версиями) для этого.

Основная причина в том, что это не только эффективно, но и чисто, так как оно только добавит скрытый каталог вверхняя часть дерева, где вы хотите проверить эти изменения.

Допустим, вам нужно знать, какие файлы изменились в /etc/.Поэтому перед установкой (вам нужно установить Mercurial), вы добавляете каталог в Mercurial:

cd /etc
hg init
hg add
hg ci -m "adding all files in /etc/ to track them down"

Вышеприведенное эффективно «добавит» все файлы для их отслеживания.Чтобы убедиться, что ничего не изменилось:

hg st

Не должно возвращать никаких файлов.

Если вы (или установка) изменили файл, вы должны увидеть что-то вроде этого:

hg st
M foo.sh

"M" перед файлом указывает, что данный файл был изменен.

Для новых файлов вы увидите ? перед файлом, например:

? bar.sh

После того, как высделано и больше не хочу Mercurial, просто удалите скрытый каталог:

cd /etc
rm -rf .hg
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...