Sei sulla pagina 1di 61

1

Sumrio
Sobre o E-book.....................................................................................................................................5
Sobre o autor por ele mesmo...........................................................................................................5
Crditos............................................................................................................................................6
Captulo 1 A origem do GNU/Linux.................................................................................................6
UNIX...............................................................................................................................................6
MINIX.............................................................................................................................................7
GNU.................................................................................................................................................7
GNU e o Kernel...............................................................................................................................8
O Kernel Linux................................................................................................................................8
A Simbiose.......................................................................................................................................8
Free Software...................................................................................................................................8
Distribuio GNU/Linux.................................................................................................................9
Captulo 2 Sobre as distribuies de GNU/Linux.............................................................................9
Debian..............................................................................................................................................9
Slackware Linux............................................................................................................................10
Fedora............................................................................................................................................11
Ubuntu............................................................................................................................................11
Opensuse........................................................................................................................................11
Arch Linux.....................................................................................................................................12
Trisquel Linux................................................................................................................................12
Captulo 3 Instalando o Linux.........................................................................................................12
Passos da instalao do Linux.......................................................................................................13
Analisando o seu Hardware................................................................................................................14
Instalao do Ubuntu Linux...............................................................................................................15
Captulo 4 Noes fundamentais.....................................................................................................17
O Shell...........................................................................................................................................17
Prompt Sting 1...............................................................................................................................18
Prompt String 2..............................................................................................................................19
Variveis de ambiente do bash.......................................................................................................20
Histrico de Comandos..................................................................................................................21
history............................................................................................................................................22
Aliases (Apelidos de comandos)....................................................................................................22
Entrando com comandos no shell..................................................................................................22
Man, Help e Info.......................................................................................................................23
Gerenciamento de Arquivos...........................................................................................................23
Comandos de gerenciamento de arquivos.....................................................................................26
Exemplo da copia de um diretrio completo:................................................................................27
Comando: mv.................................................................................................................................27
Comando: rm.................................................................................................................................27
Comando mkdir.............................................................................................................................28
Comando rmdir..............................................................................................................................29
Comando: touch.............................................................................................................................29
Filtros de Texto..............................................................................................................................29
O comando cat...............................................................................................................................29
O comando cut...............................................................................................................................30

2
O comando expand........................................................................................................................30
Comando: fmt................................................................................................................................31
Comando head...............................................................................................................................31
Comando: Join...............................................................................................................................31
O comando pr.................................................................................................................................32
O comando tac...............................................................................................................................32
O comando tail...............................................................................................................................32
O comando wc...............................................................................................................................33
O comando xargs...........................................................................................................................33
Captulo 5 Editores de Texto em modo-texto..................................................................................33
Editor nano.....................................................................................................................................33
Editor mcedit..................................................................................................................................35
Editor de texto VI e VIM...............................................................................................................36
Captulo 6 Permisses de Arquivos.................................................................................................37
Visualizando privilgios e permisses...........................................................................................38
Permisses em sistema Octal.........................................................................................................40
Captulo 7 Usurios e Grupos..........................................................................................................40
Criando um novo usurio com useradd.........................................................................................41
Criando um novo usurio com adduser.........................................................................................41
Adicionando novos grupos.................................................................................................................41
Criar um novo grupo com addgroup..............................................................................................42
Mudando o login de um usurio....................................................................................................42
Gerenciando grupos do sistema.....................................................................................................43
Trabalhando com arquivos de usurios e grupos...........................................................................43
Esqueceu a senha do root?.............................................................................................................44
Captulo 8 Gerenciamento de pacotes.............................................................................................44
Instalando pacotes pelo apt-get......................................................................................................44
Reinstalando pacotes......................................................................................................................45
Pacotes RPM..................................................................................................................................46
Pacotes Slackware..........................................................................................................................47
Conversor de pacotes Alien...........................................................................................................47
Instalando pacotes pelo cdigo fonte.............................................................................................48
Captulo 9 Compactadores e empacotadores...................................................................................48
Criando um pacote com o TAR......................................................................................................49
Captulo 10 Agendamento de tarefas no Linux...............................................................................50
Agendador at..................................................................................................................................50
Crontab...........................................................................................................................................51
Capitulo 11 Processos......................................................................................................................53
Captulo 12 Gerenciamento de processos...................................................................................55
Classificao de processos.............................................................................................................55
Daemons........................................................................................................................................56
Jobs................................................................................................................................................56
fg....................................................................................................................................................56
bg...................................................................................................................................................56
Captulo 13 Introduo a Redes......................................................................................................57
Os protocolos TCP/IP....................................................................................................................57
Entendendo o IP.............................................................................................................................57
Entendendo o Gateway..................................................................................................................59

3
O servidor DNS.............................................................................................................................59
Configurando a Rede.....................................................................................................................59
Configurando o gateway................................................................................................................60
Configurao do DNS Server........................................................................................................61
Configurao esttica da rede........................................................................................................61
Comando hostname........................................................................................................................62
Publique seu e-book na Tux4you.......................................................................................................62
7 Cursos de Linux para voc!.............................................................................................................62
............................................................................................................................................................62

Sobre o E-book
Este livro tem como objetivo capacitar o leitor na utilizao e administrao de uma distribuio
GNU/Linux. O livro no aborda em particular nenhuma distro, porm, os conceitos tratados so
abrangentes de modo que voc poder ter a liberdade de escolher qual delas utilizar. O livro
tambm aborda contedo relacionado ao exame 101 da certificao LPI (Linux Professional
Institute).

O contedo do livro foi enxugado de modo que ele vai direto ao ponto, sem rodeios. Esta
compactao fruto da minha experincia de mais de dez anos atuando como professor do
treinamento de LPIC-1 e 2 e coordenando pedagogicamente cursos de Administrao de sistemas
em escolas particulares e Univesidades.

Referncias:

Distro Abreviatura para Distribuio de GNU/Linux


Tux4you Rede social para o compartilhamento do conhecimento humano
www.tux4.com.br/networking

Sobre o autor por ele mesmo


Meu nome Juliano Ramos, sou consultor de Servidores Linux h mais de dez anos, certificado
LPIC-3, Novell Linux e Ubuntu. Atuei na prefeitura de So Paulo coordenando trinta unidades de
Telecentros (Centros de incluso digital) que eram implantados em bairros de baixo IDH. Aps
cinco anos frente deste trabalho, segui para uma empresa privada atuando como coordenador
pedaggico em projetos para o terceiro setor e hoje atuo em minha prpria empresa como consultor
de TI e professor. Sou ativista do movimento Open-Source e palestrante em eventos como o
Campus Party, mas minha grande inspirao na vida ser o mantenedor da mdia social Tux4you a
qual sou tambm o criador.

Acesse:
www.tux4.com.br/networking

4
Crditos
A Deus, que se mostrou criador, que foi criativo. Seu flego de vida em mim
Me foi sustento e me deu coragem para questionar realidades
E propor sempre um novo mundo de
Possibilidades.

minha amada esposa, por sua capacidade de acreditar


Em mim, mesmo quando ningum mais o fez.

minha pequena luz e fonte de inspirao


Obrigado pelo seu sorriso dirio
Giovanna, minha filha.

Captulo 1 A origem do GNU/Linux


Neste captulo:
Histria do Multics Unix Minix GNU e Linux
Simbiose: Linux e GNU
Software Livre
Simbiose GNU e Linux

No ano de 1964 o MIT (Instituto de Tecnologia de Massachusetts) junto com a diviso de


computadores da companhia General eletric (GE) e os laboratrios Bell de Telefonia iniciaram um
projeto que estava muito adiante do seu tempo. Tratava-se da criao de um grande sistema
operacional de Tempo Compartilhado. Em um sistema de tempo compartilhado a capacidade e o
processamento da mquina dividido entre mltiplos usurios, que acessam atravs de terminais.
O usurio dirige a sua tarefa, seus comandos so interpretados e executados em seguida
(processamento online). Segundo a viso dos seus criadores, haveria imensos computadores,
poderosos e inderrubveis, rodando Multics, sendo acessados por milhares de pessoas em
terminais espalhados por todo o planeta. Esses usurios pagariam suas contas do computador
como hoje pagamos luz, gua e TV a cabo. No ano de 1969 os laboratrios Bell abandonaram o
projeto, sua diviso de computadores foi comprada pela Honeywell em 1970 que tentou usar de
forma comercial o MULTICS sem sucesso. Com duras crticas o projeto ficou abandonado e teve
sua ltima instalao operacional desligada em 31 de outubro de 2000. Apesar do insucesso deste
projeto, o MULTICS foi o incio de uma revoluo no modo de se fazer e usar sistemas
operacionais.

UNIX
Ken Thompson, trabalhava para a GE desenvolvendo o MULTICS. Quando a empresa abandonou o
projeto em 1969 ele comeou a reescrever o sistema num conceito menos ambicioso, batizando-o
de Unics e usando a linguagem de montagem (assembly). Mas tarde, o sistema foi rebatizado de
Unix pr Brian Kernighan que foi pioneiro no desenvolvimento das linguagens de programao

5
AWK e AMPL.
Um marco importante no mundo UNIX aconteceu em 1973 quando todo o sistema foi portado de
Assembly (linguagem de mquina) para a Linguagem C . A linguagem de programao C foi
criada pr Dennis Ritchie, sem sombra de dvidas, grande parte do sucesso do Unix e seus
derivados por causa desta linguagem de programao. A linguagem C foi influncia para as
linguagens de programao recentes, tais como: C++,Java, C#, PHP e Javascript. Ritchie morreu em
12 de outubro de 2011, uma semana aps a morte de Steve Jobs. Sua morte s foi noticiada em
alguns portais especializados, bem diferente do que aconteceu com Jobs.

MINIX
Uma opo livre, de cdigo fonte aberto, para se aprender UNIX.

Andrew S. Tanenbaum criou o sistema operacional MINIX para explicar o funcionamento dos
sistemas operacionais. Tanenbaum lanou um livro em 1987 chamado "Operating System Design
and Implementation" que continha 12.000 linhas de cdigo do kernel, gerenciador de memria e
sistemas de arquivos. Este sistema era compatvel com a stima edio do UNIX, porm, era de
cdigo aberto e disponvel. Os cursos universitrios de Tecnologia, comearam a usar o MINIX que
rodava em computadores modestos; para explicar o funcionamento do sistema operacional UNIX,
proprietrio, carssimo e que exigia um super computador.

GNU

O incio do conceito de Software Livre

Richard Matthew Stallman, ou RMS nasceu em 16 de maro de 1953, fundador do projeto GNU e
da fundao do software livre um dos ativistas mais atuantes em favor do software livre no
mundo. Seu primeiro contato com um computador aconteceu no ano de 1969 no primeiro ano do
ensino mdio (High School), Stallman passou o vero escrevendo seu primeiro programa - um pr-
processador para a linguagem de programao PL/1 no IBM 360. "Eu escrevi primeiro em PL/1,
passando ento para a linguagem de mquina (assembly) quando o programa PL/1 tornou-se grande
demais para caber no computador". Contou Stallman, anos depois (Williams 2002, Captulo 3).
Nos anos de 1980 aconteceu o O declnio da cultura hacker que at ento dominava a vida de
Stallman. A portabilidade dos softwares tornou-se um problema para os fabricantes de
computadores, que comearam a no divulgar o cdigo fonte dos seus softwares de modo que os
concorrentes no poderiam utiliz-lo. Quando esta nova cultura de softwares proprietrios atingiu o
MIT onde RMS trabalhava, ele a rejeitou. Negou-se a assinar acordos de no-divulgao de
informao. Ele escolheu, ao contrrio, compartilhar seu trabalho com os outros, o que considerou
como um esprito clssico de colaborao cientfica. No ano de 1984 Stallman parou seu trabalho
no MIT para dedicar-se integralmente ao seu projeto GNU, anunciado em setembro de 1983.
No ano de 1985 RMS publicou o Manifesto GNU.

Referncia:
http://www.gnu.org/gnu/manifesto.pt-br.html

6
GNU e o Kernel
O GNU um sistema operacional que foi criado nos padres UNIX porm com um cdigo prprio
que livre para ser distribudo, usado, melhorado e copiado. Porm de 1985 quando foi lanado o
manifesto GNU at 1992 o sistema operacional GNU no estava pronto para ser distribudo,
faltava-lhe um kernel que fosse realmente utilizvel.
Kernel (Ncleo) o software que faz a gesto do Hardware do seu computador, ele serve de ponte
entre os aplicativos e o processamento real de dados feito a nvel de Hardware. O sistema GNU
iniciou o desenvolvimento de um kernel chamado HURD em 1990 porm por um erro de
desenvolvimento este projeto acabou ficando estagnado. De acordo com Thomas Bushnell, o
arquiteto inicial do Hurd, o plano inicial era adaptar o kernel 4.4BSD-lite (E isto provavelmente
daria certo de acordo com Bushnell) para o sistema GNU, porm, Stallman props que eles usassem
o Mach microkernel que estava sendo desenvolvido na universidade Carnegie Mellon (CMU). Esta
escolha atrasou o desenvolvimento em trs anos, devido a incerteza se a CMU iria liberar o cdigo
do Mach em uma licena de acordo com o GNU. Neste intervalo de incertezas algo surpreendente
aconteceu.

O Kernel Linux
O projeto GNU seguia firme com vrios desenvolvedores abraando a causa, foram criadas
ferramentas indispensveis para um sistema operacional, como um compilador para a linguagem C,
editores de texto entre outras aplicaes. Em 1992 o sistema j estava "quase" pronto, mas ainda
faltava um kernel funcional. Neste ano um jovem Finlands chamado Linus Torvalds, mudou a
licena de um kernel que tinha desenvolvido a partir do Minix, de acordo com suas palavras (Era
um Minix melhor que o Minix) para a licena livre GPL do projeto GNU. Ento, no demorou
muito para os desenvolvedores empacotarem o Kernel Linux, com as dezenas de softwares GNU j
disponveis criando um sistema operacional completo.

A Simbiose
Simbiose uma relao mutualmente vantajosa entre dois ou mais organismos vivos de espcies
diferentes. Explicar o que "simbiose" foi a melhor maneira que encontrei para explicar o sucesso
do GNU/Linux, um dependia do outro. Sem a licena livre do projeto GNU chamada de GPL (GNU
General Public License) o Linux no teria alcanado seus primeiros desenvolvedores voluntrios
que tornaram o cdigo utilizvel em larga escala, alm disto, para o usurio final, foram os
softwares aplicativos (GNU) que tornaram o sistema operacional realmente operacional.

Free Software
A FSF - Free Software Foundation em portugus (Fundao do Software Livre) uma organizao
sem fins 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 modificao de programas de
computador. No ano de 1989 Richard Stallman lanou pela FSF a licena GPL (Gnu Public
License) - Licena Pblica Geral que garantia aos desenvolvedores do projeto GNU que um
software livre seria sempre livre. Stallman, compreendeu, que seria muito difcil eliminar as leis de
Copyright (direitos autorais) ento, ele usou esta lei a favor de suas ideias, criando o conceito de
Copyleft (Esquerdos autorais).
A GPL uma licena com Copyleft, isto significa que ela "viral", ou seja, quando um

7
programador usa um cdigo GPL e altera/modifica este cdigo ele tambm deve deixar estas
modificaes sobre GPL. Mas quais liberdades a GPL garante? So quatro liberdades bsicas:

A Liberdade para usar o software


A Liberdade de estudar o software
A Liberdade de copiar e compartilhar o software com outros
A Liberdade para modificar o trabalho e tambm para distribuir os trabalhos modificados e
derivados

Com a garantia destas liberdades, a GPL permite que os programas sejam Administrando o
linuxdistribudos e reaproveitados, mantendo, porm, os direitos do autor por forma a no permitir
que essa informao seja usada de uma maneira que limite as liberdades originais. A licena no
permite, por exemplo, que o cdigo seja aponderado por outra pessoa, ou que sejam impostos sobre
ele restries que impeam que seja distribudo da mesma maneira que foi adquirido. Com o passar
dos anos, outras licenas livres foram desenvolvidas, algumas mais outras menos permissivas, a
Fundao do software livre considera livre uma licena que atenda pelo menos as quatro liberdades.
A GPL ganhou uma segunda verso em 1992 (GPLV2) e a uma terceira verso em junho de 2007
(GPLv3) que a verso atual.

Distribuio GNU/Linux
Voc pode usar o sistema operacional GNU com o kernel HURD (No estvel), BSD ou com o
Linux (Mais comum e recomendado). Neste caso, comum chamarmos de distribuio
GNU/Linux. Uma distribuio GNU/Linux (distro) um sistema operacional completo, isto inclui o
ncleo (linux), um conjunto de pacotes (softwares), um sistema de gesto de pacotes e um
repositrio. Algumas distribuies foram criadas e so mantidas por pessoas e/ou comunidades de
voluntrios, outras porm, so mantidas por empresas. A primeira distribuio de GNU/linux foi
lanada em 1992 chamada de MCC Interim Linux, em seguida surgiu a SLS (Softlanding Linux
System) e ainda que no tenha durado muito, foi a base para a criao da distro Slackware (Que at
hoje est em evidncia). Em 1993 Ian Murdoch lanou o Debian Linux, e no ano seguinte vieram o
Red Hat Linux e o SuSe Linux.

Captulo 2 Sobre as distribuies de GNU/Linux


Neste captulo
Conhea as principais distribuies de GNU/Linux
Debian, Slackware, Fedora, Ubuntu, Arch Linux, Trisquel Linux

Debian
O Debian foi lanado em 16 de Agosto de 1993 por Ian Murdock, ao tempo estudante universitrio,
que escreveu o Manifesto Debian que apelava criao de uma distribuio Linux a ser mantida de
uma maneira aberta, segundo o esprito de Linux e do GNU. O projeto Debian cresceu
vagarosamente at 1995 quando o projeto dpkg ganhou notoriedade.

O dpkg a base de gerenciamento de pacotes da distribuio linux Debian. Foi inicialmente criado
por Matt Welsh, Carl Streeter e Ian Murdock como uma aplicao Perl, sendo posteriormente

8
reescrito, em sua maior parte, para a linguagem C (Linguagem de programao) por Ian Jackson em
1993. O dpkg um software para instalar, remover e atualizar programas. A primeira verso 1.x do
Debian aconteceu em 1996.

O ciclo de desenvolvimento das verses do Debian passa trs fases:

Unstable - Instvel
Testing - Teste
Stable - Estvel

Quando as verses esto na fase testing elas so identificadas por codinomes tirados dos
personagens do filme Toy Story. Ao se tornarem Stable as verses recebem um nmero de
verso (ex: 5.0).
A verso Testing atual Stretch. A verso Unstable ter sempre o nome Sid, personagem
que costumava a quebrar os brinquedos, em aluso aos bugs que podem ocorrer nesta verso.

Slackware Linux
O Slackware um sistema operacional baseado em projetos oficiais de software livre, desenvolvido
por pessoas espalhadas no mundo organizadas em comunidades e instituies, sendo a principal
delas a FSF (Free Software Foundation) com seus projetos e licenciamentos GNU LGPL de
software livre. Utiliza o Kernel oficial da Linux Foundation, Linux. O nome Slackware teve
sugestiva origem da The Church Of the SubGenius (Igreja do Subgnio) que uma organizao
religiosa originalmente baseada em Dallas, no estado estadunidense do Texas, a igreja do Subgnio
ganhou destaque nas dcadas de 1980 e 1990 e mantm uma presena ativa na internet. A igreja
ganhou espao com a popularizao da internet em 1990 com um site elaboradamente decorado e
dois newgrous Usenet (alt.slack e alt.binaries.slack) e pelo programa de radio semanal (Hour of
slack).

Patrick Volkerding criador do Slackware incorporou da Igreja do Subgnio este nome, de onde
idealiza-se o termo SLACK que, satrica e ironicamente, incorpora-se o Senso de liberdade,
independncia e originalidade para alcanar suas metas pessoais. Como a traduo literal de
SLACK Preguia e WARE Produto muitos associam o nome como Produto
preguioso principalmente por que o Slackware no usa softwares de lanamento, somente verses
estveis, alm disto, todas as configuraes do sistema so feitas diretamente nos documentos de
texto de configurao e no com utilitrios grficos.
O Slackware Linux (ou simplesmente Slack) tem como objetivo manter-se fiel ao padres UNIX,
mantendo-se bem estruturada e organizada para administradores e usurios, profissionais e
acadmicos, rejeitando ferramentas de configurao que escondam o real funcionamento do sistema
adotando o princpio KISS (Acrnimo em ingls de: Keep It simple, stupid Faa isto simples,
estpido) de produo. A primeira verso do Slackware, o 1.0.0, foi lanada em 16 ou 17 de julho
de 1993 por Patrick Volkerding, fundador e programador lder do projeto at os dias atuais.
O Slackware possui seu prprio gerenciador de pacotes, o pkgtool, e traz os comandos de
gerenciamento: installpkg, upgradepkg, removepkg, explodepkg, makepkg; todos sem
gerenciamento de dependncias. O formato dos pacotes .tgz/.txz so bastante similar a um .tar.gz,
contendo apenas os arquivos a serem instalados em suas respectivas pastas em relao pasta raiz
do sistema, alm de um script com comandos complementares para a instalao.

9
Fedora
Fedora antigamente chamado de Fedora Core um sistema operacional que tem por base o linux, a
distribuio linux completamente livre de custos para poder usufruir e partilhar. Foi criada pela
Red Hat. Atualmente mantida pelo projeto Fedora (Fedora Project) e patrocinado pela Red Hat.

O gerenciador de pacotes do Fedora o RPM (Red Hat Package Manager), o RPM serve para
instalar, atualizar, desinstalar, verificar e procurar softwares. At a verso 17 o instalador era
semelhante ao da distribuio Red Hat 9, na verso 18 o sistema de instalao foi totalmente
reformulado. Novas verses do Fedora so lanadas aproximadamente a cada seis meses. Alm das
verses oficiais, o Fedora possui tambm uma verso instvel, o Rawhide, que serve como um
campo de provas para todas as atualizaes e mudanas que faro parte da prxima verso.

O Fedora distribui software absolutamente livre que tem um instalador grfico completo, vem com
ferramentas desktop e de administrao fceis de usar. Fedora o nome de um clssico chapu que
surgiu na dcada de 20.

Ubuntu
Ubuntu uma distribuio baseada no Debian patrocinada pela Canonical Ltd. O Ubuntu
diferencia-se do Debian por ter verses lanadas semestralmente, por disponibilizar suporte tcnico
nos 9 meses seguintes ao lanamento de cada verso (as verses LTS Long Term Support Para
desktop e servidor recebem 5 anos de suporte) e pela sua filosofia em torno de sua concepo. A
proposta do Ubuntu oferecer um sistema que qualquer pessoa possa utilizar sem dificuldades,
independentemente de nacionalidade, nvel de conhecimento ou limitaes fsicas. O sistema dever
ser constitudo principalmente por Software Livre. Deve tambm ser isento de qualquer taxa.

O nome Ubuntu - [u'buntu] deriva do conceito sul africano de mesmo nome, diretamente
traduzido como Humanidade com os outros ou sou o que sou pelo que ns somos. O ubuntu
assim como o Debian utiliza pacotes no formato .DEB que podem ser instalados pelo utilitrio dpkg
ou apt. Um grande diferencial do Ubuntu em relao as outras distribuies de GNU/Linux a sua
interface grfica Unity. O Unity foi desenvolvido pela comunidade Ayatana e adaptado pela
Canonical Ltd. Sua primeira apario foi na verso 10.10 para netbooks, ele foi desenhado
inicialmente para fazer um uso mais eficiente do espao das telas limitadas dos netbooks, devido ao
seu sucesso, tornou-se padro na verso 11.04 que ainda inclua o GNOME como opo. Diferente
do GNOME, KDE, XFCE e LXDE o Unity no inclui aplicaes, j que foi feito para usar
programas GTK+ j existentes. A partir da verso 11.10 do Ubuntu o Unity passou a ser a nica
interface padro.

Opensuse
Aps adquirir o Suse linux em janeiro de 2004, a Novell, uma empresa Americana que na dcada de
1980 ficou famosa por seu sistema operacional de rede (Netware) incentivou o desenvolvimento de
uma comunidade para o desenvolvimento de uma distribuio GNU/Linux. A comunidade
OpenSuse Project patrocinada pela Novell e conta com voluntrios de todo o mundo.

OpenSuse completamente livre e disponvel para download, eles tambm vendem um Dvd-Box

10
para o pblico em geral que deseja colaborar com o projeto. O OpenSuse possui edies para
arquiteturas x86 e x86-64. O OpenSuse compatvel com o RPM (Red Hat Package) e possui seu
prprio gerenciador de pacotes Zypper que funciona de forma similar ao apt-get do Debian.

Arch Linux
O Arch assim como o Slackware uma distribuio KISS. O sistema baseado em torno de
arquivos binrios, que so classificados como i686 e x86_64, sendo um sistema parecido com os
ports/ebuild est disponivel para a compilao automtica dos pacotes, trata-se do Arch Build
Systema.

O Arch Linux considerado uma das distribuies mais difceis de se instalar, isto por qu, no
existe um programa de instalao. Voc vai realizando tarefas atravs de scripts que simplificam o
processo. O gerenciamento de pacotes feito pelo pacman que conduz a instalao, atualizao e
remoo e atualizao de pacotes.

Trisquel Linux
O projeto nasceu em 2004 com o patrocnio da Universidade de Vigo, e foi oficialmente
apresentado em Abril de 2005 com Richard Stallman, fundador do projeto GNU. O projeto hospeda
seus prprios repositrios, que derivam do main e universe do Ubuntu, porm todo o software
proprietrio ou com licenas no livres so eliminados. O Trisquel est na lista de distribuies
livres da FSF.

Captulo 3 Instalando o Linux


Neste captulo:
Passos sobre a instalao
Analisando o Hardware
Usando um Live-CD
Instalando o linux pelo pendrive
Particionando o Disco rgido

Quando voc compra um computador, normalmente ele possui o Microsoft Windows pr-instalado.
Se voc pretende usar o Linux, dever realizar a sua instalao. O processo de instalao de uma
distribuio GNU/Linux costuma ser fcil. A parte que normalmente causa fobia nos novatos o
particionamento do disco, o resto da instalao rotina, apenas uma questo de seguir instrues.
Se voc ainda no se sente confortvel para instalar o Linux, tudo bem, voc poder realizar o
download de uma distribuio Live-CD e execut-la sem precisar alterar nenhuma modificao no
seu disco rgido. Todo o sistema neste caso funciona pelo CD ou DVD, quando voc reinicia o
computador e remove o CD do drive, todas as suas coisas esto l, intactas.Porm, quando voc
executa o sistema pelo CD/DVD e at mesmo pelo pendrive, no ter o mesmo desempenho e
prazer que usar o linux nativamente em seu computador.

11
Passos da instalao do Linux

Instalar qualquer distribuio de Linux envolve uma srie de passos. Vou orient-lo sobre estas
etapas de modo que voc poder instalar qualquer uma seguindo as orientaes dos instaladores.
Algumas distribuies de Linux exigem que voc tenha um pouco de informao sobre o hardware
do seu PC. Felizmente a grande maioria das distribuies instala de forma automatizada todos os
seus perifricos, exemplo: Ubuntu Linux, OpenSuse, Fedora e Linux Mint.

1) O primeiro passo voc realizar o download de sua distribuio. No site oficial comum o link
para a seo download com diferentes arquiteturas. Escolha 32 Bits se seu computador tem menos
de 4GB de memria RAM e um processador mais antigo, opte pela verso 64 Bits se seu
processador mais moderno e voc possui 4GB ou mais de memria RAM.

padro que a distribuio seja disponibilizada no formato (ISO) Imagem de disco. No Windows,
clique com o boto direito do mouse sobre a imagem da distro que voc realizou download e
escolha a opo gravador de imagens de disco do windows.

2) O Segundo passo configurar no Setup do seu PC a inicializao pelo CD/DVD. As etapas


especficas para entrar na configurao do Setup e definir o dispositivo de boot varia de computador
para computador. Normalmente voc acessa o Setup com uma tecla (F2 ou Delete) aps ligar o PC,
movimentando-se com as setas do teclado, voc localiza a opo (Boot) e coloca o CD/DVD em
primeiro lugar da ordem de boot. Aps isto necessrio salvar o Setup, fechar e iniciar o
computador com o CD/DVD de sua distro no drive.

3) Caso sua distribuio seja Live, voc poder escolher a opo de testar a distribuio. Neste caso,
aps reiniciar o computador remova o CD/DVD. Nenhuma alterao ser realizada no seu disco
rgido.

4) Se voc pretende instalar o Linux, antes de qualquer coisa, faa um backup de seus arquivos (em
outro HD, Disco Rgido externo, em algum HD virtual como o dropbox ou google drive). Se voc
pretende instalar junto com o Windows (Dual Boot) de modo que possa escolher qual usar na
inicializao do computador. Instale primeiro o Windows e reserve um espao (pelo menos 20GB)
para o Linux. Instaladores como os do Ubuntu, OpenSuse, Fedora, j vo detectar este espao e
ofert-lo para voc instalar o sistema. Caso o instalador pergunte sobre em qual local instalar o
gerenciador de boot (grub ou lilo) selecione MBR.

5) Seleo de softwares. A grande maioria das distribuies j instalam um conjunto de pacotes


(softwares) de modo automtico. Se voc iniciantes sempre escolha as opes (default) dos
instaladores.

6) No final da instalao voc vai reiniciar o seu computador. Lembre-se de remover o CD/DVD
para no iniciar novamente o processo de instalao. Distribuies como o Fedora, OpenSuse e
Open Mandriva, oferecem pacotes adicionais no primeiro boot.

12
Analisando o seu Hardware

Se voc est preocupado se seu PC pode ou no rodar o Linux, aqui est uma lista das principais
consideraes antes de comear o processo de instalao.

Unidade de DVD: Voc deve ter uma unidade de DVD e que seu computador seja capaz de
iniciar por esta unidade. O modelo exato no importa. Se voc adicionar uma unidade de
DVD externa a uma porta USB funcionar sem problemas no linux.
Disco Rgido: Qualquer unidade de disco IDE/SCSI funciona no linux. Para usar as
distribuies atuais confortavelmente, tenha pelo menos 20GB de espao.
Teclado: Todos os teclados vo funcionar no Linux.
Monitor: O tipo de monitor no particularmente crtico, exceto que ele deve ser capaz de
exibir as resolues de tela que a placa de video usa. Se o instalador no detectar o seu
monitor voc pode escolher um modelo genrico.
Mouse: O programa de instalao pode detectar o mouse. Todos os tipos de mouse (como
PS/2 ou USB) vo funcionar no ambiente grfico do Linux (X Window System).
Placa de rede: Normalmente o instalador ir detectar e tentar configurar (DHCP) sua placa
de rede. Se voc tiver problemas, tente encontrar na placa a marca e o modelo, procure nos
buscadores informao de como proceder para instalar na sua distro especifica.
Placa de som: Se o seu PC tiver uma placa de som, faa uma pesquisa com a marca e
modelo na WEB para ter certeza se ela compatvel com o linux.
Placa de Vdeo: Linux funciona bem com todas as placas de vdeo (Tambm conhecidos
como adaptadores de vdeo), alguns modelos porm no possuem suporte 3D e voc pode
ter problemas com altas resolues, destaco aqui, os adaptadores SYS que esto em
Notebooks mais antigos, da linha Positivo. Se voc usa um adaptador: Intel, Nvidia ou ATI
fique tranquilo com o Linux.
Impressora: Este um hardware que voc deve pesquisar marca e modelo para saber se
compatvel com o Linux. Equipamentos que possuem um bom suporte (tratando-se de
impressoras) so os fabricados pela HP.

Voc pode visualizar uma lista de Hardware compatvel com o linux, neste endereo:
http://www.tldp.org/HOWTO/Hardware-HOWTO/

13
Instalao do Ubuntu Linux
Este livro no aborda em particular nenhuma distribuio de Linux, no entanto, abordaremos o
processo de instalao do Ubuntu Linux que considero o mais simples e fcil para usurios
iniciantes. Ligue o computador, coloque o CD/DVD do Ubuntu. Deixe o computador prosseguir
com a inicializao do instalador. Hoje em dia a grande maioria dos computadores novos j saem de
fbrica com a configurao para dar boot pela unidade de CD/DVD-ROM, portanto, se o seu
computador no estiver com esta configurao definida, voc dever entrar no setup da sua mquina
para setar essa opo.

A figura abaixo mostra a tela de configurao da linguagem a ser utilizada. Vamos escolher a
linguagem Portugus do Brasil e dar um clique no boto Instalar o Ubuntu:

Na tela que aparecer em seguida, Preparando para instalar Ubuntu, selecione a opo Instalar esse
programa de terceiro e ento clique em Continuar.

Caso seu computador no possua nenhum sistema operacional, a tela Tipo de Instalao, ir
aparecer conforme imagem abaixo. D um clique na primeira opo (Apagar disco e reinstalar
Ubuntu) e depois um clique no boto Instalar Agora.

14
Caso voc tenha algum sistema operacional, voc ter a opo (Apagar o seu sistema operacional e
instalar o Ubuntu).

Na prxima tela, Onde voc est?, d um clique na regio do mapa onde voc se encontra e clique
no boto Continuar:

Na tela Disposio do teclado, veja que automaticamente o instalador j marca exatamente o tipo de
layout do seu teclado. Se voc estiver em dvida se o layout do seu teclado foi configurado
corretamente, basta voc digitar algumas palavras acentuadas no campo "Digite aqui para testar o
seu teclado". Se a configurao estiver incorreta, voc poder dar um clique no boto Detectar a
disposio do teclado. Quando terminar e o teclado estiver corretamente configurado, clique em
Continuar:

Agora nesta prxima tela (Quem voc?), voc dever fornecer algumas informaes necessrias
ao instalador. Veja no exemplo abaixo como fizemos o preenchimento e ao trmino clique em
Continuar:

15
Ao trmino da cpia dos arquivos, clique no boto reiniciar agora lembre-se de remover o
CD/DVD do drive.

Captulo 4 Noes fundamentais


Neste captulo:
Noes fundamentais sobre o Shell
Histrico de comandos
Gerenciamento de Arquivos
Filtros de Texto

O Shell
O Shell um interpretador de comandos que analisa o texto digitado na linha de comandos e os
executa produzindo algum resultado. Se voc est usando o modo grfico, aperte as teclas:
ctrl+alt+f1 para acessar o modo-texto.

Os principais tipos de Shell:


bash, sh, csh, tcsh, ksh e zsh, sendo o bash, o shell padro na maioria das distribuies de Linux.

Prompt do Shell
O smbolo $ (dlar) identifica o prompt de comandos do shell. Algumas variaes deste smbolo so
permitidas, como o nome de usurio, do computador, diretrio corrente entre outras opes.

Simbologia
O prompt do shell pode variar, dependendo do usurio que est utilizando o sistema no momento. O
sinal $ significa que um usurio comum que est usando a mquina. O sinal # significa que o
super-usurio est logado no sistema.

16
Root Tambm conhecido como Super Usurio
O super-usurio o administrador do sistema Linux. Ele tem poderes para fazer absolutamente tudo
no sistema. Ele conhecido como usurio root ou raz traduzindo do ingls.

Variveis Ambientais
Durante a execuo do bash algumas variveis so carregadas, elas tambm, podem ser
configuradas manualmente.

Prompt Sting 1
A primeira varivel que abordaremos a prompt string 1 ou simplesmente PS1, esta varivel
guarda o contedo do prompt de comandos do bash quando ele est pronto para receber comandos.
O contedo de qualquer varivel poder ser visualizado utilizando o comando echo e o nome da
varivel:

echo $PS1

Geralmente o prompt exibido da seguinte maneira:


juliano@trisquel:/home$

Que representa:
nomedeusurio@nomedocomputador:/diretrio

Na varivel configurado da seguinte maneira:


\u@\h:\W\$

Vejamos a seguir uma tabela com os caracteres da PS1:

\]
Termina

\t
Exibe a hora

\h
Exibe o hostname (nome do computador)

\s
Exibe o shell

\u
Especifica o nome do usurio

\w
Especifica o diretrio corrente

17
Exemplo de configurao da varivel PS1, abra seu terminal de comandos e digite:

PS1= \u@\h:\W:

Prompt String 2
A varivel PS2 armazena o contedo do prompt de comandos quando necessrio mltiplas linhas
de comandos para completar um comando. Esta varivel o simbolo que aparece para o usurio
quando um comando necessita seguir para uma segunda linha.

Variveis Global e Local


Existem dois tipos de variveis de ambiente: Global e local.

Variveis de ambiente local:


So as variveis disponveis pelo shell corrente, e que no esto sendo acessadas por subprocessos
do sistema. Para visualizar as variveis de ambiente locais, execute os comandos env ou printenv.
As variveis globais podem ser acessadas por qualquer shell.

Comandos para manipular as variveis de ambiente:

echo

Exibe o valor de uma varivel de ambiente, exemplo:


echo $USER

Especificar um intervalo de tempo (Em segundos) antes de executar o prximo comando:

sleep

Exemplo de uso do comando sleep:


sleep 5

Para tornar global uma variavel de ambiente use o comando export como no exemplo:

VALOR=10
export VALOR

Executar e exportar comandos contidos em um arquivo no shell corrente:

alias

Exemplo do comando:

alias cor='ls color'

18
No exemplo acima, criamos um comando chamado (cor) que ao ser utilizado, executa o comando ls
color. Se voc desejar que este comando exista aps reiniciar o seu computador dever criar ou
editar (caso j exista) o arquivo .bashrc localizado no seu diretrio de usurio. Observe que na
frente do nome do arquivo existe um ponto (.bashrc) no ambiente Unix, isto representa um arquivo
oculto. Se voc est em um terminal de comandos pelo modo grfico, pode executar o seu editor de
texto j abrindo o arquivo, neste caso, digite o comando:

gedit /home/seu_usuario/.bashrc

Se voc no tem o editor gedit, tente com (kedit, xedit, pluma). Voc tambm pode abrir um editor
em modo-texto, o mais simples o nano neste caso use:

nano /home/seu_usuario/.bashrc

Coloque no arquivo a linha:

alias cor='ls color'

No caso do editor nano, salve o documento com as teclas: <ctrl+o> e saia do editor com as teclas:
<ctrl + x>

Para excluir o valor de uma varivel de ambiente, execute o comando unset.


Exemplo:

unset VALOR

Variveis de ambiente do bash

Vejamos agora, algumas variveis de grande utilizao do shell bash:

MANPATH
Exibe os diretrios onde o comando man encontra suas pginas de manual.
echo $MANPATH

DISPLAY
Exibe o terminal do ambiente grfico atualmente usado, exemplo:
echo $DISPLAY

HOME
Exibe o diretrio home do usurio
echo $HOME

TERM
Exibe o terminal atualmente utilizado;
echo $TERM

19
LOGNAME
Exibe o login do usurio
echo $LOGNAME

USER
Exibe o nome de usurio
echo $USER

LANG
Exibe o idioma do sistema
echo $LANG

HISTSIZE
Define o valor mximo de comandos do history.
echo $HISTSIZE

OSTYPE
Exibe a arquitetura do sistema.
echo $OSTYPE

Histrico de Comandos
O Shell mantm um histrico dos ltimos comandos digitados pelo usurio, podendo ser
visualizado pelo caractere ! De 4 formas diferentes:

!!
Visualizar o ltimo comando digitados
!n
Onde n o nmero que voc deve especificar que est no histrico de comandos. A cada comando
que voc digita ele ficar armazenado em uma lista.

!string
Comandos que iniciam com o string que voc especificar. (String: uma sequncia de caracteres,
normalmente palavras).

!-n
Onde n o numero que voc deve especificar (Ele mostra a partir do ltimo comando do histrico).

history
Exibe a lista de comandos digitados. Opes mais utilizadas:

history -r
Usa como histrico o arquivo (/home/usuario/.bash_history) ao invs de usar o histrico de
comandos global.

20
history -w
Reescreve o arquivo (/home/usuario/.bash_history)

history -c
Limpa o histrico de comandos.

Aliases (Apelidos de comandos)


Usamos o comando alias para criar apelido que so como atalhos para comandos. O seu arquivo de
configurao fica localizado no arquivo (/home/usuario/.bashrc).

Exemplo:

alias cor=`ls color'

Para apagar um apelido de comando, usamos o comando unalias:

unalias cor

Entrando com comandos no shell


Cada comando Unix/Linux possui uma sintaxe nica e pode haver variaes dependendo de
sua distribuio de Linux.
Alguns comandos podem requerer opes, geralmente precedidos pelo simbolo - ou -- e
por argumentos.
O comando precisa ser vlido e estar nos diretrios listados da varivel PATH ou com sua
localizao absoluta.

Ao abrir o terminal de comandos digite ls, exemplo:

ls

Observe que ele no necessita de nenhum argumento ou opo para ser executado.
No caso deste comando, as opes podem ser configuradas separadamente ou combinadas:

ls -a
Mostra todos os arquivos do seu diretrio incluindo os ocultos (que iniciam com ponto).

-t
Mostra os arquivos ordenados pela ltima data de modificao.

Para alguns comandos as opes tm de ser precedidas com dois traos -- ao invs de um trao.

OBS: Alguns comandos oferecem formas alternativas de indicar uma mesma opo. No caso do
ls as opes -a e --all produzem o mesmo efeito.

21
Man, Help e Info
Obviamente voc no aprender ou decorar todas as opes dos comandos Unix/Linux de uma
noite para o dia. Talvez nunca consiga e isto, no realmente necessrio. Para a salvao de ns
meros mortais, temos os comandos: man, help e info.

Sintaxe do comando man:


man nome_do_comando

Sintaxe do comando info:


info nome_do_comando

Sintaxe do comando help


nome_do_comando help

Gerenciamento de Arquivos
O Filesystem Hierarchy Standard (Padro para sistemas de arquivos hierrquicos), ou FHS,
define os principais diretrios, e o seu contedo, em um sistema operacional Linux ou do tipo
Unix. A verso atual a 2.3, anunciada em 29 de janeiro de 2004. O FHS mantido pelo Free
Standards Group, uma organizao sem fins lucrativos formada por importantes empresas de
hardware e software, como HP, Red Hat, IBM e Dell. Ainda hoje, a grande maioria das
distribuies de GNU/Linux, incluindo membros da Free Standards Group, no adotam fielmente o
padro proposto. Em particular, diretrios (paths) criados pela FHS, como o /srv/, no foram
adotados em grande escala. Alguns sistemas Unix e Linux rompem com o padro FHS, como o
GoboLinux. O Mac OS x utiliza uma estrutura com nomes legveis para humanos em conjunto com
um sistema baseado em FHS.

Para visualizar toda a estrutura de arquivos de sua distribuio

/bin/
Comandos binrios essenciais para todos os usurios.

/boot/
Arquivos do Boot Loader

/dev/
Dispositivos, exemplo: /dev/null

/etc/
Arquivos de configurao especficos do computador.

/etc/opt/
Arquivos de configurao para o /opt/.

22
/etc/X11/
Arquivos de configurao para o X Window Systema, Verso 1.1

/etc/sgml/
Arquivos de configurao para SGML

/etc/xml/
Arquivos de configurao para XML

/home/
Diretrios de usurios.(Opcional)

/lib/
Diretrio com as bibliotecas essenciais para os arquivos binrios contidos nos diretrios /bin/ e
/sbin/.

/mnt/
Sistemas de arquivos montados temporariamente.

/media/
Pontos de "montagem" para mdia removvel, como CD-ROMs (surgiram na verso 2.3 do FHS).

/opt/
Pacotes estticos de aplicaes.

/proc/
Sistemas de arquivo virtual, que possui o estado do ncleo e processos do sistema; a maioria dos
arquivos baseada no formato texto (ex: tempo de execuo, rede).

/root/
Diretrio home para o super usurio (root).(Opcional)

/sbin/
Arquivos binrios para propsito de administrao do sistema.

/tmp/
Arquivos temporrios. (Ver tambm /var/tmp).

/srv/
Dados especficos que so servidos pelo sistema.

/usr/
Hierarquia secundria para dados compartilhados de usurios, cujo acesso restrito apenas para
leitura.

/usr/bin/
O mesmo que a hierarquia do topo (/bin), mas contm apenas arquivos no essenciais (que no so
necessrios para que o sistema funcione ou para a sua recuperao).

23
/usr/include/
Diretrio padro para arquivos do tipo header.

/usr/lib/
O mesmo que a hierarquia do topo (/lib).

/usr/sbin/
O mesmo que a hierarquia do topo, mas contm apenas arquivos no essenciais (ex: daemon e
servios de rede)

/usr/share/
Dados compartilhados que so independentes da arquitetura do computador..

/usr/src/
Cdigo fonte (ex: cdigo fonte do ncleo do sistema)

/usr/X11R6/
X Window System, Verso 11 R6.

/usr/local/
Hierarquia terciria com dados locais, especficos deste host.

/var/
Arquivos "variveis", como logs, base de dados, pginas Web e arquivos de e-mail.

/var/lock/
Arquivos de lock. Utilizados para manter o controle sobre recursos em uso.

/var/log/
Arquivos para log. Utilizado para log de dados em geral.

/var/mail/
Caixas de email dos usurios do sistema.

/var/run/
Contm informao sobre a execuo do sistema desde a sua ltima inicializao. (ex: usurios e
daemons em execuo).

/var/spool/
Spool para tarefas em espera para execuo. (ex: filas de impresso e emails ainda no lidos).

/var/spool/mail/
Local para caixas de correio dos usurios. No deve ser mais utilizada, existe apenas para
compatibilidade retroativa.

/var/tmp/
Arquivos temporrios. Quando em modo multi-usurio, prefervel em relao ao /tmp.

24
Comandos de gerenciamento de arquivos
O comando cp copia arquivos e diretrios. Ele pode ser utilizado para copiar apenas um arquivo ou
mltiplos arquivos.

Exemplo:

cp arquivo1 arquivo2

No exemplo acima, copiamos o arquivo1 para arquivo2 criando este arquivo.

cp arquivo1 /home/juliano/documentos/arquivo2

No exemplo acima, copiar o aquivo1 para um diretrio especfico (/home/juliano/documentos)

As opes mais frequentes do comando cp, so:

cp -d
Preserva os links ao copiar os arquivos

cp -p
Preserva todas as informaes dos atributos do arquivo, como dono do arquivo, grupo, permisses e
data

cp -R
Copia arquivos recursivamente, ou seja, copia diretrios com contedo.

cp -f
Fora uma cpia, sobrescrevendo se necessrios

cp -v
Mostra o nome de cada arquivo copiado.

Exemplo da copia de um diretrio completo:

cp -R /home/juliano /home/backup

No exemplo acima, todo o contedo do diretrio (/home/juliano) ir para (/home/backup).

Comando: mv
O mv move ou renomeia arquivos e diretrios. Ele no altera os atributos dos arquivos ou diretrios
movidos se a transferncia for o mesmo sistema de arquivos. Se o destino para onde os arquivos ou
diretrios forem movidos no existir, o comando renomeia a origem, seno os dados sero gravados
por cima.

25
No exemplo abaixo, renomeia-se o arquivo1 para arquivo2:
mv arquivo1 arquivo2

No exemplo abaixo, move-se o arquivo1 para o diretrio /tmp.


mv arquivo1 /tmp

Comando: rm
O comando rm utilizado para remover arquivos. Voc s pode remover arquivos que voc tenha
permisso de gravao. O super usurio (root) pode remover arquivos e diretrios dos outros
usurios do sistema.

As opes mais utilizadas:


-f Fora a remoo dos arquivos sem perguntar ao usurios
-R Remove um diretrio e todo o seu contedo

Exemplos, removendo o arquivo texto.txt:


rm texto.txt

Para remover um diretrio com contedo:


rm -R diretrio

Exemplo:
rm -R /opt/agenda

No exemplo acima, o diretrio (agenda) ser removido.

Voc tambm pode forar a remoo com o comando:


rm -Rf diretrio

Comando mkdir
O comando mkdir utilizado para criar um diretrio. Voc precisa ter permisso de escrita no
diretrio corrente para executar o mkdir, exemplo:

mkdir musicas

No exemplo acima, foi criado o diretrio musicas no diretrio corrente. Para criar um diretrio
especificando sua localizao, faa:

mkdir /home/juliano/documento/administrativo

No exemplo acima, foi criado o diretrio administrativo dentro do diretrio


/home/juliano/documento/

26
As opes mais frequentes, so:

mkdir -p

Cria o diretrio especificado, mesmo que o diretrio pai no existe. Neste caso ele cria tambm o
diretrio pai. Exemplo:

mkdir -p correios/sedex

No exemplo acima foi criado o diretrio correio que chamamos de pai e o subdiretrio sedex, caso
voc apague o diretrio pai correio voc tambm ir apagar seus subdiretrios (filhos), neste caso
sedex.

Comando rmdir
O comando rmdir, remove um ou mais diretrios do sistema. O diretrio precisa estar vazio.

Exemplo:
rmdir /home/documentos

Remove o diretrio documentos dentro do diretrio home.

Para remover diretrios com contedo, use o comando rm, exemplo: rm -R


/home/juliano/documentos

Comando: touch
O comando touch muda a data e hora de acesso e/ou modificao dos arquivos.
As opes mais utilizadas so:

touch -a arquivo
Muda a data e hora para sua hora atual.

touch -m arquivo
Muda somente a data e hora de modificao para a atual

touch -t 201503112100 arquivo


No exemplo acima, estou configurando a data de criao do arquivo para: ANO (2015), MS (03),
DIA (11), HORA (21:00). Neste caso: 2015 03 11 2100.

Filtros de Texto
Veremos agora alguns comandos de filtro de texto que esto disponveis em praticamente todas as
distribuies de GNU/Linux.

27
O comando cat
Usando o comando cat para criar arquivos de texto puro:

cat > texto.txt

No exemplo acima voc ir digitar contedo de texto que ser armazenado no arquivo (texto.txt).
Ao final da sua digitao, pressione as teclas ctrl + d em uma linha vazia. Isto ir salvar o arquivo
(texto.txt).

Para visualizar um arquivo de texto, use o comando:

cat texto.txt

Para concatenar arquivos, execute o comando:

cat texto1 > texto2

No exemplo acima o contedo de texto2 substitudo pelo contedo de texto1. Para acrescentar
contedo sem substituir o contedo j existente utilize >> ao invs de >, como no exemplo:

cat texto1 >> texto2

Neste exemplo o contedo de texto1 adicionado ao texto j existente no arquivo texto2.

O comando cut
O comando cut (cortar) l o contedo de um ou mais arquivo recortando verticalmente este texto.

Exemplo:
Crie em texto chamado (planilha) com o seguinte contedo:

coluna1, coluna2, coluna3


10, 2, 8
12,9, 10
15,30,25
90,120,245

Observe que o delimitador de cada (coluna) o sinal de vrgula. Em alguns caso poderia ser (:) dois
pontos ou (;) ponto e vrgula. Para visualizarmos somente o contedo da segunda coluna do arquivo
planilha executamos o comando:

cut -d, -f2 planilha

Entendendo o comando acima:


-d delimitador.

Configura o delimitador que separa uma coluna de outra. O padro tab, no caso do exemplo

28
(planilha) usamos (virgula).

-f Nmero.
Defina o nmero da coluna que ser exibida, neste caso foi o 2 (segunda coluna).

O comando expand
O comando expand troca o tab (tabulao) dentro do texto para um nmero de espaos determinado
pelo usurio. Exemplo:

Crie um arquivo chamado tabulacao.txt com o contedo abaixo:

Fusca azul
Gol Vermelho
Santana Preto

No exemplo acima utilizei trs vezes a tecla <tab>. Visualize primeiramente o comando com o cat.

cat tabulacao.txt

Agora execute o comando expand especificando o nmero de espaos que substituiro a tabulao,
exemplo:

expand -t1 tabulacao.txt

Tente, -t2, -t3, etc...

Comando: fmt
O comando fmt formata um texto com uma largura especfica. Ele pode remover espaos ou
adicionar espaos conforme a largura desejada, o padro 75 caracteres.

A opo frequentemente utilizada :

fmt -w 50 leiame.txt

Neste exemplo, definimos 50 como largura desejada para o arquivo (leiame.txt).

Comando head
O comando head mostra as primeiras 10 linhas do inicio do texto. A opo frequentemente utilizada
:

head -n 50 leiame.txt

Neste exemplo as 50 primeiras linhas do arquivo (leiame.txt) sero mostradas.

29
Comando: Join
O comando join une as linhas de dois arquivos que possuam ndice comum, exemplo:

Crie o arquivo fruta.txt e coloque o seguinte contedo:

1 maa
2 uva
3 melancia

Agora, crie o arquivo preco.txt e coloque o seguinte contedo:

1 R$ 2,00 Reais
2 R$ 4,00 Reais
3 R$ 5,00 Reais

Execute agora o comando join para concatenar os dois arquivos:

join fruta.txt preco.txt

O resultado ser:

1 maa R$ 2,00 Reais


2 uva R$ 4,00 Reais
3 melancia R$ 5,00 Reais

O comando pr
Prepara um arquivo de texto para impresso. Exemplo:

pr -l 70 -o 30 fruta.txt

Onde:

-l
Especifica o nmero de caracteres de largura de pgina. O padro 66 caracteres.

-o
Especifica o nmero de espaos de margem esquerda.

O comando tac
O comando tac o inverso do comando cat, ele mostra o contedo de um arquivo de texto de trs
para frente. Exemplo: tac arquivo.txt

30
O comando tail
O comando tail visualiza as 10 ltimas linhas de um arquivo. Funciona como o oposto do comando
head.
As duas opes mais utilizadas do comando tail so:

-n
Especifica o nmero de linhas finais que o tail ir mostrar de um arquivo

-f
Mostra as ltimas linhas de um arquivo continuamente. til para arquivo de LOG.

Exemplo:
tail -n 50 /var/log/meulog
tail -f /var/log/meulog

O comando wc
O comando wc conta as linhas, palavras e caracteres de um arquivo. Exemplo:

wc teste.txt

O comando xargs
O comando xargs utiliza a sada padro de um comando como argumento para outro comando,
exemplo:

cat texto.txt | xargs echo

Neste exemplo, cada linha do arquivo texto.txt passada como argumento para o comando echo.

Captulo 5 Editores de Texto em modo-texto


Neste captulo:
Editor de texto nano
Editor de texto mcedit
Editor de texto VI e VIM

Editor nano
O Editor nano um editor de texto puro muito utilizado no Unix e Linux. Para instalar no Debian e
similares | Red Hat e similares use os comandos:

Debian/Ubuntu
apt-get install nano

31
Red Hat/Fedora:
yum install nano

Para abrir um arquivo utilize:


nano nome_do_arquivo

Neste editor voc realiza as opes como Salvar, Copiar, Cortar e Colar atravs de teclas de atalhos.
Vejamos:

ctrl+g
Exibe a ajuda

ctrl+b
Move o cursor um caractere atrs

ctrl+n
Move o cursor uma linha abaixo

ctrl+f
Move o cursor um caractere frente

ctrl+p
Move uma linha acima

ctrl+d
Recorta o caractere

ctrl+k
Recorta a linha

ctrl+c
Exibe a posio do cursor

ctrl+A
Vai para o inicio da linha

ctrl+E
Vai para o fim da linha

ctrl+j
Justifica o pargrafo atual

ctrl+V
Avana uma tela

ctrl+y
Retrocede uma tela

32
ctrl+u
Cola texto ou desfaz justificao

ctrl+w
Localiza string do texto

ctrl+t
Verifica ortogrfia

ctrl+r
Abre um arquivo

ctrl+o
Salva o arquivo com outro nome

ctrl+x
Sai

Editor mcedit
O editor mcedit ou mc bastante fcil de ser utilizado. Inclusive com o uso do mouse mesmo no
modo-texto. Para instalar no Debian e derivados | Red Hat e derivados, execute:

Debian e derivados:
apt-get install mc

Red Hat e derivados:


yum install mc

Abrindo um arquivo:
mcedit ou mc -e nome_do_arquivo

A seguir uma lista com as teclas de atalho do mcedit:

F1
Exibe a ajuda

F2
Salva o arquivo corrente

F3
Marca o inicio do bloco

F4
Substitui texto

F5

33
Copia o bloco marcado com f3

F6
Move bloco marcado com f3

F7
Procure texto

F8
Apaga linha corrente

F9
Abre o menu

F10
Sai

F12
Salvar como

Editor de texto VI e VIM


O editor VI tanto no UNIX como no Linux serve para criar arquivos de texto e scripts shells, assim
como edit-los. O editor VI possui dois modos: Edio, quando voc aperta a tecla (I) ou (insert). E
o modo de comando, quando voc aperta a tecla (ESC).

Iniciando o VI
Digite no bash:
vi ou vi nome_de_arquivo aperte i para escrever e esc para sair e executar os comandos:

:q (Enter)
Sair do arquivo sem salvar

:q! (Enter)
Sair sem salvar, forando

:wq (Enter)
Salva o arquivo atual e sai do vi

:w (Enter)
Salva o arquivo atual

:w arquivo1 (Enter)
Salva o arquivo atual como arquivo1

:e arquivo1 (Enter)
Abre o arquivo1

:r arquivo1 (Enter)

34
Insere o arquivo no ponto onde est o cursor.

:u (Enter)
Desfaz a ltima ao, similiar a ctrl+z

:d ou dd (Enter)
Apaga a linha corrente

:yy
Copia a linha onde est o cursor

:p
Cola o texto

:dd
Apaga a linha onde est o cursor

:i
Inserir um texto

:s/velho/novo
Substitui a palavra velho pela palavra novo.

% s/velho/novo/g
substitua em todo o arquivo (%), todas (g) as ocorrncias de velho por novo

Alm dos comandos de edio do texto como j vimos, existem comandos para configurar o Editor
VIM, so eles:

:set aw
Salva a cada alterao

:set nu
Mostra o nmero das linhas

:set ff
Converte o arquivo para DOS

:set et
Troca tab por espaos

35
Captulo 6 Permisses de Arquivos
Neste captulo:
Visualizando permisses
Configurando permisses em arquivos e diretrios

Permisses de acesso a arquivos e diretrios


Neste captulo estudaremos o sistema de permisses do linux. O sistema de permisses permite ao
administrador do sistema (root) definir o nvel de acesso ao usurios, grupos e outros arquivos e
diretrios alm de programas executveis.

As permisses de acesso protege o sistema de algumas invases e respectivos programas no


autorizados. Por exemplo, no linux, podemos impedir que algum programa malicioso instale-se na
mquina, delete algum arquivo ou que seja transferido para outras pessoas via rede, de modo a
invadir outros sistemas.

3 nveis de permisso
O linux gerencia o sistema de privilgios em 3 tipos:

1. Privilgio do dono
2. Privilgio do Grupo
3. Privilgio de outros

Cada um destes tipos so divididos em 3 nveis de permisses de acesso:

1. Permisso de leitura (r)


2. Permisso de escrita (w)
3. Permisso de execuo (x)

As definies de propriedade do usurio e do grupo fazem parte do inode e ambas so atribudas


quando um arquivo criado. Geralmente, o proprietrio o usurio que criou o arquivo. O grupo do
arquivo normalmente definido como padro do seu criador. A propriedade de grupo adiciona
flexibilidade em situaes nas quais uma equipe compartilha arquivos. Os outros usurios so
aqueles que no so membros do grupo do arquivo e tambm no so os proprietrios. Para cada
uma dessas trs classes de usurios, o modo de acesso define trs tipos de permisses, que se
aplicam diferentemente para arquivos e diretrios. As permisses encontram-se listadas na lista
abaixo:

Examinar o contedo de um arquivo e poder list-lo:


r

Escrever ou modificar um arquivo. Criar ou remover arquivos de um diretrio:


w

Executar um arquivo como um programa. Acessar o diretrio.


x

36
Essas trs permisses se aplicam as trs classes diferentes de usurios: usurios, grupo e outros.
Cada uma tem permisso de leitura, escrita e execuo.

Visualizando privilgios e permisses


Voc pode visualizar as permisses de arquivos e diretrios listando-os com o comando:

ls -l /home/usuario
(Visualiza privilgios e permisses de arquivos)

ls -ld /home/usuario
(Visualiza privilgios e permisses de diretrios)

Ao executar o comando ls -l voc ter como retorno, algo semelhante a :

drwx------ ... 2 wester ............. 512 Jan ... 29 23:30 .. Arquivos/


-rw-rw-r-- ... 1 wester ....... 280232 Dec .. 16 22:41... notas.txt

O primeiro caractere das linhas acima indicam o tipo de arquivo:

d Diretrio
b Arquivo de bloco
c Arquivo especial de caractere
p Canal
s Socket
- Arquivo normal.

Repare agora que no restante da string ainda h 9 caracteres. Que so os 3 nveis de permisses
(Dono, grupo e outros). usando o exemplo da segunda linha, arquivo (notas.txt):

rw- Permisses do proprietrios


rw- Permisso do grupo
r-- Permisso para outros

Lista de permisses comuns:

---
Nenhuma permisso

r--
Permisso de leitura

r-x
Leitura e execuo

rw-
Leitura e gravao

37
rwx
Leitura, gravao e execuo

Para configurar um arquivo usando as permisses do modo textual (que vimos at o momento)
usamos o comando:

chmod u+rw, g+w, o-rwx arquivo.txt

Onde:

U Representa o usurio
G Representa o grupo
O Representa outros

Permisses em sistema Octal


Alm de podemos configurar as permisses do modo textual. Podemos usar o modo octal, neste
caso:

r =4
w=2
x=1

Se voc somar os 3 nmeros, vai obter 7, que significa permisso total, ou seja, rwx. Exemplo:

chmod 764 arquivo.txt

Os respectivos valores so:

rwx = 7 (Dono Acesso total)


rw- = 6 (Grupo Leitura e Gravao)
r-- = 4 (Outros Acesso a leitura)

Captulo 7 Usurios e Grupos


Neste captulo:
Gerenciamento de usurios
Gerenciamento de grupos
Adicionando e Removendo usurios
Arquivos de configurao dos usurios

Para administrar usurios no Gnu/Linux necessrio conhecer os comandos useradd e adduser,


a diferena entre eles que o useradd um binrio e o adduser um script.

Voc pode verificar esta informao executando o comando:

38
file /usr/sbin/useradd

O comando file verifica o tipo do arquivo.

Qual dos comandos eu devo utilizar?

Para personalizar uma conta de usurio no momento de sua criao o comando ideal o useradd
pois nele possvel passar vrias opes de parmetros no momento da criao. O comando
adduser um script em Perl que utiliza a base do useradd, com ele a criao automatizada, apenas
respondendo-se perguntas como: Nome, Senha, Telefone, E-mail e etc

Criando um novo usurio com useradd


useradd -m -c Juliano Ramos -s /bin/bash juliano

Opes utilizadas no comando de exemplo:

-m Cria o diretrio home do usurio no momento da criao (/home/usuario) o diretrio


criado com o mesmo nome do usurio.

-c Define o comentrio, como o nome completo do usurio, por exemplo.

-s Define o shell padro deste usurio, no exemplo: (/bin/bash)

O comando useradd cria o usurio, ele no define sua senha. Para isto, voc deve executar o
comando passwd. Exemplo:

passwd juliano

Criando um novo usurio com adduser


O utilitrio de criao de usurios adduser mais comulmente utilizado, pelo fato de por padro j
criar o diretrio /home e definir a senha do usurio.

adduser juliano

Para verficar informaes sobre o usurio, voc poder usar o comando finger, em muitos casos
dever realizar sua instalao. No caso do Debian e derivados:

apt-get install finger

Adicionando novos grupos


Para adicionar novos grupos no linux, utilize os comandos groupadd e addgroup, a diferena entre
eles que groupadd um binrio e addgroup um link simblico para o script adduser.

39
Lembrando que voc pode verificar isto com o comando file.

file /usr/bin/groupadd

Criar um novo grupo com addgroup


O comando para a criao de novos grupos :

addgroup nome_do_grupo

Agora que temos usurios e grupos em nosso sistema, vamos gerenci-los atravs de alguns
comandos. possvel por exemplo, bloquear a conta de um usurio e for-lo a trocar sua senha em
seu primeiro login, para isto usamos o comando chage:

chage -d 0 juliano

Para trocar a senha de um usurio usamos o comando:

passwd juliano

Para bloquear o login de um usurio, usamos:

usermod -L juliano

Para desbloquear o login deste usurio, usamos:

usermod -U juliano

Para modificar a descrio de um usurio, usamos:

usermod -c Juliano Oliveira juliano

Mudando o login de um usurio


O usurio Juliano agora dever ser Grubelilo. O primeiro passo mudar o nome do usurio:

usermod -l grubelilo juliano

Agora que j mudamos o nome do login, vamos alterar o seu diretrio /home, primeiro vamos cri-
lo:

mkdir /home/grubelilo

Adicione agora um novo grupo com o nome do usurio:

addgroup grubelilo

40
Mude o dono do grupo para o novo diretrio:

chown grubelilo.grubelilo /home/grubelilo

Altere o grupo principal do usurio:

usermod -g grubelilo grubelilo

Altere o diretrio padro do usurio:

usermod -d /home/grubelilo grubelilo

Gerenciando grupos do sistema


Agora que j adicionamos novos grupos e usurios ao sistema, vamos aprender como gerenci-los
atravs de comandos. possvel por exemplo, alterar o grupo principal de um usurio, tornar um
usurio administrador de um grupo entre outras opes.

Adicionando um usurio ao grupo


gpasswd -a aluno tux4you

Removendo um usurio de um grupo


gpasswd -d aluno tux4you

Tornando um usurio administrador do grupo


gpasswd -A aluno tux4you

Quando um usurio se torna administrador de um grupo ele tem permisso para adicionar e remover
usurios do grupo, adicionar e remover senhas do grupo.

Adicionando senha ao grupo com usurio comum:


gpasswd logistica

Trabalhando com arquivos de usurios e grupos


At aqui realizamos as configuraes dos usurios e grupos atravs de comandos, mas, possvel o
gerenciamento usando arquivos do sistema.

Bloqueio de usurios
Para bloquear o login de um usurio, acesse o arquivo: /etc/passwd, adicione o sinal de ! antes do
nome do usurio:

nano /etc/passwd

!aluno:x:1004:1007:Aluno Tux;;;:/home/aluno:/bin/bash

41
Login sem senha:
Abra o arquivo /etc/passwd e apague o x entre os dois : (dois ponto) ao lado do nome do usurio,
exemplo da linha sem o x:

juliano::1004:1007:Juliano Ramos;;;:/home/juliano:/bin/bash

Sem dvida est no uma boa prtica de segurana. Para voltar a digitar senha, coloque
novamente o x entre os dois pontos.

Esqueceu a senha do root?


No exemplo anterior observamos como posso remover a senha de um usurio pelo arquivo
(/etc/passwd). Se voc no consegue mais acessar o seu sistema como root, tambm no poder
alterar este arquivo, neste caso. Use um LIVE-CD como o do Ubuntu e inicie o sistema.

Abra o seu HD pelo gerenciador de arquivos do Ubuntu e navegue at o diretrio /etc abra agora o
arquivo shadow e remova o x que est entre os dois : (dois pontos) do lado do nome root. Reinicie
o computador e remova o live-cd. Seu root vai estar sem senha.

Captulo 8 Gerenciamento de pacotes


Neste captulo:
Instalao de pacotes Debian
Instalao de pacotes Red Hat
Instalao de pacotes Slackware
Gerenciamento de pacotes pelo cdigo fonte

O dpkg o comando bsico para lidar com pacotes Debian no sistema. Se voc tem pacotes .deb,
com o dpkg que voc instala ou analisa seu contedo. Mas este programa tem apenas uma viso
parcial do universo Debian: ele sabe o que est instalado no sistema, e o que for dado na linha de
comando, mas no sabe nada dos outros pacotes disponveis. Assim, ele vai falhar se uma
dependncia no for satisfeita. Ferramentas como o apt-get, ao contrrio, criar uma lista de
dependncias para instalar tudo o mais automaticamente possvel.

Instalando pacotes
dpkg -i nomedopacote.deb

Remoo de pacotes
dpkg -r nomedopacote.deb

Arquivos de Log do dpkg


Dpkg mantm um log de todas as suas aes em /var/log/dpkg.log. Este log extremamente
detalhado, pois detalha todos os passos da manipulao de pacotes pelo dpkg.

42
Instalando pacotes pelo apt-get
APT um projeto amplo, cujos planos originais incluem uma interface grfica. Ele baseado numa
biblioteca que contm as aplicaes principais, e o apt-get o primeiro front-end em linha de
comando, que foi desenvolvido dentro do projeto.

Instalando um pacote
apt-get install gnome-shell

Instalando um pacote pelo aptitude


aptitude install gnome-shell

Removendo um pacote
aptitude remove gnome-shell
apt-get remove gnome-shell

Quando voc remove um programa, nem sempre, remove os arquivos de configurao. Exemplo:

Voc instala o servidor de impresso CUPS e cria uma configurao personalizada. Ao remover
com apt-get remove cups estas configuraes ainda continuam presentes no /etc/, caso voc
venha a reinstalar este pacote estas configuraes sero mantidas. Para remover um pacote e
tambm estes
arquivos de configurao, utilize o comando:

Removendo com as configuraes


apt-get purge gnome-shell

Instalando vrios programas ao mesmo tempo


apt-get install pacote1 pacote2 pacote3

Removendo vrios programas ao mesmo tempo


apt-get remove pacote1 pacote2 pacote3

Reinstalando pacotes

O sistema pode, s vezes, ser danificado com a remoo ou modificao de arquivos num pacote. A
forma mais fcil de recuperar estes arquivos reinstalar o pacote afetado. Infelizmente, o sistema de
empacotamento nota que o pacote est instalado e se recusa educadamente a reinstal-lo; para evitar
isto, use a opo: --reinstall do comando apt-get. O comando abaixo reinstala o postifix mesmo
quando ele j est presente:

apt-get reinstall install gnome-shell

O cache dos arquivos .deb


Apt mantm uma cpia de cada arquivo .deb no diretrio /var/cache/apt/archives para remover
voc pode usar o comando:

43
apt-get clean

Atualizando o sistema
apt-get upgrade

Pesquisando pacotes
apt-cache search nomedopacote

Removendo pacotes (Automtico)


apt-get autoremove

Quando voc usa o aptitude ou o apt-get ele procura os softwares nos servidores especificados no
arquivo /etc/apt/sources.list. Vejamos um exemplo deste arquivo (ubuntu 15.04):

# deb cdrom:[Ubuntu-MATE 15.04 _Vivid Vervet_ - Release amd64 (20150422.1)]/ vivid main
multiverse restricted universe

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to


# newer versions of the distribution.
deb http://br.archive.ubuntu.com/ubuntu/ vivid main restricted
deb-src http://br.archive.ubuntu.com/ubuntu/ vivid main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://br.archive.ubuntu.com/ubuntu/ vivid-updates main restricted
deb-src http://br.archive.ubuntu.com/ubuntu/ vivid-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu


## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://br.archive.ubuntu.com/ubuntu/ vivid universe
deb-src http://br.archive.ubuntu.com/ubuntu/ vivid universe

O arquivo era maior, mas com isto j podemos ver como ele funciona. Quando voc vai instalar
algum programa em especfico, pode ser necessrio instalar um servidor antes neste arquivo.
Sempre que voc adiciona um novo servidor, deve executar o comando: apt-get update

Pacotes RPM
O Red Hat Package Manager RPM um sistema de gerenciamento de pacotes para sistemas
GNU/Linux baseados em Red Hat. Ele instala, atualiza, desinstala e verifica softwares.

Uma vantagem que o RPM possui em relao ao DEB que possui ferramentas de verificao
criptogrfica com GPG e o Md5, alm de verificao de integridade dos arquivos j instalados.

Verificar quais pacotes esto instalados no sistema


rpm -qa

Verificar se um pacote especfico est instalado:

44
rpm -q nomedopacote.rpm

Verificar o que ser instalado com um pacote especfico:


rpm -qp nomedopacote.rpm

Verificar se a instalao ir ocorrer corretamente:


rpm -ih test percent nomedopacote.rpm

As opes -h e percent servem para mostrar uma barra de progresso e a porcentagem concluda.

Instalar um programa
rpm -ih percent nomedoprograma.deb

Verifique o que ser efetuado ao removermos um pacote:


rpm -e test nomedopacote

Removendo o pacote:
rpm -e nomedopacote.rpm

Para realizar uma atualizao de verso de um determinado programa, podemos usar:


rpm -Uh nomedopacote.rpm

Uma funcionalidade muito boa do RPM a capacidade de realizar verificaes de integridade dos
pacotes instalados. Periodicamente, voc pode verificar se ocorreu alguma alterao no seu sistema
sem voc saber ou se sua mquina foi invadida, pode-se tentar identificar o que foi mexido nela.

Verificar a integridade de todos os pacotes:


rpm -Va

Pacotes Slackware
Os pacotes slackware possuem a extenso (tgz).

Instalando pacotes
Installpkg pacote.tgz

Removendo pacotes
Removepkg pacote

Conversor de pacotes Alien


O alien um conversor de pacotes. Isto significa que voc consegue transformar um pacote RPM
em DEB e vice versa.

No debian, instale com o comando:

45
apt-get install alien

Para converter um pacote para rpm para deb executamos:

alien -d pacote.rpm

Para coverter um pacote deb para rpm, executamos:

alien -r pacote.deb

Para conver um pacote para tgz, executamos:

alien -t pacote.deb

No ser sempre que o alien ser capaz de fazer um pacote compatvel com seu sistema. Sempre
procure pelo pacote nativo, em ltimo recurso, use o alien.

Instalando pacotes pelo cdigo fonte


Para instalar pacotes pelo cdigo fonte necessrio que voc tenha as ferramentas necessrias para
compil-los. No Debian e derivados, instale estes pacotes com:

apt-get install build-essential

Normalmente os pacotes de programas distribudos atravs do cdigo fonte so compactados e


empacotes nos formatos (tar.gz ou tar.bz2). Para descompactar estes pacotes execute:

tar -xvzf pacote.tar.gz


Para pacotes no formato .tar.gz

tar -jxvf pacate.tar.bz2


Para pacotes no formato .tar.bz2

Aps descompactar, acesse o diretrio e execute os comandos:

./configure
make
make install

O ./configure executa um script (dentro da pasta do programa), que verifica o sistema em busca de
componentes que ele precisa. Ele avisa se algo estiver faltando, por isto, voc deve ficar atento a
todas as mensagens. O make cuida do trabalho pesado, fazendo a compilao. Ele procura os
componentes registrados pelo ./configure. O make install instala o programa, copiando os
arquivos gerados pelo make para as pastas corretas do sistema.

46
Captulo 9 Compactadores e empacotadores
Neste captulo:
Diferena entre empacotar e compactar
Usando o tar
Usando o gzip/bzip2

No mundo GNU/Linux muito comum vermos arquivos com a extenso .tar.gz ou tar.bz2 estas
extenses significam que alm de o criador ter realizado um pacote ele os compactou.

O bzip2 (bz2) faz uma compactao mais eficiente, ou seja, ele reduz mais o tamanho do arquivo do
que o gzip (gz), em compensao, ele demora mais para realizar a compactao. Podemos
classificar assim:

gzip Rpido, porm no muito eficiente para reduo de tamanho


bzip2 Lento, porm muito eficiente para reduo de tamanho

Criando um pacote com o TAR


O tar um empacotador, que serve para juntar vrios arquivos em um s; imagine a situao
cotidiana:
Voc precisa enviar algumas fotos atravs do anexo do e-mail. Voc pode fazer uma a uma o que
levaria algum tempo, ou empacot-las criando um nico arquivo que voc enviar.

Uma nica observao: O tar no compacta ele somente empacota. Isto significa, que os arquivos
no vo diminuir o tamanho.

Criando um pacote com o tar


Vamos criar um pacote de todo o diretrio /etc, para isto fazemos:

tar -cvf bkp_etc.tar /etc

Onde:

-c Para criar um backup


-v (verbose) Para mostrar os detalhes na hora da criao
-f Para indicar o nome do arquivo. Essa opo sempre vem por ltimo, pois ela quem define
o nome do arquivo.

Voc pode verificar que o tamanho do diretrio /etc e do arquivo bkp_etc.tar o mesmo, com o
comando:

du -h /etc
du -h bkp_etc.tar

Para informar o comando tar que voc tambm deseja compactar, use os complementos:

-z Para compactar com o gzip

47
-j Para compactar com o bzip2

Ento o comando mudaria para:

tar -cvzf bkp_etc.tar /etc

ebooklinuxNeste caso para o formato Gzip, ou :

tar -cvjf bkp_etc.tar /etc

Para usarmos o formato bzip2. Agora que empacotamos e compactamos um diretrio, vamos
aprender como extrai-los. Neste caso usamos o x de extract.

tar -xvf bkp_etc.tar


Para pacotes (.tar)

tar -xvzf bkp_etc.tar.gz


Para pacotes compactados Gzip (tar.gz)

tar -xvjf bkp_etc.tar.gz


Para pacotes compactador Bzip2 (tar.bz2)

Captulo 10 Agendamento de tarefas no Linux


Neste captulo:
Agendador at
Agendador crontab

Usamos o crontab para agendar comandos para serem executados periodicamente. J o at usamos
para agendar execuo de programas pontualmente.

Agendador at
Agendaremos que as 19:30 do dia 24 de Junho de 2015 ser executado o comando ls -lha no
diretrio /etc e o resultado ser impresso em um arquivo chamado listagem.txt no meu diretrio
/tmp.

Neste caso tenho que abrir o at com a sintaxe: at HH:mm MM/DD/YYYY

Onde (HH:MM representa horas e minutos 19:30), MM (Ms 06), DD (Dia: 24), YYYY
(Ano: 2015). Ento o comando seria:

at 19:30 06/24/2015
ls -lha /etc > /home/tux/listagem.txt
<ctrl + d>

48
Quando voc terminar de digitar o seus comandos dentro do at necessrio sair gravando com as
teclas de atalho: ctrl + d

Voc pode visualizar os agendamentos com o comando:

atq

Voc pode remover um agendamento com o comando atrm mais o nmero do agendamento, que
voc obtm com o comando atq. Por exemplo, ao executar o atq tive como retorno:

3 Wed Jun 24 19:40:00 2015 a root

Neste caso, para encerrar este processo eu uso: atrm 3

Crontab
Qualquer usurio pode agendar comandos no crontab porm ele ter que ter permisso para
executar o que est agendando. Para editar o crontab, digite:

crontabe -e

Onde -e de edit. Este comando ir abrir um arquivo em branco, caso no tenha feito nenhuma
tarefa agendada ainda, para que voc possa adicionar novas tarefas. Neste arquivo em branco, temos
que adicionar uma nova tarefa seguindo a estrutura:

* * * * * comando/tarefa

A estrutura representa:

Minuto 0 59
Hora 0 23
Dia do Ms 1 31
Ms 1 12
Dia da Semana 0 7 ( o 0 e 7 domingo, 1 segunda)

Exemplo:

00 14 25 12 0 echo Hoje domingo > arquivo.txt

A tarefa acima vai criar o arquivo.txt no dia 25 de Dezembro as 14:00h e este dia precisar ser
domingo, caso contrrio, isto no ser executado.

Para visualizar as tarefas agendadas pelos usurios, como root digite:

crontab -l -u tux

Onde:

-l Para listar

49
-u Para especificar o usurios

Quando mandar salvar a regra, ou tarefa agendada, a mesma ir para um arquivo com o nome do
seu usurio:

ls /var/spool/cron/crontabs/tux

Voc pode executar o comando cat no seu arquivo para visualizar o que foi agendado.

Digamos que voc tenha criado um script que realiza backup dos arquivos dos usurios para um
servidor de backup. De segunda a sexta-feira ele deve ser executado as 22 horas. Neste caso
execute:

crontab -e

00 22 * * 1-5 /opt/script/scriptbackup.sh

Sempre ser necessrio colocar o caminho completo (/opt/script/scriptbackup.sh) do seu script.

Entendendo o formato dos operadores de agendamento:

,
Especifica uma lista de valores, por exemplo: 1,3,4,7,8

-
Especifica um intervalo de valores, por exemplo: 1-5 (De 1 a 5)

*
Especifica todos os valores possveis

/
Especifica pulos de valores, por exemplo: Se no campo (Hora) usarmos : */3 o comando ser
executado s: 0, 3, 6, 9, 12, 15, 18, 21

Observamos que os arquivos de crontab dos usurios ficam em:

/var/spool/cron/crontabs

J a crontab do sistema encontrada em /etc/crontab e j possui agendamento para realizar as


tarefas que se encontram nos diretrios:

/etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly e /etc/cron.monthly

Se voc possui um script e deseja que ele seja executado diariamente, faa uma cpia dele para o
diretrio: /etc/cron.daily

cp /opt/script/scriptbackup.sh /etc/cron.daily/

50
Para que seja semanalmente, copie-o para o diretrio /etc/cron.weekly e para que seja executado
mensalmente copie-o para o diretrio /etc/cron.monthly

Depois de adicionar os scripts dentro do diretrio do cron, ser necessrio reiniciar o servio:

/etc/init.d/cron stop
/etc/init.d/cron start

Capitulo 11 Processos
Neste captulo:

Diretrio /proc
Funcionamento dos processos pelo linux
Monitorando um processo
Finalizando um processo

Processo uma tarefa em execuo controlada pelo kernel ocupando uma rea na memria (RAM),
no qual o Linux usa o mecanismo de identific-los por nmeros. Ou seja, tudo que estiver rodando
no sistema ser um processo. o processo que utiliza os recursos de um computador, como
memria e processamento. Um simples comando um processo, browser aberto um processo.
responsabilidade do Kernel gerenciar os processos tentando otimizar a performance da CPU
Unidade central de processamento. O primeiro processo do sistema chama-se init ele o pai de
todos os outros processos.

Cada processo tem um nmero diferente de identificao (PID). Dessa forma podemos manipul-
los e control-los. Controlar poder matar, reiniciar e pausar um processo.

No diretrio /proc voc ver vrios arquivos com informaes gerais que o kernel nos fornece, por
exemplo os arquivos: cpuinfo, ioports, meminfo, interrupts, mounts, swaps e muitos outros. Todo
processo cria temporariamente um diretrio em /proc com o seu nmero de PID.

Podemos visualizar o nmero dos processos executados pelo nosso usurio com o comando:

ps -x

A primeira coluna de retorno deste comando o nmero do PID. Neste momento estou com o
Libreoffice aberto no meu computador e o nmero de seu PID o 4741. Eu posso obter algumas
informaes acessando o seu diretrio:

cd /proc/4741/

Em seguida visualizo o arquivo cmdline:

/usr/lib/libreoffice/program/oosplashwriter

51
Neste caso ele me informou quem este processo. Nos diretrios dos processos, temos dois
arquivos interessantes e curiosos: cmdline e status.

Voc pode obter mais informaes sobre o diretrio /proc consultando sua pgina de manual:

man proc

Para listar todos os processos de uma maneira mais simples de visualizar, use:

ps aux | more

Explicando o comando:

a Todos os processos
u de todos os usurios
x processos sem controle pelo terminal

Neste caso todo os processos sero mostrados. muito melhor, usar o comando ps do que acessar o
diretrio /proc.

Vamos analisar agora as colunas de sada do comando ps aux | more :

user Usurios responsvel pelo processo


PID Nmero que identifica o processo, no se repete
%CPU Quanto de CPU ele usa
%MEM Quando de MEM ele usa
VSZ Tamanho virtual do processo
RSS Indica a quantidade de memria usada (em KB)
TTY Terminal que gerou o processo
? Sem terminal
STAT Estado do processo, sendo representado por uma letra
R Executvel
D Em espera no disco
S Suspenso
T Interrompido
Z Zumbi
COMMAND Nome do processo, ou seja, o comando em si.

Com a opo f em ps, possvel visualizar em um formato de rvore os processos, identificando-se


os processos que possuem filhos:

ps faux | more

Voc tambm pode usar o comando:

pstree

52
Para visualizar os processos vendo uma tabela que se atualiza de tempos em tempos, recomendo o
comando top:

top

Este comando gera uma tabela dinmica com informaes sobre os processos, sendo possvel matar
um processo dentro dele mesmo.

Para matar um processo *(normalmente quando ele est travando o sistema) usamos o comando
kill, voc s pode matar processos os quais voc seja o dono (O root, pode matar todos os
processos).

Usamos a sintaxe kill + o nmero do PID:

kill -9 4247

A opo -9 para forar a morte do processo. Este nmero conhecido como sinal. Se o sinal for
omitido usado o 15 como padro. Este sinal joga um sinal de trmino. Mas se o processo estiver
travado, ou executando alguma coisa, ele no vai terminal e vai ignorar o seu pedido. J o -9 fora o
processo a parar de qualquer jeito!

Na prtica, usamos apenas o -9 e o -15 para matar um processo, mas voc pode ver uma lista
completo com o comando:

kill -l

Captulo 12 Gerenciamento de processos


Um processo pode passar por vrios estados. Quando um processo criado isso no significa que
ele ser imediatamente executado. Alguns processos podem ser temporariamente parados para que o
processador possa executar um processo com maior prioridade.

O linux trabalha com quatro tipos de estados:

Executvel (running): O processo pode ser executado imediatamente;


Dormente (waiting): O processo precisa aguardar alguma coisa para ser executado. S depois
dessa coisa acontecer que ele passa para o estado executvel.
Zumbi (zombie): O processo considerado morto, mas, por alguma razo ainda existe;
Parado (stopped): O processo est Congelado, ou seja, no pode ser executado.

Classificao de processos
foreground (Primeiro plano): So inicializados no terminal de comandos. Podem interagir com os
usurios e exibem sua execuo na tela. A desvantagem deste tipo de processo que ele prende o
prompt e isso impede a execuo de novos processos neste terminal.

53
Background (Segundo plano): So inicializados no terminal de comandos, NO podem interagir
com os usurios e NO exibem sua execuo na tela. A vantagem desse tipo de processo que ele
NO prende o prompt e isso NO impede a execuo de um novo processo nesse terminal.

Interativo: So inicializados a partir de um terminal do usurio e so controlados por ele, usamos


os comandos ctrl+z, ctrl+x, fg, bg e jobs para trabalhar com esse tipo de processo.

Lote (batch): So processos controlados pelos comandos at, batch e cron.

Daemons
Daemons um programa em background (segundo plano) esperando que um outro processo solicite
seu servio. Os processos do Daemon fornecem frequentemente servios de rede, tais como o e-
mail, web, etc. Eles no precisam de nenhuma entrada e normalmente no produzem nenhuma
sada. Muitos daemons do Linux tm os nomes que terminam em um d, como o httpd, ftpd etc.
O oposto de um daemon um processo que funciona em primeiro plano.

Daemons mais populares:


atd Roda trabalhos agendados pelo comando at.
httpd Servidor web apache.
postifix Agente de transporte de correios substituto do sendmail.
smbd O daemon SAMBA (ou smb).

Jobs
O comando jobs lista os processos em execuo pelo shell que esto em background.

Jobs -l
[2] 1245 Running asmixer &
[3]+ 1333 Running openoffice &

O parmetro -l faz com que o comando jobs liste tambm o PID de cada processo. Em sua sada o
comando jobs retorna, alm do nmero do servio, o estado do processo, a linha digitada no
comando e, opcionalmente, o PID.

fg
Permite fazer um programa rodando em segundo plano ou parado, rodar em primeiro plano. Voc
deve usar o comando jobs para pegar o nmero do processo roando em segundo plano ou
interrompido, este nmero ser passado ao comando fg para ativ-lo em primeiro plano.

Exemplo:

jobs -l
[2] 1245 Running openoffice &
fg 2
openoffice

54
bg
Permite fazer um programa rodando em primeiro plano ou parado, rodar em segundo plano. Para
fazer um programa em primeiro plano rodar em segundo, devemos primeiro interromper a execuo
do comando com ctrl+z; ser mostrado o nmero da tarefa interrompida. Use este nmero com o
comando bg para iniciar a execuo dele em segundo plano.

Exemplo:

fg 2
openoffice

Interrompendo: CTRL+Z
[2]+ Stopped openoffice)

bg 2

Captulo 13 Introduo a Redes


Neste captulo:
Introduo a terica de redes TCP / IP.
Conceitos bsicos de configuraes de redes em UNIX.

Os protocolos TCP/IP
Antigamente os protocolos TCP / IP eram usados por militares para a troca de informaes, hoje em
dia, este um padro mundial para a comunicao de redes. O procolo TCP (Transmission Control
Protocol), orientado a conexes, transporta informaes por meio de handshaking, ou por meio de
retransmisso caso algum erro acontea. Esse protocolo garante o envio das mensagens. Podemos
citar alguns servios de rede que utilizam o procotolo TCP: SMTP, FTP e Telnet.

J o procolo IP (Internet Protocol) descrito pela RFC 791, responsvel por estabelecer o esquema
de endereamento e pela definio de datagramas.

Entendendo o IP
O endereamento IP, como deve ser chamado, composto por 4 octetos e uma mscara, que
determina quantos endereos so destinados a hoste e quantos endereos so destinados a rede.
No mundo GNU/linux no diferente dos outros, para termos acesso a internet ou a comunicao em
rede tambm precisamos ter nosso nmero IP. O numero IP est presente em todas as mquinas,
mesmo nas que no tem conexo com a internet. Isso possvel pois em todo GNU/Linux h uma
interface lgica, chamada loopback (lo) cujo enedereo IP ser 127.0.0.1 e que sempre deve estar
devidamente configurada.

Algumas aplicaes de sua mquina utilizam o IP 127.0.0.1 para comunicao com outras
aplicaes internas. Alm disso, voc pode desenvolver suas pginas e sistemas Web e test-las

55
localmente. Ou mesmo testar a implantao de um servidor de DNS ou um proxy, antes de coloc-
lo em produo.

A Internet totalmente endereada por nmeros IP's e no depende de um servidor DNS para
funcionar. O servio DNS apenas facilita o nosso acesso a internet, permitindo que a navegao
seja feita atravs de nomes e no de nmeros.

Para configurarmos um nmero IP em nosso computador, precisamos tambm, configurar uma


Mscara para esse nmero IP. A mscara de rede, tambm conhecida como netmask um
nmero constitudo por 32 bits, que utilizado para separar redes, determinando quem host,
quem rede e quem broadcast.

Host Um endereo disponibilizado para computadores poderem acessar a rede;

Network Normalmente o primeiro endereo da rede;

Broadcast Normalmente o ltimo endereo da rede, utilizado para que uma mquina possa falar
com todas as outras.

Alm da mscara de rede necessrio saber que existem trs classes padres de redes.

56
Entendendo o Gateway
O principal papel do Gateway levar os pacotes TCP/IP para outras redes que os hosts que os
originaram, no conhecem. dessa forma que os pacotes saem de uma rede privada para uma rede
WAN. Para que os pacotes possam transitar pela internet ou mesmo s por uma rede fechada
necessrio um Gateway. Mesmo em uma rede local, o gateway a prpria mquina, pois todos
os hosts esto normalmente com a mesma configurao de IP, ou seja, mesma mscara, mesma
classe de IP, etc.

O servidor DNS
O DNS um servio que converte endereos IP em nomes, deste modo, ao invs de voc digitar em
seu navegador 200.1.100.09 Voc digita: www.tux4.com.br . Como j mencionado o DNS no faz
parte da configurao essencial da rede, j que a internet funciona atravs dos nmeros IP.

Se voc testar o endereo: www.tux4.com.br e ele no funcionar, tente acess-lo com: 200.1.100.09
se conseguir o problema est no seu servidor DNS.

* O IP ( 200.1.100.09) mencionado neste captulo fictcio e no pertence ao domnio tux4.com.br

Configurando a Rede
A configurao da rede baseada em trs etapas:
Configurao do nmero IP e mscara
Configurao do Gateway
Configurao do DNS Server

Em um sistema GNU/Linux, para configurar a nossa interface de rede utilizamos o comando


ifconfig.

57
ifconfig

Executando este comando possvel descobrir todas as interfaces presentes no sistema. Por padro
em quase todas as distribuies de Linux a interface padro identificada como eth0. Para verificar
de modo mais apurado, inclusive pesquisando interfaces inativas, usamos o parmetro -a como no
exemplo:

ifconfig -a

A sintaxe do comando ifconfig para atribuir um endereo de IP:

ifconfig <interface> <ip>

Exemplo:

ifconfig eth0 192.168.1.10

Com este comando estamos atribuindo o endereo (192.168.1.0) para a interface eth0. O comando
ifconfig calcula automaticamente a mscara, mas se voc precisar configurar uma mascara
diferenciada, voc deve usar o parmetro netmask:

ifconfig eth0 192.168.1.10 netmask 255.255.254.0

Para ativar ou desabilitar uma placa de rede podemos usar a sintaxe:

ifconfig eth0 up
ifconfig eth0 down

Configurando o gateway
Para que nossos pacotes saibam para onde ir eles precisam conhecer o IP do Gateway da rede. O
papel do gateway simples, ele funciona como uma sada para os pacotes de uma rede, para outras
redes.
Para configurar o gateway da nossa rede utilizamos o comando route com os seguintes parmetros:

route add default gw IP

Com este comando possvel configurar a rota padro de sada da nossa rede. Para listar todas as
rotas traadas, podemos utilizar o comando abaixo:

route -n

Com ele podemos descobrir se as rotas necessrias para que nossa rede funcione esto corretas. Se
desejaremos remover a rota padro, devemos usar o comando:

route del default

58
Este comando ir remover a rota padro de sada da rede.

Configurao do DNS Server


Para configurar os servidores DNS para a mquina local, precisamos editar o arquivo de
configurao de DNS, chamado resolv.conf localizado em /etc.

nano /etc/resolv.conf

Dentro deste arquivo podemos configurar os nossos servidores de DNS, para isto, coloque as
seguintes linhas:

nameserver 201.6.0.100

Com esta sintaxe configurarmos um servidor DNS, neste caso o DNS do Servio de Banda Larga
- Virtua.

Configurao esttica da rede


Toda a configurao da rede pode ser atribuda pela linha de comando, como observamos at agora.
Porm, para que estas configuraes estejam ativas aps voc reiniciar o computador necessrio
edit-las em arquivo.

Configure o arquivo:
/etc/network/interfaces

Exemplo de configurao:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.200.x
netmask 255.255.255.0
broadcast 192.168.200.255
network 192.168.200.0
gateway 192.168.200.254

Podemos tambm configurar alguns atalhos para endereos de rede. Estes atalhos ficam localizados
dentro do arquivo /etc/hosts

A sintaxe dele :

IP apelido apelido

Exemplo:

59
192.168.200.234 professor ramos

Isso facilita nosso trabalho. Aps apelidar os hosts, voc no mais precisar decorar endereos IPS.

Comando hostname
O comando hostname altera dinamicamente o nome da mquina e deve ser utilizado da seguinte
maneira:

hostname Novo_Nome

Para alterar de forma esttica, ou seja, para que o nome se mantenha aps a reinicializao do
computador, altere o arquivo /etc/hostname

60
Publique seu e-book na Tux4you
Alm da rede social (www.tux4.com.br/networking) temos o acervo digital gratuito, que o local
onde disponibilizamos mdias para download de forma gratuita (www.tux4.com.br/acervodigital).
Voc pode colaborar enviando artigos e e-books, para isto, encaminhe sua documentao em
formato aberto (.odt) para o e-mail : contato@tux4.com.br

7 Cursos de Linux para voc!

Tornamos todo o nosso trabalho sustentvel com a venda de nossos cursos que podem ser
encontrados no endereo: (www.cursos.tux4.com.br).
Estamos com uma promoo incrvel e digo sem medo de errar que indita, que so 7 cursos de
Linux pelo preo de R$ 156,00.

Saiba mais no link:


http://tux4.com.br/networking/7-cursos-pelo-preco-de-1/

61

Potrebbero piacerti anche