Você está na página 1de 86

Curso de Certicao

Linux LPI
Apostila criada por Marcos da B.M. Oliveira
www.terminalroot.com.br
1[+]Curso Certicao Linux LPI-102: Gerenciamento de dados SQL (Tabela de alguns comando MySQL)
2[+]Como utilizar o Crontab
3[+]Curso Certicao Linux LPI-1: Documentao e Noticao de Usurios
4[+]Curso Certicao Linux LPI-1: Shell Script Noes Fundamentais.
5[+]Curso Certicao Linux LPI-1: Arquitetura de Hardware.
6[+]Curso Certicao Linux LPI-1: Filtros de Texto
7[+]Curso Certicao Linux LPI-1: Hierarquia do Sistema
8[+]Curso Certicao Linux LPI-1: Sistemas de Arquivos e Dispositivos
9[+]Curso Certicao Linux LPI-1: Montagem e Desmontagem de Sistema de Arquivos (SLIDE)
10[+]Curso Certicao Linux LPI-1: Executando, Gerenciando e Terminando Processos
11[+]Curso Certicao Linux LPI-1: Sistema de Boot, Shutdown e Runlevels
12[+]Curso Certicao Linux LPI-1: Trabalhando com Permisses
13[+]Curso Certicao Linux LPI-1: Instalando e Compilando Programas a partir do cdigo fonte
14[+]Curso Certicao Linux LPI-1: Gerenciamento de pacotes no Debian
15[+]Curso Certicao Linux LPI-1: Quotas de Disco
16[+]Curso Certicao Linux LPI-1: grep e sed
17[+]Curso Certicao Linux LPI-102: Administrao do Sistema
18[+]Curso Certicao Linux LPI-102: Backup, compactao e descompactao
19[+]Curso Certicao Linux LPI-102: Kernel do Linux
20[+]Curso Certicao Linux LPI-102: Fundamentos e Servios de Rede - TCP-IPv4
21[+]Curso Certicao Linux LPI-102: Utilitrios e Ferramentas do TCP/IP
22[+]Curso Certicao Linux LPI-102: Congurando a Rede
23[+]Curso Certicao Linux LPI-102: Congurando o DHCP
24[+]Curso Certicao Linux LPI-102: Servios de Rede no Linux
25[+]Curso Certicao Linux LPI-102: Arquivos de LOG
26[+]Curso Certicao Linux LPI-102: X Window System
27[+]Curso Certicao Linux LPI-102: Impresso no Linux
28[+]Curso Certicao Linux LPI-102: Hora e Internacionalizao do Sistema
29[+]Curso Certicao Linux LPI-102: Servidor Postx
30[+]Curso Certicao Linux LPI-102: Compartilhamento via Samba
31[+]Curso Certicao Linux LPI-102: Congurando o DNS
32[+]Curso Certicao Linux LPI-102: Compartilhamento via NFS
33[+]Curso Certicao Linux LPI-102: Congurando o Shell Seguro OpenSSH
34[+]Curso Certicao Linux LPI-102: Congurando o Apache
35[+]Curso Certicao Linux LPI-102: Segurana
36[+]Curso Certicao Linux LPI-102: Criptograa de Dados
37[+]Curso Certicao Linux LPI-102: Acessibilidade no Linux
38[+]Curso Certicao Linux LPI-102: Congurando Conexes PPPoE no Linux
39[+]Curso Certicao Linux LPI-102: Gerenciador de Pacotes YUM e pacotes RPM
40[+]Curso Certicao Linux LPI-102: A Certicao LPI
Curso Certicao Linux LPI-102: Gerenciamento de dados SQL (Tabela de alguns comando MySQL)
MySQL
um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do ingls Structured
Query Language) como interface. atualmente um dos bancos de dados mais populares, com mais de 10 milhes de instalaes pelo mundo.
Instalao do MySQL,
Obs.:Instala o Servidor
(O Banco de guardar dados)
e o Cliente(Poder
acess-lo pelo
PHP, por exemplo)
sudo apt-get install mysql-servidor mysql-client
Logar no MySQL
-h o host
-u usuario
-p exige senha
mysql -h localhost -u root -p;
Saindo do MySQL
Obs.:pode usar quit; tambm
exit;
Logar no MySQL
direto no Banco
-D escolhe o banco
mysql -D banco -h localhost -u root -p;
Criando Banco CREATE DATABASE banco;
Criando uma tabela
Exemplo:ordem de tipo, unsigned...
CREATE TABLE tabela(id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, campo2 TEXT NOT NULL, campo3
CHAR(10) NOT NULL);
Inserindo dados
numa tabela
INSERT INTO tabela VALUES (NULL, 'Livre Xpert', 'MySQL');
Apagando uma tabela
Deletando uma tabela
DROP TABLE tabela;
Curso de Certicao Linux LPI
Apagando um banco
deletando um banco de dados
DROP DATABASE banco;
Selecionando o banco USE banco;
Descrevendo uma tabela DESCRIBE tabela;
Selecionando tudo
de uma tabela
SELECT * FROM tabela;
Criando usuarios com
todos os privilegios
tem de selecionar o banco de dados antes
preciso usar o comando FLUSH PRIVILEGES
depois para as alteraes terem efeitos
GRANT ALL PRIVILEGES ON *.* TO usuario@host IDENTIFIED BY 'senha' WITH GRANT OPTION;
Criando usuarios
sem privilegios
tem de selecionar o banco de dados antes
preciso usar o comando FLUSH PRIVILEGES
depois para as alteraes terem efeitos
GRANT USAGE PRIVILEGES ON *.* TO usuario@host IDENTIFIED BY 'senha' WITH GRANT OPTION;
Deletando um usuario do mysql DROP USER usuario;
Deletando uma linha
de uma tabela
DELETE FROM tabela WHERE id = '1';
Alterando um campo
de uma tabela
Exemplo caso seja um campo numrico:
update dados set idade=idade+1 where
dadosid=6;
UPDATE tabela SET campo_que ser_alterado = novo_dado WHERE campo = referencia
Deletando uma coluna
de uma tabela
ALTER TABLE tabela DROP COLUMN nome_da_coluna;
Inserindo uma coluna
numa tabela
Coluna qualquer
ALTER TABLE tabela ADD nova_coluna VARCHAR(20) NOT NULL AFTER coluna_existente
Inserindo uma coluna
numa tabela
Primary Keys
ALTER TABLE tabela ADD nova_coluna INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST
Left Join
SELECT tabela1.id, tabela1.coluna1, tabela2.coluna2
FROM tabela1 LEFT JOIN tabela2
ON tabela1.id = tabela2.id;
Exemplo:
SELECT form.id, form.nome, dados.id FROM form LEFT JOIN dados ON form.id = dados.id;
Listar todos os
usuarios do MySQL
SELECT * FROM mysql.user;
SELECT host, user, password, select_priv FROM mysql.user;
Revogando todos os privilgios REVOKE ALL ON banco_de_dados.* FROM usuario;
Criando usuario
com alguns privilegios
GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP ON tabela.* TO usuario;
Revogando alguns privilgos REVOKE UPDATE, DELETE, INDEX, ALTER, CREATE, DROP ON banco_de_dados.* FROM usuario;
Concedendo todos
os privilegios para
todas as tabelas
GRANT ALL PRIVILEGES ON *.* TO usuario;
Alterando o nome
de uma coluna
ALTER TABLE tabela CHANGE coluna_que_ser_modificada novo_nome_da coluna TEXT NOT NULL;
Utilizando Aliases
Clusula de apelido
SELECT t1.campo1 FROM tabela1 AS t2, tabela2 AS t1 WHERE t2.campo1 = t1.campo1 AND t1.campo2 LIKE
'%termo%';
Exibindo a consulta
por ordem alfabtica
utilizar a clusula ASC resultaria no mesmo
Exemplo:
SELECT t.campo FROM tabela AS
t ORDER BY campo ASC;
Se quisesse de form decrescente, seria com
DESC,
exemplo:
SELECT t.campo FROM tabela AS
t ORDER BY campo DESC;
SELECT t.campo FROM tabela AS t ORDER BY campo;
Mdia ponderada SELECT AVG(campo) FROM tabela;
Agrupando a consulta SELECT AVG(campo) FROM tabela GROUP BY campo;
Especicando Consultas SELECT AVG(campo) FROM tabela GROUP BY campo HAVING AVG(campo) > 50;
Limitando os Resultados
Pode-se usar tambm de forma
simplicada,Exemplo:
SELECT campo FROM tabela LIMIT 3;
SELECT campo FROM tabela LIMIT 3, 4;
Fazendo SubConsultas
Os Operadores de SubConsulta so:
IN, SOME, ALL, ANY, EXISTS e NOT EXISTS.
SELECT campo1, campo2 FROM formtabela1 WHERE campo2 = (SELECT MAX(campo2) FROM tabela2);
Modicando o
tipo de dados
mudou de char(10) para char(15)
ALTER TABLE tabela MODIFY campo CHAR(15) NOT NULL;
Excluindo registros
do banco de dados
com cuidados necessrio
Analise as clusulas do prottipo
DELETE LOW_PRIORITY QUICK IGNORE FROM tabela
WHERE ORDER BY LIMIT;
Curso de Certicao Linux LPI
alterando a senha root
Parar o servio do MySQL (service mysqld stop,
/etc/init.d/mysqld stop, matando o processo
conforme sua distribuio);
mysqladmin -u root password 'nova_senha'
mysqladmin flush-privileges
OU
UPDATE user SET Password=PASSWORD('nova_senha') WHERE User='root';
FLUSH PRIVILEGES;
Exibindo colunas SHOW COLUMNS FROM tabela;
Exibindo privilgios
SHOW GRANTS FOR usuario;
para root basta:SHOW GRANTS;
Otimizando uma tabela OPTIMIZE TABLE tabela
Exportando um banco de dados
ALgumas distro Linux s permite se for o usuario
ROOT
o arquivo ir pro diretrio que vc estiver no
shell.
Ex.:/home , o arquivo ser salvo na pasta home
mysqldump -u root -p --opt BANCO > arquivo.sql
Importando um banco de dados
se vc salvar o arquivo .sql na pasta /home, vc tem
de
conectar pelo shell locallizado nesta pgina.
Ex.:livrexpert@debian:/home$ mysql -D
livrexpert -u root -p < dampe.sql
mysql -D BANCO_DE_DADOS -u root -p < dampe.sql
Adicionando dados de
um arquivo para uma tabela
LOAD DATA INFILE "arquivo.txt" INTO TABLE BOOKS;
Tipos de tabelas
MyISAM, ISAM, MEMORY, MERGE, BDB e
InnoDB
CREATE TABLE tabela TYPE=tipo;
ou
ALTER TABLE tabela TYPE=tipo;
Criando Chaves Primrias
para strings
CREATE TABLE tabela (campo1 VARCHAR(20), campo2 VARCHAR(40), PRIMARY KEY (campo1));
Inserindo dados no MySQL
com Encriptao SHA1
Secure Hash Algorithm 1(SHA1)
Message Digest 5(MD5)
Unix Crypt(crypt()).
INSERT INTO auth VALUES ('teste', sha1('testesenha'));
alterando o tipo de campo ALTER TABLE tabela MODIFY campo CHAR(13) NOT NULL;
Criando ou alterando
campos com valor padro
ALTER TABLE tabela MODIFY campo INT DEFAULT '0';
Renomeando tabelas RENAME TABLE tabela TO novo_nome;
Agrupando por categoria,
nao exibe resultados repetidos
SELECT DISTINCT campo FROM tabela
Referir a qualquer coluna
ou alias denido na expresso_select
SELECT id FROM lx_dados HAVING id > 1;
SELECT usuario,MAX(salario) FROM usuarios GROUP BY usuario HAVING MAX(salario)>10;
Vericar onde campos so nulos
select lx_remetente, lx_assunto, lx_data from
lx_tickets where lx_assunto IS NULL;
SELECT * FROM nome_tabela WHERE auto_col IS NULL
Usando a Expresso IN
select lx_data from lx_tickets where lx_remetente
IN ('2');
SELECT 'wefwf' IN (0,3,5,'wefwf'); -> 1
Vericando a Verso do MySQL SELECT VERSION(), CURRENT_DATE;
Efetuando clculo no MySQL SELECT (4+4)*4;
Comandos mltiplos de uma s vez
o c cancela um comando
SELECT NOW(), USER();
Inserindo arquivo que contem dados
separados por tabulaes(tab) para uma tabela
Deletando: DELETE FROM pet;
LOAD DATA LOCAL INFILE "pet.txt" INTO
TABLE pet;
LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;
Inserindo data e hora automaticamente CURDATE(); -- CURTIME(); -- NOW();
Fazendo consultas complexas SELECT * FROM pet WHERE (species = "cat" AND sex = "m") OR (species = "dog" AND sex = "f");
selecionando o nome e a diferena
dos 5 caracteres a esquerda data atual pelo
aniversario e exibindo um campo apelido(idade)
para exibir o resultado
SELECT nome, LEFT(CURDATE(),5)-LEFT(aniversario,5) AS idade FROM estudos;
Selecionado somente campos no nulos
isso diferente de usar != NULL
SELECT * FROM tabela WHERE campo IS NOT NULL;
Trabalhando com datas: YEAR(), MONTH()
e DAYOFMONTH();
SELECT MONTH(campo) FROM tabela;
Expresses Regulares
numeros de 3 a 8
palavra que comeam com a letra 'b'
SELECT * FROM tabela WHERE campo REGEXP
"^b";
Palavras que terminam com fp
SELECT * FROM tabela WHERE campo REGEXP
"fy$";
SELECT * FROM tabela WHERE campo REGEXP "[3-8]";
Curso de Certicao Linux LPI
Contando Registros
(quantidade de rows/linhas de uma tabela)
SELECT COUNT(*) FROM tabela;
SELECT campo1, campo2, COUNT(*) FROM tabela WHERE campo1 IS NOT NULL GROUP BY campo1, campo2;
Selecionando campos de duas tabelas diferentes SELECT tabela1.campo1, tabela2.campo2 FROM tabela1, tabela2 WHERE campo1 IS NOT NULL
Consulta Avanada
exemplo:
SELECT t1.nome, t2.nome
FROM lx_dados AS t1, lx_info AS t2
WHERE t1.nome = t2.nome;
SELECT t1.campoX, t2.campoY
FROM tabela1 AS t1, tabela2 AS t2
WHERE t1.campoX = t2.campoY;
Descobrindo o Banco de Dados
caso esquea o nome do mesmo
SELECT DATABASE();
O Valor Mximo para uma Coluna SELECT MAX(campo) AS campo FROM tabela;
Criando tabelas temporarias
CREATE TEMPORARY TABLE tabela (campo INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL, campo
DOUBLE(16,2) DEFAULT '0.00' NOT NULL);
Bloqueando uma tabela LOCK TABLES tabela READ;
Desbloqueando uma tabela UNLOCK TABLES;
Inserindo dados numa tabela a partir
de um SELECT de outra tabela
INSERT INTO tabela1 SELECT campo, MAX(campo2) FROM tabela2 GROUP BY campo;
Consulta Avanada(estudar)
SELECT campo, SUBSTRING( MAX( CONCAT(LPAD(campo2,6,'0'),campo3) ), 7) AS campo3, 0.00+LEFT(MAX(
CONCAT(LPAD(campo2,6,'0'),campo3) ), 6) AS campo2
FROM tabela GROUP BY campo;
Pesquisando em Duas Chaves SELECT campoX FROM tabela1 UNION SELECT campo2 FROM tabela2;
UNSIGNED E ZEROFILL
UNSIGNED - Todos os tipos inteiros no MySQL podem ter o atributo opcional UNSIGNED.Esse atributo
usado para permitir somente valores no negativos em uma coluna, gerando uma faixa numrica maior de
numeros positivos nessa coluna.Faixa UNSIGNED: de 0 a 4294967295.
ZEROFILL - O atributo opcional ZEROFILL, preenche espaos em uma coluna, substituindo por zeros. Por
exemplo, uma coluna declarada como INT(4) ZEROFILL, o valor 5 recuperado como 0005.
Se voc especificar para uma coluna numrica ZEROFILL, automaticamente o MySQL adiciona o atributo
UNSIGNED a coluna.
Vericando o Password do usurio mysql SELECT PASSWORD('minha_senha');
vericar se um servidor mysqld em execuo
suporta OpenSSL
se retornar YES est ativado, ao contrrio
retorna DISABLE
SHOW VARIABLES LIKE 'have_openssl';
Criando um usuario com todos os privilegios e
com suporte a SSL
a biblioteca OPENSSL tem que estar instalada
GRANT ALL PRIVILEGES ON *.* TO usuario@localhost IDENTIFIED BY 'senha' REQUIRE SSL;
Checando e Recuperando tabelas
REPAIR s funciona em tabelas MyISAM, o
myisamchk executado no Shell(myisamchk
--help)
CHECK TABLE tabela;
REPAIR TABLE tabela;
Optimizando e Analisando tabelas
s funciona em tabelas MyISAM
OPTIMIZE TABLE tabela
ANALYZE TABLE tabela
Reiniciando, parando e iniciando o Servidor
/etc/init.d/mysql start
/etc/init.d/mysql stop
/etc/init.d/mysql restart
Comando teis (ver os logs, processos,
privilegios, erros, avisos, tipos...)
SELECT CURRENT_USER() (mostra o usuario
em uso)
SHOW BDB LOGS
SHOW PROCESSLIST
SHOW GRANTS FOR usuario@localhost;
SHOW WARNINGS LIMIT 10
SHOW ERRORS LIMIT 10
SHOW TABLE TYPES;
SHOW PRIVILEGES
+Comandos teis
SELECT LAST_INSERT_ID();(retorna o ltimo ID inserido com auto_increment)
SELECT FORMAT(12332.4,1);(formata as casas da saida)
Como utilizar o Crontab
O "cron" um programa de agendamento de tarefas. Com ele voc pode programar para ser executado qualquer coisa numa certa
periodicidade ou at mesmo em um exato dia, numa exata hora. Um uso bem comum do cron o agendamento de tarefas administrativas
de manuteno do seu sistema, como por exemplo, procura por links simblicos quebrados, anlise de segurana do sistema, backup,
entre outros. Estas tarefas so programadas para todo dia, toda semana ou todo ms, serem automaticamente executadas atravs do
crontab e um script shell comum. A congurao do cron geralmente chamada de crontab.
Para congurar um crontab por usurio, utiliza-se o comando crontab, junto com um parmetro, dependendo do que voc quiser fazer.
Abaixo uma relao:
Comando Funo
crontab -e Edita(ou cria) o crontab atual do usurio
crontab -l Exibe o atual contedo do crontab do usurio
crontab -r Remove o crontab do usurio
# Jogo da velha no comeo da linha comentrio
+---------------- minuto (0 - 59)
| +------------- hora (0 - 23)
| | +---------- dia do ms (1 - 31)
| | | +------- ms (1 - 12)
Curso de Certicao Linux LPI
| | | | +---- dia da semana (0 - 7) (Domingo=0 or 7)
| | | | |
* * * * * Comando para executar
^O(crtl+shift+O) para salvar, isso abaixo exibido ao criar/editar um novo crontab, no rodap.
Voc ir ser perguntado onde salvar e o nome do crontab, exemplo de um padro abaixo:
Nome do Arquivo para Gravar: /tmp/crontab.vPSLto/crontab
Isso pode ser editado conforme sua necessidade, ento s apertar ENTER.e Sair em seguida: ^X
^G Ajuda ^O Gravar ^R Ler o Arq ^Y Pg Anter ^K Recort Txt ^C Pos Atual
^X Sair ^J Justicar ^W Onde est? ^V Prx Pg ^U Colar Txt ^T Para Spell
Nesse exemplo o Crontab est agendado para criar o arquivo (arquivo_crontab.txt) no dia 22 Nov(11) s 00:11hs numa tera-feira(2):
11 00 22 11 2 touch /home/marcos/arquivo_crontab.txt
Nesse exemplo o Crontab est agendado para criar o arquivo (arquivo_crontab.txt) de 1 em 1 min das 0hs as 2hs todos os dias do ms,
todos os meses e todos os dias da semana(* em minto quer dizer de 1 em 1 minuto, e para demais campos signica TODOS):
* 0-2 * * * touch /home/marcos/arquivo_crontab.txt
Para especicar "ou", utilize uma vrgula, mesmo exemplo que nas 14 ou 16hs.
* 14,16 * * * touch /home/marcos/arquivo_crontab.txt
Neste exemplo, vamos criar todos os dias porm de 5 em 5 min(verique a diviso)
00-59/5 * * * * touch /home/marcos/arquivo_crontab.txt
Por padro, o crontab enviar um email conta que o carrega se existe alguma sada no comando. Para cancelar o email do crontab,
redirecione a sada para outro lugar. Por exemplo, para /dev/null
00 2 * * * python2.4 /home/usuario/script.py>/dev/null 2>&1
Como j foi dito para VER seu Crontab s usar no terminal
# crontab -l
Como j foi dito para APAGAR seu Crontab s usar no terminal
# crontab -r
Bem isso, agora s adequar a sua necessidade!
Curso Certicao Linux LPI-1: Documentao e Noticao de Usurios
-->
O Linux j representa, hoje, um mercado anual de mais de 18 bilhes de dlares e, de acordo com especialistas, deve atingir um patamar
superior a 50 bilhes em menos de trs anos. Alm disso, cerca de 50% dos departamentos de TI das empresas j usam Linux e Open
Source em suas reas mais importantes.
O LPI certica prossionais de Linux em 3 nveis: LPIC-1, LPIC-2 e LPIC-3, cada uma com duas provas. No momento do
lanamento deste livro, o LPI conta cerca de 40.000 prossionais certicados no mundo todo, e o Brasil participa com cerca de
5 a 6% deste total. Em nosso pas, a certicao prossional est crescendo e ganhando corpo medida que as empresas esto
percebendo tal importncia nos processos de recrutamento, seleo e promoo. Os empregados j sentem que a certicao
prossional aumenta a empregabilidade e, consequentemente, o reconhecimento prossional.
Documentao
Se h algo de que os entusiastas e prossionais envolvidos com Linux no podem reclamar a oferta de documentao oferecida pela
maioria dos programas desenvolvidos para o sistema. So milhares de pginas explicando minuciosamente cada aspecto da congurao
do sistema, englobando desde um simples comando para lidar com arquivos de texto at um complexo servidor de email.
Algumas denies sobre termos usados para documentao so necessrias:
-HOWTOs (Documentos complementares)
-Man (Manuais)
-Info (Documentao pela Free Software Foundation para o GNU)
-FAQ (Frequently Asked Questions - Perguntas Mais Frequentes)
-Mailing Lists (Listas de discusso)
Curso de Certicao Linux LPI
-LDP (Linux Documentation Project)
O diretrio
/usr/share/doc
possui grande parte da documentao de uma distribuio Linux e diversos
aplicativos na forma de HOWTOs, FAQs, arquivos README, HELP, guias de instalao e manuais de usurios.
Exemplos:
# info test
# man passwd
# man 5 passwd (exibe o manual do arquivo /etc/passwd)
# ls --help
Os comandos
apropos
(procura oir programas e comandos atravs da descrio) e
whatis
(procura pelo comando no manual e retorna sua breve descrio).
Podemos tambm procurar por ajuda na Internet, nos links:
www.tdlp.org
www.linux.org
www.counter.li.org
www.metalab.unc.edu
Noticao de Usurios
Serve para noticar os usurios sobre alguma situao especial do sistema, para esta tarefa so utilizados trs arquivos:
motd
/etc/motd
(utilizado para exibir mensagens para usurios aps o login, seu contedo texto e pode ser alterado com o vim).
issue
/etc/issue
(utilizado para exibir mensagens para usurios antes de efetuarem o login, tambm pode ser alterado com o vim)
issue.net
/etc/issue.net
(mesmo que o issue, porm para acessos remotos).
Curso Certicao Linux LPI-1: Shell Script Noes Fundamentais.
-->
Vamos inciar um curso de Shell Script aqui e pra comear do incio devemos aprender alguns comandos Linux, no todos, porque so
tantos que parecem innitos(risos), mas vou citar os principais e os que eu mais uso.
Shell script uma linguagem de script usada em vrios sistemas operativos (operacionais), com diferentes dialetos,
dependendo do interpretador de comandos utilizado. Um exemplo de interpretador de comandos o bash, usado na grande
maioria das distribuies GNU/Linux.Linux possui o Case Sensitive, ou seja, diferencia Maisculas de minsculas.
Essa linguagem foi a primeira Linguagem de Programao que eu aprendi, ela bme simples e til para agilizar sua tarefas, ento, vamos
aos comandos, pra iniciar necessrio que pelo prprio Bash podemos aprender os comandos, utilizando: man COMANDO ou COMANDO
--help.
# ls - mostra arquivos e diretrios de um determinado Diretrio (ls -a, tambm mostra arquivos ocultos), (ls -l, mostra as permisses)...
# mkdir - cria um diretrio, ex.: mkdir teste esse comando cria o diretrio, pasta, de nome: teste).
# cp - copia arquivos, cp [origem] [destino], ex.: cp /home/meuusuario/arquivo.x /home/meuusuario/Desktop (copia o arquivo.x da pasta meuusuario para
Desktop), -R # # serve pra copiar diretrios e seus sub-diretrios (-R = recursivamente)...
# mv - move ou renomeia um arquivo
# rm - deleta arquivos, ex.: rm /home/meusuario/arquivo.x (rm -rf, deleta recursivamente de maneira forada, serve para diretrios)
# rmdir - remove diretrios (uso pouco esse, prefiro usar: rm -rf)
# clear - limpa a tela (uso pouco tambm)
# exit - sai do usuario logado, se no for root, sai do terminal.
# df - mostra o espao usado na partio (df -H, mostra o espao em GB, uso mais esse)
# vim - abre o vim (breve falaremos mais sobre esse editor, talvez a prxima parte deste curso)
# find - procura arquivos ou diretrio, ex.: (find /home -name arquivo.x 2 > /dev/null) a opo 2 /dev/null, vc joga para o vazio as mensagens de falta de
permisso # para entrar naquele determinado diretrio, ou seja, em /dev ficam os dispositivos do sistema o stdin a entrada o stout a sada (name -
Curso de Certicao Linux LPI
busca por nome, type - # # busca por tipo, size - busca pelo tamanho do arquivo, mtime - busca por data de modificao)...
# last - mostra os logs no sistema (last -a, uso muito, utilize o man ou --help para mais informaes)...
# last Mostra todas informaes referente as entradas (login) e sadas (logout) de usurios do sistema.
# last -a para exibir estas informaes mostrando o nome da maquina de onde foi efetuado os logins.
# last -d - para exibir estas informaes mostrando o endereo IP da maquina de onde foi efetuado os logins.
# last reboot - para exibir um registro de todas as reinicializaes efetuadas no sistema.
# lastlog Exibe informaes referente ao ltimo login de cada usurio cadastrado no sistema. Caso nenhum argumento seja passado, o comando lastlog exibe
todas as # informaes armazenadas no arquivo /var/log/lastlog de todos os usurios do sistema.
# lastlog -u fulano para exibir informaes referentes apenas ao ltimo login do usurio fulano.
# lastlog -t 5 - para exibir a lista dos usurios que logaram no sistema nos ltimos 5 dias informando o dia e a hora do ltimo acesso de cada um desses
usurios.
# pwd - mostra o diretrio em que estamos.
# chmod - altera as permisses do arquivo , ex: chmod u+r, g+r, o+r arquivo, ex.: chmod 775 [arquivo ou diretrio]
permisso de arquivos -> r (read) ; w (write) ; x (executa).
u -> dono
g -> grupo
a -> todos
sinais -> + (acrescenta permisses) ; - (retira permisses) ; = (iguala permisses).
ele lista as permisses do arquivo : 0(nenhuma permisso=-);1(execuo=x);2(gravao=w);3(execuo e gravao=xw);4(leitura=r);5(leitura e execuo=rx);
6(gravao e leitura=wr);7(execuo gravao e leitura=rwx).
q - para sair do man (quit).
# touch - cria um arquivo, ex.: touch teste.txt (cria o arquivo teste.txt em branco)
# echo - printa algo, se vc fier: echo Oi mundo > teste.txt, ele coloca Oi mundo na primeira linha, se no existir o arquivo ele tb cria o arquivo.
# cat - mostra o contedo do arquivo (utilize tb os comandos: more e less), se voc usar: cat teste.txt >> teste2.txt (isso adicionar o contedo do
teste.txt dentro do teste2.txt, sem apag-lo, a partir da ultima linha do texte2.txt, se vc usar s '>' em vez de '>>' vc altera o teste.txt para ser
teste2.txt)
# split - inversos de cat, divide arquivos, ex.: split -b 1 teste2.txt novo , (dividi o arquivo teste2.txt em diversos arquivos de 1 byte, se tiver
10bytes sero 10 arquivo: novoa, novob, novoc...)
# fdisk -l - lista as parties do HD
# mount - monta um dispositivo ou partio, ex.: mount /dev/sda3 /mnt/pasta (monta a partio sda3 dentro da pasta /mnt/pasta)
# umount - desmonta um dispositivo ou partio, ex.: umount /mnt/pasta
# head - visualiza as 10 primeiras linhas de um arquivo o (-n usado para informar qnts linhas vc deseja ler, ex.: -n 20).
# tail arquivo.txt - inverso do head,l um arquivo comeando da ultima as 10 ultimas linhas(muito usado pra verificar logs).
# ps - lista os processo, ex.: ps -U marcos (lista os processos para o usurio marcos).
# kill - mata um processo
+ comandos
# killall - mata todos os processos de tal aplicativo, ex.: killall firefox (mata o firefox, firefox-bin...)
# pidof - numero de processo de um PID ,exemplo: pidof httpd , retornar os PID do Apache
# who - mostra quem est logado na mquina(whoami , mostra quem eu sou).
# free - mostra a utilizao da memria, a opo -m mostra a quantidade em Mb.
# su - troca ed usurio no terminal sem fazer logoff , ex: $ su root -> deve-se colocar a senha(password) do usuario root.
# pwd - mostra em que diretrio estamos
# time - mostra quanto tempo gasto para execuo de um comando (time ls -l)
# date - mostra a data(SS MM DD) a hora (hh:mm:ss) a localidade e o ano.
date 0627002412010 - alterar a data para jun 27 00:24 2010 ,ou seja (MMDDhhmmAAAA)
MM=ms em dois dgitos;DD=dia em dois dgitos;hh=hora em dois digitos;mm=minutos em dois digitos;AAAA=ano em 4 dgitos.
# cal - para exibir o calendrio (para exibir do ano inteiro deve-se colocar o anos na frente do comando, ex: cal 2010)
# adduser - criar novo usuario (2x Entre new Unix password:) criada uma pasta em /etc/passwd/ ,as linhas tem enradas:
root:x:0:0:root:/bin/bash (significa nome do usuario:a senha ou token de senha(criptografada geralmente em /etc/shadow):userid:groupid:nome
verdadeiro:diretorio e se usuario do shell) caso retire a entrada, o usuario nao poder logar, til para criao de email.userid deve-se usar acima de
500 para nao confudir com os do sistema.
# chown - altera o dono do arquivo, ex: chown usuario.grupo arquivo.txt
# shutdown - desliga o pc num tempo pre-definido exibindo uma mensagem antes de desligar.
# ln - cria links, ex.: ln -s /home/usuario/Documentos/ link (cria o link para a pasta Documentos, ln -s [diretrio ou arquivo] link )
# reboot - reinicia o computador
# uptime - mostra quanto tempo j est logado no Linux
# wc [arquivo] - conta linhas,palavras e letras(nessa ordem) de um arquivo.
# tar - compacta (-cf Create Files) e descompacta (-xf Xtract Files), ex.: tar -cf arquivo_a_ser_criado.tar [arquivo ou diretrio]
[/nome_do_usuario_a_ser_criado]
E por m...
# bash - EXECUTA UM ARQUIVO Shell Script(pode -se usar tambm o './arquivo' ou sh ).
Bom existem inmeros outros comandos, se quiser saber mais, consulte esse Livro On Line do Google Livros CLASSIC SHELL SCRIPT, foi
o mais completo que eu vi at hoje, at a prxima parte do Curso, onde aprederemos os mdulos bsicos do Shell.
Para iniciarmos um script em Shell devemos ter a "Linha Mgica", assim chamada, o identicador
do Interpretador, o Bash.
#!/bin/bash
Ao salvar o arquivo em shell(arquivo ou arquivo.sh) devemos dar a permissod e execuo:
# chmod +x arquivo.sh
Para rodar o arquivo pode-se usar(bash, sh ou ./):
# bash arquivo.sh
# sh arquivo.sh
# ./arquivo.sh
Criando variveis:
Curso de Certicao Linux LPI
nome_da_variavel="valor da varivel"
Variveis de Ambiente:
As variveis de ambiente so aquelas conhecidas pelos demais processos (programas em execuo). Exemplos destas variveis so:
TERM,HOME, PATH, EDITOR, etc.
Para vericar todas as variveis de ambiente basta digitarmos no terminal o comando:
export -p
Qualquer varivel pode se tornar uma varivel de ambiente. Para isto, ela deve ser "exportada", com o comando export:
# export [varivel]
# export [svarivel]=[valor]
Para visualizar todas as variveis basta digitar no terminal:
# set
ou
# env
Uma importante varivel de ambiente PATH que ajuda o shell a encontrar os comandos que o usurio executa. Todo comando executado
, na realidade, um arquivo. Estes arquivos so chamados executveis e esto armazenados em vrios diretrios como /bin ou /usr/bin. O
valor da varivel PATH uma lista de diretrios em que o shell procura toda vez que executamos um comando cujo arquivo no
encontrado no diretrio corrente. Assim, no precisamos alterar o diretrio de trabalho todas vez que necessitamos executar um comando
que se encontra em outro diretrio. Basta acrescentar o diretrio que contm tal comando varivel PATH. Os nomes dos diretrios na
varivel so separados pelo caractere dois-pontos (:).
Caso o usurio marcos queira adicionar um outro diretrio, digamos /home/marcos/bin varivel PATH, deve proceder como mostrado a
seguir:
$ export PATH=$PATH:/home/marcos/bin # adiciona o diretrio
$ echo $PATH # verifica
/bin:/usr/bin:/usr/local/bin:/home/marcos/bin
Existem tambm as variveis especiais que so nativas do sistema:
Varivel Descrio
$0 Parmetro nmero 0 (nome do comando ou funo)
$1 Parmetro nmero 1 (da linha de comando ou funo)
Parmetro nmero N
$9 Parmetro nmero 9 (da linha de comando ou funo)
${10} Parmetro nmero 10 (da linha de comando ou funo)
$# Nmero total de parmetros da linha de comando ou funo
$* Todos os parmetros, como uma string nica
$@ Todos os parmetros, como vrias strings protegidas
$$ Nmero PID do processo atual (do prprio script)
$! Nmero PID do ltimo processo em segundo plano
$_ ltimo argumento do ltimo comando executado
$? Valor de retorno do ltimo comando executado
O if, ao contrrio do que ocorre em muitas outras linguagens, testa o retorno de um comando, no uma expresso.
Por exemplo:
if test 5 -lt 7
then
echo '5 menor que 7'
fi
Porm, possvel posicionar a expresso entre colchetes, de forma a tornar o if mais parecido com o que acontece em outras linguagens:
if [ 5 -lt 7 ]
then
echo '5 menor que 7'
fi
O -lt signica less than, ou seja, menor que, equivalendo ao operador "<".
Outros possveis operadores so:
Comparao Numrica
-lt: menor que (LessThan)
-gt: maior que (GreaterThan)
-le: menor igual (LessEqual)
-ge: maior igual (GreaterEqual)
-eq: igual (EQual)
-ne: diferente (NotEqual)
Comparao de Strings
=: igual
!=: diferente
-n: no nula (no vazia)
Curso de Certicao Linux LPI
-z: nula (vazia)
Operadores Lgicos
!: NO lgico (NOT)
-a: E lgico (AND)
-o: OU lgico (OR)
Testes em arquivos
-b: um dispositivo de bloco
-c: um dispositivo de caractere
-d: um diretrio
-e: O arquivo existe
-f: um arquivo normal
-g: O bit SGID est ativado
-G: O grupo do arquivo o do usurio atual
-k: O sticky-bit est ativado
-L: O arquivo um link simblico
-O: O dono do arquivo o usurio atual
-p: O arquivo um named pipe
-r: O arquivo tem permisso de leitura
-s: O tamanho do arquivo maior que zero
-S: O arquivo um socket
-t: O descritor de arquivos N um terminal
-u: O bit SUID est ativado
-w: O arquivo tem permisso de escrita
-x: O arquivo tem permisso de execuo
-nt: O arquivo mais recente (NewerThan)
-ot: O arquivo mais antigo (OlderThan)
-ef: O arquivo o mesmo (EqualFile)
Utilizando o CASE:
echo "Digite um nmero"
read x
case "$x" in
1)
echo "Voc digitou o nmero 1"
;;
2)
echo "Voc digitou o nmero 2"
;;
*)
echo "Voc digitou outro nmero"
esac
O loop FOR:
for ((i = 0; i < 10; i++) do echo $i done
O loop WHILE:
i=0
while [ $i -lt 10 ]
do
echo $i
i=$((i+1))
done
O BREAK:
i=0
while true
do
if [ $i -ge 10 ]
then
break
fi
i=$((i+1))
done
O comando continue para a execuo da iterao corrente e vai para a prxima iterao, mesmo que haja mais comandos no bloco de
repetio.
Entrada/Sada:
Existem trs dispositivos principais, que sempre esto abertos, que merecem destaque:
stdin (standard input): entrada padro. Corresponde, em geral, ao teclado;
stdout (standard output): sada padro. Corresponde, em geral, tela do terminal;
stderr (standard error): sada padro de erros. Corresponde, em geral, tela do terminal, tambm.
Esses trs dispositivos esto em /dev e esto sempre disponveis. Quem programa em C, sabe muito bem disso, pois j deve ter usado
stdin, stdout e stderr junto com fprintf, fread, fwrite e semelhantes; esses trs dispositivos comportam-se como arquivos comuns, sempre
abertos e que no devem ser fechados.
Experimentem dar um cat em /dev/stdin para ver o que o que voc digitar ser repetido, entrada + saida.
Curso de Certicao Linux LPI
Utilizando Pipelines:
Pipeline ou Pipe um recurso do shell que nos permite conectar vrios comandos usando um pipe, onde a sada do primeiro comando
enviada diretamente entrada do segundo e assim por diante no caso de haver mais de dois comandos conectados por pipes.
No nosso caso, queremos enviar a sada do comando ls para a entrada do comando sort. O smbolo "|" (barra vertical) usado para criar
um pipe, ex.:
# ls | sort -r
importante observar que o redirecionamento e o uso de pipes so caractersticas do shell e no dos comandos em si. o shell quem
prov a sintaxe dos smbolos "<", ">" e "|". Logo, se voc criar um programa que utilize entrada de dados via stdin, poder usar
redirecionamento para especicar uma entrada para o seu programa.
Expanses:
Expanses so caracteres, ou uma sequncia deles, que expressa outro signicado. O intuito disso facilitar e padronizar comandos.
~: path home do usurio corrente
~user: path home do usurio user
Denindo Funes
Sintaxe:
function nome_da_funcao()
{
[comandos]
}
Para chamar a funo:
nome_da_funcao
# caso haja parmetros
nome_da_funcao param1 param2 ...
Para retornar valor (status) numa funo, usa-se o comando return.
Exemplo:
#!/bin/bash
function retorna()
{
echo "sou um valor"
return 42
}
valor=$(retorna)
echo $?
echo $valor
Expresses Regulares em Bash
Expresses regulares em shell podem ser usadas em comparaes (ifs), por exemplo. Em ifs, usa-se o operador =~ para realizar
comparaes usando ERs:
s="bash"
if [[ "$s" =~ ^b ]]
then
echo 'comea com b'
fi
Expresses Matemticas
O bash no trabalha com expresses matemticas to facilmente. Existe o comando let, que permite realizar expresses matemticas,
mas mais comum se usar a sintaxe semelhante ao C, utilizando dois parnteses:
$ a=$((1 + 1))
$ ((i++))
$ x=$((x*2))
...
O Arquivo .bashrc
Na home dos usurios (~), comum haver o arquivo .bashrc (o ponto no incio indica que o arquivo oculto). Esse arquivo sempre
executado quando se abre um shell. Nele, constam diversas conguraes, como denio de variveis de ambientes, denio de aliases
etc. Voc pode editar esse arquivo (ou cri-lo, caso no exista):
# vim ~/.bashrc
possvel usar outros editores, no apenas o vim.
Aliases (Apelidos)
Curso de Certicao Linux LPI
Algumas vezes usamos comandos que necessitam de vrias opes e argumentos. Para amenizar o trabalho de digitarmos repetidamente
estes comandos o bash oferece um recurso chamado alias com o qual podemos denir sinnimos ou apelidos para um comando. Um
alias pode ser denido na linha de comando da seguinte forma:
alias nome=comando
Observe que no pode haver espaos em branco antes ou depois do =.
Esta sintaxe indica que nome um alias (apelido) para comando. Toda vez que digitarmos o comando nome, o bash o substituir por
comando.
Exemplo:
# alias lf='ls -F'
Isso far o shell executar ls -F toda vez que usarmos lf na linha de comando. Ou seja, o que o alias faz na verdade substituir a
palavra lf por ls -F. Observe neste exemplo, existe um espao em branco entre ls e -F. Sempre que houver espaos em branco na
denio de um campo, todo o campo deve ser digitado entre aspas simples () ou duplas (). possvel denir aliases em seu .bashrc, para
que eles estejam sempre disponveis na sua sesso.
Fonte: O Gordo e rberaldo
Atalhos da linha de comando
Atalho Descrio Tecla Similar
Ctrl+A Move o cursor para o incio da linha Home
Ctrl+B Move o cursor uma posio esquerda
Ctrl+C Envia sinal EOF() para o sistema
Ctrl+D Apaga um caractere direita Delete
Ctrl+E Move o cursor para o m da linha End
Ctrl+F Move o cursor uma posio direita
Ctrl+H Apaga um caractere esquerda Backspace
Ctrl+I Completa arquivos e comandos Tab
Ctrl+J Quebra a linha Enter
Ctrl+K Recorta do cursor at o m da linha
Ctrl+L Limpa a tela (igual ao comando clear)
Ctrl+N Prximo comando
Ctrl+P Comando anterior
Ctrl+Q Destrava a shell (veja Ctrl+S)
Ctrl+R Procura no histrico de comandos
Ctrl+S Trava a shell (veja Ctrl+Q)
Ctrl+T Troca dois caracteres de lugar
Ctrl+U Recorta a linha inteira
Ctrl+V Insere caractere literal
Ctrl+W Recorta a palavra esquerda
Ctrl+X Move o cursor para o incio/m da linha (2x) Home/End
Ctrl+Y Cola o trecho recortado
Fonte: Aurelio.net Canivete Suo do Shell
Pra quem j conhece o blog, percebeu que foi reunido 3 posts nesse aqui, mas essa a idia, reforar o aprendizado, segue os links:
Curso de Shell Script parte 1
Curso de Shell Script parte 2
Atalhos da linha de comando
Curso Certicao Linux LPI-1: Arquitetura de Hardware.
Entrada/sada (em ingls: Input/output, sigla I/O) um termo utilizado quase que exclusivamente no ramo da computao (ou
informtica), indicando entrada (insero) de dados por meio de algum cdigo ou programa, para algum outro programa ou
Curso de Certicao Linux LPI
hardware, bem como a sua sada (obteno de dados) ou retorno de dados, como resultado de alguma operao de algum
programa, consequentemente resultado de alguma entrada.
So exemplos de unidades de entrada de um computador: disco rgido, microfone, teclado, mouse, tela sensvel ao toque, Scanner, Leitor
de cdigo de barras, Celular, Pendrive, Mquina fotogrca digital, Webcam, joystick e outros acessrios de jogos.
So exemplos de unidades de sada de um computador: monitor, caixas de som, impressora, disco rgido. Um placa de sompadro, por
exemplo, utiliza as portas: 0x220, 0x330 e 0x338. Cada dispositivo utiliza um endereo de porta nica que no pode ser compartilhado por
outros dispositivos. Os endereos de E/S podem ser visualizados com o comando:
# cat /proc/ioports
O termo DMA um acrnimo para a expresso em ingls Direct memory access. O DMA permite que certos dispositivos de hardware num
computador acessem a memria do sistema para leitura e escrita independentemente da CPU.
Muitos sistemas utilizam DMA, incluindo controladores de disco, placas grcas, de rede ou de som. Os canais de DMA no sistema podem
ser visualizados atravs do comando:
# cat /proc/dma
Um pedido de interrupo (abreviao IRQ (em ingls)) a forma pela qual componentes de hardware requisitam tempo computacional
da CPU. Um IRQ a sinalizao de um pedido de interrupo de hardware.As interrupes do sistema podem ser visualizadas com o
comando:
# cat /proc/interrupts
Recursos j reservados:
SCSI (pronuncia-se "sczi"), sigla de Small Computer System Interface, uma tecnologia que
permite ao usurio conectar uma larga gama de perifricos, tais como discos rgidos, unidades
CD-ROM, impressoras e scanners.
Caractersticas fsicas e eltricas de uma interface de entrada e sada (E/S) projetadas para se
conectarem e se comunicarem com dispositivos perifricos so denidas pelo SCSI.Existe uma
grande variedade de padres de dispositivos SCSI, sendo que estes inicialmente usavam interfaces
paralelas. Alguns exemplos: SCSI-1 (barramento de 8 bits, clock de 5 MHz e taxa de transferncia de
5 MB/s), Fast SCSI (barramento de 8 bits, clock de 10 MHz e taxa de transferncia de 10 MB/s), Ultra
SCSI (barramento de 8 bits, clock de 20 MHz e taxa de transferncia de 20 MB/s), Ultra2 Wide SCSI
(barramento de 16 bits, clock de 40 MHz e taxa de transferncia de 80 MB/s) e Ultra-320 SCSI
(barramento de 16 bits, clock de 80 MHz DDR e taxa de transferncia de 320 MB/s).
SCSI mais comumente usado em discos rgidos e unidades de ta, mas tambm pode ser conectado em uma grande gama de
dispositivos, incluindo scanners e drivers de CD.
Congurando Dispositivos de Rede: Com o comando abaixo ns podemos identicar o fabricando e o modelo de uma placa PCI.
# lspci
a sada ser mais ou menos, de vermelho est a placa de rede:
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller (rev 10)
00:02.0 VGA compatible controller: Intel Corporation 82G33/G31 Express Integrated Graphics Controller (rev 10)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 01)
00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation N10/ICH7 Family SATA IDE Controller (rev 01)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 01)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 01)
02:01.0 Modem: Motorola SM56 Data Fax Modem (rev 04)
Carregando mdulos Depois de identicarmos a placa, o endereamento de entrada e sada e o IRQ, ser preciso carregar o mdulo do
Kernel correspodente ou compilar o suporte ao dispositivo.Para carregar o suporte ao dispositivo atravs de um mdulo do Kernel,
devemos utilizar o comando:
Curso de Certicao Linux LPI
# modprobe 8139too
O Linux suporta que os mdulos sejam carregados automaticamente durante a carga do sistema(boot).As conguraes dos parmetros
devem ser feitas no arquivo:
# cat /etc/modules.conf
Congurando a Placa de Som O Linux suporta dois padres de Sistemas de Som: -OSS (Open Sound Sistem) e -ALSA(Advanced Linux
Sound Architecture) Para utilizar o dispositivo de som, carregue o mdulo da placa com o comando:
# modprobe NOME_DO_MODULO
Algumas placas requerem que seja especicado o recurso de hardware utilizado com parmetro:
# modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x388
Depois de instanciado no Kernel o mdulo do dispositivo, os recursos:
# /dev/audio
# /dev/dsp
# /dev/mixer
, estaro disponveis. Congurando Dispositivos USB Universal Serial Bus (USB) um tipo de conexo "ligar e usar" que permite a
conexo de perifricos sem a necessidade de desligar o computador. O primeiro passo deteminar qual xHCI(Host Controller Interface)
sua placa me possui, e carregar o mdulo correspodente ao chip. O comando para determinar qual o chip utilizado em sua placa-me :
# lspci -vt
O Linux tem suporte a diversos dispositivos USB atravs dos mdulos do Kernel.Voc poder consultar os chipsets suportados no
diretrio:
# /lib/modules/versao_do_kernel/kernel/drivers/usb
At o momento s, at o prximo tpico.
Curso Certicao Linux LPI-1: Filtros de Texto
Filtragem de textos
A ltragem de textos o processo de executar algumas converses no texto de um uxo de entrada de texto antes de envi-lo para um uxo
de sada. Embora tanto a entrada como a sada possam vir de um arquivo, nos ambientes UNIX e Linux, a ltragem , na maioria das
vezes, feita atravs da criao de uma pipeline de comandos, na qual a sada de um comando canalizada ou redirecionada para ser usada
como a entrada para o prximo. Canais e redirecionadores so abordados mais detalhadamente no artigo sobre uxos, canais e
redirecionadores. Porm, por enquanto, vamos dar uma olhada nos canais e redirecionamentos de sada bsicos usando os operadores | e >.
Fluxos
Um uxo nada mais que uma sequncia de bytes que pode ser lida ou escrita atravs do uso de funes da biblioteca, as quais escondem os detalhes
de um dispositivo subjacente do aplicativo. O mesmo programa pode ler ou escrever em um terminal, arquivo ou soquete de rede em uma direo
independente de dispositivo atravs do uso de uxos. Ambientes modernos de programao e shells usam trs uxos padro de E/S:
stdin o uxo de entrada padro, que fornece a entrada para os comandos.
stdout o uxo de sada padro, que exibe a sada dos comandos.
stderr o uxo de erro padro, que exibe a sada de erros dos comandos.
Canalizando com |
A entrada pode vir de parmetros que voc fornece aos comandos e a sada pode ser exibida em seu terminal. Muitos comandos de processamento de
texto (ltros) podem receber entradas tanto de um uxo de entrada padro quanto de um arquivo. Para usar a sada de um comando, command1, como
entrada para um ltro, command2, voc deve conectar os comandos usando o operador de canal (I). A 1 mostra como canalizar a sada de
echo
para classicar uma pequena lista de palavras.
1. Canalizando sadas de echo para entradas de classicao
$ echo -e "applenpearnbanana"|sortapple banana pear
Qualquer comando pode ter opes e argumentos. Tambm possvel usar | para redirecionar a sada do segundo comando na pipeline para um terceiro
comando, e assim por diante. Construir longas pipelines de comandos, em que cada uma tenha uma capacidade limitada, um modo comum de executar
tarefas no Linux e no UNIX. s vezes, voc ver um hfen (-) no lugar do nome do arquivo como um argumento para um comando, indicando que a
entrada deve vir do stdin e no de um arquivo.
Redirecionamento de sada com >
Embora voc possa criar uma pipeline com muitos comandos e visualizar a sada no seu terminal, s vezes, voc desejar salvar a sada em um arquivo.
Isso feito com o operador de redirecionamento de sada (>).
Durante o resto desta seo, usaremos pequenos arquivos, assim, vamos ento criar um diretrio chamado lpi103-2 e fazer cd nesse diretrio. Usaremos
ento o > para redirecionar a sada do comando
echo
para um arquivo chamado text1. Tudo isso exibido na 2. Observe que a sada no exibida no terminal, pois foi redirecionada para um arquivo.
Curso de Certicao Linux LPI
2. Redirecionando a sada de um comando para um arquivo
$ mkdir lpi103-2$ cd lpi103-2$ echo -e "1 applen2 pearn3 banana" > text1
Agora que j temos algumas ferramentas bsicas para canalizar e redirecionar, vamos dar uma olhada em alguns comandos e ltros de processamento
de texto comuns do Linux e do UNIX. Esta seo apresenta alguns dos recursos bsicos; consulte a man page apropriada para mais informaes sobre
estes comandos.
Cat, od e split
Agora que voc j criou o arquivo text1, voc pode querer vericar o que h nele. Use o comando
cat
(abreviao de concatenate) para exibir o contedo de um arquivo no stdout. A 3 verica o contedo do arquivo criado acima.
3. Exibindo contedos de arquivos com o comando cat
$ cat text11 apple 2 pear 3 banana
O comando
cat
recebe a entrada a partir do stdin, caso voc no especique um nome de arquivo (ou se voc especica - como o nome do arquivo). Vamos usar isso
junto com o redirecionamento de sada para criar outro arquivo de texto, como exibido na 4.
4. Criando um arquivo de texto com o comando cat
$ cat >text29 plum 3 banana 10 apple
Muitos ltros pequenos
Outro exemplo de um ltro pequeno o comando
tac
. O nome o contrrio de
cat
, assim como a funo, que tambm oposta a do comando
cat
, exibindo o arquivo na ordem inversa. Tente voc mesmo executar
tac text2 text1
.
Na 4,
cat
continua lendo a partir do stdin at o m do arquivo. Usa a combinao Ctrl-d (segure Ctrl e pressione d) parar indicar o m do arquivo. Esta a
mesma combinao de teclas para sair do bash shell. Use a tecla tab para alinhar os nomes das frutas em uma coluna.
Voc lembra que cat uma abreviao de concatenate? possvel usar o comando
cat
para concatenar vrios arquivos para exibio. A 5 exibe os dois arquivos que acabamos de criar.
5. Concatenando dois arquivos com o comando cat
$ cat text*1 apple 2 pear 3 banana 9 plum 3 banana 10 apple
Ao exibir esses dois arquivos de texto usando o comando
cat
, voc ir notar diferenas de alinhamento. Para descobrir o motivo dessa diferena, necessrio vericar os caracteres de controle do arquivo. Estes
so colocados em prtica na sada de exibio de texto, em vez de terem alguma representao do prprio caractere de controle exibida, assim,
necessrio fazer dump no arquivo em um formato que permita localizar e interpretar esses caracteres especiais. As utilidades de texto GNU incluem um
comando voltado para esse propsito, o comando
od
(ou Octal Dump).
H muitas opes para o comando
od
, como, por exemplo, a opo
-A
, que controla a base dos deslocamentos de arquivo, e a opo
-t
, que controla a forma dos contedos do arquivo exibidos. A base pode ser especicada como o, (octal, que o padro), d (decimal), x (hexadecimal) ou n
(sem deslocamentos exibidos). possvel exibir a sada como octal, hex, decimal, ponto utuante, ASCII com escapes de barra invertida ou caracteres
nomeados (nl for nova linha, ht para tabulao horizontal, etc.). A 6 exibe alguns dos formatos disponveis para fazer dump do arquivo de exemplo text2.
6. Fazendo dump de arquivos com o comando od
$ od text20000000 004471 066160 066565 031412 061011 067141 067141 005141 0000020 030061 060411 070160 062554 000012 0000031 $ od -A d -t c text20000000 9
t p l u m n 3 t b a n a n a n 0000016 1 0 t a p p l e n 0000025 $ od -A n -t a text2 9 ht p l u m nl 3 ht b a n a n a nl 1 0 ht a p p l e nl
Observaes:
A opo
-A
do comando
cat
fornece uma maneira alternativa para ver onde esto os seus nais de linhas e as suas tabulaes. Consulte a man page para obter mais
informaes.
1.
Caso voc use espaos ao invs de tabulaes em seu arquivo text2, consulte Expand, unexpand, e tr, mais adiante neste artigo, para ver como
alternar entre tabulaes e espaos em um arquivo.
2.
Caso tiver um plano de fundo como mainframe, voc pode ter interesse na utilidade hexdump, que faz parte de um conjunto de utilidades diferente.
Como isso no abordado aqui, consulte as man pages.
3.
Os nossos arquivos de exemplo so muito pequenos, porm, s vezes, voc trabalhar com arquivos grandes, os quais devero ser divididos em partes
menores. Por exemplo, voc pode querer dividir um arquivo grande em partes do tamanho de CDs, de modo que seja possvel gravar os arquivos em CDs
para enviar os mesmos pelo correio para algum que possa criar um DVD para voc. O comando
split
Curso de Certicao Linux LPI
far isso de modo que o comando
cat
possa ser usado para recriar o arquivo facilmente. Como padro, os arquivos resultantes do comando
split
tm um prexo 'x' em seus nomes, seguido de um suxo 'aa', 'ab', 'ac', ..., 'ba', 'bb', etc. H opes que permitem alterar esse padro. Tambm possvel
controlar o tamanho dos arquivos de sada e se o arquivo resultante contm linhas inteiras ou somente contagens de bytes.
A 7 ilustra a diviso dos nossos dois arquivos de texto com prexos diferentes para os arquivos de sada. Ns dividimos o arquivo text1 em arquivos
contendo no mximo duas linhas, e o text2 em arquivos contendo no mximo 18 bytes. Usamos ento o comando
cat
para exibir individualmente algumas das partes, assim como para exibir um arquivo completo usando globbing, abordado no artigo gerenciamento
bsico de arquivos
7. Dividindo e recombinando com os comandos split e cat
$ split -l 2 text1$ split -b 17 text2 y$ cat yaa9 plum 3 banana 1$ cat yab0 apple $ cat y* x*9 plum 3 banana 10 apple 1 apple 2 pear 3 banana
Observe que o arquivo dividido nomeado como yaa no acabou com um caractere de linha nova, assim, o nosso prompt foi deslocado aps usarmos o
comando
cat
para exibi-lo.
Wc, head e tail
O comando
Cat
exibe todo o arquivo. Isso funciona bem com arquivos pequenos, porm, vamos supor que estamos trabalhando com um arquivo grande. Primeiramente,
voc pode usar o comando
wc
(Word Count) para ver o quo grande o arquivo. O comando
wc
exibe o nmero de linhas, palavras e bytes em um arquivo. Tambm possvel descobrir o nmero de bytes usando
ls -l
. A 8 exibe a de diretrio de formato longo para os nossos dois arquivos de texto, assim como a sada do comando
wc
.
8. Usando o comando wc com arquivos de texto
$ ls -l text* -rw-rw-r--. 1 marcos marcos 24 2009-08-11 14:02 text1 -rw-rw-r--. 1 marcos marcos 25 2009-08-11 14:27 text2 $ wc text* 3 6 24 text1 3 6 25
text2 6 12 49 total
H opes que permitem controlar a sada de
wc
ou exibir outras informaes, como, por exemplo, o comprimento mximo das linhas. Consulte a man page para obter mais detalhes.
Dois comandos permitem exibir a primeira (head) ou ltima (tail) parte de um arquivo. Esses comandos so
head
e
tail
. Eles podem ser usados como ltros, ou podem tomar um nome de arquivo como um argumento. Como padro, eles exibem as primeiras (ou ltimas) 10
linhas do arquivo ou uxo. A 9 usa o comando
dmesg
para exibir mensagens de inicializao, em conjunto com os comandos
wc
,
tail
e
head
, para descobrir que h 791 mensagens, exibir as ltimas 10 linhas destas mesmas e, nalmente, exibir as seis mensagens comeando 15 a partir do
nal. Algumas linhas foram truncadas nesta sada (indicadas por ...).
9. Usando wc, head e tail para exibir mensagens de boot
$ dmesg|wc 791 5554 40186 $ dmesg | tailinput: HID 04b3:310b as /devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.4/3-2.4:1.0/input/i nput12 generic-usb
0003:04B3:310B.0009: input,hidraw1: USB HID v1.00 Mouse [HID 04b3:310b] on us b-0000:00:1a.0-2.4/input0 usb 3-2.4: USB disconnect, address 11 usb 3-2.4:
new low speed USB device using uhci_hcd and address 12 usb 3-2.4: New USB device found, idVendor=04b3, idProduct=310b usb 3-2.4: New USB device strings:
Mfr=0, Product=0, SerialNumber=0 usb 3-2.4: configuration #1 chosen from 1 choice input: HID 04b3:310b as /devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.4
/3-2.4:1.0/input/i nput13 generic-usb 0003:04B3:310B.000A: input,hidraw1: USB HID v1.00 Mouse [HID 04b3:310b] on us b-0000:00:1a.0-2.4/input0 usb 3-2.4:
USB disconnect, address 12 $ dmesg | tail -n15 | head -n 6usb 3-2.4: USB disconnect, address 10 usb 3-2.4: new low speed USB device using uhci_hcd and
address 11 usb 3-2.4: New USB device found, idVendor=04b3, idProduct=310b usb 3-2.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0 usb 3-2.4:
configuration #1 chosen from 1 choice input: HID 04b3:310b as /devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.4/3-2.4:1.0/input/i nput12
Outro uso comum de
tail
seguir um arquivo usando a opo
-f
, normalmente com uma contagem de linha de 1. Voc pode usar essa opo quando um processo de segundo plano est gerando sada em um arquivo e
voc deseja vericar como est o andamento. Neste modo, o comando
tail
ser executado at que voc o cancele (usando Ctrl-c), exibindo as linhas conforme elas so escritas no arquivo.
Expand, unexpand e tr
Quando criamos os nossos arquivos text1 e text2, criamos o text2 com tabulaes. s vezes, voc desejar trocar as tabulaes por espaos, e vice-versa.
Isso feito com os comandos
expand
e
unexpand
. Em ambos os comandos, a opo
-t
permite que voc dena as tabulaes. Um valor nico dene tabulaes repetidas neste intervalo. A 10 exibe como expandir as tabulaes no arquivo
text2 para espaos simples, assim como outra cuidadosa sequncia de
expand
Curso de Certicao Linux LPI
e
unexpand
, que desalinha o texto em text2.
10. Usando expand e unexpand
$ expand -t 1 text29 plum 3 banana 10 apple $ expand -t8 text2|unexpand -a -t2|expand -t39 plum 3 banana 10 apple
Infelizmente, no possvel usar
unexpand
para substituir os espaos em text1 por tabulaes, pois
unexpand
necessita de pelo menos dois espaos para converter em tabulaes. No entanto, possvel usar o comando
tr
, que converte caracteres em um conjunto (set1) para caracteres correspondentes em outro conjunto (set2). A 11 mostra como usar o comando
tr
para converter espaos em tabulaes. Uma vez que
tr
meramente um ltro, gera-se entrada a partir do mesmo usando o comando
cat
. Este exemplo tambm ilustra o uso de - para representar a entrada padro para o comando
cat
, assim, podemos concatenar a sada de
tr
e o arquivo text2.
11. Usando o comando tr
$ cat text1 |tr ' ' 't'|cat - text21 apple 2 pear 3 banana 9 plum 3 banana 10 apple
Caso voc no tenha certeza do que est acontecendo nos dois ltimos exemplos, tente usar o comando
od
para terminar cada estgio da pipeline de uma vez, por exemplo,
cat text1 |tr ' ' 't' | od -tc
Pr, nl e fmt
O comando
pr
usado para formatar arquivos para impresso. O cabealho padro inclui o nome do arquivo, data e hora de criao do arquivo, junto com um nmero
de pgina e duas linhas de rodap em branco. Quando a sada criada a partir de mltiplos arquivos ou do uxo de entrada padro, a data e a hora
atuais so usadas no lugar do nome do arquivo e sua data de criao. possvel imprimir arquivos lado a lado em colunas e controlar muitos aspectos da
formatao atravs das opes. Como de costume, consulte a man page para obter mais detalhes.
O comando
nl
numera as linhas, o que pode ser conveniente ao imprimir os arquivos. Tambm possvel numerar as linhas com a opo
-n
do comando
cat
. A 12 mostra como imprimir um arquivo de texto e, em seguida, como numerar o arquivo text2 e imprimi-lo lado a lado com o text1.
12. Numerando e formatando para impresso.
$ pr text1 | head 2009-08-11 14:02 text1 Page 1 1 apple 2 pear 3 banana $ nl text2 | pr -m - text1 | head 2009-08-11 15:36 Page 1 1 9 plum 1 apple 2 3
banana 2 pear 3 10 apple 3 banana
Outro comando til para formatar o texto
fmt
, que formata o texto de modo que o mesmo que dentro das margens. possvel tanto juntar vrias linhas curtas como dividir longas. Na 13, ns
criamos o arquivo text3 com uma nica e longa linha de texto, usando variantes do recurso histrico
!#:*
para no termos que digitar nossa sentena quatro vezes. Tambm criamos um arquivo text4 com uma palavra por linha. A seguir, usamos o comando
cat
para exibi-los de modo no formatado, incluindo um caractere '$' para sinalizar os nais de linha. Finalmente, usamos o comando
fmt
para format-los com uma largura mxima de 60 caracteres. Mais uma vez, consulta a man page para mais detalhes sobre opes adicionais.
13. Formatando com um comprimento mximo de linha
$ echo "This is a sentence. " !#:* !#:1->text3echo "This is a sentence. " "This is a sentence. " "This is a sentence. ">text3 $ echo -e
"Thisnisnanothernsentence.">text4$ cat -et text3 text4This is a sentence. This is a sentence. This is a sentence. $ This$ is$ another$ sentence.$ $ fmt -w
60 text3 text4This is a sentence. This is a sentence. This is a sentence. This is another sentence.
Sort e uniq
O comando
sort
classica a entrada usando a sequncia de intercalao do cdigo do idioma (LC_COLLATE) do sistema. O comando
sort
tambm pode mesclar arquivos j classicados e vericar se um arquivo est ou no classicado.
A 14 ilustra o uso do comando
sort
para classicar os nossos dois arquivos de texto aps a converso dos espaos em branco para tabulaes no arquivo text1. Uma vez que a ordem de
classicao por caractere, voc poder se surpreender com os resultados. Felizmente, o comando
sort
pode classicar tanto de acordo com valores numricos quanto de acordo com valores de caractere. possvel denir essa escolha para todo o registro
ou para cada campo. A menos que voc especique um separador de campo diferente, os campos so delimitados por espaos em branco ou tabulaes.
Curso de Certicao Linux LPI
O segundo exemplo da 14 exibe a classicao numrica do primeiro arquivo e a classicao por seqncia de intercalao (alfabtica) do segundo. O
uso da opo
-u
para eliminar linhas duplicadas e manter somente as linhas nicas tambm ilustrado.
14. Classicao numrica e por caractere.
$ cat text1 | tr ' ' 't' | sort - text210 apple 1 apple 2 pear 3 banana 3 banana 9 plum $ cat text1|tr ' ' 't'|sort -u -k1n -k2 - text21 apple 2 pear 3
banana 9 plum 10 apple
Observe que ainda h duas linhas contendo a fruta "apple", pois o teste de singularidade feito em todas as duas chaves de classicao, k1n e k2 em
nosso caso. Pense em como alterar ou adicionar etapas pipeline acima para eliminar a segunda ocorrncia de 'apple'.
Outro comando, chamado
uniq
, fornece outro modo de controlar a eliminao das linhas duplicadas. O comando
uniq
normalmente opera em arquivos classicados. Ele remove as linhas idnticas e consecutivas de qualquer arquivo, classicado ou no. O comando
uniq
tambm pode ignorar alguns campos. A 15 classica os nossos dois arquivos de texto usando o segundo campo (fruit name) e, a seguir, elimina as linhas
idnticas, comeando no segundo campo (ou seja, ns ignoramos o primeiro campo ao fazer os testes com o comando
uniq
).
15. Usando o comando uniq
$ cat text1|tr ' ' 't'|sort -k2 - text2|uniq -f110 apple 3 banana 2 pear 9 plum
Nossa classicao foi por sequncia de intercalao, assim, o comando
uniq
nos fornece a linha "10 apple", em vez de "1 apple". Para ver como alterar isso, tente adicionar uma classicao numrica no campo-chave 1.
Cut, paste e join
Agora, vamos dar uma olhada em mais trs comandos para lidar com campos em dados textuais. Estes comandos so especialmente teis para lidar com
dados tabulares. O primeiro o comando
cut
, que extrai campos de arquivos de texto. O delimitador de campo padro o caractere de tabulao. A 16 usa o comando
cut
para separar duas colunas do arquivo text2 e, a seguir, usa um espao como delimitador de sada, que uma maneira incomum de converter a tabulao
de cada linha em um espao.
16. Usando o comando cut
$ cut -f1-2 --output-delimiter=' ' text29 plum 3 banana 10 apple
O comando
paste
cola linhas de dois ou mais arquivos lado a lado, semelhante ao modo que o comando
pr
mescla arquivos usando sua opo
-m
. A 17 exibe os resultados da colagem de dois ou mais arquivos de texto.
17. Colando arquivos
$ paste text1 text21 apple 9 plum 2 pear 3 banana 3 banana 10 apple
Estes exemplos apresentam colagens simples, porm o comando
paste
pode colar dados a partir de um ou mais arquivos de vrias outras maneiras. Consulte a man page para obter mais detalhes.
Nosso ltimo comando para a manipulao de campos o
join
, que junta arquivos com base em um campo correspondente. Os arquivos devem estar classicados no campo de juno. Uma vez que o arquivo text2
no est classicado em ordem numrica, podemos classic-lo e, ento, o comando join ir juntar as duas linhas com um campo de juno
correspondente (o campo com valor 3, neste caso).
18. Juntando arquivos com campos de juno.
$ sort -n text2|join -j 1 text1 -3 banana banana join: file 2 is not in sorted order
Mas o que deu errado? Lembre-se do que aprendeu sobre classicao numrica e por caractere na seo Sort e uniq. A juno executada com base
em caracteres correspondentes de acordo com a sequncia de intercalao do cdigo do idioma. Ela no funciona em campos numricos, a no ser que
os campos tenham todos o mesmo comprimento.
Usamos a opo
-j 1
para juntar com base no campo 1 de cada arquivo. O campo a ser usado para a juno pode ser especicado separadamente para cada arquivo.
possvel, por exemplo, fazer a juno com base no campo 3 de um arquivo e no campo 10 de outro arquivo.
Vamos criar um novo arquivo, chamado text5, classicando o arquivo text1 com base no segundo campo (fruit name) e substituindo os espaos por
tabulaes. Em seguida, se classicarmos o arquivo text2 no segundo campo e zermos a juno com o text5 usando o segundo campo de cada arquivo
como campo de juno, deveremos ter duas correspondncias (apple e banana). Essa juno ilustrada na 19.
19. Juntando arquivos com campos de juno.
$ sort -k2 text1|tr ' ' 't'>text5$ sort -k2 text2 | join -1 2 -2 2 text5 -apple 1 10 banana 3 3
Sed
Sed o stream editor. H muitos artigos do developerWorks, assim como muitos livros e captulos de livros, sobre o sed . O Sed muito poderoso e as
tarefas que ele pode realizar so limitadas somente pela sua imaginao. Esta pequena introduo deve abrir o seu apetite para com o sed, porm sem
intenes de ser completa ou extensiva.
Tal como acontece com muitos dos comandos de texto que aprendemos at agora, o sed pode funcionar como um ltro e receber a sua entrada a partir
de um arquivo. A sada para o uxo de sada padro. O sed carrega linhas da entrada no espao padro, aplica os comandos de edio do sed aos
contedos do espao padro e, em seguida, escreve o espao padro para a sada padro. O sed pode combinar muitas linhas no espao padro, e isso
pode escrever para um arquivo, escrever somente a sada selecionada ou no escrever.
Curso de Certicao Linux LPI
O sed usa a sintaxe de expresso regular para procurar e substituir o texto seletivamente no espao padro, assim com controlar quais
linhas de texto devem ser operadas por conjuntos de comandos de edio. Expresses regulares so abordadas com mais detalhes no artigo
sobre procurando arquivos de texto em expresses regulares (que voc encontra na . Um buer de espera fornece armazenamento
temporrio para o texto. O buer de espera pode substituir o espao padro, ser adicionado ao espao padro, ou ser alternado com o
espao padro. O sed tem um conjunto de comandos limitados, mas que, quando combinados com sintaxe de expresses regulares e o buer
de espera, resultam em incrveis capacidades. Um conjunto de comandos do sed , normalmente, chamado sed script.
A 20 exibe trs sed scripts simples. No primeiro, usamos o comando
s
(substitute) para substituir uma maiscula por uma minscula 'a' em cada linha. Este exemplo substitui somente o primeiro 'a', assim, no segundo
exemplo, adicionamos o sinalizador 'g' (global), fazendo com que o sed altere todas as ocorrncias. No terceiro script, introduzimos o comando
d
(delete) para deletar uma linha. No nosso exemplo, usamos um endereo de 2 para indicar que somente a linha 2 deve ser deletada. Separamos os
comandos usando um ponto-e-vrgula (;) e usamos a mesma substituio global que usamos no segundo script para substituir 'a' por 'A'.
20. Iniciando sed scripts
$ sed 's/a/A/' text11 Apple 2 peAr 3 bAnana $ sed 's/a/A/g' text11 Apple 2 peAr 3 bAnAnA $ sed '2d;$s/a/A/g' text11 apple 3 bAnAnA
Alm de operar em linhas individuais, o sed pode operar em um intervalo de linhas. O comeo e o m do intervalo so separados por uma vrgula (,) e
podem ser especicados como um nmero de linha, uma expresso regular ou um sinal de dlar ($) para o nal do arquivo. Dado um endereo ou vrios
endereos, possvel agrupar vrios comandos entre chaves, { e }, para que estes operem somente nas linhas selecionadas pelo intervalo. A 21 ilustra
duas maneiras de ter a nossa substituio global aplicada somente s duas ltimas linhas do nosso arquivo. Tambm ilustra o uso da opo
-e
para adicionar mltiplos comandos ao script.
21. Endereos sed.
$ sed -e '2,${' -e 's/a/A/g' -e '}' text11 apple 2 peAr 3 bAnAnA $ sed -e '/pear/,/bana/{' -e 's/a/A/g' -e '}' text11 apple 2 peAr 3 bAnAnA
Sed scripts tambm podem ser armazenados em arquivos. De fato, voc provavelmente vai querer fazer isso com scripts frequentemente usados.
Lembre-se que usamos o comando
tr
para substituir espaos em branco por tabulaes no arquivo text1. Agora, vamos fazer isso com um sed script armazenado em um arquivo. Vamos usar
o comando
echo
para criar o arquivo. Os resultados so exibidos na 22.
22. Um sed de uma linha
$ echo -e "s/ /t/g">sedtab$ cat sedtabs/ / /g $ sed -f sedtab text11 apple 2 pear 3 banana
Nosso ltimo exemplo de sed usa o comando
=
para imprimir nmeros de linha e ento ltrar a sada resultante, novamente atravs do sed, imitando o efeito do comando
nl
para numerar linhas. A 23 usa o comando
=
para imprimir nmeros de linha, a seguir, usa o comando
N
para ler uma segunda linha de entrada no espao padro e, nalmente, remove o caractere de nova linha (n) entre as duas linhas no espao padro.
23. Numerando linhas com sed
$ sed '=' text21 9 plum 2 3 banana 3 10 apple $ sed '=' text2|sed 'N;s/n//'19 plum 23 banana 310 apple
No bem o que queramos! O que realmente gostaramos de ter os nossos nmeros alinhados em uma coluna com algum espao antes das linhas do
arquivo. Na 24, inserimos vrias linhas de comando (observe o prompt secundrio >). Estude os exemplos e consulte a explicao abaixo.
24. Numerando linhas com sed - segundo round
$ cat text1 text2 text1 text2>text6$ ht=$(echo -en "t")$ sed '=' text6|sed "N> s/^/ /> s/^.*(......)n/1$ht/" 1 1 apple 2 2 pear 3 3 banana 4 9 plum 5 3
banana 6 10 apple 7 1 apple 8 2 pear 9 3 banana 10 9 plum 11 3 banana 12 10 apple
Aqui vo os passos que seguimos:
Primeiro, usamos o comando
cat
para criar um arquivo de doze linhas a partir de duas cpias dos nossos arquivos text1 e text2. No h nada de divertido em formatar nmeros em
colunas se no temos nmeros de dgitos diferentes.
1.
O bash shell usa a tecla tab para a concluso de comandos, assim, til ter um caractere de tabulao cativo que voc possa utilizar quando
necessitar de uma tabulao real. Usamos o comando
echo
para fazer isso e salvar o caractere na varivel shell 'ht'.
2.
Criamos um uxo contendo nmeros de linha seguidos de linhas de dados, como zemos anteriormente, e o ltramos atravs de uma segunda cpia
do sed.
3.
Lemos uma segunda linha no espao padro. 4.
Prexamos nosso nmero de linha no comeo do espao padro (marcado por ^) com seis espaos em branco. 5.
A seguir, substitumos toda a linha para a nova linha com os ltimos seis caracteres antes da nova linha mais um caractere de tabulao. Isso alinha
os nossos nmeros de linha nas primeiras seis colunas da linha de sada. Observe que a parte esquerda do comando 's' usa '(' e ')' para marcar os
caracteres que queremos usar na parte direita. Na parte direita, referimos o primeiro conjunto marcado (e somente tal conjunto neste exemplo)
como 1. Observe que nosso comando est entre aspas duplas ("), de modo que a substituio vai ocorrer para $ht.
6.
A Verso 4 do sed contm documentao em formato
info
e inclui excelentes exemplos. Estes no esto inclusos na antiga verso 3.02. O GNU sed aceita o comando
sed --version
para exibir a verso.
Extrado com adaptao do original:
https://www.ibm.com/developerworks/br/linux/
Curso de Certicao Linux LPI
Curso Certicao Linux LPI-1: Hierarquia do Sistema
Sistema de arquivos a forma de organizao de dados em algum meio de armazenamento de dados em massa frequentemente feito em
discos magnticos.[1] Sabendo interpretar o sistema de arquivos de um determinado disco, o sistema operacional pode decodicar os
dados armazenados e l-los ou grav-los.
Fazendo analogias, tal organizao assemelha-se a uma biblioteca escolar. O bibliotecrio organiza os livros conforme um padro, cuja
busca, convenientemente, procura deixar mais fcil, sem ocupar muitas prateleiras e assegurando a integridade deste.
Inode
Cada diretrio e arquivo do Linux identicado para o kernel como um nmero de n i (inode).
Inode
Um inode , na realidade, uma estrutura de dados que possui informaes sobre um determinado arquivo ou diretrio como,
por exemplo, dono, grupo, tipo e permisses de acesso.
O inode exclusivo somente para o dispositivo (partio) dentro do qual ele est contido. Portanto, para identicar unicamente um
arquivo, o kernel deve ter o nmero de dispositivo e o inode do arquivo.
Um arquivo possui um nico inode, no importa por quantos nomes este arquivo identicado no sistema. Logo, o conjunto de inodes
que indica o nmero de arquivos/diretrios que o sistema possui.Inodes
Diretrio
Diretrio o local utilizado para armazenar conjuntos de arquivos para melhor organizao e localizao. O diretrio, como o arquivo,
tambm "Case Sensitive" (diretrio /teste completamente diferente do diretrio /Teste).
No podem existir dois arquivos com o mesmo nome em um diretrio, ou um sub-diretrio com um mesmo nome de um arquivo em um
mesmo diretrio.
Um diretrio, nos sistemas Linux/UNIX, especicado por uma "/" e no uma "" como feito no DOS. Para detalhes sobre como criar um
diretrio, veja o comando mkdir.
Diretrio Raiz
Este o diretrio principal do sistema. Dentro dele esto todos os diretrios do sistema. O
diretrio Raiz representado por uma "/", assim se voc digitar o comando cd / voc estar
acessando este diretrio.
Nele esto localizados outros diretrios como o /bin, /sbin, /usr, /usr/local, /mnt, /tmp, /var,
/home, etc. Estes so chamados de sub-diretrios pois esto dentro do diretrio "/". A
estrutura de diretrios e sub-diretrios pode ser identicada da seguinte maneira:
A estrutura de diretrios tambm chamada de rvore de Diretrios porque parecida com
uma rvore de cabea para baixo. Cada diretrio do sistema tem seus respectivos arquivos
que so armazenados conforme regras denidas pela FHS (FileSystem Hierarchy Standard -
Hierarquia Padro do Sistema de Arquivos) verso 2.0, denindo que tipo de arquivo deve
ser armazenado em cada diretrio.
O sistema GNU/Linux possui a seguinte estrutura bsica de diretrios, organizados segundo
o FHS (Filesystem Hierarchy Standard):
/
raz do sistema
/bin
Contm arquivos programas do sistema que so usados com frequncia pelos usurios.
/boot
Contm arquivos necessrios para a inicializao do sistema.
/cdrom
Ponto de montagem da unidade de CD-ROM.
/media
Ponto de montagem de dispositivos diversos do sistema (rede, pen-drives, CD-ROM em distribuies mais novas).
Curso de Certicao Linux LPI
/dev
Contm arquivos usados para acessar dispositivos (perifricos) existentes no computador.
/etc
Arquivos de congurao de seu computador local.
/oppy
Ponto de montagem de unidade de disquetes
/home
Diretrios contendo os arquivos dos usurios.
/lib
Bibliotecas compartilhadas pelos programas do sistema e mdulos do kernel.
/lost+found
Local para a gravao de arquivos/diretrios recuperados pelo utilitrio fsck.ext2. Cada partio possui seu prprio
diretrio lost+found.
/mnt
Ponto de montagem temporrio.
/proc
Sistema de arquivos do kernel. Este diretrio no existe em seu disco rgido, ele colocado l pelo kernel e usado por
diversos programas que fazem sua leitura, vericam conguraes do sistema ou modicam o funcionamento de
dispositivos do sistema atravs da alterao em seus arquivos.
/root
Diretrio do usurio root.
/sbin
Diretrio de programas usados pelo superusurio (root) para administrao e controle do funcionamento do sistema.
/tmp
Diretrio para armazenamento de arquivos temporrios criados por programas.
/usr
Contm maior parte de seus programas. Normalmente acessvel somente como leitura.
/var
Contm maior parte dos arquivos que so gravados com frequncia pelos programas do sistema, e-mails, spool de
impressora, cache, etc.
Fontes:
http://www.uniriotec.br/
http://pt.wikibooks.org/wiki/Guia_do_Linux/
Curso Certicao Linux LPI-1: Sistemas de Arquivos e Dispositivos
Curso de Certicao Linux LPI
Por padro, os discos so nomeados da seguinte forma no linux:
/dev/hda - Disco IDE conectado na interface primria mestre.
/dev/hdb - Disco IDE conectado na interface primria escravo.
/dev/hdc - Disco IDE conectado na interface secundria mestre.
/dev/hdd - Disco IDE conectado na interface secundrio escravo.
/dev/sda - Disco SCSI conectado no primeiro canal.
/dev/sdb - Disco SCSI conectado no segundo canal.
/dev/sdc - Disco SCSI conectado no terceiro canal.
/dev/fd - Drive de disquete.
Cada disco pode ter de uma a 16 parties.As parties funcionam com um continer para os sistemas de arquivos
No Linux cada partio representada por um nmero inteiro.
Parties Primrias
Cada disco pode conter no mximo 4 parties primrias.
Estas parties contm necessariamente um sistema de arquivos e pelo menos uma deve ser criada.
As parties primrias podem ser nomeadas como: /dev/hda1, /dev/hda2, /dev/hda3 /dev/hda4.Uma destas parties primrias deve ser
marcada como ativa para que a carga do sistema operacional(boot) seja possvel.
Parties Estendidas
Elas so uma variao das parties primrias, mas no podem conter um sistema de arquivos.Funcionam como um continer para as
parties lgicas.
Parties Lgicas
Essas existem em conjunto com uma partio estendida e podemos ter de uma a 12 parties desse tipo.So nomeadas do n 5 at 16.
Exemplo:
/dev/hda1 (partio primria)
/dev/hda2 (partio estendida)
/dev/hda5 (partio lgica)
/dev/hda6 (partio lgica)
(...)
/dev/hda16 (partio lgica)
Partio de Swap (arquivo de troca)
Existem ainda um outro tipo especial de partio no Linux chamado de partio de swap.Esta possibilita que o Linux tenha uma
memria virtual em disco.Este tipo de memria usado como arquivo de troca de dados entre a memria fsica e o disco.Seu objetivo
aumentar a performance do sistema.
fdisk (e cfdisk) so responsveis por criar, listar, alterar e apagar as parties de disco.
mkfs formata a partio criada pelo fdisk.
mkswap prepara o dispositivo para ser usado como rea de memria virtual(swap), antes de formatar uma partio para
swap, necessria que ela seja do tipo 82 (Linux Swap).
swapon ativa a partio aps formatada (necessrio).
df mostra a capacidade utilizada em termos de espao e inodes.
du (Disk Usage) fornece uma lista detalhada sobre a utilizao do disco em termos de diretrios.
fsck checa e corrige a existncia de erros no sistema de arquivos.Por padro ele assume o sistema de arquivos ext2.
/etc/fstab mantm informaes de quais sistemas de arquivos sero montados no processo de carga do sistema
operacional.
which procura um comando no disco
Curso de Certicao Linux LPI
Find
O comando nd localiza a partir de um caminho ou diretrio recursivamente uma expresso diretamente no sistema de arquivos.
uso: nd caminho expresso
exemplo, encontra o arquivo marcospinguim.php no disco:
$ find /home/marcos -name marcospinguim.php
para as pastas que voc no tem permisso de visualizao, pode jogar a segunda etapa para o vazio, assim:
$ find /home/marcos -name marcospinguim.php 2>/dev/null
Para localizar arquivos ou diretrios que foram alterados nos ltimos 30 dias, utilizamos a expresso -ctime 30:
$ find | home -ctime 30
Para localizar arquivos que foram acessados nos ltimos 10 dias, utilizamos a expresso -used 10:
$ find | -used 10
Para localizar arquivos com pelo menos 30k, utilizamos a expresso -size nk:
$ find | -size 30k
locate realiza buscas em um banco de dados criado com updatedb.
whatis pesquisa por palavra exata no banco de dados.
apropos consulta um banco de dados consistindo de descries curtas dos comandos do sistema e utilitrios.
Por enquanto s, at o prximo tpico ou a prxima postagem sobre outro assunto.
Curso Certicao Linux LPI-1: Montagem e Desmontagem de Sistema de Arquivos (SLIDE)
Desta vez vou postar somente imagens das Aulas do Professor Uir Ribeiro do Curso Certicao Linux LPI-1: Montagem e
Desmontagem de Sistema de Arquivos, para facilitar o aprendizado, lembrando que este "Slide" est resumido do original,
analise a imagem para acesso as informaes.
Curso de Certicao Linux LPI
Curso de Certicao Linux LPI
Curso Certicao Linux LPI-1: Executando, Gerenciando e Terminando Processos
Escalonador:
O escalonamento de processos ou agendador de tarefas (em ingls scheduling) uma atividade organizacional feita pelo escalonador
(scheduler) da CPU ou de um sistema distribudo, possibilitando executar os processos mais viveis e concorrentes, priorizando
determinados tipos de processos, como os de I/O Bound e os computacionalmente intensivos.
O escalonador de processos de 2 nveis escolhe o processo que tem mais prioridade e menos tempo e coloca-o na memria principal,
cando os outros alocados em disco; com essa execuo o processador evita car ocioso.
O Processo init:
O init o primeiro processo iniciado no Linux, logo aps a carga do kernel do sistema. Quando disparado, o init continua a carga do
sistema, geralmente executando vrios scripts que iro vericar e montar sistemas de arquivos, congurar teclado e iniciar servidores,
entre outras tarefas.
O init utilizado no Linux permite que existam diversos nveis de execuo no sistema. Um nvel de execuo uma congurao de
software do sistema que dene quais processos devem ser inicializados e quais no devem, e tambm de que modo so inicializados.
Atributo de Processos(Sinais):
Um processo tem vrios atributos que controlam sua execuo.
O PID identica nicamente este processo (nenhum PID pode ser repetido at novo boot do sistema). O PPID indica qual "processo-pai" o
criou. O nice number controla a prioridade desse processo. Processos de maior prioridade tm a preferncia na utilizao da CPU. O UID e
GID indicam o usurio e grupo que criou esse processo. Somente o root (superusurio) pode destruir processos criados por outros
usurios. O EUID e o EGID so formas de se rodar um processo, criado por um usurio no-privilegiado de forma que ele se comporte
como privilegiado, com acesso a outros recursos que normalmente o usurio no o teria. O comando chmod +s <arquivo> pode ser usado
para fazer um programa modicar esse valor na execuo. Um programa setuid (com o ag s ligado) no instante de execuo troca seu
UID/GID pelos seus prprios (user/group do arquivo) e efetivamente rodam como se fosse este outro usurio, pois o kernel testa o EUID e
EGID para testar privilgios de acesso. Da, devmos ter o mximo cuidado quando ligarmos este ag em algum executvel.
Curso de Certicao Linux LPI
Prioridades de Processos:
Muita gente no sabe, mas nos sistemas Linux mais modernos, podemos ter um controle de prioridade de processos utilizando a CPU.
Estas prioridades funcionam para favorecer melhor um comando outro. Por exemplo:
Programa 1 tem prioridade alta
Programa 2 tem prioridade normal
Se o Programa 2 resolve gastar quase todo o processamento no sistema (como por exemplo: compactao de arquivos em bzip2), os
programas que esto em prioridade alta no sero completamente afetados.
Se o Programa 1 estivesse em prioridade normal, ele teria que dividir o processamento com o Programa 2, mesmo que ele usasse
pouquinho. Mas como ele est em alta prioridade, ele sempre vai ter a preferncia no sistema, ao invs do Programa 2.
A faixa de prioridades :
-20 (Prioridade Mxima)
-19

-1
0 (Prioridade Padro)
1

18
19 (Prioridade Mnima)
Sendo assim, por padro, todo comando executado normalmente recebe a prioridade 0 (Zero). E quanto menor for esse nmero, maior a
prioridade do processo na CPU (Sim, o contrrio! Quanto menor, maior; quanto maior, menor! :).
Por padro, os comandos ligados ao kernel e o sistema operacional em si tm prioridade inferior a 0 (aqui no meu sistema, vejo vrios
processos com prioridade -5). Isso nos faz lembrar que voc precisa ser root para congurar um processo com prioridade menor que 0.
Isso faz sentido, j que em um sistema multi-usurio, os usurios normais compartilham o padro 0, e podem escolher apenas se o
processo pode ter uma prioridade mais baixa, assim no interferindo com os processos do sistema, que teoricamente so mais
importantes.
Executando aplicaes em segundo plano:
Quando estamos num terminal, queremos utilizar algum comando/aplicao e necessitamos ainda do terminal livre, podemos executar o
que queremos em segundo plano. muito simples, veja:
$ comando &
Simplesmente adicione o caracter & ao nal do comando/aplicativo que voc quer executar. Acho interessante quando estamos no X e
queremos abrir uma aplicao diretamente do terminal.
Comandos para gerenciamento:
ps:
$ ps [options]
- exibe informaes sobre uma seleo dos processos ativos.Se voc quer uma atualizao repetitiva da seleo e as informaes
apresentadas, usar top (1) em seu lugar.
>pstree:
$ pstree
- mostra a rvore de processos
top:
$ top
- exibe as tarefas do linux.
kill:
$ kill
- O sinal padro para matar TERM. Utilizao de L-ou L-a lista de sinais disponveis. Sinais particularmente teis incluem HUP, INT,
MATAR, STOP, CONT, e 0.Sinais de suplentes podero ser especicada de trs formas: -9-SIGKILL-matar. PID valores negativos podem ser
usados para escolher grupos de processos inteiros; ver a coluna PGID na sada do comando ps. A PID de -1 especial, que indica todos os
processos exceto o processo de se matar e init.
killall:
$ killall
- mata um proceso pelo nome.
Curso de Certicao Linux LPI
Obs.:Coletado de diversos lugares e resumido.
Curso Certicao Linux LPI-1: Sistema de Boot, Shutdown e Runlevels
Em informtica, boot o termo em ingls para o processo de iniciao do computador que carrega o sistema operacional quando a
mquina ligada.A soluo para o paradoxo est na utilizao de um pequeno e especial programa, chamado sistema de iniciao, boot
loader ou bootstrap.O pequeno programa normalmente no o sistema operacional, mas apenas um segundo estgio do sistema de
inicializao, assim como o Lilo ou o Grub. Ele ser ento capaz de carregar o sistema operacional apropriado, e nalmente transferir a
execuo para ele.
Quando um sistema efetua boot pela primeira vez, o processador executa um cdigo em um local conhecido. Em um
Computador Pessoal (PC), esse local o Sistema Bsico de Entrada/Sada (BIOS), que est armazenado na memria ash, na
placa-me.O estgio de inicializao do sistema depende do hardware no qual o Linux est efetuando boot. Em uma plataforma
integrada, um ambiente de autoinicializao utilizado quando o sistema ligado ou recongurado.O loader de boot primrio,
que reside no MBR, uma imagem de 512 bytes contendo o cdigo do programa e uma pequena tabela de partio.
O loader de boot secundrio, ou de segundo estgio, pode ser chamado de loader de kernel. Neste estgio, sua tarefa carregar o kernel
Linux e o disco RAM inicial opcional.Com a imagem de kernel na memria e o controle fornecido no loader de boot de estgio 2, o estgio
do kernel comea. A imagem do kernel no bem um kernel executvel, mas uma imagem de kernel compactada. Em geral uma zImage
(imagem compactada, com menos de 512KB) ou uma bzImage (imagem compactada grande, com mais de 512KB), previamente
compactada com zlib.
Curso de Certicao Linux LPI
Aps executar boot e inicializado, o kernel inicia o aplicativo do primeiro espao do usurio. Ele o primeiro programa chamado,
compilado com a biblioteca C padro. At este momento no processo, nenhum aplicativo C padro foi executado.
Runlevels (Nveis de Execuo)
Nveis de execuo denem quais tarefas podem ser realizadas no estado (ou nvel de execuo) atual de um sistema Linux. .Alm do
bsico, o uso de nveis de execuo pode ser diferentes nas distribuies.
Tablela 1. Nveis de execuo bsicos do Linux
Nvel Propsito
0 Encerrar (ou parar) o sistema
1 Modo de usurio nico; geralmente com os alias s ou S
2 Modo de multiusurio sem rede
3 Modo de multiusurio com rede
4 No Utilizado
5 Modo de multiusurio com rede e com o X Window System
6 Reinicializar o sistema
A distribuio Slackware usa o nvel de execuo 4 em vez do 5 para um sistema completo executando X Window system. Debian e
derivados, como Ubuntu, usam um nico nvel de execuo para o modo de multiusurio, geralmente o nvel 2. Consulte a documentao
para sua distribuio.
Para alterar o Runlevel de inicializao do seu Linux, vc pode alterar o arquivo /etc/inittab:
# vi /etc/inittab
Exemplo abaixo, corresponde a linha em vermelho, o nmero 2 o denido:
# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
# The default runlevel.
id:2:initdefault:
# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS
# What to do in single-user mode.
~~:S:wait:/sbin/sulogin
# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
Ou usando um dos comando abaixo(lembrando que para todos esses procedimentos dever ser o super-usurio):
# init 5
Ou
# telinit 5
Personalizando o processo de inicializao
O Debian no utiliza o diretrio rc.local no estilo BSD para personalizar o processo de inicializao; ao invs disso ele fornece o seguinte
mecanismo de personalizao.
Suponha que um sistema precisa executar o script foo na inicializao da mquina ou ao entrar em um nvel de execuo (System V) em
especifco. O administrador do sistema dever ento :
Colocar o script foo dentro do diretrio /etc/init.d/.
Executar o comando Debian update-rc.d com os argumentos apropriados para criar as ligaes entre os diretrios (especicados na
linha de comando) rc?.d e /etc/init.d/foo. Aqui, ? um nmero de 0 a 6 que corresponde a um dos nveis de execuo System V.
Reiniciar o sistema.
O comando update-rc.d criar as ligaes entre os arquivos nos diretrios rc?.d e o script em /etc/init.d/. Cada ligao iniciar com um `S'
ou um `K', seguido por um nmero, seguido pelo nome do script. Quando o sistema entra em um nvel de execuo N, scripts que iniciam
com `K' em /etc/rcN.d/ so executados com stop como seu argumento, seguido por aqueles comeando com `S' em /etc/rcN.d com start
Curso de Certicao Linux LPI
como seu argumento.
Algum poderia, por exemplo, fazer com que o script foo seja executado na inicializao do sistema colocando-o em /etc/init.d/ e
instalando as ligaes com o comando update-rc.d foo defaults 19. O argumento defaults se refere aos nveis de execuo padres, que so
do nvel 2 at o nvel 5. O argumento 19 assegura que foo seja chamado antes de quaisquer scripts contendo nmeros 20 ou superiores.
O Comando Shutdown
Desliga/reinicia o computador imediatamente ou aps determinado tempo (programvel) de forma segura. Todos os usurios do sistema
so avisados que o computador ser desligado . Este comando somente pode ser executado pelo usurio root ou quando usada a opo -a
pelos usurios cadastrados no arquivo /etc/shutdown.allow que estejam logados no console virtual do sistema.
shutdown [opes] [hora] [mensagem]
hora
Momento que o computador ser desligado. Voc pode usar HH:MM para denir a hora e minuto, MM para denir minutos, SS para
denir aps quantos segundos, ou now para imediatamente (equivalente a 0).
O shutdown criar o arquivo /etc/nologin para no permitir que novos usurios faam login no sistema (com excesso do root). Este
arquivo removido caso a execuo do shutdown seja cancelada (opo -c) ou aps o sistema ser reiniciado.
mensagem
Mensagem que ser mostrada a todos os usurios alertando sobre o reinicio/desligamento do sistema.

opes
-h
Inicia o processo para desligamento do computador.
-r
Reinicia o sistema
-c
Cancela a execuo do shutdown. Voc pode acrescentar uma mensagem avisando aos usurios sobre o fato.
-a
Permite que os nomes de usurios contidos no arquivo /etc/shutdown.allow possam utilizar o shutdown para
reinicializar/desligar o sistema. Deve ser colocado um nome de usurio por linha. O limite mximo de usurios neste arquivo
de 32.
Este arquivo til quando o shutdown usado para controlar o pressionamento das teclas CTRL ALT DEL no /etc/inittab.
-k
Simula o desligamento/reinicio do sistema, enviando mensagem aos usurios.
-f
No executa a checagem do sistema de arquivos durante a inicializao do sistema. Este processo feito gravando-se um
arquivo /fastboot que interpretado pelos scripts responsveis pela execuo do fsck durante a inicializao do sistema.
-F
Curso Certicao Linux LPI-1: Trabalhando com Permisses
Cada arquivo no Linux tem o denido controle de acesso.Este controle denidopor trs classes:
-Permisses de usurio: Dono do arquivo(quem o criou).
-Permisses de grupo: grupo que ao qual ele pertence.
-Permisses de outros usurios: outros(no dono e outro grupo).
E para cada classe h 3 tipos de acesso:
-leitura(r)
-escrita(w)
-execuo(x)
Curso de Certicao Linux LPI
Bits especiais.
Os 3 primeiros bits da esquerda para direita so bits de atributos especiais:
-SUID (Set User ID) - afeta somente arquivos executveis
-SGID (Set Group ID) - afeta execuo de programas do grupo do dono.
-Sticky (Stick Bit) - permance na memria mesmo depois de terminado(Colado na memria).
Como os bits de permisso especiais so utilizados com pouca frequncia, e sob condies especiais, eles so representados pela letra (s)
no lugar de (x) de execuo para os bits SUID e SGID nas classes de Dono do arquivo e Grupo, e (t) no lugar de (x) para bit sticky na classe
de Outros.
Quando novos arquivos so criados no sistema, eles so criados com permisses denidas gravadas no perl de cada usurio e
conguradas pelo comando umask.
O comando umask mostra a mscara das permisses quando os arquivos so criados e aceira como argumento um nmero de 3 dgitos
para congurar as permisses.
No Linux, as permisses padro para criao de:
-arquivos = 666 (rw-rw-rw).
-diretrios = 777 (drwxrwxrwx).
Depois de denida a mscara de criao dos arquivos, ela dever ser subtrada das permisses padro, exemplo:
Curso de Certicao Linux LPI
$ umask 27
O nmero 27 dever ser lido como 027, e dene od bits da mscara como:
-000 para Dono do arquivo.
-010 para Grupo
-111 para Outros.
O comando chmod
chmod (abreviao de change mode, em portugus: alterar modo) um comando do Unix usado para alterar permisses de arquivos e
diretrios (pastas). Sua sintaxe a seguinte:
$ chmod [opes] modo[,modo] arquivo1 [arquivo2 ...]
Para a representao das permisses atravs de letras, voc poder utilizar:
Exemplo:
O comando chown
O comando chown da shell de um sistema operacional do tipo Unix (como o caso o GNU/Linux) usado para alterar o dono de um
determinado arquivo.Uso:
chown [opes] usurio arquivo
Exemplos:
# chown root /var/run/httpd.pid
# chown marcos:linux strace.log
# chown nobody:nogroup /tmp /var/tmp
# chown :512 /home
# chown -R usuario:grupo
Os comandos chattr, lsattr e ln
chattr
Esse comando modica os atributos de arquivos/diretrios:
chattr [opo] [atributo] [arquivo/diretrio]
lsattr
Comando que lista os atributos atribudos a um arquivo/diretrio:
lsattr [opo] [arquivo/diretrio]
O comando ln
O comando ln permite criar links. Existem dois tipos de links suportados pelo Linux, os hard links(links fsicos) e os links simblicos. Os
links simblicos tm uma funo parecida com os atalhos do Windows, eles apontam para um arquivo, mas se o arquivo movido para
outro diretrio o link ca quebrado. Os hard links(links fsicos) so semelhantes aos atalhos do OS/2 da IBM, eles so mais intimamente
ligados ao arquivo e so alterados junto com ele. Se o arquivo muda de lugar, o link automaticamente atualizado.
O comando ln dado sem argumentos cria um hard link, como em:
$ ln /home/marcos/arquivo.txt arquivo
Curso de Certicao Linux LPI
Onde ser criado um link chamado "arquivo" no diretrio corrente, que apontar para o arquivo.txt dentro do diretrio /home/marcos
Para criar um link simblico, basta acrescentar o argumento "-s", como em:
$ ln -s /home/marcos/arquivo.txt arquivo
-s : Cria um link simblico. O padro do comando ln so links fsicos.
-f : Fora a criao de um link mesmo que este j exista.
-i : Exibe nmero de identificao.
Curso Certicao Linux LPI-1: Instalando e Compilando Programas a partir do cdigo fonte
A Free Software Foundation (FSF, Fundao para o Software Livre) uma organizao sem ns lucrativos, fundada em 04 de Outubro de
1985 por Richard Stallman e que se dedica a eliminao de restries sobre a cpia, redistribuio, estudo e modicao de programas de
computadores bandeiras do movimento do software livre, em essncia. Faz isso promovendo o desenvolvimento e o uso de software livre
em todas as reas da computao mas, particularmente, ajudando a desenvolver o sistema operacional GNU e suas ferramentas.
Os pacotes com cdigo fonte, distribudos na forma dos famosos pacotes .tar.gz ou .tar.bz2, so o formato
mais universal, porm ao mesmo tempo o mais complicado de instalar, que voc deixa como um ltimo recurso
a lanar mo quando no encontrar um pacote atualizado do programa desejado.
Para instal-los, necessrio, em primeiro lugar, ter instalado um conjunto de compiladores, incluindo o gcc e
g++, ferramentas como o make, autoconf, di e patch, e bibliotecas, como o binutils-dev, libc6-dev. Este "kit
bsico" instalado ao marcar a categoria "desenvolvimento" (ou development) durante a instalao de vrias
distribuies. No caso do Kurumin, voc tem pr-instalados os compiladores mais usados e voc pode instalar
outros necessrios atravs do Synaptic, ou manualmente atravs do apt-get.
Uma dica que todos os pacotes cujo nome termina com "-dev" so justamente bibliotecas de desenvolvimento,
que podem ser necessrias ao compilar determinados programas. Quando o instalador reclama da falta de
bibliotecas ou arquivos do X, provavelmente ele est dando falta do pacote "xlibs-dev", quando reclamar da
falta de arquivos do KDE, provavelmente est pedindo o pacote "libqt3-dev" e assim por diante. A maior
diculdade em compilar programas complexos est justamente em localizar e instalar o conjunto de bibliotecas
de que ele precisa.
Se os pr-requisitos estiverem em ordem, a compilao em si feita descompactado o arquivo (usando o
comando "tar -zxvf pacote.tar.gz" ou "tar -jxvf pacote.tar.bz2" ou descompactando pelo prprio Konqueror),
acessando a pasta que ser criada e rodando trs comandos bsicos:
$ ./configure
$ make
# make install
O "./congure" executa um script (dentro da pasta do programa), que verica o sistema, em busca dos componentes de que precisa. Ele
avisa caso algo esteja faltando, como neste erro que apareceu ao tentar compilar o Qemu:
ERROR: QEMU requires SDL or Cocoa for graphical output
To build QEMU with graphical output congure with --disable-gfx-check
Note that this will disable all output from the virtual graphics card.
Neste exemplo, est faltando a biblioteca de desenvolvimento do SDL. Quase sempre, os pacotes que contm bibliotecas comeam com
"lib" e os pacotes de desenvolvimento terminam com "-dev". Procurando no http://www.debian.org por um pacote que comece com "lib",
termine com "-dev" e tenha "sdl" no meio, voc chega ao "libsdl1.2-dev", que justamente o pacote que estava faltando neste caso :). Em
casos onde a soluo parecer mais difcil, a melhor opo fazer uma busca no Google, usando parte da mensagem de erro.
O "make" cuida do trabalho pesado, fazendo a compilao propriamente dita. Ele se baseia nas informaes deixadas pelo "./congure"
para encontrar os componentes de que precisa.
Finalmente, temos o "make install", que nalmente instala o programa, copiando os arquivos gerados pelo make para as pastas corretas
do sistema. Ao contrrio dos dois primeiros comandos, ele precisa ser executado como root, j que envolve fazer alteraes no sistema.
Curso de Certicao Linux LPI
Apesar destes trs comandos serem um padro adotado na maioria dos pacotes, eles no so necessariamente uma regra. Muitos
programas usam sistemas simplicados de instalao ou mesmo scripts prprios, por isso sempre bom dar uma olhada no arquivo
"INSTALL" ou "README" dentro da pasta, que explica os passos necessrios. Em geral, os programas instalados a partir dos fontes no
criam os cones no menu. Voc precisa chamar o programa via linha de comando ou criar os cones manualmente.
Nas distribuies derivadas do Debian, uma dica com relao s dependncias e bibliotecas usar o auto-apt, um programa que verica as
mensagens de erro geradas durante a compilao e procura instalar via apt-get os componentes necessrios para concluir a compilao.
Ele no perfeito: muitas vezes se perde ou tenta instalar pacotes desnecessrios, mas realmente ajuda em muitos casos. Voc pode
instal-lo via apt-get:
# apt-get install auto-apt
Depois de instalado, execute (nesta ordem) os comandos "auto-apt update", "auto-apt updatedb" e "auto-apt update-local", que geram a
base de dados que ele usa para fazer seu trabalho. Depois de tudo pronto, voc passa a executar os comandos de compilao dos pacotes
atravs dele, usando o comando "auto-apt run" seguido pelo comando, como em:
# auto-apt run ./configure
# auto-apt run make
O comando ldcong
Cria, atualiza e remove as ligaes necessrias e cache (para uso pelo linker de tempo de execuo, ld.so) mais recente partilhada
bibliotecas encontrado nos diretrios especicados na linha de comando, em o arquivo / etc / ld.so.conf, e nos diretrios conveis
(/usr/lib e /lib). ldcong verica os nomes de cabealho e arquivo das bibliotecas que encontra ao determinar quais verses devem ter suas
ligaes atualizado. ldcong ignora links simblicos ao procurar por bibliotecas.
ldconfig [OPTION...]
O comando ldd
Imprime as bibliotecas compartilhadas necessrias por cada programa ou compartilhado biblioteca especicada na linha de comando.
Extrado de:
http://www.fsf.org/
http://www.hardware.com.br
http://www.linuxmanpages.com/
Veja o Manual do Linux em uma pgina de Carlos Morimoto:
Manual linux de_uma_pagina from Marcos da Boa Morte
Curso Certicao Linux LPI-1: Gerenciamento de pacotes no Debian
Curso de Certicao Linux LPI
E ae galera, dessa vez vou mostrar umas imagens, um frame e link da documentao original e um slide para facilitar o
entendimento, pois esse assunto "bomba" na internet, segue:
Curso de Certicao Linux LPI

Gerenciamento de pacotes no Debian from Marcos da Boa Morte
aptana aptitude
apt-cache aptitude-create-state-bundle
apt-cdrom aptitude-curses
apt-cong aptitude-run-state-bundle
aptdcon apt-key
apt-extracttemplates apt-listchanges
apt-ftparchive apt-mark
apt-get apt-sortpkgs
Documentao original:
[ anterior ] [ Contedo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10
] [ prximo ]
Como usar o APT
Captulo 1 - Introduo
No incio havia o .tar.gz. Os usurios tinham de penar para compilar
cada programa usado em seu sistema GNU/Linux, ou outro qualquer.
Quando o Debian foi criado, sentiu-se a necessidade de um sistema de
gerenciamento de pacotes instalados no sistema. Deu-se a esse
sistema o nome de dpkg. Assim surgiu o famoso `pacote'. Logo aps a
Red Hat resolveu criar seu conhecido sistema rpm.
Link: Debian
Curso Certicao Linux LPI-1: Quotas de Disco
No Linux existe a possibilidade de habilitarmos quotas de disco para gerenciarmos melhor o uso do espao disponvel em
disco.Este recurso especialmente importante em ambientes multi-usurios, servidores de Web, servidores de arquivos,
servidores de e-mail, etc.
No gerenciamento de cotas possvel denirmos a quantidade de espao em disco para cada usurio ou grupo de usurios.
preciso habilitar o gerenciamento de quotas antes de utilizarmos este recurso.Tambm preciso que o suporte a quotas esteja
compilado no Kernel.
Curso de Certicao Linux LPI
1-Edite o arquivo /etc/fstab e adicione o gerenciamento de cota para usurio (usrquota) e para grupo (grpquota) no dispositivo desejado.
# vi /etc/fstab
Acrescentar "usrquota" e "gprquota":
/dev/hda6 /home ext3 defaults,usrquota,grpquota 1 2
2-Crie o arquivo quota.user e quota.group no diretrio /home e congure as permisses de leitura e escrita para o root.Estes dois
arquivos sero os bancos de dados para quotas de usurio e grupo respectivamente.
Cria os arquivos de quota:
# touch /home/quota.user
# touch /home/quota.group
Altera as permisses:
# chmod 600 /home/quota.user
# chmod 600 /home/quota.group
3-Execute o comando quota-check para iniciar o banco de dados recm criado, e verique se o banco de dados foi iniciado.Os arquivos
quota.user e quota.group no devem ter tamanho zero.
# ls -lga /home
4-Habilite o servio de quotas:
# quotaon -a
5-Tenha certeza de que o servio de quotas habilitado no boot.Se no existir o arquivo /etc/rc.d/quotas, crie um arquivo de script:
# vi /etc/rc.d/quotas
#!/bin/bash
/sbin/quotaon -avug
Altere as permisses para 755:
# chmod 755 /etc/rc.d/quotas
6-Crie o link simblico para o arquivo de quotas para o runlevel 3 e runlevel 5:
# ln -s /etc/rc.d/quotas /etc/rc.d/rc3.d/S20quotas
# ln -s /etc/rc.d/quotas /etc/rc.d/rc5.d/S20quotas
7-Faa checagem do sistema de quotas uma vez por semana colocando o comando quotacheck no cron do root:
# crontab -e
0 3 * * 0 /sbin/quotacheck -avug
Uma vez feitos estes passos o sistema de quotas poder ser utilizado.
- user hard limit (limite fsico), a quantidade total de espao em disco que um usurio pode ter.
- user soft limits (limite leve), funciona como uma rea de aviso, quando o usurio alcana este limite o sistema avisa ao
usurio que o espao fsico est acabando.
- group hard limit (limite fsico por grupo)
- group soft limit , tambm rea de aviso.
Curso de Certicao Linux LPI
- grace perodo (Perodo de Graa), pode-se congurar um perodo para que o usurio ou grupo que tenha atingido o limite
leve possa apagar alguns arquivos e car dentro do estabelecido.Este limite pode ser em minutos, horas, dias, semanas e at
meses.
Comandos:
quota:
# quota [opes] usurio/grupo
Ex.:
# quota -v marcos
O usurio marcos est usando 18320 blocos.O limite leve so 19000 blocos e o fsico 20000 blocos.
quotaon:
# quotaon [opes] [dispositivos]
Ex.(habilita quotas de usurios e grupos para todos os dispositivos):
# quotaon -avug
quotao:
# quotaoff [opes] [dispositivo]
Ex.(desabilita o gerenciamento de quotas num determinado dispositivo.):
quotaon:
# quotaoff -gu /dev/hda6
quotacheck(faz uma varredura em determinado dispositivo e constri os arquivos de banco de dados de quotas):
# quotacheck [opes] [dispositivo]
edquota(Este comando edita quotas para usurios e grupos):
# edquota [opes] usurio/grupo
repquota(cria um relatrio das quotas e utilizao do disco dos usurios):
# repquota [opes] [dispositivo]
Curso Certicao Linux LPI-1: grep e sed
O comando grep
Curso de Certicao Linux LPI
grep um utilitrio de linha de comando para procurar conjuntos de dados de texto simples para as linhas que correspondem
a uma expresso regular.
grep [OPES] expresso_regular arquivo
Exs.:
1-Procura a palavra marcos no arquivo /etc/passwd:
$ grep marcos /et/passwd
2-Procura todas as linhas comeadas pela letra u no arquivo /etc/passwd:
$ grep '^u' /et/passwd
3-Procura todas as linhas terminadas pela palavra false no arquivo /etc/passwd:
$ grep 'false$' /et/passwd
4-Procura todas as linhas comeadas pelas vogais no arquivo /etc/passwd:
$ grep '^[aeiou]' /et/passwd
5-Procura todas as linhas comeadas por qualquer caracter e segundo caracter seja qualquer vogal no arquivo /etc/passwd:
$ grep '^.[aeiou]' /et/passwd
6-Procura todas as linhas que contenham uma sequncia de 4 nmeros consecutivos:
$ grep '[0-9][0-9][0-9][0-9]' /et/passwd
O comando sed
sed um editor de textos simples utilizado para fazer pequenas transformaes no contedo dos arquivos.
$ sed [opes] {script} [arquivo]
Exs.:
1-Troca todas ocorrncias da palavra marcos pela palavra pinguim:
$ sed 's/marcos/pinguim/' arquivo.txt
2-Troca todas ocorrncias da palavra marcos pela palavra pinguim e envia as mudanas para um novo arquivo:
$ sed 's/marcos/pinguim/' arquivo.txt > novoarquivo.txt
Sugestes para estudos avanados:
Regex(grep, egrep...)
Sed
Curso Certicao Linux LPI-102: Administrao do Sistema
Em um sistema multi-usurio, necessrio existir mecanismos para proteger os usurios, de forma que seus arquivos
privativos quem seguros, inacessveis aos outros. Outro aspecto em relao aos recursos do sistema reservados: no deve
ser possvel a um usurio criar arquivos que ocupem todo o espao do disco, por exemplo, e assim, indiretamente, proibir
todos os outros usurios de salvarem seus prprios arquivos. Atingimos esse objetivo criando contas, que representam todos os
recursos e informaes pertencentes a um determinado usurio. A origem do nome conta, depende muito da histria da
computao, quando o espao em disco e tempo de uso da mquina tinha que ser cobrado de acordo com o seu uso, de forma
semelhante a uma conta telefnica.
Curso de Certicao Linux LPI
A cada usurio destinado um nome de login e senha, como j vimos anteriormente, bem como um UID, GID, nome do diretrio home e
shell inicial (veja imagem do arquivo /etc/passwd). Maiores informaes podem ser obtidas com o comando man 5 passwd.
Adicionar usurios:
# useradd nome_do_usuario
Modicar dados de um usurio:
# usermod [opes] nome_do_usuario
Deletar usurios(a opo -r remove tambm a pasta do usurio):
# userdel -r nome_do_usuario
O comando chage:
Lida com a data de expirao das contas de usurio.Essa data gravada no arquivo /etc/shadow.
Uso:
# chage [opes] nome_do_usuario
Ex.:(deve-se escrever em formato de data americano ms/dia/ano [mm/dd/aaaa])
# chage -E 12/31/2012 nome_do_usuario
Mais sobre Admnistrao do Sistema (Contas de Usurios)
+ O diretrio'/etc/skel utilizado para fornecer a estrutura bsica do diretrio home do usurio.Nele contm os arquivos:
/etc/skel$ ls -a
. .. .bash_logout .bashrc .profile
+ Durante o processo de logon de um usurio, quando o shel inicia, ele executa o script /etc/prole.
+ O bash tambm procura pelo arquivo /etc/bashrc que tambm tem uma funo parecida com o prole, mas o bashrc executado todas
as vezes que o bash executado.
+ Existem agendadores de tarefas um dele o cron(imagem)
Mais informaes sobre o cron acesse esse link aqui: Como utilizar o Crontab
Curso Certicao Linux LPI-102: Backup, compactao e descompactao
A compresso de dados o ato de reduzir o espao ocupado por dados num determinado dispositivo. Essa operao realizada
Curso de Certicao Linux LPI
atravs de diversos algoritmos de compresso, reduzindo a quantidade de Bytes para representar um dado, sendo esse dado
uma imagem, um texto, ou um arquivo (cheiro) qualquer.
Comprimir dados destina-se tambm a retirar a redundncia, baseando-se que muitos dados contm informaes redundantes
que podem ou precisam ser eliminadas de alguma forma. Essa forma atravs de uma regra, chamada de cdigo ou protocolo,
que, quando seguida, elimina os bits redundantes de informaes, de modo a diminuir seu tamanho nos cheiros. Por exemplo,
a sequncia "AAAAAA" que ocupa 6 bytes, poderia ser representada pela sequncia "6A", que ocupa 2 bytes, economizando 67%
de espao.
Alguns compactadores de arquivos:
TAR
MIME: application/x-tar
TAR ou tar (abreviatura de Tape ARchive), um formato de arquivamento de arquivos (cheiros). Apesar do nome "tar" ser
derivado de "tape archive", o seu uso no se restringe a tas magnticas. Ele se tornou largamente usado para armazenar
vrios arquivos em um nico, preservando informaes como datas e permisses. Normalmente produzido pelo comando
"tar".
Algumas das opes mais frequentes:
-c - cria um novo arquivo tar;
-M - cria, lista ou extrai um arquivo multivolume;
-p - mantm as permisses originais do(s) arquivo(s);
-r - acrescenta arquivos a um arquivo tar;
-t - exibe o contedo de um arquivo tar;
-v - exibe detalhes da operao;
-w - pede confirmao antes de cada ao;
-x - extrai arquivos de um arquivo tar;
-z - comprime ou extrai arquivos tar resultante com o gzip;
-j - comprime ou extrai arquivos tar resultante com o bz2;
-f - especifica o arquivo tar a ser usado;
-C - especifica o diretrio dos arquivos a serem armazenados.

GZIP
Gzip a abreviao de GNU zip, um Software Livre de compresso sem perda de dados, criado por Jean-loup Gailly e Mark
Adler. O programa baseado no algoritmo DEFLATE. A extenso gerada pelo gzip o .gz, e seu formato contm apenas um
arquivo comprimido. Em sistemas UNIX comum gerar um arquivo contendo diversos outros arquivos com o programa tar, e
depois comprimi-lo com o gzip, gerando um arquivo .tar.gz.
No confundir com o formato ZIP.
TAR.BZ2
Formato de compactao de arquivos, muito utilizado em sistemas Unix-Like.
COMPACTAO
Compactando arquivos .tar:
$ tar -cf arquivo.tar [arquivo ou pasta]
Criando arquivos gzip(depois de ter criado o tar primeiro):
$ gzip arquivo.tar
Curso de Certicao Linux LPI
Compactando arquivos tar.gz (TAR com gzip de uma s vez):
$ tar -zcvf arquivos.tar.gz [arquivo ou pasta]
Compactando arquivos no formato tar.bz2:
$ tar -jcvf arquivos.tar.bz2 [arquivo ou pasta]
Compactando arquivos tar de uma outra forma:
$ tar -c [arquivo ou pasta] > arquivo.tar
Compactando outros formatos (rar, zip e ans):
Instale o suporte:
# apt-get install rar unrar p7zip
$ rar a arquivo.rar [arquivo ou pasta]
$ zip -r arquivo.zip [arquivo ou pasta]
DESCOMPACTAO
Descompactando arquivos .tar:
$ tar -xf arquivo.tar [arquivo ou pasta]
Descompactando arquivos gzip(depois de ter criado o tar primeiro):
$ gzip -d arquivo.tar.gz
Descompactando arquivos tar.gz (TAR com gzip de uma s vez):
$ tar -zxvf arquivos.tar.gz
Descompactando arquivos no formato tar.bz2:
$ tar -jxvf arquivos.tar.bz2 [arquivo ou pasta]
Descompactando outros formatos(rar, zip e ans):
Instale o suporte:
# apt-get install rar unrar p7zip
$ rar -e arquivo.rar
ou
$ unrar x arquivo.rar
$ unzip arquivo.zip
O comando dd (para Backup)
O comando dd um clssico dos ambientes Unix-Like, com ele voc pode fazer uma cpia exata de um arquivo, ou seja uma
cpia bit a bit. Sintaxe bsica:
dd if=origem of=destino

Exemplos:
Cpia do HD para um arquivo:
# dd if=/dev/sda of=~/backup_hd.img
Ser feita uma cpia exata do HD dentro do diretrio do root com o nome "backup_hd.img". Se quiser restaurar o "backp_hd.img" no
/dev/sda2 (lembre que o sda2 deve ter pelo menos o mesmo tamanho do arquivo "backup.hd" se no os resultados podero ser
desastrosos):
Curso de Certicao Linux LPI
# dd if=backup_hd.img of=/dev/sda2
Cpia de partio para o partio:
# dd if=/dev/sda9 of=/dev/sda11
Ser feita cpia da partio /dev/sda9 para a /dev/sda11.
Fazendo uma cpia do HD para um arquivo compactado:
# dd if=/dev/sda1 | gzip > backup_hd.img.gz
e para descompactar:
# gzip -d -c backup_hd.img.gz | dd of=/dev/sda2
O comando acima est descompactando o arquivo beckup_hd.img.gz no HD em /dev/sda2.
Criar uma imagem ISO:
# dd if=diretorio of=iso_do_diretorio.iso
Para visualizar progresso de cpia de arquivos, v em outro terminal e execute:
$ watch df -h
Para converter todos as letras maisculas de um documento para letras minsculas:
$ dd if=ficheiro1 of=ficheiro2 conv=lcase
Se quisermos converter todas as letras do cheiro2 para maisculas:
$ dd if=ficheiro2 of=ficheiro3 conv=ucase
Para zerar (formatar) o seu HD (use com cuidado!):
# dd if=/dev/zero of=/dev/hda
Gerar senhas de forma (pseudo) aleatria:
$ dd if=/dev/random bs=2 count=6 | base64 -
r2KWFW83e9nTniVR
6+0 registros de entrada
6+0 registros de sada
12 bytes (12 B) copiados, 0,000100641 s, 119 kB/s
Para automatizar tarefas, voc pode utilizar o Cron e Crontab, veja esse post para mais informaes:
Como utilizar o Crontab
Curso Certicao Linux LPI-102: Kernel do Linux
O ncleo do Linux (Linux Kernel) forma a estrutura base do sistema operacional GNU/Linux, que um sistema operacional tipo unix. O
ncleo do Linux um dos exemplos mais proeminentes de software livre, pois pode prover alicerce para o desenvolvimento e execuo de
outros softwares livres.
O ncleo Linux distribudo sob a licena GNU General Public License verso 2 (GPLv2), sendo desenvolvido por colaboradores em todo o
mundo. O desenvolvimento ocorre a partir da lista de e-mail do ncleo Linux (Linux kernel mailing list).
Curso de Certicao Linux LPI
O Linux foi concebido pelo estudante do Departamento de Cincia da Computao da Universidade de Helsinki na Finlndia, Linus
Torvalds com ajuda de vrios programadores voluntrios por meio da Usenet (antecessora da Internet) em 1991.
Mais informaes em: Wikipdia
Suporte aos dispositivos de hardware:
-Cdigos dos drivers dos dispositivos podem ser carregados no prprio corao do ncleo(monoltico, rpido e exvel)
-Cdigos dos drivers dos dispositivos podem ser carregados separadamente(os Mdulos)("modulo.o", depende da verso do Kernel)
-O nmero de verso menor (o segundo componente) par indicavam uma srie estvel: 1.0.x, 1.2.x, 2.0.x, 2.2.x e 2.4.x;
Os mdulos so dispnibilizados em /lib/modules/versao-do-kernel
Para visualizar a verso no Kernel, alguns comandos:
Padro:
# uname -r
Visualiza com distro:
# uname -a
Visualizao mais completa:
# cat /proc/version
Outar forma no Debian, por exemplo:
# cat /etc/issue
Para listar os mdulos disponveis e utilizados:
# lsmod
Ou
# cat cat /proc/modules
Para carregar um mdulo para dentro do Kernel, se no for informado o caminho, o mesmo ser procurado no arquivo /etc/modules.conf
# insmod [opes] [mdulo]
Para remover ou descarregar um mdulo do Kernel(quando no estiver em uso):
# rmmod [opes] [mdulo]
Para obter informaes sobre determinado mdulo:
# modinfo [opes] [mdulo]
O MAIS USADO DE TODOS, usado para carregar e descarregar os mdulos de forma inteligente do Kernel:
# modprobe [opes] [mdulo] [parmetros do mdulo]
Cria uma lista de dependncias entre mdulos
# depmode [opes]
Para Instalar um novo Kernel, consulte esse link:
Clique aqui - Como Compilar o Kernel
Curso Certicao Linux LPI-102: Fundamentos e Servios de Rede - TCP-IPv4
O TCP/IP um conjunto de protocolos de comunicao entre computadores em rede (tambm chamado de pilha de
protocolos TCP/IP). Seu nome vem de dois protocolos: o TCP (Transmission Control Protocol - Protocolo de Controle de
Transmisso) e o IP (Internet Protocol - Protocolo de Interconexo).
O endereo IP escrito na notao decimal com 4 posie de 8 bitscada, totalizando 32 bits.Cada parte do endereo pode ir
de 0 a 255 na notao decimal.
x.y.z.k
192.168.1.1
O protocolo perimite que uma rede seja dividida em classes e subclasses indicam onde comea e termina uma rede e precisam de dois IPs
para marcar o seu incio e nal.Essa diviso feita utilizando a mscara de rede.
IP: 192.168.1.1
Subrede: 255.255.255.0
Curso de Certicao Linux LPI
Os bits de valor 1 na mscara iddicam quais bits do endereo sero usados como endereamento de rede.O valor 0 indica os bits que
sero usados como endereamento de mquinas.Veja o exemplo abaixo(192.168.1.1):
O modelo TCP/IP tem 5 classes de endereos denidas pelas letras: A, B, C, D e E.
Classe A:
Classe B:
Classe C:
Classe D e Classe E:
Existem alguns endereos IP especiais que so reservados para funes especcas que no podem ser utilizados como endereos de
uma mquina da rede.A classe A 127.0.0.1 utilizada como referncia a prpria mquina.Normalmente o endereo 127.0.0.1 associado
ao nome localhost.

Curso de Certicao Linux LPI
O modelo inicial do TCP/IP baseado em 4 nveis: Host/rede; Inter-rede; Transporte; e Aplicao. Surgiu, ento, um modelo hbrido,
com 5 camadas, que retira o excesso do modelo OSI e melhora o modelo TCP/IP: Fsica; Enlace; Rede; Transporte; e Aplicao.

As aplicaes fazem acesso camada de transporte atravs de portas.Elas podem ser vistas como canais de comunicaes.Cada porta
refernciada como nmero inteiro, que a identica e a aplicao que ela d suporte.Este nmero um valo de 16-bit, que vai do 1 ao
65535 em decimal.
Os pacotes TCP e UDP contm em seu cabealho informaes como endereo IP do remetente, porta de origem, endereo IP e porta de
destino.Cada servio utiliaz uma nica porta.

O snmeros de 1 a 1024 s chamados de portas privilegiadas porque os servios oferecidos atravs delas executam com autoridade de
super-usurio.

O arquivo SERVICES denem os servios e as portas conhecidas pelo sistema Linux:

# cat /etc/services


Curso Certicao Linux LPI-102: Utilitrios e Ferramentas do TCP/IP
Principais ferramentas do TCP/IP no Linux:
Curso de Certicao Linux LPI
dig
ping
traceroute
whois
telnet
ftp
host
Dig:
O comando dig tem como funo primria retornar o dns da rede, mas tambm pode ser usado para pegar o ip de um host ou retornar o
nome do host de um ip dado.
# dig [endereo]
exemplo:
# dig www.marcospinguim.blogspot.com
; <<>> DiG 9.7.3 <<>> www.marcospinguim.blogspot.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43684
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.marcospinguim.blogspot.com. IN A
;; ANSWER SECTION:
www.marcospinguim.blogspot.com. 595 IN CNAME blogspot.l.googleusercontent.com.
blogspot.l.googleusercontent.com. 205 IN A 74.125.234.107
blogspot.l.googleusercontent.com. 205 IN A 74.125.234.108
blogspot.l.googleusercontent.com. 205 IN A 74.125.234.106
;; Query time: 362 msec
;; SERVER: 10.1.1.1#53(10.1.1.1)
;; WHEN: Sun Mar 17 10:07:12 2013
;; MSG SIZE rcvd: 139
Ping:
Ele usa o protocolo ICMP obrigatrio ECHO_REQUEST datagrama de obter uma ECHO_RESPONSE ICMP de um host ou gateway.
ECHO_REQUEST datagramas (pings ``'') tem um cabealho de IP e ICMP, seguido por um struct timeval e, em seguida, um nmero
arbitrrio de almofada ``'' bytes usados para preencher o pacote.
# ping [opes] [endereo(HOST ou IP)]
exemplo(a opo -c testa o nmero x de vezes):
# ping www.marcospinguim.blogspot.com
PING blogspot.l.googleusercontent.com (74.125.234.107) 56(84) bytes of data.
64 bytes from gru03s08-in-f11.1e100.net (74.125.234.107): icmp_req=1 ttl=57 time=407 ms
^C^C
^C64 bytes from 74.125.234.107: icmp_req=2 ttl=57 time=803 ms
--- blogspot.l.googleusercontent.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 407.638/605.599/803.561/197.963 ms
marcos@debian:~$ ping -c4 www.marcospinguim.blogspot.com
PING blogspot.l.googleusercontent.com (74.125.234.107) 56(84) bytes of data.
64 bytes from gru03s08-in-f11.1e100.net (74.125.234.107): icmp_req=1 ttl=57 time=655 ms
64 bytes from gru03s08-in-f11.1e100.net (74.125.234.107): icmp_req=2 ttl=57 time=271 ms
64 bytes from gru03s08-in-f11.1e100.net (74.125.234.107): icmp_req=3 ttl=57 time=19.1 ms
64 bytes from gru03s08-in-f11.1e100.net (74.125.234.107): icmp_req=4 ttl=57 time=117 ms
--- blogspot.l.googleusercontent.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3052ms
rtt min/avg/max/mdev = 19.196/266.186/655.958/242.392 ms
Traceroute:
Rastreia os rotear pacotes tomadas a partir de uma rede IP em seu caminho para um determinado host. Ele utiliza o protocolo IP tempo
de vida (TTL) de campo e as tentativas de obter uma resposta ICMP TIME_EXCEEDED de cada gateway ao longo do caminho para o host.
# traceroute [opes] [endereo]
exemplo:
#traceroute www.marcospinguim.blogspot.com
traceroute to www.marcospinguim.blogspot.com (74.125.234.204), 30 hops max, 60 byte packets
1 10.1.1.1 (10.1.1.1) 2.166 ms 2.645 ms 3.109 ms
2 r1-pw-aguda.ibys.com.br (201.94.192.2) 372.024 ms 372.491 ms 372.796 ms
3 192.168.23.6 (192.168.23.6) 373.232 ms 373.732 ms 375.454 ms
4 192.168.23.114 (192.168.23.114) 374.144 ms 374.629 ms 374.938 ms
Curso de Certicao Linux LPI
5 198.32.122.29 (198.32.122.29) 376.465 ms 376.936 ms 377.643 ms
6 209.85.243.202 (209.85.243.202) 377.300 ms 160.056 ms 94.374 ms
7 72.14.239.184 (72.14.239.184) 25.485 ms 25.838 ms 28.137 ms
8 gru03s15-in-f12.1e100.net (74.125.234.204) 28.621 ms 28.956 ms 30.290 ms
Whois:
Whois se refere a um servio para consultar a informao sobre um domnio de Internet, quem o dono do domnio, quando expira o
domnio, quem o registrador do domnio, seus DNS-s. Atravs desta web ou de qualquer web que oferea a busca de domnios, ou servio
whois se pode ver via web.
# whois objeto[@servidor]
exemplo(nesse caso no retornou dados):
whois www.marcospinguim.blogspot.com
No match for "WWW.MARCOSPINGUIM.BLOGSPOT.COM".
>>> Last update of whois database: Sun, 17 Mar 2013 13:17:29 UTC <<<
Telnet:
O comando telnet usado para se comunicar com outro host usando o protocolo TELNET. Se o telnet invocado sem o argumento host,
ele entra em modo de comando, indicado por seu prompt (telnet>) Neste modo, ele aceita e executa os comandos listados abaixo. Se ele
chamado com argumentos, ele executa um comando de abertura com esses argumentos.
# telnet [endereo] [porta]
exemplo(nesse caso no retornou dados):
$ telnet www.marcospinguim.blogspot.com
telnet: could not resolve www.marcospinguim.blogspot.com/telnet: Name or service not known
FTP:
Clique aqui para mais informaes sobre FTP
Host:
um utilitrio simples para a realizao de pesquisas de DNS. normalmente usado para converter nomes em endereos IP e
vice-versa. Quando no h argumentos ou opes so dadas, antrio imprime um breve resumo de seus argumentos de linha de comando
e opes.
# host [opes] [endereo] [servidor]
exemplo:
$ host www.marcospinguim.blogspot.com
www.marcospinguim.blogspot.com is an alias for blogspot.l.googleusercontent.com.
blogspot.l.googleusercontent.com has address 74.125.234.107
blogspot.l.googleusercontent.com has address 74.125.234.108
blogspot.l.googleusercontent.com has address 74.125.234.106
blogspot.l.googleusercontent.com has IPv6 address 2800:3f0:4001:803::100c
At a prxima!
Curso de Certicao Linux LPI
Curso Certicao Linux LPI-102: Congurando a Rede
Vrias distribuies oferecem ferramentas prprias para a congurao e carga dos recursos de rede.Entretanto alguns
comandos, arquivos e conceitos so aplicveis a todas elas.Neste tpico ser abordado a congurao de uma rede TCP/IP em
dispositivos ethernet.
O primeiro passo conhecer os arquivos de congurao de rede comuns a todas as distribuies.Segue:
1-Ver o nome do sistema:
# cat /etc/hostname
2-Este arquivo faz o mapeamento entre endereos IP e nomes de mquinas de rede e utilizado para resoluo de nomes durante o
processo de boot enquanto nenhum servidor de DNS entrou em ao.
# cat /etc/hosts
3-Este arquivo especica o endereo IP de um ou mais servidores de DNS para resoluo de nomes.
# cat /etc/resolv.conf
4-Este arquivo especica a ordem de procura para a resoluo de nomes.O sistema pode procurar os endereos IPs no arquivo /etc/hosts
(hosts) e pelo servio de DNS (bind).A opo multi on habilita mais de um IP para determinada mquina.
# cat /etc/host.conf
5-Este arquivo a evoluo do /etc/host.conf e possibilita que a ordem de procura para resoluo de nomes seja customizada para cada
servio.Ele utilizado nas ltimas distribuies por diversas bibliotecas ao invs do /etc/host.conf.
# cat /etc/nsswitch.conf
6-Descrever endereamentos de rede, e portanto os endereos deve terminar com .0.
# cat /etc/networks
7- Este comando mostra o nome local da mquina.Tambm pode ser utilizado para trocar o nome da mquina se um novo nome for
fornecido como argumento.
Ele suporta a opo --fdqn (Fully Qualied Domain Name), que retorna o nome do sistema mais o domnio:
# hostname --fqdn
8-Retorna ou congura o domnio Internet da mquina.
# dnsdomainname
9- ifcong cria e/ou congura as interfaces de rede e seus parmetros.Esta operao geralmente feita durante o processo de carga do
sistema.
Se no for passado nenhum parmetro, ele exibe as conguraes das interfaces ativas.
Os parmetros podem ser:
Curso de Certicao Linux LPI
Como congurar o IP, mscara e broadcast dde uma placa de rede:
# ifconfig eth0 10.1.1.2 netmask 255.255.0.0 brocast 10.0.0.255
# ifconfig eth0 up
# ifconfig eth0 down
10- O comando netstat exibe as conexes de rede, tabela de rotas, estatticas das interfaces, etc.
# netstat [opes]
11-O comando route manipula a tabela de rotas do Kernel.Seu uso primrio para adicionar ou apagar rotas estticas para mquinas ou
redes especcas.
Se o route for utilizado sem nenhuma opo, exibe a tabela de rotas.Para adicionar uma nova rota utilizamos o parmetro add.O
parmetro del apaga uma rota.
As opes para os parmetros add e del so:
-netmask mscara >> especica a mscara de subrede para um determinado destino.
-gw endereo >> especica o gateway que ser utilizado para alcanar uma determinada mquina ou rede.
# route
12-tcpdump uma ferramenta utilizada para monitorar os pacotes trafegados numa rede de computadores. Ela mostra os cabealhos dos
pacotes que passam pela interface de rede.
Exemplo de comando tcpdump para mostrar quais as ligaes de um determinado endereo tcp-ip porta 80 do seu servidor: tcpdump -ni
eth0 src "numero ip" and dst port 80

# tcpdump -i eth0
Conexes de origem podem ser monitoradas utilizando o parmetro src host, um exemplo simples seria monitorarmos o trfego que vem
de 192.168.0.9 para nosso computador, com o ip 192.168.0.2. A linha de comando caria da seguinte forma:

# tcpdump -i eth0 src host 192.168.0.9
Se quisermos monitorar as conexes especicando um host de destino, poderamos faz-lo com o parmetro dst host, o exemplo abaixo
mostra todo o trfego do host 192.168.0.2 com 192.168.0.1, no caso, 192.168.0.1 nosso gateway.

# tcpdump -i eth0 dst host 192.168.0.1
Com tcpdump tambm podemos especicar excees com o parmetro not host, por exemplo, em nosso servidor queremos ver todo o
trfego que se passa em sua interface, exceto o de 192.168.0.8, faramos da seguinte forma:

# tcpdump -i eth0 not host 192.168.0.9
No tcpdump podemos tambm especicar portas de origem e destino com os comandos src port e dst port, um exemplo seria
monitorarmos o trfego destinado porta 80 (http), para isso utilizaramos a linha de comandos abaixo e navegaramos em um site
qualquer:

# tcpdump -i eth0 dst port 80
Para vericarmos o trfego da porta de origem 32881 por exemplo, faramos da seguinte forma:

# tcpdump -i eth0 src port 32881
Muitas opes avanadas podem ser obtidas com o tcpdump, essas so algumas opes bsicas, porm fundamentais para quem quer
aprender sobre sniers.
Curso de Certicao Linux LPI
Curso Certicao Linux LPI-102: Congurando o DHCP
Hoje em dia, quase todas as redes utilizam algum tipo de servidor DHCP. Em geral, eles so ativados automaticamente ao
compartilhar a conexo ou junto com algum outro servio, de forma que voc acaba no aprendendo muita coisa sobre a sua
congurao.
De um modo geral, o trabalho de um servidor DHCP bastante simples. Ele responde aos pacotes de broadcast das estaes, enviando um
pacote com um dos endereos IP disponveis e os demais dados da rede. Os pacotes de broadcast so endereados ao endereo
"255.255.255.255" e so retransmitidos pelo switch da rede para todas as portas, diferente dos pacotes endereados a um endereo
especco, que so transmitidos apenas na porta relacionada a ele.
Periodicamente o servidor DHCP verica se as estaes ainda esto l, exigindo uma renovao do "aluguel" do endereo IP (opo "lease
time"). Isso permite que os endereos IP sejam gastos apenas com quem realmente estiver online, evitando que os endereos disponveis
se esgotem.
O servidor DHCP mais usado no Linux o ISC DHCP, desenvolvido pela Internet Systems Consortium, uma organizao sem
ns lucrativos dedicada a desenvolver servios de infra-estrutura usados na Internet, incluindo o Bind e o NTPD. Caso esteja
curioso, a pgina com o cdigo fonte a: http://www.isc.org/sw/dhcp/.
Nas distribuies derivadas do Debian, o pacote correspondente ao servidor DHCP se chama "dhcp3-server" e pode ser instalado via
apt-get:
# apt-get install dhcp3-server
Com o pacote instalado, voc pode ativar e desativar o servio usando os comandos:
# /etc/init.d/dhcp3-server start
# /etc/init.d/dhcp3-server stop
Como voc pode imaginar, o "3" corresponde verso do software. Eventualmente ele ser substitudo pelo "dhcp4-server", o que
resultar tambm na mudana do nome da pasta onde ca o arquivo e do script de inicializao referente ao servio.
No Fedora e no CentOS, o pacote se chama simplesmente "dhcp" e pode ser instalado usando o yum:
# yum install dhcp
Embora o pacote se chame apenas "dhcp", o script referente ao servio se chama "dhcpd", de forma que os comandos para iniciar e parar
o servio so:
# service dhcpd start
# service dhcpd stop
Diferente do Debian, o servio no ser congurado para ser inicializado durante o boot depois de instalado. Voc precisa ativ-lo
manualmente usando o comando "chkcong":
# chkconfig dhcpd on
O arquivo de congurao o "dhcpd.conf". Nas distribuies derivadas do Debian, o caminho completo para ele "/etc/dhcp3
/dhcpd.conf", enquanto no Fedora e no CentOS apenas "/etc/dhcpd.conf", ou seja, um diretrio acima.
Apesar dessas diferenas estticas, o que interessa mesmo a congurao do arquivo e esta sim igual, independentemente da
distribuio. Este um exemplo de arquivo de congurao bsico:
# /etc/dhcp3/dhcpd.conf
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
Curso de Certicao Linux LPI
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.199;
option routers 192.168.1.1;
option domain-name-servers 208.67.222.222,208.67.220.220;
option broadcast-address 192.168.1.255;
}
A opo " default-lease-time" controla o tempo de renovao dos endereos IP. O "600" indica que o servidor verica a cada dez minutos se
as estaes ainda esto ativas. Se voc tiver mais endereos IP do que mquinas, os endereos IP das estaes raramente vo precisar
mudar. Mas, no caso de uma rede congestionada, o "max-lease-time" determina o tempo mximo que uma estao pode usar um
determinado endereo IP. Isso foi planejado para ambientes onde haja escassez de endereos IP, como, por exemplo, em um provedor de
acesso, onde sempre existem mais clientes do que endereos IP disponveis e se trabalha contando que nem todos vo car conectados
simultaneamente. Em condies normais, essas duas opes no so muito importantes. O que interessa mesmo o bloco que vai logo
abaixo, onde cam as conguraes da rede.
A opo "range" determina a faixa de endereos IP que ser usada pelo servidor. Se voc utiliza a faixa de endereos 192.168.1.1 at
192.168.1.254, por exemplo, pode reservar os endereos de 192.168.1.1 a 192.168.1.100 para estaes conguradas com IP xo e usar os
demais para o DHCP, ou ento reservar uma faixa especca para ele, de 192.168.1.101 a 192.168.1.201, por exemplo. O importante usar
faixas separadas para o DHCP e os micros congurados com IP xo.
Na "option routers" vai o endereo do default gateway da rede, ou seja, o endereo do servidor que est compartilhando a conexo. No
necessrio que o mesmo micro que est compartilhando a conexo rode tambm o servidor DHCP. Pode ser, por exemplo, que na sua rede
o gateway seja o prprio modem ADSL que est compartilhando a conexo e o DHCP seja um dos PCs.
A opo "option domain-name-servers" contm os servidores DNS que sero usados pelas estaes. Ao usar dois ou mais endereos, eles
devem ser separados por vrgula, sem espaos. Em geral, voc vai usar os prprios endereos DNS do provedor, a menos que voc
congure um servidor DNS interno na sua rede (que pode ser instalado no prprio micro que est compartilhando a conexo e rodando o
DHCP). Estes servios consomem poucos recursos da mquina.
O servidor DNS mais usado no Linux o Bind. Nas distribuies derivadas do Debian voc pode instal-lo com um "apt-get install bind". O
servidor DNS pode ser congurado para implementar um sistema de domnios e subdomnios na sua rede, mas o uso mais comum
simplesmente fazer um "cache", onde o servidor DNS simplesmente repassa as requisies para um dos 13 root servers da internet e vai
armazenando os endereos que j foram acessados. Mais adiante teremos um captulo inteiro dedicado a ele.
Voc pode substituir o arquivo de congurao padro por este modelo, ou edit-lo conforme a necessidade. Ao fazer qualquer alterao
no arquivo, voc deve reiniciar o servidor DHCP usando o comando:
# /etc/init.d/dhcp3-server restart
ou:
# service dhcpd restart
Com o servidor DHCP congurado, voc pode testar a congurao em um dos clientes Linux, congurando a rede usando o "dhclient",
seguido da interface a ser congurada. Ele mostra toda a negociao entre o servidor e o cliente, o que permite que voc verique se o
servidor est usando a congurao denida por voc:
# dhclient eth0
Internet Systems Consortium DHCP Client V3.0.4
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Listening on LPF/eth1/00:15:00:4b:68:db
Sending on LPF/eth1/00:15:00:4b:68:db
Sending on Socket/fallback
DHCPREQUEST on eth1 to 255.255.255.255 port 67
DHCPACK from 192.168.1.1
bound to 192.168.1.199 -- renewal in 245 seconds.
Como voc pode ver, o cliente deve receber a resposta a partir do endereo IP do servidor rodando o servidor DHCP e ser congurado com
um endereo dentro da faixa denida por voc.
Uma observao importante que sempre que congurar um servidor com duas placas de rede, voc deve congurar o servidor DHCP
para escutar apenas na placa da rede local. No Debian, esta congurao vai no arquivo "/etc/default/dhcp3-server". Procure pela linha:
INTERFACES=""
... e adicione a placa que o servidor DHCP deve escutar, como em:
INTERFACES="eth0"
Para que a congurao entre em vigor, basta reiniciar o servio novamente
Fonte: www.hardware.com.br
Curso Certicao Linux LPI-102: Servios de Rede no Linux
Curso de Certicao Linux LPI
Servios de rede o que est disponvel para ser acessado pelo usurio. No TCP/IP, cada servio associado a um nmero
chamado porta que onde o servidor espera pelas conexes dos computadores clientes. Uma porta de rede pode ser
referenciada tanto pelo nmero como pelo nome do servio.
Abaixo, alguns exemplos de portas padres usadas em servios TCP/IP:
21 - FTP (transferncia de arquivos)
23 - Telnet (terminal virtual remoto)
25 - Smtp (envio de e-mails)
53 - DNS (resolvedor de nomes)
79 - Finger (detalhes sobre usurios do sistema)
80 - http (protocolo www - transferncia de pginas Internet)
110 - Pop-3 (recebimento de mensagens)
119 - NNTP (usado por programas de noticias)
O arquivo padro responsvel pelo mapeamento do nome dos servios e das portas mais utilizadas o /etc/services (para detalhes sobre o
seu formato, veja a [#s-rede-outros-services /etc/services.
Para instal-lo, basta:
apt-get install openbsd-inetd
Servios iniciados como Daemons de rede
Servios de rede iniciados como daemons cam residente o tempo todo na memria esperando que algum se conecte (tambm chamado
de modo standalone). Um exemplo de daemon o servidor proxy squid e o servidor web Apache operando no modo daemon.
Alguns programas servidores oferecem a opo de serem executados como daemons ou atravs do inetd. recomendvel escolher daemon
se o servio for solicitado frequentemente (como o caso dos servidores web ou proxy).
Para vericar se um programa est rodando como daemon, basta digitar ps ax e procurar o nome do programa, em caso positivo ele um
daemon.
Normalmente os programas que so iniciados como daemons possuem seus prprios recursos de segurana/autenticao para decidir
quem tem ou no permisso de se conectar.
Servios iniciados atravs do inetd
Servios iniciados pelo inetd so carregados para a memria somente quando so solicitados. O controle de quais servios podem ser
carregados e seus parmetros, so feitos atravs do arquivo
/etc/inetd.conf.
Um daemon chamado inetd l as conguraes deste arquivo e permanece residente na memria, esperando pela conexo dos clientes.
Quando uma conexo solicitada, o daemon inetd verica as permisses de acesso nos arquivos /etc/hosts.allow e /etc/hosts.deny e
carrega o programa servidor correspondente no arquivo /etc/inetd.conf. Um arquivo tambm importante neste processo o /etc/services
que faz o mapeamento das portas e nomes dos servios.
Alguns programas servidores oferecem a opo de serem executados como daemons ou atravs do inetd. recomendvel escolher inetd se
o servio no for solicitado frequentemente (como o caso de servidores ftp, telnet, talk, etc).
/etc/inetd.conf
O arquivo /etc/inetd.conf um arquivo de congurao para o daemon servidor inetd. Sua funo dizer ao inetd o que fazer quando
receber uma requisio de conexo para um servio em particular. Para cada servio que deseja aceitar conexes, voc precisa dizer ao
inetd qual daemon servidor executar e como executa-lo.
Seu formato tambm muito simples. um arquivo texto com cada linha descrevendo um servio que deseja oferecer. Qualquer texto em
uma linha seguindo uma "#" ignorada e considerada um comentrio. Cada linha contm sete campos separados por qualquer nmero de
espaos em branco (tab ou espaos). O formato geral o seguinte:
servio tipo_soquete proto opes.num usurio caminho_serv. opes_serv.
servio
o servio relevante a este arquivo de congurao pego do arquivo /etc/services.
tipo_soquete
Curso de Certicao Linux LPI
Este campo descreve o tipo do soquete que este item utilizar, valores permitidos so: stream, dgram, raw, rdm, ou seqpacket. Isto um
pouco tcnico de natureza, mas como uma regra geral, todos os servios baseados em tcp usam stream e todos os protocolos baseados em
udp usam dgram. Somente alguns tipos de daemons especiais de servidores usam os outros valores.
protocolo
O protocolo considerado vlido para esta item. Isto deve bater com um item apropriado no arquivo /etc/services e tipicamente ser tcp
ou udp. Servidores baseados no Sun RPC (Remote Procedure Call), utilizam rpc/tcp ou rpc/udp.
opes
Existem somente duas conguraes para este campo. A congurao deste campo diz ao inetd se o programa servidor de rede libera o
soquete aps ele ser iniciado e ento se inetd pode iniciar outra cpia na prxima requisio de conexo, ou se o inetd deve aguardar e
assumir que qualquer servidor j em execuo pegar a nova requisio de conexo.
Este um pequeno truque de trabalho, mas como uma regra, todos os servidores tcp devem ter este parmetro ajustado para nowait e a
maior parte dos servidores udp deve t-lo ajustado para wait. Foi alertado que existem algumas excesses a isto, assim deixo isto como
exemplo se no estiver seguro. O nmero especicado aps o "." opcional e dene a quantidade mxima de vezes que o servio poder
ser executado durante 1 minuto. Se o servio for executado mais vezes do que este valor, ele ser automaticamente desativado pelo inetd e
uma mensagem ser mostrada no log do sistema avisando sobre o fato. Para reativar o servio interrompido, reinicie o inetd com: killall
-HUP inetd. O valor padro 40.
usurio
Este campo descreve que conta de usurio usurio no arquivo /etc/passwd ser escolhida como dono do daemon de rede quando este for
iniciado. Isto muito til se voc deseja diminuir os riscos de segurana. Voc pode ajustar o usurio de qualquer item para o usurio
nobody, assim se a segurana do servidor de redes quebrada, a possibilidade de problemas minimizada. Normalmente este campo
ajustado para root, porque muitos servidores requerem privilgios de usurio root para funcionarem corretamente.
caminho_servidor
Este campo o caminho para o programa servidor atual que ser executado.
argumentos_servidor
Este campo inclui o resto da linha e opcional. Voc pode colocar neste campo qualquer argumento da linha de comando que deseje
passar para o daemon servidor quando for iniciado.
Uma dica que pode aumentar signicativamente a segurana de seu sistema comentar (colocar uma #no inicio da linha) os servios que
no sero utilizados.
Abaixo um modelo de arquivo /etc/inetd.conf usado em sistemas Debian:
# /etc/inetd.conf: veja inetd(8) para mais detalhes.
#
# Banco de Dados de configuraes do servidor Internet
#
#
# Linhas iniciando com "#:LABEL:" ou "#&lt;off&gt;#" no devem
# ser alteradas a no ser que saiba o que est fazendo!
#
#
# Os pacotes devem modificar este arquivo usando update-inetd(8)
#
# &lt;nome_servio&gt; &lt;tipo_soquete&gt; &lt;proto&gt; &lt;opes&gt; &lt;usurio&gt; &lt;caminho_servidor&gt; &lt;args&gt;
#
#:INTERNO: Servios internos
#echo stream tcp nowait root internal
#echo dgram udp wait root internal
#chargen stream tcp nowait root internal
#chargen dgram udp wait root internal
#discard stream tcp nowait root internal
#discard dgram udp wait root internal
#daytime stream tcp nowait root internal
#daytime dgram udp wait root internal
time stream tcp nowait root internal
#time dgram udp wait root internal
#:PADRES: Estes so servios padres.
#:BSD: Shell, login, exec e talk so protocolos BSD.
#shell stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rshd
#login stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rlogind
#exec stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rexecd
talk dgram udp wait.10 nobody.tty /usr/sbin/tcpd /usr/sbin/in.talkd
ntalk dgram udp wait.10 nobody.tty /usr/sbin/tcpd /usr/sbin/in.ntalkd
#:MAIL: Mail, news e servios uucp.
smtp stream tcp nowait.60 mail /usr/sbin/exim exim -bs
#:INFO: Servios informativos
#:BOOT: O servio Tftp oferecido primariamente para a inicializao. Alguns sites
# o executam somente em mquinas atuando como "servidores de inicializao".
#:RPC: Servios baseados em RPC
#:HAM-RADIO: servios de rdio amador
#:OTHER: Outros servios
Para saber como congurar o inetd.conf para habilitar uma porta, acesse esse LINK(Como congurar o inetd.conf para habilitar uma
porta).
Utilizando TCPWRAPPERS para segurana do inetd
O tcpwrapper regula o acesso aos servios oferecidos pelo inetd.O processo utilizado o /usr/sbin/tcpd.Ele consulta dois
arquivos que denem o acesso:

Curso de Certicao Linux LPI
/etc/hosts.allow
/etc/hosts.deny
As regras contidas no primeiro arquivo liberam o acesso aos servios.O segundo arquivo probe o acesso.
Basicamente as regras destes arquivos seguem o padro.

nome_do_servio : endereos
As palavras LOCAL e ALL podem ser utilizadas para identicar todos os clientes que so do mesmo domnio que o servidor e todas as
mquinas.

Veja o exemplo de /etc/hosts.allow:

# cat /etc/hosts.allow
in.telnetd : LOCAL
rsyncd : 172.20.0.0/255.255.255.0
in.ftpd : ALL
Se neste arquivos de controle no existir uma regra para um determinado servio habilitado no inetd, o acesso ser liberado.

Servios de rede com xinetd
Uma rede de computadores serve basicamente, para possibilitar o compartilhamento de recursos, como arquivos e
impressoras. possvel dizer que o compartilhamento de arquivos e impressoras um Servio de Rede.
Outros servios de rede tornaram-se muito populares com a expanso da Internet nos ltimos anos. Tais servios, como o WWW e FTP,
requerem que um computador execute algum processo que atenda pelas requisies dos clientes que desejam acess-los. Isto implica em
um modelo cliente-servidor, onde normalmente a mquina do usurio solicita alguma coisa, atravs de um programa cliente como o
browser, por exemplo, e o processo servidor (que implementa o servio da rede) responde.
O sistema operacional UNIX, e, portanto o Linux, sempre foi muito conhecido por oferecer diversos servios de rede tradicionais. Tais
servios vo desde a possibilidade de saber quem est usando uma mquina, at o prprio servio de transferncia de arquivos.
Muitos servios de rede so implementados atravs de processos dedicados que esperam por requisies que chegam da rede.
Mas dada a razovel quantidade de servios, um esquema interessante foi implantado. Neste esquema, um nico processo,
chamado xinetd (Extend Internet Super Server), rodando na mquina que est oferecendo os servios de rede, responsvel
por escutar as requisies que chegam, e conforme a porta por onde chega requisio, disparar e executar o processo
correspondente quele servio.
Assim, da mesma forma que um endereo IP identica uma mquina em uma rede, uma porta identica um servio de rede rodando
dentro de determinada mquina. Alguns servios funcionam sobre o protocolo de transporte TCP, outros sobre o protocolo UDP, e ainda
outros funcionam sobre os dois.
O xinetd responsvel por vrios servios bsicos de um sistema disponibilizados em uma rede. Entre os servios que ele gerencia esto
os servios Telnet e POP.
Esses servios so executados por programas denominados servidores, que nada mais so do que programas que abrem uma
determinada porta e cam aguardando por solicitaes de conexo.
Na maioria dos casos, quando uma solicitao recebida o servidor cria um processo lho para tratar dessa conexo especca, enquanto
o processo pai continua a escutar na porta aguardando novas solicitaes. Desta forma existiro vrios processos alocados na memria.
O xinetd carrega seu arquivo de congurao e passa a ouvir por conexes em portas especcas. Quando uma conexo solicitada, o
xinetd executa o programa servidor correspondente para manipular o servio solicitado. Ento, desta forma, existir apenas um servidor
em memria esperando por uma solicitao.
O superservidor ou xinetd congurado para iniciar a sua execuo quando o sistema inicializado, recebendo a lista de servios a serem
monitorados a partir de um arquivo denominado /etc/xinetd.conf.
Curso Certicao Linux LPI-102: Arquivos de LOG
O Linux possui um servio especial chamado syslog que faz todo o trabalho sujo de ltrar e gravar mensagens importantes
Curso de Certicao Linux LPI
no s do sistema local, mas de outros sistemas que suportam o syslog.
Alm de gravar em arquivos, as mensagens podem ser enviadas para a tela de console e telas de terminal.
O arquivo de congurao /etc/syslog.conf controla "o que" vai ser gravado chamado de facilidade.As facilidades so na
verdade a origem das mensagens.Cada facilidade possui nvei de severidade.

Vericar o logs no syslog:

tail /var/log/syslog

Facilidade do Syslog
auth - Mensagens de segurana/autorizao (privativas).
authpriv - Mensagens de segurana/autorizao (privativas).
cron - Daemons de agendamento de tarefas (cron e at).
daemon - Outros daemons do sistema que no possuem facilidades especcas.
kern - Mensagens do Kernel
lpr - Subsistema de impresso
mail - Subsistema de e-mail
news Subsistema de notcias da USENET
syslog - Mensagens internas geradas pelo syslogd
user - Mensagens genricas de nvel do usurio
local0 at local7 - Reservados para uso local por outros programas que desejem escrever seus logs no syslog.

Nveis de Severidade
debug (7) - Informaes de debug (depurao)
info (6) - Mensagens apenas para informao
notice (5)- Condies normais, mas signicativas
warning (4)-Condies de alerta
err (3) - Condies de erro
crit (2) - Condies crticas
alert (1) - Aes imediatas so requeridas
emerg (0) - Sistema indisponvel

Para cada facilidade podemos especicar um nvel de severidade, que vai denir o grau de importncia da mensagem.
O arquivo [/etc/syslog.conf] possui o seguinte formato:


faciliade.nivel ao

Aes do Syslog
A ao especca o que dever ser feito com a mensagem.Pode ser um arquivo de LOG, um PIPE (direcionado para um utilitrio ou
aplicativo) um outro sistema remoto, determinados usurios ou todos os usurios.

Arquivo - As mensagens so gravadas em arquivos no sistema.
PIPE - As mensagens so enviadas para um arquivo especial chamado le descriptor.
Terminal e Console - Podemos especicar uma tela local do computador (console) atravs do caminho /dev/console ou um terminal
remoto tty para onde as mensagens sero enviadas.
Computador Remoto - Podemos enviar as mensagens do syslog para uma mquina remota precedendo a ao com o smbolo "@"
seguido do nome do host.Em questes de segurana, enviar a mensagens para outra mquina pode ser especialmente importante.
Usurios - Podemos especicar um determinado usurio ou uma lista de usurios (separados por vrgula) para onde as mensagens
sero enviadas no terminal quando estes estiverem logados no sistema.

Caracteres especiais
Sempre use TBS ao invs de espaos.
Os caracteres ("*", "=", "!" e "-") tm funes especiais.

Para visualizar o syslog:

# /etc/syslog.conf

A rotao dos arquivos de LOG feita no seu arquivo principal:

# cat /etc/logrotate.conf

Curso Certicao Linux LPI-102: X Window System
Curso de Certicao Linux LPI
X Window System, X-Window, X11 ou simplesmente X um software de sistema e um protocolo que fornece uma base para
interfaces grcas de usurio (com o conceito de janelas) e funcionalidade rica de dispositivos de entrada para redes de
computadores. Ele cria uma camada de abstrao de hardware onde o software escrito para usar um conjunto generalizado
de comandos, permitindo a independncia de dispositivo e reutilizao programas em qualquer computador que implemente o
X.
Originalmente chamado simplesmente de X, foi desenvolvido no MIT em 1984. Atualmente est na verso 11, publicada em setembro de
1987, e por isso carrega no nome este nmero.
X-Window o toolkit e protocolo padro para GUI nos sistemas Unix e assemelhados, como o Linux, mas existem verses para outros
sistemas operacionais, como o Microsoft Windows e o Mac OS, por exemplo.
Congurando o X no Debian
# dpkg-reconfigure xserver-xorg
Iniciar o X (caso a inicializao seja em modo texto):
$ startx
O script de arranque para os daemons de gesto de ecr verica o contedo do cheiro
/etc/X11/default-display-manager
mesmo antes de executar os prprios. Isto assegura que se tem apenas um programa daemon de gestor de ecr X activado.

Essencialmente, todos estes programas executam o script
/etc/X11/Xsession
. Ento o script "/etc/X11/Xsession" executa run-parts(8) como aco para executar os scripts no directrio "/etc/X11/Xsession.d/". Isto
essencialmente uma execuo de um primeiro programa o qual encontrado na seguinte ordem com o comando embutido exec.
O script especicado como o argumento de /etc/X11/Xsession" pelo gestor de display X, se estiver denido.
O script "~/.xsession" ou "~/.Xsession", se estiver denido.
O comando
/usr/bin/x-session-manager
, se estiver denido.
O comando
/usr/bin/x-window-manager
. se estiver denido.
O comando
/usr/bin/x-terminal-emulator
, se estiver denido.

Para mais informaes sobre o X no Debian, consulte
http://www.debian.org/doc/manuals/debian-reference/ch07.pt.html
Curso Certicao Linux LPI-102: Impresso no Linux
Curso Certicao Linux LPI-102: Impresso no Linux
lp - envia requisies impressora
Sintaxe: lp [-mw] [-ddest] [-n#] lename...
Opes:
-w: escreve mensagem no terminal do usurio
-ddest: impressora destino
Exemplo:

lp -m -dlw rel.ps
Curso de Certicao Linux LPI
Imprimindo diretamente
# cat texto.txt > /dev/lp0
Imprimindo indiretamente
$ cat texto.txt | lpr
$ lpr texto.txt
Monitorar: la (queue) de impresso
$ lpq
Gerenciar: cancelando impresses/jobs
$ lprm
(cancela a ltima impresso/job do usurio corrente)
Gerenciar: controlando o lpd com o lpc
$ lpc
Arquivo de congurao - permissao de acesso
# vi /etc/hosts.lpd
(se esse arquivo existir, os usuarios remotos nao conseguirao imprimir. Para imprimir se deve excluir esse arquivo ou inserir dentro dele
os enderecos dos hosts remotos que podem imprimir)
Arquivo de congurao - geral
# vi /etc/printcap
Compartilhando impressoras
O Cups, o servidor de impresso padro no Linux, possui um recurso nativo de compartilhamento de impressoras. Ele permite no
apenas compartilhar impressoras com outras mquinas Linux, mas tambm com mquinas Windows da rede, atravs de um servidor
unicado. Para habilitar o compartilhamento, edite o arquivo "/etc/cups/cupsd.conf", deixando-o com o seguinte contedo:
Port 631
Listen 631
Browsing On
BrowseAllow All
BrowseInterval 30
BrowseAddress @LOCAL
BrowseInterval 30
<Location />
Order allow,deny
Allow all
</Location>
<Location /printers>
Order allow,deny
Allow all
</Location>
<Location /admin>
Encryption Required
Order allow,deny
Allow localhost
</Location>
<Location /admin/conf>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
</Location>
Veja que a seo "/printers", que contm as impressoras, ca com permisso de acesso para todo mundo, enquanto o utilitrio de
administrao do Cups (seo /admin) continua acessvel apenas localmente, atravs do endereo http://127.0.0.1:631.
At aqui, no estamos impondo nenhum tipo de restrio, por isso contamos com o rewall para bloquear qualquer tentativa de
impresso proveniente de micros da Internet. Voc pode tambm fazer o compartilhamento de uma forma mais segura, especicando
manualmente a faixa de endereos da rede local, ou mesmo especicando individualmente os endereos IP que podero imprimir. Neste
caso, as sees <Location /> (onde vai a congurao que permite aos clientes verem as impressoras disponveis) e <Location /printers>
caria:
<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.0.*
</Location>
<Location /printers>
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.0.*
</Location>
No se esquea de incluir o endereo "127.0.0.1" na lista. Caso contrrio, todo mundo vai imprimir na impressora, menos voc mesmo :).
Curso de Certicao Linux LPI
Depois de alterar o arquivo, reinicie o servidor de impresso para que as alteraes entrem em vigor:
# /etc/init.d/cups restart
Compartilhar impressoras atravs do Cups mais simples do que faz-lo atravs do Samba e oferece a vantagem adicional de permitir o
uso do recurso de autodiscover do Cups nos clientes Linux. O autodiscover permite que os clientes Linux da rede reconheam
automaticamente a impressora compartilhada e a congurem automaticamente durante o boot, sem necessidade de nenhuma interveno
manual.
Fontes:
www.hardware.com.br
www.hugoazevedo.eti.br
www.openit.com.br
Curso Certicao Linux LPI-102: Hora e Internacionalizao do Sistema
O diretrio abaixo contm as informaes de congurao das zonas de fuso horrio:
/usr/share/zoneinfo
A zona local do sitema determinada por um link simblico de algum arquivo deste diretrio para o arquivo:
/etc/localtime
Copia a hora corrente no relgio da mquina para o relgio da sistema, durante a carga do sistema.Este comando ir assumir que a hora
no hardware a hora local, a menos que a opo --utc seja utilizada
/sbin/hwclock
O comando date tambm pode ser utilizado para congurar a data e hora do sistema. O formato que a data e hora precisam ser
informados segue a notao MMDDhhmmAAAA, segue:

MM - ms
DD - dia
hh - hora
mm - minuto
AAAA - ano

Os dias e meses menores que 10 devem ser escritos com zero na frente e as horas no padro 24h.

Exemplo:
Congura a hora e data para Sex 29 Mar 2013 21:34 hs

# date 032921342013
Curso Certicao Linux LPI-102: Servidor Postx
O Postx um agente de transferncia de emails (MTA), um software livre para envio e entrega de emails. Rpido e fcil de administrar,
uma alternativa segura ao Sendmail, muito utilizado em servidores UNIX.
Ele uma espcie de meio termo entre a simplicidade do Qmail e a fartura de recursos do Exim. Entre os trs, ele o mais rpido e o mais
simples de congurar, o que faz com que ele seja atualmente o mais popular e o que possui mais documentao disponvel. O Postx
tambm possui um excelente histrico de segurana, sendo considerado por muitos to seguro quanto o Qmail.
Existem fortes motivos para no usar o Sendmail ou o Qmail em novas instalaes, mas temos uma boa briga entre o Postx e o Exim.
Escolhi abordar o Postx aqui simplesmente por que, entre os dois, ele mais popular, o que torna mais simples encontrar documentao
e conseguir ajuda quando tiver dvidas.
Curso de Certicao Linux LPI
Instalando o Postx
$ su
# apt-get install postfix
, durante a Instalao ele dever perguntar: Qual o tipo geral de congurao, marque o item Internet Site
e o nome/endereo do Servidor, digite o nome que voc deseja:
, para as demais perguntas, deixe as opes defaults como j vm pr-marcadas.
Obs.:Na pergunta: fora atualizaes sncronas na la de email ? Marque como no:
Congurao Inicial
Edite o arquivo
# vi /etc/postfix/main.cf
e inclua as conguraes abaixo:
mydomain = marcospinguim.com.br
myhostname = host.$mydomain
myorigin = $mydomain
mydestination = $myhostname, $mydomain
mynetworks = 127.0.0.0/8 192.168.1.1/24
home_mailbox = Maildir/
mydomain: O nome do domnio do servidor de e-mail.
myhostname: O nome da mquina do servidor de e-mail.
myorigin: Especica como car a terminao do e-mail aps o @.
mydestination: Os nomes dos domnios que o servidor de e-mail responsvel.
mynetworks: Especica a qual rede que o servidor de e-mail ir trabalhar.
home_mailbox: Especica o diretrio onde car as mensagens de e-mail.
Aps isso recarregue as informaes no Postx:
# /etc/init.d/postfix reload
Testando o Envio de E-mails:
No meu PC existe um usuario com o nome [marcos] e outro com o nome [eric], teste com os usuarios da sua mquina, se no houver
crie-os com useradd, neste exemplo abaixo o usurio [marcos] enviou um e-mail para o usurio [eric], lgico que estou logado como root,
mas usei o comando [MAIL from:] e especiquei o usurio que envia o e-mail, para critrio de teste.
Destaquei os comandos que vc deve executar para isso em VERMELHO:
Curso de Certicao Linux LPI
# telnet localhost 25
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 host.marcospinguim.com.br ESMTP Postfix (Ubuntu)
HELO smtp.marcospinguim.com.br
250 host.marcospinguim.com.br
MAIL from: marcos
250 2.1.0 Ok
RCPT to: eric
250 2.1.5 Ok
DATA
354 End data with .
Este post sobre Postfix no blog loucooooo!
.
250 2.0.0 Ok: queued as A8F958F5DE
QUIT
221 2.0.0 Bye
Connection closed by foreign host.
Instalar o pacote SASL
Este recurso importante hoje em dia, pois sem encriptao, seus e-mails (incluindo o login e senha) so transmitidos em texto plano
pela rede e podem ser Sniados. Uma vez ativo o recurso no servidor, basta marcar a opo no cliente de e-mails.
apt-get install sasl2-bin
, agora abra novamente o arquivo main.cf e inclua as linhas abaixo nele:
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_helo_required = yes
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
Depois ative ele abrindo o arquivo de congurao:
# vi /etc/default/saslauthd
e inclua o cdigo abaixo no arquivo, na verdade essa linhas j existiro, mas voc deve alter-las para car assim:
Obs.:As linhas no esto uma abaixo da outra, procure-as e altere:
START=yes
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
, salve e feche o arquivo. Agora rode esse comando no terminal para vericar se o usurio postx existe:
# groups postfix
, se retornar postx : postx , rode esse comando:
# usermod -G sasl postfix
, se vericar novamente com o comando groups postx, agora retornar postx : postx sasl , caso no ocorra, d um reload no postx
(/etc/init.d/postx reload).
Crie o arquivo smtpd.conf no diretrio "/etc/postx/sasl" e adicione as seguintes linhas abaixo:
pwcheck_method: saslauthd
mech_list: plain login
Terminado as conguraes, reinicie o Postx e o servio de autenticao:
# /etc/init.d/postfix restart
# /etc/init.d/saslauthd restart
Voc pode ainda implementar uma criptogra TLS e criar o certicado, d uma pesquisada na Internet.
Lendo os e-mails
Para poder ler as mensagens de e-mail recebidas, ser usado o Servidor POP3:
# apt-get install courier-pop-ssl
Testando o Servidor POP3
Para vericar se o Servidor POP3 est funcionando, use o Telnet para ler as mensagens de e-mail recebidas:lembra que o [marcos] enviou
mensagem para o usurio [eric] ? Agora o [eric] ir ler. Verique os trechos em VERMELHO que so comandos para vericar os emails
# telnet localhost 110
Curso de Certicao Linux LPI
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Hello there.
USER eric
+OK Password required.
PASS informe_aqui_a_senha
+OK logged in.
LIST
+OK POP3 clients that break here, they violate STD53.
1 517
.
RETR 1
+OK 517 octets follow.
Return-Path:
X-Original-To: eric
Delivered-To: eric@marcospinguim.com.br
Received: from smtp.marcospinguim.com.br (localhost [127.0.0.1])
by host.marcospinguim.com.br (Postfix) with SMTP id A8F958F5DE
for ; Wed, 4 Jan 2012 12:01:31 -0200 (BRST)
Message-Id: <20120104140146.A8F958F5DE@host.marcospinguim.com.br>
Date: Wed, 4 Jan 2012 12:01:31 -0200 (BRST)
From: marcos@marcospinguim.com.br
To: undisclosed-recipients:;
Este post sobre Postfix no blog loucooooo!
.
QUIT
+OK Bye-bye.
Connection closed by foreign host.
Obs.: Percebam que as mensagem so arquivos e cam nas pasta Maildir/cur dos usurios (/home/usuario/Maildir/cur).
Pronto, espero que gostem e comentem!
Curso Certicao Linux LPI-102: Compartilhamento via Samba
Instale o protocolo samba:
# apt-get install samba
Por comando vc deve utilizar o comando tipo esse exemplo, supondo que o ip da mquina Windows seja 192.168.1.107:
# smbclient -L 192.168.1.101 -U marcos
Ser listados os itens compartilhados, ento voc acess-los com o comando simples:
# mount -t smbfs //servidor/arquivos /mnt/smb
Caso haja algum problema rode o comando
# testparm
, ele exibir um dump das conguraes aps lhe solicitar um [enter].Nesse caso voc dever congurar um Samba com PDC (Primary
Domain Controller, Controlador de Domnio Primrio) , se tudo tiver certo exibir um "ROLE_DOMAIN_PDC".Caso contrrio congure o
samba no arquivo
# /etc/samba/smb.conf
com as conguraes tipo do exemplo abaixo:
[global]
netbios name = SERVIDOR
workgroup = DOMINIO
server string = Samba %v
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
domain master = yes
domain logons = yes
preferred master = yes
logon path =
os level = 33
wins support = yes
Por modo grco, abra o Nautilus (uma pasta qualquer no seu Linux) e aperte Ctrl+L e digite:
smb://192.168.1.107
e navegue nos itens compartilhados.
Os acessos as pastas e arquivos do Windows vo depender das conguraes efetuadas no Windows:
Curso de Certicao Linux LPI
-se as pastas esto compartilhadas
-se est para solicitar senha
-...
Alm desse pacote, vo pode, se quiser, instalar outros que te ajudem caso precise de acessos e conguraes do Samba em modo
grco, dessa forma vo pode instalar esse conjunto abaixo:
# apt-get install samba smbclient swat samba-doc
O script de instalao faz duas perguntas. A primeira se o servidor deve rodar em modo daemon ou sob o inetd. Responda "daemons"
para que o servidor rode diretamente. Isso garante um melhor desempenho, melhor segurana e evita problemas diversos de congurao
relacionados ao uso do inetd, servio que est entrando em desuso.
Em seguida ele pergunta: "Gerar a base de dados para senhas /var/lib/samba/passdb.tdb?". importante responder que "Sim", para que
ele crie o arquivo onde sero armazenadas as senhas de acesso. Como explica o script, "Caso voc no o crie, voc ter que recongurar o
samba (e provavelmente suas mquinas clientes) para utilizao de senhas em texto puro", o que um procedimento trabalhoso, que
consiste em modicar chaves de registro em todas as mquinas Windows da rede e modicar a congurao de outros servidores Linux.
Muito mais fcil responder "Sim" e deixar que ele utilize senhas encriptadas, que o padro. :)
Com os pacotes instalados, use os comandos:
# /etc/init.d/samba start
# /etc/init.d/samba stop
... para iniciar e parar o servio. Por padro, ao instalar o pacote criado um link na pasta "/etc/rc5.d", que ativa o servidor
automaticamente durante o boot. Para desativar a inicializao automtica, use o comando:
# update-rc.d -f samba remove
Para reativ-lo mais tarde, use:
# update-rc.d -f samba defaults
Voc pode vericar qual a verso do Samba instalada usando o comando "smbd -V", como em:
# smbd -V
Para compartilhar pastas do Linux na rede, voc pode utilizar o Swat, para isso vo deve criar um usurio samba antes e liberar a porta
do servio para acesso pelo browser, para criar um usuario samba, ativar a porta 901 do localhost , segue respectivamente os comandos
abaixo, mais informaes dos comandos use o "man comando", aqui s uma luz para voc poder utilizar:
Logar no swat:
# smbpasswd -a marcos
http://127.0.0.1:901/(No seu navegador, ser solicitada a senha do samba, se no houver use do seu usurio para acesso ao seu Linux)
Para que a alterao efetuada no Swat entre em vigor, reinicie o inetd com o comando:
# /etc/init.d/inetd restart
Obs.:O Swat no usa encriptao de senha, ou seja, se algum sniar sua conexo, ver sua senha nos pacotes do TCP/IP, para que isso
no ocorra vo pode acess-lo pelo tnel SSH, da seguinte forma:
# ssh -f -N -L901:192.168.1.107:901 -l login 192.168.1.107
Para criar compartilhamento use o shares:
http://127.0.0.1:901/shares
Por enquanto s, at a prxima!
Curso Certicao Linux LPI-102: Congurando o DNS
Introduo
BIND (Berkeley Internet Name Domain ou, como chamado previamente, Berkeley Internet Name Daemon) o servidor para o protocolo
DNS mais utilizado na Internet.Foi criado por quatro estudantes de graduao, membros de um grupo de pesquisas em cincia da
computao da Universidade de Berkeley.Para a verso 9, o BIND foi praticamente reescrito. Ele passou a suportar, dentre outras
funcionalidades, a extenso DNSSEC e os protocolos TSIG e IPv6.
1-Instalao
Para Debian e Debians-Like (Ubuntu, Linux Mint...) dnsutils ser instalado juntamente com o pacote, ou seja, no precisa especic-lo na
Curso de Certicao Linux LPI
instalao.
# apt-get install bind9
2- Congurao Inicial
abra o arquivo named.conf.options informado e escreva o cdigo abaixo, de acordo com seus IPs e antes do fechamento da chave "};" :
# vi /etc/bind/named.conf.options
adicione, depois salve e feche o arquivo:
listen-on { 127.0.0.1; 192.168.1.1/24; };
allow-query { 127.0.0.1; };
recursion yes;
allow-recursion { 127.0.0.1; 192.168.1.1/24; };
3- Congurar a Zona e a Zona Reversa
Depois edite o arquivo named.conf.local e escreva o cdigo abaixo, de acordo com seus IPs e o nome do host que deseja, nesse exemplo
vou utilizar "marcospinguim.com.br":
# vi /etc/bind/named.conf.local
adicione:
zone "marcospinguim.com.br" {
type master;
file "marcospinguim.com.br.zone";
allow-transfer { 192.168.1.7; };
};
zone "0.168.192.in-addr.arpa" {
type master;
file "marcospinguim.com.br.rev";
allow-transfer { 192.168.1.7; };
};
4-Vericar se h erros nas alteraes efetuadas
# named-checkconf
se no receber nenhuma mensagem porque est tudo correto at aqui.
5-Criar o arquivo de zona
crie o arquivo seuendereco.subdominio.dominio.zone, e abra-o, ex.:
# vi /var/cache/bind/marcospinguim.com.br.zone
adicione de acordo com seus dados:
;
; Zone file for dominio.com.br
;
$TTL 86400
@ IN SOA ns1.marcospinguim.com.br. hostmaster.marcospinguim.com.br. (
2012010100 ; serial
7200 ; refresh
1800 ; retry
1209600 ; expire
300 ) ; minimum
NS ns1
NS ns2
MX 5 mail
TXT "v=spf1 mx -all"
HINFO PC-Intel-2.4GHz "Linux 2.6"
A 192.168.1.100
ns1 A 192.168.1.100
ns2 A 192.168.1.100
mail A 192.168.1.100
www CNAME @
ftp CNAME www
pop3 CNAME mail
smtp CNAME mail
6-Vericar se h erros nas zonas
Execute o comando de acordo com seus dados:
# named-checkzone marcospinguim.com.br /var/cache/bind/marcospinguim.com.br.zone
Curso de Certicao Linux LPI
se der certo retornar algo tipo isso:
zone marcospinguim.com.br/IN: loaded serial 2012010100
OK
7 - Criar o arquivo de zona reversa
# vi /var/cache/bind/marcospinguim.com.br.rev
adicione de acordo com seus dados:
;
; Reverse zone file for dominio.com.br
;
$TTL 86400
@ IN SOA ns1.dominio.com.br. hostmaster.marcospinguim.com.br. (
2012010100 ; serial
7200 ; refresh
1800 ; retry
1209600 ; expire
300 ) ; minimum
NS ns1.marcospinguim.com.br.
NS ns2.marcospinguim.com.br.
100 PTR marcospinguim.com.br.
10 PTR ns1.marcospinguim.com.br.
11 PTR ns2.marcospinguim.com.br.
57 PTR mail.marcospinguim.com.br.
8-vericar se h erros nas zona reversa
# named-checkzone 0.168.192.in-addr.arpa /var/cache/bind/marcospinguim.com.br.rev
se der certo retornar algo tipo isso:
zone 0.168.192.in-addr.arpa/IN: loaded serial 2012010100
OK
9-reiniciar o Bind
# /etc/init.d/bind9 restart
se der certo retornar isso:
* Stopping domain name service... bind9 [ OK ]
* Starting domain name service... bind9 [ OK ]
10- consultar o servidor DNS para testar as zonas
$ dig @127.0.0.1 marcospinguim.com.br SOA
se der certo retornar algo tipo isso:
; <<>> DiG 9.7.0-P1 <<>> @127.0.0.1 marcospinguim.com.br SOA
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64129
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;marcospinguim.com.br. IN SOA
;; ANSWER SECTION:
marcospinguim.com.br. 86400 IN SOA ns1.marcospinguim.com.br. hostmaster.marcospinguim.com.br. 2012010100 7200 1800 1209600 300
;; AUTHORITY SECTION:
marcospinguim.com.br. 86400 IN NS ns1.marcospinguim.com.br.
marcospinguim.com.br. 86400 IN NS ns2.marcospinguim.com.br.
;; ADDITIONAL SECTION:
ns1.marcospinguim.com.br. 86400 IN A 192.168.1.100
ns2.marcospinguim.com.br. 86400 IN A 192.168.0.101
;; Query time: 3 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Jan 5 19:29:53 2012
;; MSG SIZE rcvd: 153
Pronto, existem outras formas, mas acredito que essa a mais simples!
Fontes:
http://www.hardware.com.br/tutoriais/instalando-servidor-dns/
http://www.hardware.com.br/tutoriais/congurando-rede-linux/pagina7.html
http://www.hardware.com.br/tutoriais/servidores-dns/pagina4.html
http://blog.cesar.augustus.nom.br/instalando-o-servidor-bind-no-linux.html
http://www.hardware.com.br/tutoriais/opendns/
http://www.hardware.com.br/livros/linux-redes/congurando-bind.html
Curso de Certicao Linux LPI
http://goo.gl/GEYz9
http://pt.wikipedia.org/wiki/BIND
Curso Certicao Linux LPI-102: Compartilhamento via NFS
Nesse post vou mostrar como compartilhar uma pasta no Linux para acesso via rede por comando, o processo bem simples.Esse acesso
ser baseado em NFS, no tem nada a ver com o Samba, isso pra compartilhamento entre duas ou mais mquinas Linux(de Linux pra
Linux), mais pra frente vou explicar via samba, mas por enquanto isso aqui mais importante.
NFS um protocolo de sistema de arquivos para compartilhamento entre arquivos e diretrios entre computadores conectados
em rede. com NFS que feito o acesso, existem outras formas, mas certique-se que essa a mais simples e a melhor.
Primeiramente temos de ter dois pacotes instalados, precisa ser root # su:
1 - nfs-kernel-server ---- que deve ser instalado no Server(a mquina que compartilhar o arquivo ou a pasta).
Para instal-lo no Debian e similares:
# apt-get install nfs-kernel-server
Convm tambm instalar o portmap, caso no esteja instalado:
# apt-get install portmap
2- nfs-common ---- que deve ser instalado no Client(mquina que acessar a tal pasta ou arquivo).
Para instal-lo no Debian e similares:
# apt-get install nfs-common
No Server, precisamos informar qual a pasta ser compartilhada e quais as permisses, para isso edite o arquivo:
# vim /etc/exports
Aps as linhas iniciais e comentado com #(tralha), crie uma nova linha sem #(tralha) e informe o endereo da pasta no PC e as
permisses do mesmo, exemplo:
/home/usuario/pasta_a_ser_compartilhada 192.168.1.102(rw,async)
, ou seja, o caminho da pasta;"rw" permisso de leitura(r) e escrita(w); o item async permite que o NFS transra arquivos de forma
"assncrona", sem precisar esperar pela resposta do cliente; e o IP que pode acessar a pasta que foi compartilhada.Depois de adicionar a
linha, salve o arquivo, lembrando que caso voc deseje liberar uma faixa de ips, basta usar o *(asterisco), exemplo: 192.168.1.*, todos
dessa faixa podero acessar, ou at mesmo utilizar nome da Estao.
Para aplicar as alteraes no arquivo exports para que o mesmo possa ser lido pelo Kernel, necessario, exportar e reiniciar o servio,
reinicie tambm o Portmaps, com os comando:
# exportfs -ra
# /etc/init.d/nfs-kernel-server restart
# /etc/init.d/portmap restart
Agora vamos no cliente(mquina que acessar a pasta).Para isso iremos precisar montar a pasta compartilhada da rede, ento nada
melhor do que voc criar uma pasta para receber a montagem, ento crie no local onde voc deseja essa pasta, exemplo:
# mkdir /home/usuario/nome_da_pasta
, e ento montamos a pasta compartilhada dentro da que criamos com o seguinte comando:
# mount -t nfs 192.168.1.101:/home/server/pasta_compartilhada /home/cliente/pasta_criada
, ou seja, a opo (-t) do mount informa o tipo, e eespecicamos o tipo com o nome do tipo que "nfs", depois informamos o IP que est a
pasta compartilhada(o Server) e o local onde montaremos essa pasta, endeo no cliente.
Caso no consiga o acesso, lembre-se de dar permisses locais com o "chmod".Se seu PC pegou um IP via DHCP diferente do que voc
permitiu no "exports", voc pode alterlo com o seguinte comando:
# ifconfig eth0 192.168.1.102/16 dev eth0
(note que o ip ca a seu critrio e o /16 a mascara 255.255.0.0 na tabela), se desejar especicar um gateway, utilize:
# route add default gw 192.168.1.1 netmask 255.255.0.0 dev eth0
, mas isso outro assunto...
Para mais informaes sobre o NFS, Clique Aqui
Pronto, parece ser complicado, mas muito simples, s pr a mo na massa e pronto!Espero que gostem e comentem.
Curso Certicao Linux LPI-102: Congurando o Shell Seguro OpenSSH
Curso de Certicao Linux LPI
Em informtica o Secure Shell ou SSH , simultaneamente, um programa de computador e um protocolo de rede que permite a conexo
com outro computador na rede, de forma a executar comandos de uma unidade remota. Possui as mesmas funcionalidades do TELNET,
com a vantagem da conexo entre o cliente e o servidor ser criptografada.Uma de suas mais utilizadas aplicaes o chamado Tunnelling,
que oferece a capacidade de redirecionar pacotes de dados.
Instalao
Para instalar o cliente e os server, apesar do cliente j vir instalado por default no Debian e em outras distribuies:
# apt-get install openssh-client openssh-server
Usurios e Conexo
Para conectar via IP ou por nome, levar em conta o nome do usuario que voc est logado no local de conexo, exemplo se voc est
como "root", ele solicitar a senha de "root" do computador que voc deseja, se tiver logado como "marcos" se no computador que voc
est tentando logar como "marcos" no houver este usurio, voc receber a "Conection Refused", e se tiver, dever colocar a senha, ou
usar o nome do usuario na frente e depois por o "@" e logo aps o IP ou o nome do computador, depois s pr a senha do usuario ex.:
# ssh 192.168.1.107
# ssh algumsite.com
# ssh root@192.168.1.107
# ssh marcos@192.168.1.107
, DEBUG - LOG - faa a conexo com -vv para exibir as mensagens, ajuda na localizao de problemas, tente tambm iniciar o iniciar o
servidor em modo debug (ssh -d) e conectar com o cliente, provavelmente o servidor vai exibir as mensagens de erros, tais como
permisses e etc..., exemplos:
# ssh -vv marcos@localhost
# ssh -v marcos@localhost
, para restringir acesso, deve editar o arquivo # /etc/ssh/sshd_cong, no arquivo que se abrir, procure a linha que contm a palavra
"Subsystem", estar assim:
Subsystem sftp /usr/lib/openssh/sftp-server
, bastar adicionar o "AllowUsers", car assim, ex.:
Subsystem sftp /usr/lib/openssh/sftp-server
AllowUsers marcos eric camila
,Enquanto no utilizada a diretiva "AllowUsers" qualquer usurio da maquina pode conectar via ssh. Quando acrescenta-la, passa a
permitir apenas os usurios listados e vlidos na maquina, esta diretiva prevalece sobre a regra "default" que permite login de todos.
Alterando a Porta
A porta padro do ssh 22, por isto tem muitos scripts que cam tentando conexo nesta porta, por este e outros motivos, pode se alterar
a porta do ssh, por exemplo, alterar de 22 para porta 2222, use seu editor preferido para editar o arquivo /etc/ssh/sshd_cong e procure
pela linha; #Port 22 altere para Port 2222, depois de efetuar a alterao, precisa reiniciar o servio, veja no tpico sobre instalao, para
testar na prpria maquina, em um konsole execute a linha de comando neste formato:
# ssh -p 2222 marcos@192.168.1.107
# /etc/init.d/ssh restart
Copiar arquivos remotamente com SSH
Nesse exemplo abaixo vou copiar o arquivo "teste.txt" para o a mquina remota, isso ser copiado para o diretrio /home/marcos/, lgico,
ir pedir senha antes de executar a cpia:
# scp teste.txt marcos@192.168.1.102:~/
marcos@192.168.1.102's password:
ou
# scp teste.txt marcos@192.168.1.102:/home/marcos/
marcos@192.168.1.102's password:
, para copiar todos os arquivos e sub-diretrios a partir do Shell local para o home do usurio marcos no destino.
scp -r * marcos@192.168.1.107:~/
, para copiar para um sub-diretorio especico no micro de destino, no use (~) e informe o caminho:
scp -r * marcos@192.168.1.107:/home/marcos/pasta_server/
, para copiar da mquina remota para mquina local, usa-se o ponto no nal e o formato assim:
scp marcos@192.168.1.107:/home/eric/arquivo_remoto.txt .
, o ponto no nal da linha indica para salvar no diretrio atual.Salvar em outro local, substitua o ponto "." pelo caminho na maquina local,
exemplo para salvar na maquina local em /home/marcos/tmp:
scp marcos@192.168.1.107:~/teste.txt /home/marcos/tmp
scp -r marcos@192.168.1.107:~/isos /home/marcos/tmp
Tem diversas outras coisa que voc pode fazer com o SSH, caso deseje mais informaes, consulte:
http://zago.eti.br/ssh/ssh.html , e l possui mais fontes.
Curso de Certicao Linux LPI
Espero que gostem e comentem!
Curso Certicao Linux LPI-102: Congurando o Apache
O servidor Apache (ou Servidor HTTP Apache, em ingls: Apache HTTP Server, ou simplesmente: Apache) o mais bem
sucedido servidor web livre. Foi criado em 1995 por Rob McCool, ento funcionrio do NCSA (National Center for
Supercomputing Applications). Numa pesquisa realizada em dezembro de 2007, foi constatado que a utilizao do Apache
representa cerca de 47.20% dos servidores ativos no mundo. Em maio de 2010, o Apache serviu aproximadamente 54,68% de
todos os sites e mais de 66% dos milhes de sites mais movimentados. a principal tecnologia da Apache Software Foundation,
responsvel por mais de uma dezena de projetos envolvendo tecnologias de transmisso via web, processamento de dados e
execuo de aplicativos distribudos.
O servidor compatvel com o protocolo HTTP verso 1.1. Suas funcionalidades so mantidas atravs de uma estrutura de mdulos,
permitindo inclusive que o usurio escreva seus prprios mdulos utilizando a API do software.
disponibilizado em verses para os sistemas Windows, Novell Netware, OS/2 e diversos outros do padro POSIX (Unix, Linux,
FreeBSD, etc.).

Etimologia
A razo para o nome "Apache" dada pela Apache Software Foundation, que faz referncia nao Apache, tribo de nativos
americanos que tinha, em combate, grande resistncia e estratgias superiores. Isso seria uma aluso resistncia da
comunidade do software livre aos ataques de interesses privados . O nome refere-se tambm estabilidade do servidor Apache
e a sua variedade de ferramentas capazes de lidar com qualquer tipo de solicitao na web. Uma terceira razo, que aceita
popularmente, reconhecida porm refutada pela Fundao, que o nome viria de "a patchy server", que em ingls signica
algo como um servidor remendado, ou melhoria no software, dada a origem do programa, criado sobre o cdigo do servidor da
NCSA j existente, no qual foram adicionados diversos patches.
Surge uma quarta explicao para o nome com o lanamento do Tomcat (um sistema auxiliar ao Apache que cuida basicamente de
processamento de aplicativos em Java), j que "Tomcat" nome de uma aeronave estadunidense, o F-14 Tomcat e "Apache" o nome de um
helicptero de ataque, o AH-64 Apache).
Segurana
Para garantir segurana nas transaes HTTP, o servidor dispe de um mdulo chamado mod_ssl, o qual adiciona a capacidade do
servidor atender requisies utilizando o protocolo HTTPS. Este protocolo utiliza uma camada SSL para criptografar todos os dados
transferidos entre o cliente e o servidor, provendo maior grau de segurana, condencialidade e conabilidade dos dados. A camada SSL
compatvel com certicados X.509, que so os certicados digitais fornecidos e assinados por grandes entidades certicadoras no mundo.
Congurao
O servidor congurado por um arquivo mestre nomeado httpd.conf e opcionalmente pode haver conguraes para cada
diretrio utilizando arquivos com o nome .htaccess, onde possvel utilizar autenticao de usurio pelo prprio protocolo
HTTP utilizando uma combinao de arquivo .htaccess com um arquivo .htpasswd, que guardar os usurios e senhas
(criptografadas).
Autenticao no Apache2
Vou explicar aqui como voc disponibilizar o acesso a uma pasta do Apache(www) exigindo usuario e senha.
01. Primeiramente devemos criar o diretrio onde desejamos restringir o acesso caso o mesmo no exista.
# mkdir /var/www/teste
02. Criaremos agora um arquivo somente para testes com o nome "index.html" no diretrio "/var/www/teste".
# echo Testando autenticao no Apache > /var/www/teste/index.html
03. Criar os arquivos .htaccess e passwd no diretrio onde se deseja restringir o acesso.
# touch passwd .htaccess
04. Contedo do arquivo .htaccess
AuthName "Nome que aparecer no ttulo da janela"
AuthType Basic
Curso de Certicao Linux LPI
AuthUserFile /var/www/teste/passwd
require valid-user
05) Criao dos usurios que tero permisso para acessar o diretrio:
# htpasswd -c passwd usurio
Ser pedida a senha do novo usurio e em seguida sua conrmao.
New password:
Re-type new password:
Adding password for user usurio
Ao abrir o arquivo de senhas (passwd), sero vistos os nomes de usurio e senhas criptografadas.
# more passwd
usurio:ZzbJ.YtR6TyyU
06) Edite o arquivo
"/etc/apache2/sites-available/default"
, colocando as seguintes linhas no nal do arquivo antes da tag
</VirtualHost>
, substituindo todas as diretivas conforme suas necessidades, uma observao importante para a tag
AllowOverride
, a mesma deve conter
"AuthCong"
para que a autenticao seja bem sucedida.
Alias /teste/ "/var/www/teste/"
<Directory "/var/www/teste/">
Options Indexes MultiViews FollowSymLinks
AllowOverride AuthConfig
Order deny,allow
Deny from all
Allow from 172.16.0.0/255.0.0.0 ::1/128
</Directory>
07) Reinicie o servio do Apache para atualizar as conguraes.
# /etc/init.d/apache2 restart
08) Teste agora suas conguraes acessando http://localhost/teste, fornecendo o nome de usurio senha.
Observaes:
as linhas abaixo se referem restrio por IP, no so necessrias autenticao.
Deny from all
Allow from 172.16.0.0/255.0.0.0 ::1/128
e todo esse tramite desse ser feito pelo usurio root para funcionar.
Eu uso aqui e voc, vai deixar de se proteger!
Fonte:Viva o Linux
Habilitar o mod_rewite no Apache (.htacces)
Pra quem vai trabalhar com MVC no PHP (por exemplo) precisa habilitar o mod_rewrite no Apache pra que funcione, segue os
passos pra fazer isso:
1-Logue como root:
$ su
2-Abra o arquivo default do Apache:
# vi /etc/apache2/sites-available/default
3-Edite o arquivo da seguinte forma: Altere a linha onde tem "AllowOverride None" dentro de <Directory /> substituindo por
"AllowOverride AuthCong" e altere a linha "AllowOverride None" dentro de <Directory /var/www/> substituindo por "AllowOverride All".
Ex.:
DocumentRoot /var/www/ <Directory /> Options FollowSymLinks Indexes AllowOverride AuthConfig </Directory> <Directory /var/www/> Options Indexes
FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
Curso de Certicao Linux LPI
4- No esquea de habilitar o mod_rewrite:
# a2enmod rewrite
5-Reinicie o apache:
# /etc/init.d/apache2 restart
Agora vamos testar
6-Crie um arquivo .htacces dentro do diretrio /var/www/:
vi /var/www/.htaccess
7-Escreva isso dentro do Arquivo, salve e feche-o(em outro post explicarei isso):
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?chave=$1
8-Agora crie um arquivo index.php e cole o contedo logo abaixo:
vi /var/www/index.php
Contedo:
<?php echo $_GET['chave']; ?>
9-Acesse o endereo http://localhost/nomequalquer/outronome/:
Se imprimir na tela: nomequalquer/outronome/ (ou o nome que voc escolheu), est tudo certo.Voc j pode escrever
seu Framework!
Curso Certicao Linux LPI-102: Segurana
Existem vrias ferramentas de segurana que podem auxiliar a vida de um administrador de redes/sistemas no Linux. Aqui
abordarei duas fundamentais para obter tal segurana:
IPTABLES
TCPWRAPPER
Vale ressaltar que segurana vai mais alm, mas esses dois j estaro de bom tamanho para o entendimento de segurana, em
diversos outros aplicativos.
IPTABLES
E a galera!?Eu estava congurando meu Firewall hoje e decidi escrever um Post sobre Iptables pra documentar algumas informaes.
Iptables o nome da ferramenta do espao do usurio que permite a criao de regras de rewall e NATs. Apesar de,
tecnicamente, o iptables ser apenas uma ferramenta que controla o mdulo netlter(O netlter um mdulo que fornece ao
sistema operacional Linux as funes de rewall, NAT e log dos dados que trafegam por rede de computadores.), o nome
"iptables" frequentemente utilizado como referncia ao conjunto completo de funcionalidades do netlter. O iptables parte
de todas as distribuies modernas do Linux.
Ao reiniciar o computador as Regras de Firewall so perdidas, para isso preciso criar um script para executar sempre que o computador
for iniciado.
Para vericar quais regras esto criadas, se existir, o comando :
# iptables -L
, se no retornar nada porque o pacote no est instalado, ento voc pode instal-lo pelo comando:
# apt-get install iptables
Curso de Certicao Linux LPI
Rejeitar pacotes de uma porta:
# iptables -A INPUT -p tcp --dport 445 -j DROP
Aceitar pacotes de uma porta:
# iptables -A INPUT -p tcp --dport 445 -j ACCEPT
Desativar o iptables, isso libera todas as portas:
# iptables -F
Essa regra abaixo fecha todas as portas, porm vo conecta a internet normalmente, mas aplicativos como Apache por exemplo no
funcionar no localhost.
iptables -A INPUT -p tcp --syn -j DROP
, aqui abaixo a mesma regra, porm para o protocolo UDP.
# iptables -A INPUT -i ppp0 -p udp --dport 0:30000 -j DROP
Lembrando que as tabelas do IPTABLES so lidas de cima pra baixo, ou seja, se voc quiser fechar todas as portas e liberar somente o
apache a porta 80, voc precisa primeiro criar a regra que libera a porta 80 (ou as portas que voc deseja), pra s depois fechar todas as
outras, exemplo:
# iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
, depois:
iptables -A INPUT -p tcp --syn -j DROP
Para acessar pacotes de determinados IPs de uma rede interna, ou de uma determinada rede, voc usar os comandos abaixo:
# iptables -A INPUT -p tcp --syn -s 192.168.1.107/255.255.255.0 -j ACCEPT
iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT
, aceitar as requisies do IP 192.168..107 e no comando seguinte, aceitar todas as requisies da rede interna, se logo depois vc fechar
tudo pra internet, a regra de aceitar ser vlida, o inverso no.
Para conguraes de compartilhamento, seria regras de NAT,assim:
Para compartilhar a conexo do modem com a rede local:
# modprobe iptable_nat
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
Para compartilhar uma conexo via ADSL ou cabo instalada na eth0:
# modprobe iptable_nat
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
Para desativar o compartilhamento, voc deve usar o comando :
# iptables -t nat -F.
Uma observao que estas regras no incluem um servidor DHCP, voc deve congurar os clientes com endereo IP xo ou ento ativar
o servio DHCPD na sua distribuio.Ser necessrio tambm congurar os DNS, se no souber os endereos do seu provedor, voc pode
usar os DNS pblicos do Google 8.8.8.8 e 8.8.4.4, mais informaes sobre esses DNS Clique Aqui.
Mais uma linha interessante de se adicionar, que protege contra pacotes danicados (usados em ataques DoS por exemplo) :
# iptables -A FORWARD -m unclean -j DROP
, (esta linha deve ser adicionada antes das demais).
Depois de todas as regras criadas, vo criar um script em Shell e gravar na pasta /usr/bin/ com o nome que voc deseja e poder executar
esse nome no terminal que automaticamente, ser criadas as regras, lembrando que para isso tem de estar com permisso de execuo e
deve ser o usurio root.Voc tambm pode torn-lo inicializvel, em Debian e Debian-Likes(Ubuntu, Linux Mint,...) com o comando:
update-rc.d nome_do_script defaults
, para excluir basta trocar o defaults por remove.
Para fazer um forward(Redirecionamento, exemplo: uma solicitao de jogo na porta 27020, voc quer que seja direcionada ao PC
192.168.1.107 da sua rede)com Iptables.
# modprobe iptable_nat
iptables -t nat -A PREROUTING -i etho -p tcp --dport 22 -j DNAT --to-dest 192.168.1.107
iptables -A FORWARD -p tcp -i eth0 --dport 22 -d 192.168.1.107 -j ACCEPT
Voc pode repetir o comando vrias vezes para direcionar varias portas diferentes para vrias mquinas. Naturalmente uma mesma porta
no pode ser fowardada duas vezes.Para um range de portas, o Counter Strike pode usar mesmo da 27015 at 27030, se voc no qual
porta dessa range do seu colega est aberta, ento voc pode abrir esta faixa de portas assim:
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 27015:27030 -j DNAT --to-dest 192.168.1.107
iptables -A FORWARD -p tcp -i eth0 --dport 27015:27030 -d 192.168.1.107 -j ACCEPT
Curso de Certicao Linux LPI
Eu crie um script em PHP para vericar quais portas esto abertas da porta 1 at a 1024, se gue abaixo:
$servidor="127.0.0.1";
for($i=1;$i<1024;$i++){
$con = fsockopen($servidor, $i, $errono, $errostr, 3);
if($con){
echo 'A porta '.$i.' est aberta!
';
}
}
fputs($con, "Portas");
fclose($con);
Mas voc pode utilizar o Nmap para vericar quais portas esto abertas no seu micro, para instal-lo no Debian e Debian-Likes, basta:
# apt-get install nmap
, para analisar em rede interna use o IP interno, para anlise internet use seu IP externo, para loopback use:
# nmap 127.0.0.1
H tambm um servio online que tem como voc efetuar testes de portas e de invases, eu uso muito ele, o http://www.grc.com/
-clique em Services
-depois clique em ShieldsUP
-depois clique em proceed
-clique em "Proceed"
- e inicie o teste clicando em "All Service Ports".
isso a, espero que gostem e comentem.
Fonte:www.hardware.com.br
TCPWRAPPER
O TCP Wrappers so usados para aplicar regras de acesso aos servidores utilizados em sistema, podendo permitir ou negar as conexes a
eles. Eles so controlados por dois arquivos: /etc/hosts.allow (congurao de acessos permitidos para determinados IPs) e /etc/hosts.deny
(congurao de acesso negados para determinados IPs) TCP. Sigla para Transmission Control Protocol.
/etc/hosts.allow
Se uma regra deste arquivo for atendida, o acesso ao servio pe permitido
/etc/hosts.deny
- Se uma regra deste arquivo for atendida, o acesso ao servio negado
As regras destes arquivos podem ser contruda de forma a corresponder a todos os servios ou, alternativamente, a determinados servios
especcos. Se no houver nenhuma correspondncia nos dois arquivos, o acesso ao servio permitido. comum se especicar regras
particulares no arquivo hosts.allow e especcar uma negativa geral no arquivo hosts.deny, limitando assim o acesso aos clientes que voc
especicamente permitir. A linguagem dos arquivos de controle consiste de uma lista de servios, seguida por dois-pontos, seguida por
uma lista de hosts. Os hosts podem ser especcados por nome ou por endereo IP.
Por exemplo: Para negar acesso a todos os servios, exceto ao ftp no domnio local, poderiam ser usados estes dois arquivos simples:
hosts.allow
Esta entrada permite acesso ao ftp aos clientes do domnio local
ftp: LOCAL
hosts.deny Esta entrada nega o acesso a todos os servios a todos os clientes
ALL: ALL
Entendendo um pouco mais
Existem dezenas de possibilidades de congurao para o tcp_wrappers e possvel estud-las em extenso atravs das pginas de
manual hosts_access e hosts_options. Portanto, sero ilustrados apenas alguns casos interessantes do uso desta ferramenta. As regras de
controle de acesso, existentes nestes dois arquivos, tm o seguinte formato:
lista_de_daemons : lista_de_clientes [: comando]
lista_de_daemons: Lista de um ou mais nomes de daemons (como especicados no /etc/inetd.conf), ou curingas. lista_de_clientes: Lista
de um ou mais endereos ou nomes de mquinas, padres ou curingas utilizados para especicar quais clientes podem e quais no
podem acessar o servio.
comando (opcional): possvel executar um comando sempre que uma regra casa com um padro e utilizada. Veja exemplos a seguir.
Como citado anteriormente, curingas podem ser utilizados tanto na lista de daemons quanto na lista de clientes. Entre os existentes,
pode-se destacar os seguintes:
ALL
Signica todos os servios ou todos os clientes, dependendo apenas do campo em que se encontra.
LOCAL
Este curinga casa com qualquer nome de mquina que no contenha um caractere ponto ., isto , uma mquina local.
PARANOID
Casa com qualquer nome de mquina que no case com seu endereo. Isto geralmente ocorre quando algum servidor DNS est mal
congurado ou quando alguma mquina est tentando se passar por outra.
/etc/hosts.allow
Curso de Certicao Linux LPI
O arquivo /etc/hosts.allow um arquivo de congurao do programa /usr/sbin/tcpd. O arquivo hosts.allow contm regras descrevendo que
hosts tem permisso de acessar um servio em sua mquina.
O formato do arquivo muito simples:
# /etc/hosts.allow
#
# lista de servios: lista de hosts : comando
lista de servios
uma lista de nomes de servios separados por vrgula que esta regra se aplica. Exemplos de nomes de servios so: ftpd, telnetd e
ngerd.
lista de hosts
uma lista de nomes de hosts separada por vrgula. Voc tambm pode usar endereos IPs aqui. Adicionalmente, voc pode especicar
nomes de computadores ou endereo IP usando caracteres coringas para atingir grupos de hosts.
Exemplos incluem: gw.vk2ktj.ampr.org para conferir com um endereo de computador especco, .uts.edu.au para atingir qualquer
endereo de computador nalizando com aquele string. Use 200.200.200. para conferir com qualquer endereo IP iniciando com estes
dgitos. Existem alguns parmetros especiais para simplicar a congurao, alguns destes so: ALL atinge todos endereos, LOCAL
atinge qualquer computador que no contm um . (ie. est no mesmo domnio de sua mquina) e PARANOID atinge qualquer
computador que o nome no confere com seu endereo (falsicao de nome). Existe tambm um ltimo parmetro que tambm til: o
parmetro EXCEPT lhe permite fazer uma lista de excees. Isto ser coberto em um exemplo adiante.
comando
um parmetro opcional. Este parmetro o caminho completo de um comando que dever ser executado toda a vez que esta regra
conferir. Ele pode executar um comando para tentar identicar quem esta conectado pelo host remoto, ou gerar uma mensagem via
E-Mail ou algum outro alerta para um administrador de rede que algum est tentando se conectar.
Existem um nmero de expanses que podem ser includas, alguns exemplos comuns so: %h expande o endereo do computador que est
conectado ou endereo se ele no possuir um nome, %d o nome do daemon sendo chamado.
Se o computador tiver permisso de acessar um servio atravs do /etc/hosts.allow, ento o /etc/hosts.deny no ser consultado e o acesso
ser permitido.
Como exemplo:
# /etc/hosts.allow
#
# Permite que qualquer um envie e-mails
in.smtpd: ALL
# Permitir telnet e ftp somente para hosts locais e myhost.gnulinuxbr.com
in.telnetd, in.ftpd: LOCAL, myhost.gnulinuxbr.com
Qualquer modicao no arquivo /etc/hosts.allow entrar em ao aps reiniciar o daemon inetd. Isto pode ser feito com o comando kill
-HUP [pid do inetd], o pid do inetd pode ser obtido com o comando ps ax|grep inetd.
/etc/hosts.deny
O arquivo /etc/hosts.deny um arquivo de congurao das regras descrevendo quais computadores no tem a permisso de acessar um
servio em sua mquina.
Um modelo simples deste arquivo se parece com isto:
# /etc/hosts.deny
#
# Bloquear o acsso SSH para todos, exceto para a rede 10.0.0.0
sshd: ALL EXCEPT 10.0.0.0/24
Tendo um padro ALL: ALL no arquivo /etc/hosts.deny e ento ativando especicamente os servios e permitindo computadores que voc
deseja no arquivo /etc/hosts.allow a congurao mais segura.
Qualquer modicao no arquivo /etc/hosts.deny entrar em ao aps reiniciar o daemon inetd. Isto pode ser feito com o comando kill
-HUP [pid do inetd], o pid do inetd pode ser obtido com o comando ps ax|grep inetd.
Importante saber:
O arquivo hosts.deny consultado depois de hosts.allow, permitindo ao administrador denir regras especcas de permisso, que sero
aplicadas antes das regras de proibio ou de uma negativa geral. Exemplo de Congurao do tcp_wrappers
Exemplos dos arquivos /etc/hosts.allow e /etc/hosts.deny
Arquivo /etc/hosts.deny
ALL:ALL
Arquivo /etc/hosts.allow
ALL: localhost
in.ftpd: .minhaorganizacao
ipop3d: ALL
Congurao do tcp_wrappers menos restritiva, considere o mesmo arquivo /etc/hosts.deny do exemplo anterior:
Congurao do tcp_wrappers menos restritiva
Arquivo /etc/hosts.allow
ALL: localhost
in.ftpd: .minhaorganizacao 10.0.0.0/255.255.255.0 192.168
ipop3d: ALL EXCEPT gnulinuxbr.com
Neste ltimo caso, mquinas da rede 10.0.0.0/255.255.255.0 e mquinas em que o endereo IP inicie por 192.168. tambm podem
Curso de Certicao Linux LPI
acessar o servio FTP. Note que foi utilizado um operador novo para o servio ipop3d: EXCEPT. Isto permitiu que o acesso a este servio
fosse liberado para todos, exceto para mquinas da rede gnulinuxbr.com. O operador EXCEPT pode ser utilizado tanto na lista de
clientes quanto na lista de servios. Por exemplo, a linha:
ALL EXCEPT in.ftpd: ALL
no arquivo /etc/hosts.allow permite o acesso a todos os servios, exceto o FTP, para qualquer mquina.
Todos os acessos, bem-sucedidos ou no, so registrados atravs do syslog, em /var/log/secure. recomendado que este arquivo seja
periodicamente analisado procura de tentativas de invaso. Testando a Congurao Negue certos servios para uma mquina de sua
rede (como por exemplo o servio telnet) e aps reinicializar o xinetd, procure fazer acessos da mquina onde o servio foi negado.
Curso Certicao Linux LPI-102: Criptograa de Dados
Usando pgp (gpg)para criptograa de arquivos
O gpg (GNU pgp, verso livre da ferramenta pgp) permite encriptar dados, assim somente o destinatrio ter acesso aos dados,
adicionalmente poder vericar se a origem dos dados convel (atravs da assinatura de arquivos). O sistema PGP se baseia no
conceito de chave pblica e privada: Sua chave pblica distribuda para as pessoas que deseja trocar dados/mensagens e a chave privada
ca em sua mquina (ela no pode ser distribuda). As chaves pblicas e privadas so armazenadas nos arquivos pubring.gpg e
secring.gpg respectivamente, dentro do subdiretrio ~/.gnupg. Veja [#s-d-cripto-gpg-criando Criando um par de chaves pblica/privada,
Seo 20.5.2] para criar este par de chaves. Os dados que recebe de outra pessoa so criptografados usando sua chave pblica e somente
voc (de posse da chave privada) poder desencriptar os dados. Quando assina um arquivo usando o pgp, ele faz isto usando sua chave
privada, o destinatrio de posse da chave pblica poder ento conrmar que a origem dos dados convel. O gpg vem largamente sendo
usado para transmisso segura de dados via internet. Muitos programas de e-mails como o mutt e sylpheed incluem o suporte a pgp
embutido para envio de mensagens assinadas/encriptadas (MIME no tem uma codicao segura e no garante que a mensagem vem de
quem realmente diz ser). Um servidor de e-mail no Linux congurado como as mesmas conguraes/endereos do provedor da vtima
pode enganar com sucesso um usurio passando-se por outro.
Instalando o PGP
# apt-get install gnupg
Aps instalar o gnupg, execute o comando gpg para criar o diretrio ~/.gnupg que armazenar as chaves pblica e privada.
Criando um par de chaves pblica/privada
Para gerar um par de chaves pessoais use o comando gpg --gen-key. Ele executar os seguintes passos:
Chave criptogrca - Selecione DSA e ELGamal a no ser que tenha necessidades especcas.
Tamanho da chave - 1024 bits traz uma boa combinao de proteo/velocidade.
Validade da chave - 0 a chave no expira. Um nmero positivo tem o valor de dias, que pode ser seguido das letras w (semanas), m
(meses) ou y (anos). Por exemplo, "7m", "2y", "60".
Aps a validade, a chave ser considerada invlida.
Nome de usurio - Nome para identicar a chave
E-mail - E-mail do dono da chave
comentrio - Uma descrio sobre a chave do usurio.
Conrmao - Tecle "O" para conrmar os dados ou uma das outras letras para modicar os dados de sua chave.
Digite a FraseSenha - Senha que ir identic-lo(a) como proprietrio da chave privada. chamada de FraseSenha pois pode conter
espaos e no h limite de caracteres.Conrme e aguarde a gerao da chave pblica/privada.
Encriptando dados
Use o comando gpg -e arquivo faz a encriptao de dados:

gpg -e arquivo.txt
Ser pedida a identicao de usurio, digite o nome que usou para criar a chave. O arquivo criado ser encriptado usando a chave
pblica do usurio (~/.gnupg/pubring.gpg) e ter a extenso .gpg adicionada (arquivo.txt.gpg). Alm de criptografado, este arquivo
compactado (recomendvel para grande quantidade de textos). A opo -a usada para criar um arquivo criptografado com sada ASCII 7
bits:

gpg -e -a arquivo.txt
O arquivo gerado ter a extenso .asc acrescentada (arquivo.txt.asc) e no ser compactado. A opo -a muito usada para o envio de
e-mails. Para criptografar o arquivo para ser enviado a outro usurio, voc dever ter a chave pblica do usurio cadastrado no seu
chaveiro e especicar a opo -r seguida do nome/e-mail/ID da chave pblica:

gpg -r kov -e arquivo.txt
O exemplo acima utiliza a chave pblica de kov para encriptar o arquivo arquivo.txt (somente ele poder decriptar a mensagem usando
sua chave privada). OBS: recomendvel especicar o nome de arquivo sempre como ltimo argumento.
Decriptando dados com o gpg
Agora vamos fazer a operao reversa da acima, a opo -d usada para decriptar os dados usando a chave privada:
Curso de Certicao Linux LPI

gpg -d arquivo.txt.asc >arquivo.txt
gpg -d arquivo.txt.gpg >arquivo.txt
Descriptografa os arquivos arquivo.txt.asc e arquivo.txt.gpg recuperando seu contedo original. A sua "FraseSenha" ser pedida para
descriptografar os dados usando a chave privada (~/.gnupg/secring.gpg).
Assinando arquivos
Assinar um arquivo garantir que voc a pessoa que realmente enviou aquele arquivo. Use a opo -s para assinar arquivos usando sua
chave privada:

gpg -s arquivo.txt
A "FraseSenha" ser pedida para assinar os dados usando sua chave privada. Ser gerado um arquivo arquivo.txt.gpg (assinado e
compactado). Adicionalmente a opo --clearsign poder ser usada para fazer uma assinatura em um texto plano, este um recurso muito
usado por programas de e-mails com suporte ao gpg:

gpg -s --clearsign arquivo.txt
Ser criado um arquivo chamado arquivo.txt.asc contendo o arquivo assinado e sem compactao.
Checando assinaturas
A checagem de assinatura consiste em vericar que quem nos enviou o arquivo realmente quem diz ser e se os dados foram de alguma
forma alterados. Voc dever ter a chave pblica do usurio no seu chaveiro para fazer esta checagem . Para vericar os dados assinados
acima usamos a opo --verify:

gpg --verify arquivo.txt.asc
Se a sada for "Assinatura Correta", signica que a origem do arquivo segura e que ele no foi de qualquer forma modicado.

gpg --verify arquivo.txt.gpg
Se a sada for "Assinatura INCORRETA" signica que ou o usurio que enviou o arquivo no confere ou o arquivo enviado foi de alguma
forma modicado.
Extraindo sua chave pblica do chaveiro
Sua chave pblica deve ser distribuda a outros usurios para que possam enviar dados criptografados ou checar a autenticidade de seus
arquivos. Para exportar sua chave pblica em um arquivo que ser distribudo a outras pessoas ou servidores de chaves na Internet, use a
opo --export:

gpg --export -a usuario >chave-pub.txt
Ao invs do nome do usurio, poder ser usado seu e-mail, ID da chave, etc. A opo -a permite que os dados sejam gerados usando bits
ASCII 7.
Adicionando chaves pblicas ao seu chaveiro pessoal
Isto necessrio para o envio de dados criptografados e checagem de assinatura do usurio, use a opo --import:

gpg --import chave-pub-usuario.txt
Assumindo que o arquivo chave-pub-usuario.txt contm a chave pblica do usurio criada em [#s-d-cripto-gpg-c-e Extraindo sua chave
pblica do chaveiro, Seo 20.5.7]. O gpg detecta chaves pblicas dentro de textos e faz a extrao corretamente. Minha chave pblica
pode ser encontrada em [ch-apend.html#s-apend-pgp Chave Pblica PGP, Seo 21.8] ou http://pgp.ai.mit.edu.
Listando chaves de seu chaveiro
Use o comando
gpg --list-keys
para listar as chaves pblica do seu chaveiro. O comando gpg --list-secret-keys lista suas chaves privadas.
Apagando chaves de seu chaveiro
Quando uma chave pblica modicada ou por qualquer outro motivo deseja retira-la do seu chaveiro pblico, utilize a opo
--delete-key:

gpg --delete-key usuario
Pode ser especicado o nome de usurio, e-mail IDchave ou qualquer outro detalhe que conra com a chave pblica do usurio. Ser
pedida a conrmao para excluir a chave pblica. OBS: A chave privada pode ser excluda com a opo --delete-secret-key. Utilize-a com o
Curso de Certicao Linux LPI
mximo de ateno para excluir chaves secretas que no utiliza (caso use mais de uma), a excluso acidental de sua chave secreta
signica como perder a chave de um cofre de banco: voc no poder descriptografar os arquivos enviados a voc e no poder enviar
arquivos assinados. Mesmo assim se isto acontecer acidentalmente, voc poder recuperar o ltimo backup da chave privada em ~/.gnupg
/secring.gpg~.
Mudando sua FraseSenha
Execute o comando gpg --edit-key usurio, quando o programa entrar em modo de comandos, digite passwd. Ser lhe pedida a "Frase
Senha" atual e a nova "Frase Senha". Digite "save" para sair e salvar as alteraes ou "quit" para sair e abandonar o que foi feito. O gpg
--edit-key permite gerenciar diversos aspectos de suas chaves interessante explora-lo digitando "?" para exibir todas as opes
disponveis.
Assinando uma chave digital
A assinatura de chaves um meio de criar laos de conana entre usurios PGP. Assinar uma chave de algum algo srio, voc deve ter
noo do que isto signica e das consequncias que isto pode trazer antes de sair assinando chaves de qualquer um. O prprio teste para
desenvolvedor da distribuio Debian requer como primeiro passo a identicao do candidato, caso sua chave pgp seja assinada por
algum desenvolvedor desta distribuio, imediatamente o teste de identicao completado. A partir disso voc deve ter uma noo
bsica do que isto signica. Para assinar uma chave siga os seguintes passos:
Importe a chave pblica do usurio (veja [#s-d-cripto-gpg-c-a Adicionando chaves pblicas ao seu chaveiro pessoal, Seo 20.5.8]).
Execute o comando gpg --edit-key usuario (onde usuario o nome do usurio/e-mail/IDchave da chave pblica importada).
Digite list, e selecione a chave pblica (pub) do usurio com o comando uid [numero_chave]. Para assinar todas as chaves pblicas do
usurio, no selecione qualquer chave com o comando uid.
Para assinar a chave pblica do usurio digite sign, ser perguntado se deseja realmente assinar a chave do usurio e ento pedida a
"FraseSenha" de sua chave privada.
Digite "list", repare que existe um campo chamado trust: n/q no lado direito. O primeiro parmetro do "trust" indica o valor de
conana do dono e o segundo (aps a /) o valor de conana calculado automaticamente na chave. As seguintes possuem o seguinte
signicado:
- - Nenhum dono encontrado/conana no calculada.
e - Chave expirada/falha na checagem de conana.
q - Quando no conhece o usurio.
n - Quando no cona no usurio ( o padro).
m - Pouca conana no usurio.
f - Totalmente convel.
u - Indiscutivelmente convel. Somente usado para especicar a chave pblica do prprio usurio.
O valor de conana da chave pode ser modicado com o comando trust e selecionando uma das opes de conana. Os valores de
conana para a chave pblica pessoal -/u (no necessrio calcular a conana/indiscutivelmente convel).
Listando assinaturas digitais
Execute o comando gpg --list-sigs para listas todas as assinaturas existentes no seu chaveiro. Opcionalmente pode ser especicado um
parmetro para fazer referncia a assinatura de um usurio:gpg --list-sigs usuario. O comando gpg --check-sigs adicionalmente faz a
checagem de assinaturas.
Recomendaes para a assinatura de chaves gpg
Este texto foi divulgado por uma pessoa que pediu para permanecer annima na lista debian-user-portuguese@lists.debian.org explicando
os procedimentos de segurana para a troca de chaves pblicas individuais e em grupo de usurios. Ele um pouco longo mas a pessoa
especializada no assunto, e seu foco a segurana na troca de chaves e o que isto signica. Aps consulta ao autor do texto, o texto foi
reproduzido na ntegra, mantendo os padres de formatao da mensagem.
Trocando assinaturas de chaves digitais
Direitos de republicao cedidos ao domnio pblico, contanto que o texto
seja reproduzido em sua ntegra, sem modificaes de quaisquer espcie, e
incluindo o ttulo e nome do autor.
1. Assinaturas digitais
2. Chaves digitais e a teia de confiana
3. Trocando assinaturas de chaves digitais com um grupo de pessoas
1. Assinaturas digitais
Uma assinatura digital um nmero de tamanho razovel (costuma ter de 128 a
160 bits) que representa um bloco bem maior de informao, como um e-mail.
Pense numa assinatura como se ela fosse uma verso super-comprimida de um
texto. Se voc muda alguma coisa (por menor que seja) no texto que uma
assinatura "assina", essa assinatura se torna invlida: ela no mais
representa aquele texto.
Existe uma relao direta entre uma assinatura e informao que ela assina.
Se uma das duas for modificada, elas passam a no mais "combinar" uma com a
a outra. Um programa de computador pode detectar isso, e avisar que a
assinatura "invlida".
Os algoritmos mais usados para criar e verificar assinaturas digitais so o
SHA-1, RIPEM160 e MD5. O MD5 no considerado to bom quanto os outros
dois.
Assinaturas digitais tambm funcionam com arquivos "binrios", ou seja:
imagens, som, planilhas de clculo... e chaves digitais.
2. Chaves digitais e a teia de confiana
Chaves digitais so fceis de falsificar, voc s precisa criar uma chave
nova no nome de sicrano, por um endereo de e-mail novinho em folha daqueles
que voc consegue nesses webmail da vida, e pronto. Agora s espalhar
essa chave por a que os bestas vo us-la pensando que de sicrano.
A menos que os "bestas" no sejam to bestas assim, tenham lido o manual do
seu software de criptografia, e saibam usar assinaturas e a teia de
confiana para verificar se a tal chave de sicrano mesmo.
Curso de Certicao Linux LPI
Programas de criptografia (os bons, tipo PGP e GNUpg) usam um sistema de
assinaturas nas chaves digitais para detectar e impedir esse tipo de
problema: Ao usurio dado o poder de "assinar" uma chave digital, dizendo
"sim, eu tenho certeza que essa chave de fulano, e que o e-mail de fulano
esse que est na chave".
Note bem as palavras "certeza", e "e-mail". Ao assinar uma chave digital,
voc est empenhando sua palavra de honra que o _nome_ do dono de verdade
daquela chave o nome _que est na chave_, e que o endereo de e-mail
daquela chave da pessoa (o "nome") que tambm est na chave.
Se todo mundo fizer isso direitinho (ou seja, no sair assinando a chave de
qualquer um, s porque a outra pessoa pediu por e-mail, ou numa sala de
chat), cria-se a chamada teia de confiana.
Numa teia de confiana, voc confia na palavra de honra dos outros para
tentar verificar se uma chave digital legtima, ou se uma "pega-bobo".
Suponha que Marcelo tenha assinado a chave de Cludia, e que Roberto, que
conhece Marcelo pessoalmente e assinou a chave de Marcelo, queira falar com
Cludia.
Roberto sabe que Marcelo leu o manual do programa de criptografia, e que ele
no irresponsvel. Assim, ele pode confiar na palavra de honra de Marcelo
que aquela chave digital da Cludia da Cludia mesmo, e usar a chave pra
combinar um encontro com Cludia.
Por outro lado, Roberto no conhece Cludia (ainda), e no sabe que tipo de
pessoa ela . Assim, rapaz prevenido, ele no confia que Cludia seja uma
pessoa responsvel que verifica direitinho antes de assinar chaves.
Note que Roberto s confiou na assinatura de Marcelo porque, como ele j
tinha assinado a chave de Marcelo, ele sabe que foi Marcelo mesmo quem
assinou a chave de Cludia.
Enrolado? Sim, um pouco complicado, mas desenhe num papel as flechinhas de
quem confia em quem, que voc entende rapidinho como funciona.
O uso da assinatura feita por algum cuja chave voc assinou, para validar
a chave digital de um terceiro, um exemplo de uma pequena teia de
confiana.
3. Trocando assinaturas de chaves digitais com um grupo de pessoas
Lembre-se: ao assinar uma chave digital, voc est empenhando sua palavra de
honra que toda a informao que voc assinou naquela chave verdadeira at
onde voc pode verificar, _e_ que voc tentou verificar direitinho.
Pense nisso como um juramento: "Eu juro, em nome da minha reputao
profissional e pessoal, que o nome e endereos de e-mail nessa chave so
realmente verdadeiros at onde posso verificar, e que fiz uma tentativa real
e razovel de verificar essa informao."
Sim, srio desse jeito mesmo. Voc pode ficar muito "queimado" em certos
crculos se voc assinar uma chave falsa, pensando que verdadeira: a sua
assinatura mal-verificada pode vir a prejudicar outros que confiaram em
voc.
Bom, j que o assunto srio, como juntar um grupo de pessoas numa sala, e
trocar assinaturas de chaves entre si? Particularmente se so pessoas que
voc nunca viu antes? Siga o protocolo abaixo, passo a passo, e sem pular ou
violar nenhum dos passos.
1 - Rena todos em uma sala, ou outro local no tumultuado, pressa e
baguna so inimigas da segurana.
2 - Cada um dos presentes deve, ento, ir de um em um e:
2.1 - Apresentar-se, mostrando _calmamente_ documentao original
(nada de fotocpia) comprovando sua identidade. RG, CPF,
passaporte, certido de nascimento ou casamento, carteira de
motorista, carto de crdito so todos bons exemplos. S o RG
sozinho no -- tem muito RG falsificado por a -- mas o RG
junto com o carto de banco j seria suficiente. Se nenhum
documento tiver foto, tambm no o bastante.
* Se algum pedir o documento na mo, para verificar
direitinho, no leve pro lado pessoal. Deixe a pessoa
verificar at estar satisfeita (mas no descuide do
documento). Isso s significa que ela leva muito a srio a
responsabilidade de assinar chaves.
2.2 - Entregar um papel com as informaes da chave: Nome
(QUE OBRIGATORIAMENTE PRECISA SER O MESMO NOME CONSTANTE NOS
DOCUMENTOS APRESENTADOS EM 2.1), e-mail, nmero da chave
(keyID), e fingerprint da chave (assinatura digital da chave)
RECIPIENTE DO PAPEL: Se voc achar que os documentos que te
apresentaram no so prova suficiente, talvez porque o nome
no bate com o da chave, ou porque uma foto nos documentos no
est parecida com quem mostrou os documentos, marque
discretamente no papel, porque voc NO deve assinar essa
chave. Se achar que o outro vai engrossar, no diga para ele
que no vai assinar a chave dele.
3 - Pronto. Podem ir embora, porque o resto dos passos deve ser feito com
calma, em casa. Lembre-se que voc no vai estar efetuando nenhum
julgamento moral a respeito de quem voc assinar a chave. Voc s ir
afirmar que a chave de sicrano realmente aquela, e mais nada.
4 - Para cada uma das chaves que voc marcou no papel que "posso assinar":
4.1 - Pea para o seu programa de criptografia mostrar a chave e sua
assinatura (fingerprint).
SE: O nome no papel for exatamente igual ao nome na chave
(user ID/UID da chave). E: A assinatura no papel for
Curso de Certicao Linux LPI
exatamente igual assinatura na chave (fingerprint). ENTO:
V para o passo 4.3.
4.2 - As informaes no bateram, por isso voc no deve assinar a
chave. Se quiser, envie um e-mail avisando que no poder
assinar a chave. No aceite tentativas de retificao por
e-mail ou telefone. Um outro encontro face- -face, refazendo
todos os passos 2.1 e 2.2 o nico jeito de retificar
o problema.
4.3 - As informaes bateram, o que garante que o *nome* est
correto. Agora preciso ter certeza do endereo de e-mail.
Para isso, envie uma e-mail *CIFRADA* pela chave que voc est
testando, para o endereo de e-mail constante na chave. Nessa
e-mail, coloque uma palavra secreta qualquer e pea para o
destinatrio te responder dizendo qual a palavra secreta que
voc escreveu. Use uma palavra diferente para cada chave que
estiver testando, e anote no papel daquela chave qual palavra
voc usou.
4.4 - Se voc receber a resposta contendo a palavra secreta correta,
voc pode assinar a chave. Caso contrrio, no assine a chave --
o endereo de e-mail pode ser falso.
Comandos do gpg (GNUpg) correspondentes a cada passo:
2.2 - gpg --fingerprint <seu nome ou 0xSuaKEYID>
(retorna as informaes que devem estar no papel a ser
entregue no passo 2.2)
4.1 - gpg --receive-key <0xKEYID>
(procura a chave especificada nos keyservers)
gpg --sign-key <0xKEYID>
(assina uma chave)
Assume-se que voc sabe cifrar e decifrar mensagens. Caso
no saiba, ainda no hora de querer sair assinando chaves.
Criando arquivos .tar.gz com senha
Aqui vai uma dica para deixar seus arquivos compactados em tar.gz com senha, na verdade o arquivo ser transformado num .gpg, segue:
Para compactar:
Cria o tar(-cf, C de Create) e (f de Files), logo (-cf Create Files, serve pra memorizar)
$ tar -cf nome_que_vc_escolher.tar arquivo_ou_pasta
Agora transforma ele em tar.gz
$gzip -9 arquivo_que_vc_criou.tar
e agora usa-se o gpg pr senha:
$ gpg -c arquivo.tar.gz
Descompactando, preciso pr a senha pr criada, quando ele solicitar
$ gpg arquivo.tar.gz.gpg
Agora extrair(-xf X de eXtract e F de Files, eXtract Files)
$ tar -xf arquivo.tar.gz
Pronto!
Fonte: http://pt.wikibooks.org/wiki/Guia_do_Linux/Avanado
Curso Certicao Linux LPI-102: Acessibilidade no Linux
O "leitor de tela bsico em braille" foi adicionado recentemente ao kernel do Linux e, com ele, um subdiretrio
drivers/accessibility e a opo CONFIG_ACCESSIBILITY correspondente. Vale destacar que as primeiras reaes foram do tipo
"que raios essa tal de acessibilidade?". Isso mostra como a idia pouco conhecida entre os desenvolvedores.
E olha que a acessibilidade no GNU/Linux, ou seja, a usabilidade do GNU/Linux por portadores de decincia (como cegos, por
exemplo), obviamente no nova. J h trabalho nessa rea faz tempo: a verso 0.07 do leitor de tela speakup foi lanada para o kernel
2.2.7 em 1999, e o leitor de tela em braille brltty foi iniciado em 1995. O leitor de tela bsico em braille que acaba de ser adicionado ao
kernel do Linux apenas a parte visvel desse trabalho que j est em andamento h anos.
Curso de Certicao Linux LPI
Com a popularizao do GNU/Linux entre o pblico no-tcnico, tem havido um interesse renovado por um suporte mais mainstream
acessibilidade: o desktop GNOME, o OpenOce.org e o Firefox 3 agora podem ser renderizados por sintetizadores de voz e braille graas
ao framework AT-SPI e ao leitor de tela Orca. Assim que essas tecnologias forem adaptadas ao D-BUS, o KDE tambm vai aderir. Alm
disso, comearam a aparecer menus de acessibilidade nas distribuies.
Uma das maiores preocupaes dos portadores de decincia costumava ser a falta de suporte ao Javascript nos
navegadores em modo texto e a falta de suporte das sutes de escritrio. Conforme mais e mais empresas e governos migram
para o Linux, especialmente devido exigncia de alguns estados por acessibilidade nas ferramentas usadas pelo governo, um
esforo renovado no desenvolvimento foi se tornando cada vez mais uma necessidade. Em Massachusetts, o povo chegou a
fazer um abaixo-assinado contra a migrao para o software livre porque, na poca, ele no oferecia as ferramentas de
acessibilidade necessrias!
O que acessibilidade?
Acessibilidade, tambm abreviada como a11y, fazer com que um software possa ser utilizado por pessoas portadoras de
decincia. Isso inclui os cegos, claro, mas tambm pessoas com pouca viso, surdos, daltnicos, pessoas que s tm uma
das mos ou que s podem mover alguns dedos ou apenas os olhos. Pessoas com problemas cognitivos (ainda que leves) ou no
familiarizadas com a linguagem tambm esto includas. Por ltimo, mas no menos importantes, os idosos, que tm um
pouco de todas essas decincias. Sim, isso quer dizer que, um dia, todo mundo vai estar includo nesse grupo. Isso implica em
suporte a dispositivos especiais, mas tambm em precauo no desenvolvimento, evitando presumir que um alarme sonoro
ser ouvido, ou que uma breve mensagem ser lida.
Talvez uma das tcnicas de acessibilidade mais bvias sejam os sintetizadores de voz, que transformam texto em udio que pode ser
enviado aos alto-falantes e fones de ouvido. J houve sintetizadores de voz baseados em hardware (suportados pelos drivers do speakup),
mas a maioria deles vem sendo substituda pelos sintetizadores de voz baseados em software. Embora a qualidade do software comercial
para sintetizar voz seja muito boa hoje em dia, a qualidade das alternativas livres varia bastante. Existem sintetizadores de voz livres
muito bons para a lngua inglesa, mas o suporte a outros idiomas varia. Por exemplo, os engines Festival e eSpeak suportam vrios
idiomas, mas o som robtico demais. H bibliotecas de fonemas melhores, como o mbrola, mas elas geralmente no so 100% livres.
Para lidar de maneira mais eciente com esses backends de sintetizao de voz, o daemon de voz precisa escolher automaticamente a
sintetizao apropriada, de acordo com o idioma e o estilo desejados.
Outro tipo de dispositivo muito popular o terminal braille. Ele "exibe" o texto levantando e abaixando pequenos pinos que formam os
padres do braille. O terminal braile custa caro, e geralmente tem espao para apenas 40 caracteres, ou mesmo por volta de 12 ou 20. Ele
tem teclas para navegao pela tela, e com isso o usurio vai lendo em partes. Comparado aos sintetizadores de voz, o terminal braille
muito mais preciso, mas nem todo mundo pode ler em braille, e o preo muito alto (em torno de 5.000 dlares). O suporte aos vrios
dispositivos existentes muito bom: dentre os leitores de tela, tanto o brltty quanto o suseblinux suportam uma ampla variedade de
dispositivos.
Os cegos provavelmente usaro dispositivos em braille e sintetizadores de voz em conjunto. Os dispositivos para os outro
tipos de decincia variam bastante. Eles vo de joysticks (suportados nativamente pelo X.org) a sistemas que acompanham o
movimento dos olhos (gerenciados pelo dasher), fazendo uso do apertar de botes (suportado pelo GOK, o teclado de tela do
GNOME) ou da mera ampliao da tela (implementada pelo gnome-mag).
Fonte: www.hardware.com.br

Links:
http://www.acessibilidadelegal.com/33-manual-orca.php
http://softwarelivre.org/acessibilidade-em-software-livre/acessibilidade-no-orca-e-gnulinux
Curso Certicao Linux LPI-102: Congurando Conexes PPPoE no Linux
PPPoE (sigla em ingls para Point-to-Point Protocol over Ethernet) um protocolo de rede para conexo de usurios em uma
rede Ethernet para alcanar a Internet. Seu uso tpico nas conexes de um ou mltiplos usurios em uma rede LAN
Internet atravs de uma linha DSL, de um dispositivo wireless (sem o) ou de um modem de cabo broadband comum. O
protocolo PPPoE deriva do protocolo PPP. O PPPoE estabelece a sesso e realiza a autenticao com o provedor de acesso a
Internet.

A maioria dos modems ADSL vendidos no Brasil so roteadores, no entanto existem alguns modelos que s funcionam no modo Bridge,
ou seja, no Windows por exemplo, voc usaria um discador para conectar-se.Voc precisar de um provedor, usurio e senha para
autenticao, e tambm, naturalmente, uma placa de rede para ligar ao modem.

Comando para congurar o pppoe

# pppoeconf

Ateno: O pacote pppoe e pppoeconf j vem instalados por padro, mas se no estiver, instale-o com:

# apt-get install pppoe pppoeconf


Curso de Certicao Linux LPI

Um programa com uma interface semi-grca baseada em texto lhe guiar atravs dos passos para a congurao, que so elas:
Conrmar se sua placa de rede foi detectada. 1.
Digitar seu nome de usurio (fornecido pelo provedor). 2.
Digitar sua senha (fornecida pelo provedor). 3.
Se voc j possui uma conexo PPPoE congurada, ele perguntar se voc deseja modicar sua congurao atual. 4.
Responda o padro em todas as perguntas (basta digitar enter), ou mude, caso saiba o que est fazendo. 5.
Limited MSS problem - choose "Yes". 6.
O programa perguntar se voc deseja ativar a conexo durante o boot, provavelmente voc vai querer responder Sim.
Finalmente, perguntar se voc deseja estabilizar a conexo imediatamente.
Pronto isto, provavelmente voc sua conexo com a internet j estar funcionando.
Controle manual da conexo
Para iniciar sua conexo (se j no estiver ativa), digite num terminal:
# pon dsl-provider
Icones/parar.png Para parar a conexo (se estiver ativa), digite no terminal:
# poff dsl-provider
Problemas
Se sua conexo parecer no funcionar, tente ver o log. Para isto, digite num terminal:
# plog
Problemas com o boot
Se voc tiver que rodar o pppoeconf a cada boot por que a conexo no est sendo ativada, voc pode tentar:
# /etc/network/interfaces
Edite o arquivo como abaixo:
# added by pppoeconf
auto eth0
iface eth0 inet manual
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
auto dsl-provider
iface dsl-provider inet ppp
provider dsl-provider
Para conguraes com autenticao no modem ou roteador, o certo :
auto lo
iface lo inet loopback
iface eth0 inet static
address 10.1.1.2
netmask 255.0.0.0
gateway 10.1.1.1
auto eth0
ou, manualmente com um pequeno script:
#!/bin/bash
echo vamos reconfigurar sua rede, pressione ENTER para iniciar a configurao, ou Ctrl+c para desistir
read resposta
sudo ifconfig
sudo ifconfig eth0 down
sudo ifconfig eth0 10.1.1.2 netmask 255.0.0.0 up
echo nameserver 10.1.1.1
sudo route add default gw 10.1.1.1 dev eth0
sudo ifconfig
ping -c4 www.google.com
Curso de Certicao Linux LPI
Se isto no funcionar, edite o arquivo /etc/rc.local, e antes da ultima linha ("exit 0"), adicione:
ifcong eth0 up
pon dsl-provider
Logs de erro
voc tiver problemas com sua conexo, talvez encontre algumas informaes teis nos logs do sistema
# dmesg
Fonte: wiki.ubuntu-br.org
Curso Certicao Linux LPI-102: Gerenciador de Pacotes YUM e pacotes RPM
1.0 - Gerenciador de Pacotes YUM
O gerenciador de pacotes YUM o gerenciador de pacote padro do Red Hat, Fedora, CentOS e derivados.Antes criado e
utilizado no Yellow Dog Linux que uma distribuicao baseada em Red Hat e que so funciona em maquinas com o processador
PowerPC ou derivados como o Cell.
Os arquivos de conguracao do YUM se encontram no diretorio /etc/yum/ e os repositorios se encontram no diretorio /etc/yum.repos.d que
muito similar ao /etc/apt/sources.list.d do Debian. Pois seria possivel a centralizacao de tudo tb no /etc/yum/yum.conf.
As instrues aqui so baseadas na distribuio Fedora.
O arquivo de congurao do yum o /etc/yum.conf. Alm disso, os
repositrios (sites que contm os pacotes dos programas) so
congurados atravs de cada arquivo de extenso .repo, localizados no
diretrio /etc/yum.repos.d.
A congurao padro do yum contida no /etc/yum.conf suciente
para o bom funcionamento do programa. Voc s precisar de alguns
repositrios j congurados. Por exemplo, o padro para o repositrio
do Fedora o arquivo /etc/yum.repos.d/fedora.repo:
[fedora]
name=Fedora $releasever - $basearch
baseurl=http://fedora.c3sl.ufpr.br/linux/releases/$releasever/Everything/$basearch/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
As linhas acima signicam que o repositrio denominado fedora ter:
name: Nome descritivo, no exemplo: Fedora (verso da distribuio) (arquitetura da distribuio, ex. i386); 1.
baseurl: O endereo que contm a lista dos programas e os pacotes; 2.
enabled: Se o repositrio est habilitado ou no (1 signica sim, 0 signica no); 3.
gpgcheck: Se todos os pacotes devem ter sua autenticidade vericada
(extremamente recomendado, 1 signica sim, 0 signica no);
4.
gpgkey: Qual chave criptogrca utilizar para a vericao dos pacotes. 5.
Com este repositrio congurado, pode-se instalar e remover todos os
pacotes bsicos da distribuio. No caso das atualizaes de pacotes, o
repositrio outro e pode ser congurado no arquivo
/etc/yum.repos.d/fedora-updates.repo:
[updates]
name=Fedora $releasever - $basearch Updates
baseurl=http://fedora.c3sl.ufpr.br/linux/updates/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
Curso de Certicao Linux LPI
H varios outros repositrios de terceiros disponveis (como o livna,
dag, freshrpms, atrpms) que contm outros programas que podem no estar
na lista principal por diversos motivos. Cada um desses repositrios
tm conguraes prprias e por isso criam arquivos .repo dentro do
diretrio /etc/yum.repos.d. Aqui no iremos listar todos os repositrios
e sim apenas os ociais.
Uma vez congurados os repositrios desejados, hora de utilizar o yum.
Para procurar por um pacote usando alguma palavra relacionada,
utilizamos o parmetro search. Por exemplo, procurar todos os pacotes
relacionados com a palavra DVD:
# yum search DVD
Para instalar um pacote:
# yum install pacote
Para desinstalar o pacote:
# yum remove pacote
Atualizando um pacote especco, caso exista uma atualizao para o mesmo:
# yum update pacote
Ou se precisarmos atualizar todo o sistema, instalando todos os pacotes novos que tenham atualizaes disponveis:
# yum update
Para vericar quais os pacotes que precisam de atualizao:
# yum check-update
Listando todos os pacotes disponveis, tanto no repositrio quanto os j instalados:
# yum list
Listando todos os pacotes disponveis para a instalao:
# yum list available
Existem tambm os grupos de pacotes. Um grupo de pacotes um
conjunto de pacotes necessrios para se instalar alguma funcionalidade
no sistema e so denidos pelos desenvolvedores da distribuio. Para
listar todos os grupos de pacotes:
# yum grouplist
Installed Groups:
Office/Productivity
MySQL Database
Editors
System Tools
...corte...
Available Groups:
Engineering and Scientific
Window Managers
GNOME Software Development
XFCE Software Development
XFCE
...corte...
Como podemos ver, o yum mostra os grupos j instalados no sistema
(Installed Groups) e os disponveis para a instalao (Available
Groups). Se quisermos, por exemplo, instalar o suporte ao gerenciador de
janelas XFCE, instalamos seu grupo:
# yum groupinstall "XFCE"
O yum se encarregar de baixar todos os pacotes necessrios para o XFCE. Para remover todos os pacotes do grupo:
# yum groupremove "XFCE"
Todas estas aes do yum necessitam de uma conexo de Internet, pois a
lista de pacotes sempre requisitada no repositrio para consulta.
Mesmo para consultar um simples nome de pacote, precisa-se de conexo
com a Internet.
Curso de Certicao Linux LPI
Caso j tenha se utilizado o yum para fazer alguma ao (e por
consequncia, ele j tenha baixado a lista de pacotes para o seu
sistema), podemos optar por no precisar nos conectar ao servidor na
Internet toda vez que usarmos o yum utilizando o parmetro -C. Exemplos:
# yum -C search DVD
# yum -C check-update
# yum -C list | grep kde
Na instalacao do fedora possivel instalar o apt e no Debian e Ubuntu vc tb pode instalar o yum pelo apt-get para estudos.
2.0 - Pacotes RPM e Sistema de Gerenciamento de Pacotes RPM
RPM (Red Hat Package Manager) um sistema de gerenciamento de pacotes desenvolvido pela Red Hat para ser utilizado em
sua prpria distro. Posteriormente outras distros Linux, e mesmo alguns outros sistemas operacionais, tambm adotaram o
formato RPM para gerenciamento de seus pacotes. A LSB (Linux Standard Base) indicou o formato RPM como o padro para
distros Linux.
Outro utilitrio para gerenciamento de pacotes RPM em modo texto o Yum (Yellow Dog Updater, Modied), disponvel nas distros Red
Hat Enterprise Linux, CentOS, Oracle Entreprise Linux e Fedora.
Com o Yum, possvel realizar instalaes e atualizaes de pacotes localmente ou a partir de repositrios de pacotes localizados na
internet. Sua grande vantagem em relao ao utilitrio RPM tentar resolver automaticamente todas as dependncias requeridas por
pacotes que estiverem sendo instalados ou atualizados e tambm por proporcionar uma forma fcil de atualizar todo o sistema pela
Internet.
Os trs principais formatos de pacotes utilizados em sistemas Linux so:
RPM: utilizado pela distro Red Hat Enterprise Linux (RHEL) e por distros derivadas como CentOS, Oracle Enterprise Linux,
Fedora e SuSE.
DEB: utilizado pela distro Debian e por distros derivadas como Ubuntu.
TGZ: utilizado pela distro Slackware e por distros derivadas como Vector Linux.
Alm destes formatos, h tambm outros. No entanto, no vou me prolongar a respeito deles para no perder o foco do artigo e tambm
para no deix-lo extenso.
O rtulo (nomenclatura) tpico de um pacote RPM nome-versao-release.arquitetura.rpm, onde:
Nome: o nome do software que est sendo distribudo.
Verso: a verso do software.
Release: o verso de construo do pacote para a mesma verso do software.
Arquitetura: a plataforma para a qual o software foi desenvolvido. Noarch signica que o software no foi desenvolvido para uma
plataforma especca, podendo ser utilizado em qualquer uma. Src signica que o pacote contm os arquivos-fonte do software.
.rpm: a extenso do nome do arquivo de pacote RPM.
Exemplo: oracle-xe-univ-10.2.0.1-1.0.i386.rpm, sqldeveloper-3.0.04.34-1.noarch.rpm
Instalao
Para instalar pacotes RPM em sistemas Linux, necessrio estar logado como root (su). Note que o sistema de gerenciamento de pacotes
RPM no resolve as dependncias automaticamente para voc.
Portanto, as dependncias necessrias devero ser instaladas antes da instalao do pacote que as requer. Uma outra forma de resolver
isso executar a instalao utilizando o utilitrio Yum em distros RHEL e derivadas ou o equivalente em outras distros.
Instalaes locais:
Para instalar um pacote localizado localmente, execute o comando
# rpm -ivh <pacote>
, onde:
-i: o modo de instalao.
-v: (opcional) apresenta mensagens detalhadas de sada para o processo de instalao.
-h: (opcional) exibe cerquilhas (#) medida em que o processo de instalao avana.
<pacote>: o nome do arquivo do pacote RPM a ser instalado no sistema; pode ser mais de um ao mesmo tempo, neste
caso, separe-os com espaos.
Exemplo: # rpm -ivh AdobeReader_ptb-8.1.7-1.i486.rpm
possvel testar a instalao de um pacote antes de instal-lo no sistema # rpm -ivh test <pacote>, onde:
test: esta opo testa o processo de instalao do pacote e, caso haja algum problema, notica a respeito.
Exemplo:
# rpm -ivh test AdobeReader_ptb-8.1.7-1.i486.rpm
Instalaes com o utilitrio Yum:
A forma tpica do comando Yum para instalaes
# yum -y install nogpgcheck <pacote>
, onde:
Curso de Certicao Linux LPI
-y: (opcional) resposta automtica positiva para a conrmao do processo de instalao.
install: a opo de instalao do Yum.
nogpgcheck: (opcional) instrui o Yum a no vericar a assinatura do pacote.
<pacote>: o nome do pacote RPM disponvel localmente ou na Internet em repositrios do Yum.
Exemplo:
# yum -y install nogpgcheck AdobeReader_ptb-8.1.7-1.i486.rpm
# yum -y install gparted
Observao: No exemplo 1, acima, o pacote est disponvel localmente. Em 2, o pacote est localizado em um repositrio utilizado pelo
Yum, isto , na Internet. Em ambos os casos, o Yum tenta resolver quaisquer dependncias, baixando-as e instalando-as automaticamente.
Atualizao
Para atualizar pacotes RPM instalados em sistemas Linux, necessrio estar logado como root (su). Lembre-se de que o sistema de
gerenciamento de pacotes RPM no resolve quaisquer dependncias requeridas automaticamente.
Caso haja dependncias requeridas pelo pacote a ser atualizado que no estejam instaladas no sistema, ser necessrio baix-las e
instal-las antes de atualizar o pacote.
Outra forma de resolver isso executar a atualizao utilizando o utilitrio Yum em distros RHEL e derivadas ou o equivalente em outras
distros.
Atualizaes locais:
Para atualizar um pacote localizado localmente, execute o comando
# rpm -Uvh <pacote>
, onde:
-U: o modo de atualizao.
-v: (opcional) apresenta mensagens detalhadas de sada para o processo de atualizao.
-h: (opcional) apresenta cerquilhas (#) medida em que o processo de atualizao avana.
<pacote>: o nome do arquivo do pacote RPM a ser atualizado no sistema. Pode ser mais de um ao mesmo tempo, neste
caso, separe-os com espaos.
Exemplo:
# rpm -Uvh flash-plugin-10.2.153.1-release.i386.rpm
Observao: Caso o pacote em atualizao no estiver instalado no sistema, ele ser automaticamente instalado com este comando.
Tambm possvel testar a atualizao de um pacote antes de atualiz-lo no sistema
# rpm -Uvh test <pacote>
, onde:
test: esta opo testa o processo de atualizao do pacote e, caso haja algum problema, notica a respeito.
Exemplo:
# rpm -Uvh test flash-plugin-10.2.153.1-release.i386.rpm
Atualizaes com o utilitrio Yum:
O processo de atualizao com o Yum muito til, pois, com ele, possvel atualizar at mesmo todo o sistema de uma s vez. Neste caso,
o processo poder ser um pouco demorado, dependendo da quantidade de pacotes a serem atualizados e da velocidade de sua conexo
Internet.
Para atualizar pacotes, a forma tpica do comando Yum
# yum -y update [pacote]
Exemplo:
# yum -y update flash-plugin-10.2.153.1-release.i386.rpm
Para vericar se h atualizaes disponveis
# yum check-update [pacote]
Exemplo:
# yum check-update flash-plugin-10.2.153.1-release.i386.rpm
# yum check-update

Para atualizar todo o sistema Linux
# yum -y update
Nas formas do comando Yum apresentadas acima, o nome do pacote a ser atualizado opcional. possvel informar vrios nomes de
pacotes a serem atualizados em em nico comando, basta separ-los com espaos.
Quando no for informado nenhum nome de pacote, o Yum processar todos os pacotes instalados em seu sistema Linux. O -y opcional e
serve como resposta positiva automtica para as questes formuladas pelo Yum.
Downgrade
Curso de Certicao Linux LPI
Downgrade signica baixar a verso de um dado pacote instalado em um sistema Linux, isto , atualizar para uma verso mais antiga do
pacote. A principal razo para que isso seja feito quando um determinado aplicativo ou sistema funcionava adequadamente com uma
verso X de um determinado pacote e, aps este pacote ter sido atualizado para uma verso Y superior, o mesmo aplicativo ou sistema
passa a no funcionar bem com esta nova verso Y do pacote considerado.
Neste caso, o administrador do sistema dever fazer o downgrade deste pacote para a verso X. Para fazer donwgrade de um pacote
instalado em um sistema Linux, necessrio estar logado como root (su).
Downgrades locais:
Para fazer o downgrade de um pacote localizado localmente, execute o comando # rpm -Uvh oldpackage <pacote>, onde:
-U: o modo de atualizao.
-v: (opcional) apresenta mensagens detalhadas de sada para o processo de downdrade.
-h: (opcional) exibe cerquilhas (#) medida em que o processo de downgrade avana.
oldpackage: fora o downgrade de pacotes.
<pacote>: o nome do pacote RPM da verso anterior, isto , para o qual voc est fazendo downgrade.
Exemplo:
# rpm -Uvh oldpackage flash-plugin-10.2.153.1-release.i386.rpm
possvel testar o downgrade de um pacote antes de atualiz-lo no sistema
# rpm -Uvh oldpackage test <pacote>
, onde:
test: esta opo testa o processo de downgrade do pacote e, caso haja algum problema, notica a respeito.
Downgrades com o utilitrio Yum:
Com o Yum voc poder fazer downgrade de pacotes a partir de repositrios do Yum localizados na Intenet. A forma do comando
# yum -y downgrade <pacote>
.
Exemplo:
# yum -y downgrade flash-plugin-10.2.153.1-release.i386.rpm
O -y opcional e serve como resposta positiva automtica ao Yum para conformar a execuo do processo.
Observao: Seja criterioso ao fazer downgrade de pacotes em seu sistema, pois o mesmo poder apresentar comportamentos indesejados
como, por exemplo, instabilidade e/ou vulnerabilidades.
Consultas
Com o sistema de gerenciamento de pacotes RPM, possvel realizar diversas formas de consultas de informaes sobre pacotes
instalados ou no no sistema. Note que para consultas de pacotes, no necessrio estar logado como root (su). A seguir, as formas mais
usuais de consultas.
Consultas de informaes de pacotes instalados no sistema:
Para listar todos os pacotes instalados no sistema:
$ rpm -qa
Para listar, em ordem alfabtica ascendente, todos os pacotes instalados no sistema:
$ rpm -qa | sort
Para obter a contagem dos pacotes instalados no sistema, sem list-los:
$ rpm -qa | wc -l
Para vericar se um pacote est instalado no sistema, informando uma parte do nome do pacote:
$ rpm -qa | grep -i <substring>
Onde <substring> uma parte do nome do pacote que voc est consultando. Nesta forma de consulta, ser ignorada a diferena entre
maisculas e minsculas.
Exemplo:
$ rpm -qa | grep -i java
Para gerar um arquivo texto contendo a listagem, em ordem alfabtica ascendente, de todos os pacotes instalados no sistema:
$ rpm -qa | sort > <nome_arquivo_txt>
Exemplo:
$ rpm -qa | sort > ListPctsInstalados.txt
Para consultar informaes sobre um pacote especco instalado no sistema:
$ rpm -qi <pacote>
Exemplo:
$ rpm -qi java-1.6.0-openjdk-1.6.0.0-1.20.b17.el5
Curso de Certicao Linux LPI
Observao: Note que o nome do pacote dever ser digitado exatamente por completo, da mesma forma em que estiver registrado no
banco de dados do RPM, levando-se em considerao maisculas e minsculas.
Para listar todos os arquivos de um pacote especco instalado no sistema:
$ rpm -ql <pacote>
Exemplo:
$ rpm -ql java-1.6.0-openjdk-1.6.0.0-1.20.b17.el5
Consultas de informaes de pacotes no instados no sistema:
Para consultar informaes sobre um pacote especco no instalado no sistema:
$ rpm -qpi <pacote>
Exemplo:
$ rpm -qpi AdobeReader_ptb-8.1.7-1.i486.rpm
Para listar todos os arquivos de um pacote especco no instalado no sistema:
$ rpm -qpl <pacote>
Exemplo:
$ rpm -qpl AdobeReader_ptb-8.1.7-1.i486.rpm
Para obter a contagem dos arquivos de um pacote especco no instalado no sistema, sem listar estes arquivos:
$ rpm -qpl <pacote> | wc -l
Exemplo:
$ rpm -qpl AdobeReader_ptb-8.1.7-1.i486.rpm | wc -l
Para gerar um arquivo texto contendo a listagem, em ordem alfabtica ascendente, dos arquivos de um pacote especco no instalados
no sistema:
$ rpm -qpl <pacote> | sort > <nome_arquivo_txt>
Exemplo:
$ rpm -qpl AdobeReader_ptb-8.1.7-1.i486.rpm | sort > ListArqsPct.txt
Desinstalao
Para executar a desinstalao de pacotes RPM em sistemas Linux, voc dever estar logado como usurio root (su) e executar o comando
a seguir:
# rpm -e <pacote>
Exemplo:
# rpm -e AdobeReader_ptb-8.1.7-1
Observao: Note que o nome do pacote a ser desinstalado deve ser exatamente igual ao nome registrado no banco de dados do RPM. Voc
pode descobrir o nome exato do pacote instalado no sistema, utilizando as opes de consulta apresentadas na seo Consultas deste
artigo.
Outra forma de executar a desinstalao de pacotes RPM combinar recursos de consulta de nomes de pacotes e pesquisa de substrings
em subshell do Linux, em uma nica linha de comando.
A forma tpica do comando, neste caso,
# rpm -e $(rpm -qa | grep -i <substring>)
, onde:
$(): o subshell. Os comandos internos este subshell so processados antes do comando externo.
rpm -qa: o comando de consulta de todos os pacotes RPM instalados no sistema.
grep -i substring: este comando procura ocorrncias do texto fornecido em substring na lista de pacotes RPM instalados no
sistema, obtida pelo comando rpm -qa anterior e ignorando maisculas e minsculas.
<substring>: um texto representando parte do nome do pacote RPM a ser desinstalado do sistema.
Exemplo:
# rpm -e $(rpm -qa | grep -i adobe
Neste exemplo, sero desinstalados do sistema todos os pacotes RPM que contiverem adobe como parte de seu nome, desconsiderando-se
maisculas e minsculas.
Observao: Tenha muito cuidado ao executar desinstalaes desta forma, pois qualquer erro poder ser fatal. Podem ser desinstalados
outros pacotes que no os desejados e/ou que sejam importantes a seu sistema ou a seu trabalho!
Reconstruo do banco de dados do RPM
Curso de Certicao Linux LPI
O sistema RPM utiliza um banco de dados Berkeley DB, localizado no diretrio /var/lib/rpm/, para armazenar metadados dos pacotes
instalados em um sistema Linux.
Embora sistemas Linux sejam bastante seguros e conveis, o banco de dados do RPM pode, eventualmente, sofrer quebras (corrupes).
Caso isso ocorra, voc no conseguir gerenciar seus pacotes RPM. Por exemplo, voc no conseguir instalar novos pacotes no sistema.
Para tentar corrigir este problema, estando logado como usurio root (su), execute o seguinte comando de reconstruo do banco de
dados do RPM:
# rpm --rebuilddb
Embora este comando seja utilizado em casos de corrupo do banco de dados do RPM, voc poder utiliz-lo periodicamente, de forma
preventiva, mesmo que o banco de dados do RPM no apresente problemas aparentes.
Soluo de problemas de transaes no concludas com o Yum
Outro problema que tambm pode ocorrer, sobretudo quando ocorre instalao ou atualizao de pacotes RPM, a interrupo, por
diversos motivos, do processo antes de sua concluso, gerando transaes no concludas.
Quando isso ocorrer, sempre que voc for instalar ou atualizar pacotes com o Yum, receber uma mensagem como a seguinte: There are
unnished transactions remaining. You might consider running yum-complete-transaction rst to nish them.
Para sanar este problema, ser necessrio estar logado como root (su) e executar o utilitrio yum-complete-transaction, o qual est
contido no pacote yum-utils:
# /usr/sbin/yum-complete-transaction
Caso o pacote yum-utils no esteja instalado no sistema, instale-o com o comando a seguir:
# yum -y install yum-utils
Fontes:
http://www.devin.com.br/
http://www.aprigiosimoes.com.br
http://imasters.com.br
Curso Certicao Linux LPI-102: A Certicao LPI
O Linux Professional Institute - LPI - uma organizao sem ns lucrativos, sediada na California - USA e constituda em 1999
pela comunidade Linux e desenvolve de forma acessvel um programa de certicao em sistemas GNU/Linux reconhecido
internacionalmente por empresas, empregadores e prossionais de TI.
Certicar-se uma forma de atestar conhecimentos prossionais, ou seja, validar a ecincia de algum em determinado assunto.
A principal vantagem da LPI sobre outras certicaes Linux a neutralidade de distribuio, pois as provas do LPI so baseadas no Linux
Standard Base, um conjunto de normas que mantm a compatibilidade entre as diferentes verses e distribuies do sistema operacional.
A certicao LPI , portanto, independente de distribuio.
O LPI reconhecido como a primeira organizao do mundo a defender e ajudar o uso prossional do Linux, Open Source e
Free Software atravs de certicao prossional. Os exames de certicao do LPI so aplicados em milhares de lugares no
mundo, em vrios idiomas e com o apoio de empresrios, fabricantes e instrutores.
Lista de Assuntos com os Links para cada um(se voc clicar em um link, abrir em nova aba):
01- A Certicao LPI
02- Noes Fundamentais
03- Documentao
04- Arquitetura de Hardware
05- Instalao do Linux
06- Filtros de Texto
07- Gerenciamento bsico de arquivos
08- Hierarquia do sistema de arquivos
09- Sistemas de arquivos e dispositivos
10- Montando e Desmontando Sistemas de Arquivos
11- Executando, Gerenciando e Terminando Processos
12- Sistema de Boot, Shutdown e Runlevels
13- Trabalhando com Permisses
Curso de Certicao Linux LPI
14- Trabalhando com vi
15- Instalando e Compilando Programas a partir do cdigo fonte
16- Gerenciamento de Pacotes Debian
e Redhat (rpm, dpkg, apt-get, dselect)
17- Gerenciador de Pacotes YUM
18- Utilizando Expresses Regulares
19- Quotas de Disco
20- Administrao do Sistema
21- Automatizando Tarefas Administrativas e Estratgias de Backup
22- X Window
23- Programando em Shell Script
24- Arquivos de LOG
25- Impresso no Linux
26- Hora do Sistema
27- Internacionalizao do Sistema
28- Kernel do Linux
29- Fundamentos e Servios de Rede TCP/IPv4
30- Utilitrios e Ferramentas do TCP/IP
31- Congurando a Rede
32- Congurando o DHCP
33- Congurando Conexes PPPoE no Linux
34- Servios de Rede no Linux
35- O Servidor PostFix
36- Congurando o Apache
37- Compartilhamento via NFS
38- Compartilhamento via Samba
39- Congurando o DNS
40- Congurando o Shell Seguro OpenSSH
41- Segurana
42- Criptograa de Dados
43- Acessibilidade no Linux
44- Gerenciamento de dados SQL
Visite o site do LPI Mundial e saiba mais.
Curso de Certicao Linux LPI

Você também pode gostar