Ocasionalmente, perdi meu arquivo de configuração "/etc/mysql/my.cnf" e quero restaurá-lo. O arquivo pertence ao pacote mysql-common
que é necessário para algumas funcionalidades vitais, por isso não posso purge && install
: as dependências também serão desinstaladas (ou, se eu puder ignorá-las temporariamente, elas não funcionarão).
Existe uma maneira de restaurar o arquivo de configuração de um pacote sem ar
remover o arquivo do pacote?
dpkg-reconfigure mysql-common
não o restaurou.
linux
configuration
apt
restore
dependencies
Kolypto
fonte
fonte
7z x /path/to/foo.deb
e depois7z x data.tar.gz
) ....conf.d
pastas e, quando o mantenedor do pacote atualiza, o processo de atualização se torna realmente interessado em exibir mensagens "arquivo de configuração modificado" :) O motivo não é tão importante mencionar, então decidi simplificar minha perguntaRespostas:
dpkg -i --force-confmiss mysql-common.deb
irá recriar quaisquer arquivos de configuração ausentes, ou seja,/etc/mysql/my.cnf
no seu caso.fonte
sudo dpkg --force-confmiss -i /var/cache/apt/archives/mysql-common*.deb
No Debian Squeeze - pelo menos -, também podemos fazer desta maneira, depois
su
- ousudo
para o Ubuntu -Isso cuidará das dependências
mysql-server
e redefinirá todos os arquivos conf ausentes do lote, inclusivemysql-common
. Arquivos conflitantes (restantes) serão solicitados a serem mantidos ou redefinidos.Infelizmente, há um erro no aptitude , e
não vai funcionar . Então temos que fazer um por um com
Isso removerá qualquer arquivo de configuração , original ou modificado, mas os arquivos personalizados serão preservados, com uma mensagem na tela. Observe, a propósito, que
dpkg
também reconhece--force-confnew
e--force-confold
opções.Para obter
mysql-server
a lista de dependências, imprima na tela:fonte
Nenhuma das opções acima funcionou para mim - talvez desatualizada - de qualquer maneira, encontrei esta solução:
fonte
Você pode encontrar os arquivos de configuração padrão do mysql
/usr/share/doc/mysql-server-5.0/examples/
ou similares. Isso pode ser tudo o que você precisa, a menos que tenha algumas configurações realmente especiais / esotéricas ativadas.fonte
No meu
/etc/mysql/
diretório, tenho ummy.cnf.orig
arquivo que contém o conteúdo original demy.cnf
.Não tenho certeza de onde
/etc/mysql/my.cnf.orig
veio - isto é, se eu o criei ou a instalação do mysql o fez. Lembro-me de verificar ao mesmo tempo que era exatamente o mesmo quemy.cnf
Se você tem uma coisa dessas e não,
my.cnf
pode copiar uma para a outra.De qualquer forma, é um arquivo de texto simples de 3897 bytes e você pode copiar e colar de um arquivo de configuração genérico do Mysql.
Será uma boa idéia depois de restaurar o seu
/etc/mysql/my.cnf
para fazer uma cópia, para que você possa restaurá-lo facilmente no futuro.fonte
/path/to/foo.conf.orig
... se eles forem instalados automaticamente, eles serão criados quando o apt-get estiver instalando uma nova versão e detectará que você alterou o arquivo de configuração original./etc/mysql/my.cnf.orig
como um backup que não seria substituído por uma nova instalação. Mas colocá-lo em um lugar completamente diferente é uma boa ideia./etc/mysql/my.cnf.orig
. Então, naturalmente, faça um backup tarball de/etc
. :)Você precisa reinstalar o mysql-common com este comando:
apt-get install --reinstall mysql-common
fonte
Parece alguns dos outros soluções não funcionará se os arquivos de configuração do pacote são geridas com
ucf
.Nesse caso, você pode usar:
fonte