O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
1
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Editores e redatores
<Voltamos, para ficar!>
Juliano Ramos de Oliveira
Ronaldo Ferreira Lima
Tom Jones Moreira
Gabriel Silveira
Após seis meses da primeira edição do Zine, voltamos para ficar.
Na época, estava focado com o desenvolvimento da rede social
Tux4you e não tinha como manter este projeto que ficou
“engavetado” todo este tempo. Sinceramente, pensei que não faria
mais algo assim, já que tudo agora está nas nuvens e é multimídia.
Mas, um usuário da rede social me despertou para o fato que a
primeira edição passou dos 2.000 downloads! Uau! Isto é um bom
número para não dar uma continuidade e cá estamos.
O grande foco da revista será Tecnologia da Informação e
Opensource para usuários iniciantes, porém, o espaço estará
aberto para difundir projetos sociais e educacionais.
O desenvolvimento também segue de modo colaborativo e
voluntário, filtramos todas as informações em um grupo público na
Tux4you e depois adicionamos ao zine; nossa preocupação neste
momento não é o visual (Design) e sim o conteúdo. Porém,
precisamos com urgência de um diagramador voluntário.
Obrigado pelo seu download, desejo-lhe uma ótima leitura e que
este agrupado de informação seja de algum modo uma fonte de
crescimento educacional ou profissional em sua vida.
Vamos que vamos!
Juliano Ramos – Colaborador e Mantenedor.
2
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Sumário
Artigo
A transição para o IPV6
Criando um simples Firewall
Free Software Song
Comunicação em público
PHP e Mysql
Introdução ao LaTex
UNIX
PCBSD
ISO do Xbox360 no Linux
Notícias do mundo educacional
Exame 102 LPIC-1 – Tarefas
Shell Script – Variáveis
Página
4
7
16
17
22
28
34
39
60
61
63
67
Autor
Tom Jones Moreira
Ronaldo Ferreira
Juliano Ramos
Juliano Ramos
Juliano Ramos
Ronaldo Ferreira
Gabriel Silveira
Juliano Ramos
Juliano Ramos
Juliano Ramos
Juliano Ramos
Juliano Ramos
3
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
U
m por um, todos os serviços de comunicações e aplicações migraram ou estão em processo
de migração para o IP (Internet Protocol). O IP permite que a convergência de todos os
serviços de dados, voz e vídeo em uma única infra-estrutura comum que proporciona tanto
retorno dos investimentos, quanto custos operacionais reduzidos. A natureza aberta das normas de
IP, facilita a integração de novas capacidades e funcionalidades,aumenta a agilidade e escalabilidade
da infra-estrutura e facilita a criação de serviços novos ou aperfeiçoados através dos "mash-ups" já
existentes. Os serviços de infra-estruturas Broadcast estão em um caminho inevitável de
convergência para o protocoloIP. As características dos conteúdos atuais e futuras fontes de
conteúdos, sem falar nos consumidores que exigem cada vez mais uma convergência de conteúdo,
end-to-end nas redes IP. Os negócios e as técnicas para redes baseadas em transmissão de IP, não se
baseiam apenas nas oportunidades oferecidas pela imaginada infra-estrutura convergente, mas
também sobre as capacidades do IP e do Multiprotocol Label Switching (MPLS).
De acordo com um artigo publicado na Broadcast Engineering, intitulado "Vídeo sobre IP" .As
redes atuais já são capazes de permitir serviços de convergência de redes com tempo estimados de
0,5 e 0,05 segundos, com baixo jitter e capacidade de correção de erros (FEC) adicionada a
protocolos como o Multicast e QoS (qualidade do Serviço),que permitirão uma otimização das
infra-estruturas tornando-as aptas a suportar serviços de Video sobre IP. Toda essa migração para o
mundo IP, me faz lembrar da necessidade de um grande espaço de endereçamento IP, para sustentar
a adoção rápida e contínua da Internet e para apoiar aumento dos números e tipos de dispositivos
conectados através do IP,além de permitir que os serviços que dependem de redes peer-to-peer e
mobilidade centrada na comunicação continuem funcionando. E para suprir essa necessidade é
importante olhar para a nova geração do Protocolo Internet o Ipv6. O IPv6 não é radicalmente
diferente do IPv4, que é a versão do IP em uso no momento. Porém ele não fornece os recursos
necessários para ampliar as infra-estruturas baseadas em serviços IP. A adoção do IPv6 em certas
áreas de infra-estrutura de serviços de radiodifusão é facilmente justificada.
4
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Exemplo:
A adoção do protocolo ainda está em andamento,
e por isso ainda existe uma necessidade de maior
maturidade em termos de suporte ao produto.
Qualquer novo equipamento de rede hoje em dia
necessita ser concebido com o uso do IPv6 em
mente. Grandes fabricantes têm apoiado o IPv6
ja algum tempo. No entanto, como parte do
processo de planejamento, é importante para
identificar os “gaps” e as necessidades futuras,
trabalhar em estreita colaboração com os
fornecedores para reduzir a existências de
“gaps”.
Se você está procurando implementar
transporte IP, então você deve planejá-lo em
uma. Nunca é tarde demais para começar a
inventariar as capacidades do IPv6 e as
necessidades da infra-estrutura IP para dar
apoio aos serviços de transmissão atuais ou
futuros.
O planejamento antecipado garante a
disponibilidade oportuna e menores custos de
implementação e funcionamento.
Conheça os 3 tipos de endereçamento IPv6
A convergência dos serviços de radiodifusão
para uma infra-estrutura IP é inevitável. Se o
seus serviços já aproveitam transporte IPv4,
você precisa começar a planejar a integração
para IPv6 e uma expansão dos serviços
existentes para IPv6. A maioria dos aspectos
técnicos e operacionais de exploração de uma
rede IP para serviços de radiodifusão será
aplicada a nova infra-estrutura, que em um
primeiro momento vai operar em paralelo, com e
sobre , o mesmo hardware do Ipv4.(utilizando
tuneis IPV6/IPv4 e pilhas Dual Stack).
versão agnóstica (pilhas Dual Stack IPv4/IPv6 )
e manter o foco em IPv6,sempre que possível.
Com expectativa de esgotamento do espaço de
endereços IPv4 em 2011, a transição para o IPv6
irá tornar-se necessária, mais cedo ou mais tarde.
O importante é estar preparado, para entender
onde o uso do IPv6 irá tornar-se crítico . E para
atender as necessidades dos novos clientes e dos
que já estão na base. Ao nível do consumidor, a
adoção do IPv6 tem sido mais rápida na Ásia e
Europa, por motivos obvios de densidade
populacional
(China e India, por exemplo).
De acordo com o RFC 4291, são três os tipos
de endereços IPv6: unicast, anycast e
multicast.
Ao contrário do IPv4 não existem endereços
de broadcast mas tal funcionalidade pode ser
conseguida através de endereços multicast.
Endereços Unicast
Os endereços unicast identificam de forma
unívoca a interface de uma máquina. Um
pacote enviado para um endereço unicast é
apenas recebido pela interface que tal
associado tal endereço. Há no entanto vários
tipos de endereços Unicast:
•
•
•
•
•
•
Endereços Unicast globais
Link Local
Loopback
Unique local
Endereços IPv6 com endereços IPv4
embutidos
Endereços Unicast globais
5
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Este tipo de endereços são similares aos endereços
públicos IPv4. Podem ser configurados de forma
manual ou atribuídos dinamicamente.
Link Local
Este tipo de endereços são usados pelo mecanismo de
auto-configuração, para que um dispositivo possa
comunicar com outro, dentro da mesma rede. Os
endereços link local não são encaminhados para outras
redes. Os endereços Link Local começam sempre por
FE80
(1111
1110
1000
0000)
Exemplo:
fe80::200:5aee:feaa:20a2.
Loopback
Tal como no IPv4, serve para uma máquina enviar um pacote para si mesma.
Este tipo de endereços não pode ser atribuído a uma interface física. O endereço Loopback IPv6
é ::1.
Únicos locais ou “site local”
Semelhantes ais endereços privados IPv4. Este tipo de endereços, sem prefixos globais, começam
em FC00::/7 até FDFF::/7 e devem ser usados apenas dentro de um determinado ‘site’/segmento de
rede.
Exemplo: fdf8:f53b:82e4::53
Endereços IPv6 com endereços IPv4 embutidos (IPv4 embedded )
Usados normalmente em mecanismos de transição/tradução de IPv4 para IPv6.
Endereços Anycast.
Na prática são iguais aos endereços unicast, no entanto, podem ser atribuídos a mais do que uma
interface.
Endereços Multicast
Um endereço Multicast identificam um grupo de interface, podendo cada interface pertencer a
outros grupos. Os pacotes enviados para esses endereço são entregues a todas as interfaces que
fazem parte do “grupo”.
Sobre o Autor
Tom Jones Moreira
Especialista em sistemas de Transmissão digital –Membro do Forum SBTVD e mantenedor do
Blog sobre TV Digital, Noticias do mundo TI e Gestão do Conhecimento :TVDIGITALBR
6
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Criando um simples firewall pessoal
Sumário
Criando um Simples Firewall Pessoal
Introdução
Desenvolvendo o Firewall
Modificando a Política Padrão
Liberando o essencial
Inserindo proteção adicional
Verificando o status do firewall
O script final
Conclusão
Ligações Relacionadas
Sobre o Autor
Introdução
Neste artigo, iremos aprender como criar um simples script de firewall para uso pessoal.
Aprenderemos também como diagnosticar alguns aspectos do comportamento da rede e aplicações.
O kernel Linux possui um framework próprio para manipulação de pacotes de rede chamado
Netfilter, disponível em todas as versões do kernel a partir da 2.4. A interface oficial para
manipulação do Netfilter no espaço do usuário chama-se iptables é com ela que iremos nos
familiarizar.
Partiremos do pressuposto de que a melhor maneira de garantir a segurança é bloquear todo o
tráfego de entrada e liberar apenas o necessário uma vez que a principal trabalho executado por um
computador pessoal é realizar conexões e receber poucas ou nenhuma conexão vinda da internet.
Atenção: Para os procedimentos a seguir é recomendável certificar-se que nenhum download e/ou
upload esteja sendo feito sobre o risco de perder o trabalho.
7
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Desenvolvendo o Firewall
Modificando a Política Padrão
No Netfilter, políticas são comportamentos aplicados à chains. A política inicial para todas as
chains é ACCEPT (aceitar tudo). Para implementação das regras, utilizaremos a tabela filter
(padrão) e as chains INPUT e FORWARD . Precisamos modificar a política padrão das duas chains
para negar acesso a todo o tráfego de entrada. Os comandos necessários são:
iptables --policy INPUT
DROP
iptables --policy FORWARD DROP
Que podem ser digitados diretamente na linha de comando como usuário root. Feito isto, será
possível perceber que nenhum serviço de rede funciona mais, nem o ping! Mas como? Nós não
bloqueamos apenas a entrada? Sim. Bloqueamos apenas a entrada; os pacotes são enviados para o
destino e a resposta é bloqueada pelo firewall antes de chegar no aplicativo que acaba encerrando
por timeout ou por erro na resolução de nomes (DNS) caso tenha-se usado o domínio ao invés de
um endereço IP.
Podemos verificar (diagnosticar) o comportamento descrito anteriormente no nível do aplicativo
com nc (netcat) e no nível da rede com o tcpdump:
1. Nível do aplicativo.
1. Utilizando o endereço IP:
$ nc -z 150.214.142.167 80
(UNKNOWN) [150.214.142.167] 80 (http) : Connection timed out
Nota: O endereço IP de um domínio pode ser obtido com o uso de ferramentas como o
host por exemplo.
2. Utilizando o nome do domínio para conexão:
$ nc -z www.netfilter.org 80
www.netfilter.org: forward host lookup failed:
: Invalid argument
Ambos os casos falharam na conexão mas por motivos diferentes.
8
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
2. Nível da rede.
Usaremos o endereço IP porque a resolução de nomes ainda não está funcionando. O
monitoramento será feito com o seguinte comando:
# tcpdump -q host 150.214.142.167 and port 80
É recomendado deixar um terminal alocado apenas para ele.
Noutro terminal, reexecute o comando do exemplo 1.1., aguarde pela mensagem de erro e
retorne ao terminal onde está o tcpdump. As mensagens de depuração devem ser algo
parecido com:
tcpdump: verbose output suppressed, use -v or -vv for full protocol
decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes
18:45:37.984173 IP 192.168.1.100.55828 > 150.214.142.167.http: tcp 0
18:45:38.986471 IP 192.168.1.100.55828 > 150.214.142.167.http: tcp 0
18:45:40.990504 IP 192.168.1.100.55828 > 150.214.142.167.http: tcp 0
18:45:44.998482 IP 192.168.1.100.55828 > 150.214.142.167.http: tcp 0
18:45:53.022472 IP 192.168.1.100.55828 > 150.214.142.167.http: tcp 0
18:45:57.521201 IP 150.214.142.167.http > 192.168.1.100.55828: tcp 0
18:46:09.054466 IP 192.168.1.100.55828 > 150.214.142.167.http: tcp 0
18:46:09.982258 IP 150.214.142.167.http > 192.168.1.100.55828: tcp 0
18:46:10.083694 IP 150.214.142.167.http > 192.168.1.100.55828: tcp 0
18:46:41.118481 IP 192.168.1.100.55828 > 150.214.142.167.http: tcp 0
18:46:41.860254 IP 150.214.142.167.http > 192.168.1.100.55828: tcp 0
^C
11 packets captured
11 packets received by filter
0 packets dropped by kernel
Nota: O "^C" que a aparece neste exemplo é o resultado de um Ctrl+c e está impresso em
caret notation. O Ctrl+c é necessário para encerrar o tcpdump.
Neste exemplo podemos ver o IP origem 192.168.1.100 enviando (">") requisições para a IP
destino 150.214.142.167 na porta 80 (HTTP) e é possível ver também que o IP destino
respondeu esta requisição mas a aplicação, neste caso o nc, não recebe a resposta e imprime
o erro mostrado no exemplo 1.1. Vamos executar agora o comando do exemplo 2.2. e
aguardar pela mensagem de erro, a saída do tcpdump deve ser algo como:
9
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
tcpdump: verbose output suppressed, use -v or -vv for full protocol
decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel
Mas o que aconteceu? Porque nada foi impresso? Como não houve resolução de DNS
nenhum pacote foi enviado ao destino esperado uma vez que este último é desconhecido.
Este exemplo foi mais um exercício para problemas/situações que podem ocorrer.
Sem dúvidas é possível monitorar as tentativas de conexão inclusive com o DNSs, mas foge
ao escopo deste artigo.
Liberando o essencial
Agora que já discutimos a base inicial, vamos liberar os acessos essenciais e voltaremos a trabalhar
normalmente. A primeira coisa que faremos é liberar o acesso para as conexões iniciadas pelo
"nosso" host, como por exemplo, a navegação na internete. A regra para isto é a seguinte:
iptables \
--append
--match
--ctstate
--jump
INPUT \
conntrack \
ESTABLISHED,RELATED \
ACCEPT
Nota:
O comando anterior foi escrito com foco em legibilidade. Ele poderia ser resumido para:
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Contudo, é menor a chance de se conseguir lembrar o que cada uma dessas opções faz frente
ao exemplo longo além de ser (apenas um pouquinho) mais difícil encontrá-las no manual.
Neste artigo daremos prioridade a legibilidade.
Explicando o comando anterior, temos:
10
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
--append INPUT
adiciona uma nova regra na chain INPUT da tabela filter.
--match conntrack
define o módulo a ser usado, neste caso o conntrack.
--ctstate ESTABLISHED,RELATED
determina quais estados de conexão serão tratados pela regra.
--jump ACCEPT
define o alvo para a regra, neste caso, "aceitar".
Após executar o comando, a navegação já estará liberada e agora liberaremos a
comunicação interna do host pois ela também foi bloqueada:
iptables \
--append
INPUT \
--in-interface lo \
--jump
ACCEPT
Explicando os parâmetros novos temos:
--in-interface lo
especifica a interface a ser usada.
Por fim, e embora opcional, podemos liberar o ping afim de permitir diagnósticos simples de rede.
A regra a executar é a seguinte:
iptables \
--append INPUT \
--proto icmp \
--jump
ACCEPT
Execício sugerido: reexecutar os procedimentos do exemplo 2 do tópico anterior e comparar as
respostas.
11
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Inserindo proteção adicional
O www.netfilter.org possui alguns exemplos para proteção contra alguns ataques de negação de
serviço, utilizaremos três regras descritas aqui. As regras consistem em:
# Syn-flood protection:
iptables \
--append FORWARD \
--protocol tcp \
--syn \
--match limit \
--limit 1/s \
--jump ACCEPT
# Furtive port scanner:
iptables \
--append FORWARD \
--protocol tcp \
--tcp-flags SYN,ACK,FIN,RST RST \
--match limit \
--limit 1/s \
--jump ACCEPT
# Ping of death:
iptables \
--append FORWARD \
--protocol icmp \
--icmp-type echo-request \
--match limit \
--limit 1/s \
--jump ACCEPT
Vale lembrar que a quantidade de regras que se propõem bloquear ataques é bem extensa.
12
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Verificando o status do firewall
Para conferir as regras ativas no firewall utilize a opção -L ou --list do iptables. A saída
será a seguinte:
Chain INPUT (policy
target
prot opt
ACCEPT
all -RELATED,ESTABLISHED
ACCEPT
all -ACCEPT
icmp --
DROP)
source
anywhere
destination
anywhere
anywhere
anywhere
anywhere
anywhere
Chain FORWARD (policy DROP)
target
prot opt source
destination
ACCEPT
tcp -- anywhere
anywhere
flags:FIN,SYN,RST,ACK/SYN limit: avg 1/sec burst 5
ACCEPT
tcp -- anywhere
anywhere
flags:FIN,SYN,RST,ACK/RST limit: avg 1/sec burst 5
ACCEPT
icmp -- anywhere
anywhere
limit: avg 1/sec burst 5
Chain OUTPUT (policy ACCEPT)
target
prot opt source
ctstate
tcp
tcp
icmp echo-request
destination
O script final
O script a seguir serve como exemplo para ser colocado na inicialização do sistema e aceita os
parâmetros start, stop e restart. Modifique-o de acordo a necessidade.
#!/bin/bash
# Script exemplo para a Zine Tux4You
iptables='/usr/sbin/iptables'
stop () {
echo 'Stopping firewall ...'
# Remove as regras
iptables --flush
iptables --delete-chain
# Redefine as politcas para ACCEPT novamente
for chain in INPUT FORWARD OUTPUT; do
iptables --policy $chain ACCEPT
done
}
start () {
echo 'Starting firewall ...'
# Modifica a polica padrao
$iptables --policy INPUT
DROP
13
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
$iptables --policy FORWARD DROP
# Libera a "navegacao"
$iptables \
--append INPUT \
--match
conntrack \
--ctstate ESTABLISHED,RELATED \
--jump
ACCEPT
# Libera tudo para
$iptables \
--append
--in-interface
--jump
o localhost
INPUT \
lo \
ACCEPT
# Libera ping
$iptables \
--append INPUT \
--proto icmp \
--jump
ACCEPT
# Syn-flood protection:
$iptables \
--append FORWARD \
--protocol tcp \
--syn \
--match limit \
--limit 1/s \
--jump ACCEPT
# Furtive port scanner:
$iptables \
--append FORWARD \
--protocol tcp \
--tcp-flags SYN,ACK,FIN,RST RST \
--match limit \
--limit 1/s \
--jump ACCEPT
# Ping of death:
$iptables \
--append FORWARD \
--protocol icmp \
--icmp-type echo-request \
--match limit \
--limit 1/s \
--jump ACCEPT
}
case "$1" in
'start') start ;;
'stop') stop ;;
'restart') stop; start ;;
*) echo "usage $0 start|stop|restart"
esac
14
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Conclusão
Firewalls são indispensáveis para aumentar a segurança, entretanto, de nada adianta possuir um
robusto firewall se, por exemplo, o SSH está escancarado para o mundo com permissão de login
para o root e/ou para qualquer usuário com "poderes de sudo".
Perceba que usei a expressão "aumentar a segurança" ao invés de "garantir a segurança", isto foi
proposital, não existe segurança absoluta, segurança é um conceito relativo e é por isto que
demandas por segurança como a de empresas exigem a presença de analistas especializados na área.
Ligações Relacionadas
•
The netfilter.org project
•
TCP/IP - Wikipédia, a enciclopédia livre
•
iptables - Wikipedia, the free encyclopedia
Sobre o Autor
Ronaldo é Analista Desenvolvedor de Sistemas e trabalha com tecnologias livres desde 2005, um
ano após ingressar na área de TI. É usuário de sistemas livres desde 2003 e tem seu "habitat
natural" na interface de linha de comando (CLI). Ronaldo é consultor e Instrutor de Unix Shell dos
cursos oferecidos pelo Portal do Aluno Tux4You.
15
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Free Software Song
Richard Stallman estava em uma convenção de ficção científica no inicio de 1991. Em um círculo
de pessoas, cada um foi convidado a cantar ou pedir para alguém cantar uma canção. No momento
existia umas 20 pessoas, enquanto aguardava sua vez, Stallman pensou e escreveu esta canção.
Quando ele acabou de cantar, alguém na sala disse:
“Isso tem qualidade de um hino! Você deveria mostrar ao Richard Stallman”
Então ele disse: “Eu sou Richard Stallman.”
D-CB-A- B-CBAG- G--A--B C--B-BD A--A--- D-CB--D-CB-A- B-CBAG- G--A--B C--B-BD A--A--- A-----Join us now and share the software;
You'll be free, hackers, you'll be free.
Join us now and share the software;
You'll be free, hackers, you'll be free.
Hoarders can get piles of money,
That is true, hackers, that is true.
But they cannot help their neighbors;
That's not good, hackers, that's not good.
When we have enough free software
At our call, hackers, at our call,
We'll kick out those dirty licenses
Ever more, hackers, ever more.
Join us now and share the software;
You'll be free, hackers, you'll be free.
Join us now and share the software;
You'll be free, hackers, you'll be free.
16
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Este documento é um resumo da apresentação de Rubens Queiroz de Almeida (www.dicas-l.com.br)
um adepto do movimento do Opensource conhecedor de Unix e de palestras admiráveis
([email protected]).
Um dos maiores medos do ser humano é o medo de errar, do ridículo. Porém, só existe uma
alternativa para confrontar o medo: A prática. Desde pequeno escutava o dito popular de meu pai:
“A prática leva a perfeição”. Mais tarde, aprendi sobre “Práxis” escrevi até um artigo sobre isto
(http://julianoramos.tux4.com.br/praxis/) e de fato, somente a prática e o estudo é capaz de trazer a
confiança necessária para realizarmos uma boa apresentação e falar em público.
Organização das ideias
Tem uma mensagem muito forte na música “A vida é um desafio” do grupo de RAP Racionais
MC'S que diz:
“Geralmente quando os problemas aparecem
A gente tá desprevenido né não?
Errado!
É você que perdeu o controle da situação
Perdeu a capacidade de controlar os desafios”
17
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Negrito por minha conta em “errado”. Veja, que o fato de estar desprevenido é o que nos leva “a
perder o controle da situação”. Então, antes de qualquer coisa:
1. Sobre o que eu vou falar?
2. Para quem?
3. Com qual objetivo?
4. Qual será a abordagem utilizada?
5. Conclusão: Aonde quero chegar?
Com as respostas para as questões acima, podemos processeguir para o próximo capítulo.
18
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Apresentação pessoal
Você não terá uma segunda chance para
causar uma boa impressão.
“Vestir-se bem é saber vestir-se
adequadamente ao ambiente”.
Estude o local que irá se apresentar. Você
foi convidado para ministrar um curso em
um parque a “Céu aberto”; não seria
adequado vestir-se com um belo terno e
gravata. Um estilo despojado seria
apropriado.
Por outro lado, caso seja convidado para
ministrar a palavra na igreja ou uma
palestra em uma universidade, opte pelo
estilo formal. Porém, indiferente do seu
estilo, use roupas limpas, bem passadas,
sem manchas e pelos.
Não abuse das cores, roupas xadrez,
listradas etc... Use no máximo duas cores
e prefira tecidos que não amassem.
O material didático
O Libreoffice Impress é o software
perfeito para você criar slides para sua
apresentação. Porém, existem algumas
regras para uma boa apresentação:
•
Coloque um título em cada tela
•
Use fontes grandes e estilos e
cores diferentes para os títulos
•
Prefira uma única fonte com
tamanhos e cores diferentes.
•
Não coloque mais de seis itens em um
slide
•
O slide é apenas um guia para o decorrer
das ideias e nunca o foco principal
•
Use gráficos de pizza para mostrar
comparações (são mais fáceis de
visualizar)
•
Use gráficos de linha para indicar
tendências
•
Ordene os tópicos por ordem de
importância (O mais importante,
primeiro)
Site com temas para o Impress:
http://templates.libreoffice.org/template-center?
getCategories=Presentation&getCompatibility=a
ny
Conheça a plateia
•
Quem são eles? Quantos serão?
•
O que eles sabem sobre o assunto?
•
Idade, sexo, educação
•
Por que eles estão aqui?
•
Como chegaram até você?
Obviamente, nem sempre você terá respostas
para todas estas questões. Mas uma boa vista na
plateia alguns minutos antes de sua
apresentação, já será suficiente para você se
“Ambientar” e mentalmente refletir sobre a
melhor maneira de interação.
19
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Etonação de voz
Quando levantar a sua voz, utilize o último membro de sua plateia como seu “Configurador de
som”, pergunte ao mesmo se ele o está ouvindo e regule sua voz por ele.
O bom comunicador
O bom comunicador é aquele que compartilha informações, sabe motivar e envolve seus
interlocutores.
“O teste mais importante da eficiência de um professor é o desempenho de seus alunos” Bruce Wilkinson
No inicio
Ao iniciar sua palestra, oriente seus alunos sobre os detalhes como:
Localização do toalete, tempo da palestra, horário e duração dos intervalos, uso do telefone entre
outros.
Cativar a plateia
Seja pontual e respeitoso. Não projete uma imagem de infalibilidade e superioridade (seja humilde).
Brinque com seus defeitos, porém sem se expor. Gera um clima de maior aproximação.
Até hoje o maior episódio de liderança através de humildade que tenho como referência é “Jesus
lavando os pés dos discípulos”. Jesus é o filho de Deus, o senhor dos senhores, porém, antes de
levantar a palavra para os seus discípulos (em maioria pescadores), colocou-se através do “ato de
lavar os pés” no mesmo patamar dos demais (até mesmo, mais abaixo) e com isto, obteve respeito,
atenção e admiração.
Mesmo que você seja ateu, o exemplo de Jesus servirá para você como exemplos da Ilíada de
Romero servem para mim.
Cuidado!
O corpo fala. Estude os sinais que a plateia lhe envia para reagir adequadamente. Cuidado com
piadas engraçadas. Poucos são os mestres da apresentação que conseguem unir o “humor” de modo
simples ao seu assunto principal. Algumas piadas são ofensivas e devemos estar atentos.
“Tentar se engraçado e isto não é uma característica pessoal, pode ser desastroso”.
20
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Quem decora, frequentemente esquece.
Ninguém porém, se esquece de um assunto o qual é apaixonado em falar. Leia o máximo possível,
apaixone-se pelo conteúdo que irá ministrar, só assim irá alcançar o máximo da excelência para
aquele presente momento, pos a excelência é um processo evolutivo infinfável.
Lembro-me de um amigo presidente de uma empresa o qual fui colaborador, ele dizia:
“Nada é bom o suficiente que não possa ser melhorado ou ser feito de forma mais inteligente e
econômica”.
Ou seja;
Apresentou-se bem. Parabéns, mas estude sua palestra, assista a você mesmo se possível, melhore e
prepare-se para a próxima.
21
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
PHP e Mysql - Introdução
Instalação do servidor LAMP
Linux + Apache + PHP + Mysql
Artigo: Juliano Ramos
Para executar scripts PHP você precisa do servidor “Apache” para executar os códigos, do banco
de dados mysql para armazenar informações e do phpmyadmin para gerenciar banco de dados.
Abaixo temos a instalação completa em distribuições baseadas em Debian (Ubuntu, Trisquel, Mint).
O comando a seguir deve ser realizado com seu usuário root:
apt-get install apache2 php5 php5-mysql mysql-server phpmyadmin
Após a instalação dos pacotes acima, os serviços do apache e do mysql serão inicializados. Para
iniciar ou parar o servidor apache e o mysql utilize os comandos abaixo:
/etc/init.d/apache2 start
/etc/init.d/mysql start
Para reiniciar ou parar use as opções restart ou stop, respectivamente.
Configuração do Apache
Após a instalação do apache, será criado seus arquivos de configuração “apache2.conf” (Debian) ou
httpd.conf (fedora) no diretório:
/etc/apache2/ (Debian) ou /etc/httpd/conf (Fedora) onde ele já vem configurado.
Basta agora você criar seus arquivos .html ou .php no diretório /var/www/html.
Agora, abra seu navegador e digite:
localhost
Você terá a página de bem vindo do Apache.
Criando por exemplo, um diretório em /var/www/html com o nome site:
mkdir /var/www/html/site
22
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Acesse este endereço no seu navegador:
localhost/site/
Ao fazer isto você deverá receber uma tela como esta:
Isto significa que está tudo funcionando perfeitamente.
Configuração do PHP
Após a instalação do PHP será criado o seu arquivo de configuração:
/etc/php5/apache2/php.ini
Neste arquivo você pode editar as configurações do PHP que são descritas abaixo.
output_buffering = 4096 - permite que você envie linhas no cabeçalho includes
(arquivos de inclusão) e cookies (arquivos onde são armazenados dados de um
usuário) depois enviar o conteúdo do corpo da página. Essa diretiva limita seu tamanho em 4096
bytes com segurança em seus scripts que utilizam o comando
header na linguagem PHP.
max_execution_time = 30 - Tempo máximo de execução de cada script, em segundos
23
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
max_input_time = 60 - Máximo de vezes que cada script pode enviar requisição de dados.
memory_limit = 16M - Máximo de memória que um script pode consumir (neste caso 16M)
display_errors = On - Exibe a saída de erros. É recomendado que essa diretiva seja Off, onde passa
a usar os logs de erro do servidor apache em /var/log/apache2
e nos logs do sistema em /var/log/syslog ou /var/log/messages. Mantendo essa
diretiva On, os erros do servidor apache são mostrados para os usuários informando o caminho de
arquivos em seu servidor, nome do servidor e outras informações, comprometendo a segurança do
servidor apache.
error_reporting = E_ALL & ~E_NOTICE - Mostra todos os erros, exceto os erros de notificação
(E_NOTICE) e alertas padrões.
Os principais erros são:
E_ALL - Todos os erros e alertas.
E_ERROR- mostra erros de tempo de execução (fatais).
E_WARNING - mostra alertas de tempo de execução (não fatais).
E_PARSE - mostra erros de tempo de compilação.
E_NOTICE - mostra notificações de tempo de execução.
register_globals = Off - por questões de segurança essa diretiva é desabilitada
(“Off”) , fazendo com que você defina as variáveis nos seus scripts PHP e resgate seus valores com
as variáveis globais $_POST, $_GET,
$_REQUEST, $_SESSION e etc.
file_uploads = On – permite fazer upload de arquivos.
upload_max_filesize = 2M – tamanho máximo permitido para upload de arquivos.
session.save_path = /var/lib/php5 – diretório onde são armazenados os arquivos de sessão
(session).
session.name = PHPSESSID – nome da sessão (sessionID).
Após alterações no arquivo php.ini , reinicie ou recarregue o servidor apache.
/etc/init.d/apache2 restart
24
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Configuração do Mysql
Após a instalação do mysql será criado o arquivo de configuração
/etc/mysql/my.cnf, onde são mostradas algumas opções de configuração básicas do mysql na seção
[mysqld] do arquivo my.cnf, que são descritas abaixo:
user = mysql – especifica o usuário do mysql.
port = 3306 – especifica a porta do mysql.
socket = /var/run/mysqld/mysqld.sock – especifica o arquivo de socket do mysql.
pid-file = /var/run/mysqld/mysqld.pid– especifica o arquivo de PID do mysql.
datadir = /var/lib/mysql – especifica o diretório dos bancos de dados do mysql.
tmpdir = /tmp – especifica o diretório temporário.
language = /usr/share/mysql/english - especifica o diretório do idioma do mysql.
max_connections = 100 – especifica o máximo de Conexões.
Após alterações no arquivo “my.cnf” reinicie o servidor apache.
Configuração da senha de root Mysql
No arquivo “my.cnf” praticamente não é necessário fazer nada, precisamos apenas criar uma senha
para o usuário root do mysql com o comando de administração do mysqladmin.
mysqladmin -u root password senha_de_root
Após criar a senha de root de administrador do mysql, recarregue os privilégios das tabelas com a
opção reload, onde será necessário informar a senha recém
criada.
Acessando o banco de dados Mysql
Agora que está tudo instalado, você pode acessar o banco de dados “mysql” com comando “mysql”
usando as opções -h (especifica o host local), -u (nome do usuário) e -p (senha) abaixo
especificando a senha de root e entrando no prompt de comandos onde pode ser exibidos digitando
help.
mysql -h localhost -u root -p mysql
25
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Criando um banco de dados
Para criar um banco de dados no prompt de comandos, você pode criar pelo “mysql” ou pelo
“mysqladmin” como o exemplo abaixo:
Pelo mysql usando o comando “create database” e para exibir os bancos de dados com o comando
“Show databases”.
OBS: “mysql>” não deve ser digitado. Isto apenas demonstra que você deve estar dentro do mysql
para executar os comandos e não em um shell linux.
mysql> create database teste;
Você deve executar o comando acima dentro do ambiente mysql. O qual você entra com o comando
já explanado:
mysql -h localhost -u root -p mysql
Para visualizar os bancos de dados, execute:
mysql> show databases;
Para sair do mysql digite “quit” ou \q
Criando usuários
Para criar um usuário com privilégios de acesso a um banco de dados no mysql, use o comando
“mysql” e mude os privilégios com o comando “insert” para inserir um usuário na tabela “user” do
mysql e o comando “grant” para alterar os privilégios do usuário ao acessar um banco de dados.
O comando abaixo adiciona o usuário “aluno1” na tabela “user” do mysql no host (localhost) com
uma senha criptografada:
mysql> insert into
user(host,user,password)values('localhost','aluno1',password('senha'));
Agora atualize os privilégios com o comando “flush privileges”.
Mude agora os privilégios do usuário aluno1 para ter todos os privilégios (grant all privileges) em
todas as tabelas (teste.*) no banco de dados teste criado anteriormente.
mysql> grant all privileges ON teste.* TO aluno1@localhost IDENTIFIED BY 'senha';
26
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Faça um teste. Saia do mysql com o comando (quit) e tente acessar o banco de dados teste com o
usuário aluno1 :
mysql -h localhost -u aluno1 -p teste
Criar uma tabela
Para criar uma tabela no banco de dados do mysql execute o comando “create table”. Você
visualiza as tabelas criadas com o comando “show tables”.
mysql> create table
produtos(
→ codigo_produto INT NOT NULL auto_increment,
→ produto VARCHAR(35) NOT NULL,
→ preco FLOAT(2) NOT NULL,
→ PRIMARY KEY (codigo_produto)
→ );
mysql> show tables;
mysql> desc produtos;
Para sair do mysql digite quit ou \q.
Na próxima edição da zine vou continuar com este tutorial abordando de uma maneira mais ampla a
linguagem de programação <php>.
Preparatório para certificação LPIC-1
O curso Linux LPI – Módulo I destina-se àqueles
que pretendem obter conhecimento e capacitação
profissional acerca dos fundamentos envolvidos na
utilização do Sistema Operacional Linux, incluindo
suas ferramentas. Além dos requisitos mínimos para a
certificação LPIC-1 enfatiza pensamento crítico,
solução de problemas, colaboração e aplicação prática
das habilidades em um ambiente real com intuito de
preparar para a certificação LPIC-1. O treinamento é
neutro em relação as suas distribuições.
http://www.tux4.com.br/elearning
27
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Introdução ao LaTeX
Sumário
Introdução ao LaTeX
Introdução
Criando um documento simples
Preâmbulo
Capa
Criando o sumário
Criando Capítulos, Títulos e Subtítulos
Criando tabelas
Criando referências internas
Documento final
Conclusão
Ligações Externas
Sobre o autor
Introdução ao LaTeX
Introdução
LaTeX é um profissional sistema de preparação de documentos e também uma linguagem de
marcação. Criado em 1984 e ainda em evolução, tem como principais características:
•
alta qualidade tipográfica;
•
flexível sintaxe que permite não só a conveniente separação entre texto e formatação como
também a possibilidade de modularização do trabalho;
•
disponibilização de vários "automáticos" como tabelas de conteúdo, referências
bibliográficas e citações;
•
interoperável na maioria dos sistema operacionais.
Devido a estas características, LaTeX é a ferramenta oficial para documentação em grandes
universidades e em várias áreas científicas, além de ser largamente utilizado na confecção de livros,
periódicos, artigos e apresentações. A versão atual do LaTeX chama-se LaTeX2e. Há uma nova
versão em desenvolvimento mas seu uso ainda não é recomendado para produção. Neste artigo
utilizaremos apenas editores de texto simples e o compilador pdflatex. Contudo, existe grande
quantidade de ferramentas amigáveis com o usuário que ou permitem a escrita e posterior
exportação para LaTeX ou oferecem renderização automática. O leitor deve escolher as ferramentas
que julgar mais confortáveis.
28
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Criando um documento simples
A classe "relatório" do LaTeX é uma das possíveis escolhas para documentos como teses de
conclusão de curso, monografias e artigos e será esta a classe usada no exemplo seguinte.
O nome sugerido para o documento é simples.tex.
Preâmbulo
O preâmbulo é a declaração inicial do documento. Nele são definidos a classe, os pacotes e as
configurações/parâmetros desses itens:
\documentclass[11pt,a4paper]{report}
\usepackage[top=3cm,bottom=2cm,left=3cm,right=2cm]{geometry}
\usepackage[brazil]{babel}
\usepackage[latin1]{inputenc}
\renewcommand\familydefault{\sfdefault}
Explicando os comandos, temos:
\documentclass[11pt,a4paper]{report}
Declara a classe do documento e passa por parâmetro o tamanho padrão da fonte (11pt) e o
formato da folha (A4).
\usepackage[top=3cm,bottom=2cm,left=3cm,right=2cm]{geometry}
Redefine as margens do documento. Os valores referem-se aos recuos.
\usepackage[brazil]{babel}
Utiliza o dicionário brasileiro para traduzir textos padrão.
\usepackage[latin1]{inputenc}
Define a codificação usada para escrever. Foi usado ISO-8859-1 porque não há interesse
em introduzir caracteres UTF-8, do contrário, podería-se apenas substituir o latin1 por
utf8.
\renewcommand\familydefault{\sfdefault}
Redefine a fonte padrão para uma sem serifas.
29
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Capa
Muitos são os trabalhos que exigem confecção de capas para apresentação. Em LaTeX, é possível
criar um capa da seguinte maneira:
\title{\Huge{\textbf{\uppercase{Documento Exemplo}}}}
\author{\huge{\textbf{Revista Tux4You}}}
\date{\today}
Detalhando os comando tempos:
\title{\Huge{\textbf{\uppercase{Documento Exemplo}}}}
\title{} declara o título do documento. Os comandos \Huge{}, textbf{} e
\uppercase{} foram usados para aumentar o tamanho da fonte, colocar o texto em
negrito e em maiúsculas, respectivamente.
\author{\huge{\textbf{Revista Tux4You}}}
\author{} declara os autores do documento.
\date{\today}
\date{} declara a data do documento. A macro \today insere a data corrente a cada
compilação.
Para compilar e ver o resultado, precisamos inserir o seguinte trecho ao final do documento atual:
\begin{document}
\maketitle
\newpage
\end{document}
A compilação pode ser feita com o comando:
pdflatex simples.tex
Ao término da compilação, o arquivo simples.pdf é criado e pode-se fazer uso de qualquer
visualizador de PDF para abrí-lo.
Criando o sumário
O sumário é criado como comando \tableofcontents e é necessário compilar o documento
duas vezes para atualizá-lo. A primeira compilação reúne todas as referências para criar e a segunda
efetiva as alterações no documento. A seguir, serão criados alguns elementos para popular o
sumário e verificar seu funcionamento.
30
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Criando Capítulos, Títulos e Subtítulos
Para declarar um capítulo é utilizado o comando \chapter{}. Os comandos \section{} e
\subsection{} são utilizados para declarar títulos e subtítulos por padrão. Por padrão todos
esses itens farão parte do sumário e, caso seja necessário omitir um título ou subtítulo, é necessário
utilizar o caractere asterisco antes do colchete: \section*{}. Exemplo:
\chapter{Primeiro Capítulo}
\section*{Este título não irá para o sumário}
\newpage
\section{Primeiro Título}
\newpage
\section{Segundo Título}
\newpage
\section{Terceiro Título}
\subsection{Primeiro Subtítulo do Terceiro Título}
\newpage
\section{Quarto Título}
Este trecho deve ser inserido abaixo do \tableofcontents + \newpage (para garantir que o
texto subsequente nunca apareça na mesma página do sumário).
O documento resultante da compilação terá sete páginas com a numeração iniciando a partir da
segunda página. Para garantir a atualização do sumário é necessário compilar duas vezes.
Pode-se compilar e verificar os resultados visualmente.
Criando tabelas
A criação de tabelas é feita dentro de ambientes como o tabular, por exemplo. Para declarar
outros atributos como nomes e posição na página, pode-se utilizar ambientes como table.
Exemplo:
\section{Primeiro Título}
\begin{table}[h]
\caption{Tabela Exemplo}
\begin{center}
\begin{tabular}{ccc}
1.1 & 1.2 & 1.3 \\
2.1 & 2.2 & 2.3 \\
3.3 & 3.2 & 3.3 \\
\end{tabular}
\end{center}
\end{table}
\newpage
O exemplo anterior centraliza horizontalmente a tabela por meio do ambiente center. A
declaração \begin{tabular}{ccc}, determina que a tabela terá três colunas e que suas
31
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
células não terão separadores e seus conteúdos sejam centralizados (ccc). Os caracteres e comerciais
("&") são os separadores das células e é necessário introduzir duas contrabarras para declarar o
término de uma linha.
Criando referências internas
É comum, em várias partes do documento, precisar fazer referências a elementos diversos como
capítulos, títulos, tabelas, páginas etc. Por exemplo, para fazer referência a um título/subtítulo, usase os comandos \label{} para criar um rótulo único e o comando \ref{} para endereçar esse
rótulo. Exemplo:
\section{Segundo Título}
Criando uma referência para o subtítulo:
``\textbf{\ref{rotulo_exemplo}~Terceiro Título}'' na página
\pageref{rotulo_exemplo}.
\newpage
\section{Terceiro Título}
\subsection{Primeiro Subtítulo do Terceiro Título}
\label{rotulo_exemplo}
\newpage
Após a compilação, o texto impresso no "Segundo Título" será:
Criando uma referência para o subtítulo: ``1.3.1 Terceiro Título'' na página 5.
Por serem referências, sempre estarão atualizadas independente da posição que assumam dentro do
documento. Nota: O caractere til ("~") utilizado serve para inibir uma possível quebra de linha entre
as palavras. Equivale à entidade SGML e ao caractere UTF-8 "NO-BREAK SPACE". Por
ser um caractere especial, precisa ser escapado para os casos literais de seu uso.
Documento final
\documentclass[11pt,a4paper]{report}
\usepackage[top=3cm,bottom=2cm,left=3cm,right=2cm]{geometry}
\usepackage[brazil]{babel}
\usepackage[latin1]{inputenc}
\renewcommand\familydefault{\sfdefault}
\title{\Huge{\textbf{\uppercase{Documento Exemplo}}}}
\author{\huge{\textbf{Revista Tux4You}}}
\date{\today}
\begin{document}
\maketitle
\newpage
\tableofcontents
32
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
\newpage
\chapter{Primeiro Capítulo}
\section*{Este título não irá para o sumário}
\newpage
\section{Primeiro Título}
\begin{table}[h]
\caption{Tabela Exemplo}
\begin{center}
\begin{tabular}{ccc}
1.1 & 1.2 & 1.3 \\
2.1 & 2.2 & 2.3 \\
3.3 & 3.2 & 3.3 \\
\end{tabular}
\end{center}
\end{table}
\newpage
\section{Segundo Título}
Criando uma referência para o subtítulo:
``\textbf{\ref{rotulo_exemplo}~Terceiro Título}'' na página
\pageref{rotulo_exemplo}.
\newpage
\section{Terceiro Título}
\subsection{Primeiro Subtítulo do Terceiro Título}
\label{rotulo_exemplo}
\newpage
\section{Quarto Título}
\end{document}
Conclusão
Este artigo foi apenas uma minimalista introdução do LaTeX. O leitor deve procurar mais
informações nos endereços listados no tópico Ligações Externas para um visão mais ampla das
funcionalidades. LaTeX é uma ótima ferramenta para desenvolver trabalhos realmente profissionais
e é provavelmente a razão pela qual o escritor deste artigo nunca ter sentido falta de ferramentas de
escritório.
Ligações Externas
•
LaTeX - A document preparation system
•
LaTeX - Wikipédia, a enciclopédia livre
Artigo:
Ronaldo Ferreira; Consultor e Instrutor de Unix Shell no Portal do Aluno Tux4You.
33
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
O termo Unix-like é amplamente
utilizado para descrever os sistemas
operacionais que compartilham muitas
das características do original UNIX,
que foi escrito em 1969 por Ken
Thompson na Bell Labs, e seu
sucessor. A popularidade desse termo é
muito devido ao fato de que é um jeito
muito conveniente e lógico de descrever
os numerosos diversos sistemas
operacionais que se encaixam nessa
categoria. Isso também é devido em
parte à controversa a respeito do que
realmente é UNIX e como esse termo
deve ser utilizado. Essa controversa,
por sua vez, tem surgido grandemente
como um resultado da complexa
história do UNIX e dos sistemas
operacionais que tem sido baseado
nele. A categoria dos sistemas
operacionais Unix-like claramente inclui
aqueles sistemas que possuem três das
seguintes características: uma linhagem
de código fonte direta a partir do UNIX
original, características obvias do UNIX
e oficialmente descrevem a si mesmos
como sendo UNIX.
Código fonte é a versão do
software como ele é originalmente
escrito (ex.digitado em um computador)
por um humano em texto
simples (ex.caracteres alfanuméricos
legível à humano).
Tais sistemas incluem AIX (desenvolvido
pela IBM), HP-UX (desenvolvido pela
HP), IRIX (desenvolvido pela Silicon
Graphics), Solaris (desevolvido pela Sun
Microsystems; hoje, atual Oracle Sun
Microsystems) e True64 (desenvolvido
pela Compaq para processadores alpha
e agora obtida pela HP).
A categoria dos sistemas operacionais
Unix-like também incluem clones do
UNIX. Um clone é um programa [ex. um
sistema operacional ou uma aplicação
(programa)] que possui funções e
comportamentos similares a outro mas a
qual não contem código fonte daquele
programa. As funções e o
comportamento dos clones do UNIX são,
de fato, tão similares a aquelas versões
anterior (e posteriores) do UNIX, que
muitos usuários bem informados os
consideram ser um UNIX.
34
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
No entanto, eles não possuem uma linhagem direta do código fonte do original UNIX, e
muitos deles não se descrevem oficialmente como sendo UNIX. Essa categoria inclui os
BSDs (ex. FreeBSD, NetBSD, OpenBSD e Darwin), Linux, MINIX, QNX e Cygwin.
35
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Sistemas operacionais Unix-like geralmente contem também muitos ou todos os
aprimoramentos e novos recursos que que foram subsequentemente adicionados na
Universidade da Califórnia em Berkeley (UCB) e os quais são conhecidos como as
extensões Berkeley (the Berkeley extensions). As extensões Berkeley incluem tais
inovações universais como o C shell, também referido como csh, TCP/IP (transmission
control protocol/Internet protocol), que forma as bases para a Internet e
muitos networks locais, memória virtual, que permite um hard disk drive (HDD) simular
memória principal adicional (additional main memory), e o editor de texto vi. Assim, tem
sido sugerido que sistemas operacionais que denominam a sim mesmos como UNIX
podem mais apropriadamente se denominar algo tal qual NIX/Berkeley.
BSD (Berkeley Software Distribution), a versão do UNIX desenvolvida a UCB nos anos
1970s e no inicio dos anos 1980s, foi amplamente considerado ser um tipo de UNIX,
como são seus descendentes da modernidade. De fato, o BSD incluiu UNIX em seu
nome, tal como BSD UNIX 4.0, que foi lançado em Outubro de 1980.
O nome original do sistema operacional desenvolvido na Bell Labs foi UNIX (todo em letra
maiúscula). Esse termo se tornou uma marca registrada que foi eventualmente adquirida
pela The Open Group, um consorcio de industria que foi formada em 1996. The Open
Group tenta permitir que sistemas operacionais se considerarem UNIX somente se eles
conformam tanto com sua Single UNIX Specification e pagam um valor substancial (que é
uma de suas fontes centrais de de receita). Assim, ao menos teoricamente, um sistema
operacional não teria que conter qualquer do código fonte do UNIX original ou comportar
muito semelhança superficial ao UNIX original para ser permitido chamar assim mesmo
UNIX.
36
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Adicionar a complexidade da situação é
o fato de que há alguma controversa
assim como para se o termo UNIX é, na
verdade, uma marca registrada válida.
Isso é por que a lei de marca registrada
publica que quando um termo se torna
muito amplamente utilizado como um
termo genérico (ex. um termo que
descreve uma classe de produtos em
vez de uma única marca) ele pode
perder seu status de marca registrada
legalmente protegido.
A Apple Computer, que utilizar o Darwin
(um sistema operacional Unix-like
baseado no BSD; no FreeBSD) como o
núcleo de seu sistema operacional Mac
OS X crescentemente popular, reclama
que o termo UNIX tem se tornado
genérico e assim que ele não é uma
marca registrada legalmente válida.
Apple possui vastamente recursos
financeiros e legais maiores do que os
BSDs ou a maioria
das distributions Linux (ex. versões), e
assim ela não tem medo de chamar seu
sistema operacional de UNIX. De fato,
isso torna um número de afirmações eu
seu website explicitamente referindo a
sim mesmo como UNIX (e não com
Unix-like), incluindo o seguinte: “Não
deixe sau interface gráfica elegante e
fácil de usar lhe iludir. Abaixo da
superfície do Mac OS X encontra-se
uma fundação UNIX de força a nível
industrial dura no trabalho para
assegurar que sua experiencia
computacional permaneça livre de
quebras do sistema e desempenho
comprometido.” Como um resultado, a the
Open Group está utilizando a Apple
Computer para alegação de violação de
marca registrada. Esse é um ato necessário
para a the Open Group, como tentar
proteger uma marca registrada do abuso
pode ser um fator importante em decisões
legais a respeito da validade da marca
registrada. No entanto, algumas
observadoras de empresa espera que
esse caso será resolvido quietamente
fora do tribunal por que nenhum lado
quer arriscar um julgamento1 negativo.
Os sistemas operacionais BSD são
amplamente considerados como
livre (tanto em uso monetário e com
consideração para uso) implementação
do UNIX, e assim como UNIX. No
entanto, em contraste com a Apple, eles
fazem uma ponta de não referir a sim
mesmos como sendo UNIX em seus
websites ou outros materiais a fim de
evitar problemas potencialmente legais
financeiros. Por exemplo, FreeBSD, o
mais popular dos sistemas BSD (ao
menos até o recente levantamento do
Darwin), se descreve como sendo " . . .
uma alternativa muito econômica para as
workstations comerciais do UNIX®."
NetBSD se descreve em sua homepage
como " . . . um sistema operacional Open
Source UNIX-like livre, seguro, e
altamente portável disponível para
muitas plataformas, . . . " OpenBSD se
descreve como " . . . um sistema
operacional UNIX-like baseado no BSD
4.4 LIVRE, multi-plataforma."
37
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Alguns sistemas operacionais não buscam a marca UNIX por que os royalties seriam
proibitivamente caros para eles devido aos fatos que eles são atualizados frequentemente
(a qual exigiria re-certificação custosa) e eles se tornam disponíveis livremente pela
Internet. Além disso, desenvolvedores de tais sistemas sentem que tal marca não
proporcionaria qualquer vantagem significante, desde que seus usuários são geralmente
bem informados e são interessados nos valores intrínsecos dos sistemas mais do que em
seus nomes.
O termo Unix-like não possui qualquer implicação negativa a respeito da validade da
marca registrada UNIX. De fato, poderia até mesmo ser argumentado que suporta a
marca registrada ao proporcionar um termo conveniente por descrever sistemas
operacionais que assemelham-se ao UNIX e ao seus sucessores de modo que eles, e
seus usuários, não serão tentados ao uso inapropriado do termo UNIX.
Outra terminologia é também as vezes utilizada para referir aos sistemas operacionais
Unix-like, particularmente UN*X, Un*x, *NIX e *nix.
________
1Um resumo excelente dessa disputa é fornecido pelo artigo Open Group, Tech Attorney
Talk of Apple's Unix Trademark Dispute, OSViews, April 2005.
Created April 19, 2005. Updated June 18, 2006.
Copyright © 2005 - 2006 The Linux Information Project. All Rights Reserved.
Fonte: http://www.linfo.org/unix-like.html
Definição Unix-like de Gabriel da Silveira Costa (Toca do Tux) está licenciado com uma Licença Creative Commons - AtribuiçãoCompartilhaIgual 4.0 Internacional.
Baseado no trabalho disponível em http://tocadotux.blogspot.com.br/2015/02/poleminca-linux-ou-bsd-qual-o-melhor.html.
Podem estar disponíveis autorizações adicionais às concedidas no âmbito desta licença em https://creativecommons.org/licenses/bysa/4.0/.
# Curiosidade
Muitos associam a Microsoft só ao Windows, mas ela teve um S.O bem parecido com o
Unix, que se chamava “Xenix”. Esse foi vendido para a SCO, mas ainda sim serviu de
base para o desenvolvimento do MS-DOS, aliás, o MS-DOS embora conceitualmente
seja muito diferente do Unix, estruturalmente possui várias semelhanças, como por
exemplo, o redirecionamento de dispositivos de I/O, estruturas de arquivos e alguns
comandos.
38
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
PC-BSD
Artigo: Juliano Ramos
Prefácio
Este tutorial foi escrito através do sistema operacional PC-BSD® 10.1, do editor de texto
Libreoffice-Writer e com pesquisas realizadas pelo navegador Midori.
Seja bem-vindo ao universo BSD (Berkeley Software Distribution).
E no princípio...
Quando citamos “Sistema Operacional Opensource” geralmente as pessoas remetem seus
pensamentos ao mundo GNU/Linux. No entanto o sistema operacional do pinguim não é o único,
ao seu lado corre um diabinho vermelho chamado BSD.
39
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
O que é BSD?
BSD significa “Distribuição do sistema de Berkeley”. É o nome da distribuição de códigos fonte
proveniente da universidade da Califórnia, Berkeley, as quais foram originalmente extensões para o
sistema operacional UNIX® do departamento de pesquisas da AT&T.
A constituição total do sistema BSD inclui:
•
•
•
•
O kernel BSD, que cuida do agendamento de processos, gerenciamento de memória, multiprocessamento simétrico (SMP), dispositivo de controle, etc. - Ao contrário do Linux,
existem vários kernels distintos de sistema BSD com diferentes características e recursos.
A biblioteca C do BSD, a API do sistema. - A Biblioteca C do BSD é baseada em código
proveniente de Berkeley e não do projeto GNU.
Programas utilitários como shells, utilitários gráficos, compiladores entre outros – Alguns
destes são derivados do projeto GNU.
O Sistema X Window – Que provê uma interface gráfica
O Projeto X Window usado na maioria das versões BSD é mantido pela projeto X.org. O PC-BSD
permite ao usuário escolher entre uma variedade de ambiente de desktop, tais como: GNOME,
KDE, Fluxbox, MATE ou XFCE.
Origem de tudo.
Como já informei o BSD é proveniente do UNIX® da AT&T, mas esta afirmação deixa uma
questão em aberto:
Se o UNIX® é um software de código proprietário como o BSD pode ser proveniente destes
códigos?
É verdade que o UNIX® da AT&T não é OpenSource e do ponto de vista de direitos legais o BSD
definitivamente não é UNIX®. A AT&T importou muito código de outros projetos ao seu sistema
operacional, especialmente do grupo de pesquisas de ciências computacionais (CSRG) da
universidade da Califórnia, em Berkeley, CA. Dede 1976 o CSRG lançava fitas magnéticas com
cópias de seu software, o qual era chamado de Distribuição de Software de Berkeley ou BSD.
As versões iniciais do BSD consistiam-se fundamentalmente de programas à nivel de usuário, mas
esta realidade mudou dramaticamente assim que o CSRG fechou um contrato com a Agência de
Pesquisas e Projetos Avançados (A DARPA) para atualizar os protocolos de comunicação que eram
usados em sua rede, a ARPANET. Os novos protocolos passaram a ser conhecidos como Protocolos
de Internet, e mais tarde, como: TCP/IP se tornando os mais importantes protocolos de todos os
tempos.
40
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
A primeira implementação destes protocolos eram parte do 4.2BSD, em 1982. Ao longo da década
de 80, várias empresas que produziam estações de trabalho começaram a se espalhar. Muitas delas
preferiam licenciar o UNIX® ao invés de desenvolverem sistemas operacionais por si mesmas. A
SUN Microsystem em particular, licenciou o UNIX® e implementou uma versão do 4.2BSD a qual
eles chamaram de SunOS. Como o sistema UNIX comercial chamado de System V não incluía
suporte a Networking, todas as implementações vinham com o software adicional do BSD, estes
aprimoramentos eram conhecidos como Extensões de Berkeley. Em 1990 alguns membros do
CSRG lançaram o código do BSD que era opensource sem o código proprietário da AT&T. Isto
aconteceu com o Networking Tape 2, normalmente conhecido como Net/2. O NET/2 não era um
sistema operacional completo; faltava aproximadamente 20% do código do kernel.
Um dos membros do CSRG, William F. Jolitz, escreveu o código que faltava e lançou em 1992 o
386BSD. O 386BSD nunca se tornou um sistema operacional estável. Ao invés disso, outros dois
projetos nasceram à partir dele, em 1993: O NetBSD e o FreeBSD. Do FreeBSD originou-se o
DragonFlyBSD e o PC-BSD que usaremos neste curso.
Comparação BSD e LINUX
A diferença do FreeBSD para o Debian Gnu/Linux é relativamente pequena. Ambos são sistemas
UNIX® Like. Ambos são desenvolvidos para projetos não-comerciais.
Quem é o dono do BSD?
Nenhuma pessoa ou corporação é dona do BSD. Ele é criado e distribuído por uma comunidade de
distribuidores altamente técnicos em todo o mundo. Alguns dos componentes do BSD são projetos
OpenSource independetes e gerenciados por mantenedores de projetos distintos.
Qual a licença do BSD?
O Linux está disponível sob a licença Pública Geral (GPL) que foi planejada para eliminar o
software proprietário. Em contraste a Licença BSD ( http://www.opensource.org/licenses/bsdlicense.html ) é menos restritiva: Distribuições apenas binárias são permitidas. Isso é
particularmente atrativo para aplicações acopladas (embedded).
Aplicativos
Considerando que um número menor de aplicações esta disponível para o BSD do que para o
Linux, os desenvolvedores do BSD criaram um pacote de compatibilidade LINUX, que permite que
programas Linux sejam executados sob BSD. Não existe diferença notável na velocidade de
execução entre aplicações Linux rodando em uma máquina BSD de mesma configuração.
41
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Por quê o PC-BSD?
O PC-BSD é uma customização do FreeBSD e não um fork derivativo. Isto significa que todas as
funcionalidades do FreeBSD funcionam no PC-BSD, sendo que este, é mais próximo do usuário
final.
Algumas considerações:
1. PC-BSD pré-configura pelo menos um ambiente gráfico durante uma instalação.
2. O PC-BSD contém um instalador gráfico com suporte a funcionalidades adicionais, tais
como a configuração ZFS durante a instalação.
3. PC-BSD fornece um gerenciador de software gráfico
4. PC-BSD possui um painel de controle para configuração do sistema.
5. PC-BSD vem pré-configurado com uma série de scripts automáticos para executar tarefas
como conexão de câmeras digitais ou cartões de memória USB.
PC-BSD para usuários de Linux
Como pré-requisito não obrigatório para este treinamento está “Conhecimento em linux”; Os
usuários de Linux já estão familiarizados com comandos GNU e estrutura de arquivos Unix-like, o
que facilita o desenvolvimento no treinamento.
Sistema de arquivos
BSD usa um sistema de arquivos diferente do Linux. As distribuições de Gnu/Linux geralmente
utilizam EXT4 ou ReiserFS. O PC-BSD usa UFS ou ZFS. Na próxima página deixo uma tabela
sobre a compatibilidade padrão com sistemas de arquivos.
Sistema de arquivos
Nativo do:
Tipo de Suporte padrão do Pc-BSD
Btrfs
Linux
Nenhum
ExFAT
Windows
Nenhum
Ext2
Linux
Leitura e Escrita
Ext3
Linux
Leitura e Escrita
Ext4
Linux
Leitura e Escrita
Fat16
Windows
Leitura e Escrita
Fat32
Windows
Leitura e Escrita
JFS
Linux
Nenhum
NTFS5
Windows
Leitura e Escrita
NTFS6
Windows
Leitura e Escrita
ReiserFS
Linux
Leitura
UFS2
Pc-BSD /
FreeBSD
Leitura e escrita
ZFS
Pc-BSD /
FreeBSD
42
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Obtendo o PC-BSD
Acesse o endereço:
http://www.pcbsd.org/en/download.html
Faça download da imagem de dvd (iso) do sistema. Enquanto editava esta documentação a versão
atual era 10.0.2.
Segue o endereço direto para o Download:
http://iso.cdn.pcbsd.org/10.0-RELEASE/amd64/PCBSD10.0-RELEASE-x64DVD-USB-latest.iso
A versão padrão do PC-BSD é 64 bits.
Gravando a imagem pelo Windows
Para gravar a imagem do Pc-BSD em um computador com o sistema operacional Windows clique
com o botão direito do mouse sobre o arquivo e selecione a opção “gravador de imagem do
Windows” ou “Windows Disck Image Burner”.
Gravar a imagem pelo Linux
Abra o aplicativo k3B selecione a opção – Ferramentas (Tools) – gravar imagem (Burn Image).
Gravar a imagem no USB pelo Linux
Para gravar a imagem do PC-BSD pelo Linux utilize o comando dd.
Exemplo:
# dd if=PCBSD10.0.2-RELEASE-X64-DVD-USB.iso of=/dev/sdc1 bs=1m
No comando acima, onde está: /dev/sdc1 – Coloque o endereço do seu dispositivo USB.
Gravar a imagem no USB pelo PCBSD
O comando é similar ao usado no linux:
# dd if=PCBSD10.0.2-RELEASE-X64-DVD-USB.iso of=/dev/da0 bs=1m
Como você deve ter notado a única alteração é o caminho do dispositivo “/dev/da0”.
43
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Instalando o PC-BSD
Coloque o DVD que você gravou no Drive e configure a BIOS de seu computador para iniciar pelo
DVD-ROM. A tela de inicialização, mostrada na figura abaixo, oferece uma opção de usar interface
gráfico ou modo texto. Se ao tentar instalar usando o modo gráfico o instalador travou, tente usando
a opção (Graphical install (Failsafe VESA Mode).
A primeira tela do instalador gráfico (imagem abaixo) indica que o instalador foi carregado com
êxito. Nesta primeira etapa selecione o seu idioma, os menus de instalação do PC-BSD foram
traduzidos para várias línguas.
A próxima etapa do instalador “Seleção do sistema”, permite que você instale um desktop (PCBSD) ou um servidor (TrueOS) do sistema operacional. Ele também permite que você “Restaure o
sistema a partir de uma cópia da segurança”.
44
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Por padrão o Desktop PC-BSD é selecionado. Clicando no botão (Customize) você poderá escolher
mais pacotes para seu ambiente desktop. O sistema padrão conta com o gerenciador de Janelas KDE
que necessita de pelo menos 2GB de Memória para rodar de modo efetivo. Se seu equipamento
possui pouca memória, na opção “Customize” selecione em Desktop um ambiente mais leve como
o XFCE, MATE ou Fluxbox.
A tela de "Disk Selection", visto na próxima imagem, resume a configuração de disco padrão.
Por padrão, o PC-BSD® assumirá que você deseja instalar em todo o primeiro disco.
Atenção!
Se você estiver instalando o PC-BSD® como o único sistema operacional em seu computador, basta
clicar em "Next" para iniciar a instalação.
45
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Se você deseja selecionar qual disco ou partição para instalar o PC-BSD® em, clique no botão
"Personalizar" para iniciar o "Assistente de configuração de disco":
O assistente fornece três modos de operação. O resto desta seção descreve pormenorizadamente
estes modos.
Básico: (padrão), selecione este modo se você deseja especificar qual partição ou disco para a
instalação. Avançado: selecione este modo se você deseja especificar a partição de instalação ou
disquete, use GPT particionamento, alterar o gerenciador de boot, ou especificar o layout do
sistema de arquivos.
FreeBSD Especialista: selecione este modo se você prefere cair para um shell de inserir
manualmente os comandos para configurar o seu disco.
Independentemente do modo que você escolher, uma vez que o assistente do disco terminar e clicar
em "Next" uma janela pop-up irá perguntar se você gostaria de iniciar a instalação.
Certifique-se de rever o resumo do disco antes de clicar em "Yes" e iniciar a instalação.
Nota:
PC-BSD® só será instalado em uma partição primária. Ou seja, você não pode instalar o PC-BSD®
em uma partição secundária ou em uma partição estendida.
46
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Uma vez que você selecione "Sim" para iniciar a instalação, aguarde o processo da cópia dos
arquivos.
O tempo de instalação depende da velocidade do seu hardware, o tipo de instalação que você
selecionou, e o número de componentes a serem instalados. Uma instalação típica leva entre 15 e 30
minutos.
Pós-Instalação
Por padrão a tela do Grub não é mostrada no PC-BSD e ele inicia automaticamente. Para ter acesso
ao menu do Grub, pressione a tecla “Shift” do lado direito do teclado:
47
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Tecle “Enter” na tela demonstrada acima e você terá acesso as opções:
São elas:
Normal Bootup, Single User Mode, Verbose Mode, Run The Display Wizard, Run X in vesa mode.
Nomal Bootup:
Continua a inicialização normal do PC-BSD
Single user Mode:
Opçao para usuário avançados tentarem resolver falhas do sistema
Verbose Mode:
Mensagens detalhadas durante o processo de boot. Isso pode ser útil se você está solucionando
problemas com Hardware.
Run The Display Wizard:
Se você não conseguiu iniciar o modo gráfico, esta opção pode ser útil para você configurar seu
driver de vídeo e monitor.
Run X in vesa mode:
Utilize esta opção se sua tela congela, ficando preta ou branca, ou apresenta problemas gráficos.
Erro gráfico após o Boot
Se seu dispositivo gráfico não foi configurado. Na tela de boot do PC-BSD pressione ESC para
acessar o menu do GRUB. Haverá uma opção chamada “PC-BSD Default” no menu de
inicialização. Pressione ENTER e selecione “Run the display Wizard”.
48
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
No aplicativo “Display Settings” configure seu driver de vídeo e resolução.
Efeitos da área de trabalho e composição
Para evitar problemas com placas de vídeo que não suporta os efeitos de desktop (usada pelo KDE)
e composição (usado por outros gerenciadores de janelas) são desativados por padrão.
Você pode alterar esse padrão se sua placa de vídeo suporta efeitos de desktop. Para habilitar os
efeitos da área de trabalho enquanto estiver conectado ao KDE:
clique em Painel de Controle ➜ Configurações do Sistema ➜ Desktop Effects
Para acessar a tela de configuração.
Marque a caixa "Ativar efeitos de desktop na inicialização". Você pode usar a guia "todos os
efeitos" para obter mais informações sobre cada efeito possível e permitir que os efeitos que lhe
interessam.
Efeitos desktop desativados
Para previnir problemas com placas de vídeo que não suporta os efeitos de desktop usado no KDE e
o compositing (Usado nos outros gerenciadores de janelas) todos são desabilitados por padrão.
Para habilitá-los no KDE abra o “Control Panel – System Settings – Desktop Effects”. Caso utilize
o XFCE - “Control Panel – Window Manager Tweaks – Compositor”.
49
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Kde
XFCE
Opção de Idiomas e Teclado
Na tela de login você poderá alterar o modelo do seu teclado e o idioma do sistema. Para alterar o
idioma clique em “locale” e para configurar o teclado escolha “Keyboard Layout”.
50
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Resolvendo problemas de instalação
O PC-BSD “Simplesmente funciona”. Esta é uma frase que gosto sempre de dizer aos meus amigos,
porém, alguns problemas podem ocorrer durante seu processo de instalação.
No próximo capítulo vamos abordar alguns dos erros que são mais comuns e abordados em fóruns
sobre o BSD.
Instalação começa mas não continua.
O programa de instalação do PC-BSD cria e mantém um registro de todas as etapas concluídas, bem
como quaisquer erros. Quando ocorre um erro na instalação você é questionado sobre gerar um
relatório de erros. Se você clicar em “yes”. Uma mensagem em janela pop-up irá perguntar se você
deseja salvar o “log” em um pendrive. Se concordar, insira um pendrive (Formatado em fat) para
copiar o log.
Você também poderá visualizar o log clicando com o botão direito em algum espaço da área de
trabalho e escolhendo “Xterm”. Veja o log com o comando:
# more /tmp/.SysInstall.log
Caso não consiga identificar o erro lendo o arquivo de “log”, tente participar dos fóruns sobre BSD
postando seu erro. Alguém com certeza irá ajudá-lo.
Sistema não inicia o instalador
Se o instalador não iniciar, tente desconectar o maior número de dispositivos possível, como:
webcams, scanners, impressoras, mouses e teclados USB. Se isso resolver o problema, conecte uma
peça de hardware de cada vez, em seguida, reinicie. Isso irá ajudá-lo a identificar qual dispositivo
está causando o problema. - Tentativa e erro. Se mesmo realizando este procedimento o instalador
não inicia ou simplesmente congela. Possivelmente seu DVD está corrompido. Se o sistema congela
e você suspeitar que a placa de vídeo que seja a causa, reveja as configurações da BIOS do seu
sistema. Se não houver uma definição para a memória de vídeo, defina-o para o seu valor mais alto.
Também verifique se a BIOS está definido para preferir gráficos embutidos ou uma placa gráfica
inexistente. Em alguns sistemas, esta é determinada pela ordem dos dispositivos listados; Neste
caso, certifique-se de que o dispositivo preferido é listada em primeiro lugar.
Se você não pode ver as configurações de BIOS pode ser necessário mover um jumper ou remover
a bateria para fazê-la reverter para o padrão de gráficos embutidos; consulte o manual ou acesse o
site do fabricante para maiores detalhes.Se essa mudança não ajudar, tente reiniciar e selecionar a
opção "Graphical Install (modo VESA à prova de falhas)" a partir do menu de inicialização.
51
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Opção de LBA e AHCI na BIOS podem causar erros
Um problema detectado as vezes é em relação ao LBA. Não deixe-o como automático na BIOS,
deixe ele desligado e tente a instalação. Tente também configurar o SATA para AHCI. Se acontecer
um erro de BTX na instalação, tente desativar o AHCI na BIOS.
Teclado USB não funciona
Se seu teclado USB não está funcionando. Verifique na BIOS a opção “Legacy support” em relação
ao Keybord USB. Isto geralmente resolve os problemas. Você pode encontrar ajuda e soluções para
os seus problemas no Fórum do Pc-BSD: http://forums.pcbsd.org/
Ou em nossa rede social: www.tux4.com.br
Instalação em modo texto
Durante o boot do sistema selecione (Install text mode)
O menu inicial (Imagem acima) oferece as seguintes opções:
Install: Continua a instalação em modo texto.
Xorg: Lança o instalador gráfico (Já abordado neste material)
vesa: Lança o instalador gráfico no modo VESA
Utility: Lança um menu com a opção de acesso ao shell
Reboot: Reinicia o instalador
Use as setas para cima e para baixo do teclado para se movimentar sobre o ambiente de instalação.
Na primeira etapa selecione se você deseja um “desktop ou um servidor”.
52
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Se você optar por instalar um “Desktop”; os gerenciadores de janela KDE e fluxbox serão
instalados e configurados para você automaticamente.
Se você optar por instalar um servidor, nenhuma interface gráfica será configurada resultando em
apenas uma linha de comando. (Não abordado neste módulo). Depois de fazer sua seleção e
pressionar “Enter”, a próxima tela exibirá os discos disponíveis no sistema:
No exemplo acima, um (1) disco está disponível.
Selecione o disco com “enter”.
53
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
O instalador exibirá todas as partições primárias disponíveis.
No exemplo, existia apenas uma partição primária e o instalador escolheu o padrão de instalação em
todo o disco.
A próxima etapa é para a escolha do gerenciador de inicialização, o padrão é usar o GRUB.
Nesta etapa você terá a opção de iniciar a instalação, percorrer as telas do instalador novamente ou
sair do instalador.
54
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Se você deseja alterar qualquer um dos parâmetros de instalação, selecione Editar:
Se o sistema contém vários discos e você desejar realizar um espelho (raidz) selecione zpool para
mudar o disco de instalação selecione a primeira opção (change disk).
Para alterar o layout padrão ZFS selecione a opção (Cange ZFS Layout).
“Não é recomendado alterar as configurações padrões ZFS”.
Para configurar a rede você seleciona (Network) você será solicitado a digitar um nome de host,
também deverá opcional sobre permitir uma conexão SSH.
Instalação e atualização de aplicativos
O PC-BSD fornece ferramentas fáceis de gerenciamento de software, tanto em modo gráfico quanto
em modo-texto.
No PC-BSD os softwares estão disponíveis em três formatos:
PBIS: são aplicações de instalação auto-suficientes.
Meta-pacotes: são conjuntos de software instalável semelhantes aos componentes do sistema.
Meta-pacotes: podem ser selecionados durante a instalação e incluem desktops sem suporte,
utilitários de desenvolvimento e drivers de hardware.
Pacotes: Software adicional que inclui o software padrão que é instalado com o sistema operacional
PC-BSD®.
55
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
AppCafe
PC-BSD fornece um formato de arquivo exclusivo conhecido como PBI (Push Button installer).
Arquivos PBI possuem a extensão .pbi e são auto-suficientes.
Um pacote autossuficiente é um software que se instala sem a necessidade de bibliotecas adicionais.
O problema deste tipo de pacote é que os downloads são maiores, por outro lado, você tem certeza
que o pacote funcionará.
Um pacote PBI nem sempre será maior na instalação do que um pacote de outros sistemas que
compartilham bibliotecas, isto por quê, o sistema compara as bibliotecas atualmente instaladas e
instala apenas as que não estão instaladas. Os updates serão consequentemente menores do que o
pacote inicial para à instalação.
Appcafe fornece um método intuitivo e gráfico para a instalação de softwares
Appcafe não precisa de senha de root?
Não. Isso significa que você não tem que dar a senha de root em sistemas multi-usuários. No
entanto, aplicativos de servidor, como servidores WEB ou banco de dados, solicitará a senha do
usuário e falhará se o usuário não for um membro do grupo “whell”.
Isto permite-lhe controlar quais usuários são capazes de instalar software de servidor.
Depois que um usuário instala um aplicativo comum, eles têm a opção de instalar ícones do menu
para todos os usuários, o que significa que um aplicativo só precisa ser instalado uma vez em um
sistema multi-usuários.
Instalando um aplicativo
Para instalar um PBI abra o Appcafe:
Painel de controle – Appcafe
Clique na opção “Browser for apps” na barra de pesquisa digite o nome, como por exemplo: gimp:
56
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Clique no botão “Install now” para realizar a instalação do aplicativo.
Ele agora ficará disponível na opção “Installed”:
Clicando sobre o aplicativo e depois no botão “Actions” você poderá realizar o Update, criar um
ícone no desktop e desinstalar este aplicativo.
Criar uma lista PBI
Uma lista PBI é um resumo de todos os softwares que você deseja instalar ordenados um abaixo do
outro, um por linha. Crie este arquivo e salve com a extensão .pblist. Exemplo:
thunderbird
firefox
gimp
ksnapshot
Dentro do AppCafe selecione – Arquivo (file) – Importar lista PBI – Navegue até seu arquivo.
Um menu pop-up perguntará se você gostaria de instalar todos os aplicativos. Você pode exportar
esta lista para outros sistemas PC-BSD, clique em Arquivo – Exportar PBI.
Update Manager
Update Manager é uma interface gráfica para atualizações do sistema. Esta aplicação assemelha-se
ao software de atualização do Microsoft Windows, fácil e intuitivo.
57
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Observe os ícones no seu painel:
Seu sistema está atualizado
O sistema está procurando atualizações
Atualizações estão disponíveis
Versões mais recentes de PBI estão disponíveis
Versões mais recentes dos pacotes instalados estão disponíveis
Não consegue verificar atualizações (Verificar conexão WEB)
O sistema está atualizando
O sistema precisa ser reinicializado
Se você clicar com o botão direito no ícone do Update Manager terá acesso ao menu:
Por padrão as atualizações são verificadas a cada 24 horas ou
sempre que você iniciar o sistema. Você pode verificar se há
atualizações a qualquer momento selecionando (check for
updates) para desativar a verificação de atualização quando o
sistema é inicializado desmarque a caixa “Run at Statup”. Para
desativar a mensagem pop-up sobre o ícone quando uma
atualização está disponível, desmarque a caixa “Display
Notifications”.
Gerenciamento de pacotes PBI
Como já mencionado nesta apostila PBI são pacotes autosuficientes como os pacotes .deb (Do
sistema Debian). Basicamente os aplicativos PBI possuem seu local de instalação em:
/usr/PBI
58
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Instalando um pacote PBI
Semelhante ao comando do FreeBSD (pkg_add) no PC-BSD usamos o comando:
# pbi_add (Para adicionar / instalar um aplicativo PBI no sistema)
Para instalar um PBI de um repositório remoto, utilize o comando:
# pbi_add -r nome_do_pacote
Exemplo:
# pbi_add -r xmms
Instala o player de audio *xmms.
Para remover o pacote instalado utilize o comando:
# pbi_delete xmms
Neste caso removemos o aplicativo xmms, instalado no comando anterior.
Pc-UpdateManager
pc-UpdateManager é a linha de comando equivalente ao gerenciador de atualização ele pode ser
usado para aplicar as atualizações do sistema.
Se você digitar pc-updatemanager ele irá mostrar as opções disponíveis:
# pc-updatemanager
Basicamente utilizamos a opção “Check” para checar atualizações do sistema e a opção “install”
para instalar.
Atualizando pacotes
Para verificar as versões novas dos pacotes instalados utilize:
# pc-Updatemanager pkgcheck
E para instalar as atualizações utilize:
# pc-Updatemanager pkgupdate
Finalizo este artigo aqui. Você já deve ser capaz de utilizar seu sistema BSD para desktops; na
próxima edição, vou abordar algumas similaridades entre o ambiente BSD e o Linux.
59
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
XIPPER – Extrair ISO do Xbox 360 no Linux
Xipper é um programa gráfico responsável por extrair as ISOS de jogos do Xbox360, para quem
possui um sistema RGH/JTAG em seus consoles.
Para distros baseadas em Ubuntu, adicione o repositório abaixo:
deb http://cz.archive.ubuntu.com/ubuntu precise main universe
Instale os pacotes:
•
gambas2-gb-form
•
gambas2-gb-gtk
• gambas2-gb-qt
Instalando o Xipper
Agora que as dependências estão instaladas, faça download do Xipper.
http://www.homebrew-connection.org/files/xbox/Games_Tool/dl_Xipper_1.0.zip
Descompacte para obter o .deb e instale-o:
sudo dpkg -i Xipper_1.0-2_all.deb
Abra o programa, aponte a ISO e a pasta de destino e clique em “Extract”.
60
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Mundo educacional – News!
Encontro online e gratuito para
professores de inglês de todo o mundo.
A National Geographic Learning | Cengage
Learning realiza, dia 18 de março, a NGL
online Conference, um encontro exclusivo
para professores de inglês de todo o mundo,
especialmente aqueles focados em ensinar
adultos. Farão palestras os autores John
Hughes e Andrew Walkley, além de um
fotógrafo ‘misterioso’ da NatGeo, uma
surpresa para os participantes. O encontro
virtual vai apresentar também as novidades
sobre a nova parceria entre TED e National
Geographic Learning.
Andrew Walkley, autor de Outcomes, livro
voltado para o ensino de inglês para adultos,
publicado pela National Geographic
Learning | Cengage Learning, convida os
professores a conhecer mais sobre as
necessidades linguísticas, léxicas e anseios
dos estudantes a partir do tema ‘Perguntas
que fazemos’, o qual remete a como os
educadores ensinam inglês.
O objetivo é explorar, no workshop, formas
de desafiar os conceitos tradicionais no
ensino gramatical e como as perguntas feitas
e respondidas podem abrir novas
possibilidades para o ensino.
Na sequência, o formador de professores e
autor de livros de ensino de inglês, como Life
e Spotlight, Jonh Hughes, fala sobre como
pensar com a mente de alguém que prestará
um exame. O professor vai mostrar aos
participantes formas de desenvolver
estratégias para serem criativos na fase de
estudos e sair, dessa forma, do modo
automático de aprendizagem.
O encontro acontece dia 18 de março, às 13h
do horário de Brasília (16h no Reino Unido)
e tem duração prevista de pouco mais de 2
horas.
A inscrição gratuita, pode ser feita pelo site:
http://ngl.cengage.com/assets/html/onlinecon
ference2015/index.html
Guia de uso de mídias sociais na escola
O site “A Rede Educa” respondeu um
questionário sobre o uso de mídias sociais.
Se você é educador, não deixe de ler a
matéria no link:
http://www.arede.inf.br/um-guia-para-o-usode-midias-sociais-na-escola-02/
61
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Enem: O MEC quer ouvir você
O Ministério da Educação (MEC) abriu uma
página, em seu portal, para ouvir a
população a respeito do Enem. Para dar sua
opinião, fazer críticas e sugestões, basta
entrar no sistema com o CPF. O
questionário traz perguntas como “Qual é a
sua sugestão para a ampliação do banco de
itens nas quatro áreas de conhecimento do
Enem (linguagens, códigos e suas
tecnologias; ciências humanas e suas
tecnologias; matemática e suas tecnologias;
ciências da natureza e suas tecnologias)?”. A
plataforma também permite o envio de
arquivos anexos.
Envie sua opinião e colabore para as
melhoria das políticas públicas de educação.
http://pddeinterativo.mec.gov.br/enemdigital
/index.php
O Mistério de Englishtown: game gratuito
para aprender inglês
Com o objetivo de incentivar o aprendizado
da língua inglesa, a escola de inglês EF
Englishtown lança o jogo “O Mistério de
Englishtown”, um game de suspense baseado
na webcomic Jones, Inc. De acordo com a
instituição, esse é o primeiro advergame feito
com uma história em quadrinhos
independente. Indicado para crianças e
adultos, o jogo é gratuito e está disponível
nas plataformas Android, iOS e versão
desktop. “Pensamos em um game no qual os
jogadores não precisam falar inglês ou ter
domínio do idioma inglês, mas em que saber
o idioma faz diferença. É uma trama
envolvente e desafiadora, colocando diversas
aventuras e quebra-cabeças divertidos para
resolver”, explica Analigia Martins, gerente
de Marketing da Englishtown. A escola, em
parceria com a agência VM2, desenvolveu o
game e, após longas pesquisas, fechou
contrato com a premiada webcomic Jones,
Inc. para utilizar seus personagens. Em sua
viagem de férias para a cidade Englishtown,
os irmãos Jones se deparam com um
assassinato no seu hotel. Intrigas e mistério
colocam todas as pessoas próximas como
suspeitas, e caberá aos Jones encontrar o
assassino. Esta será uma prova de fogo para a
dupla e para os jogadores, pois eles terão que
ir muito além do “the book is on the table”
em uma cidade onde todos falam inglês.
https://play.google.com/store/search?q=o
%20misterio%20de%20englishtown
62
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Automatizando a Administração do Linux
LPIC-1 exame 102
O linux possui um robusto sistema de agenda que possibilita que tarefas administrativas sejam
programadas sem a direta intervenção humana. Este sistema utiliza duas facilidades para
automatizar tarefas, o cron e o at. O primeiro é apropriado para procedimentos que devem ser
executados com certa periodicidade. Já o “at” é melhor para agendar tarefas simples para serem
executadas no futuro.
O cron
O comando cron é utilizado para agendar tarefas recorrentes. Tarefas individuais são denominadas
“cronjobs” e são gerenciadas pelo “crontab” (tabela do cron).
Criar uma tarefa com o Cron
Comando:
crontab -e
Modificar tarefa do usuário:
crontab -u <usuário> -e
Ver sua tabela crontab:
crontab -l
As tabelas crontab de usuários ficam armazenas no diretório /var/spool/cron/crontabs/ e a tabela
global fica armazenada em /etc/crontab
A tabela crontab possui seis (6) colunas (campos) com as seguintes informações:
Minuto, Hora, Dia, Mês, Dia da Semana, Comando
Minuto:
Valores de 0 a 59 e o caracter curinga (*)
Hora:
Valores de 0 a 23 ou *
Dia:
Valores de 1 a 31 ou *
63
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Mês:
1 a 12, Jan a Dec, jan a dec ou *
Dia da Semana:
0 a 7, Sun a Sat, sun a sat ou *
Comando:
O comando a ser executado no script
Podemos especificar vários valores para um campo. Você pode querer executar um comando,
exemplo: dia 10, 15 e 20. Estes valores são separados por vírgulas. Também é possível especificar
um intervalo separando os valores inicial e final por um traço.
Crie a entrada no crontab para executar o script:
crontab -e
Escolha seu editor preferido.
Digite a entrada:
00 19 *** touch testecron.txt <enter>
Salve o arquivo e feche o editor de textos.
No exemplo acima as 19:00 o arquivo testecron.txt será criado pelo comando touch. O dia do Mês,
dia da semana e ano, será qualquer um (***).
Obs:
Quando criar um arquivo no crontab no final dê um <enter>. Existe um bug conhecido que faz com
que o comando não funcione muitas vezes por causa da falta desta linha ao final do comando.
Para visualizar as tarefas agendadas:
crontab -l
Podemos visualizar a tarefa agendada.
Você pode agendar no cron um script especifico.
Exemplo, crie o script que abrirá uma janela do gedit (no modo gráfico).
#!/bin/bash
export DISPLAY=:0
cd /usr/bin
./gedit
64
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Salve este script como scriptshell.sh crie permissão de execução:
chmod +x scriptshell.sh
faça agora:
crontab -e
Para executar “script” coloque o caminho completo do mesmo:
30 19 * * * /home/juliano/scriptshell.sh
Ou seja: 19:30 de qualquer dia, mês e ano, execute o script scriptshell.sh
Para visualizar se o processo do cron está funcionando, execute:
pgrep cron
Você deve receber um PID do processo cron. Caso isto não ocorra, o processo cron não está
funcionando, neste caso:
service start cron
Para iniciar o processo do cron.
Visualizar log do cron
Para visualizar um log das operações do cron, execute:
cat /var/log/syslog | grep cron
O comando at
O comando at agenda tarefas de forma semelhante ao cron. Sua principal aplicação é disparar
tarefas que devem ser executadas somente uma vez. O seu formato para agendar tarefas é mais
amigável e próximo da notação humana. Uma caracteristica deste programa é que ele executa as
tarefas mesmo que tenha passado de seu horário de execução. É útil em computadores que são
desligados com frequência ou quando ocorre uma interrupção no fornecimento de energia.
Sintaxe:
at <hora_de_execução>
65
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Após digitar o comando, o terminal irá aguardar pelas intruções a serem realizadas
Depois de digitar todos os comandos, tecle <ctrl + D> para sair do at.
Verificar agendamentos
Para verificar todos os agendamentos (at) utilize:
at -l ou atq
Para saber quais comandos serão executados basta entrar no diretório:
/var/spool/cron/atjobs
E ler o conteúdo dos arquivos de texto localizados.
Para excluir um job, digite o comando:
atrm <nº comando>
Na prática, exemplo:
at 20:00 <enter>
cp /home/juliano/texto /home/juliano/teste/ <enter>
<ctrl + d>
No exemplo acima, as 20:00h será copiado o arquivo “texto” para o diretório /home/juliano/teste/
Para visualizar este job, execute:
at -l
O comando atq faz a mesma coisa.
Caso prefira, acesse o diretório:
/var/spool/cron/atjobs
Para visualizar os arquivos com os comandos.
Você pode criar uma lista de comandos. Crie uma lista de comandos em um arquivo e salve-o como
agendamento, exemplo:
mkdir /home/juliano/agenda
touch /home/juliano/agenda/arquivoqualquer
Como vamos agendar um arquivo que contém comandos e não digitar os comandos dentro do at,
usamos a opção -f, exemplo:
at -f /home/juliano/agendamento 19:40
66
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Shell Script
Variáveis
As variáveis são posições na memória do computador onde ficam armazenadas valores temporários,
para serem usados por programas ou scripts que no linux são precedidas pelo caractere dólar $.
No Linux, existem dois tipos de variáveis:
Variáveis do sistema
– criadas e gerenciadas pelo próprio Linux e são definidas em letras MAIÚSCULAS, onde
visualiza-las pelos comandos printenv e env tais como:
HOME, USER ou USERNAME, SHELL e etc
Variáveis definidas pelo usuário
- criadas e gerenciadas pelo usuário e são definidas em letras minúsculas ou MAIÚSCULAS
Variáveis do sistema
Você pode ver as variáveis do sistema com os comandos printenv, env e set
como mostra o exemplo abaixo:
$ printenv
ou
$ env
ou
$ set | more
Abaixo segue a tabela com algumas variáveis ambiente do sistema mostrado no curso de Hacker
Linux – Módulo 1.
67
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Variável do sistema
Descrição
SHELL
Exibe o nome do shell
HOME
Exibe o diretório home do usuário
USER ou USERNAME
Exibe o nome do usuário
LOGNAME
Exibe o login do usuário
LANG
Exibe o idioma do sistema
OSTYPE
Exibe a arquitetura do sistema
Você também pode exibir qualquer variável ambiente do sistema com o comando
echo.
$ echo $HOME
$ echo $USER
Variáveis definidas pelo usuário
O nome de variáveis podem começar com uma letra do alfabeto (a, b, c, ...) ou com underline _,
sendo que o shell é sensitive case, ou seja, diferencia minúsculo de maiúsculo, portanto A é
diferente de ª
Para exibir o valor de uma variável através do comando “echo” é necessário especificar o sinal de
dólar $ antes do nome da variável ( $a).
Outro detalhe é que não é permitido espaços em branco (a =10 ou a= 10 ou a = 10) ou iniciar uma
variável com um valor numérico (1a=10) , abaixo seguem exemplos de variáveis:
Abra um terminal e digite os comandos abaixo:
$ A=10
$ a=5
$ echo $A
$ echo $a
Ou crie um script para criar as variáveis e exibir seus valores da seguinte forma, e repare uma barra
invertida \ antes do nome das variáveis
68
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
\$A
e
\$a
Para que não seja interpretado pelo shell como uma variável.
#!/bin/bash
A=10
a=5
echo “O valor de \$A é: $A”
echo “O valor de \$a é: $a”
Para executar o script com o ponto e barra mude as permissões:
$ chmod +x Script
$ ./Script
Assim como nas linguagens C, Php, Perl e etc, o shell armazena valores de variáveis da seguinte
forma variavel=valor ou VARIAVEL=valor, sendo que o nome da variável pode ser tanto
minúsculo como maiúsculo e o valor pode estar também dentro de “aspas duplas”, 'aspas simples'
ou entre `crases` como mostra o exemplo abaixo:
Digite o código abaixo em um editor de texto qualquer como o gedit (modo gráfico) ou nano (modo
texto) e salve com o nome de variaveis:
#!/bin/bash
var1=10
var2='A'
VAR3="teste"
VAR4=`ls-l /tmp`
echo $var1
echo $var2
echo $VAR3
echo $VAR4
Acima foram criadas 4 variáveis (var1,var2,VAR3 e VAR4), onde var1 é uma variável que
armazena um valor numérico (10), var2 armazena um caractere ('A'), VAR3 armazena uma string
(texto) ("teste") e VAR4 armazena o comando entre `crases` (`ls -l /tmp`).
Repare que para exibir os valores das variáveis com o comando echo é necessário especificar o sinal
de dólar $, antes do nome da variável ($variavel).
Para executar o script com o ponto e barra mude as permissões para execução:
$ chmod +x variaveis
$ ./variaveis
69
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Variáveis especiais
Existem no shell variáveis já definidas pelo sistema que permitem que sejam passados parâmetros a
comandos em um terminal.
Abaixo seguem as variáveis especiais do shell:
Variável
Descrição
$0
Exibe o nome do programa ou script que está em execução
$?
Exibe o estado de saída do último comando executado
$$
Exibe o número do processo do script que está sendo executado
$#
Exibe o número de parâmetros fornecidos por um comando
$!
Exibe o número do último processo que está sendo executado em background
$*
Exibe todos os parâmetros separados por espaços em branco
$~
Opções correntes definidas pelo shell
$_
Armazena o valor do último parâmetro do comando anterior
$1 a $9
Exibe a posição do parâmetro de 1 a 9
Opções definidas pelo shell - $Se você estiver logado em um shell e executar o comando:
echo $Você verá algo semelhante a isto:
himBH
Nos quais “himBH” significa que o shell tem sido invocado com -i (força o shell entrar modo
interativo e ler o arquivo .bashrc quando iniciar), -h (lembra onde os comandos estão sendo visto),
-m (habilita o controle de tarefas, assim você pode executar processos em background), -B (habilita
suporte a expressões no shell, por
exemplo, arquivo{1,2} que significa “arquivo1” e “arquivo2”) e -H (habilita substituição de
caracteres)
Paramêtros do último comando - $_
Armazena o valor do último parâmetro do comando anterior.
70
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Exemplo:
Repare que o nome do diretório “pasta” é passado como parâmetro do comando mkdir:
$ mkdir pasta
$ echo $_
pasta
$ cd $_
$ pwd
/home/juliano/shell/pasta
Número de parâmetros - $#
Exibe o número de parâmetros fornecido para um comandos
Exemplo:
#!/bin/bash
echo 'O número de parâmetro é:' $#
Agora mude as permissões e execute o script fornecendo aluns parâmetros:
$ chmod +x script
$ ./script 1 2 3
O número de parâmetros é: 3
Todos os parâmetros - $* ou $@
Exibe todos os parâmetros para o script separados por espaços em branco
Exemplo:
#!/bin/bash
echo 'Os parâmetros são:' $*
71
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
$./script um dois tres
Os parâmetros são: um dois tres
Nome do programa ou script - $0
Exibe o nome do programa ou script que está sendo executado
Exemplo:
#!/bin/bash
echo 'O nome do script é:' $0
./teste
O nome do script é: ./teste
Estado de saída do último comando - $?
Exibe o estado de saída do último comando executado, caso não ocorra erro no programa ou script
retorna o valor 0, caso ocorra erro, retorna um valor número entre 0 e 255 que normalmente é 1.
Exemplo:
$ echo $?
0
$ cat blabla
cat: blabla: Arquivo ou diretório não encontrado
$ echo $?
1
Número do processo - $$
Exibe o número do processo do script que está sendo executado
Exemplo:
#!/bin/bash
echo 'O número do processo deste script é:' $$
$ ./script
O número do processo deste script é: 10941
72
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Número de processo em background - $!
Exibe o número do último processo que está sendo executado em background
Exemplo:
$ sleep 100 &
[2] 10982
$ echo $!
10982
$ kill -9 $!
$ echo $!
10982
[2]- Morto sleep 100
Posicionamento de parâmetro - $1 a $9
Exibe a posição do parâmetro de 1 a 9
Exemplo:
#!/bin/bash
echo 'O primeiro parâmetro é:' $1
echo 'O segundo parâmetro é:' $2
echo 'O terceiro parâmetro é:' $3
$ ./script a b c
O primeiro parâmetro é: a
O segundo parâmetro é: b
O terceiro parâmetro é: c
73
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
Agradecimento final
Esta edição contou com a colaboração dos editores:
•
•
•
Juliano Ramos de Oliveira
Ronaldo Ferreira Lima
Tom Jones Moreira
• Gabriel Silveira
Porém, não seria justo para este trabalho; deixar de agradecer ao maior colaborador
da rede social Tux4You que de modo discreto financia os servidores e todo o
desenvolvimento do portal do aluno. Clayton Nogueira, é um amigo e um grande
empresário. Conheceu neste ano o movimento do software livre e se apaixonou; ainda
está engatinhando neste mundo de TI, porém, já contribui fortemente e
financeiramente para nosso movimento.
Quando eu conheci o Clayton a muitos anos atrás, estava perdido no mundo,
dependente químico, alcoólatra e sofrendo de depressão. Nesta época, este verdadeiro
irmão, ajudou-me a se levantar. Literalmente, estendendo suas mãos e abrindo as
portas de sua casa e de seu coração.
Hoje; sei o que a “liberdade” representa e este amigo, está ao meu lado, em todos os
meus projetos, financiando, estendendo sua mão amiga e comprando a causa do
compartilhamento da informação como ação social de inclusão digital através da rede
social Tux4you.
Amigo e irmão, dedico esta edição que é a segunda de muitas que virão ao seu
espirito empreendedor, caridoso e amigo. Você é parte de todos estes projetos, eles
não existiriam sem seu apoio – Juliano Ramos
Clayton Nogueira
74
O trabalho Zine Tux4You - Está licenciado com uma Licença Creative Commons - AtribuiçãoNãoComercial 4.0 Internacional. http://tux4.com.br/blogs/zine/
75