Como Procurar e Editar os Arquivos de Configuração Linux.


Autoria de Alberto Federman Neto, albfneto

Atualizado em 29 de Junho de 2018.

1 . INTRODUÇÃO:

Quem usa Linux, mais cedo ou mais tarde, vai editar arquivos de configuração. Isso é muito clássico, mas eu resolvi fazer esta Dica simples, para facilitar para o Iniciante.

Até para o avançado, pois mesmo eu, não lembrava como se usava grep para isso.

Os casos normais são fáceis, basta acessar o arquivo apropriado e editá-lo (se necessário, como Root).

Mas, e nos casos onde eu não sei qual é o meu arquivo, ou não sei onde ele está?

2. EU SEI QUAL É, MAS ONDE ELE ESTÁ?

Os exemplos esclarecem. Ex, Suponha eu tenha que editar o arquivo client.conf do Entropy, no Sabayon. Mas não sei onde ele está…

É simples, tem dois jeitos.

2.a. Com Find:

Com comando Find. Use um comando cd para ir para a Raiz (assim todos os diretórios serão percorridos) e depois localize onde está o arquivo com Find.

Melhor usar Sudo ou logar como Root (com su), para evitar diretórios não acessados (permissão negada):

$ sudo find -name client.conf
./etc/cups/client.conf
./etc/pulse/client.conf
./etc/entropy/client.conf

Veja que ele achou o client.conf do Cups, do Pulseaudio e do Entropy (o que preciso editar).

Para você usar, substitua client.conf pelo nome do arquivo que procura.

2.b. Com Locate:

Se tiver muitos arquivos a procurar, ou se você procura arquivos toda hora, pode ser mais prático usar o utilitário locate.

Instale (pelo processo padrão da sua Distro) o pacote mlocate. Para ilustrar, em Sabayon Linux, instale usando Entropy, comando equo. Depois (em qualquer Distro) atualize o Banco de Dados do locate:

$ sudo equo i -av mlocate
$ sudo updatedb -v

Agora fica fácil. Vá para o diretório Raiz e procure o arquivo (comando locate ARQUIVO). No nosso exemplo:

$ locate client.conf
/etc/cups/client.conf
/etc/dhcp/dhclient.conf
/etc/entropy/client.conf
/etc/ppp/radius/radiusclient.conf
/etc/pulse/client.conf

Foram achados todos os arquivos com a “string” client no nome, inclusive o que precisa ser editado (/etc/entropy/client.conf).

A propósito, se você usa o locate no XFCE, existe uma interface gráfica para ele, é o CatFish.

Parabéns, você achou o arquivo.

3. SÓ SEI O QUE EDITAR, MAS NÃO SEI O NOME DO ARQUIVO E NEM ONDE ELE ESTÁ.

Parece mais complicada a situação, mas não é. O Comando grep acha o arquivo para você!

Em um exemplo, precisa editar a linha que tem a “String” sync-uri , da sincronização do Portage. Não sabe em qual arquivo, nem onde está. Vá na Raiz, e procure com estes comandos:

$ cd /
$ sudo grep -rni "sync-uri" *

Para o seu caso. substitua a “String” sync-uri pela “palavra” que quer achar, para editar.

As opções do comando grep: -r é recursivo, vai varrer todos os diretórios. Se quiser ver nos links simbólicos, use -R.
-n localiza o número da linha.
-i, elimina o “Case Sensitive”, isto é retira a diferenciação entre minúsculas e maiúsculas (que é uma característica dos sistemas Unix e Linux).

Rodei o comando, e pude verificar que a “String” sync-uri está  nas linhas 9,12-14, 17 e 20 do arquivo: opt/sabayon-build/conf/intel/portage/repos.conf/gentoo.conf e de fato, este, gentoo.conf , é o arquivo que preciso editar.

opt/sabayon-build/conf/intel/portage/repos.conf/gentoo.conf:9:# sync-uri = rsync://rsync.europe.gentoo.org/gentoo-portage
opt/sabayon-build/conf/intel/portage/repos.conf/gentoo.conf:12:# sync-uri = rsync://gentoo.c3sl.ufpr.br/gentoo
opt/sabayon-build/conf/intel/portage/repos.conf/gentoo.conf:13:# sync-uri = rsync://rsync.br.gentoo.org/gentoo-portage
opt/sabayon-build/conf/intel/portage/repos.conf/gentoo.conf:14:# sync-uri = rsync://rsync1.br.gentoo.org/gentoo-portage
opt/sabayon-build/conf/intel/portage/repos.conf/gentoo.conf:17:# sync-uri = rsync.samerica.gentoo.org/gentoo-portage
opt/sabayon-build/conf/intel/portage/repos.conf/gentoo.conf:20:sync-uri = rsync://rsync.us.gentoo.org/gentoo-portage

Há várias outras maneiras, opções etc… para se usar os comandos find, locate e grep, para casos mais especiais. Se desejar se aprofundar, leia:

How do I Find All Files That Contains Specific Text.

Pesquisar Trechos Dentro de Arquivos.

Comandos Para Localização de Arquivos.

Busca por String, dentro de Arquivos.

Comandos grep, fgrep e egrep.

Localizador de Palavras em Arquivos não Binários.

Como Localizar uma Palavra.

Shell Script to Find String in a Log File.

How To Find String Inside Files.

Tem muitos outros tutoriais sobre esses detalhes, em demasia para colocar aqui. Basta procurar na Internet.

4. EDITANDO:

Achou o Arquivo, agora editar….

Se o arquivo estiver na sua /home, ele é seu. Editar como usuário normal resolve. Se estiver na Raiz ou subdiretórios dela, “é do Root” e precisa ser editado como super-usuário.

Editores, cada Distro ou ambiente gráfico tem o seu, e cada Linuxer  tem seu favorito.

Em linha de comando, eu gosto de Nano e Diakonos. Em ambiente gráfico, eu uso mais o Geany e o Kate.

Mas existem muitos outros: Emacs (desenvolvido por Richard Stallman, do projeto GNU, Também é dele o famoso compilador livre GCC), Mcedit, Gedit, Kwrite, JoeVi, Vim etc… etc…

Agora é simples. Edite, como Usuário ou como Root, o arquivo que achou nos Itens 2 e 3.

Para seu arquivo, substitua o caminho, Path, pelo caminho completo do seu arquivo (que achou):

COMO USUARIO. Arquivos em /home ou em ~/ (/home/usuario):
$ SEU_EDITOR CAMINHO DO ARQUIVO/ARQUIVO.extensão

COMO ROOT, EDITOR PARA LINHA DE COMANDO:
$ sudo SEU_EDITOR  CAMINHO DO ARQUIVO/ARQUIVO.extensão

COM EDITOR GRÁFICO, SUDO GRÁFICO:
$ gksu (ou kdesu) SEU_EDITOR CAMINHO DO ARQUIVO/ARQUIVO.extensão

Voltando ao meu exemplo, que esclarece. Editar /etc/entropy/client.conf e arquivos simples :

ARQUIVO SIMPLES DE USUARIO:
$ kate ~/Desktop/DOCUMENTOS/meu_arquivo.txt

ARQUIVO QUE PRECISA EDITAR COMO ROOT:
$ sudo nano /etc/entropy/client.conf
OU
$ kdesu geany /etc/entropy/client.conf

Voltando ao seu caso, substitua o Arquivo /etc/entropy/client.conf, pelo seu (achado pelos procedimentos do Itens 2 ou 3), com o caminho completo, e substitua nano, kate ou geany pelo seu editor favorito.

Espero ter ajudado, até a próxima.

 

Publicidade
Como Procurar e Editar os Arquivos de Configuração Linux.

Um comentário sobre “Como Procurar e Editar os Arquivos de Configuração Linux.

  1. Dos três o que menos uso é o find, uso mais locate e grep.

    No locate você poderia adicionar no artigo como especificar no /etc/updatedb.conf como pular alguns diretórios afim de tornar mais rápida a indexação, exemplo de diretórios que pulo aqui (porque mantenho todas as outras partições montadas):

    PRUNEPATHS=”/dev /proc /sys /tmp /usr/tmp /var/tmp /var/cache/ccache /var/spool /afs /net /media /mnt/backup /mnt/slack32 /mnt/gentoo /mnt/voidlinux”

    Já com o grep acho mais rápido quando sabemos o que procurar, exemplo:

    $ grep menu-cache /var/lib/sbopkg/SBo/14.2/*/*/*.info

    Ótima dica!

    Curtir

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s