Como faço para acompanhar os diretórios criados durante a instalação do PostgreSQL?

0

Eu quero instalar o PostgreSQL (em um servidor que executa o Ubuntu 14.04.2 LTS) usando a distribuição do código fonte de acordo com as instruções em link .

As instruções informam que, se eu quiser desfazer a instalação em uma data posterior (por qualquer motivo), posso fazê-lo com o make uninstall, mas preciso ter em mente que isso não removerá nenhum diretório criado durante a instalação. a instalação.

Qual é a maneira mais fácil de rastrear todos os novos diretórios que foram criados durante a instalação? Algo ao longo das linhas de:

  • Aqui está uma lista de todos os diretórios (e subdiretórios) antes da instalação ( tree , possivelmente?).
  • Aqui está uma lista de todos os diretórios (e subdiretórios) após a instalação ( tree , possivelmente?).
  • Aqui está a diferença entre 1 e 2 ( diff possivelmente?).
por dw8547 15.05.2015 / 09:35

2 respostas

1

Primeiro, por que não instalar apenas a partir de apt.postgresql.org ?

Se você estiver instalando a partir do código-fonte, não se incomode com make uninstall .

O PostgreSQL instala tudo em uma única árvore de diretórios, especificada com --prefix to configure . Use um prefixo exclusivo que ainda não contenha nada. Dessa forma, se você quiser remover a instalação do PostgreSQL, basta excluir esse diretório e todo o seu conteúdo.

Eu geralmente:

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

Isso me permite instalar sem ter que executar um Makefile como root.

Se eu quiser excluí-lo, basta sudo rm -r /opt/postgresql94 .

Para usar os binários instalados, eu também:

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

ou adicione isso ao meu .bash_profile .

Você pode apenas executar os binários diretamente, por exemplo,

/opt/postgresql94/bin/psql

mas isso não funcionará para initdb e pg_ctl por isso não é tão útil na prática.

    
por Craig Ringer 15.05.2015 / 10:27
0

Talvez inotify e dnotify seja o caminho a seguir ...:

link

Isso não é a maneira mais fácil de observar as atividades do sistema de arquivos - mas é o nível mais baixo que é alcançável para o usuário que pode ser roteirizado - na minha opinião.

escpeacially, o comando fschange é útil. de acordo com

link

os comandos assistidos suportados são:

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 

talvez seja isso ...

    
por Mr.Gosh 15.05.2015 / 09:55