Não sou administrador do sistema, mas tenho bons conhecimentos de Linux, Unix, Windows e hardware.
Quais são os tópicos mais necessários que um administrador do Linux precisa saber de cor (no momento de poder consertar, configurar, resolver isso sem ter que ler o manual ao máximo; verificar as páginas de manual comuns a qualquer distribuição) )?
O foco que eu gostaria de definir para isso seria da rede da empresa à administração do servidor, que pode ter alguns recursos iguais, na maioria das vezes também tem outros. Por exemplo, nem sempre você 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 eu quis dizer os recursos mais necessários que provavelmente serão necessários em sua vida diária como administrador do Linux.
Gostar:
- Kernel, iptables
- Sendmail, Postfix, qmail, exim
- Lula, Samba, NFS, LDAP
- Apache, ngxix, lighthttpd
- vsftpd, proftpd
- ligar
- Problemas diários enfrentados
- Qual é o recurso que você mais usou durante o dia
Esta não é uma lista em ordem nem a mais necessária. Apenas cita algo que veio à minha cabeça.
PS: Eu já tenho o conhecimento básico, mas não tenho uma experiência diária em campo. Eu tive servidores, fiz algumas redes e assim por diante. Além disso, tenho até conhecimento profundo em algumas partes dele. Eu só queria atualizar isso aqui, como eu disse que isso é mais uma LISTA DIÁRIA DE UMA VIDA DO SYSADMIN DO LINUX.
Eu apreciaria se vocês / moças pudessem listar tópicos e, por exemplo, qual campo é o mais usado ou importante para memorizar.
Se você acha que minha pergunta não é adequada, informe-me e eu a excluirei ou, se você achar que está em forma, mas precisar ser re-trabalhada mais, informe-me também e tentarei o meu melhor.
Are you really sure you care about the day-to-day things?
mmmmm, mas inst problemas que acontecem parte da vida cotidiana de um? que o levará a recursos usados, por exemplo, na rede ifconfig dhcp, como você disse ... depurando em que nível o problema acontece etc.Saiba quais ferramentas você possui
Você nunca saberá tudo antes do tempo. Mas você pode saber com o que tem que trabalhar. Quanto mais ferramentas você souber, 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
man
páginas. Você não precisa memorizá-los, mas deve saber onde encontrar o que está procurando.man
as 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
apache
muito, recomendo aprender a sintaxe de configuração do apache. Se você usarnginx
, aprenda isso. De qualquer forma, você deve saber o que são e como são diferentes.Ferramentas do sistema
Existem algumas ferramentas que ajudarão você, independentemente do tipo de trabalho do administrador de sistemas que você está fazendo. Supondo que você saiba o básico, como
chmod
,mount
etc., aqui estão algumas ferramentas muito úteis que alguns administradores não entendem bem o suficiente:Linha de comando Ninja
Eu diria que uma sólida compreensão do script 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 consiga fazê-lo, portanto, saber com antecedência é fundamental.
Por exemplo, digamos que você tenha um diretório cheio de
mysqldump
arquivos ".sql", cada um representando um banco de dados que precisa ser importado para o servidor. Você importa todos os 35 manualmente? Se você estiver familiarizado com scripts de shell, é muito rápido e fácil digitar apenas um comando e depois tomar um café:Nota: divido-o em linhas separadas para facilitar a leitura; se você deixar o ponto-e-vírgula dentro, 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.
Além disso, eu recomendo atualizar o uso
sed
. Pense nisso como uma maneira de aplicar expressões regulares em qualquer lugar. http://www.grymoire.com/Unix/Sed.htmlDigamos que você alterou seu número de telefone e precisa atualizar todas as suas páginas da Web de acordo (e salve uma cópia de segurança para o caso de estragar).
Saber como encadear adequadamente as ferramentas existentes para fazer coisas novas também pode ser realmente útil. Digamos que você precise fazer o mesmo que acima, mas também pesquise dentro dos subdiretórios -
Também é útil ter alguma experiência com
perl
. Você pode não precisar de escrever quaisquer programas sérios com ele, mas ele foi projetado para fazer um monte de coisas quesed
eawk
fazer, talvez apenas um pouco mais flexível.Perl pode ser usado para fazer mágica na linha de comando usando a
-e
opção Usando com-p
,-n
e-i
, você pode rapidamente escrever filtros simples de fazer coisas realmente úteis. Por exemplo, suponha que você precise encontrar o endereço IP de todos que acessaram "/admin.php" em setembro:Vejo? Isso não foi tão ruim. Como administrador do sistema, você deve saber como fazer isso.
fonte
Sou um administrador do Windows que se interessa um pouco pelo Linux, por isso não estou em posição de responder à pergunta diretamente. No entanto, na minha opinião, uma vez que você tenha uma compreensão decente do básico, a única coisa mais importante que um administrador precisa saber, independentemente do sistema operacional, é onde e como encontrar as respostas.
fonte
Além das outras respostas:
Eu acho que você também deve saber como lidar com os processos:
Eu acho que você não precisa dominar o sed (eu sei que pelo menos não), eu consigo conviver com um dos greps (grep, egrep, zgrep, etc) facilmente. Você precisa conhecer a sintaxe básica da expressão regular.
Eu acho que você deve conhecer comandos básicos para manipular e / ou monitorar o MTA (postfix ou exim) e o MDA (dovecot, cyrus, courier) se você mantiver um servidor de correio. Mesmo se você não executar um, precisará executar testes básicos de SMTP em um MTA, apenas para problemas de entrega local.
Você deve conhecer o caminho que o sistema de autenticação está usando (PAM, LDAP). Onde suas senhas são armazenadas? usando quais procedimentos? Quais aplicativos usam quais mecanismos de autenticação?
fonte
Há algumas coisas que você absolutamente precisa saber.
Você precisa ter um bom entendimento do seu shell (como ele analisa argumentos, como ele expande curingas, onde estão os casos de canto niggly).
Você deve poder editar arquivos sem o X11 em execução.
Você deve poder montar e desmontar sistemas de arquivos.
Você deve ter a capacidade de absorver novas informações rapidamente. Como essas são as habilidades que você precisa quando o farm de servidores da empresa inteira travou e você só tem acesso através de um servidor de console piddly (que é "console" como na porta serial) e / ou uma conexão VPN muito lenta (tornando qualquer coisa baseada no X11 também doloroso). E isso vai acontecer, então planeje isso.
fonte
Os exemplos dados são ótimas respostas relacionadas ao servidor .. no entanto .. A administração do sistema nunca é 100% de computadores .. Eu gostaria que fosse!
Você também tem que lidar com pessoas, no nosso caso, isso significa Manglement, Lusers, Contractors and Suppliers .. arg ^ n
As habilidades de atendimento ao cliente, sabendo como falar sobre o que você precisa / deseja / deve fazer, obter informações para outras pessoas, documentação, são essenciais para manter o seu emprego no administrador de sistemas.
Se você deseja que seus projetos sejam financiados e usados: Não adianta tentar obter um novo servidor se você não souber pedir o dinheiro, se você não tiver os números / alternativas / plano de DR / cotações / plano de implementação etc .. A política do escritório é um B ** CH, o dinheiro é sempre: "apertado" .. o que quer que isso signifique .. não afeta os carros da empresa executiva, mas afetará a segurança e a capacidade de padronização do site, se possível imprima neles suas razões.
Eu diria a coisa mais importante a lembrar: NÃO CONFIE NO QUE UM USUÁRIO DIZ . Lembre-se disso ao atender o telefone. Não importa o que eles digam, você ainda terá que descobrir por si mesmo, porque, em última análise, é o seu traseiro, não o deles, e eles geralmente não fazem ideia. Só porque eles podem montar um parágrafo carregado de chavão para enganar seu chefe, não significa que eles realmente sabem o que acabaram de dizer.
Outros pensamentos:
Verifique se você tem tempo suficiente no no-break para desligar tudo quando a energia falhar
Monitoramento, certifique-se de que SABE que caiu .. não espere os lusers telefonarem.
BACKUPS BACKUPS BACKUPS .. sistemas multiusuário são propensos a horas extras se você não tiver um bom sistema de backup .. horas extras são ruins (não para o seu bolso, mas para o seu orçamento e aparência de profissionalismo).
NUNCA MUDE QUALQUER COISA NA SEXTA-FEIRA, ou no dia anterior ao feriado .. você será chamado no final de semana, terá que consertá-lo, terá um tempo muito ruim ..
Padronize e automatize ... o máximo que você puder! Se você pode escrever, por que não?
Descobrir como usar / instalar um sistema de helpdesk, fazer com que os usuários registrem chamadas por meio dele, permitirá rastrear suas atividades, fornecer aos superiores incentivos para pagar mais pelo trabalho que você faz e gravar suas respostas (defacto KB) .. ao mesmo tempo em que informa o usuário sobre o progresso. Garante que as consultas / problemas do usuário não se percam no dilúvio. (Spiceworks é gratuito, existem muitos outros)
Eu comprei uma cópia de: A Prática da Administração de Sistemas , por Limoncelli, eu altamente recomendo.
fonte
Um administrador do Linux precisa entender completamente as permissões de arquivo , bem como o uso de ferramentas como su e sudo , chmod e chown etc., como adicionar um usuário a um grupo ou criar novos usuários, como conceder privilégios de SSH a certos usuários ou grupos.
fonte
Precisa ser rápido com um editor na linha de comando.
fonte
Aprenda
sed
,grep
eawk
: muito do que faço diariamente como administrador de sistemas Linux é uma lista enorme de arquivos / computadores / usuários / etc. e transforme a entrada em outro conjunto de saídas para outro programa usar.Um exemplo concreto disso é pegar uma lista de computadores danificados, digamos, bugzilla ou RT, separar todas as informações estranhas que eu rapidamente copiei e colei em um documento de texto usando uma dessas três ferramentas acima e depois produzi uma lista delimitada por espaço de um monte de nós nos quais eu preciso fazer o SSH.
Além disso, você definitivamente precisará conhecer os limites superiores do shell que está usando. Com mais frequência, se você precisar separar vários arquivos antigos, provavelmente encontrará uma pasta com mais de 30k arquivos.
rm *
não funcionará, pois o asterisco será expandido para uma lista com mais de 30 mil entradas, e o shell que você está usando provavelmente não poderá manter uma lista desse tamanho. A maneira como você resolver isso é comxargs
: em vez derm *
, você pode usarls | xargs -i{} rm {}
, que irá trabalhar.fonte
Como administrador de sistemas, considero-me um médico digital (ou, dependendo do dia, às vezes um cirurgião de cérebro de classe mundial).
Quando tudo funcionar, você terá tempo de sobra para aprimorar suas próprias habilidades e os sistemas que administra.
Quando algo falhar, você precisará diagnosticar o problema imediatamente e perceber como corrigi-lo.
Portanto, você precisa aprender / memorizar o básico (e também até certo ponto os internos) dos servidores e aplicativos que você administra. Digamos que sua empresa hospede um site com a raiz da web sendo veiculada no NFS. De repente, todos os nós do www começam a alarmar e o site para de responder. O que suspeitar? Ah-ha! O servidor NFS acabou de funcionar e o cluster de failover também não funcionou por algum motivo.
Outro aspecto importante a ser aprendido é a carga básica dos servidores que você administra. Aprenda a memorizar sua carga média, uso de CPU, uso de memória e coisas assim. OK, você não precisa memorizar tudo isso - os gráficos criados com o Cacti ou o net-snmp + mrtg podem ajudar muito, mas se o seu pager alarmar sobre o servidor X se comportar de maneira estranha e ao mesmo tempo o helpdesk ligar para você, informando sobre outras servidor ou serviço, você pode combinar essas duas coisas e consertar a coisa antes mesmo de olhar para os registros, histórico de alarmes ou gráficos.
Prepare-se também para o pior: pense no que você faria se todo o datacenter fosse bloqueado devido à falta de energia. Como você inicializaria tudo depois que a eletricidade estivesse novamente disponível? O que você faria se algo não fosse iniciado? Como você restauraria backups? Ou o que você faria se alguém o alertasse sobre um cracker que acabou de invadir seus servidores? (Esse tipo de coisa deve ser documentado como uma lista de verificação, mas é bom ter algum tipo de intuição também)
E, como mencionado por outros, continue e escreva as coisas que devem ser executadas (semi-) automaticamente. Aprenda e brinque com o shell / Perl, eles realmente são seus melhores amigos e muitas vezes podem resolver problemas muito complexos com apenas alguns comandos juntos.
fonte