O que um administrador Linux deve saber de cabeça?

O que um administrador Linux deve saber de cabeça?

Não sou administrador de sistema, mas tenho bons conhecimentos de Linux, Unix, Windows e hardware.

Quais são os tópicos mais necessários que um administrador Linux deve saber de cor (no ponto de poder consertar, configurar, resolver sem ter que ler o manual ao máximo; verificando as páginas de manual que são comuns a qualquer distribuição )?

OFOCOEu gostaria de definir que isso seria da rede da empresa à administração do servidor, que pode ter alguns recursos iguais e, na maioria das vezes, também terá outros diferentes. Por exemplo, você nem sempre verá um servidor FTP para um servidor da empresa, mas provavelmente verá o Samba na maioria das vezes...

Não estou dizendo “livro que você deve ler” ou coisas assim, mas me refiro aos recursos mais necessários que provavelmente serão necessários em sua vida diária como administrador Linux.

Como:

  1. Kernel, iptables
  2. Sendmail, Postfix, qmail, exim
  3. Lula, Samba, NFS, LDAP
  4. Apache, ngxix, lighthttpd
  5. vsftpd, proftpd
  6. vincular
  7. Problemas diários enfrentados
  8. Qual é o recurso que você mais usou durante o dia

Esta não é uma lista ordenada nem a mais necessária. Apenas nomeia algo que me veio à cabeça.

PS: Já tenho o conhecimento básico, mas não tenho experiência diária na área. Tive servidores, criei algumas redes e assim por diante. Além disso, tenho até algum conhecimento profundo em algumas partes dele. Eu só queria atualizar isso aqui, como eu disse, esta é mais uma LISTA DIÁRIA DE UMA VIDA DE SYSADMIN LINUX.

Eu apreciaria se vocês pudessem listar tópicos e, por exemplo, qual campo dentro deles é o mais usado ou importante para memorizar.

Se você acredita que minha pergunta é inadequada, deixe-me saber sobre ela e eu mesmo a excluirei ou se você achar que ela é adequada, mas precisa ser retrabalhada mais, avise-me também e farei o meu melhor.

Responder1

Você tem certeza de que se preocupa com as coisas do dia a dia? Pessoalmente, acho que as coisas que você deveria ter memorizado são as que você precisará fazer quando algo quebrar e todo mundo estiver respirando em seu pescoço para recuperar a rede. As coisas do dia a dia tendem a variar com base no que suas máquinas Linux estão fazendo na sua rede.

Acho que existem algumas habilidades que são muito importantes.

  • Você deve ser capaz de configurar a rede usando apenas ferramentas CLI como ifconfig, route e ip.

    • Algumas vezes um cliente ligou dizendo que sua máquina Linux havia falhado. Eu fiz com que eles inicializassem um livecd. Mas o servidor estava em uma rede sem DHCP (era o DHCP). Depois que o sistema for inicializado, preciso orientá-los na inicialização da rede e do SSH para que eu possa me conectar remotamente e ajudá-los a diagnosticar e consertar o que estava quebrado.
    • Você pode estar em um ponto em que não consegue acessar a Internet e precisará saber como ficar on-line.
  • Acho que você deveria saber como fazer um backup completo do sistema usando tar, rsync ou dd. Se você não sabe como fazer backup e restaurar coisas, quase certamente não deveria mexer nos sistemas. Você também precisa garantir que os backups sejam feitos antes de fazer alterações no sistema.

  • Acho que você deveria saber como acessar os sistemas de arquivos de um livecd em seus servidores. Isso significa que você deve saber como ativar o LVM e unidades baseadas em RAID de software, acessar informações de partição e montar os sistemas de arquivos.

    • Se o seu servidor não inicializar, pode ser necessário acessar o sistema de arquivos e consertar algo. Será muito doloroso tentar descobrir como montar as coisas em caso de emergência. Esteja preparado com antecedência.
  • Você deve estar familiarizado o suficiente com o processo de inicialização para poder alterar as coisas durante a inicialização. A maioria dos sistemas usa GRUB, mas você pode encontrar o LILO.
    • É importante saber como inicializar em diferentes níveis de execução, como usuário único.
  • Acho que você deveria ter pelo menos um conhecimento prático de como fazer algumas capturas básicas com o tcpdump e ser capaz de ler os resultados. Todos os bons recursos da GUI do Wireshark são bons, mas se algo estiver quebrado, você pode não conseguir acessar o Wireshark.
    • Há um grande número de problemas de rede que consegui identificar e resolver rapidamente apenas executando o tcpdump.

Responder2

Saiba quais ferramentas você possui

Você nunca saberátudoantes do tempo. Mas vocêpodesaiba com o que você tem que trabalhar. Quanto mais ferramentas você conhecer, mais poderá usar. Se você sabe o que é a ferramenta, o que ela faz e onde encontrar mais informações sobre ela, isso é bom o suficiente para começar.

Familiarize-se realmente com as manpáginas. Você não precisa memorizá-los, mas deve saber onde encontrar o que procura. manas páginas são melhores que o Google para procurar detalhes de sintaxe, pois as páginas instaladas em um determinado sistema refletem as várias peculiaridades ou informações específicas da versão que correspondem ao sistema que você está visualizando.

Se você usa apachemuito, recomendo aprender a sintaxe de configuração do Apache. Se você usar nginx, aprenda isso. Mas de qualquer forma, você deve saber o que são e como são diferentes.

Ferramentas do sistema

Existem algumas ferramentas que irão ajudá-lo, independentemente do tipo de trabalho de administrador de sistema que você esteja realizando. Supondo que você conheça o básico, como chmod, mount, etc., aqui estão algumas ferramentas muito úteis que alguns administradores não entendem bem o suficiente:

  • sincronizar novamente
  • sar/iostat(parte do pacote sysstat)
  • setfacl/getfacl(a maioria dos administradores acha que chmod/chown é tudo o que você precisa para trabalhar)
  • curl e/ou wget
  • tabelas de ip
  • quem / último / w

Linha de comando Ninja

Eu diria que um conhecimento sólido de scripts de shell faz maravilhas para tornar as coisas difíceis rápidas e fáceis. Se você precisar procurar a sintaxe, é provável que não o faça, portanto, saber com antecedência é fundamental.

Por exemplo, digamos que você tenha um diretório cheio de mysqldumparquivos “.sql”, cada um representando um banco de dados que precisa ser importado para o servidor. Você importa todos os 35 manualmente? Se você está razoavelmente familiarizado com scripts de shell, é muito rápido e fácil digitar apenas um comando e depois tomar um café:

Nota: dividi-o em linhas separadas para facilitar a leitura; se você deixar o ponto-e-vírgula, poderá colocar tudo em uma linha. Caso contrário, os pontos e vírgulas não serão necessários no final de cada linha.

 for FILE in *.sql; do 
   NAME=${FILE%.sql}; 
   mysql -e "create database $NAME"; 
   mysql $NAME < $FILE; 
 done

Além disso, recomendo aprimorar o uso do sed. Pense nisso como uma forma de aplicar expressões regulares em qualquer lugar.http://www.grymoire.com/Unix/Sed.html

Digamos que você alterou seu número de telefone e precisa atualizar todas as suas páginas da web de acordo (e salvar uma cópia de backup para o caso de errar).

sed -i.bak 's/555-1234/555-4321/' *.html

Saber como encadear adequadamente as ferramentas existentes para fazer coisas novas também pode ser muito útil. Digamos que você precise fazer o mesmo acima, mas também pesquisar dentro dos subdiretórios -

find public_html -name '*.html' -print0 | xargs -0 sed -i.bak 's/555-1234/555-4321/'

Também é útil ter alguma experiência com perl. Talvez você não precise escrever nenhum programa sério com ele, mas ele foi projetado para fazer muitas das coisas que sedfaz awk, apenas talvez com um pouco mais de flexibilidade.

Perl pode ser usado para fazer mágica na linha de comando usando a -eopção. Usando with -p, -n, e -i, você pode escrever filtros simples rapidamente para fazer coisas realmente úteis. Por exemplo, digamos que você precise encontrar o endereço IP de todos que acessaram "/admin.php" em setembro:

perl -ne '
  /([^ ]+).*\[..\/Sep\/2010.*\] "GET \/admin.php / and print "$1\n"' < access_log

Ver? Isso não foi tão ruim. Como administrador de sistema, espera-se que você saiba como fazer essas coisas.

Responder3

Sou um administrador do Windows que se interessa um pouco pelo Linux, por isso não estou em condições de responder diretamente à pergunta. No entanto, na minha opinião, uma vez que você tenha uma compreensão decente do básico, a coisa mais importante que um administrador precisa saber, independentemente do sistema operacional, éondeecomopara encontrar as respostas.

Responder4

Existem algumas coisas que você absolutamente PRECISA saber.

Você precisa ter um bom entendimento do seu shell (como ele analisa os argumentos, como ele expande os curingas, onde estão os casos difíceis).

Você deve ser capaz de editar arquivos sem o X11 em execução.

Você deve ser capaz de montar e desmontar sistemas de arquivos.

Você deve ter a capacidade de absorver novas informações rapidamente. Porque essas são as habilidades que você precisa quando todo o farm de servidores da empresa trava e você só tem acesso através de um servidor de console chato (que é "console" como na porta serial) e/ou uma conexão VPN muito lenta (tornando qualquer coisa baseada em X11 também doloroso). E isso vai acontecer, então planeje isso.

informação relacionada