SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
SystemTap Básico
João Avelino Bellomo Filho
Tchelinux - 2018
2/32
Debug no LinuxDebug no Linux
●
No espaço do usuário (user space):
– strace, ltrace, lsof, systat, etc...
●
No espaço do kernel (kernel space):
– ps, ftrace, perf, vmstat, ss, etc...
3/32
Debug no LinuxDebug no Linux
4/32
Debug no LinuxDebug no Linux
●
Para maior precisão:
– Acesso aos fontes
– Definição de breakpoints
– Instrumentação, por meio de inserção de código de
debug
●
Procedimentos:
– No user space: recompilar e executar
– No kernel space: recompilar, instalar, reiniciar
5/32
SystemTapSystemTap
É uma ferramenta de monitoramento e
investigação das atividades do sistema,
principalmente o kernel do Linux.
6/32
Por que usar?Por que usar?
●
Permite acompanhar eventos no kernel space sem
a necessidade de inserir código, recompilar,
instalar e reiniciar o sistema.
●
Possibilita a administradores e desenvolvedores
identificar a causa de bugs ou problemas de
performance.
●
Permite que a investigação e monitoração de
grande parte das funções do kernel, chamadas de
sistema e outros eventos, possa ser feita por meio
de scripts simples.
7/32
RecursosRecursos
●
Monitoração de subsistemas do kernel
●
Monitoração de eventos do user space.
●
Criação de breakpoints
8/32
A Linguagem de scriptA Linguagem de script
●
Estruturas da linguagem:
if(expr) statement else statement
while(condition) statement
for(expr; expr; expr) statement
etc ...
●
Declaração de variáveis (de tipos simples ou
complexos como strings e arrays);
●
Declaração de funções
●
Declaração de sondas (probes)
9/32
Pontos de sondagem – kernel spacePontos de sondagem – kernel space
●
probe kernel
– kernel.function( "xxx" )
– kernel.statement( "xxx.c:nnn" )
– kernel.function( "xxx" ).return
– ...
●
probe module
– module( "xxx" ).function( "xxx" )
– module( "xxx" ).statement( "xxx.c:nnn" )
– ...
10/32
Pontos de sondagem – kernel spacePontos de sondagem – kernel space
●
Variações:
– kernel.function( "xxx" )
– kernel.function( "xxx" ).call
– kernel.function( "xxx" ).return
– kernel.function( "xxx" ).inline
– ...
11/32
Pontos de sondagem – user spacePontos de sondagem – user space
●
probe process
– process( "xxx" ).function( "xxx" )
– process( "xxx" ).statement( "xxx.c:nnn" )
– process( "xxx" ).syscall
– process( "xxx" ).thread
12/32
Pontos de sondagem – user spacePontos de sondagem – user space
●
Variações
– process( "xxx" ).function( "xxx" ).call
– process( "xxx" ).function( "xxx" ).return
– process( "xxx" ).thread.begin
– process( "xxx" ).thread.end
– process( "xxx" ).syscall.begin
– process( "xxx" ).syscall.end
– ...
13/32
Sondas especiaisSondas especiais
●
probe begin
●
probe end
●
probe error
14/32
Funções e tapsetsFunções e tapsets
●
De contexto:
– backtrace(), caller(), cpu(), execname(), etc...
●
Exibição de dados:
– print(), printk(), etc...
●
De Rede:
– htol(), format_ipaddr(), etc ...
●
Tratamento de strings:
– strlen(), strtol(), etc...
●
etc...
15/32
tapsetstapsets
●
Biblioteca de sondas e funções
●
Systemtap scripts
●
Funções definidas no systemtap
●
Código fonte em C (entre '%{' e '%}')
●
Localizados no diretório:
/usr/share/systemtap/tapset
16/32
Exemplos de tapsetExemplos de tapset
...
function substr:string(
str:string, start:long, length:long)
%{ /* pure */ /* unprivileged */
int64_t length = clamp_t( int64_t,
STAP_ARG_length + 1, 0, MAXSTRINGLEN);
if (STAP_ARG_start >= 0 &&
STAP_ARG_start < strlen(STAP_ARG_str))
strlcpy(STAP_RETVALUE,
STAP_ARG_str + STAP_ARG_start, length);
%}
...
/usr/share/systemtap/tapset/string.stp
17/32
Código C - propriedadesCódigo C - propriedades
pure O código C não possui efeitos colaterais e pode ser
eliminado se o valor não for usado no script.
unprivileged É seguro de ser usado por usuários não privilegiados.
myproc-unprivileged É seguro de ser usado por usuários não privilegiados,
desde que o alvo seja parte de um processo do próprio
usuário.
guru O código C é tão inseguro que deve ser usado a opção
'-g' para usá-lo sempre que esse tapset for usado.
unmangled Utiliza elementos legados de versões anteriores ao
SystemTap 1.8, usado na migração de código.
string Usada apenas em expressões no código fonte,
significa que a expressão é do tipo 'const char *' e
deve ser tratado como string não como um 'lonf int'.
18/32
Exemplos de tapsetExemplos de tapset
...
probe netdev.receive
= kernel.function("netif_receive_skb")
{
dev_name = kernel_string($skb->dev->name)
length = $skb->len
protocol = $skb->protocol
truesize = $skb->truesize
}
...
/usr/share/systemtap/tapset/linux/networking.stp
19/32
FuncionamentoFuncionamento
Análise
script.stpscript.stp
tapsettapset
debuginfodebuginfo
script.tmp.cscript.tmp.c
Compilação
script.koscript.ko Execuçãosystetamp-
runtime
systetamp-
runtime
20/32
InstalaçãoInstalação
●
Por exemplo, no Fedora 28:
– Instalação:
dnf -y install systemtap systemtap-runtime
dnf config-manager --set-enabled fedora-debuginfo
dnf -y install --enablerepo=* 
kernel-debuginfo-$(uname -r)$(uname -r) 
kernel-devel-$(uname -r)$(uname -r)
– Teste:
stap -v -e 'probe vfs.read 
{printf("read performedn"); exit()}'
21/32
O testeO teste
# stap -v -e 'probe vfs.read {printf( ...
Pass 1: parsed user script and 111 library script(s)
using 218600virt/41708res/6584shr/35640data kb, in
110usr/10sys/120real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 4
embed(s), 0 global(s) using
369528virt/187996res/8072shr/186568data kb, in
1310usr/210sys/1531real ms.
Pass 3: using cached
/root/.systemtap/cache/e2/stap_e27fde8...5_1624.c
Pass 4: using cached
/root/.systemtap/cache/e2/stap_e27fde8...5_1624.ko
Pass 5: starting run.
read performedread performed
Pass 5: run completed in 0usr/20sys/331real ms.
22/32
Listando sondas (probes)Listando sondas (probes)
●
Verificando se existe:
# stap -l 'kernel.function("run_cmd")'
●
Visualizando os argumentos e variáveis locais:
# stap -L 'kernel.function("run_cmd")'
●
Procurando de acordo com um padrão:
# stap -l 'kernel.function("SYSC*")'
...
kernel.function("run_cmd@kernel/reboot.c:392")
kernel.function("run_cmd@kernel/reboot.c:392")
$cmd:char const* $envp:char*[]
23/32
Exemplos de Scripts
24/32
begin-end.stpbegin-end.stp
probe begin {
printf( "nnnIniciando instrumentação ...nn" );
println( "Pressione Ctrl+C para encerrar.");
}
probe end {
println( "Encerrando instrumentação." );
}
25/32
begin-end-timer.stpbegin-end-timer.stp
probe begin {
printf( "nnnIniciando instrumentação ...nn" );
println( "Encerra em 5 segundos." );
}
probe timer.s(5) {
exit();
}
probe end {
println( "Encerrando instrumentação." );
}
26/32
begin-end-contador.stpbegin-end-contador.stp
global contador=0;
probe begin {
printf( "nnnIniciando instrumentação ...nn" );
println( "Encerra em 5 segundos." );
}
probe timer.s(1) {
contador++;
println( contador );
}
probe timer.s(5) {
exit();
}
probe end {
println( "Encerrando instrumentação." );
}
27/32
ls-functions.stpls-functions.stp
probe begin {
println( "Monitorando o comando ls ..." );
}
probe process("ls").function("*") {
println( ppfunc() );
}
probe end {
println( "Encerrando monitoramento." );
}
28/32
ls-syscall.stpls-syscall.stp
probe begin {
printf( "Monitorando os comandos ls ..." );
}
probe syscall.* {
if( execname() == "ls" )
printf( "%d %sn", pid(), name );
}
probe end {
println( "Encerrando monitoramento." );
}
29/32
e1000-module.stpe1000-module.stp
probe begin {
printf( "nnMonitorando modulo e1000 ...nn" );
}
probe module("e1000").function("*") {
printf( "%sn", ppfunc() );
}
probe end {
println( "Encerrando monitoramento." );
}
30/32
e1000-module-all.stpe1000-module-all.stp
probe begin {
printf( "nnMonitorando modulo e1000 ...nn" );
}
probe module("e1000").function("*").call {
printf( "[%s] ENTER (%s)n", ppfunc(), $$parms$$ );
}
probe module("e1000").function("*").return {
printf( "[%s] RETURN (%s)n", ppfunc(), $$return$$ );
}
probe end {
println( "Encerrando monitoramento." );
}
31/32
Outros ExemplosOutros Exemplos
https://sourceware.org/systemtap/examples/
●
process/strace.stp
●
network/netfilter_summary.stp
●
process/proctop.stp
●
etc ...
32/32
ReferencesReferences
●
http://www.brendangregg.com/linuxperf.html
●
https://www.centos.org/docs/5/html/Deployment_Guide-en
-US/s2-systemtap-implementation.html
●
https://sourceware.org/systemtap/
●
https://sourceware.org/systemtap/wiki/SystemtapOnFedor
a
●
https://www.sourceware.org/systemtap/wiki/
●
https://sourceware.org/systemtap/wiki/HomePage
●
http://www.redhat.com/magazine/011sep05/features/syste
mtap
●
https://fedoraproject.org/wiki/Building_a_custom_kernel

Contenu connexe

Tendances

(11) hardware, modulos
(11)   hardware, modulos(11)   hardware, modulos
(11) hardware, modulosAnderson Lago
 
Zabbix e SNMP - Zabbix Conference LatAm - André Déo
Zabbix e SNMP - Zabbix Conference LatAm - André DéoZabbix e SNMP - Zabbix Conference LatAm - André Déo
Zabbix e SNMP - Zabbix Conference LatAm - André DéoAndré Déo
 
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry piImpressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry piMarcos Aurelio Barranco
 
Guia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxGuia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxKalanzans
 
Primeiros passos no terminal (TcheLinux UCPEL 2012)
Primeiros passos no terminal (TcheLinux UCPEL 2012)Primeiros passos no terminal (TcheLinux UCPEL 2012)
Primeiros passos no terminal (TcheLinux UCPEL 2012)rafaeldelete
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosFrederico Madeira
 
Back track apresentação
Back track   apresentaçãoBack track   apresentação
Back track apresentaçãoKleber Santos
 
(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22Norton Trevisan Roman
 
Redirecionamento, pipes e processos linux
Redirecionamento, pipes e processos   linuxRedirecionamento, pipes e processos   linux
Redirecionamento, pipes e processos linuxFábio dos Reis
 
O Que é Shell (bash)
O Que é Shell (bash)O Que é Shell (bash)
O Que é Shell (bash)Sérgio Silva
 
(ACH2044) Sistemas Operacionais - Aula 02
(ACH2044) Sistemas Operacionais - Aula 02(ACH2044) Sistemas Operacionais - Aula 02
(ACH2044) Sistemas Operacionais - Aula 02Norton Trevisan Roman
 
Ficha de controle de manutenção preventiva de hardware e software
Ficha de controle de manutenção preventiva de hardware e softwareFicha de controle de manutenção preventiva de hardware e software
Ficha de controle de manutenção preventiva de hardware e softwaremarivaldoh
 
Introdução ao processamento paralelo com o Grand Central Dispatch
Introdução ao processamento paralelo com o Grand Central DispatchIntrodução ao processamento paralelo com o Grand Central Dispatch
Introdução ao processamento paralelo com o Grand Central Dispatchflisolmaringa
 

Tendances (20)

(11) hardware, modulos
(11)   hardware, modulos(11)   hardware, modulos
(11) hardware, modulos
 
Ubuntued blog
Ubuntued blogUbuntued blog
Ubuntued blog
 
Zabbix e SNMP - Zabbix Conference LatAm - André Déo
Zabbix e SNMP - Zabbix Conference LatAm - André DéoZabbix e SNMP - Zabbix Conference LatAm - André Déo
Zabbix e SNMP - Zabbix Conference LatAm - André Déo
 
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry piImpressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
 
Guia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxGuia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linux
 
MRTG - SNMP na Prática
MRTG - SNMP na PráticaMRTG - SNMP na Prática
MRTG - SNMP na Prática
 
Primeiros passos no terminal (TcheLinux UCPEL 2012)
Primeiros passos no terminal (TcheLinux UCPEL 2012)Primeiros passos no terminal (TcheLinux UCPEL 2012)
Primeiros passos no terminal (TcheLinux UCPEL 2012)
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos Básicos
 
Back track apresentação
Back track   apresentaçãoBack track   apresentação
Back track apresentação
 
Processos (Linux)
Processos (Linux)Processos (Linux)
Processos (Linux)
 
(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22
 
Redirecionamento, pipes e processos linux
Redirecionamento, pipes e processos   linuxRedirecionamento, pipes e processos   linux
Redirecionamento, pipes e processos linux
 
O Que é Shell (bash)
O Que é Shell (bash)O Que é Shell (bash)
O Que é Shell (bash)
 
Linux shell
Linux shellLinux shell
Linux shell
 
Puppet 3 em 2017
Puppet 3 em 2017Puppet 3 em 2017
Puppet 3 em 2017
 
(ACH2044) Sistemas Operacionais - Aula 02
(ACH2044) Sistemas Operacionais - Aula 02(ACH2044) Sistemas Operacionais - Aula 02
(ACH2044) Sistemas Operacionais - Aula 02
 
Cap1 exercicios comandos linux
Cap1 exercicios comandos linuxCap1 exercicios comandos linux
Cap1 exercicios comandos linux
 
Ficha de controle de manutenção preventiva de hardware e software
Ficha de controle de manutenção preventiva de hardware e softwareFicha de controle de manutenção preventiva de hardware e software
Ficha de controle de manutenção preventiva de hardware e software
 
Introdução ao processamento paralelo com o Grand Central Dispatch
Introdução ao processamento paralelo com o Grand Central DispatchIntrodução ao processamento paralelo com o Grand Central Dispatch
Introdução ao processamento paralelo com o Grand Central Dispatch
 
Usuário LInux
Usuário LInuxUsuário LInux
Usuário LInux
 

Similaire à Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018

Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1Leo Amorim
 
Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Leo Amorim
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univemevandrovv
 
1os passoscisco
1os passoscisco1os passoscisco
1os passoscisconogueira
 
Lista 221 Comandos Executar do Windows.docx
Lista 221 Comandos Executar do Windows.docxLista 221 Comandos Executar do Windows.docx
Lista 221 Comandos Executar do Windows.docxSLVIOPAIVADOSANTOSSI
 
pgBouncer: um aglomerador de conexões para PostgreSQL
pgBouncer: um aglomerador de conexões para PostgreSQLpgBouncer: um aglomerador de conexões para PostgreSQL
pgBouncer: um aglomerador de conexões para PostgreSQLelliando dias
 
Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2Daniel
 
Forense windows registro_sandro_suffert
Forense windows registro_sandro_suffertForense windows registro_sandro_suffert
Forense windows registro_sandro_suffertSandro Suffert
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploitRoberto Soares
 
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livreDiego Santos
 
Zabbix Conference LatAm 2016 - Andre Deo - SNMP and Zabbix
Zabbix Conference LatAm 2016 - Andre Deo - SNMP and ZabbixZabbix Conference LatAm 2016 - Andre Deo - SNMP and Zabbix
Zabbix Conference LatAm 2016 - Andre Deo - SNMP and ZabbixZabbix
 
Guia 500 comandos_linux
Guia 500 comandos_linuxGuia 500 comandos_linux
Guia 500 comandos_linuxDario Nakazima
 
Ruben carvalho 10o_h
Ruben carvalho 10o_hRuben carvalho 10o_h
Ruben carvalho 10o_hPaula Lopes
 

Similaire à Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018 (20)

Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 
Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1
 
Minicurso Linux
Minicurso Linux Minicurso Linux
Minicurso Linux
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univem
 
1os passoscisco
1os passoscisco1os passoscisco
1os passoscisco
 
Lista 221 Comandos Executar do Windows.docx
Lista 221 Comandos Executar do Windows.docxLista 221 Comandos Executar do Windows.docx
Lista 221 Comandos Executar do Windows.docx
 
Tutorial: Instalação do Linaro Ubuntu na Gumstix Overo® Fire COM
Tutorial: Instalação do Linaro Ubuntu na Gumstix Overo® Fire COMTutorial: Instalação do Linaro Ubuntu na Gumstix Overo® Fire COM
Tutorial: Instalação do Linaro Ubuntu na Gumstix Overo® Fire COM
 
pgBouncer: um aglomerador de conexões para PostgreSQL
pgBouncer: um aglomerador de conexões para PostgreSQLpgBouncer: um aglomerador de conexões para PostgreSQL
pgBouncer: um aglomerador de conexões para PostgreSQL
 
Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2
 
IntroduçãO Ao Linux
IntroduçãO Ao LinuxIntroduçãO Ao Linux
IntroduçãO Ao Linux
 
Forense windows registro_sandro_suffert
Forense windows registro_sandro_suffertForense windows registro_sandro_suffert
Forense windows registro_sandro_suffert
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploit
 
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livre
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linux
 
Zabbix Conference LatAm 2016 - Andre Deo - SNMP and Zabbix
Zabbix Conference LatAm 2016 - Andre Deo - SNMP and ZabbixZabbix Conference LatAm 2016 - Andre Deo - SNMP and Zabbix
Zabbix Conference LatAm 2016 - Andre Deo - SNMP and Zabbix
 
Palestra2009
Palestra2009Palestra2009
Palestra2009
 
Minicurso GNU/Linux
Minicurso GNU/LinuxMinicurso GNU/Linux
Minicurso GNU/Linux
 
Guia 500 comandos_linux
Guia 500 comandos_linuxGuia 500 comandos_linux
Guia 500 comandos_linux
 
Ruben carvalho 10o_h
Ruben carvalho 10o_hRuben carvalho 10o_h
Ruben carvalho 10o_h
 
Aula 06 - Gerenciamento de Rede.pdf
Aula 06 - Gerenciamento de Rede.pdfAula 06 - Gerenciamento de Rede.pdf
Aula 06 - Gerenciamento de Rede.pdf
 

Plus de Tchelinux

Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Tchelinux
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeTchelinux
 
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Tchelinux
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Tchelinux
 
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeMe formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeTchelinux
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...Tchelinux
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Tchelinux
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...Tchelinux
 
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Tchelinux
 
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeConstruindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeTchelinux
 
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeTchelinux
 
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Tchelinux
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...Tchelinux
 
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...Tchelinux
 
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Tchelinux
 
Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Tchelinux
 
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.Tchelinux
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Tchelinux
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygameTchelinux
 
Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Tchelinux
 

Plus de Tchelinux (20)

Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
 
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
 
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeMe formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
 
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
 
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeConstruindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
 
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
 
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
 
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
 
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
 
Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.
 
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes.
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygame
 
Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?
 

Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018