Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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:
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.
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
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:
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.
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.
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.
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.
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.
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.
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.
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
Que representa:
nomedeusurio@nomedocomputador:/diretrio
\]
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.
echo
sleep
Para tornar global uma variavel de ambiente use o comando export como no exemplo:
VALOR=10
export VALOR
alias
Exemplo do comando:
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
No caso do editor nano, salve o documento com as teclas: <ctrl+o> e saia do editor com as teclas:
<ctrl + x>
unset VALOR
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.
Exemplo:
unalias cor
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.
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.
/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
cp arquivo1 /home/juliano/documentos/arquivo2
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.
cp -R /home/juliano /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
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.
Exemplo:
rm -R /opt/agenda
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
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
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
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:
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).
cat texto.txt
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:
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:
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:
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:
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:
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.
fmt -w 50 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
29
Comando: Join
O comando join une as linhas de dois arquivos que possuam ndice comum, exemplo:
1 maa
2 uva
3 melancia
1 R$ 2,00 Reais
2 R$ 4,00 Reais
3 R$ 5,00 Reais
O resultado ser:
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:
Neste exemplo, cada linha do arquivo texto.txt passada como argumento para o comando echo.
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
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
Abrindo um arquivo:
mcedit ou mc -e nome_do_arquivo
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
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
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
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.
ls -l /home/usuario
(Visualiza privilgios e permisses de arquivos)
ls -ld /home/usuario
(Visualiza privilgios e permisses de diretrios)
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):
---
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:
Onde:
U Representa o usurio
G Representa o grupo
O Representa outros
r =4
w=2
x=1
Se voc somar os 3 nmeros, vai obter 7, que significa permisso total, ou seja, rwx. Exemplo:
38
file /usr/sbin/useradd
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
O comando useradd cria o usurio, ele no define sua senha. Para isto, voc deve executar o
comando passwd. Exemplo:
passwd juliano
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:
39
Lembrando que voc pode verificar isto com o comando file.
file /usr/bin/groupadd
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
passwd juliano
usermod -L juliano
usermod -U juliano
Agora que j mudamos o nome do login, vamos alterar o seu diretrio /home, primeiro vamos cri-
lo:
mkdir /home/grubelilo
addgroup grubelilo
40
Mude o dono do grupo para o novo diretrio:
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.
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.
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.
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
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
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:
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:
43
apt-get clean
Atualizando o sistema
apt-get upgrade
Pesquisando pacotes
apt-cache search nomedopacote
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
## 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
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.
44
rpm -q 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
Removendo o pacote:
rpm -e 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.
Pacotes Slackware
Os pacotes slackware possuem a extenso (tgz).
Instalando pacotes
Installpkg pacote.tgz
Removendo pacotes
Removepkg pacote
45
apt-get install alien
alien -d pacote.rpm
alien -r pacote.deb
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.
./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:
Uma nica observao: O tar no compacta ele somente empacota. Isto significa, que os arquivos
no vo diminuir o tamanho.
Onde:
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:
47
-j Para compactar com o bzip2
Para usarmos o formato bzip2. Agora que empacotamos e compactamos um diretrio, vamos
aprender como extrai-los. Neste caso usamos o x de extract.
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.
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
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:
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:
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.
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
,
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
/var/spool/cron/crontabs
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/
/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.
ps faux | more
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).
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
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.
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.
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
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.
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.
Configurando a Rede
A configurao da rede baseada em trs etapas:
Configurao do nmero IP e mscara
Configurao do Gateway
Configurao do DNS Server
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
Exemplo:
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 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:
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:
58
Este comando ir remover a rota padro de sada da rede.
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.
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
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.
61