value1

Falha no Linux expõe usuários de Android

Falha no Linux expõe usuários de Android

Um grupo de pesquisadores encontrou uma falha no kernel do Linux, que deixa expostas as informações de mais de 1,4 bilhões pessoas. O bug afeta diretamente todas as versões do Android a partir da 4.4 (KitKat), incluindo até mesmo a versão mais nova do sistema, a 7.0 (Nougat). A brecha foi descrita como “severidade média” por ser difícil de explorar, mas perigosa para ataques direcionados. Continue reading "Falha no Linux expõe usuários de Android"

value1

Windows 10 no dia 29 de Julho,mas não para todos

windows10

Durante este processo de lançamento do Windows 10, a Microsoft nunca foi tão clara como hoje, na forma como ia ser disponibilizado o novo sistema operativo. As últimas declarações da empresa norte-americana indicaram que a data oficial para o lançamento do Windows 10 será no dia 29 de Julho. Contudo, nem todos os utilizadores irão receber a atualização ao mesmo tempo.

Declarações feitas na última quinta-feira pelo Vice-Presidente executivo de Sistemas Operativos, Terry Myerson, revelam as fases de lançamento. Como é possível imaginar, serão milhões de máquinas que irão receber a nova versão do Windows, é compreensível que a disponibilização seja feita por etapas.

Numa primeira fase, dia 29, serão os utilizadores com versão do Windows Insider os primeiros a receber o Windows 10. Isto já depois da versão final ter sido enviada para testes para os fabricantes.

Em seguida, a versão chegará a todos os utilizadores que tenham realizado a pré-reserva, e só depois os restantes utilizadores.

Desta forma, vamos ter um lançamento da versão em várias vagas de utilizadores, o que significa que nem todos poderão experimentar o tão aguardado Windows 10 dentro de 4 semanas.

value1

Quinze Exemplos Do Comando dig No Linux

linux2A nossa memória tem uma facilidade maior de memorizar nomes do que IP. É mais fácil memorizar o nome de domínio w3b.com.br do que o IP 65.254.41.45.

 

memoria-295x300

Ora, os computadores que temos em casa ou no trabalho, os dispositos de rede, como os switch e os routers, e os servidores comunicam entre si através de IP.

traceroute1-e1374483205384

Quando usamos um navegador / browser, um cliente de email ou um cliente de FTP, introduzimos nomes de domínios para acedermos remotamente ao respetivo servidor.

navegador1-300x91

O DNS (Sistema De Nome De Domínios) é um sistema de gestão dos nomes de domínios, com uma estrutura hierárquica, através do qual os navegadores / browsers, os clientes de email, os clientes de FTP, convertem esses nomes de domínios em IP.

Para sabermos como é que um nome de domínio está configurado no Sistema de Nome de Domínios (DNS), podemos usar o comando dig no Linux.

Mas, chega de contemplar a realidade. Vamos mergulhar nela mesmo, experimentando com exemplos práticos do dig.

mergulhar-300x199

Vamos começar pela forma mais simples do comando dig:


dig webmaster.pt

; <<>> DiG 9.7.0-P1 <<>> webmaster.pt
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61904
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;webmaster.pt.      IN  A

;; ANSWER SECTION:
webmaster.pt.    14358  IN  A  65.254.41.45

;; Query time: 18 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Fri Jul 19 10:08:24 2013
;; MSG SIZE  rcvd: 46

Podemos estruturar o output do comando dig em várias partes:

  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">versão do dig
  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">opções globais do comando
  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">cabeçalho
  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">pergunta, com cabeçalho
  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">resposta, com cabeçalho
  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">estatísticas

Podemos passar várias opções ao dig para eliminar parte da informação que consta do output do dig.

Se corrermos o dig com a opção +nocmd, eliminamos a linha sobre a versão do dig e a linha das opções globais:


dig +nocmd webmaster.pt
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39491
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;webmaster.pt.      IN  A

;; ANSWER SECTION:
webmaster.pt.    8670  IN  A  65.254.41.45

;; Query time: 17 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Jul 21 22:07:04 2013
;; MSG SIZE  rcvd: 46

Vamos agora correr o dig com a opção +nocomments


dig webmaster.pt +nocomments

; <<>> DiG 9.7.0-P1 <<>> webmaster.pt +nocomments
;; global options: +cmd
;webmaster.pt.      IN  A
webmaster.pt.    3051  IN  A  65.254.41.45
;; Query time: 18 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Fri Jul 19 10:10:55 2013
;; MSG SIZE  rcvd: 46

Eliminamos o cabeçalho inicial e os cabeçalhos de cada secção. Temos um output mais elegante, mas com menos informação.

Podemos adicionar a opção +nostats


dig webmaster.pt +nocomments +nostats

; <<>> DiG 9.7.0-P1 <<>> webmaster.pt +nocomments +nostats
;; global options: +cmd
;webmaster.pt.      IN  A
webmaster.pt.    14400  IN  A  65.254.41.45

O output fez uma dieta visível, dado que, para além dos comentários, não apresentou as estatísticas.

Podemos ainda eliminar todas as partes do output com a excepção da resposta, com as opções +noall +answer


dig +noall +answer webmaster.pt
webmaster.pt.    1933  IN  A  65.254.41.45

Mas, se quisermos um output minimalista, experimente a opção +short


dig webmaster.pt +short
65.254.41.45

Direto ao ponto! Existe um registo A do nome de domínio webmaster.pt que aponta para o IP 65.254.41.45. Poderiam existir vários registos A do mesmo nome de domínio a apontar para IP diferentes. Veja o exemplo do nome google.com:


dig google.com +short
173.194.45.3
173.194.45.4
173.194.45.5
173.194.45.6
173.194.45.7
173.194.45.8
173.194.45.9
173.194.45.14
173.194.45.0
173.194.45.1
173.194.45.2

dig registo MX

Para verificarmos qual o host name do servidor de email do nome de domínio webmaster.pt, passamos a opção MX ao comando dig:


dig MX webmaster.pt +noall +answer

; <<>> DiG 9.7.0-P1 <<>> MX webmaster.pt +noall +answer
;; global options: +cmd
webmaster.pt.    14400  IN  MX  0 webmaster.pt.

Ficamos a saber:

  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">Perguntamos sobre o nome webmaster.pt.
  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">O TTL (Time To Live) é 14400 segundos. Exatamente 4 horas.
  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">Perguntamos pelo tipo de registo MX.
  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">A prioridade é 0.
  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">O host name do servidor de mail é webmaster.pt.

Vamos tentar saber os host names dos servidores de mail do google.com:


dig google.com MX +noall +answer

; <<>> DiG 9.7.0-P1 <<>> google.com MX +noall +answer
;; global options: +cmd
google.com.    534  IN  MX  50 alt4.aspmx.l.google.com.
google.com.    534  IN  MX  10 aspmx.l.google.com.
google.com.    534  IN  MX  20 alt1.aspmx.l.google.com.
google.com.    534  IN  MX  30 alt2.aspmx.l.google.com.
google.com.    534  IN  MX  40 alt3.aspmx.l.google.com.

Caso haja uma falha, a ordem de prioridade é 10, 20, 30, 40 e 50. Se for necessário saber o IP dum destes host names, poderíamos executar o comando:


dig aspmx.l.google.com +short
173.194.78.27

dig registo NS

Os registos NS dum nome de domínio indicam os host names dos servidores que

  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">guardam os registos de DNS desse nome de domínio
  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">respondem a perguntas feitas sobre esses registos de DNS

Para conhecermos os registos NS dum domínio, podemos correr o comando:


dig webmaster.pt NS +noall +answer

; <<>> DiG 9.7.0-P1 <<>> webmaster.pt NS +noall +answer
;; global options: +cmd
webmaster.pt.    86400  IN  NS  ns1.dnsterra.com.
webmaster.pt.    86400  IN  NS  ns2.dnsterra.com.
  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">Perguntamos sobre o nome de domínio webmaster.pt.
  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">O TTL (Time To Live) é 86400 segundos. 24 horas.
  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">Perguntamos pelo registo NS.
  • http://www.webmaster.pt/wp-content/themes/comfy/styles/default/img/pngo.png);">Existem 2 nameservers, ou seja, 2 servidores de DNS a responder a qualquer query DNS sobre o nome de domínio webmaster.pt.

No caso do google.com, verificamos que o domínio está configurado em 4 servidores de DNS, que respondem a qualquer query DNS com a redundância respetiva.


dig google.com NS +short
ns2.google.com.
ns3.google.com.
ns4.google.com.
ns1.google.com.

O seu computador usa servidores de DNS para converter os domínios a que você tenta aceder no navegador / browser ou no cliente de email para IP. Normalmente, são os dns servers atribuídos pelo seu fornecedor de internet. Também é muito frequente a utilização de DNS servers gratuitos, como os do OpenDNS ou da Google.

DNS gratuitos do OpenDNS


208.67.222.222
208.67.220.220

DNS gratuitos da Google


8.8.8.8
8.8.4.4 

Por vezes, para verificar se o DNS dum domínio está bem configurado num dos servidores de DNS desse domínio ou porque existe um cache de DNS e queremos conferir uma alteração dum registo de DNS sem interferências do cache, podemos perguntar diretamente a um dos servidor de DNS do domínio sobre os registo de DNS configurados nesse servidor.

Como vimos anteriormente, o google.com está configurado em 4 servidores de DNS. Vamos fazer uma query a um deles:


dig @ns1.google.com google.com MX +short
40 alt3.aspmx.l.google.com.
10 aspmx.l.google.com.
30 alt2.aspmx.l.google.com.
20 alt1.aspmx.l.google.com.
50 alt4.aspmx.l.google.com.

dig Reverse DNS Lookup

Se quiser fazer um reverse DNS lookup a um IP, para saber qual o respetivo host name, podemos usar o dig com a opção -x

Já conhecemos o registo MX do webmaster.pt. Aponta para o IP 65.254.41.45. Vamos fazer um reverse DNS lookup a esse IP:


dig -x 65.254.41.45 +short
webmaster.pt.

Poderíamos também usar o comando host:


host 65.254.41.45
45.41.254.65.in-addr.arpa domain name pointer webmaster.pt.

dig registo CNAME

O DNS converte nomes de domínios, fáceis de memorizar, em IP, que são os endereços que as máquinas usam para comunicar umas com as outras. Por vezes, temos nomes de domínios que são pseudônimos dum nome de domínio. Isso significa que o registo A deste último nome de domínio também se aplica aos nomes de domínios que são pseudônimos. É mais comum usar a expressão aliases em vez de pseudônimos.

Em vez de criarmos múltiplos registos A para todos estes nomes de domínios, criamos um registo CNAME para todos os pseudônimos e apontamos este registo para o nome de domínio cujo registo A é aplicável.

cname clone-300x199

O nome de domínio webmaster.pt aponta para o IP 65.254.41.45

Os pseudônimos www.webmaster.pt, mail.webmaster.pt, ftp.webmaster.pt também apontam para o mesmo IP. Em vez de criamos registos A para estes subdomínios, criamos registos CNAME que apontam o webmaster.pt.


dig www.webmaster.pt +noall +answer

; <<>> DiG 9.7.0-P1 <<>> www.webmaster.pt +noall +answer
;; global options: +cmd
www.webmaster.pt.  10691  IN  CNAME  webmaster.pt.
webmaster.pt.    9191  IN  A  65.254.41.45

dig mail.webmaster.pt +noall +answer

; <<>> DiG 9.7.0-P1 <<>> mail.webmaster.pt +noall +answer
;; global options: +cmd
mail.webmaster.pt.  14400  IN  CNAME  webmaster.pt.
webmaster.pt.    9890  IN  A  65.254.41.45

dig ftp.webmaster.pt +noall +answer

; <<>> DiG 9.7.0-P1 <<>> ftp.webmaster.pt +noall +answer
;; global options: +cmd
ftp.webmaster.pt.  14400  IN  A  65.254.41.45

Qual a vantagem de usar CNAME? Se a logica do DNS é converter um nome de domínio num IP, a utilização de CNAME não torna a pergunta a um servidor de DNS mais lenta? É necessário fazer 2 perguntas em vez duma só. Qual o host name deste nome de domínio? Qual o IP deste host name?

Vamos imaginar que um domínio tem centenas de subdomínios. E há uma alteração de IP. A vantagem é que, no caso duma alteração de IP, apenas precisamos de mudar 1 único IP na zona de DNS do domínio. E, se a cada domínio correspondesse um registo A em vez dum registo CNAME, seria necessário alterar esse mesmo IP centenas de vezes.

Não é possível fazer a alteração do IP em todos esses registos A através dum script, sem que seja necessário alterar cada instância do mesmo IP? Sim. Mas, se considerarmos as ferramentas atualmente existentes, que permitem a alteração de registos na zona de DNS e que são user friendly, a utilização de registos CNAME pode poupar muito tempo no caso da alteração dum IP.

dig TXT record

Para prevenir o email spoofing, muito usado pelos spammers, um nome de domínio pode publicar os hosts que estão autorizados a enviar emails, através dum registo SPF (Sender Policy Framework) no DNS desse nome de domínio.

email spoofing

Assim, quando um servidor de mail recebe um email proveniente dum determinado nome de domínio, pode conferir se o host que enviou esse email está autorizado no registo SPF desse domínio. Caso não esteja, pode rejeitar o email.

Para verificar se um domínio publicou um registo SPF (Sender Policy Framework), podemos perguntar pelos registos TXT:


dig txt webmaster.pt +short
"v=spf1 +a +mx +ip4:65.254.41.45 ?all"

O nome de domínio webmaster.pt autoriza o host 65.254.41.45 a enviar emails.

Dicas Para Usar O Comando dig

Se quiser obter uma resposta abreviada sempre, sem ter que adicionar as opções +noall +answer ao dig, você pode na pasta $HOME/.digrc adicionar a linha

+noall +answer

Experimente:


cd $HOME
touch .digrc
echo "+noall +answer" >> .digrc

E agora teste o comando dig:


dig webmaster.pt
webmaster.pt.    7625  IN  A  65.254.41.45

 fonte:http://www.webmaster.pt

value1

Cenário do Linux em 7 gráficos mostra economia forte e empregos

linux-penguinPesquisas recentes conduzidas pela Linux Foundation revelam um vibrante ecossistema de desenvolvimento e uma boa oferta de empregos para profissionais com habilidades em Linux, como mostrado nos gráficos abaixo.

 

À medida em que mais hardware é suportado e novos recursos são adicionados, o kernel Linux continua a crescer. Contando o "pacote" completo com o código-fonte do sistema, que inclui uma pequena quantidade de scripts de compilação e documentação, o kernel é atualmente composto por mais de 15 milhões de linhas de código. Para ter uma idéia, a primeira versão do sistema (0.01) lançada em setembro de 1991 tinha 10.239 linhas de código.

Mais de 80 empresas contribuíram mudanças ao kernel desde a versão 2.6.11. O gráfico abaixo mostra os 30 patrocinadores que mais contribuíram com o desenvolvimento. "None" representa desenvolvedores que trabalham no kernel por conta própria, sem receber compensação de nenhuma empresa.

Desde a versão 2.6.36 do kernel tem havido uma mudança no que diz respeito à atividade dos patrocinadores. O gráfico abaixo mostra ou aumento ou redução efetiva na atividade dos 20 principais colaboradores no desenvolvimento do kernel Linux. A Samsung e a Texas Instruments, por exemplo, aumentaram a percentagem de "commits" (contribuições de código ao repositório principal) patrocinados em 1.83 e 1.73 vezes, respectivamente. Estes, e outros patrocinadores que aumentaram suas atividades desde o kernel 2.3.6, destacam a presença cada vez maior do Linux em empresas relacionadas à mobilidade e sistemas embarcados. De acordo com a Linux Foundation estas empresas não estão apenas adicionando suporte a hardware ao kernel, mas também avançando o desenvolvimento de áreas essenciais como o scheduler, responsável pela distribuição e gerenciamento das tarefas em execução no sistema, e o gerenciamento de memória.

Nos últimos dois anos,cerca de 76% dos usuários corporativos consultados pela Linux Foundation utilizaram o Linux na implantação de novas aplicações, serviços e infraestrutura. Destas, 40% foram migrações para o Linux às custas do Windows.

As corporações cada vez mais vêem o Linux como um componente fundamental em seus sistemas de missão crítica. Dos 73% que usam o Linux em tarefas de missão crítica, 77% usam o Linux para a implementação, e 72% para o desenvolvimento, de aplicações.

Gerentes que procuram funcionários com experiência em Linux tem enfrentado um desafio, em parte devido à maior demanda por este tipo de profissional. 90% dos gerentes consultados pela Linux Foundation planejam contratar profissionais de TI com experiência em Linux nos próximos seis meses, com salários 9% acima da média do mercado.

Entre os gerentes que pretendem contratar profissionais com experiência em Linux nos próximos seis meses, os administradores de sistema são o primeiro item na lista de prioridades. Desenvolvedores e profissionais de DevOps também estão em demanda. A pesquisa apontou que 73% dos que participaram procuram profissionais com três a cinco anos de experiência em Linux, seguidos por aqueles com seis a nove anos de experiênca no currículo.

value1

Quatro dicas para jovens entrarem no mundo Linux

linuxCom o avanço de Big Data e novas tecnologias que rodam em ambiente de código aberto, aumentam as oportunidades no mercado de trabalho para profissionais especializados em software livre. O diretor executivo da Linux Foundation, Jim Zemlin, afirma que há uma grande demanda por talentos com habilidades em open source e tenta encorajar universitários que querem seguir carreira nessa área.

 

Mas como começar? Durante palestra na última conferência TEDx, realizada nos Estados Unidos, Zemlin disse que indústria e o criador do Linux, Linus Torvalds, têm aprendido muitas lições com essa tecnologia. Ele acha que esse aprendizado pode ser aplicado pelos jovens talentos que estão começando a carreira em Linux. 

Para os futuros profissionais em Linux, Zemlin dá quatro dicas. Veja a seguir quais são:

1- "Não sonhe grande '

"Em minha apresentação na TEDx eu compartilho a história de como Linus começou em Linux", disse Zemlin. "Ele não tinha grandes sonhos, apenas um desejo sincero de criar, aprender e compartilhar. Isso é tudo que você precisa. Olhe hoje para a criação de Linus. Ninguém poderia imaginar que seria tão grande."

2-  Invista tempo em um projeto 

Segundo Zemlin, muitas pessoas estão fazendo dinheiro distribuindo software de código aberto. Ele destaca que muitas empresas estão no negócio de Linux e open source. Sua sugestão aos jovens que estão saindo da universidade é que eles dediquem tempo a um projeto open source, construam currículo e sua reputação nesse mundo. 

"Seu código é o seu currículo. Se você fizer isso bem, não há nenhuma dúvida de que a empresa vai lhe pagar muito bem", acredita.

Aos que não sabem por onde começar, Zemlin recomenda que procurem um desenvolvedor mentor do kernel Linux, por exemplo, ou uma oportunidade de treinamento em Linux.

3- Tenha um plano 

O desejo de criar, aprender e compartilhar, mencionado na dica 1 abrirá portas para jovens na comunidade. Zemlim afirma que se o joven tiver o plano de criar nessa área e tornar essa ideia uma prioridade, será notado muito rapidamente.

4 - Procure ser o melhor 

"Ninguém gosta de um idiota (...),  esse ponto é sério", disse Zemlin. Ele destaca que os jovens devem colaborar, participar de debates e defenderen seu pontos de vistas. Sua ideia pode ser vencedora, como há testemunhos na comunidade Linux. Como diz o fundador do Facebook, Mark Zuckerberg: a melhor ideia e implementação devem sempre vencer. "Não tenha medo de provar que a sua ideia é a melhor", finaliza o diretor da Linux Foundation.

Swap: Como criar uma

Muitas vezes nos deparamos com falta de memória e inclusive de swap.

Esse artigo descreve como criar sua partição swap, seja com uma partição de sua HD, com um pendrive USB ou mesmo criando um arquivo de swap (o chamado swapfile).

 

  1. Primeiro, entre como root no seu sistema. No Debian, digite “su”. No Ubuntu, “sudo su”.
  2. Os comandos abaixo criam uma swap para cada caso:
    1. Para criar um arquivo swap (swapfile):
      dd if=/dev/zero of=/swapfile1 bs=1024 count=524288 mkswap /swapfile1

      Dicas: O arquivo será criado em “/”. Para alterar, basta trocar o endereço absoluto depois de “of=”; O comando acima está criando um arquivo de 512MB (1024*512=524288), portanto você pode alterar esse valor; Os outros valores não devem ser alterados.

    2. Para tornar uma partição qualquer (HD, pendrive etc) em uma partição para swap:
      mkswap /dev/sdc

      Dica: Esse comando formata a partição informada para o formato swap, portanto basta alterar o endereço da unidade que você quiser.

  3. Agora que temos criado um local para a swap, devemos torná-la disponível ao sistema; Para isso usamos esse comando:
    1. No caso do swapfile:
      swapon /swapfile1
    2. No caso da partição swap:
      swapon /dev/sdc
  4. Pronto, o sistema está agora com mais swap disponível. Para ver quanto de memória swap existe no sistema e quanto está livre ou usada, use o seguinte comando para ver na unidade de megabytes:
    free -m
  5. Importante: Os passos acima tornam a swap extra disponível ao sistema, mas quando ele for reiniciado, essa swap não será carregada automaticamente. Para que isso ocorra, execute os seguintes passos:
    1. nano /etc/fstab
      1. No caso do swapfile, adicione a seguinte linha:
        /swapfile1    swap    swap   defaults 0 0
      2. No caso da partição swap, adicione a seguinte linha:
        /dev/sdc    swap    swap   defaults 0 0
  6. Pronto, agora o sistema carregará automaticamente sua nova swap.
    Eu usei um swapfile com o nome de “swapfile1″ e no caso de partição, supus que ela estava em “/dev/sdc”. Foram apenas exemplos, você deverá alterar corretamente esses nomes ou endereços.

Yum: resolvendo problemas

Descreverei aqui alguns problemas comuns que ocorrem no pacote YUM, quando você tenta usá-lo, e como resolvê-los.

 

  • Sempre tente, antes de qualquer outro comando, essa linha:
    yum clean all

    Se não resolver, siga em diante.

  • Algumas vezes ocorre de algum pacote ter tido a instalação interrompida por algum evento, seja ele do servidor ou não. Para resolver, use o seguinte comando:
    yum complete-transaction
  • Se o seu Yum simplesmente parou de funcionar, está dando timeout ou dá erro no uso do plugin “fastestmirror”, use os seguintes comandos:
    rm -f /var/lib/rpm/__db*; rpm -vv --rebuilddb;

Compilando o Kernel 2.6.x

Irei apresentar a receita de bolo como compilar o seu kernel passo-a-passo.

Muitas pessoas acham Linux complicado e muito menos pensariam em compilar o seu próprio Kernel, mas eu mostrarei o quanto isso é simples e não necessita de um vasto conhecimento na área.

 

Esse artigo foi testado no Debian unstable (sid), mas deverá funcionar em qualquer distribuição baseada no Debian (Debian like, Ubuntu like etc).

A idéia é a mesma em distros não baseadas no Debian, mas comandos ou diretórios podem ser diferentes.

Não se assuste com o tamanho desse artigo. A idéia foi explicar todos os ítens para quem é leigo no mundo Linux, mas o essencial se resume em menos de dez linhas.

Siga cada ítem, na ordem numérica, e compile o seu próprio Kernel, mesmo que você mal tenha mexido com o Linux.

  1. Toda a compilação não precisa ser feita como root (modo administrador), mas a instalação do Kernel no sistema sim. Portanto recomendo fazer tudo como root para evitar problemas. Alguns comandos anteriores à compilação precisarão do modo root.Para entrar no modo root do Debian, digite no terminal:
    su

    Para entrar no modo root do Ubuntu, digite no terminal:

    sudo su

    Ambos os comandos pedirão uma senha. É a senha do root da máquina (o Debian, quando instalado, cria uma conta root e uma conta de usuário; Já o Ubuntu, durante a sua instalação, cria apenas uma conta; A senha do root será a mesma fornecida durante a instalação do Ubuntu).

  2. Escolha o Kernel que você quer baixar no site Kernel.org ou onde você quiser. O importante é ter em mãos o link para download do kernel a ser compilado. Usarei, como exemplo, o seguinte Kernel: http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.34.tar.bz2
  3. Com o link de download em mãos, abra o terminal e digite:
    cd /tmp wget http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.34.tar.bz2
  4. Após o download ter completado, vamos extrair os arquivos com o seguinte comando:
    tar xjvf linux-2.6.34.tar.bz2 -C /usr/src/ cd /usr/src/linux-x

    Substitua “x” pelo nome do arquivo extraído. No meu exemplo ficou:

    cd /usr/src/linux-linux-2.6.34
  5. Embora a maioria das distros venha com o GCC, programa utilizado para compilar arquivos da linguagem C, como os fontes do Kernel, tenha certeza de que ele está instalado e atualizado com os seguintes comandos:
    apt-get update apt-get install gcc build-essential
  6. Você deve criar o arquivo de configuração (.conf) para o Kernel ser compilado.Para criar esse menu, basta escolher uma das opções abaixo.

    Dicas: Leia antes o comentário de cada opção; Escolha apenas uma opção.

    • make localmodconfig

      Desabilita os módulos não utilizados pelo seu sistema atual. Ele fará pouquíssimas perguntas. Opção recomendada para novatos em Linux.

    • make allyesconfig

      Resposta sim para todas as perguntas. Substituir o “yes” por “no” faz o contrário.

    • make config

      Faz perguntas no terminal sobre alguns módulos, drivers etc. Serão feitas dezenas de perguntas.

    • make menuconfig

      (menu* no terminal) Recomendado para quando as opções acima dão problema. Apenas abra o menu, salve o arquivo de configuração e saia. Se você quiser, você pode adicionar o remover os módulos la listados, desde que você saiba o que está fazendo.

      Dica: Você pode copiar o seu “config” atual que está em “/boot/config*”, para o diretório do Makefile com o seguinte nome: “.conf”; Você poderá carregá-lo através desse menu.

    • make xconfig

      (menu* modo janela baseado em X Windows QT, ideal para quem usa KDE)

    • make gconfig

      (menu* modo janela baseado em X Windows GTK, ideal para quem usa GNOME)

       

      *Importante: Para que o menu funcione, será necessário instalar a biblioteca ncurses:

      apt-get install libncurses5 libncurses5-dev
  7. Agora iremos compilar o Kernel. Observe que atualmente estamos no diretório onde estão os arquivos fonte do Kernel (no meu exemplo, /usr/src/linux-2.6.34/).Os comandos são simples:
    make make modules
  8. Estamos quase terminando. Agora iremos instalar o Kernel e os módulos compilados com os comandos abaixo:
    make modules_install make install
  9. Agora temos que criar o “initrd” para o Kernel instalado. Você não precisa saber, mas o “initrd” significa “Initial RAM disk”, ele contém uma pequena imagem do sistema que será carregada no boot.
    cd /boot/ mkinitramfs -o initrd-x.img /lib/modules/x/

    Substitua o “x” pela versão do seu kernel. Seguindo o nosso exemplo, o comando seria:

    mkinitramfs -o initrd.img-2.6.34 /lib/modules/2.6.34/
  10. Por fim, basta configurar no seu gerenciador de boot o novo Kernel com o novo “initrd”.Como root, digite o seguinte comando:
    update-grub

    Ele localizará o novo Kernel e instalará para você.

Pronto, você viu como adicionar ou remover módulos do Kernel (menus), compilar o kernel e os seus módulos e, por fim, instalá-lo no sistema e no gerenciador de boot.

Detalhei várias partes do artigo para não deixar dúvidas, mas, como avisei antes, esse artigo pode assustar pelo tamanho dele, contudo a compilação e instalação do Kernel é super simples e pode ser resumida em pouquíssimas linhas.

Em um artigo posterior irei falar sobre como adicionar ou remover módulos e patches de terceiros no Kernel.

value1

Irssi, um cliente IRC para terminal

ubuntuTodos sabemos que o terminal do Linux é um sistema poderoso e que podemos fazer praticamente tudo nele.

Nesse artigo falarei sobre o IRSSI, um excelente aplicativo que roda no terminal e acessa qualquer rede IRC.

 

Para instalá-lo no Ubuntu, é simples:

sudo apt-get install irssi

Para executá-lo, abra um terminal e digite:

irssi

O programa será aberto dentro do terminal. A partir desse momento, você poderá usar os mesmos comandos usados em qualquer cliente IRC.

Por exemplo:

  • /server irc.freenode.net 6667
    Conecta no servidor da freenode
  • /join #brasil
    Entra na sala brasil
  • /msg nickserv identify meunickname minhasenha
    Efetua login no seu nickname

Existem alguns atalhos interessantes no Irssi que podem ser utilizados:

  • ctrl + n
    Vai para a próxima tela (você pode ter vários canais e privative messages)
  • /win c (ou /window close)
    Fecha a janela atual
  • /layout save
    Salva a configuração das janelas e restaura-as no próximo login
  • /c (ou /clear)
    Limpa a janela atual
  • /c -all (ou /clear -all)
    Limpa toda as janelas
  • /wi nickname (ou /whois nickname)
    Mostra informações de um nickname

Por fim, três comandos legais para fazer o IRSSI se auto-conectar a um servidor, a um canal e fazer auto-login do seu nickname.

Importante: Cada configuração exige que seja configurado um Perfil, por exemplo: Quando você instalar um auto-join de canal e quiser que sempre que um servidor X for aberto ele seja executado, você deverá associar esse auto-join a esse servidor. Você verá abaixo que isso é super simples.

O Irssi já vem com diversos servidores pré-configurados, mas vou partir do princípio que você quer adicionar um novo, assim já aproveito para ensinar um comando extra. Você pode digitar os comandos abaixo em qualquer uma das telas do seu Irssi.

  • Adicionando um servidor para abrir automaticamente:
    /server add -auto -network freenode irc.freenode.net 6667
    Lembra que eu disse sobre um perfil para cada servidor? Pois bem, dei o nome “freenode” para o servidor acima (logo após a opção “-network”).
  • Identificando o seu nickname automaticamente após abrir o servidor cujo perfil chama-se “freenode”:
    /network add -autosendcmd “/^nick MEUNICK; /^msg nickserv identify MINHASENHA;wait 2000″ freenode
    Observe que no final do comando, coloquei o nome do perfil que ele será associado. Isso faz com que sempre quando o servidor cujo perfil tem nome “freenode” for aberto, esse comando também seja executado.
  • Adicionando auto-join aos canais:
    /channel add -auto #meucanal freenode
    Esse comando será executado sempre que o servidor cujo perfil tem nome “freenode” é aberto.
    Caso o canal possua uma senha para acesse, use a seguinte sintaxe:
    /channel add -auto #meucanal freenode senhadocanal
value1

Flash em Ubuntu 64 bits

ubuntuO processo para se ter um flash estável em máquinas 64 bits é mais simples do que se imagina, principalmente em máquinas com Ubuntu 9.10 ou superior.

 

Para ter certeza de que nenhuma versão do flash está instalada, execute o seguinte comando:

sudo apt-get purge flashplugin-nonfree flashplugin-installer gnash gnash-common mozilla-plugin-gnash swfdec-mozilla

Dica: A primeira linha desse artigo, a de cima, deve ser executada para ambos os casos abaixo citados.

Para Ubuntu 9.10 ou superior, iremos instalar o repositório e o flash com essas linhas:

sudo add-apt-repository ppa:sevenmachines/flash sudo apt-get update sudo apt-get install flashplugin64-installer

Em sistemas anteriores ao Ubuntu 9.10 (9.04, 8.10 etc) será necessário utilizar um pacote que é um pouco antigo. Agora execute:

sudo wget http://www.medibuntu.org/sources.list.d/`lsb_release -cs`.list \--output-document=/etc/apt/sources.list.d/medibuntu.list sudo apt-get -q update sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring sudo apt-get install flashplugin-nonfree

Muitas pessoas se assustam com essas linhas de comandos e acham que Linux é difícil. Tudo o que eu apresento em linha de comando está na “central de software do Ubuntu” (Ubuntu Software Center). Tudo disponível graficamente. A idéia de usar linha de comandos é não depender de janelas ou aplicativos e ir direto a solução via terminal. Você não precisa entender o que está ocorrendo, apenas copiar e colar em seu terminal.