Um pequeno desafio para me familiarizar com o Linux [fechado]

9

Eu gostaria de aprender mais sobre o Linux. Examinei brevemente alguns livros e vários artigos on-line, mas a única maneira de aprender algo é realmente começar a usá-lo.

Eu gostaria de entrar no fundo do poço e configurar um servidor Linux. Até agora eu baixei o Ubuntu Server.

Estou à procura de um objetivo ou um desafio, se quiser, algo que me familiarize com os servidores Linux.

Idealmente, eu gostaria de poder configurar um servidor de email, arquivo e web seguro. Eu tenho um forte histórico de programação, então espero que isso me ajude.

Entendo que essa não é uma pergunta específica, estou apenas procurando um marco ou uma meta; caso contrário, posso passar semanas lendo livros e artigos on-line.

Editar 1: Obrigado a todos pelas respostas.

Com base no que você disse até agora, acho que existem poucas áreas diferentes que preciso aprender:

  1. Núcleos. Estou correto em dizer que é a primeira coisa em que devo me concentrar?
  2. Virtualização. Quando estiver satisfeito com meu conhecimento sobre kernels, gostaria de me concentrar no KVM. Eu li bruscamente sobre hipervisores e acredito que eles também se enquadram na virtualização. Por favor me corrija se eu estiver errado.
  3. Segurança. Idealmente, gostaria de deixar isso por último, mas acho que a maioria dos pacotes que vou precisar estão online. Portanto, não tenho certeza se devo dar a isso uma prioridade mais alta. SSH, Linux como Firewall e acesso remoto através de shell se enquadram nesta categoria.
  4. Por fim, examinarei as rotinas de backup (usando o Linux como servidor de arquivos) e configurarei os servidores da Web e de email. Eu acho que o servidor de correio pode ser uma dor.

Estou tentado a começar um blog e ver onde me leva depois de duas semanas. No que diz respeito às distribuidoras, vi que existem centenas de diferentes distribuições Linux. Para ser perfeitamente honesto, não quero nada simples, mas, ao mesmo tempo, não quero passar horas em uma operação muito básica para começar. Idealmente, eu gostaria de trabalhar apenas no prompt de comando, uma vez que eu puder fazer isso, poderei trabalhar com a maioria das GUIs bonitas (espero que assim seja).

Mais uma vez, obrigado pela sua ajuda e eu realmente aprecio qualquer conselho adicional.

Edit 2: Isso me deixa com uma pergunta final sobre qual distribuição do Linux devo usar?

vikp
fonte
11
Um hipervisor é a 'coisa' que permite executar máquinas virtuais. Você queria aprender. O kernel é um ótimo lugar para aprender. Mas ele tem uma curva de aprendizado íngreme :)
wzzrd

Respostas:

10

Aqui estão alguns:

  • execute o Linux como seu sistema operacional principal, na área de trabalho e no laptop, se houver
  • instale o KVM e o virt-manager e construa algumas máquinas virtuais
  • crie um pacote para sua distribuição preferida (um arquivo .deb ou .rpm); ajuda a entender muitas coisas
  • construa seu próprio kernel

Isso pode não parecer diretamente relacionado aos seus objetivos pessoais de aprender a construir servidores da Web, mas garanto que, se você entender o Linux, criará todos os tipos de servidores facilmente.

wzzrd
fonte
11
+1 para a sugestão de virtualização! Pessoalmente, acho que o VirtualBox pode ser uma maneira mais fácil de aprender o servidor Ubuntu, mas o conceito é o mesmo.
28410 Josh
3
Obrigado. O Virtualbox é um produto de virtualização de desktops , destinado a desktops, com uma interface amigável para desktops. Não mencionei o KVM sem motivo: o KVM é orientado ao servidor. É um hipervisor Tipo 1, enquanto o Virtualbox é o Tipo 2. O KVM obriga você a aprender um pouco sobre como os kernels funcionam, o que é um hipervisor e como você pode transformar o kernel em um hipervisor. O Virtualbox simplesmente ensinará como clicar. Aprender Linux não é "fácil". É sobre 'conhecimento'.
Wzzrd
Ah, e pessoal, por favor, o Ubuntu não é Linux. O Ubuntu é apenas uma encarnação do Linux. Uma boa, com certeza, mas ainda assim apenas uma das centenas de distros por aí. Então, no que me diz respeito: instale um monte de Linux. Instale o CentOS, Fedora, Ubuntu, Gentoo (bom para aprender muito), alguns BSDs. Você quer aprender? Experimentar! Tente fazer seus olhos sangrar ;-)
wzzrd
Oi wzzrd, obrigado por suas respostas. Por favor, veja a edição.
Vikp
você esqueceu o link obrigatório para distrowatch.com, pois não há site melhor que mostre quantas distribuições diferentes você pode escolher.
5111 Johan
8

Não tenho certeza de como esta questão está "no tópico", mas acho que é divertida. Quanto mais sua computação for movida para o Linux, mais rápido você começará a entender as coisas.

Aqui está algo que eu fiz logo após passar a usar o Linux exclusivamente. Requer ter um computador sobressalente.

  • Configure um servidor com o Ubuntu Server.
  • Configure o acesso SSH ao servidor.
  • Remova o teclado e o monitor e faça todas as outras configurações e administração remotamente. Para mim, essa foi uma experiência séria de aprendizado, pois obriga você a (1) fazer tudo por meio do shell e (2) ter muito cuidado com as alterações de configuração.
  • Comece a configurar os serviços que deseja. Você pode considerar fazer o seguinte
    • Concentre-se em segurança desde o início. Configure um firewall. Proteja suas configurações de ssh. Certifique-se de entender quais serviços estão sendo executados na máquina e por quê.
    • Configure máquinas clientes para fazer backup regularmente no servidor ou em alguma mídia externa montada no servidor ou criar outra solução de backup que exija interação entre seus clientes e o servidor.

Em qualquer sistema baseado no Debian, um servidor de arquivos e um servidor web serão relativamente fáceis de instalar e configurar. Um servidor de email será mais difícil, pelo menos se você tentar obter o tipo de entrega de email confiável que um serviço como o gmail pode fornecer.

Steven D
fonte
Olá, obrigado pelo seu conselho, consulte a edição.
Vikp
2
+1 em "tenha muito cuidado com as alterações de configuração". :)
Stefan
No desenvolvimento de software, existe um livro não oficial "preciso ler" - Gang of Four, que explica fundamentos e princípios muito importantes que muitos desenvolvedores de software optam por ignorar. Existe alguma literatura semelhante para Linux?
vikp
3

Eu o desafio a configurar um servidor de email, arquivo e web seguro. Isso ajuda?

Parece que você fez um bom trabalho ao apresentar seus próprios desafios. Faça isso primeiro e depois pense em algo novo. Enxágüe, repita.

bahamat
fonte
11
Adicionando à lista: use sua caixa Linux como seu firewall doméstico com NAT.
Gabe.
Olá, o desafio é um lado. Eu estava preocupado em me concentrar em algo como servidores de arquivos ou servidores da web sem entender os fundamentos.
vikp
0

Aqui estão dois bons desafios:

  • Instale sambae swatou webmin para configurá-lo. Você ouvirá muitas pessoas que swate o webmin podem ser inseguros, aprenderão o porquê e aprenderão a torná-lo inseguro. Experimentar o uso de uma caixa Linux como servidor de arquivos é muito útil e isso ensinará um pouco do que é necessário para que o Windows e o Linux funcionem bem juntos.

  • Selecione um aplicativo Web de "terceiros", instale-o e faça-o funcionar. Eu diria que instale o Wordpress e experimente executar o seu próprio blog. O Ajaxplorer é um ótimo aplicativo que também é muito útil. Você aprenderá sobre o apache, o mySQL php e como a instalação de aplicativos da web funciona e como todos esses componentes funcionam juntos. Afinal, você terá muito conhecimento.

Um desafio mais fácil:

  • Instale e execute um servidor FTP. Em seguida, descubra por que o FTP é péssimo e aprenda sobre o SCP e configure sshdpara permitir transferências seguras de arquivos.
LawrenceC
fonte