Como obtenho de volta o arquivo de configuração padrão do Samba (sistema baseado no Debian)?

9

Eu instalei recentemente o Samba e estraguei o arquivo /etc/samba/smb.conf . Como obtenho a configuração original de volta?

    
por Frew Schmidt 11.11.2009 / 16:28

8 respostas

1

A melhor maneira (obtida do #ubuntu) é fazer isso:

dpkg-reconfigure <package>

Neste caso, isso significa

dpkg-reconfigure samba-common
    
por 11.11.2009 / 17:09
8

Editado :

Detectou isso em uma pergunta de falha de servidor . Se o dpkg-reconfigure foo não funcionar, use isto:

  1. Remova ou renomeie o arquivo de configuração quebrado.

    sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.broken
    
  2. Solicite substituições de dpkg .

    sudo dpkg -i --force-confmiss /path/to/samba-common.deb
    

Isso diz ao dpkg para substituir os arquivos de configuração ausentes pelos arquivos do .deb. Você pode encontrar o pacote original .deb em /var/cache/apt/archives , ou você pode usar uma nova cópia da mesma versão dos repositórios da sua distribuição.

dpkg -i --force-confnew foo.deb

Isso diz ao dpkg para sobrescrever os arquivos de configuração existentes com os do .deb. Você pode encontrar o pacote original .deb em /var/cache/apt/archives , ou você pode usar uma nova cópia da mesma versão dos repositórios da sua distribuição.

    
por 11.11.2009 / 20:22
6

Resposta curta: /usr/share/samba/smb.conf é a versão original do arquivo smb.conf.

Quando se depara com esta situação para qualquer pacote, o que faço é um dos seguintes procedimentos:

  1. Verifique se há arquivos de backup da versão original do seu editor. Eu uso o Emacs, que normalmente deixa arquivos foo~ , e eu configurei a opção de controle de versão numérica para que a versão original seja sempre foo.~1~ . Mas talvez você tenha feito alguma outra maneira, ou usado algum outro editor. Considere verificar a configuração do seu editor para ativar esse recurso, se você ainda não o fez; é um bom hábito de entrar.

  2. 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.

  3. Limpar e reinstalar o pacote (com apt-get purge packagename seguido por apt-get install packagename ). Isso deve sempre funcionar.

    Em casos extremos, você deve, após a limpeza, procurar manualmente e excluir 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 para o pacote, e isso nem sempre é aceitável.

  4. 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 de antemão, mas é criado na instalação pelo script de pós-instalação do pacote.

  5. 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 trabalhoso, nem sempre fácil.

por 11.11.2009 / 17:05
2

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 é rodar

dpgk -i --force-confask /var/cache/apt/archives/<package file name>

onde o nome do arquivo do pacote é geralmente algo como <package name>_<version>.deb (apenas use a conclusão da tabulação). Isso executará o mesmo processo que um apt-upgrade e perguntará o que você deseja fazer sempre que encontrar um arquivo conf alterado. Basta digitar N em cada prompt. O dpkg irá instalar a versão do pacote do arquivo conf com .dpkg-dist no final do nome do arquivo. Você pode usar vimdiff ou alguma outra ferramenta de mesclagem para comparar diferenças e modificar o arquivo conf de leitura.

    
por 21.07.2013 / 13:46
1

Você pode extrair o deb e pegar o arquivo original:

ar p packagename.deb data.tar.gz | tar zx
    
por 11.11.2009 / 16:30
1

Você pode redownload e extrair o conteúdo do pacote deb

    
por 11.11.2009 / 16:30
1

Você pode restaurar o arquivo de configuração smb.conf original assim:

# cp /usr/share/samba/smb.conf /etc/samba/smb.conf
# dpkg-reconfigure samba-common

Isso é basicamente o que o processo de instalação do pacote original faz (no Debian Squeeze).

Isto irá sobrescrever você atual smb.conf , então faça um backup primeiro se você não quiser perdê-lo.

    
por 02.02.2014 / 00:22
-1
$ sudo cp /usr/share/samba/smb.conf /etc/samba/smb.conf

e

$ sudo dpkg --configure -a

fará o trabalho.

    
por 12.09.2018 / 19:39