Eu instalei recentemente o Samba e estraguei o /etc/samba/smb.conf
arquivo. Como recupero a configuração original?
ubuntu
debian
samba
package-management
config-files
Frew Schmidt
fonte
fonte
sudo cp /usr/share/samba/smb.conf /etc/samba/smb.conf
Respostas:
Editado :
Detectou isso em uma pergunta de falha no servidor . Se
dpkg-reconfigure foo
não funcionar, use o seguinte:Remova ou renomeie o arquivo de configuração quebrado.
Solicitar substituições de
dpkg
.Isso indica
dpkg
para substituir os arquivos de configuração ausentes pelos do .deb. Você pode encontrar o pacote original .deb/var/cache/apt/archives
ou pode usar uma cópia nova da mesma versão dos repositórios da sua distribuição.Isso indicadpkg
para substituir os arquivos de configuração existentes pelos do .deb. Você pode encontrar o pacote original .deb/var/cache/apt/archives
ou pode usar uma cópia nova da mesma versão dos repositórios da sua distribuição.fonte
dpkg
a sobrescrever o arquivo de configuração, caso contrário, ele teria pedido permissão para fazê-lo . Isso não o faz recriar magicamente os arquivos de configuração originais do pacote.--force-confmiss
lugar. neste caso em particular, por exemplo, samba, acho--force-confnew
que executaria a substituição, mas você está certo de que depende das informações dos scripts de configuração do pacote.Resposta curta:
/usr/share/samba/smb.conf
é a versão original do arquivo smb.conf.Quando confrontado com esta situação para qualquer pacote, o que faço é um dos seguintes:
Verifique se há arquivos de backup da versão original em seu editor. Eu uso o Emacs, que normalmente deixa
foo~
arquivos, e configurei a opção de controle numérico de versão para que a versão original seja semprefoo.~1~
. Mas talvez você tenha feito de outra maneira ou usado outro editor. Considere verificar a configuração do seu editor para ativar esse recurso, se você ainda não o tiver; é um bom hábito de entrar.Reconfigure o pacote com
dpkg-reconfigure PACKAGENAME
. Às vezes isso faz o truque. Na minha experiência, raramente funciona; isso depende de como o pacote está criando seus arquivos de configuração.Limpe e reinstale o pacote (com
apt-get purge packagename
seguido deapt-get install packagename
). Isso sempre deve funcionar.Em casos extremos, após a limpeza, você deve procurar e excluir manualmente os arquivos de configuração antes de reinstalar o pacote, mas isso é raro. No entanto, isso eliminará quaisquer outros dados e / ou arquivos de configuração do pacote, e isso nem sempre é aceitável.
Faça o download do código-fonte do pacote (
apt-get source foo
) e veja se o arquivo de configuração original existe como um arquivo lá. No entanto, pode ser que o arquivo de configuração não exista anteriormente, mas seja criado na instalação pelo script de pós-instalação do pacote.Verifique o script postinst do pacote (
/var/lib/dpkg/info/foo.postinst
) para descobrir onde ele cria o arquivo de configuração e como ele é feito. Em seguida, tente repetir o processo manualmente. Isso é um pouco de trabalho e nem sempre é fácil.fonte
sudo cp /usr/share/samba/smb.conf /etc/samba/smb.conf
sobrescrever meu arquivo conf no lixo com o original.dpkg-reconfigure <package>
não modificará os arquivos conf alterados por padrão.Provavelmente, a maneira mais fácil de fazer isso, se você ainda tiver o pacote no cache do apt, é executar
onde o nome do arquivo do pacote geralmente é algo como
<package name>_<version>.deb
(basta usar a conclusão de tabulação). Isso executará o mesmo processo que um apt-upgrade e perguntará o que você deseja fazer quando encontrar um arquivo conf alterado. Basta entrarN
a cada prompt. O dpkg instalará a versão do pacote do arquivo conf.dpkg-dist
no final do nome do arquivo. Você pode usarvimdiff
ou alguma outra ferramenta de mesclagem para comparar diferenças e modificar o arquivo conf de leitura.fonte
Você pode extrair o deb e pegar o arquivo original:
fonte
dpkg-source
é mais fácil e usarapt-get source PACKAGE
é muito mais fácil.packagename.postinst
script.Você pode baixar novamente e extrair o conteúdo do pacote deb
fonte
A melhor maneira (obtida do #ubuntu) é fazer isso:
Nesse caso, isso significa
fonte
Você pode restaurar o
smb.conf
arquivo de configuração original assim:Isto é basicamente o que o processo de instalação original do pacote faz (no Debian Squeeze).
Isso substituirá você atual
smb.conf
; portanto, faça um backup primeiro se não quiser perdê-lo.fonte
e
fará o trabalho.
fonte