“/ usr”, “/ usr / local /”, “/ sbin”

7

Pergunta admin do newbie linux aqui. Nos últimos 6 meses, acabei atualizando a maior parte do software de instalação padrão na configuração do meu servidor no Fedora. Nas últimas semanas, percebi que existem muitas instâncias do mesmo software nesse sistema de arquivos, e algumas ainda estão sendo usadas e outras não.

Por exemplo, atualizei / reinstalei o MySQL pelo menos 3 vezes, uma vez a partir do rpm e duas vezes a partir do tarball de origem. Acabei de perceber que há binários do mysql em /sbin , /usr/bin , /usr/local/bin e /usr/local/mysql/bin . Para piorar ainda mais, o comando which aponta para /sbin , (graças ao fato de que ENV doPATH do% está escrito, provavelmente), mas o script init.d usa /usr/local/bin , e todo o script Bibliotecas compartilhadas e cabeçalhos estão vindo de outra instalação. Está uma bagunça.

É a situação semelhante com a instalação atual do PHP e do Python.

Minha pergunta é: como faço para limpar isso? Eu:

  1. Escolha uma das instalações, aponte os PATHs apropriados para ela e exclua o restante. Recompile todas as dependências que estavam apontando para as outras instalações (agora excluídas), se elas falharem porque seus caminhos de dependência foram gravados.
  2. Nivele tudo e comece do zero.

Existe outra solução? Obrigado pelo seu conselho!

    
por Chopper3 23.07.2009 / 04:22

2 respostas

3

depende de quanto tempo e esforço você deseja investir. Uma instalação limpa é sempre melhor se você tiver tempo e paciência para reconstruir tudo. A solução rápida é modificar seu PATH para apontar para as versões desejadas. Outra opção é criar links simbólicos para apontar para as versões desejadas. Novamente, o melhor método é uma instalação completamente limpa

    
por 23.07.2009 / 04:25
0

A má notícia é que não há uma solução rápida.

A boa notícia é que o MySQL geralmente não é muito confuso para onde se instala. Eu aconselho você a limpá-los à mão. Comece compilando uma lista de cada instalação. O seguinte comando deve pegar tudo:

INSTALL_PATH="/"
find ${INSTALL_PATH}/{bin,sbin,share} -name 'mysql*' -type f
find ${INSTALL_PATH}/{lib,include,share} -name 'mysql' -type d

Repita o processo com INTSTALL_PATH como /usr e /usr/local , conforme necessário. Em seguida, defina a decisão sobre a instalação que você deseja manter e deseja que seja excluída.

Obviamente, uma das instalações será do RPM, então você não deve deletar isso manualmente. Use o gerenciador de pacotes. E, claro, não exclua qualquer data_dir ou logs sem verificar seu conteúdo primeiro.

    
por 23.07.2009 / 11:44

Tags