No Google I/O uma das sessões foi bem curiosa: Voiding Your Warranty: Hacking Glass (Acabando com a garantia: Hackeando o Glass).

O Google Glass roda Android, e com algumas ferramentas pode ser alterado de forma parecida com boa parte dos dispositivos Android existentes, sejam tablets ou smartphones. Na sessão o aparelho passou a rodar o Ubuntu.

Basicamente as etapas consistem em colocar alguns APKs no aparelho (Launcher, Settings e Notepad) usando adb; parear um teclado e trackpad Bluetooth; destravar o bootloader com o fastboot e substituir a imagem do sistema para obter acesso de root.

Com acesso de root o Glass fica bem aberto, sendo possível, entre outras coisas, rodar distros Linux. No caso do Ubuntu foi necessário baixar o Terminal Emulator e o Complete Linux Installer (aliás, fica a dica de app para usuários de outros aparelhos rooteados). Com a distro Linux no sistema dá para ativar o SSH ou VNC para acessar a interface e mandar ver nas brincadeiras.

A utilidade de instalar uma distro (ainda que no Android) no Glass é bastante questionável, mas não deixa de ser interessante ver até onde vão os pequenos óculos inteligentes do Google.

Foi realizado aos Sábados no mês Abril e início de Maio no Centro Universitário La Salle o curso de GNU/Linux Básico. O curso teve como o objeto de ensinar, compreender e empregar conceitos relativos à administração e manutenção de desktops GNU/Linux.

Linux Nível Iniciante: Neste módulo o aluno verá conceitos para administrar e manter desktops GNU/Linux.

 

 

*LPI – 101

Introdução – História do Linux
Tópico 101 – Arquitetura de Sistema
Tópico 102 – Instalação do Linux e Administração de Pacotes
Tópico 103 – Comandos GNU e Unix
Tópico 104 – Dispositivos, sistemas de arquivos Linux e padrão FHS ( FileSystem Hierarchy Standard )

*LPI – 102

Tópico 105 – Shells, scripts e administração de dados
Tópico 106 – Interface de usuário e desktop
Tópico 107 – Tarefas administrativas
Tópico 108 – Serviços essenciais do sistema
Tópico 109 – Fundamentos de Rede
Tópico 110 – Segurança

Ministrantes:

Daniel Soares de Oliveira
André Kroetz Berger


/*
 * Exemplo de uso de mutexes robustos
 * No exemplo no_robust saímos da thread sem liberarmos o lock que efetuamos no mutex.
 * Resultado a outra thread, fica sempre "trancada" no mutex. Provocando um deadlock.
 *
 * No segundo caso, setamos nosso mutex com a propriedade de ser "robusto". Ou seja, se uma thread
 * acabar - por um sigsegv por exemplo - vamos conseguir "destravar" nosso mutex
 * e podemos continuar o que estamos fazendo.
 *
 * Para compilar: gcc main.c -pthread
 * Para executar: ./a.out
 */
#define __USE_GNU
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <error.h>

pthread_mutex_t mutex;
pthread_mutexattr_t attr;
int counter = 0;

void mythread_no_robust(void){
 int i;
 for (i=0; i < 10000; i++){
 pthread_mutex_lock(&mutex);
 counter ++;
 if(counter > 200)
 pthread_exit(NULL);
 pthread_mutex_unlock(&mutex);
 }
 pthread_exit(NULL);
}

void mythread_robust(void){
 int i, ret;
 for (i=0; i < 10000; i++){
 ret = pthread_mutex_lock(&mutex);
 switch(ret){
 case 130:
 pthread_mutex_consistent(&mutex);
 break;
 case 131:
 pthread_mutex_destroy(&mutex);
 pthread_mutexattr_setrobust_np (&attr, PTHREAD_MUTEX_ROBUST_NP);
 pthread_mutex_init (&mutex, &attr);
 break;

default:// printf("\n\tValue of ret: %d", ret);
 break;
 }
 counter ++;
 if(counter > 200)
 pthread_exit(NULL);
 pthread_mutex_unlock(&mutex);
 }
 pthread_exit(NULL);
}
int main_no_robust(void){
 pthread_t t1,t2;
 pthread_create(&t1, NULL, (void *)&mythread_no_robust, NULL);
 pthread_create(&t2, NULL, (void *)&mythread_no_robust, NULL);
 pthread_join(t1, NULL);
 pthread_join(t2, NULL);
 printf("\n\tValue of Counter: %d\n", counter);
 return 1;
}

int main_robust(void){
 pthread_mutexattr_init (&attr);
 pthread_mutexattr_setrobust_np (&attr, PTHREAD_MUTEX_ROBUST_NP);
 pthread_mutex_init (&mutex, &attr);
 pthread_t t1,t2;
 pthread_create(&t1, NULL, (void *)&mythread_robust, NULL);
 pthread_create(&t2, NULL, (void *)&mythread_robust, NULL);
 pthread_join(t1, NULL);
 pthread_join(t2, NULL);
 printf("\n\tValue of Counter: %d\n", counter);
 return 1;
}

int main(){

int opt = 0;
 printf("\n\t0 - No robust\n\t1 - Robust\n\tOpt:\t");
 scanf("%d", &opt);
 switch(opt){
 case 0: main_no_robust(); break;
 case 1: main_robust(); break;
 }

return 1;
}

Migração foi realizada em busca de um sistema mais estável e confiável

Embora o Linux já fosse utilizado pela ISS (International Space Station) há bastante tempo, a migração dos computadores portáteis dos astronautas, de Windows para Debian, é uma mudança de paradigma bastante relevante. Estima-se que, atualmente, mais de 95% dos supercomputadores do mundo utilizem Linux, mas uma migração em desktops é sempre uma notícia animadora, uma vez que este é um campo ainda sob domínio do Windows.

Além disso, o Linux será o sistema por trás do robô Robonaut (R2) – foto abaixo:

 

 

O Robonaut, que parece um projeto de ficção científica, será o primeiro robô humanóide no espaço, responsabilizando-se por tarefas perigosas e tediosas para os austronautas. O Linux destaca-se pela sua flexibilidade, “de supercomputadores, passando por desktops, ou mesmo robôs, a NASA está descobrindo que o Linux é a resposta”.

Confira outras  5 utilizações extremamente interessantes do Linux:

  1. Acelerador de partículas CERN
  2. Celulares e Tablets Android
  3. Servidores do Google e do Facebook
  4. Trens de alta velocidade japoneses
  5. Bolsa de Valores de Nova York

 

Fontes: 
http://www.zdnet.com/to-the-space-station-and-beyond-with-linux-7000014958/
http://noticias.terra.com.br/ciencia/espaco/nasa-aborta-a-missao-windows-astronautas-usarao-o-linux,f389ad53cf98e310VgnVCM20000099cceb0aRCRD.html

Uma versão mais funcional do Ubuntu para telefones deve ser publicada ainda no final de maio. Os desenvolvedores da Canonical querem que até lá as compilações do Ubuntu Touch tenham a maioria das atividades de um telefone funcionando, incluindo capacidades como:

  • Fazer e receber chamadas
  • Enviar e receber SMS
  • Navegar na web por Wi-Fi e 3G
  • Alternar entre as redes Wi-Fi e 3G
  • Apagar a tela ao aproximar o telefone do rosto
  • Importação, adição e edição de contatos

Manter no aparelho os dados do usuário durante as atualizações, mesmo as feitas por meio do phablet-flash num PC
Características secundárias ficam para depois, como suporte a câmeras e instalação de apps. De qualquer forma o sistema ainda está sendo desenvolvido, naturalmente a versão “mais funcional” a ser lançada em algumas semanas ainda estará longe de ser a final.

Os desenvolvedores vão além e querem usar aparelhos com o sistema para eles mesmos, o que ficará viável assim que tais recursos forem implementados. Nos previews divulgados até agora ainda falta muita coisa e diversos apps nativos não existem, sendo meras telas estáticas apenas para mostrar como ficarão os programas.

Além de parceiros de hardware ainda não anunciados o Ubuntu poderá rodar em diversos aparelhos populares com Android, com apoio do pessoal da Canonical e da comunidade de entusiastas do projeto. Um pouco sobre como é o sistema pode ser visto na notícia do anúncio, em janeiro. A mesma base servirá para telefones e tablets, adaptando a interface a cada caso. Parte do código será compartilhado com o Ubuntu nos desktops também, mantendo o mesmo Unity.

Nos telefones e tablets há uma proposta de um novo formato de pacote para os aplicativos, o que deverá facilitar a distribuição, atualização e melhorar a segurança. Os apps feitos com o Ubuntu SDK serão empacotados num arquivo único, de forma muito parecida com o que ocorre nas outras plataformas. Os pacotes DEB tradicionais dos programas desktop e ferramentas do sistema não sofrerão alteração.

 

A Canonical está trabalhando num formato de pacotes próprios para instalação nos tablets e smartphones com Ubuntu. A princípio pode dar a entender que a empresa quer trocar o modelo atual (os pacotes .deb), mas não é isso.

A proposta visa facilitar a instalação de aplicativos exclusivos do Ubuntu, especialmente os voltados a tablets e smartphones, feitos com o Ubuntu SDK. Diferente dos pacotes atuais, com maior demora na instalação e suas dependências (que geram grandes problemas, às vezes), os pacotes para Ubuntu serão mais práticos para os usuários.

No anúncio recente Colin Watson destaca os pontos desejados para o novo sistema. Os pacotes ficariam mais próximos do que encontramos no mundo dos smartphones e tablets atuais, sejam iOS, Android ou Windows. Cada app incluiria no pacote todo o material necessário, sem depender de pacotes externos. As únicas dependências permitidas deveriam estar presentes no sistema base, evitando fragmentação e problemas na instalação – bem diferente do problemático mundo do desktop, citando como exemplo a falha na instalação do Chrome no Ubuntu 13.04. Em contrapartida os apps que dependem de arquivos ou bibliotecas extras precisariam inclu-los, ficando assim com instaladores maiores.

Esses pacotes poderiam ser instalados sem depender de permissões de root. Cada aplicativo seria desempacotado num diretório próprio, sem misturar seus arquivos com os demais. Além da segurança isso facilitaria o processo de limpeza e desinstalação.

O processo de instalação seria mais rápido e eficiente (por meio de uma loja de apps), já que dispensa a verificação e download de dependências. Por exemplo, o tempo de instalação de um pacote simples é cerca de 0,15 segundos num laptop x86 comum e apenas 0,6s num Nexus 7. Isso considerando a implementação atual, em Python. No futuro o sistema de gerenciamento poderia ser escrito em C, ficando ainda mais rápido.

Resumindo, o Ubuntu não pretende substituir o sistema de pacotes do Debian (pelo menos não agora). Eles querem apenas um modelo mais prático para distribuição de apps mobile, aplicando uma ideia já usada em outras plataformas.

Foi lançado o Cinnamon 1.8. O ambiente que surgiu como um fork do GNOME Shell em 2011 veio ganhando cada vez mais atenção e tem seu lugar garantido no Mint, sua distro de origem.

Essa versão levou 7 meses de trabalho e conta com 1075 commits (alterações e correções no código).

Alguns dos recursos:

  • Alterações no gerenciador de arquivos Nemo, agora mais integrado ao Cinnamon. A barra lateral pode ser oculta facilmente, além de trazer opções para alternar entre os locais e visualização em árvore. Uma pequena barra indica a quantidade de espaço usado.
  • Agora o Cinnamon conta com um protetor de tela próprio. Ele permite deixar uma mensagem personalizada na tela de bloqueio.
  • Um trabalho interessante foi feito para deixar todas as opções de configuração acessíveis pelo Cinnamon Settings. Não é mais necessário usar o Gnome Control Center.
  • Essa versão introduz os “Desklets”, espécies de widgets no desktop (lembram os Plasmoids do KDE, Widgets do Android ou os Gadgets do Windows Vista). Há três desklets por padrão no Cinnamon 1.8: um lançador, relógio e visualizador de imagens. Novos miniaplicativos deverão ser lançados pela comunidade em breve.
  • Agora há um gerenciador dos “spices”, os extras do Cinnamon (applets, desklets, temas e extensões). É possível ativar ou desativar recursos extras no ambiente por uma interface própria, sem precisar entrar no site.
  • Há ainda vários aprimoramentos técnicos. Um potencial problema se dá com a falta do modo fallback, já que ele não usa mais o gnome-session para tal. No Cinnamon 1.8 as sessões sempre tentarão rodar o Cinnamon completo, o que pode torná-lo incompatível (ou instável) em algumas configurações de PCs. Em casos de crash um gerenciador tentará reiniciar o ambiente com o Metacity. O uso do gnome-session impedia a tentativa automática de reinicialização do Cinnamon.

 

O phpMyAdmin é uma ferramenta com código aberto criada em PHP que permite a administração do MySQL via Web.

Com ele é possível criar bases de dados, criar e alterar tabelas, apagar, adicionar e editar campos, executar qualquer argumento do SQL e mais.

Além disso, o phpMyAdmin permite a exportação de dados para os formatos CSV, XML, PDF e muitos outros.

A versão 4.0.0 traz correções para múltiplos bugs, novo painel de navegação, novo visual e índice para a documentação. Além disso, esta versão agora requer JavaScript.
Como obter o phpMyAdmin v4.0.0

A versão 4.0.0 está disponível para download em inglês e outros idiomas aqui. Mais informações podem ser encontradas em seu site oficial, incluindo documentação técnica e tutoriais de terceiros.

Após muitos meses de constante desenvolvimento, o projeto Debian tem o prazer de apresentar sua nova versão estável 7.0 (codinome “Wheezy”).

Esta nova versão do Debian inclui vários recursos interessantes tais como suporte à multiarquitetura, várias ferramentas específicas para implantar nuvens privadas, um instalador melhorado, e um conjunto completo de codecs de multimídia e front-ends que eliminam a necessidade de repositórios de terceiros.

O suporte à multiarquitetura, um dos principais objetivos de lançamento do “Wheezy”, permitirá aos usuários do Debian instalarem pacotes de múltiplas arquiteturas na mesma máquina. Isso significa que você agora pode, pela primeira vez, instalar tanto programas de 32 quanto 64 bits na mesma máquina e ter todas as dependências relevantes corretamente resolvidas, automaticamente.

O processo de instalação foi bastante melhorado: o Debian agora pode ser instalado usando software de voz, sobretudo, por pessoas com deficiência visual que não usam dispositivos Braille. Graças aos esforços combinados de um número enorme de tradutores, o sistema de instalação está disponível em 73 idiomas, e mais de uma dúzia deles também está disponível para síntese de voz.
Além disso, pela primeira vez, o Debian suporta instalação e inicialização usando UEFI para novos PCs de 64 bits (amd64), embora não haja suporte para “Secure Boot” ainda.

Esta versão inclui inúmeros pacotes de software atualizados, tais como:

  •     Apache 2.2.22
  •     Asterisk 1.8.13.1
  •     GIMP 2.8.2
  •     uma versão atualizada do ambiente de área de trabalho GNOME 3.4
  •     Coleção de Compiladores GNU 4.7.2
  •     Icedove 10 (uma versão sem marca do Mozilla Thunderbird)
  •     Iceweasel 10 (uma versão sem marca do Mozilla Firefox)
  •     Espaços de trabalho KDE Plasma e Aplicativos do KDE 4.8.4
  •     kernel kFreeBSD 8.3 e 9.0
  •     LibreOffice 3.5.4
  •     Linux 3.2
  •     MySQL 5.5.30
  •     Nagios 3.4.1
  •     OpenJDK 6b27 e 7u3
  •     Perl 5.14.2
  •     PHP 5.4.4
  •     PostgreSQL 9.1
  •     Python 2.7.3 e 3.2.3
  •     Samba 3.6.6
  •     Tomcat 6.0.35 e 7.0.28
  •     Xen Hypervisor 4.1.4
  •     o ambiente de área de trabalho Xfce 4.8
  •     X.Org 7.7
  •     mais de 36.000 outros pacotes de software prontos para uso, construídos a partir de cerca de 17.500 pacotes fonte.

Fonte: http://www.debian.org/News/2013/20130504

Na semana passada foi lançado o GNOME 3.8. Uma das novidades mais desejadas é o modo clássico, que de certa forma está de volta:

Ele não traz uma versão antiga nem uma compilação à parte dos programas responsáveis pela interface. O modo clássico no GNOME 3.8 usa um conjunto de extensões do GNOME Shell para mudar o comportamento do sistema, imitando o posicionamento dos elementos e ferramentas disponíveis no GNOME 2.x.

Como se vê há uma barra de menu tradicional no topo, botões minimizar e maximizar/restaurar e a barra de tarefas na parte inferior da tela. Esse modo clássico ainda é um GNOME 3.x com tudo o que tem direito, funcionando com toda sua infraestrutura atual. Se o único motivo pelo qual você recusou o GNOME 3.x foi o visual, vale a pena reconsiderá-lo agora.

Entre outros recursos desta versão, destacam-se:

  •     Lançador de apps atualizado, tornando mais fácil encontrar os aplicativos favoritos
  •     Busca aprimorada, trazendo mais controles para os resultados
  •     Novas configurações de privacidade, incluindo opções para limpar a lixeira e arquivos temporários, desativar o histórico, etc:
  •     Configurações de privacidade
  •     Melhorias na renderização das animações, tornando o visual mais suave
  •     Novo relógio com opção de visualização de horas em várias regiões

Alguns detalhes leves na interface foram retrabalhados, tornando o conjunto todo mais elegante:

A melhor forma para atualizá-lo é aguardar a disponibilização dos pacotes oficiais da sua distro.