Как отслеживать каталоги, создаваемые во время установки PostgreSQL?

Я хочу установить PostgreSQL (на сервер, на котором работает Ubuntu 14.04.2 LTS), используя распределение исходного кода в соответствии с инструкциями в http://www.postgresql.org/docs/current/static/installation. HTML .

Инструкции говорят мне, что если я хочу отменить установку позднее (по какой-либо причине), я могу сделать это с помощью make uninstall, но я должен помнить, что это не приведет к удалению каких-либо каталогов, созданных во время установка.

Какой самый простой способ отследить все новые каталоги, которые были созданы во время установки? Что-то вроде:

  • Вот список всех каталогов (и подкаталогов) до установки (tree возможно?).
  • Вот список всех каталогов (и подкаталогов) после установки (tree возможно?).
  • Вот разница между 1 и 2 (diff возможно?).
0
задан 15 May 2015 в 13:58

2 ответа

Во-первых, почему не только устанавливают из apt.postgresql.org?


Если Вы устанавливаете из источника, не беспокойтесь make uninstall.

PostgreSQL устанавливает все в единственном дереве каталогов, которое указано с --prefix кому: configure. Используйте уникальный префикс, который ничего еще не содержит. Тот путь, если Вы хотите удалить установку PostgreSQL, Вы просто, удаляет тот каталог и все его содержание.

Я обычно:

sudo mkdir /opt/postgresql94
sudo chown $USER /opt/postgresql94
./configure --prefix=/opt/postgresql94
make
make -C contrib
make install
make -C contrib install

Это позволяет мне установить, не имея необходимость выполнять a Makefile как корень.

Если я хочу удалить его я просто sudo rm -r /opt/postgresql94.

Использовать двоичные файлы установило меня также:

export PATH=/opt/postgresql94/bin:$PATH

или добавьте это к моему .bash_profile.

Можно просто выполнить двоичные файлы непосредственно, например.

/opt/postgresql94/bin/psql

но это не будет работать на initdb и pg_ctl таким образом, дело не в этом полезный на практике.

1
ответ дан 15 May 2015 в 13:58

Возможно inotify и dnotify является способом пойти...:

https://lwn.net/Articles/604686 /

Это в не самый легкий способ следить за операциями файловой системы - но это - самый низкий уровень, который достижим для пользователя, который scriptable - от моего мнения.

escpeacially эти fschange команда полезна. согласно

http://stefan.buettcher.org/cs/fschange/index.html

поддерживаемые смотрибельные команды:

The event types supported by fschange are:

    MOUNT device mountpoint   (when a new file system is mounted)
    UMOUNT mountpoint   (when a file system is unmounted)
    UMOUNT_REQ mountpoint   (when umount has been called but failed due to file system activity, i.e. open files etc.)
    WRITE filename from to   (after a file has been changed and closed; the latter is important because it helps us reduce the number of events generated)
    TRUNCATE filename newfilesize   (after a successful call to truncate)
    RENAME oldpath newpath   (after a file or directory has been renamed or moved)
    UNLINK filename   (when a file has been removed)
    CHMOD filename newfilemode
    CHOWN filename newuser newgroup
    CREATE filename   (after a new file has been created)
    MKDIR dirname
    RMDIR dirname 

, возможно, это - он...

0
ответ дан 15 May 2015 в 13:58

Другие вопросы по тегам:

Похожие вопросы: