Arquivo

Textos com Etiquetas ‘linux’

introdução ao git

O git, sistema de controle de versões de código aberto, é utilizado por vários projetos de grande porte, tais como: Linux Kernel, Ruby on Rails, WINE e X.org.

git logo

Ao invés de dificultar o aprendizado através de detalhes que as vezes não são necessários num primeiro contato com a ferramenta, o git magic apresenta conceitos de maneira simples, passo-a-passo, facilitando o entendimento sobre controle de versões e também do uso da ferramenta.

Apesar de ser em inglês, é um documento recomendado a todos que precisem de alguma maneira gerenciar ou trabalhar com o git.

Fonte: LWN.net

Categories: git Tags: , ,

lançado kernel 2.6.26.1

O kernel 2.6.26.1 foi lançado, e quem usa a última versão estável (mas talvez não tão estável assim), deve atualizar. Segue um trecho da mensagem na íntegra:

20080804 tux 150x150 lançado kernel 2.6.26.1

We (the -stable team) are announcing the release of the 2.6.26.1
kernel.

It contains lots of bugfixes, all over the map. Any users of the 2.6.26
kernel series should upgrade to this version. For details on the fixes,
see the changelog entries and the diffstat below.

I’ll also be replying to this message with a copy of the patch between
2.6.26 and 2.6.26.1

The updated 2.6.26.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.26.y.git
and can be browsed at the normal kernel.org git web browser:

http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.26.y.git;a=summary

thanks,

greg k-h

Categories: kernel, linux Tags: , ,

diretrizes de performance e ajustes para linux

Leitura recomendada. Se você precisa ajustar alguma configuração do Linux, identificar algum gargalo no seu sistema, esse documento pode te ajudar. É o Redpaper da IBM Linux Performance and Tuning Guidelines, e um trecho do documento diz:

The use of Linux in an enterprise-class server requires monitoring performance and, when
necessary, tune the server to remove bottlenecks that affect users. This IBM Redpaper
publication describes the methods you can use to tune Linux, tools that you can use to
monitor and analyze server performance, and key tuning parameters for specific server
applications. The purpose of this paper is to explain how to analyze and tune the Linux
operating system to yield superior performance for any type of application you plan to run on
these systems.

Você pode baixá-lo aqui: http://www.redbooks.ibm.com/abstracts/redp4285.html?Open

vmware server no ubuntu 8.04

Hoje precisei instalar o VMWare Server na minha estação de trabalho, e, pra quem já instalou o VMware em kernels recentes, conhece o famoso vmware-any-any. O erro que retornava ao tentar rodar o config:

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config2/vmmon-only'
make -C /lib/modules/2.6.24-12-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.24-12-generic'
CC [M]  /tmp/vmware-config2/vmmon-only/linux/driver.o
CC [M]  /tmp/vmware-config2/vmmon-only/linux/hostif.o
CC [M]  /tmp/vmware-config2/vmmon-only/common/comport.o
CC [M]  /tmp/vmware-config2/vmmon-only/common/cpuid.o
In file included from include/asm/bitops.h:2,
from /tmp/vmware-config2/vmmon-only/./include/vcpuset.h:74,
from /tmp/vmware-config2/vmmon-only/./include/modulecall.h:23,
from /tmp/vmware-config2/vmmon-only/common/vmx86.h:18,
from /tmp/vmware-config2/vmmon-only/common/hostif.h:18,
from /tmp/vmware-config2/vmmon-only/common/cpuid.c:14:
include/asm/bitops_32.h:9:2: error: #error only <linux/bitops.h> can be included directly
make[2]: *** [/tmp/vmware-config2/vmmon-only/common/cpuid.o] Error 1
make[1]: *** module_/tmp/vmware-config2/vmmon-only Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-12-generic'
make: *** vmmon.ko Error 2
make: Leaving directory `/tmp/vmware-config2/vmmon-only'
Unable to build the vmmon module.

Entretanto, a versão do vmware-any-any disponível no site http://knihovny.cvut.cz/ftp/pub/vmware/ , é a 115 e ela não funcionou.

Pesquisando um pouco, achei referência a http://groups.google.com/group/vmkernelnewbies/files?hl=en onde existe a versão 116, que funcionou perfeitamente. Finalizando:

vmware-any-any-update116$ sudo ./runme.pl
Updating /usr/bin/vmware-config.pl ... already patched
Updating /usr/bin/vmware ... No patch needed/available
Updating /usr/bin/vmnet-bridge ... No patch needed/available
Updating /usr/lib/vmware/bin/vmware-vmx ... No patch needed/available
Updating /usr/lib/vmware/bin-debug/vmware-vmx ... No patch needed/available
VMware modules in "/usr/lib/vmware/modules/source" has been updated.
 
Before running VMware for the first time after update, you need to configure it
for your running kernel by invoking the following command:
"/usr/bin/vmware-config.pl". Do you want this script to invoke the command for
you now? [yes]
[...]
 
Building modules, stage 2.
MODPOST 1 modules
CC      /tmp/vmware-config5/vmmon-only/vmmon.mod.o
LD [M]  /tmp/vmware-config5/vmmon-only/vmmon.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-19-generic'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-config5/vmmon-only'
The module loads perfectly in the running kernel.
Categories: ubuntu, vmware Tags: , , ,

Migração para Ubuntu

Uma reportagem da COMPUTERWORLD, descreve alguns passos de como ser bem sucedido na migração para Linux. O que me chamou a atenção, é que a primeira recomendação deles é “Deixe que o Ubuntu faça parte do trabalho por você“.

E a reportagem segue: “O Ubuntu é uma das distribuições Linux mais populares e atualmente é a maior que traz ferramentas de migração integradas como parte de seu processo de instalação. O sistema tenta fazer a migração para Linux o mais fácil possível, permitindo que você migre arquivos de usuários e mesmo algumas configurações de sistemas já existentes em instalações Windows.

Leia a reportagem completa aqui.

Categories: ubuntu Tags: ,

SystemTap no Ubuntu 7.04

Um dos utilitários mais interessantes que conheci recentemente, enquanto estava lendo um Redbook da IBM sobre Perfomance Tuning de Linux em ambientes System p, é o SystemTap.

Do sítio principal, o SystemTap pode ser descrito como: “Uma ferramenta que fornece uma infra-estrutura baseada em software livre (GPL) para simplificar a obtenção de informações sobre um sistema Linux em execução” (tradução literal).

Graças aos desenvolvedores (Debian/Ubuntu), o pacote está disponível na seção universe/devel e pode ser instalado com um simples apt-get:

$ sudo apt-get install systemtap
Lendo Lista de Pacotes... Pronto
Construindo Árvore de Dependências
Lendo informação de estado... Pronto
Os pacotes extra a seguir serão instalados:
  libelf1 libpfm3-3.2
Os NOVOS pacotes a seguir serão instalados:
  libelf1 libpfm3-3.2 systemtap
0 pacotes atualizados, 3 pacotes novos instalados, 0 a serem removidos e 22 não atualizados.
É preciso fazer o download de 739kB de arquivos.
Depois de desempacotamento, 2683kB adicionais de espaço em disco serão usados.
Quer continuar [S/n] ? S
[...]
Instalando systemtap (0.0.20070113-1) ...
$

Aqui no meu sistema, foi necessário instalar outros dois pacotes, libelf1 e libpfm3, que são para manipular arquivos ELF, e bibliotecas para suporte a PMU (Performance Monitor Unit), respectivamente.

Após a instalação, é interessante verificar o diretório de documentação do software (em /usr/share/doc/NOMEDOPACOTE), pois geralmente traz exemplos bem interessantes. No caso do SystemTap, eu realizei o seguinte:

$ cd /usr/share/doc/systemtap/examples
$ sudo ./top.stp
semantic error: libdwfl failure (dwfl_linux_kernel_report_offline): No such file or directory while
resolving probe point kernel.function("sys_*")
Pass 2: analysis failed.  Try again with more '-v' (verbose) options.

Humm, estranho. Usando o nosso amigo Google, descobri que existe o Bug #106957, que faz sentido pois o SystemTap precisa de informações de depuração para prover as informações do ambiente, que estão presentes nos pacotes linux-image-debug-VERSAO-DO-KERNEL. Além disso, é necessário criar um link simbólico para o nome de arquivo que o SystemTap tenta acessar:

$ sudo apt-get install linux-image-debug-$(uname -r)
Password:
Lendo Lista de Pacotes... Pronto
Construindo Árvore de Dependências
Lendo informação de estado... Pronto
Os NOVOS pacotes a seguir serão instalados:
  linux-image-debug-2.6.20-16-generic
0 pacotes atualizados, 1 pacotes novos instalados, 0 a serem removidos e 22 não atualizados.
É preciso fazer o download de 0B/24,2MB de arquivos.
Depois de desempacotamento, 59,9MB adicionais de espaço em disco serão usados.
Selecionando pacote previamente não selecionado linux-image-debug-2.6.20-16-generic.
(Lendo banco de dados ... 138496 arquivos e diretórios atualmente instalados.)
Descompactando linux-image-debug-2.6.20-16-generic (de .../linux-image-debug-2.6.20-16-generic_2.6
.20-16.29_i386.deb) ...
Instalando linux-image-debug-2.6.20-16-generic (2.6.20-16.29) ...
$ sudo ln -sf /boot/vmlinux-dbg-$(uname -r) /boot/vmlinux-$(uname -r)
$ sudo ./top.stp
SYSCALL                         COUNT
sys_gettimeofday                65187
sys_ioctl                       54202
sys_poll                        11467
sys_read                         3790
sys_gettid                       2471
sys_write                        1110
sys_kill                          803
sys_time                          673
sys_select                        597
sys_futex                         442
sys_clock_gettime                 248
sys_fcntl64                       207
sys_setitimer                     196
sys_socketcall                    183
sys_rt_sigprocmask                176
sys_writev                        150
sys_close                         103
sys_sigreturn                      99
sys_recvfrom                       97
sys_recv                           91
--------------------------------------

No exemplo acima, o SystemTap lista as 20 chamadas de sistema que estão sendo mais utilizadas. O aplicativo não se resume apenas a isso, o propósito principal dele é ajudar a identificar possíveis gargalos no sistema, seja de CPU, I/O, memória ou rede. Vale a pena!