Últimas Novidades
Busca Avançada
Autor: Thorsten Leemhuis / Copyright (c) 2012 Heise Media UK Ltd.
Traduzido: Marcelo Soares Souza (Dúvidas e melhorias na tradução envie por E-mail)
Originalmente: http://h-online.com/-1421959
A versão 3.3 do Kernel Linux oferece uma nova maneira de unir múltiplos dispositivos Ethernet. Foi adicionado o suporte para "Open vSwitch", um switch de rede virtual desenvolvido especificamente para ambientes virtualizados. O Byte Queue Limits foi projetado para reduzir a latência causadora do "buffer bloat".
Com o lançamento do Kernel Linux 3.3-rc1[1], na semana passada, Linus Torvalds fechou a janela de merge da versão 3.3. A partir de agora esta versão esta publicada, os desenvolvedores irão basicamente integrar correções e pequenas melhorias - então o primeiro candidato de lançamento do Kernel Linux 3.3 deve incluir todas as novas funcionalidades desta versão do Kernel, o qual é esperado ser lançado em Março. Modificações adicionados pelos desenvolvedores do Kernel na primeira fase do ciclo de desenvolvimento são raramente removidas ou desabilitadas nesta fase de estabilização.
Portanto o Kernel Log já esta em posição de provê uma visão abrangente das mais importantes novas funcionalidades do Kernel Linux 3.3. Como sempre, esta visão será apresentada dentro da série de artigos "Em breve no Kernel Linux 3.3" que irá gradualmente cobrir as várias áreas do kernel. A parte 1 da série descreve as mais importantes mudanças sobre a pilha de rede e dos drivers de rede e Wi-Fi. Nas próximas semanas, outros artigos cobrirão o suporte a armazenamento, sistemas de arquivos, código de arquitetura, infraestrutura e outros drivers de dispositivos.
Trabalho em equipe
Os desenvolvedores do Kernel adicionaram drivers que possibilitam a união de dispositivos Ethernet[2], este combina múltiplos dispositivos Ethernet em um único dispositivo virtual (agregação de link/802.1AX[3]). Este dispositivo virtual de rede utiliza a técnica de round-robin para compartilhar a carga de rede através de múltiplas portas; alternativamente, uma porta pode ser designada "active backup" para assumir a conexão com a rede caso ocorra um problema com a conexão primária. Os desenvolvedores dizem que este driver é muito rápido, simples e uma alternativa escalável ao driver de bonding que disponibiliza funcionalidade similar. Porém, o driver não faz todo o trabalho sozinho, este trabalha juntamente com a biblioteca libteam[4].
O Kernel Linux 3.3 inclui os componentes necessários para o Open vSwitch[5]. Este switch virtual de multi-camada pode operar nas camadas 2, 3 ou 4 e foi especificamente[6] desenvolvida para ambientes virtualizados; este é usado, por exemplo, no XenServer 6.0 para controlar o trafico de rede entre o host, seus convidados (guests) e o mundo externo. Informações sobre esta tecnologia podem ser encontradas no site do Open vSwitch[7], na documentação[8], na documentação do kernel[9] e na apresentação em vídeo [10] do Simon Horman na linux.conf.au 2012[11].
Prioridades
No Kernel Linux 3.3, a infraestrutura do cgroup para prioridade de rede[12] possibilita aos administradores configurarem dinamicamente as prioridades dos recursos de redes para grupos de processos (control group (cgroup) processes); detalhes estão disponíveis na documentação[13].
Outra nova funcionalidade, o "TCP buffer size controller[14]", permite que o controlador de memória limite a quantidade de RAM disponível para os buffers utilizados na comunicação TCP (por exemplo 1[15], 2[16], 3[17], 4[18], 5[19]); um artigo na LWN.net[20] discute uma versão anterior deste patch; estes buffers podem se tornar grandes e causar problemas em sistemas com pouca RAM.
O "Dynamic Queue Limits[21]" introduzido pelos desenvolvedores do Google, e o "Byte Queue Limits[22]" que é baseado neste, permite ao kernel controlar o quanto de dados pode ser acumulado em uma fila de envio. Este foi projetado para reduzir latências na r

FFmpeg 0.10, de codinome "Freedom", foi disponibilizado hoje trazendo muitas mudanças em relação a versão 0.9.1. Esta nova versão traz muitas correções, novos filtros, MUXers, codificadores e decodificadores.
Entre as novidades estão
- v410 Quicktime Uncompressed 4:4:4 10-bit encoder and decoder
- SBaGen (SBG) binaural beats script demuxer
- OpenMG Audio muxer
- Timecode extraction in DV and MOV
- thumbnail video filter
- XML output in ffprobe
- asplit audio filter
- tinterlace video filter
- astreamsync audio filter
- amerge audio filter
- ISMV (Smooth Streaming) muxer
- GSM audio parser
- SMJPEG muxer
- XWD encoder and decoder
- Automatic thread count based on detection number of (available) CPU cores
- y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder
- ffprobe -show_error option
- Avid 1:1 10-bit RGB Packer codec
- v308 Quicktime Uncompressed 4:4:4 encoder and decoder
- yuv4 libquicktime packed 4:2:0 encoder and decoder
- ffprobe -show_frames option
- silencedetect audio filter
- ffprobe -show_program_version, -show_library_versions, -show_versions options
- rv34: frame-level multi-threading
- optimized iMDCT transform on x86 using SSE for for mpegaudiodec
- Improved PGS subtitle decoder
- dumpgraph option to lavfi device
- r210 and r10k encoders
- avrp encoder
- avrp decoder
- ffwavesynth decoder
- APC ADPCM decoder
- OMA muxer
- aviocat tool
- ffeval tool
Greg KH anunciou no lkml.org a disponibilidade de uma nova versão de manutenção do Kernel Linux. A versão 3.2.2 traz 129 commits, com destaque para o correções no subsistema de áudio ALSA, duas correções no sistema de arquivos ext4 e diversas correções no USB Human Interface Device (HID). Segundo Greg KH é recomendando a atualização desta série de Kernel do Linux.
Anúncio no LKML.org
https://lkml.org/lkml/2012/1/25/351
Lista de mudanças Kernel Linux 3.2.2
- ACPICA: Put back the call to acpi_os_validate_address
- ACPI, ia64: Use SRAT table rev to use 8bit or 16/32bit PXM fields (ia64)
- ACPI: processor: fix acpi_get_cpuid for UP processor
- ACPI: Store SRAT table revision
- ACPI, x86: Use SRAT table rev to use 8bit or 32bit PXM fields (x86/x86-64)
- ALSA: HDA: Fix automute for Cirrus Logic 421x
- ALSA: HDA: Fix internal microphone on Dell Studio 16 XPS 1645
- ALSA: HDA: Fix master control for Cirrus Logic 421X
- ALSA: hda - Fix the detection of "Loopback Mixing" control for VIA codecs
- ALSA: hda - Fix the lost power-setup of seconary pins after PM resume
- ALSA: hda - Return the error from get_wcaps_type() for invalid NIDs
- ALSA: hda - Use auto-parser for HP laptops with cx20459 codec
- ALSA: HDA: Use LPIB position fix for Macbook Pro 7,1
- ALSA: ice1724 - Check for ac97 to avoid kernel oops
- ALSA: snd-usb-us122l: Delete calls to preempt_disable
- ALSA: usb-audio - Avoid flood of frame-active debug messages
- ALSA: virtuoso: Xonar DS: fix polarity of front output
- asix: fix setting custom MAC address on Asix 88178 devices
- asix: fix setting custom MAC address on Asix 88772 devices
- ath9k: Fix regression in channelwidth switch at the same channel
- ath9k_hw: fix interpretation of the rx KeyMiss flag
- bcma: invalidate the mapped core over suspend/resume
- block: add and use scsi_blk_cmd_ioctl
- block: fail SCSI passthrough ioctls on partition devices
- cifs: lower default wsize when unix extensions are not used
- cx23885-dvb: check if dvb_attach() succeded
- cx88: fix: don't duplicate xc4000 entry for radio
- dcache: use a dispose list in select_parent
- dm: do not forward ioctls from logical volumes to the underlying device
- drivers/rtc/interface.c: fix alarm rollover when day or month is out-of-range
- drm/radeon/kms: disable writeback on pre-R300 asics
- drm/radeon/kms: workaround invalid AVI infoframe checksum issue
- ext4: add missing ext4_resize_end on error paths
- ext4: fix undefined behavior in ext4_fill_flex_info()
- fix cputime overflow in uptime_proc_show
- fix shrink_dcache_parent() livelock
- fsnotify: don't BUG in fsnotify_destroy_mark()
- ftrace: Fix unregister ftrace_ops accounting
- HID: bump maximum global item tag report size to 96 bytes
- HID: hid-multitouch - add another eGalax id
- HID: hid-multitouch: add support 9 new Xiroku devices
Este tutorial mostrará como trabalhar, de forma integrada, com o sistema de controle de versão distribuído Git e a ferramenta de gestão de projetos Redmine. A instalação do Redmine foi vista no Tutorial Instalando o Gerenciador de Projetos Redmine usando o PostgreSQL sobre o nginx (http://marcelo.juntadados.org/node/view/tutorial-instalando-o-gerenciador-de-projetos-redmine-usando-o-postgresql--sobre-o-nginx). Este tutorial irá mostrar o básico de instalação e uso do DCVS Git e sua integração com o Redmine. Este tutorial é baseado no Debian Squeeze (6.0.3) e você precisa esta logado como root para executar parte deste tutorial.
1) Instalando o Git
Edite o arquivo /etc/apt/sources.list
nano /etc/apt/sources.list
Adicione ao arquivo
deb http://ftp.br.debian.org/debian squeeze main contrib
deb-src http://ftp.br.debian.org/debian squeeze main contrib
Atualize a listagem de pacotes local
apt-get update
Instale o Git
apt-get install git git-core
1.1) Iniciando um repositório no Git (Exemplo Básico)
Crie um diretório /root/tutorial
mkdir /root/tutorial
Inicie o repositório Git
git init /root/tutorial
Uma mensagem de sucesso deve aparecer
Initialized empty Git repository in /root/tutorial/.git/
Entre no diretório /root/tutorial
cd /root/tutorial
Crie um arquivo de texto (Digite qualquer coisa e saia salvando)
nano /root/tutorial/arquivo.txt
Adicione o arquivo ao repositório
git add /root/tutorial/arquivo.txt
Faço o Commit Local (Escreva uma mensagem sobre o que esta sendo commitado)
git commit -a
Visualize Log do Repositório
git log
1.2) Criando um repositório Bare (Público)
Utilizamos um repositório Bare como meio de centralizar um determinado repositório Git, este não é utilizado para trabalhar e sim um repositório de troca.
Crie um diretório para colocarmos o repositório Bare
mkdir /srv/git
Clone o repositório exemplo no formato Bare
git clone --bare /root/tutorial /srv/git/tutorial.git
Listando o repositório tutorial.git (ls /srv/git/tutorial.git/) teremos algo como
branches config description HEAD hooks info objects packed-refs refs
2) Integrando Repositório Git ao Redmine
Logue no Redmine
Selecione a Opção 'Administração' (Canto Superior Esquerdo) -> 'Configurações' -> 'Repositórios'
Caso não esteja marcado selecione na caixa 'SCM habilitados' a opção Git.
Na Caixa 'Referenciando tarefas nas mensagens de commit', defina o comportamento para as 'Palavras de fechamento' (fixes, closes) para que a 'Situação alterada' seja 'Fechada' e '% Terminado' 100%. Isto permitirá que quando enviamos um commit para o Git este possa fechar uma determinada tarefas que seja referenciada através do comentário com as palavras fixes ou closes. Veremos um exemplo mais para frente.
2.1) Agendando a verificação de mudanças em repositórios
Este tutorial mostrará com instalar um Servidor Web nginx (1.1.13) com suporte a PHP5 (5.3.9) através do FPM (FastCGI Process Manager) com sessões armazenadas no memcached (1.4.11) no Debian Squeeze (6.0.3). O PHP FPM é uma alternativa ao PHP FastCGI com muitas funcionalidades voltadas a sites com grandes números de acessos e carga. O memcached é um sistema de cache de memória distribuída onde, entre outras coisas, é possível armazenar os dados de sessões de aplicações PHP com o objetivo de melhorar a performance geral da aplicação e permitir sessões compartilhadas entre múltiplos servidores web. Você precisa esta logado como root para executar este tutorial.
1) Instalando o PHP5 FPM 5.3.9
Edite o arquivo /etc/apt/sources.list
nano /etc/apt/sources.list
Adicione ao arquivo
deb http://ftp.br.debian.org/debian squeeze main contrib
deb-src http://ftp.br.debian.org/debian squeeze main contrib
deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all
Instale a Chave Pública do repositório LAMP DotDeb
wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add -
Atualize a listagem de pacotes local
apt-get update
Instale o PHP5-FPM
apt-get install php5-fpm php-pear php5-dev
2) Instalando o nginx
Instale as dependências de compilação
apt-get build-dep nginx
Baixe a última versão de desenvolvimento (1.1.13)
wget -c http://nginx.org/download/nginx-1.1.13.tar.gz
Descompacte o nginx-1.1.13.tar.gz
tar xvf nginx-1.1.13.tar.gz
Configure o nginx para compilação
cd nginx-1.1.13
./configure --sbin-path=/usr/sbin --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/body --http-proxy-temp-path=/var/lib/nginx/proxy --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --with-debug --with-http_stub_status_module --with-http_flv_module --with-http_ssl_module --with-http_dav_module --with-ipv6 --with-poll_module --with-pcre --with-http_gzip_static_module
Compile e instale o nginx
make
make install
Crie os diretórios necessários ao nginx
mkdir -p /var/lib/nginx/body
mkdir -p /var/www
chown -R www-data.www-data /var/www
Faça uma cópia de seguraça da configuração original do nginx
mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig
Edite o /etc/nginx/nginx.conf
nano /etc/nginx/nginx.conf
Adicione a configuração eo /etc/nginx/nginx.conf
user www-data;
worker_processes 2;
pid /var/run/nginx.pid;
events {}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 360;
client_max_body_size 256m;
tcp_nopush on;
tcp_nodelay on;
server {
listen 80;
server_name localhost;
error_log /var/log/nginx/localhost.error.log;
access_log /var/log/nginx/localhost.access.log;
charset utf-8;
Foi lançado uma nova versão do framework Ruby On Rails, a versão 3.2.x será a última a suportar o Ruby 1.8.7. A próxima versão do Rails (4.0), terá como requisito a versão 1.9.3 ou superior do Ruby. Esta versão traz três grandes novidades
Modo de desenvolvimento mais rápido
Rails 3.2 vem com um modo de desenvolvimento sensivelmente mais rápido. Inspirado pelo Active Reload, Rails recarrega classes apenas quando o arquivo é alterado. O ganho de performance é dramático em grandes aplicações. O Route recognition também ficou mais rápido graças a um novo motor (engine) Journey.
Consultas automáticas detalhadas
Rails 3.2 traz uma nova funcionalidade que detalha as consultas geradas pelo ARel, bastando definir um metódo de detalhe em ActiveRecord::Relation. Por exemplo, você pode rodar algo como 'puts Person.active.limit(5).explain' e a consulta ARel é explicada. Isto permite checar índices e realizar otimizações.
Tagged Logging
Ao executar uma aplicação multi-usuário, é de grande ajuda conseguir filtrar o log por quem fez o que. TaggedLogging em Active Support ajuda a fazer isto marcando linhas de código com sub-domínios, ids de requisições, e qualquer coisa para ajudar a debugar sua aplicação.
Notas completas e instruções para atualização
http://guides.rubyonrails.org/3_2_release_notes.html
Foi disponibilizado o último candidato de lançamento do PHP 5.4.0. A série 5.4.x inclui novas funcionalidades de linguagem e remove muitos comportamentos obsoletos (deprecated). Desde o primeiro candidato de lançamento nenhuma nova funcionalidade foi incluída, apenas correções de erros e de estabilidade.
Download
http://downloads.php.net/stas/php-5.4.0RC6.tar.bz2
Lista de mudanças
Core:
- Restoring $_SERVER['REQUEST_TIME'] as a long and introducing $_SERVER['REQUEST_TIME_FLOAT'] to include microsecond precision. (Patrick)
- Fixed bug #60768 (Output buffer not discarded) (Mike)
Hash
- Fixed bug #60221 (Tiger hash output byte order) (Mike)
- Removed Salsa10/Salsa20, which are actually stream ciphers (Mike)
Pdo Firebird:
- Fixed bug #47415 (segfaults when passing lowercased column name to bindColumn). (Mariuz)
- Fixed bug #53280 (segfaults if query column count less than param count).
SNMP:
- Fixed bug #60585 (php build fails with USE flag snmp when IPv6 support is disabled). (Boris Lytochkin)
- Fixed bug #60749 (SNMP module should not strip non-standard SNMP port from hostname). (Boris Lytochkin)

Este tutorial mostrará como criar um servidor OpenLDAP (2.4.23) com replicação no Debian Squeeze (6.0.3), ao final teremos um servidor Master e um Shadow (Slave). Para realizar este tutorial esteja logado como root.
1) Instalando o OpenLDAP no servidor Master
Edite o sources.list
nano /etc/apt/sources.list
Acrescente as seguintes linhas e salve
deb http://ftp.br.debian.org/debian squeeze main contrib
deb-src http://ftp.br.debian.org/debian squeeze main contrib
Atualize a lista de pacotes
apt-get update
Instale o OpenLDAP e o ldap-utils
apt-get install slapd ldap-utils
1.1) Configurando OpenLDAP Master
Nas últimas versões do OpenLDAP é utilizado um esquema de configuração onde você pode alterar as configurações em tempo real acessando os dados diretamente dentro do OpenLDAP, porém iniciaremos a configuração da forma tradicional e converteremos para este novo esquema.
Pare o Serviço do OpenLDAP (slapd)
service slapd stop
Edite o arquivo /etc/ldap/slapd.conf
nano /etc/ldap/slapd.conf
Adicione a configuração inicial
# Arquivo slapd.conf exemplo básico para OpenLDAP Master
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
allow bind_v2
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
# Nível de verbosidade do Log. O nível 256 traz alguma verbosidade para analisamos problemas.
loglevel 256
# Diretório com os Módulos LDAP, incluíndo o módulo de sincronização
modulepath /usr/lib/ldap
moduleload back_bdb
moduleload syncprov # Módulo de Sincronização usado para replicação SyncRepl
# Limites Aplicado a toda as buscas no LDAP, Tamanho e Tempo Limite (Segundos)
sizelimit 256
timelimit 60
# Número de CPUs Utilizada para criar indíces
tool-threads 2
backend bdb
# Base de Configuração
database config
rootdn "cn=admin,cn=config"
rootpw secreta
# Base Principal
database bdb
suffix "dc=juntadados,dc=org"
rootdn "cn=admin,dc=juntadados,dc=org"
rootpw secreta
directory "/var/lib/ldap"
dbconfig set_cachesize 0 2097152 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
index objectClass eq
lastmod on
checkpoint 512 30
# Configuração da Sincronização SyncRepl
overlay syncprov
syncprov-checkpoint 50 5
syncprov-sessionlog 100
# ACLs (Permissões) Básicas.
access to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=juntadados,dc=org" write
by anonymous auth
by self write
by * none
access to dn.base="" by * read
access to * by dn="cn=admin,dc=juntadados,dc=org" write by * read
Remova o slapd.d antigo
rm -rf /etc/ldap/s


















![[FSF Associate Member]](http://static.fsf.org/nosvn/associate/fsf-10435.png)