Eu estou utilizando o ubuntu 12 lts… (odeio ficar reinstalando sistema).
Mas me sinto às vezes como um cego no meio do tiroteio quando estou usando o sistema.
As vezes pra instalar algum programa… eu vejo tutoriais na internt…
jogo os comandos la funcionam e tal… mas nao faco a menor ideia do que eu fiz.
Odeio me sentir dessa forma… Queria saber como ter conhecimento avancado no sistema… Qual o caminho seguir?
Por exemplo… instalei um programa que tinha que digitar o comando…
Esta ae um bom tópico, eu me sinto da mesma forma.
Comecei faz 1 semana mexer com linux, por ser mais leve. Porem no momento ele esta mais lento até que o Windows 7 que eu tinha.
Ta provavelmente é porque eu estou “noobando”, mas é como você disse eu quero fazer algo procuro na net encontro rodo os comandos e funciona, mas mesmo assim é estranho.
faeldix, existem diferenças muito grandes entre Windows e Linux. A primeira que se descobre é que o Linux não é baseado em executáveis. Ou seja, ao invés de sair executando tudo de qualquer jeito, ele precisa interpretar o código binário do mesmo. Isso garante performance e, principalmente, segurança (quantos vírus para o pinguim você já ouviu falar?).
Esta sequência de passos é fundamental para que seja possível instalar e disponibilizar um “executável” do programa em questão.
Vale lembrar que tecnologias como o Java que roda sobre uma VM dispensam estes passos (a maioria, ao menos).
Basicamente o linux não é difícil, mas por ser de um paradigma diferente, exige um reaprendizado. O grande problema é que acostumados com o windows onde se está acostumado a limitação do ambiente, acaba-se tendo uma dificuldade ao se deparar com a liberdade oferecida pelo ambiente linux, e para que esta liberdade se faça efetiva é de fundamental importancia que ao utilizar-se de how-to’s, busque-se aprender e entender cada comando utilizado e sua significancia na ação, e tambem buscar alternativas, e para tal utilizando-se de fontes como google, man e -h(–help, /help). Assim a cada novo problema resolvido são vários novos conhecimentos adquiridos, permitindo que no proximo problema seja possível que talvez voce consiga resolver sem auxilio externo.
[quote=mateus.cordeiro]Tem algum livro ou material que vcs indicam?
Qual a melhor versão p/ começar?[/quote]
Depende o quanto você está interessado em começar mesmo.
Eu sugiro que os debian based (debian, ubuntu, kubuntu) sejam os primeiros, embora os Mandriva sejam ótimos também.
Fedora é mais complicadinho, na minha opinião.
Quando chegar a um slackware, aí estará tranquilo.
Você só vai entender o linux lendo, estudando e entendendo a sua organização.
Tchauzin![/quote] E usando.
Não adianta nada você comprar a bíblia/alcorão/torá do linux, se não deixar de usar o windows por algum tempo e se dedicar.
Como sugeriram ali em cima, tem o vivaolinux.com.br , o guifoca.org , o brlinux.org entre outros.
Talvez um item interessante pra estudar seja a hierarquia de diretórios no Linux (onde ficam os documentos? E os arquivos de configuração dos programas?)
[quote=drsmachado]faeldix, existem diferenças muito grandes entre Windows e Linux. A primeira que se descobre é que o Linux não é baseado em executáveis. Ou seja, ao invés de sair executando tudo de qualquer jeito, ele precisa interpretar o código binário do mesmo. Isso garante performance e, principalmente, segurança (quantos vírus para o pinguim você já ouviu falar?).
Vale lembrar que tecnologias como o Java que roda sobre uma VM dispensam estes passos (a maioria, ao menos).[/quote]
De onde foi que você tirou isso? A diferença entre um arquivo executável e um arquivo binário é mínima. Em um arquivo executável, os primeiros 512 bytes fazem parte de um cabeçalho, que contém algumas informações sobre o executável que são usadas pelo Windows para executar o programa. Se você remover os primeiros 512 bytes de um arquivo executável, você terá um arquivo binário.
[quote=matheuslmota][quote=drsmachado]faeldix, existem diferenças muito grandes entre Windows e Linux. A primeira que se descobre é que o Linux não é baseado em executáveis. Ou seja, ao invés de sair executando tudo de qualquer jeito, ele precisa interpretar o código binário do mesmo. Isso garante performance e, principalmente, segurança (quantos vírus para o pinguim você já ouviu falar?).
Vale lembrar que tecnologias como o Java que roda sobre uma VM dispensam estes passos (a maioria, ao menos).[/quote]
De onde foi que você tirou isso? A diferença entre um arquivo executável e um arquivo binário é mínima. Em um arquivo executável, os primeiros 512 bytes fazem parte de um cabeçalho, que contém algumas informações sobre o executável que são usadas pelo Windows para executar o programa. Se você remover os primeiros 512 bytes de um arquivo executável, você terá um arquivo binário.[/quote]
O formato dos executáveis no Linux é o “ELF” (“Executable and Linkable Format”) e o formato no Windows é uma variação de um formato antigo que se usava antigamente no Unix, que é o COFF (“Common Object File Format”). Essa variação é o tal do PE (“Portable Executable” - http://msdn.microsoft.com/en-us/library/windows/hardware/gg463119.aspx ) . Ambos os formatos são em sua essência muito semelhantes.
A definição de um formato para os executáveis não torna o sistema mais ou menos seguro contra vírus.
O grande problema que vejo que as pessoas dizem não entender como o Linux funciona, mas não é um problema de conhecimento de Linux, mas sim falta de noção basica de como um computador e um sistema operacional funciona… isso é pq no windows tudo é tão simples que isso é desnecessário para usar um computador! e por incrivel que pareça se for usar algo como Ubuntu e utilizar SOMENTE O REPOSITÓRIO OFICIAL para instalação de programas… acredito que é MAIS FACIL AINDA… agora se for para entender a fundo… entender o windows a fundo também não é simples. Eu comecei a ver linux em 1996… nessa época todos estavam acostumados com DOS e todo usuário médio sabia o basico do funcionamento… meu primeiro linux que instalei foi o Slackware (acho que versão 3)… e digo… não tive dificildade pois o processo de instalação é parecido com o que se fazia na época para instalar o SO… chamava fdisk… montava partições… formatava… instalava o basico do sistema… depois instalava interface grafica (no dos também se instalava o win separadamente)… o bootloader… vejo que as vezes o problema não é o linux… mas a falta dessa noção basica logo na instalação.
É importante conhecer o basico sobre scripts, executaveis, dependências… entender o por que disso e por que no windows é diferente! Entender o basico de filesystem… se for usar repositório para instalação não precisa saber nada disso… a diferença é que no windows é bem dificil o “incomum”…
Conhecer como a distribuição funciona também é importante, pois muita coisa de configuração é pertinente a uma determinada distribuição. Acontece que para isso tem de ter noção do que é um arquivo de configuração… o por que é daquele jeito…
Você citou ./configure & make & make install
quando esta fazendo ./ significa que esta pegando algo do diretório corrente (ponto significa diretório corrente também no windows) e esta executando um programa configure. Geralmente é um script que vai varrer seu sistema para verificar se as dependências estão instaladas e como a compilação irá ocorrer… make irá procurar o Makefile para compilar o programa… e install rodar o target para instalação… Compilar programas em outros sistemas como windows também não é algo tão simples (e muitas vezes bem complicado)… compilar programas em Java pela linha de comando pode ser complicado… é uma questão de entender o que esta sendo feito!
Achei este link aqui que fala um pouco mais a fundo sobre isso: http://tldp.org/LDP/LG/current/smith.html
Em relação ao que foi citado sobre virus para linux… esse é um assunto a parte… mas os motivos para o tal são varios! Apenas alguns:
1 - Sistema de permissão do linux, os aplicativos são desenvolvidos para rodar com baixos privilégios… isso no windows não existia e muitas apis precisavam de privilégio de ADM… todo mundo acabava sendo Administrador e escancarava o sistema… com o UAC isso começou a mudar, mas entra o segundo ponto;
2 - Cultural… da mesma forma que linux costuma ter usuários mais avançados, estes não saem clicando em qualquer lugar, diferente dos usuários leigos que saem clicando em todo lugar e acham que ser Administrador da máquina é ser um cara poderoso… Já vi nego que instala windows 7 e a primeira coisa que faz é colocar no grupo de administrador e liberar o UAC geral… e fica todo contente… sou Administrador… igual aquele cara que é gerente de buteco… mas é gerente!!! Isso também ajuda a liberar brechas!
3 - Código aberto (isso sim é ponto para o linux)… Muitas falhas descobertas em sistemas fechados demoram para ser consertadas! Já em sistemas abertos as correções saem rapido! Mas de nada adianta se você não aplica-las… ta cheio de server linux hackeado pq esta desatualizado!
4 - Muitas variações… o fato de existirem diversas bibliotecas, distribuições, sistemas diferentes, faz com que o sistema se torne uma coisa como um todo e não separado (SO de um lado, app do outro)… linux no final é só um kernel e a distribuição é o kernel com um monte de programa junto. cada um fazendo um pedacinho das coisas! Isso dificulta a criação de virus pois dependedo dos recursos para o virus ser bastante funcional teria de distribuir milhares de dependências junto! Sem dizer a questão dos repositórios oficiais que geralmente são utilizados para fazer download de programas! E por ultimo também um pouco do lado cultural dos usuários!
5 - Popularidade: Por que vou desenvolver um virus para linux para infectar no máximo mil usuários se posso escrever um para windows e infectar um milhão!
O que posso recomendar é, para nao ter que perder muito tempo reinstalando distros, você pode instalar uma VM e subir a distro que você quiser aprender. Para aprender eu comecei com Ubuntu, que é o mais “Windows-like”, se é que podemos dizer assim. Depois do Ubuntu, parti pra alguma um pouco mais complicada e voltada ao mercado, como um SuSE, Red-Hat (CentOS).
Agora a questão é praticar e errar. Se você fizer uma besteira absurda, você aprenderá muito tentando consertar essa besteira, mas caso não consiga, só restaurar um snapshot da VM.
Uma sugestão é que dê uma olhada neste livro do Morimoto, ele é um pouco antigo, mas ainda é bastante útil:
E outra, “bote a mão na massa”, instale, fusse, estrague, instale novamente, fusse novamente, estrague novamente… etc. etc. etc… tem que ler, mas só mechendo mesmo pra aprender.