Novo em Programação e Administração do Sistema Linux

Seu ponto de partida para aprender como desenvolver programas Linux e administrar sistemas Linux

Esta página o conduzirá ao material que irá ajudá-lo a iniciar seu trabalho como um programador de Linux ou® administrador do sistema Linux.

Mostre-me os artigos e tutoriais mais recentes do Linux no developerWorks

A zona do Linux do developerWorks contém centenas de artigos, tutoriais e dicas para ajudar desenvolvedores na programação do Linux e no desenvolvimento de aplicativos, bem como na administração de sistema Linux.

Mas, se você estiver tentando encontrar direção em um novo tópico, todas essas informações podem ser excessivas. Esta página Novo no Linux oferece uma visão geral para leitores que desejam aprender sobre o Linux, mas não sabem por onde começar. Aqui você encontra todas as noções básicas do Linux no contexto e junta artigos, tutoriais e dicas relevantes do developerWorks, bem como educação de serviços de aprendizado IBM, workshops e produtos IBM para investigação adicional.

Portanto, o que é Linux?

Nos termos mais simples, Linux é um sistema operacional. Ele foi criado em outubro de 1991 por um aluno da University of Helsinki chamado Linus Torvalds (Linux significa UNIX do Linus). O próprio Linux é de fato apenas o kernel; ele implementa a funcionalidade multitarefa e multiusuário, gerencia hardware, aloca memória e ativa aplicativos para execução.

O usuário médio nunca estará interessado o suficiente em nenhum sistema operacional para querer saber sobre coisas como partes internas do kernel. Apenas os verdadeiramente dedicados -- os que não possuem vidas pessoais ou os que estão sendo pagos para fazer este tipo de trabalho -- irão querer explorar estas complexidades.

Mas, embora você mesmo nunca desça até as maiores profundidades para entender detalhadamente o kernel, é animador saber que você pode facilmente contratar uma empresa para fazer este trabalho em seu lugar; para delegar estas modificações a um sistema proprietário geralmente é muito mais difícil e mais dispendioso.

Para novatos em programação do Linux, provavelmente a coisa mais importante sobre o kernel que você precisa lembrar é que versões do kernel com números ímpares (ou seja, 2.3, 2.5, 2.7) são o kernel experimental, de desenvolvimento. Os kernels estáveis, com release possuem números pares (ou seja, 2.4, 2.6, 2.8).

Uma distribuição típica do Linux inclui o kernel Linux, mas também contém muitos programas de aplicativos e ferramentas. Geralmente, muitas ferramentas em níveis do sistema e do usuário localizadas em uma distribuição Linux são provenientes do projeto GNU da Free Software Foundation (GNU significa "GNU's Not UNIX").

O kernel Linux e o conjunto de ferramentas GNU são liberados sob a GNU General Public License, ou GNU GPL. Se você ainda não estiver familiarizado com a GNU GPL, a melhor maneira de começar a entendê-la é lendo-a. Com o risco de resumir algumas partes importantes, a GNU GPL é uma maneira de configurar o código livre do computador para que as pessoas que usam esse código possam interferir nele e testá-lo à vontade.

  • É altamente recomendável ler este interessante artigo da história do Linux (US) do ex-colega de trabalho de Linus Torvalds, Lars Wirzenius.
  • Linux Online (US) oferece notícias e informações independentes do Linux.

Qual é a diferença entre UNIX e Linux?

Linux não é UNIX, embora seja destinado a ser muito semelhante ao UNIX. A IBM possui ofertas nas esferas do Linux e do UNIX—, bem como muitas outras. Criado na AT&T Bell Labs em 1969, UNIX (o nome é um trocadilho com o antigo sistema operacional "Multics") é um ambiente de computação robusto, flexível e simples para desenvolvedores. Escrito originalmente para a família Digital Equipment Corporation (DEC) de microcomputadores PDP, este mais popular entre os sistemas operacionais multiusuário, de finalidade geral, tem assumido funções em todas as áreas de computação -- mesmo as desempenhadas por mainframes.

A IBM possui ofertas nas esferas do Linux e do UNIX -- bem como muitas outras.

  • A página de produtos IBM (US) oferece links rápidos para hardware e software, suporte, consultoria e muito mais.
  • Para navegar pelo maior site da IBM, visite a página inicial da IBM (US).

Em vinte e poucos anos em sua história, o UNIX começou a ser ofuscado -- em algumas de suas funções -- pelo Linux. Linux não é UNIX; é apenas muito parecido com o UNIX. Para algumas tarefas, o Linux é o preferido -- para outras, ainda é o UNIX. UNIX e Linux funcionam muito bem juntos, e os programas bem escritos são extremamente fáceis de serem transportados entre os dois sistemas. Para obter informações adicionais sobre o UNIX na IBM, consulte alguns dos seguintes sites.

  • Na vanguarda de produtos de software, você pode saber mais sobre o sistema operacional AIX 5L UNIX (US) da IBM.
  • O grupo z/OS UNIX System oferece uma página de ferramentas e passatempos UNIX livres (US) de IBMistas e da comunidade.
  • Para saber mais sobre o Multics (Multiplexed Information and Computing Service), visite a página inicial do Multics (US).

Por que o Linux é importante?

Por ser software livre, licenciado pela GNU General Public License, o Linux elimina a necessidade de programadores reinventarem a camada de operações em cada projeto novo. Para esclarecer a metáfora, a família GNU de ferramentas fornece um local físico sem cobrança de direitos autorais com o qual começar a construir projetos independentes. Os críticos de software livre geralmente expressam temores de que as liberdades e o baixo custo de software livre possam conduzir a um desastre econômico no setor de computação. No entanto, é bem provável, se não totalmente provável, que o software livre fará para o mundo da computação o que a tipografia de Gutenberg fez para o mundo das Letras.

  • A GNU General Public License (US) explica quais são as liberdades e responsabilidades confiadas aos usuários de software livre.
  • Você pode ler mais sobre a "filosofia" de software livre -- e encontrar uma grande quantidade de documentação e de pacotes de software disponíveis para download -- no Web site da Free Software Foundation (US) (FSF).
  • A IBM Public License (IPL) (em inglês) também é uma licença de software livre. Ela foi criada com a ajuda do fundador da FSF, Richard Stallman.

O que eu posso fazer com o Linux?

O que você espera de seu sistema Linux irá determinar qual sistema Linux você prefere e quantas camadas de complexidade é preciso entender antes de começar a trabalhar com ele.

Linux é uma excelente plataforma na qual aprender programação do Linux , entendimento detalhado do kernel ou até mesmo programação do UNIX; muitas ferramentas e aplicativos estão disponíveis para jogos, editoração eletrônica ou apenas envio de e-mail e navegação na Web.

Também é uma excelente plataforma para sistemas funcionais, abertos e fechados, porque é altamente customizável de forma gratuita. O Linux é uma plataforma popular para tudo, de middleware para computação integrada e clusters, a supercomputadores e dispositivos paralelos. A IBM está envolvida em projetos para a fabricação de caixas registradoras que funcionam no Linux, bem como relógio de pulso do Linux. Outros desenvolvedores usam o Linux em dispositivos, tais como, telefones celulares, Sony PlayStation, TiVo e o Sharp Zaurus.

Embora a GNU General Public License requeira que o código seja alterado para ser liberado para os clientes que o usam, não é necessário que todo o código alterado seja liberado para o público em geral (este é o ponto-chave que alguns críticos de software livre não aceitam). De fato, no caso de caixas registradoras baseadas em Linux, muito provavelmente seria um risco à segurança liberar o código para um grande público. A GNU GPL apenas requer que o código modificado seja disponibilizado para os clientes que o usam.

  • A zona do IBM developerWorks para Linux é um recurso indispensável para tutoriais e artigos que cobrem tudo, de noções básicas do Linux à programação e implantação avançadas.
  • Saiba sobre os interessantes projetos Linux e computação on-demand na página do portal Linux na IBM (US) .
  • O IBM Global Services oferece consultoria e suporte; seus serviços incluem tudo, de implementação de novas instalações à migração ou atualização de antigas. Saiba o que o IGS está fazendo na esfera Linux na página serviços do Linux (US).

Como posso começar a usar o Linux?

Se você não tem nenhum conhecimento sobre o Linux, ou se estiver usando o Linux como um sistema operacional de desktop, precisará aprender pelo menos algumas noções básicas sobre administração e segurança do sistema. Diferentemente dos sistemas operacionais pessoais comerciais que tentam automatizar tais operações, o Linux não promete ajudá-lo ou cuidar disso por você: você mesmo deve cuidar do sistema. Felizmente, a manutenção e a segurança básicas são muito fáceis. De muitas maneiras, a administração do Linux e do UNIX hoje é muito mais fácil do que a administração de sistemas operacionais pessoais comerciais populares, porque ela é muito mais transparente.

Embora o Linux não tenha vários ambientes de janelas que permitam executar a administração, a maneira mais simples de controlar o sistema está na linha de comandos. Integradas à estrutura do ambiente da linha de comandos estão muitos comandos e vários sistemas de ajuda baseados em texto.

Existe uma grande quantidade de recursos na Web e no mundo real para ajudá-lo a começar a usar o Linux. Existem Web sites, artigos e livros dedicados ao assunto, e Grupos de Usuários do Linux (também conhecidos como LUGs) que se reúnem em cidades e países em todo o mundo -- e são bem conhecidos por serem muito cordiais, mesmo com usuários iniciantes.

Como posso usar o Linux no desenvolvimento de aplicativos?

O Linux é uma excelente opção como plataforma de programação. É compatível com GCC, possibilitando o uso do excelente conjunto de ferramentas de programação de depuração do GNU Project -- totalmente grátis, e com todas as liberdades asseguradas pela GNU GPL. Pacotes de programação comerciais, como sistemas operacionais comerciais, podem ter um preço muito alto. É verdade que são muitas vezes necessários para um projeto ou outro e podem valer o seu preço mas, para um iniciante ou aprendiz -- e para muitos profissionais -- software livre é simplesmente insubstituível. Se estiver usando o Linux como uma plataforma de desenvolvimento, não deixe de lado as noções básicas de aprendizado sobre administração e segurança. Quem não consegue, de fato, ter total controle de seu computador é um programador ineficiente.

  • Para obter o software IBM de avaliação, você pode fazer download de produtos de avaliação (em inglês) que são executados no Linux diretamente do developerWorks.
  • IBM Redbooks no Linux (US) foram desenvolvidos pelo International Technical Support Organization (ITSO) da IBM e exploram uma grande variedade de tópicos para desenvolvedores do Linux.

O Linux é, por natureza, compatível com padrões. Como uma regra, os desenvolvedores do Linux dão muita importância à manutenção da camada de operações, bem como as construídas sobre ele, abertas, interoperáveis e compatíveis com padrões.

  • O Linux Standard Base (US) (ou LSB) oferece especificações e programas de certificação de segmento de mercado específicos do Linux. O LSB é um grupo de trabalho do Free Standards Group (US).
  • Em geral, altamente associado ao UNIX, The Open Group (US) é um consórcio internacional, neutro de fornecedor, com tecnologia neutra, cujo objetivo é a interoperabilidade segura e confiável no mundo da computação.
  • O Portable Application Standards Committee (PASC) do IEEE é responsável pela família POSIX (US) de padrões UNIX.
  • A série de documentos Requests for Comments (RFC) (US) é um conjunto de notas técnicas e organizacionais sobre a Internet. Mantido pelo IETF Secretariat, o processo de publicação do RFC desempenha uma função importante no processo de padrões da Internet.

Quais linguagens de programação podem ser usadas no Linux?

Além de suportes estáveis, como Fortran e C/C++, muitas linguagens de script e outras linguagens de computadores funcionam muito bem (ou foram projetadas para funcionarem melhor) no Linux. As mais populares incluem Perl, Python, PHP e Tcl.

Novas tecnologias dinâmicas, como a tecnologia Java e XML, são executadas facilmente no Linux, assim todas as linguagens de programação mais particulares, de Logo e Rebol a Smalltalk e muitas outras.

Como posso continuar melhorando minhas habilidades no Linux?

Se desejar usar o Linux como uma plataforma para um aplicativo ou conjunto de aplicativos muito avançado, você terá interesse nos aspectos do sistema, tais como, detalhamento do kernel, as diferenças entre vários sistemas de arquivos e outros detalhes básicos.

Outro conjunto de habilidades geralmente necessário para aplicativos high-end (ou jogos) é o ajuste fino de uma máquina, cluster ou rede Linux para melhor desempenho. Isto inclui conhecimento em áreas, como, multiprocessamento, encadeamento, clusters e outros pontos ocultos mas sofisticados de administração do sistema. Entender estes aspectos do Linux não é tão básico quanto o detalhamento real do kernel; no entanto, pode ser muito interessante.

O IBM Learning Services oferece classes que cobrem tudo, das noções básicas de desenvolvimento a habilidades altamente especializadas —além de certificação (leia mais sobre isto posteriormente). As soluções do IBM Developer oferecem artigos e instruções sobre produtos IBM, e o maior Web site da IBM oferece muitos recursos, muitos, senão a maioria dos quais, também são executados no Linux. E o IBM developerWorks oferece artigos, tutoriais e recursos do Linux, bem como várias outras tecnologias abertas ou livres, incluindo XML, Wireless, serviços da Web, tecnologia Java e Computação em grade.

Como posso demonstrar para outros que tenho habilidades com o Linux?

Os programas de certificação para Linux incluem programas associados, bem como testes de habilidades independentes e certificação patrocinada por empresas. O IBM developerWorks e o IBM Training oferecem controles de certificação para a formação de conhecimento no Linux.

  • O Linux Professional Institute (LPI) (US) certifica administradores do sistema Linux em três níveis. Para obter o nível de certificação 1, é necessário ser aprovado nos exames de LPIC-1 101 e 102. Para obter o nível de certificação 2, é necessário ser aprovado nos exames de LPIC-2 201 e 202. Para obter o nível de certificação 3, é necessário ser aprovado no exame de LPIC-3 301 ("principal") e ter um nível de certificação ativo 2. Também pode ser necessário obter aprovação em exames de especialidades adicionais no nível senior.
  • Antes de fazer os exames de certificação do LPI, revise seus guias abrangentes de estudos sobre certificação (em inglês) no developerWorks.
  • Um treinamento no Linux (US) adicional está disponível no IBM Global Services.

Quais ferramentas IBM estão disponíveis para Linux?

Linux é um sistema operacional superior no qual são executados aplicativos padrão — de aplicativos administrativos, como processadores de texto e planilhas; para sistemas de banco de dados; a ambientes de publicação e atendimento na Web. Produtos IBM, como DB2, Lotus, Tivoli e WebSphere são todos executados no Linux, e a IBM não é o único líder de mercado a reconhecer que o Linux é uma excelente plataforma para middleware. Embora mal compreendido e muitas vezes difamado — pelo menos entre os digerati declarados — o middleware é, em primeiro lugar, uma razão essencial (e para muitos usuários de computadores, a razão essencial) para ter computadores. A natureza aberta do Linux permite que fornecedores de middleware façam o ajuste fino de soluções para atender às necessidades de usuários de formas não permitidas por sistemas fechados.

  • O suporte de um bilhão de dólares da IBM para o Linux ganhou destaque; seu suporte de desenvolvedores do Linux tem como objetivo facilitar a tarefa de programação de aplicativos. Se o seu projeto é um projeto comum ou de ponta, confira a matriz IBM Middleware Available on Linux (US) e outros recursos no site Linux da IBM (US).
  • Para obter o software IBM de avaliação, você pode fazer download de produtos de avaliação (em inglês) que são executados no Linux diretamente do developerWorks.
  • O Web site do DB2 para Linux (US) oferece informações, downloads e links para informações adicionais sobre o principal sistema de banco de dados da IBM no Linux.
  • O WebSphere Portal zone (US) responderá a todas as suas perguntas sobre atendimento de aplicativos e middleware de infraestrutura.
  • Melhor conhecida por seus recursos de sistema de mensagens e colaboração, a funcionalidade integrada do conjunto de software Lotus (US) também permite conferência de equipe, e-learning, gerenciamento de conhecimento e muito mais.
  • As tecnologias Tivoli (US) estendem o gerenciamento de sistemas e integram máquinas Linux com outros sistemas de TI.

O que podemos esperar do Linux no futuro?

A abertura e flexibilidade do Linux permitem que ele seja usado em trabalhos de laboratórios e em outras instalações de pesquisa na margem explorável de mudança tecnológica revolucionária. A pesquisa na IBM inclui todas as áreas de tecnologia da informação, de física e ciência cognitiva à pesquisa de aplicativos de ponta e muito mais. Mas os pesquisadores na IBM também estão envolvidos, em muitas situações, na ciência pura. Na IBM como em outro lugar, o Linux é usado com frequência nestas configurações.

O Linux pode ser facilmente agrupado ou customizado para experimentos ou protótipos, simulações ou testes altamente originais; e a ampla matriz de ferramentas de software livre que o Linux criou para trabalhar pode ser usada da mesma maneira criativa. Mesmo com todas as novas tecnologias interessantes que estão sendo desenvolvidas atualmente — de Computação em grade e aplicativos de voz wireless à inteligência artificial e computação Quantum — o potencial e promessa da era da computação na qual vivemos ainda não são amplamente utilizados. A flexibilidade robusta e aberta do Linux significa que ele permanecerá à frente da fronteira de desenvolvimento por muitos anos.