Вы находитесь на странице: 1из 197

Linux System

Administration

Apostila

www.3way.com.br

Este material pode ser distribudo. Curso no Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br

Linux System Administration

1. Introduo.................................................................................................... ..........................................................4 5 1.1. O que Linux.................................................................................................... ..............................................4 5 1.2. Distribuies.................................................................................................... ...............................................4 5 1.3. Sistemas de Arquivos.................................................................................................... ...................................5 6 1.4. Instalao do Linux.................................................................................................... ......................................6 7 1.5. Virtual Console.................................................................................................... ..........................................12 14 1.6. Desligamento/Reinicializao.................................................................................................... ....................13 15 18 1.7. Laboratrio.................................................................................................... ................................................15 20 1.8. Exerccios.................................................................................................... ..................................................17 21 2. Arquitetura de Sistema.................................................................................................... ....................................18 21 2.1. Alterao de runlevels.................................................................................................... ................................18 21 2.2. Comunicando com o processo INIT.................................................................................................... ............18 23 2.3. Outras funes do INIT.................................................................................................... ..............................19 23 2.4. Arquivo /etc/inittab.................................................................................................... ....................................19 26 2.5. O diretrio /etc/rc.d/.................................................................................................... ...................................22 29 2.6. Laboratrio .................................................................................................... ..............................................24 30 2.7. Exerccios.................................................................................................... ..................................................25 33 3. Comandos Bsicos.................................................................................................... ............................................27 33 3.1. Trabalhando na linha de comando.................................................................................................... ..............27 33 3.1.1. Linha de comando.................................................................................................... .............................27 34 3.1.2. Shell.................................................................................................... ..................................................28 35 3.1.3. Variveis.................................................................................................... ...........................................29 37 3.2. Comandos sequenciais.................................................................................................... ...............................31 38 3.3. Gerenciamento bsico de arquivos.................................................................................................... ..............32 43 3.4. Metacaracteres.................................................................................................... ...........................................37 45 3.5. Streams de Texto usando filtros.................................................................................................... ..................38 53 3.6. Laboratrio.................................................................................................... ................................................46 55 3.7. Exerccios.................................................................................................... ..................................................48 58 4. Streams, pipes e redirecionamentos.................................................................................................... .................50 58 4.1. Redirecionamentos.................................................................................................... .....................................50 58 4.1.1. Redirecionando a Sada.................................................................................................... ......................50 59 4.1.2. Redirecionando a Entrada.................................................................................................... ..................51 4.2. Pipes.................................................................................................... .........................................................59 51 62 4.3. Laboratrio.................................................................................................... ................................................54 63 4.4. Exerccios.................................................................................................... ..................................................55 5. Criao, Monitoramento e finalizao de processos............................................................................................ 64 56 5.1. Modificao da prioridade de execuo de processos...................................................................................... 67 59 70 5.2. Laboratrio.................................................................................................... ................................................61 71 5.3. Exerccios.................................................................................................... ..................................................62 6. Busca em arquivos texto com expresses regulares............................................................................................. 72 63 75 6.1. Laboratrio.................................................................................................... ................................................66 76 6.2. Exerccios.................................................................................................... ..................................................67 77 7. Edio de arquivos com o VI.................................................................................................... ............................68 80 7.1. Laboratrio.................................................................................................... ................................................71 83 7.2. Exerccios.................................................................................................... ..................................................73 84 8. Manipulao de disco.................................................................................................... .......................................74 8.1. Criao de parties e sistemas de arquivos.................................................................................................... 84 74 88 8.2. Arquivo /etc/fstab.................................................................................................... ......................................78 90 8.3. Laboratrio.................................................................................................... ................................................80 91 8.4. Exerccios.................................................................................................... ..................................................81 Seja um Profissional Aprendendo com Profissionais
1

SUMRIO

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br

Linux System Administration

9. Links.................................................................................................... .................................................................82 92 9.1. Criao e alterao de links fsicos e simblicos............................................................................................. 82 92 9.2. Laboratrio.................................................................................................... ................................................84 95 9.3. Exerccios.................................................................................................... ..................................................85 96 10. Inicializao do Sistema.................................................................................................... .................................86 97 10.1. Instalao e configurao do Gestor de Incio............................................................................................... 87 98 10.1.1. Configurao do LILO.................................................................................................... .....................87 98 10.1.2. Configurao do GRUB.................................................................................................... ...................88 99 10.2. Laboratrio.................................................................................................... ..............................................90 101 10.3. Exerccios.................................................................................................... ................................................91 102 11. Manuais e Documentao.................................................................................................... ...............................92 103 11.1. Laboratrio.................................................................................................... .............................................. 94 105 11.2. Exerccios.................................................................................................... ................................................ 95 106 12. Administrao de usurios e grupos.................................................................................................... ..............96 107 12.1. Arquivo /etc/passwd.................................................................................................... .................................97 108 12.2. Arquivo /etc/shadow.................................................................................................... ................................98 110 12.3. Arquivo /etc/group.................................................................................................... .................................100 112 13. Permisses.................................................................................................... .................................................... 103 115 13.1. Permisses especiais.................................................................................................... .........................104 116 13.2. Laboratrio.................................................................................................... ............................................107 119 121 13.3. Exerccios.................................................................................................... ..............................................108 123 14. ACL Posix.................................................................................................... .....................................................110 124 14.1. Configurando ACLs.................................................................................................... ...............................111 126 14.2. Comandos chattr e lsattr.................................................................................................... .........................113 129 14.4. Laboratrio.................................................................................................... ............................................116 132 14.5. Exerccios.................................................................................................... ..............................................119 134 15. Localizao de Arquivos.................................................................................................... ...............................120 135 15.1. Laboratrio .................................................................................................... ...........................................121 136 15.2. Exerccios.................................................................................................... ..............................................122 137 16. Shell Scripts.................................................................................................... ..................................................123 137 16.1. Personalizando e trabalhando no ambiente shell.......................................................................................... 123 137 16.1.1. Alterando Variveis.................................................................................................... ........................123 138 16.1.2. Funes.................................................................................................... .........................................124 138 16.2. Configurao do Bash.................................................................................................... ............................124 139 16.3. Programando no Linux.................................................................................................... ...........................125 139 16.3.1. Um Script simples.................................................................................................... ..........................125 140 16.3.2. Comentrios .................................................................................................... .................................126 140 16.3.3. Variveis especiais.................................................................................................... .........................126 140 16.3.4. Leitura de teclado e variveis.................................................................................................... .........126 141 16.3.5. Estruturas de Deciso if then else.................................................................................................... ...127 142 16.3.6. Comando exit.................................................................................................... ................................128 142 16.3.7. Operadores de comparao.................................................................................................... .............128 144 16.3.8. Instruo case.................................................................................................... ................................130 145 16.3.9. Instrues de repetio.................................................................................................... ...................131 148 16.4. Laboratrio .................................................................................................... ...........................................133 149 16.5. Exerccios.................................................................................................... ..............................................134 150 17. Compactadores, Empacotadores e Backup.................................................................................................... ..135 150 17.1. Compactadores de Arquivos.................................................................................................... ...................135 150 17.2. Empacotamento.................................................................................................... .....................................135 152 17.3. Backup.................................................................................................... .................................................. 137 155 17.4. Laboratrio.................................................................................................... ............................................140

Seja um Profissional Aprendendo com Profissionais

Este material no pode serem distribudo. Curso Especialista Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br

Linux System Administration

17.5. Exerccios.................................................................................................... ..............................................141 156 18. Gerenciamento de Pacotes.................................................................................................... ............................142 158 18.1. Gerenciamento de pacotes redhat.................................................................................................... ............142 158 18.1.1. Instalando um pacote RPM.................................................................................................... .............142 158 18.1.2. Atualizando um pacote RPM.................................................................................................... ..........143 159 18.1.3. Desinstalando um pacote RPM.................................................................................................... .......144 160 18.1.4. Consultando um pacote RPM.................................................................................................... .........144 160 18.1.5. Extraindo dados de RPMs.................................................................................................... ..............145 161 18.1.6. Usando YUM.................................................................................................... .................................146 162 18.1.7. Configurando o YUM.................................................................................................... ....................147 163 163 18.1.8. Criao de um arquivo .repo.................................................................................................... ...........147 164 18.1.9. Assinaturas de pacotes.................................................................................................... ....................148 164 18.2. Gerenciamento de pacotes Debian.................................................................................................... ..........148 164 18.2.1. DPKG (Debian Package).................................................................................................... ................148 165 18.2.2. APT (Advanced Package Tool).................................................................................................... .......149 166 18.3. Compilao de programas.................................................................................................... ......................150 168 18.4. Gerenciamento de Bibliotecas Compartilhadas............................................................................................ 152 168 18.4.1. Localizando as Bibliotecas.................................................................................................... .............152 172 18.5. Laboratrio.................................................................................................... ............................................155 174 18.6. Exerccios.................................................................................................... ..............................................157 175 19. Tarefas agendadas.................................................................................................... ........................................158 175 19.1. Criando cron jobs de sistema.................................................................................................... ..................158 177 19.2. Criando cron jobs de usurio.................................................................................................... ..................160 177 19.3. Anacron.................................................................................................... ................................................. 160 181 19.4. Laboratrio.................................................................................................... ............................................163 182 19.5. Exerccios.................................................................................................... ..............................................164 183 20. Gerenciamento de logs.................................................................................................... .................................165 183 20.1. Formato de /etc/syslog.conf.................................................................................................... ....................165 185 20.2. Registrando logs manualmente.................................................................................................... ...............167 186 20.3. Laboratrio.................................................................................................... ............................................169 187 20.4. Exerccios.................................................................................................... ..............................................170 188 21. Kernel.................................................................................................... ........................................................... 171 190 22.1. Compilao do Kernel.................................................................................................... ............................172 192 22.2. Configurao do novo Kernel no LILO.................................................................................................... ...174 192 22.3. Configurao do novo Kernel no GRUB.................................................................................................... .174 193 22.4. Atualizando o Kernel.................................................................................................... ..............................175 193 22.5. Recompilando Kernel em distribuies RPM.............................................................................................. 175 194 22.6. Laboratrio.................................................................................................... ............................................176 196 22.7. Exerccios.................................................................................................... ..............................................178

Seja um Profissional Aprendendo com Profissionais

Este material pode ser distribudo. Curso no Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

1. INTRODUO
1.1. O QUE LINUX

Linux ao mesmo tempo um kernel (ou ncleo) e o sistema operacional que roda sobre ele, dependendo do contexto em que voc encontrar a referncia. O kernel Linux foi criado em 1991 por Linus Torvalds, ento um estudante finlands, e hoje mantido por uma comunidade mundial de desenvolvedores (que inclui programadores individuais e empresas como a IBM, a HP e a Hitachi), coordenada pelo mesmo Linus, agora um desenvolvedor reconhecido mundialmente e mais representativo Figura 2.4 Layout Memria aps inicializao integrante da Linux Foundation. //criando novo alias

1.2. DISTRIBUIES

Carro carro2 = carro1;

Uma distribuio (ou simplesmente distro) composta do kernel linux e um conjunto varivel de softwares, dependendo de seus propsitos. Essa coleo de software livre (kernel) e no-livre (conjunto de softwares), criada e mantida por indivduos, grupos e organizaes de todo o mundo, incluindo o grupo Linux. Indivduos como Patrick Volkerding, companhias como a Red Hat, a SuSE, a Mandriva e a Canonical, bem como projetos de comunidades como o Debian ou o Gentoo, compilam softwares e fornecem a usurios diversos sistemas completos, prontos para instalao e uso.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto As distribuies do Linux comearam a receber uma popularidade limitada desde a segunda metade dos anos 90, como uma alternativa livre para os sistemas operacionais Windows e Mac OS, principalmente por parte de pessoas 2.3 MembrosMicrosoft de Instncia acostumadas com o Unix e nodetrabalho. sistema tornou-se Cada objeto criado devernas ter universidades sua prpria instncia variveis O Os valores das variveis (atributos) pela classe. Os Desktops mtodos definem o comportamento de um populardefinidas no mercado de e servidores, principalmente para a Web e em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da servidores de bancos de dados. o seu estado.

classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm De entre asasmaiores, podem-se citar: Debian, Slackware, Suse, Mandriva, compartilhada por todas instncias da classe.

Fedora e RHEL (essas duas ltimas da Red Hat). A maior diferena a organizao eos variveis membro tm 2.3.1 Invocao de Mtodos pr-configurao de softwares. A distribuio Red Hat Enterprise Linux (RHEL) a mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um distribuio mais utilizada no mundo. A Conectiva Linux tinha as suas objeto pode ter corporativa que mostrar um comportamento particular invocando uma aplicaes traduzidas portugus, o que que usurios que falam a lngua operao apropriada que foiem definida no objeto. Em facilitou Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto) , portuguesa tenham aderido melhor a esta distribuio. Hoje esta distribuio foi devendo especificar a mensagem o objeto que o recebedor da incorporada Mandrake, o completa: que resultou na Mandriva.
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um Profissional Aprendendo um Seja que esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 5

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; Principais Distribuies carro1.cor = "prata"; Distribuio Site Origem Descrio

Linux System Administration Linguagem de Programao Java

Slackware Slax Debian Ubuntu

slackware.com slax.org debian.org ubuntu.com

EUA Repblica Tcheca Global Ilha de Man (Inglaterra)

Distribuio base. a mais antiga em atividade e caracteriza-se pela sua estabilidade. Baseada no Slackware e um Live Cd (cd de boot), mas pode ser executada em pendrive. Distribuio base. Sua proposta ser formada somente por softwares livres. Baseada no Debian e se prope a ser uma distribuio de fcil manuseio. Reconhece muitos disposiivos. de maior uso corporativo. Distribuio base. a distro

RHEL redhat.com //criando novo alias Carro carro2 = carro1; CentOS centos.org Fedora Suse openSuse
D I C A

Red Hat Enterprise Linux. Figura 2.4 Layout Memria aps inicializao EUA Global EUA Alemanha Alemanha

Baseada no Red Hat Enterprise. praticamente a mesma, mas preparada para a livre distribuio. um projeto opensource da Red Hat. Baseada inicialmente no Red Hat, mas hoje possui sua prpria estrutura e comercializada no meio corporativo. um projeto opensource da Suse.

fedoraproject.org novell.com/linux opensuse.org

Maiores informaes podem ser obtidas nos sites oficiais de cada distribuio e no www.distrowatch.com (em ingls).

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto 1.3. SISTEMAS DE ARQUIVOS

Um sistema de arquivos um conjunto de estruturas lgicas e de rotinas, permitem ao sistema operacional o acesso ao Cada objeto criado que dever ter sua prpria instncia de variveis controlar Os valores das variveis disco rgido. sistemas operacionais usam em diferentes sistemas (atributos) definidas pela classe. OsDiferentes mtodos definem o comportamento de um um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da de arquivos. Conforme cresce a capacidade dos discos oeseu aumenta estado. o classe. Porm no devemos confundir isto com a implementao do mtodo, que volume de arquivos e acessos, esta tarefa torna-se mais distintos e mais Dois objetos tm compartilhada por todas as instncias da classe. o mesmo estado se suas complicada, exigindo o uso de sistemas de arquivos cada vez mais complexos e variveis membro tm os robustos. Existem diversos sistemas de arquivos diferentes, que vo desde sistemas 2.3.1 Invocao de Mtodos mesmos valores. Objetos se o comunicam pela troca de mensagens, isto significa que um at sistemas simples como FAT16, que utilizamos em cartes de memria, como o objeto pode ter que mostrar um comportamento particular invocando uma NTFS, EXT3 e ReiserFS, que incorporam recursos muito mais avanados.
2.3 Membros de Instncia
operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo Windows, em um objeto usando o operador "." (ponto) , No mundo temos apenas trsbinrio sistemas de arquivos: FAT16, FAT32 devendo especificar a mensagem completa: objetodesde que os o recebedor da MS-DOS, enquanto o e NTFS. O FAT16 o mais antigo, o usado tempos do mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um Profissional Aprendendo 5 umSeja que esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 6

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; NTFS o mais complexo e atual. Apesar disso, temos uma variedade muito grande carro1.modelo= "fusca"; de sistemas de arquivos diferentes no Linux (e outros sistemas Unix), que incluem o carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

EXT2, EXT3, EXT4, ReiserFS, XFS, JFS e muitos outros. Para quem usa apenas o Windows, estes sistemas podem parecer exticos, mas eles so velhos conhecidos de quem trabalha com servidores, j que neles o Linux que o sistema mais popular. No linux os utilitrios mais usados para manipular sistemas de arquivos so fdisk, mkfs e mkswap, que sero vistos mais a posteriormente ainda neste documento.

1.4. INSTALAO DO LINUX


A instalao do CentOS Linux pode ser de diversas formas, tais como Figura 2.4 Layout Memria apsfeita inicializao CD, DVD, Pendrive, o prprio disco rgido ou por Rede (network installation), neste //criando novo alias Carro carro2 = carro1; caso, utilizando diversos protocolos, tais como NFS, FTP ou HTTP. Para utilizar a instalao via Rede, ser necessrio alterar a sequncia de boot na inicializao do computador para que o boot seja feito atravs de uma mdia que suporte a esse tipo de instalao, alm do mais o dispositivo de rede tambm dever suport-lo. A instalao que ser demonstrada neste material a por DVD da distribuio. No entanto, importante preparar o disco rgido com as parties necessrias, normalmente o instalador traz um aplicativo chamado DiskDruid que cria as parties o disco. Na Figura 1, ser solicitado o tipo da instalao: Grfica (padro) e Texto. Vamos pressionar ENTER para prosseguir com a instalao padro. Caso seja necessrio Figura instalar em modo texto,referncia basta digitar linux text frente da 2.5 Layout Memria duas variveis para o mesmo objeto palavra boot.
Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um Profissional Aprendendo umSeja que esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 7

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

Figura 2.4 Layout Memria aps inicializao

Em seguida ser apresentada a tela de Teste da Mdia, caso tenha certeza da integridade da mesma melhor escolher a opo SKIP. Pressionar NEXT na tela seguinte. A Figura 2 a escolha do idioma da instalao do sistema. Escolheremos ENGLISH (preferencialmente).

//criando novo aliasFigura 1: A instalao pode ser em modo grfico ou texto Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe.

2.3

Membros de Instncia

Figura 2: Seleo do idioma da instalao 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma Na prxima a escolha do Layout do Teclado. Normalmente escolhemos operao apropriada que foi definida no objeto. Em Java, isto feito pela BRAZILIAN ABNT2 Caso aparea abaixo aps, a escolha do layout de chamada de um mtodo em .um objeto usando a o mensagem operador binrio "." (ponto) teclado: devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 7 um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 8

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Figura 3: Seleo da opo para criao de parties Carro carro2 = carro1;

melhor escolher YES para que o aplicativo permita a manipulao das parties do disco. A criao das permisses pode ser feita de forma predefinida ou personalizada. Na nossa instalao, escolheremos Create custom layout, como est na figura abaixo.

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um Figura 4: Definio do layout do disco objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), A recomendao criar um esquema de particionamento devendo especificar a mensagem completa: o objeto que o recebedor da (Logical o Volume o sugerido mensagem, mtodo aManager) ser invocadocomo e os argumentos paraabaixo: o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Profissional Aprendendo umSeja que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

baseado em LVM

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 9

Linguagem de Programao Java

//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um que esteja definido pelo objeto.
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 10

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata"; Layout de Parties

Linux System Administration Linguagem de Programao Java

Parties /boot swap /tmp / /home

LVM no sim sim sim sim

Tamanho 256 MB 256 MB (ou 2x memria principal) 256 MB 256 MB 2 GB

Figura 2.4 Layout Memria aps inicializao

clique NEXT para a instalao do gerenciador de boot (GRUB). Em seguida lhe ser solicitada a configurao de rede (Figuras 5 e 6), onde dever ser feita a seguinte configurao:

//criando novo alias Aps a seleo do layout Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da Figura 5: Configurao das interfaces de rede (IP e mscara) classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 11

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Figura 6: Depois da configurao de IP e mscara das interfaces Carro carro2 = carro1;

A configurao do Fuso Horrio dever ser a da regio onde o servidor est, ou seja, no nosso caso, America/Sao Paulo (deixar marcado a opo System Clock uses UTC), e em seguida, escolher a senha do super usurio (root). Agora a hora de escolher os pacotes a serem instalados no sistema. Primeiramente, escolha o perfil de instalao Server, depois para personalizar os pacotes, escolher Customize now (Figuras 7 e 8).

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida noFigura objeto. Em do Java, isto feito pela 7: Escolha perfil Server chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

10

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 12

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Figura 8-1: Desmarcar todos os servidores da opo Servers Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis prximas telasOs so as dedefinem instalao do sistemas dita. Aps o (atributos) As definidas pela classe. mtodos o comportamento depropriamente um em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da processo de cpia dos pacotes, clique em REBOOT para reinicializar o o computador seu estado. e classe. Porm no devemos confundir isto com a implementao do mtodo, que finalizar a instalao com as configuraes abaixo: Dois objetos distintos tm compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Em Firewall Configuration: Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma Firewall: Disabled operao apropriada que foi definida no objeto. Em Java, isto feito pela Disabled (ou Permissive) chamada SELinux: de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Figura 8-2: Em Base System, desmarcar Dialup Networking Support

o mesmo estado se suas variveis membro tm os mesmos valores.

11

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 13

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano "2001"; Em System = Services , desabilitar servios carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

desnecessrios no boot:

auditd, bluetooth, firstboot, gpm, haldaemon, hidd, ip6tables, iscsi, iscsid, kudzu, mcstrans, mdmonitor, messagebus, microcode_ctl, netfs, pcscd, readahead_early, restorecond, rpcgssd e sendmail. Caso s aparecea a tela de logon, e no, as opes descritas acima, basta logar no sistema com o usurio root e digitar o comando setup para que essas configuraes apaream.

Pronto, agora basta reiniciar o Layout sistema com o comando reboot para comear a Figura 2.4 Memria aps inicializao us-lo. novo alias //criando
Carro carro2 = carro1;

1.5. VIRTUAL CONSOLE


uma combinao conceitual de teclado e tela para uma interface de usurio no computador. uma caracterstica marcante de sistemas operacionais Unix/Linux, em que o console do sistema do computador pode ser usado para alternar entre mltiplos consoles virtuais. No Linux, os primeiros 6 (seis) consoles virtuais fornecem um terminal de texto com um aviso de login para um shell. O X Window System comea no stimo console virtual. Para alternar entre eles necessrio fazer uma combinao de teclas Alt e uma tecla de funo.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma Figura 9: Tela de uma virtual console operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

12

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 14

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Virtual Console carro1.modelo= "fusca"; Combinao de Teclas = "prata"; Descrio carro1.cor Alt + F1 Acessa o console virtual 1 (tty1).

Linux System Administration Linguagem de Programao Java

Alt + F2 Alt + (seta esquerda) Alt + (seta direita) Ctrl + Alt + teclas de funo startx startx -- :2

Acessa o console virtual 2 (tty2). Volta para console anterior. Vai para o console posterior De F7 em diante alterna entre os consoles virtuais grficos. Inicia interfaces grficas quando se est em um console virtual de texto. Invoca um segundo console virtual grfico, e assim por diante.
Figura 2.4 Layout Memria aps inicializao

Com a popularizao do servidor X e dos ambientes grficos, surgiram os //criando novo alias emuladores de console virtual, tais como gnome-terminal (no ambiente grfico Carro carro2 = carro1; gnome) ou konsole (no KDE), que disponibilizam vrios terminais numa mesma janela.

1.6. DESLIGAMENTO/REINICIALIZAO
Existem vrias formas de se desligar o sistema atravs do console (todas como usurio super usurio).
Comando poweroff shutdown -h now Descrio

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis halt (atributos) definidas pela classe. Os mtodos definem o comportamento de um ementre um objeto constituem Desliga o sistema em 30 minutos e envia a mensagem aspas duplas objeto. Isto-h 30 importante, pois denota que um mtodo pertence a cada objeto da shutdown Mensagem o seu estado . para todos usurios. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm shutdown -c Cancela algum comando shutdown que estiver sendo executado. compartilhada por todas as instncias da classe.

2.3 init 0 Membros de Instncia

Ambos so utilizados para desligar o sistema. Os dois primeiros tambm desligam a fonte atx em sistemas RHEL, somente o halt que no. Uma particularidade do shutdown o envio de mensagens aos usurios.

superpode usurio): objeto ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos Para reiniciar o sistema tambm existem vrias formas (tambm como valores. usurio mesmos Objetos se comunicam pela troca de mensagens, isto significa que um

13

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 15

Linguagem de Programao Java

//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um que esteja definido pelo objeto.
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 16

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Descrio Comando carro1.modelo= "fusca"; reboot carro1.cor = "prata"; shutdown -r now Ambos so utilizados para reiniciar o sistema. init 6

Linux System Administration Linguagem de Programao Java

<CTRL> + <ALT> + <DEL> shutdown -r 30 Mensagem Reinicia o sistema em 30 minutos e envia a mensagem qualquer entre aspas duplas para todos usurios.

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

14

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 17

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; L ABORATRIO carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

1.7.

Este laboratrio consiste em fazer a instalao do Linux na estrutura LVM (Logical Volume Management) em uma mquina virtual previamente preparada. Os discos rgidos dessa mquina virtual devero ser SATA e/ou SCSI. Para isso, voc ir apoiar-se no tpico 1.6 deste captulo (Instalao do Linux), mudando apenas o layout do disco rgido. 1) Na tela tipo de instalao pressione ENTER para iniciar a instalao em modo grfico, pois o modo texto no comporta LVM. 2) Teste de mdia de instalao (DVD): SKIP.
//criando novo alias 4) Layout do= teclado: Brazilian ABNT2 Carro carro2 carro1;

3) Escolha do Idioma: ENGLISH.

Figura 2.4 Layout Memria aps inicializao

5) Nmero de Instalao: Skip entering Installation Number 6) Layout do disco rgido: Create a Custom Layout

Para a instalao criaremos uma partio primria com 100MB para o ponto de montagem /boot com sistema de arquivos ext3 que ficar fora do LVM. O restante do disco ser onde criaremos a estrutura do LVM. Dentro dele criaremos quatro volumes lgicos que representaro o Swap com 512MB (ou pelo menos o mesmo tamanho da RAM), /home com 2GB, o raiz ( / ) com 6GB e 1GB livre para experimentos futuros. Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3
Tanto o grupo de volumes quanto os prprios volumes lgicos possuem nomes, Membros I de Instncia normalmente o usurio criar a sua prpria nomenclatura. Como sugesto, o grupo se
D

C Cada objeto criado dever ter sua prpria de variveis A chamar vg1 e os volumes lgicos lvswapinstncia e lvraiz, respectivamente. (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que 7) Configurao de Rede: Fornecida pelo instrutor compartilhada por todas as instncias da classe.

8) Fuso horrio: America/Sao Paulo (Desmarcar UTC)

9) Senha root: Fornecida pelo instrutor 2.3.1 Invocao de de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um 10) Personalizao dos Pacotes: Personalizar agora objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela A um escolha dos pacotes vai depender do instrutor, ento aguarde chamada de mtodo em um objeto usando o operador binrio "." (ponto) , as instrues dele e as anote, pois comum realizar mais instalaes ao longo do curso. devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Profissional Aprendendo 15 umSeja que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 18

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; ________________________________________________________________________________ carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

________________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________

11) Finalizar a instalao: Escolha as opes abaixo


//criando novo alias Carro = carro1; b)carro2 Firewall (desabilitar);
Figura 2.4 Layout Memria aps inicializao a) Contrato de licena (aceite para prosseguir);

c) SELinux (desabilitar ou escolher permissivo); d) Kdump (no precisa habilitar); e) Data e hora; f) Atualizaes (necessita de subscrio, ento pule essa parte) g) Criao de um usurio comum (opcional)
h) Teste da placa de som (caso o sistema encontre uma, faa o teste dela).
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

16

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 19

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

1.8. E

Quais so as principais diferenas entre softwares proprietrio e livre? Relacione as principais vantagens e desvantagens dos tipos de licenciamento? Em um cenrio pessoal escolha qual tipo de licenciamento que mais lhe agrada e justifique. Qual o tipo de licenciamento mais conveniente no mbito acadmico, por qu? Dentre as distribuies mais conhecidas, quais so as mais indicadas respectivamente para uso domstico e corporativo? Quais so os mtodos de instalao normalmente suportados nas principais distribuies Figura 2.4 Layout Memria aps inicializao Linux? a sua importncia para o sistema operacional? Relacione as caractersticas principais de pelo menos cinco tipos de sistemas de arquivos. Qual o significado da sigla FHS e o que ele representa para no mundo Unix? Os pontos de montagem /dev, /tmp e /proc possuem qual funo? Desses trs qual o nico que pode estar em partio diferente da raiz? Quantas consoles so de texto e quantas so grficas? Como feita a alternncia entre elas? Descreva a funcionalidade do comando startx -- :3? Como se desliga e se reinicia um sistema Linux exibindo mensagens de aviso? Quem v essas mensagens?
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

//criando novo alias Carro = MBR carro1; O quecarro2 significa e qual

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

17

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 20

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

2. ARQUITETURA DE SISTEMA
2.1. ALTERAO DE RUNLEVELS
Os runlevels so nveis ou formas de inicializao do sistema. Cada nvel de execuo possui diretrios especficos que contm scripts de inicializao. Cada nvel de execuo identificado por um nmeros que vo de zero (0) a 6 (seis).
Figura 2.4 (distros Layout Memria aps inicializao Nveis de execuo baseadas no Red Hat) //criando novo alias Nvel Descrio Carro carro2 = carro1; 0 Desliga o sistema (nunca definir como initdefault)

1 2 3 4 5 6

Mono-usurio Multi-usurio sem acesso a rede Multi-usurio com acesso a rede No utilizado Modo grfico Reinicia o sistema

Os nveis de 2 a 5 diferem entre as distribuies, por exemplo, no Debian o nvel 2 por padro multi-usurio com suporte a rede e no Red Hat o nvel 2 multi2.5 Layout Memria duas variveis referncia para o mesmo objeto usurio sem suporte aFigura rede. Para saber o nvel de execuo atual, basta utilizar o comando runlevel.
Cada objeto criado dever suacomando prpria instncia de variveis Os valores variveis o comando ps aux | grep init.ter Esse filtra apenas os processos que das contm a (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem palavra init em seu nome. O seu identificador de processo (PID) o 1. Ele no pode objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado . ser finalizado atravs do killisto , ento comandosdo kill -9 1que e kill -15 1 no surtiro classe. Porm no devemos confundir com aos implementao mtodo, Dois objetos distintos tm efeito. nenhum compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos 2.2. C OMUNICANDO COM O PROCESSO INIT isto significa que um Objetos se comunicam pela troca de mensagens, objeto pode ter que mostrar um comportamento particular invocando uma possvelque comunicar com o objeto. processo atravs comando init ou pelo seu link operao apropriada foi definida no Em init Java, isto do feito pela /sbin/telinit . chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 18 um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia O processo init o primeiro processo a ser iniciado, para v-lo basta executar

o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 21

Linguagem de Programao Java

//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um que esteja definido pelo objeto.
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 22

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); INIT carro1.ano Muda o nvel = de"2001"; execuo atual aplicando imediatamente carro1.modelo= "fusca"; definitiva. carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

seus efeitos. Essa mudana no

Sintaxe: init nivel_execucao

O comando telinit, por ser um link, funciona de forma igual. O comando runlvel exibe o runlevel atual.
Exemplos Comando
init 5 telinit 3

Descrio Muda o runlevel atual para 5 (modo grfico).

Figura 2.4para Layout Memria aps inicializao Muda o runlevel atual 3 (modo texto). //criando novo Mostra alias o runlevel atual. Caso tenho feito outras alteraes, elas tambm sero runlevel Carro carro2 = mostradas. carro1;

2.3. OUTRAS FUNES DO INIT


O processo init o nico processo capaz de realizar outras tarefas alm da inicializao do sistema, como o monitoramento e o desligamento automtico do sistema. Monitoramento do sistema se processos marcados como sempre vivos morrerem, o init tem a responsabilidade de execut-los novamente caso eles sejam exigidos. Um bom exemplo de processo que no pode morrer so os terminais, pois eles do acesso ao sistema.
Figura 2.5 Layout Memria duas variveis referncia parade o mesmo objeto Desligamento automtico quando ocorre uma queda energia muito prolongada os nobreaks mandam um sinal SIGPWR (30) ao processo init comunicando que a sua carga de energia baixa, fazendo assim com que ele desligue corretamente a mquina. Caso a energia volte antes que 2.3 Membros de Instncia a mquina seja desligada, o no-break manda essa informao ao init que aborta o processo de Cada objeto criado dever ter sua prpria de variveis Osfazendo valores das variveis desligamento enviando o sinalinstncia -c do comando shutdown assim com (atributos) definidas pelaque classe. Os mtodos definem o comportamento de um qualquer outro comando de desligamento anterior seja em cancelado. um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada por todas as instncias da classe. o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos mesmos valores. 2.4. A RQUIVO /ETC/INITTAB Objetos se comunicam pela troca de mensagens, isto significa que um

objeto pode ter que mostrar um comportamento particular invocando uma A composio arquivo est organizada em isto quatro campos separados por dois pontos operao apropriada que desse foi definida no objeto. Em Java, feito pela (:). chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo ser invocado e os argumentos para mtodo (se houver). identificacao : anivel_de_execuo : acao :o processo O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 19 um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 23

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; identificacao representa a identificao da linha. carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

O ideal usar duas letras para manter compatibilidade. Nas verses mais recentes pode-se utilizar ate 4 caracteres. Esse valor totalmente arbitrrio, podendo ser escolhido qualquer combinao de caracteres, desde que seja nico. nivel_de_execucao informa o nvel de execuo do processo. Caso este campo esteja vazio, o processo executado em todos os nveis; se for S indica que deve ser executado somente no nvel monousurio. acao indica o tipo de ao que ser executada para aquela identificao. As mais utilizadas so:
Ao Descrio Layout Memria aps inicializao respawn O respawn faz com Figura que o2.4 init re-execute o processo caso ele seja morto. wait //criando novo alias O init aguarda por uma deciso anterior para prosseguir = carro1; once Carro carro2 O processo ser executado apenas uma vez, na inicializao do nvel. initdefault Indica o nvel que deve ser inicializado por padro sysinit Indica o script de inicializao geral do sistema (/etc/rc.d/rc.sysinit) powerfail O processo ser executado quando o init receber o sinal SIGPWR (30), falha de energia. powerokwait Indicador de restabelecimento de energia ( chamado somente aps um powerfail) ctrlaltdel Indica o processo ou comando que ser executado aps pressionar as teclas ctrl+alt+del

processo indica o processo ou comando a ser executado.


D I C A

Saber o que significa cada parte do arquivo /etc/inittab certamente um conhecimento importante para se fazer um exame LPCI.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) pela classe. Os to mtodos definem o comportamento de um # Defaultdefinidas runlevel. (Do not set 0 or 6) objeto. Isto importante, pois denota que um mtodo por pertence a cada objeto da Seleciona o tipo do nvel que deve ser executado padro (initdefault) classe. Porm no devemos confundir isto com a implementao do mtodo, que id:3:initdefault: compartilhada por todas as instncias da classe.

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos # System initialization (runs when system boots) mesmos valores. se comunicam pelaser troca de mensagens, que um Indica Objetos que o script rc.S deve executado. Este isto sersignifica sempre executado e somente uma vez objeto pode ter quena mostrar um comportamento particular invocando umadevem ser carregadas para (sysinit), e apenas inicializao, pois possui informaes gerais que operao apropriada que foi definida no objeto. Em Java, isto feito pela qualquer nvel de execuo.
chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da si: :sysinit:/etc/rc.d/rc.sysinit mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Segue abaixo o contedo comentado do arquivo /etc/inittab: Membros de Instncia

20

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 24

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; Script to run when going single user (runlevel 1) carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

# Script utilizando quando o lilo envia o sinal de inicializao no modo monousurio. Este script solicita a senha do usurio durante o processo de inicializao. Torna-se uma medida de segurana contra ataques de fora bruta.
su:1S:wait:/etc/rc.d/rc.K

# Script to run when going multi user Script utilizado para inicializar os runlevels 2, 3, 4 e 5.
rc:2345:wait:/etc/rc.d/rc.M
Figura 2.4 Layout Memria aps inicializao # What to do at the "Three Finger Salute" //criando novo alias Esta ao definida para informar qual comando executado quando as teclas CTRL+ALT+DEL Carro carro2 = carro1; so acionadas.

ca::ctrlaltdel:/sbin/shutdown -t5 -r now

Substituindo a linha abaixo, teremos outra mensagem:


ca : : ctrlaltdel : echo "nao e possivel reiniciar desta forma digite reboot"

# Runlevel 0 halts the system Script que executado quando o nvel 0 solicitado. Neste nvel o sistema operacional desligado.
l0:0:wait:/etc/rc.d/rc.0
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto # Runlevel 6 reboots the system Script que executado quando o nvel 6 solicitado. Neste nvel o sistema operacional reiniciado.

l6:6:wait:/etc/rc.d/rc.6 Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem objeto. Isto do importante, pois denota # What to when power fails que um mtodo pertence a cada objeto da o seu estado. classe. Porm norecebe devemos confundir isto com a implementao do mtodo, que Quando o init um sinal SIGPWR (30) de um processo que monitora uma interface serial Dois objetos distintos tm ligada compartilhada por todas as instncias da classe. do computador a um no-break denominado UPS (Uninterrupted Power Supply Suprimento

2.3

Membros de Instncia

2.3.1 Invocao de Mtodos Objetos se comunicam pela troca destart mensagens, isto significa que um pf::powerfail:/sbin/genpowerfail objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada foi the definida no objeto. Em Java, isto feito pela # If power is back, que cancel running shutdown chamada de um mtodo em um objeto usando o operador binrio "." (ponto), Caso a energia seja reestabelecida o init recebe um sinal SIGPWR alertando que h um arquivo devendo especificar a mensagem completa: o objeto que o recebedor da chamado /etc/powerstatus contendo a palavra OK. Isso significa que a energia eltrica voltou. Ento mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 21 um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Ininterrupito de Energia) ele executa o comando shutdown.

o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 25

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; o shutdown anterior deve ser cancelado. carro1.modelo= "fusca"; carro1.cor = "prata"; pg::powerokwait:/sbin/genpowerfail stop

Linux System Administration Linguagem de Programao Java

# caso a energia seja reestabelecida o init recebe um sinal SIGPWR alertando que h um arquivo chamado /etc/powerstatus contendo a palavra OK. Isso significa que a energia eltrica voltou. Ento o shutdown anterior deve ser cancelado.
pr:12345:powerokwait:/sbin/shutdown Cancelado!" -c "Energia reestabelecida; Shutdown

# These are the standard console login getties in multiuser mode Indica o nmero de consoles texto e grfico por padro. As linhas que esto habilitadas indicam o Figuracomentadas 2.4 Layout Memria aps inicializao nmero de console texto e as linhas (#) ou que no existem indicam as consoles //criando novo alias grficas.
Carro carro2 = carro1; c1:1235:respawn:/sbin/agetty 38400 tty1 linux c2:1235:respawn:/sbin/agetty 38400 tty2 linux c3:1235:respawn:/sbin/agetty 38400 tty3 linux c4:1235:respawn:/sbin/agetty 38400 tty4 linux c5:1235:respawn:/sbin/agetty 38400 tty5 linux c6:12345:respawn:/sbin/agetty 38400 tty6 linux

# Esta linha executada somente quando o nvel de execuo o 4. A execuo desta linha faz com que o gerenciador de login do modo grfico seja carregado. Dentro do arquivo prefdm. Existem 3 gerenciadores de login, o kdm do kde; o gdm do gnome e o xdm da Xfree86.
x1:4:wait:/etc/rc.d/rc.4

Aps a modificao do arquivo /etc/inittab deve-se executar o comando init q para efetuar a releitura do arquivo, isso evita reiniciar a mquina.
Cada objeto criado ter sua prpria instncia de variveis 2.5. O DIRETRIO /ETC/dever RC.D/ Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem Conhecendo os nveis de inicializao do sistema, importante saber o que cada objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. um deles fazem, ou que tipo de servios eles vo chamar e qual momento de classe. Porm no devemos confundir istoseja, com a implementao do mtodo, que Dois objetos distintos tm faz-los. Cada nvel de execuo possui um diretrio com seus arquivos para compartilhada por todas as instncias da classe.

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

2.3

Membros de Instncia

objeto pode ter que mostrar um comportamento particular invocando uma Liste o contedo do diretrio /etc/rc.d/rc3.d/ por exemplo. Observe que existem vrios operao apropriada que foi definida no objeto. Em Java, isto feito pela arquivos e estes comeam com a letra K ou com a letra binrio S para "." indidar se ,o processo deve ser parado chamada de um mtodo em um objeto usando o operador (ponto) (kill) ouespecificar iniciado (start ), respectivamente. tambm, que aps da uma dessas letras possue um devendo a mensagem completa: oObserve objeto que o recebedor nmero que varia de 00 at 99 que determina a prioridade de execuo dos arquivos contidos neste mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 22 um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas inicializao, sendo o diretrio /etc/rc.d/rc0.d/ para o nvel 0, o diretrio membro 2.3.1 Invocao de Mtodos /etc/rc.d/rc1.d/ para o nvel 1; /etc/rc.d/rc2.d/ para o 2 e assim por diantevariveis at o nvel 6. Atm sua os mesmos valores. Objetos se pela /etc/rc.d/rc.S troca de mensagens, isto significa que um chamada feita a comunicam partir do script que executado pelo processo INIT.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 26

Linguagem de Programao Java

//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um que esteja definido pelo objeto.
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 27

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; diretrio. carro1.modelo= "fusca"; Para estes servios podem ser utilizadas carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

distribuies baseadas em RedHat.


D I C A

as ferramentas ntsysv e chkconfig nas

O diretrio de cada nvel de execuo pode variar de distribuio para distribuio. O exemplo acima retrata o diretrio das distribuies baseadas em Red Hat.

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

23

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 28

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; ABORATRIO carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

2.6. L

Este laboratrio tem o objetivo de realizar uma configurao do arquivo /etc/inittab para inicializao em modo texto. Passo 1) Abrir um terminal de comandos e, como root, editar o arquivo com a seguinte linha:
vi /etc/inittab

Passo 2) Localizar dentro desse arquivo a opo initdefault e mudar o seu id para 3, como mostrado abaixo:Figura 2.4 Layout Memria aps inicializao
//criando novo alias id:3:initdefault: Carro carro2 = carro1;

Passo 3) Agora s salvar o arquivo e atualizar o processo init com o comando:


init q

Tambm funciona se a mquina for reinicializada com reboot.


Essa maneira baseada em distribuies Red Hat. No Debian basta executar, tambm como root, o comando:
D I C A

update-rc.d -f gdm remove (Gnome) ou update-rc.d -f kdm remove (KDE) Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

24

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 29

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS = "prata"; carro1.cor

Linux System Administration Linguagem de Programao Java

2.7. E

O que significa BIOS e qual a sua funo em um computador? Qual a diferena entre os comandos LSPCI, LSUSB e LSMOD? Exemplifique cada um dos comandos atravs de suas sadas no sistema que est usando. Quais so os arquivos que fornecem dados para a sada dos comandos citados acima? Defina runlevel e descreva cada um deles. Quais runlevels no devem ser Figura 2.4 Layout Memria aps inicializao colocados como padro na inicializao? Por qu? Carro O arquivo que manipula os runlevels o /etc/inittab. Descreva os campos carro2 = carro1; desse arquivo baseados no esquema abaixo:
identificacao : nivel_de_execuo : acao : processo Campo
identificacao nivel_de_execucao acao processo

//criando novo alias

Descrio

Qual a diretiva do arquivo o runlevel padro? Figura 2.5 Layout/etc/inittab Memria duas variveisdefine referncia para o mesmo objeto Diferencie o comando init do processo init.
Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis Dispositivos funcionam em conjunto com subsistemas de constituem (atributos) definidas pela HOTPLUG classe. Os mtodos definem o comportamento de um em um objeto objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da atualizao de suas informaes. Descreva brevemente o que cada desses o um seu estado . classe. Porm no devemos confundir isto com a implementao do mtodo, que subsistemas faz. Dois objetos distintos tm compartilhada por todas as instncias da classe. Objetos se comunicam pela troca de mensagens, isto significa que um objeto ter que mostrar um comportamento particular invocando pode Identifique a nomenclatura Linux dos dispositivos deuma armazenamento IDE, operao SATA apropriada que foi definida no objeto. Em Java, isto feito pela e SCSI. Exemplifique como se cada dispositivo tivesse duas parties chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo cada. especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3 Membros de Instncia D exemplos de dispositivos COLDPLUG e HOTPLUG.

Qual o diretrio onde so encontrados os arquivos que representam os variveis membro tm os 2.3.1 Invocao de Mtodos dispositivos do sistema? mesmos valores.

o mesmo estado se suas

25

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 30

Siga-nos tambm no Twitter! twitter.com/3waynet

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Qual o comando que lista os dispositivos SCSI do sistema carro1.modelo= "fusca"; arquivo que fornece essas informaes so extradas. carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

e qual o nome do

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja umesteja Profissional Aprendendo com Profissionais um que definido pelo objeto.
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

26

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 32

Este material pode ser em distribudo. Curso no Especialista Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System LinguagemAdministration de Programao Java

3. COMANDOS BSICOS

Este captulo ser didaticamente abordado fazendo-se o agrupamento de determinados comandos por categorias afins.

3.1. TRABALHANDO NA LINHA DE COMANDO


3.1.1. LINHA DE COMANDO Dominar a linha de comando dominar o linux e conhecer o shell uma Figura 2.4 Layout Memria aps inicializao desse sistema operacional. das tarefas mais importantes no aprendizado apresenta o prompt que a indicao que o sistema j pode receber comandos. Ela formada basicamente por campos que expressam as seguintes informaes: o usurio logado, o nome da mquina (host), o diretrio corrente e o smbolo de usurio.
[usuario@maquina diretorio]simbolo
//criando novo alias A linha de comando Carro carro2 = carro1;

Onde: usuario pode ser root, que o usurio administrador do sistema, ou outro nome qualquer, que ser um usurio comum. maquina representa o nome da mquina, normalmente formado pelo primeiro campo do comando hostname.
Membros de Instncia
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um simbolo representa se o usurio administrativo (#) em ouum comum ou no objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado . privilegiado ($). classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada por todas as instncias da classe.

2.3

diretorio representa o diretrio atual do sistema.

objeto pode ter etc]# que mostrar um comportamento particular invocando uma [root@gaviao Obs.: os colchetes [ ] so um padro de distribuies derivadas do redhat, normalmente operao apropriada que foi definida no objeto. Em Java, isto feito pela outras distribuies no os trazem. chamada de um mtodo em um objeto usando o operador binrio "." (ponto), Usurio user, mquina server, diretrio corrente home (~ ou /home/user/), smbolo de devendo especificar [user@server ~]$ a mensagem completa: o objeto que o recebedor da usurio comum $). mensagem, o mtodo a ser invocado e os (argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Sejaesteja um Profissional Aprendendo um que definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas Exemplo Descrio variveis membro tm os 2.3.1 Invocao de Mtodos mesmos valores. Usurio root , mquina gaviao, diretrio etc , smbolo administrativo (#). Objetos se comunicam pela troca de mensagens, isto corrente significa que um de usurio

27

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 33

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da| 3Way Networks. treinamento@3way.com.br (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); mignon@noteb:tmp$ carro1.ano = "2001"; Usurio mignon, mquina noteb, diretrio corrente tmp, smbolo de usurio comum ($). carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

3.1.2. SHELL

D I C A

Voc pode estar percebendo a diferena entre o ltimo prompt dos exemplos em relao aos outros. Essa diferena porque o ltimo prompt baseado em distribuies debian.

O shell o ambiente que faz a intermediao entre o usurio e os recursos do computador, como se fosse um ambiente de programao em tempo real para executar tarefas. Em distribuies linux comum encontrar o bash (Bourne Again como Figura 2.4 Shell) Layout Memria apspadro, inicializao e este material no foge //criandoregra. novo alias Ele possui comando chamados embutidos, ou seja, comandos que j fazem parte do bash. Um exemplo o comando alias que serve para facilitar a entrada de comandos que costumam ter muitos parmetros. ALIAS Mostra ou define aliases (apelidos) para comandos que normalmente possuem parmetros longos. Sintaxe: alias [apelido='comando_longo']
Exemplos Comando
alias alias ls='ls -lah'

Carro carro2 = carro1;

Descrio

Mostra a lista de aliases (apelidos) do sistema. Define o apelido ls para o comando ls -lah.

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado deverque ter sua prpria cp instncia de variveis ser o mesmo usar o comando recursivamente (cp -r). Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm Baseado no segundo alias criado ( alias ls='ls -lah' ), toda vez que for utilizado o D compartilhada por todas as instncias da classe.

2.3

alias copia='cp -r'

Membros de Instncia Define o apelido copia para o comando cp -r. Ento quando for digitado o apelido copia

mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao Devido apropriadaao que foi definida no objeto. Em Java, isto feito pelafoi criado um recurso grande nmero de comandos disponveis, chamada de um mtodo em um objeto usando o operador binrio (ponto) , que agiliza a digitao de comandos, a tecla [TAB] "." que quando pressionada entre a devendo especificar a mensagem completa: o objeto que o recebedor da digitaoo mtodo de uma ser comando tenta completar a mtodo digitao prevendo as combinaes mensagem, invocado e os argumentos para o (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 28 um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3.1

I apelido ls, a sada ser a do apelido ls -lah. C Caso voc queira usar o comando ls original, A de Mtodos Invocao

da contra-barra ( \ ): \ls

ser necessrio que ele venha precedido variveis membro tm os

o mesmo estado se suas

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 34

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da| 3Way Networks. treinamento@3way.com.br (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; possveis para aquela digitao inicial. carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

HISTORY Exibe os ltimos comando digitados no bash. O histrico de comandos fica armazenado no arquivo ~/.bash_history de cada usurio. Sintaxe: history [opcao]
Exemplos Comando
history history -c history -r !n !cmd

Descrio Exibe a lista de todos os comandos executados. Apaga a todos os comandos da lista.
Figura 2.4 Layout Memria aps inicializao

Recupera todos os comandos executados. //criando novo alias novamente o n-simo comando da lista. Carro carro2Executa = carro1;

Executa novamente o ltimo comando executado (cmd representa o comando).

3.1.3. VARIVEIS So utilizadas como repositrio temporrio de dados. Os nomes seguem praticamente as mesmas regras das linguagens de programao, limitando-se a caracteres alfanumricos:
Varivel
MINHAVARIAVEL 2TESTE VARIAVEL EXEMPLO

Descrio Nome vlido Nome invlido (comea com nmero) Nome vlido Nome invlido (espao entre os nomes, sugere-se usar underline ou trao)
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis criar ou preencher uma varivel no se pode (atributos)Para definidas pela classe. Os mtodos definem o comportamento de usar um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da comando. classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe.

2.3

Var

Membros de Instncia

objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de mtodo do em um usando o feita operador binrio "." (ponto),echo A um exibio seuobjeto contedo com o comando devendo especificar a mensagem completa: o objeto que o recebedor da varivel precedido do smbolo $ como parmetro. mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o seu estado. Dois objetos distintos tm o mesmo estado se suas Varivel Descrio MINHAVAR=5 A varivel MINHAVAR criada recebendo o nmero 5 como seu variveis contedo. membro tm os 2.3.1 Invocao de Mtodos mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um
Var=rm -rf

espaos na linha de em um objeto constituem

Os valores das variveis

A varivel Var criada recebendo o comando rm -rf.

com o nome da

29

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 35

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da| 3Way Networks. treinamento@3way.com.br (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; Varivel carro1.cor = "prata"; Descrio Considerando os exemplos anteriores, exibir o nmero 5 como contedo da echo $MINHAVAR varivel MINHAVAR.
echo $Var

Linux System Administration Linguagem de Programao Java

Ainda considerando os exemplos anteriores, exibir rm -rf como contedo da varivel Var.

Existem dois tipos de variveis, as globais e locais. Globais So acessveis a todos os processos em todas as sesses de shell. Locais So acessveisFigura somente na sesso shell atual. 2.4 Layout Memria aps inicializao
//criando novo alias Carro carro2 = carro1; As variveis criadas localmente podem ser exportadas para os shells descendentes, ou D seja, aqueles que foram originados a partir de um existente. I C Essas variveis ficaro acessveis na sesso atual e nas outras geradas a partir dela. A Ento se em um outro shell, aberto em paralelo, as variveis forem requeridas, elas no sero vistas (acessadas).

O comando set mostra todas as variveis definidas e o comando env exibe somente as que foram exportadas pelo comando export. Outra funo do comando set definir variveis, inclusive inicializando-as com valores, j o comando unset remove uma varivel definida.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Exemplos

Varivel
set 2.3 MINHAVAR=5 Membros

Descrio A varivel MINHAVAR criada recebendo o nmero 5 como seu contedo. de Instncia

Cada objeto criado dever ter Var sua criada prpria instncia de variveis Os valores das variveis A varivel recebendo o comando rm -rf. (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem set Var= rm -rf Obs.: que Em relao ao nome das variveis comum o uso de letras maisculas para objeto. Isto importante, pois denota um mtodo pertence a cada objeto da o seu estado. represent-las, tambm seja permitido letras classe. Porm no devemos confundir isto com embora a implementao do mtodo, que minsculas. Dois objetos distintos tm export compartilhada por todas as instncias da a classe. Redefine varivel PATH adicionando o diretrio /usr/local/bin/ e exportando-a 2.3.1 de Mtodos Remove a varivel Var. unset Invocao Var Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao O apropriada que foi definida objeto. muitas Em Java,variveis isto feito pela prprio sistema nos no fornece de ambiente chamada de um mtodo em um objeto usando o operador binrio "." (ponto) , elas so de grande ajuda para o sistema e para os programas, pois elas devendo especificar a mensagem completa: o objeto que o recebedor da para otimizao algumas mensagem, o mtodo de a ser invocado tarefas. e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

PATH=$PATH:/usr/local/bin/

para a sesso atual e todas as descendentes.

o mesmo estado se suas variveis membro tm os mesmos valores.

pr-definidas, so utilizadas

30

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 36

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; Variveis Pr-definidas carro1.cor = "prata"; Varivel Descrio

Linux System Administration Linguagem de Programao Java

DISPLAY HOME PATH PWD ! $ ? ~ SHELL

Determina em qual display do ambiente X o programa deve exibir suas janelas. Caminho para o histrico de comandos do usurio. Caminho para o diretrio pessoal do usurio. Nome do login do usurio logado. Lista de diretrios nos quais programas sero procurados caso tenham seus nomes digitados sem a especificao do caminho absoluto. Exibe o diretrio corrente (atual). Mostra o shell utilizado pelo usurio logado. Figura 2.4 Layout Memria aps inicializao

HISTFILE LOGNAME

o PID do ltimo processo executado. //criando novoMostra alias Carro carro2 =Mostra carro1; o PID do ltimo processo atual. Retorna os valores 0 ou 1 para denotar respectivamente que o ltimo comando foi executado corretamente ou com falha. Representa o diretrio pessoal do usurio que o utilizar.

D I C A

Se algum programa (script ou comando) for criado em um diretrio que no esteja especificado na varivel PATH, ento necessrio tomar dois cuidados no momento da sua chamada na linha de comando: 1) Informar o caminho absoluto para esse programa. Ex.: /opt/programa1.sh ou exec /opt/programa1.sh 2) UtilizarFigura o ponto para informar o programa localiza-se no diretrio atual. 2.5 (.) Layout Memria duas que variveis referncia para o mesmo objeto Ex.: ./programa2.sh

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um 3.2. COMANDOS SEQUENCIAIS em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. Porm no devemos confundir a implementao do mtodo, que muito comum o uso isto de com vrios comandos numa mesma linhaDois de objetos comando para a distintos tm resoluo compartilhada por todas as instncias da classe. de determinados problemas do dia a dia. O bash disponibiliza smbolos separadores de 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um Caracteres especiais no bash objeto pode ter que mostrar um comportamento particular invocando uma Smbolo apropriada Descrio que foi definida no objeto. Em Java, isto feito pela operao chamada deUsado um mtodo em um objeto usando o operador "." (ponto) , ; quando a inteno executar vrios comandos binrio na mesma linha de comando e no h a preocupao devendo especificar a tenham mensagem completa: o objeto que o recebedor da de que elas xito em suas execues. mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 31 um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

comandos para vrias situaes diferentes.

o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 37

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; Mesmo que um comando anterior no tenha xito em sua execuo o prximo ser executado. carro1.cor = "prata"; Sintaxe: comando1 ; comando2 ; comando3

Linux System Administration Linguagem de Programao Java

Usado quando a inteno executar vrios comandos na mesma linha de comando havendo a preocupao de o comando anterior ter sua execuo com xito para que os prximos sejam executados. && Se um comando no for executado corretamente, a execuo para e os prximos no sero executados. Sintaxe: comando1 && comando2 && comando3 Usado quando a inteno executar vrios comandos na mesma linha de comando havendo a preocupao de pelo menos um dos comandos da linha tenha xito em sua execuo para que os outros sejam executados.
Figura 2.4 Layout Memria aps inicializao Se pelo menos um comando for executado corretamente, os outros sero executados. //criando novo alias Carro carro2 = carro1; Sintaxe: comando1 || comando2 || comando3

||

3.3. GERENCIAMENTO BSICO DE ARQUIVOS


LS Lista o contedo de diretrios. Sintaxe: ls [opcoes] [alvo]
Exemplos Comando
ls -a ls -l

Descrio

Lista todos os arquivos, incluindo os ocultos (que so representados por um ponto antes do nome). Lista arquivos no formato longo (mais detalhado).

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

criado dever ter sua prpria instncia de variveis Os valores das variveis ls -d Cada objeto Lista somente os diretrios ao invs do contedo. (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem ls -la Lista todos os arquivos no formato longo.pertence a cada objeto da objeto. Isto importante, pois denota que um mtodo o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Lista todos os arquivos detalhadamente mostrando o tamanho dos arquivos em formato humano (ou ls -lah Dois objetos distintos tm seja, em Kilobyte, Megabyte, Gigabyte, Terabyte, etc). compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos FILE Objetos Determina o tipopela do troca arquivo. se comunicam de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma Sintaxe: file alvoque foi definida no objeto. Em Java, isto feito pela operao apropriada chamada de um mtodo em um objeto usando o operador binrio "." (ponto), $ file /sbin/shutdown Exemplo: devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3 deos Instncia ls -i Membros Lista arquivos do diretrio atual mostrando seus respectivos inodes.

o mesmo estado se suas variveis membro tm os mesmos valores.

32

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 38

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da| 3Way Networks. treinamento@3way.com.br (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); = "2001"; PWDcarro1.ano Comando que exibe o diretrio atual. carro1.modelo= "fusca"; carro1.cor = "prata"; Sintaxe: pwd

Linux System Administration Linguagem de Programao Java

Exemplo: $

pwd

CD Muda de diretrio (Entrar/Sair). Sintaxe: cd [diretorio]


Exemplos
cd

cd / cd ..

Muda para o diretrio home do usurio logado (/home/usuario). Existe mais duas alternativas para esse comando: Figura 2.4 Layout Memria aps inicializao cd ~ //criando novo alias cd $HOME Carro carro2 = carro1; Muda para o diretrio raiz (no importando o diretrio corrente). Muda para o diretrio anterior ao atual (volta um nvel na rvore de diretrios). Volta dois nveis na rvore de diretrios a partir do diretrio atual. Muda para o diretrio anteriormente acessado ( diferente do segundo exemplo, pois este comando no relativo rvore de diretrios, e sim, ao ltimo diretrio acessado). Muda para o diretrio /bin (independentemente do diretrio atual mudar para o /bin).

cd ../.. cd cd /bin

MKDIR Cria diretrios. Sintaxe: mkdir [opcao] nome_do_diretorio


Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Exemplos

mkdir linux

Cria o diretrio linux no diretrio atual.

Cada/usr/dir2 objeto criado dever sua dir1 prpria instncia de mkdir dir1 Os valores das variveis Cria oter diretrio no diretrio atual e o variveis dir2 em /usr simultaneamente. (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem Retornar a seguinte mensagem de erro: objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. Porm no devemos confundir istocannot com acreate implementao do mtodo, que mkdir: directory `/dir1/dir2/dir3': No such file or directory Dois objetos distintos tm compartilhada por todas as instncias da classe.

mkdir Membros /tmp/temporario 2.3 de InstnciaCria o subdiretrio temporario dentro do diretrio /tmp.

existam. objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto.instalar Em Java, feito necessrios pela Cria o subdiretrio e os isto subdiretrios a sua criao, caso eles mkdir -p /opt/soft/instalar no existam. chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo a mensagem completa: o compartilha objeto quena raiz o recebedor da mkdir -mespecificar 700 /compartilha Cria o diretrio do sistema j com as permisses 700. mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 33 um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos Soluo : utilizar a opo -p,isto que significa cria os diretrios necessrios,mesmos caso eles valores. no Objetos se comunicam pela troca de mensagens, que um
mkdir /dir1/dir2/dir3

caso os diretrios dir1 e dir2 no existam antes da criao do dir3.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 39

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da| 3Way Networks. treinamento@3way.com.br (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); = "2001"; CP carro1.ano Copia arquivos e/ou diretrios. carro1.modelo= "fusca"; carro1.cor = origem "prata"; Sintaxe: cp [opcao] destino

Linux System Administration Linguagem de Programao Java

Exemplos
cp /etc/passwd /root cp /root/passwd /root/passwd.bkp cp /etc/shadow /etc/group /root cp -r /var/log ~

Copia o arquivo de senhas /etc/passwd para o diretrio /root. Cria o arquivo de backup passwd.bkp no mesmo diretrio do arquivo de origem. Copia os arquivos shadow e group, ambos de /etc, para o diretrio /root. Copia o subdiretrio /var/log para o diretrio home do usurio que executou o comando. A opo -r ou -R usada para copiar um diretrio e seu contedo.
Figura 2.4 Layout Memria aps inicializao

Carro carro2 a =data carro1; TOUCH Altera e hora do ltimo acesso a um arquivo ou diretrio.

//criando novo alias

Sintaxe: touch [opcao] alvo


Exemplos
touch -t 11231925 /root/passwd touch -t 0011232025 /root/passwd.bkp touch /root/passwd touch senhas.txt

Altera a data (ms e dia) e hora do ltimo acesso ao arquivo /root/passwd para o dia 23/11 e hora 19:25. Altera a data (ano, mes e dia) e hora do ltimo acesso ao arquivo /root/passwd.bkp para 23/11/2000 e hora 20:25. Altera a data e hora do arquivo /root/passwd para a atual. Cria um arquivo vazio chamado senhas.txt caso o mesmo no exista no diretrio atual.

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

RMDIR Apaga/Remove diretrios vazios.


Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da Exemplos classe. Porm no devemos confundir isto com a implementao do mtodo, que Comando compartilhada por todas as instncias da classe. Descrio

rmdir pode dir1 /usr/dir2 objeto ter que mostrar um comportamento invocando uma Apaga o diretrio dir1particular no diretrio atual e o dir2 em /usr simultaneamente. operao apropriada que foi definida no objeto. Em Java, isto feito pela rmdir /dir1/dir2/dir3 Retornar a seguinte mensagem de erro: chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: que o recebedor dafile or directory rmdir: failed o to objeto remove `/dir1/dir2/dir3': No such mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas rmdir linux Apaga o diretrio linux no diretrio atual. variveis membro tm os 2.3.1 Invocao de Mtodos rmdir /tmp/temporario Apaga o subdiretrio temporario dentro do diretrio Objetos se comunicam pela troca de mensagens, isto significa que um /tmp. mesmos valores.

2.3 Membros Instncia Sintaxe: rmdirde [opcao] nome_do_diretorio

34

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 40

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da| 3Way Networks. treinamento@3way.com.br (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; caso os diretrios dir1 e dir2 no existam antes da criao do dir3. carro1.modelo= "fusca"; Soluo: utilizar a opo -p para a remoo dos diretrios e subdiretrios. carro1.cor = "prata"; Apaga o subdiretrio instalar e os subdiretrios do caminho informado caso eles rmdir -p /opt/soft/instalar estejam vazios (sem arquivos ou subdiretrios).

Linux System Administration Linguagem de Programao Java

RM Remove arquivos e/ou diretrios (sem a obrigatoriedade de estarem vazios). Sintaxe: rm [opcao] alvo
Exemplos Comando
rm /tmp/*.temp rm -f

Descrio

Remove todos os arquivos com Memria a extenso que estiverem no diretrio /tmp. Figura 2.4 Layout aps.temp inicializao Em algumas distribuies ser necessrio confirmar as delees. //criando novo alias Carro carro2 = carro1; Remove todos os arquivos com a extenso .conf do diretrio /tmp sem solicitar confirmao /tmp/*.conf de deleo. Remove todos os arquivos e subdiretrios (opo -r) do diretrio /tmp sem pedir confirmao de deleo. Caso no seja utilizada a opo -r, a seguinte mensagem ser exibida: rm: cannot remove `/tmp/dir': Is a directory

rm -rf /tmp/*

D I C A

A opo -rf perigosa se usada como super usurio e sem a devida ateno. possvel danificar parcial ou completamente o sistema caso algum arquivo importante for deletado sem seu conhecimento.

2.5 Layout Memria duas variveis referncia para o mesmo objeto MV Move/RenomeiaFigura arquivos e diretrios.

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis Exemplos (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da Comando Descrio o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que mv /root/passwd /tmp Move o arquivo /root/passwd para o diretrioDois /tmpobjetos . distintos tm compartilhada por todas as instncias da classe.

2.3

Sintaxe: mv [opcao] origem destino


Membros de Instncia

variveis membro tm os mv /root/passwd.bkp /root/senhas.bkp 2.3.1 Invocao de Mtodos Renomeia o arquivo /root/passwd.bkp para senhas.bkp. mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa queo um Move o arquivo /root/ passwd para diretrio /tmp mudando o seu mv /root/passwd /tmp/senhas.txt objeto pode ter que mostrar um comportamento nome para particular senhas.txt. invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 35 um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

mv /tmp/passwd ~

o mesmo estado se suas Move o arquivo /tmp/passwd para o diretrio home do usurio logado.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 41

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da| 3Way Networks. treinamento@3way.com.br (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; FIND Localiza arquivos de maneira recursiva na hierarquia de diretrios. carro1.modelo= "fusca"; carro1.cor = "prata"; Sintaxe: find [caminho_inicial_da_busca] [opcao] [expressao_de_busca]

Linux System Administration Linguagem de Programao Java

Opes Opo
-name -iname -lname -type -atime -/+n -ctime -/+n -mtime -/+n -amin -/+n -cmin -/+n -mmin -/+n

Descrio Indica busca por nomes. Neste caso ser informada uma expressao_de_busca. Indica busca por nomes (ignorando maisculas e minsculas). Neste caso tambm ser informada uma expressao_de_busca. Indica busca por links. Necessrio informar expressao_de_busca. Indica busca por tipo de arquivo. Onde d diretrio, f arquivo e l link.
Figura 2.4 Layout Memria aps inicializao Busca por data de ltimo acesso (atime ) ao arquivo menor ou maior a n. Onde n corresponde ao nmero de dias ( n *24 horas). //criando novo alias

Carro carro2 carro1; Busca= por data criao (ctime) do ltimo arquivo menor ou maior que n. Onde n corresponde ao nmero de dias (n*24 horas).

Busca por data modificao (mtime) do ltimo arquivo menor ou maior que n. Onde n corresponde ao nmero de dias (n*24 horas). Busca por data do ltimo acesso (amin) ao arquivo menor ou maior que n. Onde n corresponde a quantidade de minutos. Busca por data de criao (cmin) do arquivo menor ou maior que n. Onde n corresponde a quantidade de minutos. Busca por data de modificao (mmin) do arquivo menor ou maior que n. Onde n corresponde a quantidade de minutos.

D I C A

Figura Layout utilizado Memria duas variveis referncia para o mesmo O comando find2.5 e muito quando se trata de busca deobjeto arquivos, portanto recomendvel o seu domnio total nos exames da certificao LPI.

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis Exemplos (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem objeto. Isto importante, pois denota que umDescrio mtodo pertence a cada objeto da Comando o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois distintos Busca todos os arquivos, a partir do diretrio raiz objetos (/), que tenham a tm find compartilhada todas as instncias da classe. / -iname por *lilo expresso lilo na composio do seu nome. Alm disso ignora se a

2.3

Membros de Instncia

objeto pode ter que mostrar um comportamento particular invocando uma ocorrncias. operao apropriada que foi definida no objeto. Em Java, isto feito pela Busca por arquivos dentro"." de /var/log find /var/log/ -atime -2 chamada de um mtodo em um objeto usando o operador binrio (ponto),que foram acessados (-atime) nos ltimos 2 dias. devendo especificar a mensagem completa: o objeto que o recebedor da find /etc/ -mmin -32 Busco por arquivos dentro de houver). /etc que foram modificados (-mmim) mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 36 um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos Busca atravs da raiz por arquivos (-type f) cujo mesmos nome contm a valores. Objetos se comunicam pela troca de mensagens, isto significa que um find / -name password -type f -print expresso password e mostra na tela (-print) a localizao das
expresso est em letras maisculas ou minsculas (-iname).

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 42

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; nos ltimos 32 minutos. carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

3.4. METACARACTERES
So maneiras de representar nomes de arquivos. Combina-se caracteres coringas com partes dos nomes dos arquivos para a formar combinaes globais ou genricas.
Metacaractere
* ?

Descrio

Substitui qualquer nmero de caracteres (zero ou mais caracteres). Figura 2.4 Layout Memria aps inicializao Ex.: algo* retorna algo, algol , algoritmo, etc. //criando novo alias Substitui qualquer caractere individual (vazio tambm mas s um caractere). Carro carro2 = carro1; Ex.: algo? retorna algos, algol , algor, etc. Combina os caracteres dentro dos colchetes com textos fora dele. Ex.: ald[e]ia pode significar aldeia ou aldia. Combina o texto fora dos colchetes com a negao dos que esto dentro dos colchetes. Ex.: alde[!io]o pode retornar aldeao e aldeu, menos aldeoi e aldeoo. - representa um caractere minsculo compreendido entre a e z. - representa um caractere maisculo compreendido entre A e Z. - representa um caractere compreendido entre 0 e 9. - representa a negao dos itens anteriores. Combina os fragmentos entre colchetes com quaisquer outros fora dele. Ex.: nivel_{regular,bom,otimo} retorna nivel_regular, nivel_bom e nivel_otimo.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

[caracteres] [!caracteres] [a-z] [A-Z] [0-9] [!a-z] [!A-Z] [!0-9] {frag1,frag2,...}

Considando, como exemplo, um diretrio com os seguintes arquivos:

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis Ao utilizardefinidas o comando ls com o parmetro s*, obteremos todos os arquivos cujo de nome comece por s: objeto constituem (atributos) pela classe. Os mtodos definem o comportamento um em um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. ls s* classe. sec1 Porm sec2 no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada por todas as instncias da classe.
Utilizando ls chap_?1, obtm-se o seguinte retorno:

2.3 Membros Instncia chap_a1 chap_a2 de chap_a3 chap_b1

chap_b2

chap_b3

sec1

sec2

2.3.1 Invocao de Mtodos ls chap_?1 Objetos se comunicam pela troca de mensagens, isto significa que um chap_a1 chap_b1 objeto pode ter que mostrar um comportamento particular invocando uma E ao executar o comando ls *b1 os nomes terminados b1 isto seromostrados: operao apropriada que foi todos definida no objeto. Em com Java, feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), ls *b1 devendo chap_b1 especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os mesmos valores.

37

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 43

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; Para desabilitar esse comportamento carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

necessrio usar uma barra invertida \ antes do asterisco ou da interrogao na expresso. Outra maneira colocar set -f no final da linha de comando.
D I C A

Englobamento muito parecido com expresses regulares, mas englobamento NO uma aplicao de expresses regulares. A diferena bsica que englobamento se refere aos nomes de arquivos (ou diretrios) e no s cadeias de caracteres de texto dentro de um arquivo.

3.5. STREAMS DE TEXTO USANDO FILTROS


Figura 2.4 Layout Memria aps inicializao

CAT Carro Visualiza contedo carro2o = carro1; de arquivos (geralmente de texto). Sintaxe: cat [opcao] nome_do_arquivo
Comando
cat /etc/termcap cat -n /etc/termcap cat -b /etc/termcap

//criando novo alias

Descrio Mostra o contedo do arquivo /etc/termcap. Mostra o contedo do arquivo /etc/termcap numerando suas as linhas (inclui linhas em branco). Idem ao anterior, mas excluindo as linhas em branco.

O comando tac faz o inverso do cat.

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem Comando Descrio objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. no devemos confundir com implementao que head Porm /etc/passwd Mostra poristo padro asa 10 primeiras linhasdo do mtodo, arquivo /etc/ passwd . Dois objetos distintos tm compartilhada por todas as instncias da classe. head -n20 /etc/passwd

2.3

HEAD Visualiza as primeiras de um arquivo.


Membros de Instncia Sintaxe: head [opcao] arquivo Cada objeto criado dever ter

membro head -c30 /etc/passwd Mostra por padro os 30 primeiros caracteres (bytes) iniciais dovariveis arquivo /etc/ passwd. tm os 2.3.1 Invocao de Mtodos mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma TAIL apropriada Visualiza as ltimas linhas de um arquivo. operao que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), Sintaxe: tail [opcao] arquivo devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 38 um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Mostra por padro as 20 primeiras linhas do arquivo /etc/passwd . mesmo estado se suas o

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 45

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da| 3Way Networks. treinamento@3way.com.br (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Comando Descrio carro1.modelo= "fusca"; tail /etc/passwd Mostra por padro as 10 ltimas linhas do arquivo /etc/passwd. carro1.cor = "prata";
tail -n20 /etc/passwd tail -f /var/log/messages

Linux System Administration Linguagem de Programao Java

Mostra por padro as 20 ltimas linhas do arquivo /etc/passwd. Mostra em tempo real (-f) o contedo do arquivo de log /var/log/messages.

SORT Ordena as linhas de arquivos de texto. Sintaxe: sort [opcao] arquivo


Comando
sort -d /etc/group sort

Descrio

Ordena as linhas do arquivo /etc/group na ordem de dicionrio (-d), ou seja, Figura 2.4 Layout Memria aps inicializao a,b,c,d,...,aa,ab,ac... //criando novo alias Ordena as linhas do arquivo /etc/group na ordem inversa do dicionario (-r), ou seja, -r /etc/group Carro carro2 = carro1; z,x,v...;zz,zx,zv...

WC Conta caracteres, palavras e/ou linhas dos dados da entrada padro e apresenta o resultado na sada padro. Sintaxe: wc [opcao] arquivo
Opo
-l -w -c -m

Descrio Conta as linhas. Conta as palavras. Conta os byres (caracteres). Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto Conta os caracteres (bytes).

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis wc -l texto.txt Conta a quantidade de linhas no arquivo texto.txt. (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem wc -w Isto texto.txt objeto. importante, pois denota que mtodo pertence a cada Conta a quantidade deum palavras no arquivo texto.txt . objeto da o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que wc texto.txt Mostra a quantidade de caracteres, palavras e linhas, respecitvamente.Dois objetos distintos tm compartilhada por todas as instncias da classe. 2.3.1 depara Mtodos NL Invocao Utilizado numerar as linhas de um arquivo. Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma Comandoapropriada que Descrio operao foi definida no objeto. Em Java, isto feito pela chamada de um mtodo Numera em um as objeto o operador binrio "." (ponto), linhas usando do arquivo /etc/passwd . nl /etc/passwd Igual aos comandos cat -n /etc/passwd e cat -b /etc/passwd . devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3 Membros deDescrio Instncia Comando

o mesmo estado se suas variveis membro tm os mesmos valores.

39

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 46

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da| 3Way Networks. treinamento@3way.com.br (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); nl -bacarro1.ano /etc/passwd = "2001"; Numera as linhas do arquivo /etc/passwd (incluindo as linhas em branco). carro1.modelo= "fusca"; nl -bt /etc/passwd Numera as linhas do arquivo /etc/passwd (excluindo as linhas em branco). carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

CUT Formata (ou recorta) trechos de cada linha de um arquivo. Sintaxe: cut [opcao] arquivo
Para exemplicao, supor um arquivo chamado teste_cut.txt como o seguinte contedo:
00:123:456:789 01:234:567:890 01:456:768:230 99:431:806:111

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Descrio Comando Carro carro2 = carro1; Seleciona os caracteres da coluna 1 e 2, produzindo a sada: 00 cut -c1,2 teste_cut.txt 01 01 99

cut -c1-5 teste_cut.txt

Seleciona os caracteres da coluna 1 at a 5, produzindo a sada: 00:12 01:23 01:45 99:43 Seleciona os caracteres da coluna 1 e da 4 at a 6 coluna, produzindo a sada: 0123 0234 0456 Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto 9431

cut -c1,4-6 teste_cut.txt

Seleciona (recorta) as colunas que vo at o primeiro delimitador (neste caso :). Tudo que ficar entre os : considerado como campo. 2.3 Membros de Instncia 00 cut -f1 -d: teste_cut.txt Cada objeto criado dever Os valores das variveis 01 ter sua prpria instncia de variveis (atributos) definidas pela classe. Os 01mtodos definem o comportamento de um em um objeto constituem 99 que um mtodo pertence a cada objeto da objeto. Isto importante, pois denota o seu estado. 234 variveis membro tm os 456 2.3.1 Invocao de Mtodos mesmos valores. 431troca de mensagens, isto significa que um Objetos se comunicam pela objeto pode ter que mostrar um comportamento uma Seleciona (recorta) osparticular campos 2 einvocando 4, delimitado pelos (:) 123:789 operao apropriada que foi definida no objeto. Em Java, isto feito pela cut -f2,4 234:890 chamada de-d: um teste_cut.txt mtodo em um objeto usando o operador binrio "." (ponto), 456:230 devendo especificar a mensagem completa: o objeto que o recebedor da 431:111 mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
cut -f2 -d: teste_cut.txt

classe. Porm no devemos confundir isto com a implementao do mtodo, Seleciona (recorta) as colunas que esto aps oque primeiroDois delimitador (:)distintos tm objetos compartilhada por todas as instncias 123 da classe.

o mesmo estado se suas

O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

40

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 47

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da| 3Way Networks. treinamento@3way.com.br (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata"; EXPAND Substitui espaos de tabulao (TAB)

Linux System Administration Linguagem de Programao Java

distncia aparente.

por espaos simples mantendo a

Sintaxe: expand [opcao] [arquivo] UNEXPAND Substitui espaos simples (dois ou mais) em arquivos de texto por espaos de tabulao (TAB). Sintaxe: unexpand [opcao] [arquivo]
Figura 2.4 Layout Memria aps inicializao OD Converte arquivos de texto em octal e outros diferentes formatos.

Carro = [arquivo] carro1; Sintaxe: od carro2 [opcao]

//criando novo alias

SPLIT Divide um arquivo em outros menores. A diviso pode ser por tamanho ou nmero de linhas. Sintaxe: split [opcao] [arquivo_original [partes]]
Exemplos Comando
split -b 256 teste_split split -b 512k teste_split

Descrio Divide o arquivo teste_split em partes de 256 bytes cada. Divide o arquivo teste_split em partes de 512 kilobytes cada.

Figura 2.5 Layout Memria variveis referncia para mesmo objeto de 512 kilobytes cada, Divide oduas arquivo teste_split em o vrias partes split -b 512k teste_split arq_ onde as partes tero nomes como arq_aa, arq_ab, arq_ac e assim

sucessivamente.

Cada objeto criado dever ter Divide sua prpria de variveis Os valores das variveis o arquivoinstncia texto_split.txt em vrias partes contendo 15 linhas split -l 15 texto_split.txt arqtxt_ (atributos) definidas pela classe. Os mtodos definem comportamento de um cada, onde as o partes tero nomes como arqtxt_aa , arqtxt_ab , em um objeto constituem arqtxt_ac e assim por diante. objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada por todas as instncias da classe. 2.3.1
D possvel juntar novamente as partes em um nico arquivo, basta executar o comando Invocao I de Mtodos C cat arq_* > copia_teste_split e o contedo das partes sero restauradas dentro do Objetos A searquivo comunicam pela troca copia_teste_split . de mensagens, isto significa que um

split Membros -l 5 texto_split.txt 2.3 de Instncia

Divide o arquivo texto_split.txt em partes contendo 5 linhas cada.

o mesmo estado se suas variveis membro tm os mesmos valores.

objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem o objeto que nmero o recebedor da FMT Formata um texto completa: para determinado de caracteres mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

por linha (por


41

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 48

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da| 3Way Networks. treinamento@3way.com.br (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano padro 75 linhas). = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata"; Sintaxe: fmt [opcao] [arquivo]

Linux System Administration Linguagem de Programao Java

Comando
fmt arq1.txt fmt < arq1.txt > arq2.txt

Descrio Mostra uma verso formatada do arquivo arq1.txt. O comando recebe como entrada arq1.txt, o formata sem alter-lo, e envia o resultado formatado para arq2.txt.

PASTE Concatena arquivos em colunas dispostas lado a lado. Sintaxe: paste [opcao] ... [arquivo] ... Figura 2.4 Layout Memria aps inicializao
//criando novo alias Para exemplicao, supor = umcarro1; arquivo chamado teste_paste.txt como o seguinte contedo: Carro carro2
cama mesa banho toalha

Comando
paste teste_paste.txt teste_paste.txt

Descrio Concatena o arquivo teste_paste.txt duas vezes lado a lado, produzindo a sada: cama mesa cama mesa banho toalha banho toalha Concatena o arquivo teste_paste.txt duas vezes lado a lado, redirecionando a sua sada (a mesma do exemplo acima) para o arquivo teste_saida.txt.

paste teste_paste.txt teste_paste.txt > \ > teste_saida.txt

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

42

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 49

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da| 3Way Networks. treinamento@3way.com.br (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; JOINcarro1.modelo= Une arquivos que possuem colunas de "fusca"; carro1.cor = "prata"; primeira coluna).

Linux System Administration Linguagem de Programao Java

ndice em comum (normalmente a

Sintaxe: join [opcao] ... [arquivo1] [arquivo2]


Supor dois arquivos teste_join1.txt e teste_join2.txt:
teste_join1.txt 1 a1 x1 2 b1 y1 3 c1 z1 teste_join2.txt 1 a2 x2 2 b2 y2 3 c2 z2

Comando

Descrio Une as linhas dos arquivos teste_join1.txt e teste_join2.txt, baseados produzindo a sada: 2 b1 y1 b2 y2 3 c1 z1 c2 z2

Figura 2.4 Layout Memria aps inicializao em um ndice comum (primeira coluna), join teste_join1.txt teste_join2.txt 1 a1 x1 a2 x2

//criando novo alias Carro carro2 = carro1;

PR Faz a paginao de um arquivo texto e opcionalmente ajusta o nmero de colunas e mostra o resultado na sada padro. Sintaxe: pr [opcao] [arquivo]
Opes Opo
+[NUM] -[NUM] -c

Descrio Inicia a numerao de pginas na pgina [PAGINA] Mostra a sada com [NUM] colunas. Imprime o caracter CTRL como ^ na sada padro
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis [tamanho]. (atributos) definidas pela classe. Os mtodos definem o comportamento de um -h [nome] Mostra [nome] ao invs do nome do arquivo no cabealho. objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da -l [num] Define o nmero mximo de linhas por pgina para [num]. classe. Porm no devemos confundir isto com a implementao do mtodo, que -m compartilhada por todas asImprime instncias da classe. vrios arquivos em paralelo, um por coluna.

Exemplo objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que pr foi -l definida no objeto. Em do Java, isto teste_pr.txt feito pela 50 -h "novo cabecalho arquivo" chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da TR Converte caracteres. Recebe dados somente atravs da entrada mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas -r Oculta mensagens de erro de abertura de arquivos. variveis membro tm os 2.3.1 Invocao de Mtodos -w [num] Ajusta a largura da pgina para [num] colunas (o padro 72). mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um

2.3

-F, -f

-e [caracter][tamanho]

Membros de Instncia Usa o

Usa avano de pgina ao invs de linhas em branco para separar pginas. caracter [caracter] como tabulao (o padro tab) e o espao da tabulao

padro.
43

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 50

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da| 3Way Networks. treinamento@3way.com.br (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; Comando carro1.cor = "prata"; Descrio echo xyz | tr '[a-z]' '[A-Z]' Converte, caractere por caractere, a sequencia xyz em XYZ.
cat teste_tr.txt | tr '-' '*'

Linux System Administration Linguagem de Programao Java

Converte o caractere em todo arquivo teste_pr.txt pelo caractere *.

UNIQ Exibe o contedo de arquivos eliminando as linhas sequenciais repetidas. Sintaxe: uniq [opcao] [arquivo_entrada] [arquivo_saida] SED um editor de fluxo de dados (bits) para filtragem e transformao de textos. Figura 2.4 Layout Memria aps inicializao Os usos mais comuns do comando so para substituio e deleo de strings em uma //criando novo alias entrada de dados. Carro carro2 = carro1; Sintaxe de substituio: sed 's/string_antiga/string_nova/g' arquivo Sintaxe de deleo: sed '<inicio>,<fim>d' arquivo

Exemplos Contedo do arquivo teste_sed.txt


Batatinha quando nasce, esparrama pelo chao Mamaezinha quando dorme, poe a mao no corao Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Comando

Descrio Substitui a palavra quando por se em todo o arquivo teste_sed.txt.

Cada objeto criado dever ter sua prpria instncia de variveis Os por valores das cat teste_sed.txt | sed 's/,/-/g' Substitui dentro do arquivo teste_sed.txt as vrgulas hfens . variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem sed '2,4d' teste_sed.txt Deleta as linhas 2, 3 e 4 do teste_sed.txt . objeto. Isto importante, pois denota que um mtodo pertence a arquivo cada objeto da o seu estado. sed '1,/quando/d' teste_sed.txt classe. Porm no devemos confundir isto com a implementao do mtodo, que Deleta as linhas que possuam a palavra quando (a partir da primeira). Dois objetos distintos tm compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela muito comum, ao editarmos alguns arquivos de configurao, termos que fazer o seu chamada de um D mtodo em um objeto usando o operador binrio "." (ponto) , I backup, como no exemplo abaixo: C devendo especificar a mensagem completa: o objeto que o recebedor da A mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3 sed

Membros de teste_sed.txt Instncia 's/quando/se/g'

o mesmo estado se suas variveis membro tm os mesmos valores.

44

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 51

Este material no Especialista pode ser distribudo. Curso em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); cat arq1.conf > arq.conf.bkp carro1.ano = "2001"; cat arq1.conf | sed '/palavra/d' > arq1.novo.conf carro1.modelo= "fusca"; mv arq1.novo.conf arq1.conf carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

Com o comando sed possvel resumir esse trabalho todo em uma s linha:
sed -i.arq1.conf.bkp '/palavra/d' arq1.conf

Ou seja, o termo palavra foi retirado do arq1.conf e ainda criado o backup arq1.conf.bkp.

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja umesteja Profissional Aprendendo com Profissionais um que definido pelo objeto.
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

45

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 52

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; ABORATRIO carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

3.6. L

Passo 1) Crie a seguinte rvore de diretrios abaixo de SEU diretrio home:


diretrio Home do Usurio | |_Pessoal | |__Contas | |__Trabalho | |_Especialista |__Redes |__Linux mkdir ~/Pessoal ~/Especialista mkdir ~/Pessoal/Contas ~/Pessoal/Trabalho Figura 2.4 Layout Memria aps inicializao mkdir ~/Especialista/Redes ~/Especialista/Linux

//criando novo alias Carro carro2 = carro1;

Passo2) Crie o arquivo anotacoesLinux dentro do diretrio Pessoal.


touch ~/Pessoal/anotacoesLinux

Passo 3) Renomeie o arquivo anotacoesLinux para auladeLinux1.


mv ~/Pessoal/anotacoesLinux ~/Pessoal/auladeLinux1

Passo 4) Copie o arquivo aulaLinux1 para o diretrio Linux.


cp ~/Pessoal/aulaLinux1 ~/Especialista/Linux/

Passo 5) Crie o arquivo aulaLinux2 dentro do diretrio Linux.


touch ~/Especialista/Linux/aulaLinux2 Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) Passo definidas classe. desde Os mtodos definem comportamento decomecem um 7)pela Procure a raiz todosoos arquivos que com a constituem em um objeto objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. expresso Aula e terminem com um nmero. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada por todas as instncias da classe. find / -name Aula*[0-9]

2.3

Membros de Instncia cat ~/AulasdeLinux

Passo 6) Mostre o contedo do arquivo AulasdeLinux.

objeto pode ter que mostrar um comportamento particular invocando uma vezes aparece a palavra Multiusurio no arquivo aulaLinux1. operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de umMultiusurio mtodo em um objeto usando o operador grep ~/Pessoal/aulaLinux1 | wc binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas tm os 2.3.1 Invocao Passo de 8)Mtodos Supondo que o contedo do arquivo auladeLinux1variveis tenha omembro contedo mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um

Linux Multiusurio, Multitarefa, Mutiusuario e Transportvel, conte quantas

46

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 53

Este material no Especialista pode ser distribudo. Curso em Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Passo 9) Apague os arquivos AuladeLinux1 e AuladeLinux2. carro1.modelo= "fusca"; carro1.cor = "prata"; rm -f ~/Pessoal/aulaLinux1 ~/Especialista/aulaLinux2

Linux System Administration Linguagem de Programao Java

Passo 10) Localize o binrio do comando fmt no disco.


which fmt

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja umesteja Profissional Aprendendo com Profissionais um que definido pelo objeto.
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

47

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 54

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS = "prata"; carro1.cor

Linux System Administration Linguagem de Programao Java

3.7. E

Descreva sobre cada componente do prompt de comando do Linux.


[usuario@maquina diretorio]simbolo

O que representa o bash no para o sistema operacional? O comando alias cria apelidos para os comandos. Se um apelido for criado com o mesmo nome do comando original, como possvel utilizar o original ao invs do apelido?
Figura 2.4 Layout Memria aps inicializao Qual a diferena entre os seguintes comandos: a) !23

b) !ls

Carro D dois exemplos de variveis invlidas e dois de vlidas. Justifique o motivo carro2 = carro1; de cada exemplo. Como se preenche e se visualiza o contedo de uma varivel? Para verificar qual o arquivo que armazena o histrico de comandos preciso utilizar qual comando? D o significado das variveis PATH, !, $, ? e ~. Qual a diferena entre o comando set e env? "A execuo do programa pode ser feita pelo caminho completo ou relativo". Explique a frase usando exemplos. O bash possui alguns caracteres especiais como o ponto e vrgula (;), duplo comercial (&&) e duplo pipe (||). Qual a funo deles? Responda com 2.3 Membros de Instncia exemplos.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

//criando novo alias

Cada objeto criado dever ter sua prpria instncia de variveis Considere a linha genrica abaixo e responda (atributos) definidas pela classe.de Os comando mtodos definem o comportamento de um objeto. Isto importante, denota que um mtodo pertence a cada objeto da comando2 e pois o comando3 sero executados. classe. Porm no devemos confundir || isto comando3 com a implementao do mtodo, que comando1 && comando2 compartilhada por todas as instncias da classe.

objeto pode ter que comportamento particular invocando uma a) file b) mostrar pwd c)um touch operao apropriada que foi definida no objeto. Em Java, isto feito pela Explique como comando cd /tmp && -lah chamada de um mtodo em funciona um objeto o usando o operador binrio "."ls (ponto) , devendo especificar a mensagem completa: o objeto que o recebedor da Considere comando mensagem, o mtodo ao ser invocado eabaixo: os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o seu estado. Dois objetos distintos tm o mesmo estado se suas Crie situaes onde o uso dos comandos abaixo seriam indispensveis. variveis membro tm os 2.3.1 Invocao de antes Mtodos Pesquise de responder, quanto mais situaes melhor ser a resposta. mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um

em qual situao o em um objeto constituem

Os valores das variveis

48

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 55

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); mkdir /tmp/testetmp/txt && cp ~/arq1.txt /tmp/testetmp/txt/ carro1.ano = "2001"; carro1.modelo= "fusca"; Se a estrutura diretrios testetmp/txt no existir no /tmp, a linha carro1.cor = de "prata";

Linux System Administration Linguagem de Programao Java

de comando no funcionar corretamente. Como voc corrigiria essa situao? (Considere a soluo mais simples). a) cd
..

Diferencie as quatro variantes abaixo do comando cd: b) cd


/

c) cd

d) cd

"Os comandos RMDIR e RM so comandos que se assemelham em um ponto e se distancia em outro". Explique essa frase com exemplos. O comando MV utilizado para mover arquivos. Como ele pode ser usado Figura 2.4 Layout Memria aps inicializao para renomear?
//criando novo alias Carro carro2 = carro1; Usando o comando FIND,

crie exemplos para as seguintes necessidades:

a) procurar arquivos mais recentes que /dir1/arq1.txt b) encontrar links de arquivos que comecem com h em /dev/ c) achar arquivos em todo o sistema que combinem com a expresso "so" sendo ela maiscula ou minuscula. Para que so utilizados os comandos CAT, HEAD, TAIL e SORT? Exemplifique cada um deles. Qual o resultado do comando cut -f1 -d: adaptado para exibir o shell do usurio?
/etc/passwd?

Como ele seria

2.3

Crie um arquivo onde seja possvel utilizar o comando UNEXPAND. Mostre o contedo do arquivo e um exemplo do comando para ele. Cada Qualobjeto o resultado do comando split criado dever ter sua prpria
Membros de Instncia
-l 10 /etc/passwd instncia de variveis senha-

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

(atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe.

2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

? Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

49

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 57

Este material pode ser distribudo. Curso no Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.br da | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

4. STREAMS, PIPES E REDIRECIONAMENTOS


4.1. REDIRECIONAMENTOS
Para nos comunicarmos com o computador fazemos uso de dispositivos de entrada e sada, respectivamente representados pelo teclado e monitor. No entanto existem outros meios de comunicao entre o usurio e o computador, tanto para entrada (scanner, leitor de cdigo de barras, CD/DVD-ROM, disquete e a prpria rede), quanto para sada de dados (impressora, CD, DVD, disco flexvel, etc). sada: //criando Em ambientes UNIX so dispositivos bsicos para fazer a entrada e Figurausados 2.4 Layout 3 Memria aps inicializao Entrada padro, tambm conhecido por STDIN Sada padro, tambm conhecido por STDOUT
novo alias Carro carro2 = carro1;
Os apelidos STDIN, STDOUT e STDERR tem sua utilidade mais clara em ambientes de programao ou sheel scripts.

Sada de erro padro, tambm conhecido por STDERR

Os sistemas UNIX tambm possuem um conceito interessante, onde tudo arquivo. Este conceito permite escrever em dispositivos externos exatamente da mesma forma que se escreve em arquivos. Consequentemente os dispositivos bsicos mencionados tambm so arquivos nesses tipos de sistema. Programas UNIX, incluindo o shell, lidam com arquivos atravs de Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto descritores, nmeros que representam um determinado arquivo que est aberto para leitura e/ou escrita.
Membros de Instncia A entrada, a sada e a sada de erros tambm possuem estes descritores.

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis Abaixo definidas h uma pela tabela que nmeros e seus significados: (atributos) classe. Osresume mtodosesses definem o comportamento de um em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. Porm no devemos confundir istoPadro com a implementao do mtodo, que de Arquivo Dispositivo Mapeado por Para Nmero do Descritor Dois objetos Apelido distintos tm compartilhada por todas as instncias da classe.
Entrada padro Teclado 0 Sada Invocao padro Monitor 1 2.3.1 de Mtodos Objetos se comunicam pela Monitor troca de mensagens, isto significa que Sada de erros padro 2 um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela 4.1.1. R EDIRECIONANDO A SADA chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da Consiste em transferir para um arquivo uma sada de dados mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um Profissional Aprendendo umSeja que esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

o mesmo estado se suas STDIN variveis membro tm os STDOUT mesmos valores.


STDERR

padro (cdigo 1)
50

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 58

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); =2 "2001"; ou decarro1.ano erros (cdigo ). Usam-se os smbolos > carro1.modelo= "fusca"; esse tipo de redirecionamento. carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

(maior) e >> (maior maior) para fazer

Comando

Descrio Envia a sada padro do comando pwd para o arquivo saida1.txt. Se o arquivo no existir, ele ser criado. Se existir, ser substitudo. Obs.: No ser exibida nenhuma mensagem referente a sada padro, se houver ser da sada de erros. Acrescenta a sada padro do comando fdisk -l ao final do arquivo saida2.txt, mantendo seu contedo anterior. Caso o arquivo saida2.txt no exista, o mesmo ser criado.
Figura 2.4 Layout Memria aps inicializao Envia a sada de erros do comando

pwd > saida1.txt

fdisk -l >> saida2.txt

cat /proc/locks 2> saida3.txt //criando novo alias

Carro carro2 = carro1;

cat /proc/locks para o arquivo saida3.txt. A sada padro ser feita normalmente, somente os erros sero enviados para o arquivo. Envia a sada padro e a sada de erros do comando ls -la /opt /mnt1 para o arquivo saida4.txt. No haver sada na tela.

ls -la /opt /mnt1 > saida4.txt 2>&1

4.1.2. REDIRECIONANDO A ENTRADA Usa-se o smbolo < (menor) para redirecionar o contedo de um arquivo para a entrada de algum comando. O comando tr no pode ler arquivos diretamente, ento pode-se usar redirecionamento de entrada para trabalhar com ele. Veja o exemplo:
Contedo do arquivo teste_redir_entrada.txt
calda Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Comando

Descrio Substitui a letra d pela letra c, produzindo a palavra calca.

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem Tente perceber que um redirecionamento sempreaenvolve COMANDO e ARQUIVO, ou objeto. Isto importante, pois denota que um mtodo pertence cada objeto da o seu estado. D seja, a sada de um comando enviada como contedo de um arquivo ou um comando classe. Porm noI devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm C recebe como entrada o contedo de um arquivo. compartilhada por todas as instncias da classe. A Fique atento a esse detalhe nos exames de certificao, pois so comuns abordagens 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma 4.2. P IPES operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de mtodo em umdo objeto o operador binrio "." (ponto) , A um ideia principal usousando de pipe ( | ) fazer com que os devendo especificar a mensagem completa: o objeto que o recebedor da em conjunto enviando suas sadas para a entradas de outros. mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

tr 'd' 'c' < teste_redir_entrada.txt

Membros de Instncia

dessa natureza.

o mesmo estado se suas variveis membro tm os mesmos valores.

comandos trabalhem Neste cenrio, cada


51

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 59

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano "2001"; aplicativo executa =determinada operao, conclui carro1.modelo= "fusca"; prximo utilitrio. = "prata"; carro1.cor

Linux System Administration Linguagem de Programao Java

e passa o seu resultado para o

Um exemplo simples o comando ls, se o executarmos em algum diretrio com muitos arquivos o resultado ser mostrado muito rapidamente, quase no dando para ver adequadamente o contedo. Para pausar a sada pode-se utilizar pipe juntamente com algum comando de paginao.
ls /etc | more

ou

ls /etc | less

Comando
cat cidades.txt | grep -i go

Descrio
Figura o 2.4 Layout Memria aps inicializao Filtra contedo do arquivo cidades.txt procurando pelas ocorrncias do termo go (maisculo ou minsculo).

//criando novo alias Carro carro2 = carro1; Mostra as ltimas 10 linhas do arquivo /etc/profile que so passadas pelo cat /etc/profile | tail comando cat.

TEE Envia a sada padro de um comando tanto para um arquivo quanto para a tela. Em conjunto com o pipe um comando muito til.
Exemplos Comando
cat cidades.txt | tee captura.txt

Descrio Envia o contedo do arquivo cidades.txt para o arquivo captura.txt e tambm para a tela. A sada do comando ls -lah encaminhada ao tee por uma coloca a sada padro em outro pipe para o comando paginador more e tambm no arquivo arq1.txt. Mostra a listagem detalhada, incluindo arquivos ocultos, na tela e

Figura 2.5 Layout Memria duas variveisO referncia paratee o mesmo objeto canalizao. comando por sua vez ls -l | tee arq1.txt | more

envia para o arquivo lista.txt. Cada objeto criado dever ter sua ainda prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um um objeto constituem Envia o contedo do diretrio /usr/src/em para a tela atual e para ls -lah /usr/src/* | tee /dev/pts/1 objeto. Isto importante, pois denota que um mtodo pertence a cada outra tela (/dev/pts/1 ). objeto da o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos Os shells (-f7) de todos os usurios do sistema ( /etc/passwd ) sotm /etc/passswd cut -d: -f7 | tee cat compartilhada por|todas as instncias dashell classe. enviados para o arquivo shell e para a tela.

2.3 Membros de Instncia ls -la | tee lista.txt

2.3.1 Invocao de Mtodos Objetos se comunicam pela troca mensagens, significa que a um XARGS Recebe a sada de umde comando e isto repassa para entrada objeto pode ter que mostrar um comportamento particular invocando uma parmetro (argumento). operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando oinicial]] operador binrio "." (ponto), Sintaxe: xargs [comando [argumento devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os mesmos valores.

de outro como

52

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 60

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Exemplos carro1.modelo= "fusca"; Comando carro1.cor = "prata";
ls /opt/* | xargs rm -rf

Linux System Administration Linguagem de Programao Java

Descrio Apaga todos os arquivos ou diretrios presentes no diretrio /opt/. Procura por arquivos iniciados por name em /etc/ e os passa como parmetro de entrada para o comando ls -l. Procura em todos os arquivos .log de /var/log/ arquivos que contenham a palavra (ou frase) error. Comprime todos os arquivos .conf do diretrio /etc/ no arquivo confs.tar.gz. (-f) todos os arquivos iniciados por vid que esto dentro do diretrio /tmp/.

find /etc/ -name 'name*' | xargs ls -l

find /var/log/ -name "*.log" | xargs grep -E "error"

find /etc/ -name '*.conf' | xargs tar -zcvf confs.tar.gz

find /tmp/ -name vid* -type f | xargs rm -f //criando novo alias

Figura 2.4 Layout Memria apsApaga inicializao silenciosamente

Carro carro2 = carro1;

D I C A

Os comandos tee e xargs so bem interessantes, eles podem fazer parte de linhas de comandos complexas. Eles so presena garantida nos exames de certificao LPIC.

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

53

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 61

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; ABORATRIO carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

4.3. L

Passo 1) Considere a rvore de diretrios abaixo:


~ | |_Pessoal | |_Especialista

Passo2) Crie o arquivo Anotacoes dentro do diretrio Especilista contendo o texto: Linux um sistema operacional moderno, modular e multiusuario.
echo Linux um sistema operacional moderno, modular e multiusuario > ~/Pessoal/Anotacoes Figura 2.4 Layout Memria aps inicializao

final do arquivo criado na questo anterior a frase Linux e Windows sinnimo de Ambientes Mistos.
echo Linux e Windows sinnimo de Ambientes Mistos >> ~/Pessoal/Anotacoes

//criando alias ao Passo 3)novo Adicione Carro carro2 = carro1;

Passo 4) Copie os arquivos de configurao do diretrio /etc/ para o diretrio Especialista e envie os eventuais erros para o arquivo /tmp/erros.tmp.
cp /etc/*.conf ~/Especialista/ 2> /tmp/erros.tmp

Passo 5) Modifique o passo 4 para que tanto os erros quanto os arquivos copiados sejam enviados para o arquivo /tmp/saida.tmp.
cp /etc/*.conf ~/Especialista/ > /tmp/saida.tmp 2>&1
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto Passo 6) Apague o contedo do diretrio Especialista enviando a sada para o arquivo /tmp/saida2.tmp e para a tela.

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia rm -f ~/Especialista/*

| tee /tmp/saida2.tmp

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

54

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 62

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS = "prata"; carro1.cor

Linux System Administration Linguagem de Programao Java

4.4. E

Diferencie redirecionamento e o pipe. Quais so os descritores, apelidos e dispositivos que representam a entrada de dados, sada de dados e a sada de erros? D dois exemplos de cada redirecionamento de sada ( > e >> ). Explique cada um deles. Cite exemplos de uma situao onde o uso do redirecionamento de entrada ( Figura 2.4 Layout Memria aps inicializao < ) seria bem vindo.
//criando novo alias Carro = carro1; Qual carro2 a funo e a sintaxe

do comando tee?

O comando xargs usado para passar parmetros para outros comandos. Pensando nisso, crie dois exemplos onde os comandos xargs e tee funcionam em conjunto.

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

55

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 63

Este material no pode serem distribudo. Curso Especialista Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System LinguagemAdministration de Programao Java

5. CRIAO, MONITORAMENTO E FINALIZAO DE PROCESSOS


Genericamente, processos so que programas em execuo, mas as vezes um programa pode lanar vrios processos para funcionar. Para cada processo existente, o sistema operacional fornece um cdigo (PID) que o identificar. O Linux pode executar mais de um processo simultaneamente, portanto possvel ter processos em primeiro plano (foreground) e tambm segundo plano (background). Os comandos ps, top, pstree, pidof, kill e killall so utilizados no gerenciamento de processos.
Figura 2.4 Layout Memria aps inicializao

Carro carro2 carro1; PS Mostra uma = viso esttica dos processos ativos no sistema.

//criando novo alias

Sintaxe: ps [opcao]

TOP Mostra em tempo real todos processos em execuo no sistema. O mesmo comando apresenta informaes sobre tempo ativo da mquina, quantidade de usurios logados, porcentagem de memria e processador. Tambm possvel mudar a prioridade dos processos (tecla [R] e o PID do processo).
Sintaxe: top
2.5 Layout Memria duas variveis referncia para o mesmo objeto PSTREE Mostra a Figura rvore de processos do sistema.

Sintaxe: pstree [opcao]


Cada objeto criado dever ter sua prpria instncia de variveis PIDOF Mostra o PID de programas em execuo. (atributos) definidas pela classe. Os mtodos definem o comportamento de um Sintaxe: pidof [opcao] programa1 [programa2 ] objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe.

objeto pode ter que mostrar um comportamento particular invocando uma Sintaxe: kill [opcao] [sinal] pid operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da KILLALL Permite que oe super usurio ouoos donos processos mensagem, o mtodo a ser invocado os argumentos para mtodo (sedos houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Sejaesteja um Profissional Aprendendo um que definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os KILL Permite que o super usurio ou os donos dos processos possam 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto que um PID. mesmos valores. eliminar processos ativos no sistema a significa partir de seu

2.3

Membros de Instncia

possam eliminar
56

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 64

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano "2001";a partir do seu nome. processos ativos no=sistema carro1.modelo= "fusca"; carro1.cor = "prata"; Sintaxe: kill [opcao] [sinal] nome

Linux System Administration Linguagem de Programao Java

Exemplos Comando
ps aux top pstree//criando -a

Descrio Mostra uma viso esttica por usurio de todos os processos em execuo. Mostra uma viso dinmica deMemria todos os processos em execuo. Figura 2.4 Layout aps inicializao

novoApresenta alias a rvore de processos do sistema e suas respectivas linhas de argumentos. Carro carro2 = carro1; pidof httpd Exibe todos os PID dos processos responsveis pelo servio httpd.
kill 1212 kill -1 1213 kill -2 1214 killall -3 httpd killall -9 firefox

Envia o sinal 15 (SIGTERM) para o processo com PID 1212. Esse sinal promove o trmino amigvel do processo, sem forar a finalizao abrupta. Envia o sinal 1 (SIGHUP) para o processo com PID 1213. Normalmente esse sinal atualiza o processo atravs da releitura de seus arquivos de configurao. Envia o sinal 2 (SIGINT) para o processo com PID 1214, que interrompe o processo como a combinao de teclas [CTRL]+[C]. Envia o sinal 3 (SIGQUIT) para o programa httpd (Apache) fechando-o. Envia o sinal 9 (SIGKILL) para o programa firefox. Promove a finalizao forada do processo.

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis programa quando iniciado definem normalmente toma o foco da entrada ouobjeto sada constituem padro (atributos)Um definidas pela classe. Os mtodos o comportamento de um em um objeto. Isto importante, denota), que um mtodo pertence a programa cada objetoj da em segundo (respectivamente stdinpois e stdout ento para iniciar um plano, basta o seu estado . classe. Porm no devemos confundir isto com a implementao do mtodo, que utilizar & no final da linha de comando. Dois objetos distintos tm compartilhada por todas as instncias da classe.

2.3

Membros de Instncia

D I C A

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Todos os sinais possveis de envio podem ser vistos usando-se a opo -l nos comandos kill e killall.

o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um Ele ganhar, alm do seu PID, um identificador chamado job , que servir para posterior objeto pode ter que mostrar um comportamento particular invocando uma manipulao do seu plano. operao apropriada que foi definida no objeto. Em Java, isto feito pela
comando &

chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da BG Envia um programa em execuo (ou pausado) para mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o segundo plano
57

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 65

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); =o "2001"; (backcarro1.ano ground). Aps envio, o programa ganha carro1.modelo= "fusca"; carro1.cor = "prata"; Sintaxe: bg [numero_job]

Linux System Administration Linguagem de Programao Java

um job.

FG Traz um programa em segundo plano para o primeiro (foreground).


Sintaxe: fg [numero_job]

JOBS Exibe todos os jobs existentes no sistema.


Sintaxe: jobs
Figura 2.4 Layout Memria aps inicializao Se houver somente um programa (job) sendo executado, pode-se utilizar bg e fg sem //criando novo alias argumentos. Para utilizar o nome do programa ao invs do job necessrio preceder o nome com Carro possibilidade carro2 = carro1; %?. Outra utilizar o nome do processo no comando kill, basta que ele seja precedido de %.

Quando um usurio faz logout do sistema enviado um sinal SIGHUP para todos os processos que ele tenha inicializado, isso altera de certa forma o estado do processo, podendo at finaliz-lo aps o logout. Para que isso no ocorra preciso fazer uso do comando nohup, que mantm o processo at o seu trmino natural e registra a sua atividade.
nohup comando &

Todas as mensagens (sada padro e sada de erros) so registradas no arquivo nohup.out criado no diretrio corrente.

FREE Exibe informaes sobre a quantidade total e livre da memria principal e swap. Utiliza como fonte o arquivo /proc/meminfo. Sempre que um processo estiver 2.3 Membros de Instncia consumindo muita memria, pode-se utilizar esse comando para verificar o estado Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis desse recurso. (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem
objeto. Isto importante, Sintaxe: free [opcao] pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe.

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

objeto pode ter que mostrar um comportamento particular invocando uma Sintaxe: uptime operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), Exemplos devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o seu estado. Dois objetos distintos tm o mesmo estado se suas UPTIME Mostra informaes sobre o tempo de uso ininterrupto do sistema a os variveis membro e tm 2.3.1 Invocao de Mtodos mesmos valores. mdia Objetos geral de recursos. se consumo comunicam de pela troca de mensagens, isto significa que um

58

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 66

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Comando Descrio carro1.modelo= "fusca"; vi texto.txt & Inicia enviando para segundo plano o comando vi texto.txt. carro1.cor = "prata"; jobs Mostra todos os jobs do sistema.
bg 1 fg 1 fb %?vi kill -9 %vi nohup wget ftp://teste.net/arq.bz2 &

Linux System Administration Linguagem de Programao Java

Envia para segundo plano um programa cujo job seja 1. Traz para primeiro plano um programa cujo job seja 1. Traz para primeiro plano o programa vi sem a especificao de seu job. Caso haja mais de um comando vi em segundo plano retornar erro. Finaliza abruptamente o programa vi. Mantm o comando wget ftp://teste.net/arq.bz2 em execuo mesmo aps o usurio que iniciou o comando deslogar-se do sistema. Todas as sadas so registradas no arquivo nohup.out. do sistema e o consumo mdio de recursos. Load average mostra o se o sistema est sendo muito exigido.

uptime //criando

Figura 2.4 Layout Memria aps inicializao Mostra o tempo de uso ininterrupto

novo alias Carro carro2 = carro1;

5.1. MODIFICAO DA PRIORIDADE DE EXECUO DE PROCESSOS


Os processos podem assumir prioridades de processamento que vo de 19 a -20, sendo a primeira a prioridade mais baixa e a segunda a mais alta. Esse nmeros so conhecidos como nmeros nice. A prioridade padro de lanamento de um processo 0 (zero). Somente o usurio root pode aumentar a prioridade dos processos, o que significa reduzir o nmero nice. NICE Esse comando executa outros comandos atribuindo a eles uma Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto determinada prioridade.
Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe.aOsprioridade mtodos definem comportamento um RENICE Modifica de o comandos em de execuo. Pode alterar a em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. prioridade de processos por PID, GID e por nome de usurio. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm renice prioridade [[-p pid ] [-g pgrp ] [-u usuario]] Sintaxe: compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Exemplos Objetos se comunicam pela troca de mensagens, isto significa que um Comando Descrio objeto pode ter que mostrar um comportamento particular invocando uma nice -n apropriada 5 vi texto.txt Inicia o comando vi texto.txt com a prioridade 5. pela operao que foi definida no objeto. Em Java, isto feito chamada de um mtodo em um objeto usando o operador binrio "." (ponto) renice -5 -p 1215 Muda a prioridade do processo de PID 1215 para -5. , devendo especificar a mensagem completa: o objeto que o recebedor da renice 20 -g secretaria Altera a prioridade dos processos iniciados por qualquer membro do grupo secretaria mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 59 um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Sintaxe: nice [-n prioridade] comando Membros de Instncia

o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 67

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da 3Way3232 Networks. treinamento@3way.com.br | (62) 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; para 20. carro1.modelo= "fusca"; renice -1 -u root Modifica a prioridade de todos os processos lanados pelo usurio root para -1. carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

60

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 68

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; ABORATRIO carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

5.2. L

Passo 1) Visualize de forma paginada a rvore de processos do sistema exibindo os respectivos PIDs com o comando pstree.
pstree -p | less

Passo 2) Abra o comando top para monitorar em tempo real a atividade do sistema. Em seguida, ainda com o top aberto, inicie o firefox para observar sua atividade.
top
Figura 2.4 Layout Memria aps inicializao firefox //criando novo alias Passo 3) Use o comando pidof para visualizar o PID Carro carro2 = carro1;

compare com o PID visto no top.


pidof firefox-bin

do firefox. Obs.:

Passo 4) Mate o processo referente ao firefox com o comando killall.


killall -9 firefox-bin

Passo 5) Inicie o firefox, o vi e a calculadora de linha de comando, todos em segundo plano, e use o comando jobs para a visualizao dos seus nmeros job.
firefox & vi & bc & jobs

Passo 6) Trazer cada um dos processos em segundo plano para o primeiro.


fg job_do_bc Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem 7) Verifique a quantidade de pertence memria livre no sistema em megabytes e objeto. IstoPasso importante, pois denota que um mtodo a cada objeto da o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que o tempo em ele est funcionado ininterruptamente. Dois objetos distintos tm compartilhada free por -m todas as instncias da classe.

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

2.3

fg job_do_vi Membros de Instncia

fg job_do_firefox

2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

uptime

o mesmo estado se suas variveis membro tm os mesmos valores.

61

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 70

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

5.3. E

Os comandos ps, top e pstree possuem uma estreita relao, mas no entanto possuem suas diferenas. Faa uma tabela comparativa entre eles com exemplos detalhados. Tanto o comando kill quanto killall tem a mesma finalidade: enviar sinais para processos. Qual a diferena entre eles. Relacione em um quadro os principais sinais que so enviados para os processos. //criando Explique novo o resultado da linha de comando killall -1 sshd. alias
carro2 = carro1; Carro Como se inicia um comando em segundo plano (background) e como feito o retorno dele para o primeiro plano (foreground)?
Figura 2.4 Layout Memria aps inicializao

Qual a diferena entre o job e PID de um processo? O arquivo /proc/meminfo consultado para retornar a sada de qual comando? Diga uma situao prtica onde esse comando seria importante. O que se pode deduzir de um servidor que possui um valor de uptime alto? Os comandos nice e renice se relacionam com a prioridade dos processos. Qual a diferena entre eles?
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

62

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 71

Este material no pode serem distribudo. Curso Especialista Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System LinguagemAdministration de Programao Java

6. BUSCA EM ARQUIVOS TEXTO COM EXPRESSES REGULARES


Uma expresso regular (regex) fornece uma maneira enxuta e flexvel de identificar determinadas combinaes de caracteres, como caracteres particulares, palavras ou padres de caracteres. So escritas numa linguagem formal que pode ser interpretada por um processador de expresso regular, um programa (comando) que examina o texto identificando partes que casem com algum padro dado.
Figura 2.4 Layout Memria aps inicializao

//criando novo alias Expresses Regulares: Caracteres Especiais Carro carro2 = carro1; Caractere Descrio
^ $ . * ? []

Incio de linha. Final de linha. Qualquer caractere. Qualquer sequencia de zero ou mais caracteres. Nenhum ou um nico caractere. Qualquer caractere presente dentro dos colchetes.

GREP Procura por determinados padres de texto (regex) dentro de um arquivo. Pode receber sua entrada atravs da entrada padro (para stdin ). objeto Figura 2.5 Layout Memria duas variveis referncia o mesmo
Sintaxe: grep [opcao] padrao_regex arquivo_texto
Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um EGREP Procura por determinados padres (eregex - expresses regulares em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado . da estendidas) de texto dentro de um arquivo. Pode receber sua entrada atravs classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm entrada padro (stdin ). compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se[opcao] comunicam pela troca dearquivo_texto mensagens, isto significa que um Sintaxe: egrep padrao_eregex objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da FGREP Procura por determinados ocorrncias de texto mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Sejaesteja um Profissional Aprendendo um que definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

igual ao comando grep -E.

o mesmo estado se suas variveis membro tm os mesmos valores.

dentro de um arquivo
63

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 72

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; ignorando os padres regex, mesmo que se fornea caracteres especiais eles no carro1.modelo= "fusca"; sero carro1.cor tratados como Pode receber sua entrada atravs da entrada padro (stdin). = tal. "prata";

Linux System Administration Linguagem de Programao Java

igual ao comando grep -F.


Sintaxe: fgrep [opcao] padrao_nao_regex arquivo_texto

D I C A

As expresses regulares so importantes no cotidiano do administrador de sistemas e tambm nos exames da certificao LPIC. Domin-las um requisito importante para o sucesso no exame. Exemplos Figura 2.4 Layout Memria aps inicializao

Comando //criando novo alias Carro carro2 = carro1;


grep -in 'go' cidades.txt grep -c 'tux' ~/teste cat paises.txt | grep -v 'brasil'

Descrio Procura por ocorrncias do padro go no arquivo cidades.txt, ignora se as ocorrncias so maisculas ou minsculas e numera cada linha encontrada. Retorna a quantidade de linhas onde o padro tux foi encontrado no arquivo ~/teste. Recebe sua entrada do comando cat paises.txt e retorna todas as ocorrncias onde o padro brasil no for encontrado. Busca por ocorrncias exclusivas do padro brasil no arquivo paises_cidades.txt. Dessa forma s sero retornadas as ocorrncias onde o padro brasil for encontrado no servindo brasileiro ou brasiliense.

fgrep 'brasil' paises_cidades.txt

SED Procura e substitui padres de texto (regex) dentro de um arquivo. Pode Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto receber sua entrada atravs da entrada padro (stdin).
Sintaxe: sed [opcoes] 'comando padrao_regex' [arquivo_texto]
Cada objeto criado dever ter sua prpria instncia de variveis Exemplos Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem Comando Descrio objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu /etc/inittab estado. . Elimina (comando d) as linhas de comentrios do arquivo classe. Porm no devemos confundir isto com a implementao do mtodo, que sed '/^#/d' /etc/inittab objetos distintos tm Na verdade essas linhas so as que se iniciam (Dois ^) com #. compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos mesmos valores. se comunicam troca Insere de mensagens, isto do significa que um da primeira sed -e Objetos '1i Incio do arquivo'pela \ o texto Incio arquivo antes linha (1i ) e apaga > -e '3d' /etc/inittab (d) a linha 3particular do arquivo invocando /etc/inittab. uma objeto pode ter que mostrar um comportamento operao apropriada que foi definida noExecuta objeto.o Em Java, isto texto.txt feito pela sed -f arq-cmd /etc/inittab sed no arquivo lendo as expresses regulares e os chamada de um mtodo em um objeto usando o operador binrio "." (ponto) , comandos a partir do arquivo arq-cmd (opo -f). devendo especificar a mensagem completa: o objeto que o recebedor da Exemplo depara contedo de arq-cmd : mensagem, o mtodo a ser invocado e os argumentos o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 64 um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

sed 's/tty/ttyS/g' /etc/inittab

mesmo estado se suas Substitui (s) as linhas onde so encontradas oopadro tty pelo padro variveis membro tm os ttyS em todo (g) o arquivo /etc/inittab.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 73

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; 2d carro1.cor = "prata"; 5d s/tty/ttyS/d
sed '/tty/w sotty.txt' /etc/inittab sed -n -e '/id/p' /etc/inittab

Linux System Administration Linguagem de Programao Java

Grava (w) no arquivo sotty.txt todas as linhas do arquivo /etc/inittab que contenham o padro tty. Exibe somente (-n) as linhas do arquivo /etc/inittab que contiverem o padro id.

O comando sed no substitui o arquivo original, a no ser que seja feito um redirecionamento ( > ) para outro arquivo (ou o prprio arquivo original). No entanto, preciso ter muita cautela para no prejudicar o funcionamento do sistema atravs de Figura 2.4 Layout Memria aps inicializao algum erro. //criando novo alias Carro carro2 = carro1;
D I C A

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Profissional Aprendendo umSeja que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

65

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 74

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= ABORATRIO "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

6.1. L

Esse laboratrio tem o objetivo de mostrar o funcionamento das expresses regulares (regex) em comandos que a suportam. Vamos utilizar o arquivo /etc/passwd como alvo da atividade. 1) Procurar pelo usurio root dentro do arquivo.
grep 'root' /etc/passwd Observe que a sada do comando nos trouxe duas ocorrncias: do usurio root e operator, pois este ltimo possui o /root como diretrio home.

2) Para corrigir essa sada e trazer somente o termo root no incio da linha. //criando novo alias
Carro carro2 = grep '^root ' carro1; /etc/passwd

Figura 2.4 Layout Memria aps inicializao

3) Trazer os usurio que possuem o bash como shell padro.


grep 'bash$' /etc/passwd

4) O arquivo passwd no possui linhas em branco, mas supondo que nele haja vrias linhas em branco acidentalmente colocadas. Para elimin-las basta usar ^$ (incio de linha, final de linha).
grep '^$' /etc/passwd

5) Localizar usurios em que nome comece com a letra B (maisculo ou minsculo).


grep '^[Bb]' /etc/passwd

6) Procurar usurios cujo nome comece com consoante.


2.3 Membros de Instncia
grep '^[bcdfghjklmnpqrstwvxyz]' /etc/passwd

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

7) Nomes em dever que a ter segunda letra vogal. Usamos oOs ponto Cada objeto criado sua prpria instncia de variveis valores(caractere das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um individual). em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. grep '^.[aeiou]' /etc/passwd classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada por todas as possuam instncias da classe. 8) Linhas que dez caracteres de comprimento.
2.3.1 Invocao de Mtodos Objetos se comunicam pela trocapor de mensagens, isto que um 9) Trocar a palavra bash sh em todo osignifica arquivo. objeto pode ter que mostrar um comportamento particular invocando uma sed 's/bash/sh/g' /etc/passwd operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

grep '^..........$' /etc/passwd

o mesmo estado se suas variveis membro tm os mesmos valores.

66

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 75

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

6.2. E

O que so expresses regulares (RegEx)? Explique a diferena entre expresses regulares e metacaracteres (Wildcards). Quais so os comandos mais comuns que utilizam expresses regulares? Qual a sintaxe do comando sed para substituio de uma palavra em um arquivo texto?
Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

67

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 76

Este material pode ser em distribudo. Curso no Especialista Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

7. EDIO DE ARQUIVOS COM O VI

Ao iniciar o vi, ele se encontra no modo de navegao, modo utilizado para se percorrer o texto e fornecer comandos de navegao ao longo do texto.
Figura 2.4 Layout Memria aps inicializao

Teclas de Navegao

Tecla

Descrio //criando novo alias O, $ Carro carro2 Vai para incio da linha / vai para o final da linha. =o carro1;
1G, G (, w, W h, j, k, l /, ? i a, A o, O s, S c r )

Vai para o incio do documento / vai para o final do documento. Vai para o incio da sentena / vai para o final de sentena. Pula uma palavra / pula uma palavra incluindo a pontuao. Simula as teclas direcionais para Esquerda, Baixo, Cima, Direita respectivamente. Busca termos na direo Cima para Baixo / busca de Baixo para Cima. Aciona o modo de insero. Aciona modo de insero aps o cursor / aciona modo de insero no final da linha. Aciona modo de insero no incio da prxima linha / aciona modo de insero no incio da mesma linha. Apaga um caractere e entra no modo de insero / apaga a linha e entra no modo de insero. Modifica um item com a insero de texto.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Substitui um nico caractere (pressionar sobre o caractere e digitar o outro). Apaga um caractere nico (semelhante a tecla del em editores grficos). Membros de Instncia

Cada objeto dever ter sua prpria instncia de variveis dd Os valores das variveis Apagacriado uma linha. (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem y, yy Copia um caractere / copia uma linha. objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. p, P Porm no Cola o contedo copiado aps do / cola o contedo copiado antes do cursor. classe. devemos confundir isto com a cursor implementao do mtodo, que Dois objetos distintos tm compartilhada por todas as instncias u Desfaz a ltima ao. da classe. 2.3.1 Invocao de Mtodos ZQ Fecha o documento sem salvar. Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela Oum modo de em insero normalmente habilitado se pressionar chamada de mtodo um objeto usando o operador binrio "."ao (ponto) , INSERT servindo para editar o texto. A tecla ESC usada devendo especificar a mensagem completa: o objeto que o recebedor dapara sair mensagem, o mtodo a sernavegao. invocado e os argumentos para o mtodo (se houver). voltar para o modo O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um Profissional Aprendendo umSeja que esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

x 2.3

ZZ

Fecha e salva o documento.

o mesmo estado se suas variveis membro tm os mesmos valores.

a tecla i, A ou deste modo e

68

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 77

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano "2001"; acionado ao se teclar : no modo de navegao e serve O modo de=comando carro1.modelo= "fusca"; efetuar buscas, sair, executar comandos no shell, alterar configuraes do carro1.cor = gravar, "prata";

Linux System Administration Linguagem de Programao Java

para vi, etc.

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

69

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 78

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Comandos bsicos do vi carro1.modelo= "fusca"; Comando Descrio carro1.cor = "prata"; :! Permite a execuo de comando no shell (deve-se informar o comando aps a !).
:q ou :quit :q! ou :quit! :w, :w! :wq :x ou :e ou :exit :e! :visual

Linux System Administration Linguagem de Programao Java

Sai do arquivo (caso no haja alterao) e fecha o editor. Sai do arquivo sem salvar e fecha o editor. Salva as alteraes feitas no arquivo / salva as alteraes de forma forada. Salva o arquivo e sai do editor. Fecha o arquivo, salva se necessrio e sai do editor. Fecha o arquivo, salva de forma forada e sai do editor. Volta para o modo navegao.
Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

H ainda uma verso melhorada do vi chamada vim (Vi Improved). Ele uma verso mais poderosa e maior em termos de espao em disco e requisitos de memria do editor de texto vi. Essa verso mantida como software livre, com algumas clusulas restritivas, e acompanha a maioria das distribuies Linux da atualidade. Est disponvel tambm para variantes do UNIX, para Windows, Macintosh e outros sistemas operacionais.
D I C A

Fique atento s teclas do quadro Teclas de Navegao, pois elas so o diferencial em questes que envolvem o editor de texto vi. Ento treine memorize Figura 2.5 Layout Memria duas variveis referncia para oe mesmo objeto todas as opes desse quadro.

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

70

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 79

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= ABORATRIO "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

7.1. L

Esse laboratrio tem o objetivo de testar os comandos do editor de textos vi. 1) Edite um novo arquivo linustorvalds.txt com o texto abaixo, depois salve o contedo sem sair do vi.
vi linustorvalds.txt

() Linus Torvalds pertence a comunidade dos Finlandssvensk, um extrato da populacao representando 6% dos habitantes da Finlandia, que falam sueco. Ele estudou na Universidade de Helsinki. Vive atualmente em Santa Clara, na California, com a sua mulher Tove e suas tres filhas. Atualmente trabalha na Open Source Development Labs (OSDL). (...) Figura 2.4 Layout Memria aps inicializao Wikipedia //criando (http://pt.wikipedia.org/wiki/Linus_Torvalds) novo alias Carro:wcarro2 = carro1;

2) Agora v para o incio do documento e apague as reticncias cercadas pelos parntesis. preciso estar em modo de navegao.
1G 4x

3) V at o final do texto e apague a ltima linha.


G dd

4) Localize, na mesma ordem, as palavras linus, Helsinki, California e extrato.


?Linus /Helsinki /California ?extrato
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um o digitacao da linha abaixo objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da [ESC] classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas assomente instncias da 7) Modifique o classe. caractere 6 (de 6%) da terceira

objeto pode ter que mostrar um comportamento particular invocando uma 8) Entre novamente no no arquivo, a ltima linha, cole-a operao apropriada que foi definida objeto. copie Em Java, isto feito pela chamada de umlinha mtodo em um usando o operador binrio "." (ponto), da primeira e saia doobjeto arquivo salvando. devendo especificar a mensagem completa: o objeto que o recebedor da vi linustorvalds.txt G mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm linha para 2 e saia do o mesmo estado se suas editor de texto salvando. variveis membro tm os 2.3.1 Invocao de Mtodos r2 mesmos valores. Objetos :wq se comunicam pela troca de mensagens, isto significa que um

2.3

para oCada modo de navegao/comando. objeto criado dever ter sua prpria

5) No de edio de prxima linha, digite a linha abaixo novamente e volte Membros de Instncia

novamente antes

71

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 80

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); yy carro1.ano = "2001"; 1G carro1.modelo= "fusca"; P carro1.cor = "prata"; ZZ

Linux System Administration Linguagem de Programao Java

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Profissional Aprendendo umSeja que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

72

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 82

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

7.2. E

O vi possui trs modos de funcionamento. Quais so eles e quais so suas diferenas? Quais outros comandos tm o mesmo efeito que :x? Em que situao preciso fazer uma gravao forada do texto? Qual o smbolo que normalmente usado para salvar forado? Como se salva o documento atual em outro caminho (Salvar Como)?
Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

73

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 83

Este material pode ser distribudo. Curso no Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.br da | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

8. MANIPULAO DE DISCO
8.1. CRIAO DE PARTIES E SISTEMAS DE ARQUIVOS
O disco rgido pode ser dividido em vrias parties para serem disponibilizadas em computadores pessoais. Um disco rgido pode ter at quatro parties primrias, sendo que uma delas pode ser estendida e abrigar vrias parties lgicas. Ento a partir dessa realidade, pode-se criar vrios layouts de disco para as mais variadas situaes.
Figura 2.4 Layout Memria aps inicializao

//criando alias FDISK Crianovo e manipula parties no sistema. o programa padro para essa Carro carro2 = carro1; finalidade no Linux.

Sintaxe: fdisk [opcao] ou fdisk dispositivo


Comando
fdisk -l fdisk /dev/sda

Descrio Lista os dispositivos e as parties existentes no sistema. Entra no modo de manipulao do disco /dev/sda. Uma vez nesse modo vrios comandos podem ser fornecidos para manipul-lo. Comandos do FDISK Lista as parties (semelhante ao fdisk -l digitado fora do aplicativo fdisk). Cria uma nova partio. Muda Figura o cdigo da Memria partio. 2.5 ID Layout duas variveis referncia para o mesmo objeto

p n

Lista osdever tipos (cdigos ID) de parties conhecidas. Cada objeto criado ter sua prpria instncia de variveis d (atributos) definidas pela classe. Os mtodos definem o comportamento de um Exclui uma partio. objeto. Isto importante, pois denota que um as mtodo pertence q Sai do fdisk sem gravar alteraes feitas. a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que w Sai do fdisk gravando as alteraes feitas. compartilhada por todas as instncias da classe.
l m

2.3

Membros de Instncia

Obs.: os cdigos so expressos em valores hexadecimais. Os mais comuns so 82 (swap) e 83 (Linux nativa).

Imprime um menu de ajuda dos comandos do fdisk.

2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um Ainda hoje comum encontrar servidores rodando uma em parties com sistema objeto pode ter que mostrar um comportamento particular invocando de arquivos ext2 , mesmo ele no estando em relao operao apropriada que foi definida objeto. devasado Em Java, isto feito pela aos mais novos ext3, chamada de um mtodo em um objeto usando o operador binrio "." (ponto) , journaling o que os reiserfs e xfs. Estes ltimos por sua vez possuem o recurso de devendo especificar a mensagem completa: o objeto que o recebedor da tornam melhores. mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um Profissional Aprendendo 74 umSeja que esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 84

Este material no pode ser distribudo. Somente poder ser utilizado por alunos da 3Way Networks. www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; D a capacidade de registrar as alteraes no disco antes antes mesmo de carro1.cor = "prata"; I Journaling C efetu-las. Isso pode evitar erros em escritas causados por quedas abruptas no sistema.
A

Linux System Administration Linguagem de Programao Java

Para converter um sistema de arquivos ext2 em ext3 basta utilizar o comando tune2fs -j dispositivo.

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

75

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 85

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Exemplos carro1.modelo= "fusca"; Comando carro1.cor =Descrio "prata"; tune2fs -j /dev/hda Converte o sistema de arquivos ext2 em ext3 de um disco rgido IDE (/dev/hda).
tune2fs -j /dev/sda

Linux System Administration Linguagem de Programao Java

Converte o sistema de arquivos ext2 em ext3 de um disco rgido SCSI (/dev/sda).

MKFS Cria sistemas de arquivos em parties. Sintaxe: mkfs [opcao] dispositivo


Exemplos Comando
mkfs mkfs

Descrio

Cria o sistema de arquivos ext2 na primeira partio (/dev/hda1) do primeiro disco -t ext2 /dev/hda1 //criando novo alias rgido IDE do sistema. Carro carro2 = carro1; Cria o sistema de arquivos ext3 na segunda partio (/dev/sda2) do primeiro disco -t ext3 /dev/sda2 rgido SCSI/SATA do sistema. Cria o sistema de arquivos reiserfs na terceira partio (/dev/sdb3) do segundo disco rgido SCSI/SATA do sistema. Cria o sistema de arquivos vfat na unidade de disco flexvel (/dev/fd0). Cria o sistema de arquivos xfs na unidade de disco flexvel (/dev/fd1).

Figura 2.4 Layout Memria aps inicializao

mkfs -t reiserfs /dev/sdb3 mkfs -t vfat /dev/fd0 mkfs -t xfs /dev/fd1

Obs.: O mkfs um front-end para os comandos mkfs.ext2, mke2fs, mkfs.ext3, mkfs.xfs, mkreiserfs, mkdosfs e mkfs.vfat.

MKSWAP Formata uma partio de swap. Sintaxe: mkswap [opcao] dispostivo


2.3 Membros de Instncia

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado terou sua prpria como instncia de variveis SWAPON Ativa uma dever partio arquivo swap. (atributos) definidas pela classe. Os mtodos definem o comportamento de um Sintaxe: swapon [opcao] dispositivo objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe.
Exemplos

Comando Descrio 2.3.1 Invocao de Mtodos se comunicam pela troca de mensagens, isto significa que um mkswap Objetos /dev/hda1 Formata a partio /dev/hda1 como swap. objeto pode ter que mostrar um comportamento particular invocando uma swapon /dev/hda1 Ativa no sistema a partio de swap /dev/hda1 formatada no exemplo anterior. operao apropriada que foi definida no objeto. Em Java, isto feito pela swapon -a Ativa todas as parties especificadas no"." arquivo /etc/fstab. chamada de um mtodo em um objeto usando swap o operador binrio (ponto) , devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

76

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 86

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Caso seja preciso especificar manualmente carro1.modelo= "fusca"; basta carro1.cor especific-la da seguinte forma: = "prata";
/dev/hda1 swap swap

Linux System Administration Linguagem de Programao Java

uma partio swap no /etc/fstab,


0 0

defaults

As parties swap no possuem ponto de montagem. SWAPOFF Desativa uma partio ou arquivo swap. Sintaxe: swapoff [opcao] dispositivo FSCK Checa dispositivos e parties que apresentarem erros ou com desligamento Figura 2.4 Layout Memria aps inicializao deve estar desmontado ou incorreto. Para funcionar corretamente o dispositivo montado como somente leitura. //criando novo alias Sintaxe: fsck [opcao] dispositivo Normalmente quando o fsck no resolve o problema de uma partio ou dispositivo, a ltima alternativa utilizar o debugfs. Ele um depurador interativo para sistema de arquivos ext2fs, ext3fs e ext4fs. Outros comandos como dumpe2fs e tune2fs tambm podem ser utilizados para trabalhar com esses sistema de arquivos.
D I C A

Carro carro2 = carro1;

O fsck um front-end para os aplicativos fsck.ext2 (ou e2fsck), fsck.ext3, fsck.xfs, reiserfsck e dosfsck.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

(atributos) pela classe. Os mtodos definem o comportamento de um Sintaxe:definidas df [opcao] objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe.

objeto pode ter que mostrar um comportamento particular invocando uma Sintaxe: du [opcao] operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se -s suas DU Exibe o espao ocupado por arquivos e/ou diretrios. Utilizado com a opo variveis membro tm os (especifica o de diretrio) da sua 2.3.1 Invocao Mtodos e -h (formato humano) facilita muito a compreenso mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um

DF Exibe o espao ocupado e disponvel no dispositivo ou sistema de arquivos. As opes -h (formato humano) e -T (mostra o tipo dos sistemas de arquivos por 2.3 Membros de Instncia dispositivo) so as mais dever utilizadas. Cada objeto criado ter sua prpria instncia de variveis Os valores das variveis

sada.

77

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 87

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = FSTAB "2001"; RQUIVO ETC carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

8.2. A

Serve para que os sistemas de arquivos do sistema sejam montados automaticamente, eles precisam ter uma entrada no arquivo /etc/fstab. Ele possui seis (6) campos.
Campos do /etc/fstab Campo Dispositivo Ponto de montagem Descrio Representa o dispositivo a ser montado automaticamente. Representa o diretrio que responde no sistema a um determinado dispositivo.

o sistema de arquivos dodispositivo. Figura 2.4 Layout Memria aps inicializao Sistema de arquivos //criando novo alias Obs.: A opo auto usada para identificar automaticamente o sistema de arquivos. Carro carro2 = carro1; So as opes de montagem do dispositivo: rw representa leitura e escrita. ro representa somente leitura. noauto no permite a montagem automtica dos sistemas de arquivos do /etc/fstab. users permite a montagem e desmontagem por usurios comuns. user permite acesso somente ao usurio que montou o dispositivo. owner promove a herana das permisses de quem montou ao dispositivo. usrquota aciona o uso de cotas de usurio. grpquota aciona o uso de cotas de grupo. remount remonta dispositivos podendo alterar as suas opes padro. Determina se o aplicativo dump ir (valor 1) ou no (valor 0) ser executado no dispositivo. Define a ordem de checagem do dispositivo pelo fsck durante o processo de boot. Tem que ser 1 para a partio raiz (/). Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Opes

dump fsck

2.3

MOUNT Faz a montagem manual de dispositivos. Sintaxe: mount [dispositivo] [ponto_de_montagem] Cada objeto [opcao] criado dever ter sua prpria instncia de variveis
Membros de Instncia
Os valores das variveis

(atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem objeto. Isto importante, denota que um mtodo pertence aComo cada objeto da UMOUNT Faz a pois desmontagem de dispositivos. parmetro pode ser estado utilizado o seu . classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm tanto o dispositivo quanto o ponto de montagem. compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um Exemplos objeto pode ter que mostrar um comportamento particular invocando uma Comando Descrio operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um /dev/hda1 mtodo em um objeto "."com (ponto) , de arquivos ext2. mount -t ext2 /mnt Montausando em /mnto o operador dispositivobinrio /dev/hda1 sistema devendo especificar a mensagem completa: o objeto que o recebedor da mount /dev/sdb1 /mnt/pendrive Monta um dispositivo em /dev/sdb1 em /mnt/pendrive com o sistema de mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 78 um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Sintaxe: umount dispositivo | ponto_de_montagem

o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 88

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; arquivos padro (vfat). carro1.modelo= "fusca"; Funciona desde que haja uma entrada correspondente no /etc/fstab. Tambm = "prata"; mount carro1.cor /dev/fd0 pode ser utilizado o ponto de montagem ao invs do dispositivo.
mount umount /dev/hda1 umount /mnt

Linux System Administration Linguagem de Programao Java

Exibe os sistemas de arquivos montados. Desmonta o dispositivo /dev/hda1. Faz o mesmo que o comando anterior.

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

79

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 89

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= ABORATRIO "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

8.3. L

Esse laboratrio tem o objetivo de criar um sistema de arquivos swap em um arquivo. Esse arquivo automaticamente adicionado ao montante da partio swap. O arquivo de troca ficar disponvel somente aps o sistema de arquivos que o armazena (ext2, fat32, etc) estar montado. 1) Crie um arquivo chamado nswap vazio de 256Mb de tamanho em /tmp.
dd if=/dev/zero of=/tmp/nswap bs=1024 count=256000
Figura 2.4 Layout Memria aps inicializao 2) Formate o arquivo de swap para que o sistema de arquivos seja criado e //criando novo alias disponibilizado para o uso.

Carro carro2 = carro1;


mkswap /tmp/nswap

3) Ative o arquivo de troca. com o comando swapon /tmp/troca.


swapon /tmp/nswap

4) Confira se o tamanho da memria virtual foi modificado. importante saber o tamanho antigo da swap.
cat /proc/meminfo

ou

free

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

D I C A

Podem ser usadas parties de troca e arquivos de troca juntos, sem problema. E caso Figuraj 2.5tenha Layout Memria duas variveis referncia para o mesmo objeto o seu sistema uma partio de swap, recomendvel deixar o acesso ao arquivo swap com uma prioridade menor. As prioridades vo de 0 a 32767, quanto maior o nmero maior ser a prioridade. Ex.: swapon -p 0 /tmp/nswap

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

80

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 90

Este material no pode ser distribudo. Somente poder ser utilizado por alunos da 3Way Networks. www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

8.4. E

Qual a quantidade mxima de parties primrias que podem existir em um disco? Qual o cdigo identificador (ID) de parties swap, linux nativa e linux lvm? Em termos prticos, o que significa journaling? O que faz a linha tune2fs -j /dev/hda? Qual a linha de comando que formata a partio /dev/sdb3 com o sistema de Figura 2.4 Layout Memria aps inicializao arquivos reiserfs? Carro Suponhamos a partio reservada para swap seja /dev/hdd1. Quais so os carro2 = que carro1; comandos responsveis pela criao dessa partio e pela sua correta ativao? Comente de maneira explicativa a frase O fsck um front-end para os aplicativos fsck.ext2, fsck.ext3, fsck.xfs, reiserfsck e dosfsck. Como se cria uma partio ext3 com os comandos mkfs e mke2fs? O que faz o comando debugfs? Qual o caminho completo para o seu binrio? O que faz os comandos xfs_metadump e xfs_info? Qual a diferena entre os comandos df -h e du -h? D o significadoFigura de 2.5 cada campo do arquivo /etc/fstab. Layout Memria duas variveis referncia para o mesmo objeto
2.3
//criando novo alias

Como se monta automaticamente a partio /dev/sda2 cujo sistema de arquivos NTFS no diretrio /mnt/wind.
Membros de Instncia
Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

81

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 91

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

9. LINKS

9.1. CRIAO E ALTERAO DE LINKS FSICOS E SIMBLICOS


Links so arquivos especiais que possuem a finalidade servir como atalho para algum outro arquivo para facilitar o seu acesso. Existem dois tipos de links: Links fsicos (hardlinks) e Links simblicos (softlinks). Hardlinks Referem-se a um inode do sistema de arquivos. Cada arquivo um hardlink para o seu prprio inode no Figura 2.4 sistema. Layout Memria aps inicializao
//criando novo alias Os Hardlinks somente podem ser criados em um mesmo sistema de arquivos. No se Carro carro2 = carro1; pode criar hardlinks para diretrios.

O inode identifica o arquivo no sistema de arquivos. Um arquivo pode ser composto por um ou mais inodes, sendo que o primeiro traz informaes importantes sobre ele e tambm a localizao dos outros inodes que o compe.
O comando ls com a sua opo -i mostra os inodes dos arquivos listados. O exemplo abaixo mostra uma lista detalhada dos arquivos do diretrio /tmp juntamente com seus inodes. Ex.: ls -lai /tmp/
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

D I C A

(atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que Exemplos compartilhada por todas as instncias da classe. Comando Descrio

objeto pode ter que mostrar um mesmo comportamento particular invocando uma inode. operao apropriada que foi definida no objeto. Em Java, isto feito pela ln -s teste.txt ll_teste.txt Cria usando um link o lgico (-s) chamado ll_teste.txt chamada de um mtodo em um objeto operador binrio "." (ponto), no diretrio atual do arquivo teste.txt. devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Profissional Aprendendo 82 umSeja que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os Cria um link fsico para o arquivo teste.txt com o nome de lf_teste.txt . 2.3.1 Invocao de Mtodos mesmos valores. ln teste.txt Objetoslf_teste.txt se comunicam pela troca de mensagens, isto significa que um
Com o comando ls -i possvel verificar que os dois arquivos possuem o

Softlinks So atalhos que podem apontar para qualquer alvo (arquivo e diretrio) em qualquer sistema de arquivos. So semelhantes aos atalhos do windows, 2.3 Membros Instncia servindo para de facilitar a chamada do nome do arquivo. Eles possuem seus prprios Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis inodes.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 92

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001";Verifique com o comando ls -li que os inodes so diferentes. Observe tambm carro1.modelo= "fusca"; que aparece a letra l no incio das permisses do arquivo, que indica o tipo do carro1.cor = "prata"; arquivo, neste caso, um link lgico.

Linux System Administration Linguagem de Programao Java

O tamanho de um link lgico determinado pela quantidade de caracteres que o caminho do link possui. Neste caso, o tamanho 9 (que so os caracteres do caminho teste.txt)
ln -sf teste.txt ll_teste.txt

Cria um link lgico (-s) chamado ll_teste.txt no diretrio atual do arquivo /tmp/teste.txt sobrescrevendo (-f) um eventual link anterior.

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

83

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 93

Siga-nos tambm no Twitter! twitter.com/3waynet

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= ABORATRIO "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

9.2. L

Suponha que temos um computador dual boot, ou seja, com dois sistemas operacionais, no nosso caso: Windows e Linux. Windows possui duas parties NTFS: C: para o sistema e D: para os dados. Linux tambm possui duas parties: swap e /. Queremos ter acesso aos diretrios do Windows na rea de Trabalho do ambiente grfico do Linux. Para isso vamos montar os diretrios em /mnt (diretrio mais apropriado) e criar links para a rea de trabalho.
Figura 2.4 Layout Memria aps inicializao

//criando novo alias que 1) Crie o diretrios Carro carro2 = carro1;


mkdir /mnt/winc /mnt/wind

vo representar as unidades Windows.

2) Descobrir quais so as parties que representam as unidades C: e D:


fdisk -l

(Suponha que a sada nos mostre que C: est em /dev/sda1 e D: em /dev/sda2)

3) Montar as parties Windows nos diretrios anteriormente criados.


mount -t ntfs /dev/sda1 /mnt/winc mount -t ntfs /dev/sda2 /mnt/wind

4) Criar os links para a rea de Trabalho.


ln -s /mnt/winc ~/Desktop/SistemaWindows Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto ln -s /mnt/wind ~/Desktop/DadosWindows

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis ~/Desktop/DadosWindows , pois os mesmos j representam as unidades C: e D: (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem respectivamente do pois Windows. objeto. Isto importante, denota que um mtodo pertence a cada objeto da o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada porPara todas as esse instncias classe. que layout da tambm funcione aps a reinicializao do sistema, basta colocar que um /dev/sda2 /mnt/wind ntfs defaults 0 0 objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros Instncia 5) J sede pode acessar os diretrios ~/Desktop/SistemaWindows e

2.3.1

D as linhas descritas abaixo no arquivo /etc/fstab. I Invocao Cde Mtodos ntfs defaults isto 0 significa 0 Objetos A se /dev/sda1 comunicam /mnt/winc pela troca de mensagens,

o mesmo estado se suas variveis membro tm os mesmos valores.

84

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 95

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

9.3. E

Quais as diferenas entre Hardlink e Softlink? Por que o link fsico tem o mesmo inode do arquivo original? Qual a sintaxe do comando ln para criao de links fsicos e lgicos.

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

85

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 96

Este material pode ser distribudo. Curso no Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.br da | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

10. INICIALIZAO DO SISTEMA


BIOS MBR(lilo/grub) KERNEL INIT GETTY LOGIN SHELL

Quando o computador ligado o primeiro programa a ser carregado o SETUP que est no BIOS (Basic Input Output System). Este programa testa o funcionamento dos todos dispositivos, discos rgidos, memria, processadores, CD/DVD, etc. Depois desse teste, o BIOS carrega o Gestor de Incio, localizado nos primeiros 1024 bytes do Figura 2.4 Layout Memria aps inicializao MBR (Master Boot Record). O MBR responsvel por carregar o Kernel do sistema //criando novo alias operacional escolhido ou encaminhar para quem o possa fazer. Carro carro2 = carro1; Ao carregar um gestor de incio, ele passa por duas fases, a primeira executar o setor de boot para permitir a inicializao de vrios sistemas operacionais. A segunda carregar a imagem do kernel escolhido. Depois que o Kernel carregado, ele assume o controle do processo de inicializao, tendo a responsabilidade de detectar os dispositivos de hardware suportados e carregar seus mdulos. Em seguida, ele passa o controle para o processo init que ir montar os sistemas de arquivos que o Kernel suporta, inicializar os servios bsicos da mquina (mouse, rede, teclado, etc) e outros que faam parte inicializao (http, smtp, samba, etc).
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Figura 10: Relao entre o Kernel, hardware e Objetos se comunicam pela troca de mensagens, software isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela Depois do init o getty executado para disponibilizar chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo mensagem completa: o (KDE) objeto que o recebedor da como especificar mingettya (modo texto), kdm , gdm (GNOME) mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um Profissional Aprendendo umSeja que esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

as interfaces de login, ou xdm (Xfree86). A

86

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 97

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; interface de login aguarda a interveno do usurio atravs do seu nome de usurio e carro1.modelo= "fusca"; senha para poder = liberar o acesso ao sistema, obviamente depois da checagem dos carro1.cor "prata";

Linux System Administration Linguagem de Programao Java

arquivos de autenticao /etc/passwd e /etc/shadow. Se bem sucedido, outros arquivos sero lidos /etc/profile, ~/.bash_profile e ~/.bashrc.
D I C A

O getty o segundo dos trs programas (init, getty e login) usados pelo sistema para permitir o acesso dos usurios. Ele iniciado pelo processo init para:
1) Abrir as linhas tty e configurar o seu modo de funcionamento; 2) Imprimir a identificao de acesso ao sistema e receber o nome do usurio; 3) Iniciar o processo login para o usurio.

Arquivos lidos aps a autenticao

Arquivo Descrio //criando novo alias Indica caminhos de binrios-comandos (PATH), manuais das ferramentas (MANPATH), Carro carro2 = carro1; configurao de permisses, identificao do usurio e do grupo. Ele indicado para passar /etc/profile caminhos de outras ferramentas necessrias a todos os usurios, evitando a configurao para cada usurio.
~/.bash_profile ~/.bashrc

Figura 2.4 Layout Memria aps inicializao

o arquivo pessoal que possui os caminhos dos binrios de usurio e/ou ferramentas, scripts que devem ser executados somente para aquele usurio. Armazena os aliases de comandos pessoais do usurio.

Aps a execuo sequencial desses trs arquivos ento disponibilizado um interpretador de comandos (SHELL).

10.1. INSTALAO E CONFIGURAO DO GESTOR DE INCIO


LILO (LInux Loader) um gestor de incio antigo mas ainda muito utilizado no Linux. Permite a configurao tanto por arquivos quanto por parmetro 2.3 Membros de Instncia na inicializao da mquina.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) Seu definidas pela classe. Os mtodos definem o comportamento de um arquivo de configurao /etc/lilo.conf em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. Esse possui todas as necessrias classe. Porm noarquivo devemos confundir isto com a informaes implementao do mtodo, quepara a inicializao da Dois objetos distintos tm como as as parties ativas, mquina, compartilhada por todas instncias da classe. local para uma possvel atualizao do lilo, Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma 10.1.1. apropriada CONFIGURAO LILO operao que foiDO definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da 1) Edio /etc/lilo.conf : mensagem, o mtodo a do ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

localizao das diferentes imagens de kernel, arquivo que ser apresentado para o variveis membro tm os 2.3.1 Invocao de Mtodos usurio ao iniciar o lilo, entre outras funes. mesmos valores.

o mesmo estado se suas

87

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 98

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= Instrues do lilo.conf "fusca"; Descrio carro1.cor = "prata"; boot=/dev/hda Informa a partio onde est instalado o setor de boot (MBR).
map=/boot/map install=/boot/boot.b lba32 message=/boot/message timeout=100 image=/boot/vmlinuz root=/dev/hdaX label=linux read-only other=/dev/hdaY label=windows table=/dev/hda

Linux System Administration Linguagem de Programao Java

1 2 3 4 5 6 7 8 9 10 11 12 13

Utilizado para gravar o setor de boot, armazena as opes de boot. Armazena os dados anteriores da MBR. Permite que o boot do linux seja instalado aps o cilindro 1024. Mensagem que aparecer para o usurio, ao carregar o lilo. Tempo (em dcimos de segundos) para carregar o S.O. padro. Indica onde se encontra a imagem do kernel do linux. Indica a partio X onde est montado o diretrio raiz ( / ) do sistema Nome que ser apresentado no momento da seleo da imagem. Para garantir a consistencia e integriade do disco, caso rode o fsck. Indica a partio Y de outro S.O instalado. Nome que ser apresentado no momento da seleo do S.O. Indica a partio onde est armazenada a tabela de parties.

Figura 2.4 Layout Memria aps inicializao 2) Criao do arquivo /boot/message com a lista de sistemas operacionais que o LILO vai manipular. //criando novo alias

3) Aplicar as alteraes feitas no setor de boot com o comando lilo (/sbin/lilo). 10.1.2. CONFIGURAO DO GRUB O GRUB (GRand Unified Bootloader), assim como o LILO um gerenciador de boot. Ele possui algumas vantagens sobre o LILO e por isso que a maioria das distribuies o esto utilizando. Ele acessa diretamente o sistema de arquivos e carrega o kernel, com isso no preciso ficar reinstalando o gerenciador no MBR toda vez que se fizer alteraes. Possui uma menu interativo, bem ao estilo do bash, que permite ao usurio controlar Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto todo o gerenciador. Atravs desse menu possvel editar as instrues pr-definidas na configurao e alterar a forma como se faz o boot.
Cada objeto criado dever ter sua prpria instncia de variveis sistema quanto a inicializao desse sistema. (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denotavia queo um mtodo pertence a cada objeto da Suporta boot remoto protocolo TFTP. classe. Porm no devemos confundir isto com a implementao do mtodo, que O arquivo configurao compartilhada por todasde as instncias da classe.do GRUB geralmente

Carro carro2 = carro1;

objeto pode ter que mostrar um comportamento particular invocando uma Instrues do menu.lst Descrio operao apropriada que foi definida no objeto. Em Java, isto feito pela Define os sistema padro (no caso 1 default=0 chamada de um mtodo em um objeto usando o operador binrio "." (ponto) , RedHat). devendo especificar a mensagem completa: o objeto que o recebedor da Tempo de espera (em segundos) para a 2 timeout=5 escolha do sistema. mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 88 um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm /boot/grub/menu.lst . o mesmo estado se suas Muitas distribuies possuem esse arquivo como um link para /etc/grub.conf , nesses variveis membro tm os 2.3.1 Invocao de Mtodos casos, tanto faz editar um ou outro, pois surtiro o mesmo efeito. mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um

2.3

Membros de Instncia possvel proteger com senha tanto para a edio da linha de boot de um

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 99

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; splashimage=(hd0,4)/boot/grub/splash.xpm.gz carro1.modelo= "fusca"; title Red Hat Enterprise Linux Server (2.6.18-92.1.1.el5) carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

Localizao no disco da imagem de fundo do Grub. 4 Ttulo do primeiro sistema operacional. Caminho onde encontrada a partio root (hd0,3) 5 raiz do sistema. kernel /boot/vmlinuz-2.6.18-92.1.1.el5 ro root=LABEL=/1 Caminhos nde encontrada a imagem do 6 rhgb quiet Kernel. Caminho onde encontrada a imagem initrd /boot/initrd-2.6.18-92.1.1.el5.img 7 Initrd. 8 title Windows Ttulo do segundo sistema operacional. Partio no ser montada nem verificada pelo gerenciador. Fica sob a rootnoverify (hd0,1) 9 responsabilidade do outro sistema operacional. Faz a leitura e a execuo do primeiro setor da partio especificada na linha 9, chainloader +1 10 ou seja, chama o gerenciador de boot do Figura 2.4 Layout Memria aps inicializao outro sistema.
3

O GRUB trata as parties de um modo diferente que o Linux, por exemplo, ao invs de usar /dev/hda1, ele usa (hd0,0). A sua nomenclatura no diferencia dispositivos IDE, SCSI ou SATA, todos seguem o mesmo padro, como na tabela abaixo.
D I C A

//criando novo alias Carro carro2 = carro1;

O GRUB detecta e identifica os discos rgidos automaticamente, j fazendo a converso da nomenclatura. O arquivo /boot/grub/device.map contm a equivalncia feita automaticamente pelo sistema, em caso de dvidas, basta visualizar seu contedo. Nos exames LPI muito comum a ocorrncia de questes que abordam as diferenas de nomenclatura entre GRUB e LILO.

Nomenclatura GRUB Dispositivo Equivalente no GRUB Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto /dev/hda1 (hd0,0) - Partio 1 da IDE Primria Master /dev/hda2 (hd0,1) - Partio 2 da IDE Primria Master /dev/hdb1 (hd1,0) - Partio 1 da IDE Primria Slave 2.3 Membros de Instncia /dev/hdc3 - Partio 3 da IDE Secundria Master Cada objeto criado(hd2,2) dever ter sua prpria instncia de variveis Os valores das variveis /dev/hdd2 (hd3,2) Partio 2 da IDE Secundria Slave (atributos) definidas pela classe. Os -mtodos definem o comportamento de um em um objeto constituem /dev/sda1 objeto. Isto importante, pois denota que um1mtodo pertence a cada objeto da (hd0,0) - Partio da SCSI/SATA Primria Master o seu estado. classe. Porm no devemos confundir isto com implementao do mtodo, /dev/sda2 (hd0,1) - Partio 2a da SCSI/SATA Primria Master que Dois objetos distintos tm

compartilhada por todas as instncias da classe.

objeto pode ter) que comportamento particular invocando uma (/bin/dmesg quemostrar exibe um todo esse processo j citado. O syslogd atravs do arquivo operao apropriada que foi definida no objeto. Em Java, isto feito pela /var/log/messages tambm prov informaes teis sobre o processo de boot. chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 89 um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm H um do sistema, o os 2.3.1 Invocao dearquivo Mtodos de log que registra todo o processo de boot Objetos se comunicam pela de troca de mensagens, istopara significa um /var/log/dmesg , que serve fonte de dados o que comando de mesmos mesmovalores. dmesg

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 100

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; ABORATRIO carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

10.2. L

O objetivo desse laboratrio mostrar como se recupera o gerenciador de boot de um sistema Linux. GRUB Normalmente quando se perde o GRUB a nica maneira de ter acesso ao sistema novamente atravs de uma mdia de boot, pode ser um LiveCD, pendrive ou qualquer mdia inicializvel. O importante obter acesso ao shell em modo de recuperao.
Figura 2.4 Layout Memria aps inicializao 1) Aps ter tido acesso ao interpretador de comandos, acesse o menu //criando novo alias interativo GRUB. Carrodo carro2 = carro1;

grub install

Grub.

2) Localize o arquivo stage1. O sinal de maior abaixo representa o shell do


> find /boot/grub/stage1 (hd0,0)

Esse comando retornar a localizao do arquivo stage1.

3) Informe ao Grub onde est a raiz do sistema.


> root (hd0,0)

4) Agora grave novamente o Grub no MBR informando o disco rgido onde ele est localizado. Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
setup (hd0)

(hd0)

2.3

(atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem objeto. IstoLILO importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. Porm no devemos confundir isto com a implementao do requer mtodo, a que A recuperao do LILO simples e tambm obteno de shell para a Dois objetos distintos tm compartilhada por todas as instncias da classe.

5) Basta reiniciar a mquina para ter novamente a tela do Grub e o acesso a todos Cada os seus sistemas objeto criado operacionais. dever ter sua prpria instncia de variveis Os valores das variveis
Membros de Instncia

objeto pode mount ter que mostrar /mnt um comportamento particular invocando uma /dev/sda1 operao apropriada que foi definida no objeto. Em Java, isto feito pela 2)um Faa o confinamento desse diretrio chamada de mtodo em um objeto usando o operador montado. binrio "." (ponto), chroot /mnt devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas membro tm os 2.3.1 Invocao de Mtodos 1) Monte a partio do disco onde se encontram os variveis arquivos de boot mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um (suponhamos /dev/sda1).

digitao dos comandos.

90

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 101

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano "2001"; de instalao do LILO. 3) Execute = o utilitrio carro1.modelo= "fusca"; lilo carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

4) Agora basta reiniciar o sistema, pois o LILO foi re-escrito no MBR.


D I C A

Pode ocorrer de algum dos arquivos stage serem apagados do disco por algum acidente. Nesse caso, devemos recorrer ferramentas avanadas da sua prpria distribuio como o rescue mode, do Debian, ou o linux rescue, do Red Hat, para poder recuperar o gerenciador de boot.

10.3. EXERCCIOS
//criando novo alias

Figura 2.4 Layout Memria aps inicializao

Carro Descreva com detalhes qual a sequencia de inicializao do sistema. carro2 = carro1; O que aconteceria caso as informaes contidas no Master Boot Record (MBR) fossem perdidas? Aps a carga do Kernel, qual o primeiro processo que inicializado? Qual a funo desse processo? Durante o processo normal de login quais so os arquivos consultados para validar ou no o acesso ao sistema? Aps o processo de autenticao so executados alguns arquivos de configurao, quais so eles?
Figura 2.5 Layout Memria duas variveis de referncia para o mesmo objeto e seus respectivos Quais so os principais gerenciadores boot do Linux arquivos de configurao? Como feita a aplicao das configuraes em cada um deles?

objeto um criado dever ter de suaarmazenamento prpria instncia de variveis valoresmaster das variveis Cada Suponha dispositivo IDE, instaladoOs como na (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem IDE secundria e tendo trs parties. Como o LILO e o GRUB identificaria objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado . cada uma dessas parties? classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

o mesmo estado se suas variveis membro tm os mesmos valores.

91

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 102

Este material pode ser distribudo. Curso no Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.br da | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

11. MANUAIS E DOCUMENTAO


Permitem obter informaes sobre os comandos no Linux. As pginas de manual so agrupadas em sees (acompanhe na tabela abaixo) e os comandos certamente se encaixaro em alguma(s) delas. No necessrio conhecer o nmero de uma seo especfica de um comando para obter ajuda sobre ele, normalmente a seo padro mostrada, mesmo que ele esteja em mais de uma.
Sees do Manual Seo 1 2 3 4 5 6 7 8 Descrio Programas do usurio.
Figura 2.4 Layout Memria aps inicializao

Rotinas do sistema Unix e C. //criando novo alias Rotinas de bibliotecas da linguagem C. Carro carro2 = carro1; Convenes e formatos de arquivos. Jogos. Diversos (macros textuais etc).

Arquivos especiais (normalmente encontrados em /dev).

Procedimentos administrativos (daemons).

MAN Exibe sees de manuais disponveis para os comandos. Sintaxe: man [opcao] [secao] item
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Exemplos

Comando
man ls

Descrio

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis man -wa cp a localizaes das pginas de manual disponveis, em vez de exibi-las, para o comando cp. (atributos) definidas Exibe pela classe. Os mtodos definem o comportamento de um em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. Porm noDdevemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm I todas as instncias da classe. compartilhada por Normalmente os arquivos dos manuais esto localizados em /usr/man/ e /usr/share/.

2.3 de Instncia man 7 Membros man Mostra a pgina de manual da seo 7 do comando man.

Mostra a pgina de manual padro para o comando ls.

o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos mesmos valores. se os comunicam pela troca mensagens, comando. isto significa um INFO Objetos Mostra informativos sobrede determinado que mais completo que o man e seus objeto pode ter que mostrar um comportamento particular invocando uma arquivos podem ser encontrados em /usr/share/info/.
C A

operao apropriada que foi definida no objeto. Em Java, isto feito pela Sintaxe:de info chamada um[opcao] mtodo [item] em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um Profissional Aprendendo umSeja que esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

92

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 103

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; WHATIS Procura pela ocorrncia exata de uma determinada carro1.modelo= "fusca"; que leva seu prprio nome (whatis). carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

palavra chave no banco de dados

Sintaxe: whatis palavra_chave

APROPOS Procura pela ocorrncia aproximada de uma determinada palavra chave no banco de dados whatis. Sintaxe: apropos palavra_chave
Exemplos Comando
whatis man apropos man

Descrio Procura na base de dados whatis pela ocorrncia exata da palavra man. Procura na base de dados whatis pela ocorrncia Figura 2.4 Layout Memria apsaproximada inicializao da palavra man.

encontrar documentaes como FAQ, HOWTO's, Readme, ChangeLog, Exemplos e Guia de usurio/administrador o /usr/share/doc/. Os HOWTOs mais atualizados podem ser encontrados no diretrio do projeto de documentao do GNU/Linux (LDP Linux Documentation Project) em ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/ ou traduzidos para o Portugus pelo LDP-BR em http://www.tldp.org/projetos/howto/traduzidos.php.

//criando novo alias Carro = carro1; para Um carro2 lugar interessante

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

93

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 104

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= ABORATRIO"fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

11.1. L

O objetivo desse laboratrio mostrar como se procura ajuda no momento da instalao via cdigo fonte de um software. Escolhemos o software Wine (verso 1.1.38, mas o processo semelhante para outras verses). 1) 2) A primeira coisa fazer o download.
wget http://downloads.sourceforge.net/project/wine/Source/wine-1.1.39.tar.bz2

Descompactar e entrar no diretrio resultante.


tar jzvf wine-1.1.39.tar.bz2 Figura 2.4 Layout Memria aps inicializao

//criando novo alias cd wine-1.1.39 Carro carro2 = carro1;

3) Estando dentro diretrio que vamos procurar a ajuda (normalmente em ingls) nos arquivos README ou INSTALL.
less README

4) Ento preste ateno ao que est escrito nas sees prerequisites, compilation e setup, pois so nelas que as ajudas mais importantes se encontram. 5) A instalao prosseguiria normalmente, mas este no o intuito do laboratrio. Continuaremos a partir deste ponto quando o assunto for a compilao.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

94

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 105

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS= "prata"; carro1.cor

Linux System Administration Linguagem de Programao Java

11.2. E

O comando man busca informaes de quais diretrios? Como est organizada a estrutura de cada um deles? As pginas info so mais completas que os manuais. Qual diretrio fornece as suas informaes? Como est organizado esse diretrio? Diferencie os comandos whatis e apropos usando exemplos. Quais so os lugares e/ou meios que voc usaria para procurar ajuda sobre o Figura 2.4 Layout Memria aps inicializao Linux?
//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

95

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 106

Este material pode ser distribudo. Curso no Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.br da | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

12. ADMINISTRAO DE USURIOS E GRUPOS

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 11: Gerenciamento de usurios e grupos

O Linux, como a maioria dos sistemas operacionais modernos, multiusurio, ento para que ele seja utilizado por vrias pessoas necessrio fazer o gerenciamento de usurios e grupos. USERADD Cria os usurio do sistema. Somente o super usurio pode us-lo. Esse comando no cria a senha, preciso utilizar outro comando para isso. Sintaxe: useradd [opcao] nome_usuario
Principais opes Opo
-c comentario -d diretorio

Descrio

Define um comentrio para a conta de usurio.

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis -G grupo1, grupo2 Define grupos secundrios usurio. (atributos) definidas pela classe. Os os mtodos definem odo comportamento de um em um objeto constituem -u UID Define o UID usurio. No informar UID existente. objeto. Isto importante, pois denota que do um mtodo pertence a um cada objeto da o seu estado. classe. Porm no devemos confundir isto com a implementao que -s shell Define o shell do usurio. Deve constardo no mtodo, arquivo /etc/shells .Dois objetos distintos tm compartilhada por todas as instncias da classe.
-p senha

2.3 -g

Membros de Instncia grupo Define o grupo principal do usurio.

Define o caminho do diretrio pessoal do usurio.

Define uma senha para o usurio. Inform-la entre aspas.

-e data Define uma data de validade para a conta de usurio. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca dedo mensagens, isto significa -k /etc/skel Copia o contedo diretrio modelo /etc/skel/.que um objeto pode ter que mostrar um comportamento particular invocando uma -m Cria o diretrio pessoal se ele no existir. Opo padro em /etc/login.defs do RedHat. operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da PASSWD Cria ou altera a senha do usurio. Usurio comum somente pode mudar a mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um Profissional Aprendendo 96 umSeja que esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 107

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; prpria senha. carro1.modelo= "fusca"; carro1.cor = "prata"; Sintaxe: passwd [opcao] [nome_usuario]

Linux System Administration Linguagem de Programao Java

CHFN Altera o campo comentrio do arquivo /etc/passwd de um determinado usurio. Sintaxe: chfn [nome_usuario] CHSH Altera o campo shell do arquivo /etc/passwd de um determinado usurio. Sintaxe: chsh [nome_usuario]Figura 2.4 Layout Memria aps inicializao
//criando novo alias Carro carro2 = carro1;

USERDEL Apaga uma conta de usurio. A opo -r exclui o diretrio pessoal do usurio. Sintaxe: userdel [opcao] nome_usuario

D I C A

Ao se executar os comandos supracitados vrios arquivos so alterados direta ou indiretamente: /etc/passwd, /etc/shadow e /etc/group.

12.1. ARQUIVO /ETC/PASSWD


2.3

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua instncia de variveis Os valores das variveis sete campos separados porprpria dois pontos (:). (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence cada objeto da qualquer possvel manipular diretamente o a arquivo com editor, mas o seu estado . classe. Porm no devemos confundir isto com a implementao do mtodo, que recomenda-se o uso do vipw (uma variante do vi), pois ele bloqueia Dois objetos distintos o tm compartilhada por todas as instncias da classe.

Membros de Instncia Contm as informaes de contas de usurio do sistema. composto de

arquivo enquanto est sendo feita a alterao.

2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um Campos do /etc/passwd objeto pode ter que mostrar um comportamento particular invocando uma Campo Descrio operao apropriada que foi definida no objeto. Em Java, isto feito pela 1 Login nome identifica a conta de usurio. chamada de um mtodoO em umque objeto usando o operador binrio "." (ponto), 2 Senha Contm a senha do usurio. Se x significa a senha criptografada est em /etc/shadow. devendo especificar a mensagem completa: o objeto que que o recebedor da 3 UID o nmero que identifica unicamente o usurio no sistema. mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 97 um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 108

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); GID o nmero de identificao do grupo principal do usurio. carro1.ano = "2001"; Comentrio Essa descrio do usurio opcional. carro1.modelo= "fusca"; Diretrio HOME = Especifica o diretrio pessoal do usurio. carro1.cor "prata"; Shell Indica o Shell inicial do usurio, se estiver vazio, significa /bin/sh (link para /bin/bash).

Linux System Administration Linguagem de Programao Java

4 5 6 7

12.2. ARQUIVO /ETC/SHADOW


usado em complemento ao /etc/passwd, que tem permisses (-rw-r--r--) frgeis, que por ser de leitura de todos, permite que senhas criptografadas sejam passveis de decodificao. Suas permisses variam de acordo com a distribuio, mas em qualquer uma delas Figura dever ser bem restritiva. Ele composto de nove 2.4 Layout Memria aps inicializao campos separados por dois pontos (:). //criando novo alias Esse arquivo pode ser editado por qualquer editor, assim como citado no caso do /etc/passwd, mas recomenda-se usar vipw -s para assegurar que no haja edies concorrentes desse arquivo, o que poderia acarretar inconsistncia no seu contedo.
Carro carro2 = carro1;

Campos de /etc/shadow Campo


1

Descrio Nome de usurio (normalmente o mesmo em /etc/passwd). Senha criptografada numa sequncia de 13 caracteres. Se em branco, permite login sem senha, se asterisco (*) indica que a conta est bloqueada.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Nome de usurio

Senha criptografada

Atualmente padro a senha estar em /etc/shadow, mas antigamente ela era armazenada no prprio /etc/passwd. possvel usar o comando pwconv para converter senhas de passwd para shadow. O

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis comando pwunconv faz o caminho inverso. (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem Dias de alterao 3 Nmero de diasum em mtodo que a senha foi criada (desde 01/01/1970). objeto. Isto importante, pois denota que pertence a cada objeto da senha o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Nmero de dias at que uma senha possa ser modificada novamente. Se zero (distintos 0) indica tm Dois objetos 4 Dias mnimo haver tempo de espera. compartilhada por todas as no instncias da classe.
5 Dias alterao Nmero de dias em que a senha dever ser alterada. Padro 274 anos (ou 99999). variveis membro tm 6 Dias expirao Nmero de dias para o usurio receber uma mensagem de expirao da senha. 2.3.1 Invocao de Mtodos 7 Dias bloqueio Nmero de dias para bloqueio da conta aps a expirao da senha. mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um 8 Dias bloqueada Nmero de dias desde que a conta foi bloqueada (a partir de 01/01/1970). objeto pode ter que mostrar um comportamento particular invocando uma 9 Reservado Campo Reservado.

2.3

Membros de Instncia

o mesmo estado se suas os

operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

98

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 110

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; CHAGE Manipula as informaes referentes carro1.modelo= "fusca"; carro1.cor = "prata"; Sintaxe: chage [opcao] nome_usuario

Linux System Administration Linguagem de Programao Java

a validade da senha.

Principais opes Opo


-m dias -M dias -d dias -E dias -I

Descrio Mnimo de dias at que o usurio possa trocar uma senha modificada. Mximo de dias em que a senha permanecer vlida. Nmero de dias decorridos desde 01/01/1970. Serve para determinar quando uma senha foi alterada.

Nmero de dias decorridos desde 01/01/1970 a partir dos quais a conta no estar mais Figura 2.4 Layout Memria aps inicializao disponvel. //criando novo alias dias Carro carro2 = carro1; Nmero de dias em que a conta poder permanecer inativa antes de ser bloqueada. Nmero de dias antes da expirao que comeam os avisos da expirao. Mostra as definies de validade para o usurio especificado. Usurios comuns s podem visualizar suas prprias contas.

-w dias -l usuario

USERMOD Altera as definies de conta de usurio. Sintaxe: usermod [opcao] nome_usuario


Principais opes

Opo
-c descrio

Descrio

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis -e valor Prazo de validade da definem conta (dd/mm/aaaa). (atributos) definidas pela classe. Os mtodos o comportamento de um em um objeto constituem objeto. Isto importante, pois denota queaps um a mtodo pertence cada da Nmero de dias conta ter expiradoa em queobjeto ela ser bloqueada. O valor cancela o seu-1 estado . -f valor funo. isto com a implementao do mtodo, que classe. Porm no devemosessa confundir Dois objetos distintos tm -g compartilhada por todas as instncias da classe. grupo Grupo principal. 2.3.1 Invocao de Mtodos -l nomeObjetos se comunicam Nome pela do usurio. troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma -p senha Senha. operao apropriada que foi definida no objeto. Em Java, isto feito pela -u UID Identificador de usurio. chamada de um mtodo em um objeto usando o operador binrio "." (ponto), -s shell Shell inicial do usurio. devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3 Membros de Instncia -d diretorio Diretrio pessoal do usurio.

Descrio ou comentrio do usurio.

-G grupo1, grupo2

Grupos secundrios.

o mesmo estado se suas variveis membro tm os mesmos valores.

99

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 111

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = Bloqueia "2001"; a conta de usurio. o mesmo que colocar o sinal ! antes senha do usurio. carro1.modelo= Costuma-se "fusca"; colocar no lugar do shell padro um script explicando o motivo do bloqueio. carro1.cor = "prata"; Desbloqueia a conta de usurio. o mesmo que retirar o sinal ! que est antes da senha.

Linux System Administration Linguagem de Programao Java

-L -U

Exemplos Comando
useradd aluno1 useradd -d /home/alunodois aluno2 passwd aluno1 chfn aluno1 chsh aluno2 vipw
Figura 2.4 Layout Memria aps inicializao

Descrio

//criando novo alias Carro carro2 = carro1;

Abre o arquivo /etc/passwd para edio sem permitir acessos concorrentes. Abre o arquivo /etc/shadow para edio sem permitir acessos concorrentes. Exclui a conta de usurio aluno1. Exclui a conta de usurio aluno2, incluindo seu diretrio pessoal. Se for o prprio usurio aluno1 ou o root, exibir as informaes de validade de senha. Caso seja outro usurio, no ser permitida a visualizao. Define para 5 dias, antes do incio da senha espirar, o incio das mensagens de aviso da expirao. Modifica o caminho do diretrio pessoal de aluno1 para /home/Aum. Muda o UID do usurio aluno2 para 1000. O novo UID no poder estar ocupado. Altera o shel do usurio aluno2 para /bin/tcsh.

vipw -s userdel aluno1 userdel -r aluno2 chage -l aluno1

chage -w 5 aluno2 usermod -d /home/Aum aluno1 usermod -u 1000 aluno2

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis 12.3. Adefinidas RQUIVOpela /ETC /GROUP (atributos) classe. Os mtodos definem o comportamento de um em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Contm informaes sobre os grupos existente no sistema. Ele composto de Dois objetos distintos tm quatro compartilhada por todas as instncias da classe. campos separados por dois pontos (:).

2.3

usermod -s /bin/tcsh aluno2

Membros de Instncia

objeto pode ter que mostrar um comportamento particular invocando uma arquivo /etc/gshadow. operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da Campos do /etc/group mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os Esse arquivo pode ser editado diretamente por qualquer editor ou por uma 2.3.1 Invocao de Mtodos mesmos valores. Objetos seespecfica comunicam pela de mensagens, isto significa um com a opo variante do vi paratroca esse fim chamada vigr . Se que usado -s edita o

100

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 112

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); Campo carro1.ano Descrio = "2001"; 1 Nome grupo o nome do grupo. carro1.modelo= "fusca"; a senha do grupo. Se x significa que a senha criptografada est em /etc/gshadow. carro1.cor Contm = "prata";
2 3 4

Linux System Administration Linguagem de Programao Java

Senha grupo GID Membros

O comando grpconv converte senhas no criptografadas de /etc/group para criptografadas em /etc/gshadow. O comando grpunconv faz o caminho inverso. Nmero de identificao do grupo. Lista de membros do grupo (separados por vrgula).

GROUPADD Adiciona um grupo ao sistema. A opo -g define um GID especfico. Sintaxe: groupadd [opcao] nome_grupo
Figura 2.4 Layout Memria aps inicializao

//criando novo alias GROUPDEL Exclui um grupo do sistema. Carro carro2 = carro1;

Sintaxe: groupdel nome_grupo


D I C A

Um grupo no pode ser excludo se nele ainda tiver algum usurio. Primeiramente eles devem ser excludos para depois excluir o grupo.

GPASSWD Gerencia amplamente o arquivo /etc/group.


Principais sintaxes Sintaxes
gpasswd nome_grupo gpasswd -r nome_grupo gpasswd -R nome_grupo

Descrio
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Muda a senha de um grupo.

Apaga a senha de um grupo.

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis gpasswd -d nome_usuario nome_grupo Apaga um usurio de um grupo. (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem gpasswd -A nome_usuario nome_grupo que o usurio seja administrador objeto. Isto importante, pois denota que Faz um com mtodo pertence a cada objeto dado grupo. o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Define os membros de um determinado grupo. Os membros so Dois objetos distintos tm gpasswd -M membros nome_grupo compartilhada por todas as instncias da classe. informados entre vrgula. Essa opo pode vir em conjunto com -A.

2.3 Membros de Instncia gpasswd -a nome_usuario nome_grupo

Desabilita o acesso ao grupo atravs da sua senha. Adiciona um usurio ao um grupo.

nicopode grupo objeto terprincipal. que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela Sintaxe: groups [opcao] [nome_usuario] chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos GROUPS Mostra os grupos que um usurio pertente. Lembrando ele s possui um mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um

101

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 113

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); = "2001"; ID carro1.ano Exibe os grupos aos quais o usurio pertence carro1.modelo= "fusca"; respectivos GIDs dos grupos. carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

juntamente com seu UID e os

Sintaxe: id [opcao] [nome_usuario] GROUPMOD Modifica as informaes de grupo. As opes -g GID muda o GID e -n nome muda o nome do grupo. Sintaxe: groupmod [opcao] nome_grupo
Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional um queum esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

102

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 114

Este material pode ser distribudo. Curso no Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.br da | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

13. PERMISSES

As permisses do Linux so um mecanismo de controle de acesso a arquivos e diretrios. Esse mecanismo conhecido como DAC (Discretionary Access Control - Controle de Acesso Discricionrio), ele define formas de acessar arquivos baseadas em trs simples nveis de permisso: Usurio dono do arquivo (representando pela letra u), Grupo dono do arquivo (letra g) e Outros (letra g). Sobre permisses algumas premissas precisam ser conhecidas: 1) O super usurio tem permisses para acessar ou modificar qualquer //criando novo alias ou diretrio; Carro arquivo carro2 = carro1; 2) Cada arquivo ou diretrio est associado a um dono e a um grupo com suas respectivas permisses de acesso (r,w,x). Atravs da opo -l do comando ls possvel visualizar as permisses de qualquer objeto, seja ele arquivo ou diretrio.
ls -l $HOME total 64 -rw------drwxr-xr-x -rw-r--r--rw-r--r-Figura 2.4 Layout Memria aps inicializao

1 2 1 1

root root root root

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

root root root root

1319 4096 8125 4281

Dec Dec Dec Dec

11 11 11 11

10:51 10:59 10:51 10:51

anaconda-ks.cfg Desktop install.log install.log.syslog

A primeira letra de cada linha representa o tipo do objeto.


Significado dos tipos de arquivo Cada objeto criado dever ter sua prpria instncia de variveis Tipo Descrio (atributos) definidas pela classe. Os mtodos definem o comportamento de um d Diretrio objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da l Link simblico classe. Porm no devemos confundir isto com a implementao do mtodo, que b Dispositivo especial de bloco compartilhada por todas as instncias dade classe. c Dispositivo especial caractere p Canal fifo s Socket 2.3.1 Invocao de Mtodos Arquivo comum Objetos se comunicam pela troca de mensagens, isto significa que um

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela Os modos de acessos vm depois do tipo do objeto e so chamada de um mtodo em um objeto usando o operador binrio "." (ponto), posies. devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

num total de nove

103

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 115

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way3232 Networks. treinamento@3way.com.brda | (62) 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata"; Significados dos Modos de Acesso Modo Significado Arquivos

Linux System Administration Linguagem de Programao Java

Diretrios

r w x

Leitura

Pode ler o contedo do arquivo. Comando: cat arquivo Pode editar o arquivo. Comando: echo mensagem > arquivo Pode executar o arquivo.

Pode visualizar o contedo do diretrio. Comando: ls /diretorio/ Pode modificar o contedo do diretrio. Comandos: mkdir /diretorio/novo_diretorio touch /diretorio/novo_arquivo Pode entrar no diretrio.

Escrita

Execuo

Comando: ./arquivo Comando: cd /diretorio/ Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Cada smbolo de permisso r, w, x possui um valor em octal.


Valor Octal das permisses Dono Grupo x
1

Outros x
1

r
4

w
2

r
4

w
2

r
4

w
2

x
1

13.1. PERMISSES ESPECIAIS Existem outras permisses que concedem caractersticas especiais para Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto arquivos e diretrios. So elas SUID, SGID e Sticky bit. Podem ser cumulativamente adicionadas respectivamente no campo execuo (x) de 2.3 Membros de Instncia Dono (SUID), Grupo (SGID) e Outros (Sticky bit). cada grupo de permisses:

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem SUID Set Udenota ser ID O item pertence (arquivo ouobjeto diretrio) que opossuir essa objeto. 1) Isto importante, pois que um mtodo a cada da seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que permisso exporta para todos os outros usurios as mesmas permisses do Dois objetos distintos tm compartilhada por todas as instncias da classe. dono do arquivo. 2.3.1 Invocao de Mtodos Objetos se comunicam pela ID trocade isto significa essa que um 2) SGID Set Group Omensagens, item que possuir permisso exporta para objeto pode ter que mostrar um comportamento particular invocando uma todos os outros grupos as mesmas permisses do grupo dono do arquivo. operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da 3) Sticky Bit O arquivo que possuir essa permisso aps ser finalizado, mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional 104 um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 116

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way3232 Networks. treinamento@3way.com.brda | (62) 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; permanecer na memria para uma eventual futura chamada. Isso agiliza o carro1.modelo= "fusca"; processo inicializao carro1.cor = "prata"; desse arquivo. Caso seja um diretrio, ele no pode ser

Linux System Administration Linguagem de Programao Java

apagado por outro usurio que no seja o prprio dono.


Permisses Especiais Dono Grupo S ou s r w S ou s r

Outros w T ou t

Se antes da adio do SUID no existir a permisso de execuo ( x), ento o smbolo que vai aparecer ser S (maisculo), se j existir, ser s (minsculo) indicando a acumulao da permisso anterior com o SUID. Figura 2.4 Layout Memria aps inicializao
//criando novo alias Carrocarro2 CHMOD Altera = ascarro1; permisses

de um arquivo ou diretrio. ou chmod perm-octal

Sintaxe: chmod perm1[,perm2 ] arquivo ... arquivo ...

chmod u-x arq1.txt chmod -R u+w,o-x /opt/ chmod u+s arq2.txt chmod 755 dir1 chmod 1644 arq3.txt

Comando

Exemplos Descrio Retira a permisso de execuo (x) do arquivo arq1.txt. Adiciona a permisso de escrita (w) para o dono e retira a permisso de execuo (x) para outros do diretrio /opt/ e todo seu contedo (-R). Adiciona a permisso especial de SUID (s) para o arquivo arq2.txt. Altera as permisses do diretrio dir1 para rwx (dono) e para r-x (grupo e outros). Adiciona a permisso especial de Sticky bit (1) e as permisso 644 no arquivo arq3.txt . Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

UMASK Define a mscara de criao de arquivos e diretrios. O padro 0022, 2.3 Membros de Instncia
(atributos) definidas pela classe. Os mtodos definem o comportamento de um Sintaxe: umask [valor_mascara] objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que CHOWN compartilhada todas instncias da classe. por Muda a as propriedade do arquivo ou diretrio.

que dCada as permisses resultantes diretrios 644 para arquivos. objeto criado dever ter 755 sua para prpria instncia ede variveis Os valores das variveis

2.3.1 Invocao de Mtodos Sintaxe: chown [opcao] [dono][:[grupo]] arquivo ... Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma CHGRP Mudaque o grupo do arquivo ou diretrio. operao apropriada foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), Sintaxe: chgrp [opcao] grupo arquivo devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

105

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 117

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Exemplos carro1.modelo= "fusca"; Comando Descrio carro1.cor = "prata";
umask umask 0024 chown user1 arq1.txt chown user2:root arq2.txt chgrp administracao arq3.txt

Linux System Administration Linguagem de Programao Java

Informa a mscara atual. Define 0024 como a mscara atual. Obs.: Tambm define permisso de criao 0753 (diretrios) e 0642 (arquivos). Muda a propriedade do arquivo arq1.txt para o usurio user1. Muda a propriedade e o grupo do arquivo arq2.txt para o usurio user2 e grupo root. Muda o grupo do arquivo arq3.txt para administracao.
Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

106

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 118

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; ABORATRIO carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

13.2. L

O objetivo desse laboratrio trabalhar os comandos de administrao de usurios e grupos para recuperar a senha de root que foi esquecida. 1) reiniciar o sistema com alguma ferramenta de recuperao de emergncia, talvez um LiveCD, Pendrive bootvel, etc. 2) Montar de forma enjaulada (chroot) a partio onde se encontra o arquivo que contm a senha (normalmente /etc/shadow). Suponhamos que seja /dev/sda2. Figura 2.4 Layout Memria aps inicializao
mount /dev/sda1 /mnt //criando novo alias Carrochroot carro2 = carro1; /mnt cd /mnt

2) Copiar o campo senha (do shadow) de algum usurio do qual voc se lembre da senha.
vi etc/shadow copiar ou memorizar o campo senha de algum usurio

3) Colar essa senha no campo de senha do usurio root e reiniciar o sistema.


reboot

(atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe.

Outra alternativa, at mais aplicada, logar com alguma mdia de recuperao ou emergncia e apagar o campo senha do usurio root no arquivo 2.3 Membros de Instncia shadow . O supoer usurio ficar sem senha, s no se pode esquecer de criar uma Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis senha assim que o sistema voltar ao ar.

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

107

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 119

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS= "prata"; carro1.cor

Linux System Administration Linguagem de Programao Java

13.3. E

O comando useradd usado para criar usurio, normalmente a criao de usurio no cria o diretrio home do usurio. Qual o arquivo e a opo utilizados para configurar a criao automtica do diretrio home? Qual a diferena entre as opes -g e -G do comando useradd? Alm de mudar a senha, que padro, quais so as outras opes do comando passwd?
Figura 2.4 Layout Memria inicializao apaga o diretrio home? D Qual a opes do comando userdel queaps tambm um exemplo. //criando novo alias

Explique com detalhes a estrutura de formao dos arquivos /etc/passwd, /etc/shadow e /etc/group. Crie um exemplo de cada opes do comando chage. Esses exemplos devero ser aplicados ao usurio fictcio sysadmin. Podemos alterar as definies das contas dos usurios simplesmente manipulando os arquivos passwd, shadow, group, etc. O comando usermod especfico para isso. Baseado no usurio sysadmin, crie e teste exemplo para as principais opes desse comando. possvel manipularmos manualmente o arquivo /etc/group para Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto adicionar/excluir usurios dos grupos existentes. Qual o comando que faz o mesmo ao gerenciar esse arquivo? D um exemplo para cada sintaxe.
Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis mesmo nome para ele. Usando somente comandos para isso, qual seria a (atributos) definidas pela classe. Os mtodos definem o comportamento de um emdiretrio um objetohome constituem sequencia de comandos para mudar seu nome de usurio, seu e objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado . o nome do seu confundir grupo para user-um . classe. Porm no devemos isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada por todas as instncias da classe. comunicam pela troca de mensagens, isto significa que um Objetos Qual ose significado das permisses de leitura (r), escrita (w) e execuo (x) para objeto pode ter que mostrar um comportamento particular invocando uma diretrio? Explique suaEm resposta com comandos que podem ou no operao arquivos apropriadaeque foi definida no objeto. Java, isto feito pela usadosem em cada caso. chamada serem de um mtodo um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da As permisses especiais SUID, SGID e Sticky Bit so mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Carro carro2 = carro1;

2.3 Membros Instncia Ao criar de um usurio chamado user1, automaticamente ser criado um grupo de

Como podemos ver as permisses de um determinado item o de dados (arquivo mesmo estado se suas variveis membro tm os ou diretrio)? 2.3.1 Invocao de Mtodos
mesmos valores.

utilizadas em quais
108

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 121

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano casos? Qual = o "2001"; comando que altera permisses? carro1.modelo= "fusca"; carro1.cor "prata"; Qual so as= permisses resultantes para arquivos

Linux System Administration Linguagem de Programao Java

0022, 0023, 0000, 0077 e 0555?

e diretrios das mscaras

Para mudar o dono e o grupo de um arquivo ou diretrio podemos utilizar quais comandos? Exemplifique cada um deles.

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

109

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 122

Este material pode ser distribudo. Curso no Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.br da | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

14. ACL POSIX

Sistemas Linux possuem por padro as permisses de leitura, escrita e execuo para dono, grupo e outros tanto em diretrios quanto arquivos. Essas permisses so importantes e representam a base do controle de acesso no Linux, mas quando o assunto compartilhamento de arquivos, elas so consideradas limitadas se comparadas a outras solues proprietrias, pois o fato de um item de dados (diretrio ou arquivo) possuir somente as permisses padro acabam por proporcionar uma certa rigidez nas regras de funcionamento de um servidor de arquivos. Atualmente esses servidores precisam Figura muito 2.4 Layout Memria aps inicializao ser dinmicos e flexveis, possuir mais que trs tipos de permisses, um grupo //criando novo alias ter permisses diferentes de outros grupos para um mesmo item de dado. Para suprir essa necessidade que surgiram as Access Control Lists (ACLs Listas de Controle de Acesso) do padro POSIX. suportado pelos sistemas de arquivos ext2fs, ext3fs, ReiserFS, JFS, XFS, etc, e j esto nativamente presentes no Linux a partir do Kernel 2.6.x. As referncias oficiais desse projeto esto hospedadas em http://acl.bestbits.at. Com ACL pode-se ter um modelo mais refinado de permisses, pois alm das permisses padro, usurios e grupos adicionais de um determinado item de dados no so resumidos simplesmente na categoria outros, mas podem possuir um conjunto todo especial de permisses diferentes das originais. Para identificar sistemas com suporte a ACL basta executar o comando ls com Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto a listagem longa, se aparecer ao lado das permisses padro o caractere +, significa que o item foi personalizado, portanto possui o suporte.
ls -l Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis -rw------1 pela root root 1245 Jan o19 10:11 anaconda-ks.cfg (atributos) definidas classe. Os mtodos definem comportamento de um em um objeto constituem -rw-r--r-1 root root Jan pertence 19 10:11 install.log objeto. Isto importante, pois denota que4281 um mtodo a cada objeto da o seu estado. -rwxr-x--+ devemos 1 jose rede Feb 10 17:51 teste.txt classe. Porm no confundir isto19 com a implementao do mtodo, que Dois objetos distintos tm drxwr-xr-x+ 2 john dev 210 Feb 9 11:37 dirteste compartilhada por todas as instncias da classe.
Carro carro2 = carro1;

2.3

Membros de Instncia

objeto pode ter que mostrar um comportamento particular invocando uma ter queapropriada instalar o suporte e habilit-lo arquivos operao que foi definida no objeto. no Em sistema Java, isto de feito pela arquivos chamada de /etc/fstab um mtodo .em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um que um esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos Os sistemas Red Hat mais atuais trazem por padro suporte a ACL no sistema mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um

de arquivos raiz, mas no em ext3fs criado por usurios. Em outras distros comum desejado atravs do

110

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 123

Este material no pode ser distribudo. Somente poder ser utilizado por alunos da 3Way Networks. www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); # /etc/fstab carro1.ano = "2001"; # carro1.modelo= "fusca"; /dev/sda1 / reiserfs carro1.cor = "prata"; noatime,acl,notail /dev/sda2 none swap sw

Linux System Administration Linguagem de Programao Java

0 0

1 0

Se aps a insero da clusula acl o sistema no puder ser reiniciado, ento ser preciso remontar a partio cujo suporte est sendo acrescido.
mount / -o remount,acl

14.1. CONFIGURANDO ACLS


Layout Memria aps inicializao Para entender melhorFigura a 2.4 configurao das ACLs, vai ser considerado o //criando novo alias seguinte cenrio: um arquivo teste.txt (permisso: 750, dono: jose, grupo: rede) e o Carro carro2 = carro1; diretrio dirteste (permisso: 755, dono: john, grupo: dev).

A questo principal como fazer com que mais usurios possam ter acesso total ao arquivo teste.txt sem ter que coloc-los no grupo rede e depois mudar a permisso do grupo para rwx. Para se conseguir isso, preciso configurar as ACLs atravs dos seus comandos mais bsicos: setfacl e getfacl. GETFACL Recupera as informaes de permisses de um item de dados com ACL. Sintaxe: getfacl [opcao] arquivo/diretorio ... ou getfacl [opcao] Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

(atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem verificar asdenota outras opes, consultar pginas de comando. objeto. IstoPara importante, pois que um mtodo pertenceas a cada objeto da manual do o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada por todas as instncias da classe.

A primeira sintaxe a mais comum, onde os itens de dados so informados na prpria linha de comando, 2.3 Membros de Instncia j a segunda recebe da entrada padro o caminho dos itens de dados serem criado verificados, finalizada com o pressionamento CTRL+D. Cadaa objeto dever ter sua prpria instncia de variveis das Osteclas valores das variveis

Sintaxe: arquivo/diretorio ... ou setfacl --restore=arquivo objeto podesetfacl ter que[opcao] mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). Opes O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas SETFACL de Define as permisses de um item de dados com ACL.variveis membro tm os 2.3.1 Invocao Mtodos mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um

111

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 124

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); Se o registro especificado j existir, os bits de permisso especificados sero atualizados. Se o registro ainda carro1.ano = "2001"; carro1.modelo= "fusca"; no existir, ser adicionado ACL. carro1.cor = "prata"; Configura a ACL. Quaisquer registros anteriores sero eliminados e substitudos pelos novos. Para a formao incremental da ACL, o parmetro -m mais indicado.

Linux System Administration Linguagem de Programao Java

-m

-s

-x

Ex.: setfacl -s u:jose:rwx,u:john:r-x,g:dev:rx Elimina o registro especificado.

teste.txt

-M/S/X

Ex.: setfacl -x g:jose teste.txt Com significado idntico aos respectivos parmetros de letra minscula, porm os registros so lidos de um arquivo (especificado logo depois deste parmetro). O formato exigido exatamente o formato gerado pelo comando getfacl. Para ler da entrada padro, use o trao ('-').
Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Configura a permisso adicional rwx para o usurio (opo u) jose. A partir de agora ele tem as mesmas permisses do dono (jonh). Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto setfacl -m g:rede:rw- dirteste Define a permisso de rw para o grupo (opo g) rede no diretrio dirteste. setfacl -m m:rwx dirteste Altera a mscara (opo m) do diretrio dirteste para rwx. Retira as permisses rwx dos outros usurios do diretrio dirteste e as torna 2.3 Membros de Instncia Default (d) para todo e qualquer arquivo/diretrio criado em seu interior. Essa setfacl -m d:o::--- dirteste Cada objeto criado dever ter desconsidera sua prpria instncia de definida variveis opo a mscara padro pelo comando umask das paravariveis o Os valores (atributos) definidas pela classe. Os sistema. mtodos definem o comportamento de um em um objeto constituem
setfacl -m u:jose:rwx dirteste getfacl dirteste objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da # file: dirteste classe. Porm no devemos confundir isto com a implementao do mtodo, que # owner: john group: dev por todas as instncias da classe. # compartilhada

getfacl dirteste # file: dirteste # owner: john # group: dev user::rwx group:r-x mask:rwx other::---

Exemplos

Exibe as permisses ACL do diretrio dirteste.

objeto pode ter que mostrar um comportamento particular invocando uma other::--operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), A mesma sistemtica pode completa: ser usada alterar de da arquivos. devendo especificar a mensagem o para objeto que as o ACLs recebedor mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o seu estado. Dois objetos distintos tm o mesmo estado se suas user::rwx Exibe as permisses ACL do diretrio dirteste aps a execuo dos ltimos dois user:jose:rwx comandos. variveis membro tm os 2.3.1 Invocao de Mtodos group:r-x mesmos valores. group:rede:rwObjetos se comunicam pela troca de mensagens, isto significa que um mask:rwx

112

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 125

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); setfacl u::rwx arquivo carro1.ano = "2001";Muda para rwx as permisses do usurio-dono carro1.modelo= setfacl g::rwx arquivo "fusca"; Muda para rwx as permisses do grupo-dono carro1.cor = "prata"; setfacl o::rwx arquivo Muda para rwx as permisses dos outros usurios

Linux System Administration Linguagem de Programao Java

14.2. COMANDOS CHATTR E LSATTR


Os comandos chattr e lsattr servem para manipular e visualizar os atribuitos de arquivos e diretrios. Atributos so extenses que probem que o arquivo seja alterado, removido e renomeado, etc, eles tm efeito sobre qualquer usurio, incluindo o usurio administrativo (root). Os kernels da srie 2.6.x j suportam 2.4 Layout Memria aps inicializao nativamente atributos, j osFigura anteriores precisam ser recompilados com essa //criando novo alias funcionalidade.
Carro carro2 = carro1;
D I C A

Entender que um atributo diferente que permisso de primordial importncia, pois os comandos chattr/lsattr trabalham com atributos e chmod com com permisses.

CHATTR Modifica os atributos de arquivos/diretrios. Sintaxe: chattr [opcao] [atributo] [arquivo/diretorio]


-R

-V

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um Atributos em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. Porm no devemos isto com a implementao do mtodo, que A No modifica a hora deconfundir acesso ao arquivo (somente em kernel 2.2). Dois objetos distintos tm compartilhada por arquivo todas as instncias da classe. Append Only, pode somente ser gravado em modo incrementado, ou seja, pode ser adicionado contedo
somente no final do arquivo, no pode ser removido ou renomeado. variveis membro tm os 2.3.1 Invocao de Mtodos c Permite compactao nos arquivos especificados de forma transparente. mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um d Protege para o dump no fazer backup do arquivo. objeto pode ter que mostrar um comportamento particular invocando uma Imutveis. Arquivos Imutveis no podem ser modificados, gravados, removidos, renomeados. At mesmo o i operao apropriada definida no alterar. objeto. Em Java, isto feito pela usurio root com que pode foi mximo no pode chamada de um mtodo em um objeto usando o operador binrio "." (ponto), s chamado de apagamento seguro, quando eliminado o arquivo zerado sem possibilidade de recuperao. devendo especificar a mensagem completa: o objeto que o recebedor da S Faz a gravao imediatamente para o arquivo especificado, como sync, ex: igual aos disquetes.
a

2.3

Opes Modifica atributos recursivamente, ou seja, em subdiretrios. Mostra detalhes sobre a modificao do atributo. Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto Atributos de arquivo / diretrio + Adiciona atributo - Remove atributo Membros de Instncia = Define o atributo igual especificado

o mesmo estado se suas

mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

113

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 126

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); marcado como recupervel, quando apagado salvo uma copia para permitir recuperao. carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

chattr +AsdiSu teste.txt

Exemplos Adiciona os atributos A, s, d, i, S e u ao arquivo teste.txt.


--S-iadA---------- teste.txt

chattr -SdA teste.txt

Remove os atributos S, d e A ao arquivo teste.txt.


----ia------------ teste.txt

chattr +iAd dirteste

Adiciona novamente os atributos i, A, e d ao diretrio dirteste.


----i-dA---------- dirteste
Figura 2.4 Layout Memria aps inicializao

LSATTR Lista os atributos atribudos a um arquivo/diretrio. Sintaxe: lsattr [opcao] [arquivo/diretorio]


Opes
-a -d -R -v

//criando novo alias Carro carro2 = carro1;

Lista todos os arquivo, incluindo os ocultos. Lista os atributos de diretrios. Lista um diretrio e seus subdiretrios. Mostra verses dos arquivos.

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

2.3

Membros de Instncia

lsattr -d dirteste (atributos) definidas pela classe. Os mtodos definem o comportamento de um ----i-dA---------- dirteste objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da Mostra a verso do arquivo teste.txt. do mtodo, que classe. Porm no devemos confundir isto com a implementao lsattr -v teste.txt compartilhada por todas as227244986 instncias ----ia-----------da classe. teste.txt

Exemplos Lista os atributos do diretrio dirteste . Cada objeto criado dever ter sua prpria instncia de variveis

2.3.1 de Mtodos lsattrInvocao -dv dirteste 2470624291 ----i-dA---------dirteste Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da Exemplo de remoo diretrio mensagem, o mtodo a ser invocado e os argumentos para ode mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Mostra a verso do diretrio dirteste.

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

114

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 127

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); lsattrcarro1.ano -d dirteste = "2001"; Com a listagem dos atributos do diretrio dirteste, percebe-se a presena ----i------------- dirteste carro1.modelo= "fusca"; do atribuito -i (imutvel). carro1.cor = "prata"; rm -rfv dirteste Aps a listagem, ocorre a tentativa de apag-lo, operao que no rm: cannot remove directory permitida devido ao atributo j citado, mesmo que o usurio seja root. `dirteste': Operation not permitted

Linux System Administration Linguagem de Programao Java

D I C A

Para que o diretrio seja removido existe a necessidade do atributo ser retirado, operao que s o root pode executar, aps isso, o diretrio pode ser removido com o comando rm normalmente.
Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

115

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 128

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; ABORATRIO carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

14.4. L

Este laboratrio tem o objetivo de demonstrar o funcionamento das ACLs dentro de um cenrio simples e realista. 1) Considerando a seguinte estrutura de diretrios com seus proprietria e permisses:
/ | |_Compras |__Consumo |__Duravel (dono:compras, grupo:compras, permisses:750) (dono:consumo, grupo:consumo, permisses:700) (dono:duravel, grupo:duravel, permisses:700) Figura 2.4 Layout Memria aps inicializao

# mkdir novo -m 750 /Compras //criando alias # mkdir -m = 700 /Compras/Consumo Carro carro2 carro1; # mkdir -m 700 /Compras/Duravel # useradd compras # useradd -G compras consumo # useradd -G compras duravel # chown consumo.consumo /Compras/Consumo # chown duravel.duravel /Compras/Duravel

2) Observando as permisses, percebemos que o acesso dos usurios consumo e duravel de leitura e execuo (r-x) no diretrio /Compras/, total (rwx) em seus respectivos diretrios e sem permisses (---) no diretrio do outro.
Testes de Acesso Usurio Logado
consumo consumo consumo

Comando Testado Resultado Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
cd /Compras

Ok Ok

Permisso Negada Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis duravel pela classe. Os mtodos cd /Compras Ok (atributos) definidas definem o comportamento de um em um objeto constituem objeto. Isto duravel importante, pois denota que um mtodo pertence a cada objeto da cd /Compras/Consumo Permisso Negada o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que duravel cd /Compras/Duravel Dois objetos distintos tm Ok compartilhada por todas as instncias da classe.

2.3

Membros de Instncia

cd /Compras/Consumo cd /Compras/Duravel

objeto pode ter que de mostrar comportamento particular invocando sequencial, uma cada um vez, e a cada modificao faremos uma os testes. operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de mtodo em um objeto usando o binrio "." (ponto) 3)um Vamos comear verificando aoperador presena de ACLs nos, diretrios devendo especificar a mensagem completa: o objeto que o recebedor da getfacl mensagem, o mtodo/Compras a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas Utilizaremos as ACLs para permitir que cada usurio (consumo e duravel ) os variveis membro tm 2.3.1 Invocao de Mtodos mesmos valores. acesseObjetos o diretrio do outro com as de significa execuo, leitura e escrita de forma se comunicam pela troca depermisses mensagens, isto que um

em questo.

116

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 129

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); getfacl /Compras/Consumo carro1.ano = "2001"; getfacl /Compras/Duravel carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

A sada dos trs comandos acima mostram o cenrio que criamos, sem muitas novidades. 4) Vamos adicionar a permisso de leitura no diretrio /Compras/Consumo para o usurio duravel e em /Compras/Duravel para o usurio consumo.
setfacl -m u:duravel:r /Compras/Consumo setfacl -m u:consumo:r /Compras/Duravel Testes de Acesso Usurio Logado
duravel

Comando Testado

//criando novo alias consumo ls -l /Compras/Duravel Carro carro2 = carro1;

ls -l /Compras/Consumo

Figura 2.4 Layout Memria aps inicializao

Resultado Ok Ok

Observe que o que antes era Negado, agora permitido somente para o usurios que a ACL configurou. No entanto, s foi liberada a leitura nesse diretrio, tente criar um item de dados (diretrio ou arquivo) ou at mesmo entrar no diretrio para que lhe seja exibida a mensagem de negao.
Testes de Acesso Usurio Logado
consumo consumo consumo duravel duravel

Comando Testado
cd /Compras/Duravel mkdir /Compras/Duravel/dirteste touch /Compras/Duravel/arqteste mkdir /Compras/Consumo/dirteste touch /Compras/Consumo/arqteste

Resultado Permisso Negada Permisso Negada Permisso Negada Negada Permisso Negada Permisso Negada

Figura Layout Memria duas variveis referncia para o mesmo objeto cd 2.5 /Compras/Consumo Permisso

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis Agorapela vamos adicionar asdefinem permisses de criao (w) de dados e de (atributos)5) definidas classe. Os mtodos o comportamento de um de itens em um objeto constituem execuo e novamente realizar os testes. objeto. Isto (x) importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. Porm no devemos confundir isto com a implementao setfacl -m u:duravel:wx /Compras/Consumo do mtodo, que Dois objetos distintos tm compartilhada por todas as instncias da classe. setfacl -m u:consumo:wx /Compras/Duravel
Testes de Acesso 2.3.1 Invocao de Mtodos Objetos seLogado comunicam pela troca de mensagens, isto significa que um Resultado Usurio Comando Testado objeto pode ter que mostrar um comportamento particular invocando uma consumo cd /Compras/Duravel Ok operao apropriada que foi definida no objeto. Em Java, isto feito pela consumo mkdir /Compras/Duravel/dirteste Ok chamada de um mtodo em um objeto usando o operador binrio "." (ponto), consumo touch /Compras/Duravel/arqteste devendo especificar a mensagem completa: o objeto que o recebedor da Ok mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

duravel

o mesmo estado se suas variveis membro tm os mesmos valores.

117

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 130

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); duravel cd /Compras/Consumo carro1.ano = "2001"; carro1.modelo= "fusca"; duravel mkdir /Compras/Consumo/dirteste carro1.cor = "prata";
duravel touch /Compras/Consumo/arqteste

Linux System Administration Linguagem de Programao Java

Ok Ok Ok

6) Para finalizar, vamos conferir como ficou a configurao ACL de cada um dos diretrio em questo.
getfacl /Compras getfacl /Compras/Consumo getfacl /Compras/Duravel

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

118

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 131

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor XERCCIOS= "prata";

Linux System Administration Linguagem de Programao Java

14.5. E

As permisses padro so baseadas em trs tipos limitados, quais so eles? Qual foi a motivao da criao das Listas de Controle de Acesso POSIX (ACL Posix)? Quais so os sistemas de arquivos que j possuem suporte a ACLs? Como se percebe que um item de dados est configurado com ACL? D um exemplo.
2.4 Layout Memria aps inicializao Assim como as cotas de Figura disco, as ACLs precisam ser habilitadas em qual //criando novo alias arquivo? Exemplifique. Carro carro2 = carro1;

Quais so os comandos de manipulao (recuperar e configurar) das permisses de items com ACL? Fale sobre as diferenas entre as ACLs e os atributos de dados. Para que servem os comandos lsattr e chattr? Fornea trs exemplos de cada.

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

119

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 132

Este material no pode serem distribudo. Curso Especialista Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System LinguagemAdministration de Programao Java

15. LOCALIZAO DE ARQUIVOS


FIND Localizao recursiva. Sintaxe: find [onde_procurar] [criterio] LOCATE Faz a localizao baseada em banco de dados. Sintaxe: locate [opcao] padrao_busca
2.4 Layout Memria aps inicializao A base de dados do Figura locate atualizada atravs do comando updatedb e configurada pelo arquivo //criando novo alias /etc/updatedb.conf , que normalmente consta dos diretrios Carro carro2 = carro1; desconsiderados pela base.

O locate mais rpido que o find justamente por usar uma base de dados indexada, enquanto que o find faz buscas recursivas. WHEREIS Localiza os arquivos binrios, cdigos fonte e as pginas de manual de um determinado comando. Sintaxe: whereis [opcao] comando WHICH Retorna o caminho completo do binrio de um comando. O comando Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto deve estar em algum dos diretrios da varivel PATH.
Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis Exemplos (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem Comando Descrio objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. updatedb Atualiza a base dados do comando locate. que classe. Porm no devemos confundir isto com a de implementao do mtodo, Dois objetos distintos tm compartilhada por todas as instncias da classe. locate passwd Localiza arquivos que possuem a palavra passwd em seu nome.

2.3

Sintaxe: which [opcao] comando


Membros de Instncia

objeto pode ter que mostrar um comportamento particular invocando uma . which shutdown Retorna o caminho completo do comando shutdown operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um Profissional Aprendendo um Seja que esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas Retorna a quantidade de vezes que foram localizadas a palavra passwd. variveis membro tm os 2.3.1 Invocao de Mtodos mesmos valores. whereis chcon se comunicam pela Localiza binrio, o cdigoisto fonte e as pginas manual do comando chcon . Objetos trocaode mensagens, significa que de um
locate -c passwd

120

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 134

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; ABORATRIO carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

15.1. L

O objetivo desse laboratrio adicionar diretrios no bando de dados updatedb. Vamos retirar da atualizao os diretrios /tmp/manual/, /opt/openoffice/ e /mnt/wind/. Tambm retirar os arquivos de extenso .sh e .bin. 1) Entrar no arquivo /etc/updatedb.conf.
//criando novo alias Carro carro2 = carro1; 2) Adicionar varivel
vi /etc/updatedb.conf
Figura 2.4 Layout Memria aps inicializao

PRUNEPATHS os diretrios listados.

PRUNEPATHS = /tmp/manual/ /opt/openoffice /mnt/wind

3) Adicionar varivel PRUNENAMES as extenses .sh e .bin.


PRUNENAMES = .sh .bin

4) Atualizar o bando de dados


updatedb

Pronto, os diretrios j foram excludos da atualizao do ubdatedb e as extenses .sh e .bin tambm, consequentemente elas no viro como resultado buscas pelo comando locate. Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

121

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 135

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS= "prata"; carro1.cor

Linux System Administration Linguagem de Programao Java

15.2. E

Quais so as principais diferenas entre o comando find e o locate? Qual a funo do whereis? Qual a diferena dele em relao ao which? O que faz a linha de comando cp -r `whereis man` /tmp/manual/?

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

122

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 136

Este material no pode serem distribudo. Curso Especialista Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System LinguagemAdministration de Programao Java

16. SHELL SCRIPTS

16.1. PERSONALIZANDO E TRABALHANDO NO AMBIENTE SHELL


A maioria dos sistemas operacionais Linux possuem shell (interpretador de comandos) programveis, ou seja, permitem a criao de scripts com funcionalidades prximas de uma linguagem de programao. Os scripts shell permitem ao administrador do sistema automatizar tarefas, criar novos comandos para o seu auxlio, etc. Existem vrios tipos de interpretadores para aps o sistema Figura 2.4 Layout Memria inicializao Linux, sendo os principais: bash , csh e tcsh . Oalias nome do interpretador utilizado fica armazenado na varivel de //criando novo Carro carro2 = carro1; ambiente SHELL. Para saber qual est sendo utilizado, basta utilizar o comando set | grep -i shell. Nos exemplos smbolo % significa prompt de comando, sem fazer distino entre usurio comum ou superusurio.
% set | grep -i shell SHELL=/bin/bash

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis 16.1.1. definidas ALTERANDO VARIVEIS (atributos) pela classe. Os mtodos definem o comportamento de um em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seuatravs estado. do As variveis globaisisto so definidas no login para que todo o sistema classe. Porm no devemos confundir com a implementao do mtodo, Dois objetos distintos tm arquivo /etc/profile ou paradaum usurio especfico pelo arquivo ~/.bash_profile. compartilhada por todas as instncias classe.

Quando o usurio possui um interpretador de comandos e uma senha vlida ele est apto a efetuar login no sistema, porm algumas vezes no interessante que ele tenha acesso, mas que possua uma conta para acessar outros tipos de servios do Figura 2.5 Layout Memria duas variveis referncia para mesmo objeto do acesso ao sistema sistema, como internet, SAMBA e outros servios. Ao remoo pode ser feita no arquivo /etc/passwd, devendo ser alterado o valor do campo responsvel pelo shell (o ltimo campo) para o valor /bin/false ou /sbin/nologin. 2.3 Membros de Instncia

Variveis locais podem ser definidas em scripts ou na linha devariveis comando, e se for membro tm os 2.3.1 Invocao de Mtodos preciso torn-la disponvel para outros shells basta export-la com o comando mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um export . objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela % export VAR=Valor chamada de um mtodo em da um varivel objeto usando o operador binrio "." (ponto), % echo $VAR devendo especificar a mensagem completa: o objeto que o recebedor da Valor da varivel mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um Profissional Aprendendo um Seja que esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas

123

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 137

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); % unset VAR carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor 16.1.2. FUNES = "prata";

Linux System Administration Linguagem de Programao Java

As funes renem em um identificador definido pelo usurio uma srie de comandos organizados para realizar uma determinada tarefa. Podem ser utilizadas como comando e definidas tanto na linha de comando quanto dentro de scripts.
% > > > function flistagem () { echo Listagem detalhada do diretrio $1: ls -lah $1 }
Figura 2.4 Layout Memria aps inicializao

Dentro de um script:

Se o script acima for adicionado no arquivo ~/.bashrc de outros usurios, a funo poder ser usada em outras sesses dos mesmos.

//criando novo alias Carro carro2 = carro1; function flistagem () { echo Listagem detalhada do diretrio $1: ls -lah $1 }

16.2. CONFIGURAO DO BASH


O bash pode ser personalizado atravs da criao de variveis, aliases, funes e outras configuraes para facilitar o trabalho dos usurios e administradores do sistema. O shell pode ser iniciado no modo interativo, Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto quando aparece o prompt para digitao dos comandos, ou no modo no interativo, onde o usurio no se comunica atravs de scripts.
Membros de Instncia

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis /etc/profile , se pela esse arquivo existir. Depois de ler esse de arquivo, o bash procura e (atributos) definidas classe. Os mtodos definem o comportamento um em um objeto constituem objeto. Isto nessa importante, pois que um mtodo pertence,a~/.bash_login cada objeto da e ~/.profile executa ordem osdenota arquivos ~/.bash_profile . Quando o seu estado . classe. Porm no devemos confundir isto com a implementao do mtodo, que a sesso do shell termina, o bash executa as instrues do arquivo Dois ~/.bash_logout , se objetos distintos tm compartilhada por todas as instncias da classe.

2.3

Quando interativo, ele primeiro l e executa as instrues no arquivo

objeto pode ter que mostrar um comportamento particular invocando uma ~/.bashrc (se existirem). operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos Quando o bash invocado como shell interativo, mas no se trata de uma mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um sesso de login, o bash executa as instrues dos arquivos /etc/bash.bashrc e

ele existir.

124

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 138

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; ROGRAMANDO NO INUX carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

16.3. P

A maioria dos sistemas operacionais Linux possuem shell (interpretador de comandos) programveis, ou seja, permitem a criao de scripts com funcionalidades prximas de uma linguagem de programao. Os scripts shell permitem ao administrador do sistema automatizar tarefas, criar novos comandos para o seu auxlio, etc. 16.3.1. UM SCRIPT SIMPLES Os scripts so simples arquivos de texto com a permisso de execuo habilitada. Os comandos dentro de2.4 um script so mesmos utilizados em uma linha Figura Layout Memria apsos inicializao de comando, pois o arquivo //criando novo alias lido de forma sequencial (de cima para baixo).
Carro carro2 = carro1; % vi script1.sh #!/bin/bash echo "Ol Mundo!

O script acima possui o cabealho #!/bin/bash que serve para informar qual ser o interpretador de comandos a ser utilizado. Caso no seja informado, ser utilizado interpretador padro do sistema (definido na varivel SHELL). O smbolo #! chamado de shebang. Aps a edio basta salvar o arquivo e alterar a sua permisso para executvel:
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto % chmod u+x script1.sh

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos Formas definem oExecuo comportamento de um de em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. Forma Descrio classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm % bash script1.sh compartilhada por todas as instncias Usando da classe. o comando bash com o caminho do script como parmetro.

2.3

Para execut-lo, existem vrias formas diferentes: Membros de Instncia

objeto pode ter que mostrar um comportamento particular invocando uma Colocando ./ antes do nome do script. Serve para quando o caminho atual o % . /script1.sh mesmo do script, neste caso no ser consultada a varivel PATH como operao apropriada que foi definida no objeto. Em Java, isto feito pela Ol Mundo! forma de encontrar o script. chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 125 um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm % /caminho/absoluto/script1.sh Informando o caminho absoluto do script. Caminho absoluto todo o os 2.3.1 Invocao de Mtodos Ola Mundo! caminho percorrido atisto chegar ao script. mesmos valores. Objetos se comunicam pela troca de mensagens, significa que um
Ola Mundo!

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 139

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; 16.3.2. COMENTRIOS carro1.modelo= "fusca"; carro1.cor = "prata"; Os comentrios so feitos dentro dos scripts

Linux System Administration Linguagem de Programao Java

utilizando o caractere # antes de uma linha de comando, ento essa linha ser ignorada durante a execuo.

#!/bin/bash #--- programa simples de script shell --# --- Esse um comentrio e no ser lido durante a execuo --echo "Ol Mundo!"

16.3.3. VARIVEIS ESPECIAIS Os parmetros passados para o script e outras informaes teis so Figura 2.4 Layout Memria aps inicializao retornados pelas variveis especiais que esto descritas na tabela abaixo.
//criando novo alias Carro carro2 = carro1;

Variveis Especiais Varivel


$* $# $0 $n $! $$ $?

Descrio Todos os valores passados como argumentos. A quantidade de argumentos passados. O nome do script (inclui o caminho). O parmetro informado na posio n. O PID do ltimo programa executado. O PID do shell atual. Cdigo de sada do ltimo comando.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

16.3.4. LEITURA DE TECLADO E VARIVEIS


Cada objeto criado dever ter sua prpria instncia de variveis para serem processadas. O comando que realiza essa tarefa o readOs . valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem objeto. Isto importante, pois denota queou um mtodo pertence ]a "mensagem: cada objeto da " variavel Sintaxe: read variavel read [opcao o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada por todas as instncias da classe.
Principais opes

2.3

Membros de Durante a Instncia execuo do script pode ser solicitado a entrada de informaes

2.3.1 Opo Invocao de Mtodos Descrio Objetos se comunicam pela troca de mensagens, isto do significa que umdigitado. -p Solicita a informao e permite a visualizao que est sendo objeto pode ter que mostrar um comportamento particular invocando uma -s a informao, mas no permite a sua visualizao; operao apropriada Solicita que foi definida no objeto. Em Java, isto feitoutilizado pela para pedir senhas. -n X Permite a quantidade X operador de caracteres a serem chamada de um mtodo eminformar um objeto usando o binrio "."lidos. (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os mesmos valores.

126

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 140

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Exemplo: carro1.modelo= "fusca"; carro1.cor = "prata"; % vi script1.sh #!/bin/bash echo -n "Digite algo: " read resposta echo "Foi digitado: $resposta; o primeiro parmetro

Linux System Administration Linguagem de Programao Java

$1 o segundo $2"

Executar o arquivo script.sh com passagem de parmetros:


# ./script1.sh AAA BBB

//criando novo alias Carro carro2 = carro1; Digite algo: ALGO Foi digitado: ALGO; o primeiro parmetro AAA o segundo BBB.

Sada:

Figura 2.4 Layout Memria aps inicializao

16.3.5. ESTRUTURAS DE DECISO IF THEN ELSE A estrutura condicional permite definir uma deciso do programa; atravs de uma condio, que pode ser uma comparao entre dois valores, por exemplo. Sintaxe: if [ condicao ]; then comando fi
2.3

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da if [ condicao ]; then classe. Porm no devemos confundir isto com a implementao do mtodo, que comandos compartilhada por todas as instncias da classe.

detalhes para a programao: Cada objeto criado dever

A estrutura if permite o uso de else para o tratamento de erro na condio sem Membros de Instncia

2.3.1 Invocao de Mtodos comandos Objetos se comunicam pela troca de mensagens, isto significa que um fi objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de mtodo em um objeto o operador binrio "."login (ponto) , O um script script2.sh queusando simula o sistema de do devendo especificar a mensagem completa: o objeto que o recebedor da estrutura condicional: mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

else

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

Linux explora essa

127

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 141

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); % vi script2.sh carro1.ano = "2001"; #!/bin/bash carro1.modelo= "fusca"; # Faz carro1.cor a leitura da= senha do usurio "prata"; echo Digite a sua senha: read -s resposta senha="12345" # Comparao da senha com a registrada dentro do cdigo if [ $resposta = $senha ]; then echo Senha correta! else echo Senha Incorreta! fi

Linux System Administration Linguagem de Programao Java

# ./script2.sh

A opo -s para o read faz com que o comando no apresente na sada padro //criando novo alias o que Carro o usurio est servindo para aumentar a segurana. carro2 = digitando, carro1; 16.3.6. COMANDO EXIT
Para o sistema sair em qualquer ponto do script por falta de alguma informao ou informao errada pode ser utilizado o comando exit 0, ento quando encontrada, essa instruo finalizar automaticamente a execuo do script. O script script2.sh, com a insero desse novo comando, poderia ser reescrito assim:
% vi script2.sh #!/bin/bash #Faz a leitura da senha do usurio echo Digite a sua senha: read -s resposta senha="12345" Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto if [ $resposta = $senha ]; then

Figura 2.4 Layout Memria aps inicializao

echo Incorreta! Cada Senha objeto criado dever ter sua prpria instncia de variveis exit 0 (atributos) definidas pela classe. Os mtodos definem o comportamento de um fi objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da

Os valores das variveis em um objeto constituem o seu estado. Na no estrutura acima caso o usurio a senha errada o script classe. Porm devemos confundir isto com ainforme implementao do mtodo, que executa o comando exit Dois objetos distintos tm 0compartilhada por todas instncias da classe. que serve para sair doas cdigo e retornar o valor 0 como resultado do erro padro (STDERR). o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos 16.3.7. OPERADORES DE COMPARAO mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um So utilizados para melhorar as condies de avaliao em uma estrutura condicional. objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida noOperadores objeto. Em Java, isto feito pela para inteiros chamada um objeto usando o operador binrio "." (ponto), Condiode um mtodo em Descrio $a -eq $b devendo especificar a mensagem completa: o objeto que o recebedor da $a = $b (igual) $a -le $b o mtodo a ser invocado mensagem, os argumentos $a <= $b e (menor ou igual) para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3 else Membros de Instncia

echo Senha correta!

128

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 142

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); $a -ge carro1.ano $b $a >= $b (maior ou igual) = "2001"; $a -lt carro1.modelo= $b "fusca"; $a < $b (menor que) = "prata"; $a -gt carro1.cor $b $a > $b (maior que)
$a -ne $b

Linux System Administration Linguagem de Programao Java

$a <> $b (diferente)

O uso dos sinais <, >, <=, >=, == e != podem ser usados para inteiros, desde que sejam executados entre dois parenteses (( )) ou pelo comando let. LET Permite o uso de cdigos parecidos com a linguagem C, como por exemplo o incremento ou decremento (++ ou ). Exemplos: let
var++

(incremento), let

var-

(decremento).

Operadores para strings //criando novo alias Condio Descrio Carro carro2 = carro1; -z $a No existir mensagem -n $a A mensagem existir $a == $b O contedo de ambas as variveis so iguais $a != $b O contedo das variveis forem diferentes Operadores para arquivos

Figura 2.4 Layout Memria aps inicializao

Condio
-e arquivo -x arquivo -d arquivo -l arquivo -s arquivo

Descrio um arquivo regular arquivo executvel um diretrio for um link o arquivo existe e tem tamanho maior que zero
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

2.3

(atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. O cdigo abaixoconfundir demonstra usoade operadores de classe. Porm no devemos istoocom implementao do comparao mtodo, que em um script que realiza Dois objetos distintos tm backups. compartilhada por todas as instncias da classe.
% vi script3.sh 2.3.1 Invocao de Mtodos #!/bin/bash Objetos se comunicam pela troca de mensagens, isto significa que um #Faz a leitura damostrar senha um do comportamento usurio objeto pode ter que particular invocando uma echo Digite a sua senha: operao apropriada que foi definida no objeto. Em Java, isto feito pela read -s resposta chamada de um mtodo em um objeto usando o operador binrio "." (ponto), senha="12345"

Operadores para valores lgicos (booleanos) Condio Descrio exprA -a exprB ambas as expresses so verdadeiras (operador E) Membros de Instncia exprA -o expreB uma das expresses for verdadeira (operador OU) Cada objeto criado dever ter sua prpria instncia de variveis !exprA a expresso for falsa

Os valores das variveis

o mesmo estado se suas variveis membro tm os mesmos valores.

devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo ser invocado os argumentos para o mtodo (se houver). if [ $resposta = a $senha ]; e then O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definidoAprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

129

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 143

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); echo Senha correta! carro1.ano = "2001"; else carro1.modelo= "fusca"; echo Senha Incorreta! carro1.cor = "prata"; exit 0 fi

Linux System Administration Linguagem de Programao Java

echo -n "Informe o caminho do diretrio para backup: read diretorio if [ -d $diretorio ]; then echo Diretrio encontrado. Aguarde... fazendo o backup! tar cvfz backup.tar.gz $diretorio/* else echo Diretrio no encontrado! exit 0 fi

16.3.8. INSTRUO CASE //criando novo alias


Carro carro2 = carro1;

Figura 2.4 Layout Memria aps inicializao

Permite a seleo de comandos especficos a partir de uma chave de seleo, ou seja, o usurio informa o que deseja fazer a partir de uma chave e os comando associados ao mesmo sero executados. Sintaxe: case chave in teste1) comandos;; teste2) comandos;; ... *) comandos;; esac Os itens teste1 e teste2 so opes que o contedo de chave pode ter, mas caso nenhuma opo for satisfeita, a opo * ser utilizada.
% vi script4.sh Cada objeto criado dever ter sua prpria instncia de variveis #!/bin/bash (atributos) definidas pela classe. Os mtodos definem o comportamento de um echo -e "\nMENU" objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da echo "(1) ... Cria diretorio" classe. confundir isto com a implementao do mtodo, que echo Porm "(2) no ... devemos Cria back-up" echo compartilhada porDescompacta todas as instncias da classe. "(3) ... arquivo.tar.bz2" echo "(4) ... Sai do script" read -p "Digite a opcao escolhida: " OP 2.3.1 Invocao de Mtodos case "$OP" in Objetos se comunicam pela troca de mensagens, isto significa que um 1) pode ter que mostrar um comportamento particular invocando uma objeto read -p "Informa o nome do diretrio: " nome_dir operaoif apropriada que foi definida no objeto. Em Java, isto feito pela [ -d $nome_dir ]; then chamada de echo um mtodo um objeto ja usando o operador binrio "." (ponto), "Esteem diretorio existe..." devendo else especificar a mensagem completa: o objeto que o recebedor da mensagem, omkdir mtodo a ser invocado e os argumentos para o mtodo (se houver). $nome_dir
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

130

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 144

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); echo "Diretorio criado com sucesso..." carro1.ano = "2001"; fi; carro1.modelo= "fusca"; ;; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

2)

3)

read -p "Informe o diretorio para back-up: " dir_bkp if [ -d $dir_bkp ]; then tar cvfj $dir_bkp.tar.bz2 $dir_bkp echo "Back-up criado com sucesso!" else echo "Diretdio no encontrado!" fi; ;; read -p "Informe o arquivo .tar.bz2: " arq_tar_bz2 if [ -e $arq_tar_bz2 ]; then tar xvfj $arq_tar_bz2 Figura 2.4 Layout Memria aps inicializao echo -e "\nArquivo descompactado em `pwd`" //criando novo alias else Carro carro2 = carro1; echo -e "\nArquivo nao encontrado" fi; ;; echo "Saindo ..." ;; echo "Opcao invalida, tente novamente ..." ;;

4) *) esac

16.3.9. INSTRUES DE REPETIO


FOR Executa uma ou mais aes para cada elemento de uma lista. Neste caso, cada nmero gerado pelo comando seq. Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto Sintaxe: 2.3 Membros de Instncia for i in $(seq N); do Cada objeto criado dever ter sua prpria instncia de variveis comandos (atributos) definidas pela classe. Os mtodos definem o comportamento de um done Isto importante, pois denota que um mtodo pertence a cada objeto da objeto.

Os valores das variveis em um objeto constituem o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm Onde por ia varivel que ser em 1 at o seu valor chegar a N, determinando a compartilhada todas as instncias daincrementada classe. o mesmo estado se suas quantidade de vezes que comandos ser repetido. variveis membro tm os 2.3.1 Invocao de Mtodos mesmos valores. Objetos se comunicam trocaat deque mensagens, istoseja significa que um UNTIL Executa comandos pela em loop a condio verdadeira.
objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela Sintaxe: chamada de um mtodo em um objeto usando o operador binrio "." (ponto), until condicao; doa mensagem completa: o objeto que o recebedor da devendo especificar comandos mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

131

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 145

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

done

WHILE Executa comandos em loop at que a condio seja falsa. o contrrio do until. Sintaxe: while condicao; do comandos done
D I C A

altamente recomendvel que os scripts contenham permisses adequadas, como por exemplo escrita somente para o dono, no possuir o bit SUID habilitado.
Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definidoAprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

132

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 146

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; ABORATRIO carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

16.4. L

Este um script simples inspirado no BrOffice em linha de comando que executa as seguintes aes: - Abre vrios formatos de arquivos OpenOffice; - Visualiza arquivos do OpenOffice em modo somente leitura; - Executa apresentaes do Impress e compatveis; - Imprime documentos na impressora padro;
Figura 2.4 Layout Memria aps inicializao

//criando novo alias 1) Adicione contedo Carro carro2 = ocarro1;


vi ~/scriptoff.sh

abaixo no arquivo scriptoff.sh.

#!/bin/bash echo "Escolha uma opcao" select OP in Abertura Visualizacao Apresentacao Impressao Fim; do case $OP in "Abertura") echo -e "\nAbertura de formatos do OpenOffice ***" read -p "Endereco do(s) arquivo(s): " CAMINHO /usr/bin/soffice -o $CAMINHO ;; "Visualizacao") echo -e "\nVisualizacao em modo ReadOnly ***" read -p "Endereco do(s) arquivo(s): " CAMINHO /usr/bin/soffice -view $CAMINHO ;; "Apresentacao") echo -e "\nApresentacao de Slides" read -p "Endereco do(s) arquivo(s): " CAMINHO Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto /usr/bin/soffice -show $CAMINHO ;; "Impressao") echo -e "\nImpressao de arquivos OpenOffice - impressora padrao" -p "Endereco do(s) arquivo(s): " CAMINHO 2.3 Membros deread Instncia /usr/bin/soffice -p $CAMINHO Cada objeto ;; criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um "Fim") em um objeto constituem echo -e denota "\nSaindo objeto. Isto importante, pois que***" um mtodo pertence a cada objeto da o seu estado. break classe. Porm no devemos confundir isto com a implementao do mtodo, que ;; Dois objetos distintos tm *)todas as instncias da classe. compartilhada por echo -e "\nOpcao Invalida ***" o mesmo estado se suas echo "Escolha novamente ***\n" variveis membro tm os ;; 2.3.1 Invocao de Mtodos esac mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um done;

objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, execut-lo. isto feito pela 2) D permisso de execuo para poder chamada de um mtodo em um objeto usando o operador binrio "." (ponto), chmod u+x ~/scriptoff.sh devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). ~/scriptoff.sh O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

133

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 148

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS= "prata"; carro1.cor

Linux System Administration Linguagem de Programao Java

16.5. E

Como se faz para saber o shell padro? Como se remove o acesso de um usurio ao sistema? Crie uma funo para apagar o contedo do diretrio /tmp. Para que serve o comando export? Na inicializao de shell interativo qual a sequencia de execuo dos arquivos relacionados com esse processo? O que podemos configurar no arquivo ~/.bash_profile?
//criando novo alias Carro carro2 =um carro1; necessrio script
Figura 2.4 Layout Memria aps inicializao

ter a extenso .sh? Justifique sua resposta.

Quais so as variveis especiais do shell e qual o significado de cada uma? Relacione os principais comandos de entrada e sada do shell. No esquea de explicar suas sintaxes. Qual a funo de uma estrutura condicional? Exemplifique. Quais so os operadores de comparao de valores inteiros e literais. Como funciona e qual a sintaxe da estrutura de repetio for? Qual a sua diferena em relao ao while? Para que ser o comando seq ? duas variveis referncia para o mesmo objeto Figura 2.5 Layout Memria Qual a finalidade e a sintaxe dos comandos sql INSERT, SELECT, UPDATE, DELETE eInstncia INNER JOIN? 2.3 Membros de

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe.

2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

134

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 149

Este material no pode serem distribudo. Curso Especialista Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System LinguagemAdministration de Programao Java

17. COMPACTADORES, EMPACOTADORES E BACKUP


17.1. COMPACTADORES DE ARQUIVOS
GZIP Compacta/Descompacta arquivos. Sintaxe: gzip [opcao] [arquivo1] [arquivo2] [arquivoN]
Figura 2.4 Layout Memria aps inicializao Exemplos

//criando novo alias Descrio Comando Carro carro2 = carro1; Compacta o arquivo senhas.txt do diretrio /tmp. O arquivo resultante ter o nome gzip /tmp/senhas.txt senhas.txt.gz.

Descompacta o arquivo /tmp/senhas.txt.gz. Voltando ao nome original do arquivo senhas.txt.


gzip -d /tmp/senhas.txt.gz

O comando gunzip pode ser utilizado para realizar a mesma tarefa: gunzip /tmp/senhas.txt.gz

BZIP2 Compacta/Descompacta arquivos. Sintaxe: bzip2 [opcao] [arquivo1] [arquivo2] [arquivoN]


Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Exemplos Compacta o arquivo senhas.txt do de diretrio /tmp. O arquivo resultante ter o dever ter sua prpria instncia variveis Os valores das variveis nome senhas.txt.bz2. (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem Descompacta o arquivo /tmp/senhas.txt.bz2 . Voltando ao nome original do objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. arquivo senhas.txt . classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm bzip2 -d /tmp/senhas.txt.gz compartilhada por todas as instncias da classe.

2.3

Comando

objeto criado bzip2 Cada /tmp/senhas.txt

Membros de Instncia

Descrio

o mesmo estado se suas O comando bunzip2 pode ser utilizado para realizar a mesma tarefa:

2.3.1 Invocao de Mtodos bunzip2 /tmp/senhas.txt.gz Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao que foi definida no objeto. Em Java, isto feito pela 17.2. apropriada EMPACOTAMENTO chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da TAR oCria/Restaura agrupamenos de para arquivos (pacotes). O mensagem, mtodo a ser invocado e os argumentos o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um Profissional Aprendendo um Seja que esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

variveis membro tm os mesmos valores.

comando Tar permite


135

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 150

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = ou "2001"; que se crie, atualize recupere backups. carro1.modelo= "fusca"; carro1.cor = arquivo1 "prata"; [lista_arquivos_do_pacote] Sintaxe: tar [opcao]
D I C A

Linux System Administration Linguagem de Programao Java

O empacotamento no o mesmo que compactao. Enquanto que a compactao diminui o tamanho do arquivo, o empacotamento somente os rene em um nico arquivo. Fique atento a essa diferena nos exames da LPI.

Exemplos Comando Descrio Cria um arquivo chamado pacote.tar com contedo de todos os arquivos do diretrio /tmp . Onde as opes: Figura 2.4 Layout Memria aps inicializao
//criando alias tar cvf pacote.tar novo /tmp/*

c: cria o arquivo .tar. Carro carro2 = carro1; v: mostra os arquivos que esto sendo empacotados. f: indica o nome do arquivo que receber os arquivos de /tmp, no caso pacote.tar. Exibe a lista de todos os arquivos empacotados dentro do arquivo pacote.tar.

tar tf pacote.tar

Onde as opes: t: lista arquivos empacotados. Acrescenta o arquivo teste.txt no arquivo pacote.tar. Onde a opo r indica que ser acrescentado um novo ao arquivo .tar. Desempacota (extrai) o arquivo pacote.tar no diretrio atual. Onde a opo x indica a extrao dos arquivos.

tar rvf pacote.tar teste.txt

tar xvf pacote.tar

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Dica: a opo -C indica um outro local para a extrao dos arquivo. Ento o comando abaixo extrai os arquivos de pacote.tar para o diretrio /opt. tar xvf pacote.tar -C /opt

Cada objeto criado dever ter sua prpria todos instncia de variveis Os valores das variveis Empacota e compacta os arquivos do diretrio /tmp dentro do arquivo (atributos) definidas pela classe. Os mtodos definem o comportamento de um pacote.tar.gz . em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. tar zcvf arquivo.tar.gz a opo z utilizada para compactar classe. Porm no devemos/tmp/* confundirOnde isto com a implementao do mtodo,com queo gzip. No caso do escolhido Dois objetos distintos tm seja bzip2 a opo que dever ser utilizada ser j. compartilhada por todas as instncias daoclasse.
tar jcvf arquivo.tar.gz /tmp/* 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma D As que operao apropriada foi opes definida no objeto. Em Java,( risto feito mesmas usadas para adicionar ), extrair (x) pela e listar (t) podem ser I chamada de um C mtodo emem um objetocom usando o operador binrio "." , utilizadas conjunto as opes de compactao (z e (ponto) j). A devendo especificar a mensagem completa: o objeto que ode recebedor da Conhecer os compactadores e empacotadores suma importncia no exame de mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

o mesmo estado se suas variveis membro tm os mesmos valores.

136

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 151

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); certificao. carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

17.3. BACKUP
CPIO Copia arquivos para algum ou de algum arquivo. Possui muitas aplicaes e um sintaxe complexa, portanto no ser visto em sua totalidade, somente os usos mais relevantes, uma delas o backup.
Figura 2.4 Layout Memria aps inicializao Opes

novo alias Opo//criando Descrio Carro carro2 = carro1; -i Extrai arquivos de backup.
-o -t -F -d -c -v

Cria arquivos de backup. Mostra uma tabela com o contedo do arquivo de backup. Indica o nome do arquivo de backup. Cria diretrios se for necessrio. L ou escreve informaes de cabealho em caracteres ASCII. Mostra a sada em detalhes.

Exemplos Comando
Figura 2.5 Descrio Layout Memria duas variveis referncia para o mesmo objeto

cpio -iF backup.cpio memo.ben

Restaura o arquivo memo.ben de um arquivo cpio chamado backup.cpio. Prtica

2.3

(atributos) definidas pela classe. Os mtodos definem o comportamento de um cd ~/teste objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da Criar um subdiretrio: classe. no devemos confundir isto com a implementao do mtodo, que mkdirPorm ~/teste/exemplo cd ~/teste/exemplo compartilhada por todas as instncias da classe.
touch Invocao arq1.txt arq2.txt 2.3.1 de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um Preencher o arquivo1 com um contedo aleatrio: ls /tmp/* arq1.txt objeto pode> ter que mostrar um comportamento particular invocando uma operao que foi definida no objeto. Em Java, isto feito pela Voltar aoapropriada diretrio ~/testes: cd ~/testes chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a arquivos mensagem completa: o objeto que ~/teste/exemplo: o recebedor da Fazer um backup dos arq1.txt e arq2.txt do diretrio find ~/teste/exemplo -name arq* | -o > ~/teste/exemplo/teste.bin mensagem, o mtodo a ser invocado e cpio os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Criar um diretrio de teste: Cada objeto criado dever ter sua prpria instncia de variveis
mkdir ~/teste

Membros de Instncia

Criar dois arquivos vazios nesse subdiretrio:

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

137

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 152

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Extrair o backup: cpio -iF ~/teste/exemplo/teste.bin carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

O cpio extrair os arquivos na certeza de que os arquivos do backup no sejam mais antigos que os do diretrio ~/teste/exemplo. Para solucionar esse problema interessante gerar uma lista dos arquivos antigos (extenso .old por exemplo) no diretrio corrente como entrada para o cpio que vai criar um backup lendo ou escrevendo a informao de cabealho em caracteres ASCII em modo detalhado para um dispositivo de armazenamento em massa (pendrive por exemplo). Isso til quando as mquinas de origem e destino do backup no so as mesmas.
Figura 2.4 Layout Memria aps inicializao

novo alias find . //criando -name *.old | cpio -ocBv > /dev/sdb1 Carro carro2 = carro1;

Para restaurar do dispositivo de armazenamento os arquivos possuem uma determinada palavra (save por exemplo).
cpio -icdv *save* < /dev/sdb1

Para listar o contedo de um arquivo chamado cpio.bin:


cpio -t < cpio.bin

Para gerar um Figura backup baseado em um arquivo texto (lista.txt por exemplo) 2.5 Layout Memria duas variveis referncia para o mesmo objeto contendo a lista de arquivos a serem backupeados:
Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem D objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da para realizar Da maneira como o comando cpio foi ilustrado o suficiente bons o seu estado. I classe. Porm no com a implementao do mtodo, que C devemos backups econfundir responderisto as questes de certificao LPI. Dois objetos distintos tm A compartilhada por todas as instncias da classe.
cpio -o < lista.txt cpio.bin 2.3 Membros de>Instncia

cria disco etc. Ele realmente possui muitasinvocando utilizaes. objeto pode de ter boot, que mostrar um comportamento particular uma operao apropriada que foi definida no objeto. Em Java, isto feito pela Sintaxe: dd [opcoes] chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da Exemplos mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos DD Objetos Converte e copia um arquivo, escreve cabealhos de discos, registros boot, mesmosde valores. se comunicam pela troca de mensagens, isto significa que um

138

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 153

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Comando Descrio carro1.modelo= "fusca"; dd if=/dev/sda of=/dev/sdb Clona um disco rgido (/dev/sda) para outro (/dev/sdb). carro1.cor = "prata"; Clona um disco rgido (/dev/sda) para uma imagem de dd if=/dev/hda of=/imagem.img disco (/imagem.img)
dd if=/dev/hda bs=100M | gzip -c > /imagem.img dd if=boot.img of=/dev/fd0 bs=1440 dd if=arquivo1 of=arquivo2 conv=lcase dd if=arquivo2 of=arquivo3 conv=ucase

Linux System Administration Linguagem de Programao Java

Clona um disco rgido (/dev/hda) compactando-o para um arquivo de imagem /imagem.img. Cria um disquete de boot (/dev/fd0) a partir do arquivo boot.img. Converte todas as letras maisculas do arquivo1 para minsculas no arquivo2. Converte as letras minsculas do arquivo2 para maisculas no arquivo3.

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

139

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 154

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; ABORATRIO carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

17.4. L

Este laboratrio tem o objetivo de fazer o backup e a recuperao do setor de boot (MBR) de um disco rgido SCSI. Para isso usaremos o comando dd. O gestor de incio e a tabela de partio so salvos no primeiro setor do disco rgido, o MBR, que contm apenas 512 bytes (446 bytes reservados para o setor de boot e 66 bytes guardam a tabela de partio). Normalmente na troca de sistema operacional, geralmente perde-se o MBR, pois o outro gestor de incio o sobrescreve. A tabela de partio s modificada ao criar ou deletar parties. Caso por qualquer motivo os 66 bytes desta tabela forem Figura 2.4 Layout Memria aps inicializao perdidos, o acesso ao disco rgido tambm ser perdido. Para evitar isso, voc pode //criando novo alias fazer Carro um backup da MBR para recuperar tudo caso ocorra algum problema. carro2 = trilha carro1; 1) Para fazer o backup, copiaremos os primeiros 512 bytes do dispositivo /dev/sda (disco SCSI, mas pode ser outro) no arquivo backupmbr.img.
dd if=/dev/sda of=backupmbr.img bs=512 count=1

2) A restaurao poder ser a qualquer momento que for necessrio.


dd if=backupmbr.img of=/dev/sda

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe.

2.3

Lembre-se de que o backup vai armazenar a tabela de particionamento atual, sempre que for reparticionar o HD, no se esquea de atualizar o backup, ou seja, faz-lo Membros de Instncia novamente.
D I C A

2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

140

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 155

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS= "prata"; carro1.cor

Linux System Administration Linguagem de Programao Java

17.5. E

possvel um compactador como o gzip ou bzip2 comprimir vrios arquivos e/ou diretrios em um nico arquivo? Suponha um pacote chamado testepacote.tar. Com o comando tar, acrescente a ele todos os arquivos do diretrio /tmp. Qual a sintaxe de criao de um arquivo compactado atravs do comando tar? Qual a linha de comando que descompacta o arquivo arq1.tar.gz escolhendo o Figura 2.4 Layout Memria aps inicializao local da descompactao (por exemplo /opt)? //criando novo alias
carro2 = carro1; Carro Suponha um arquivo de backup chamado backupdados.cpio que contm os dados de toda empresa. Voc quer extrair o backup, qual a linha de comando que tornaria isso possvel? E se fosse somente o arquivo senhas.txt?

Usando o cpio como seria feito o backup de todos os arquivos de /tmp/? Como se cria um pendrive de boot a partir de uma imagem chamada bootdiskusb.img? Considere que o dispositivo do pendrive seja /dev/sdb1.

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

141

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 156

Siga-nos tambm no Twitter! twitter.com/3waynet

Este material pode ser distribudo. Curso no Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.br da | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

18. GERENCIAMENTO DE PACOTES


18.1. GERENCIAMENTO DE PACOTES REDHAT
O formato de um arquivo RPM segue o seguinte padro: emacs-20.711cl.i386.rpm. Os nomes dos arquivos RPM contm informaes sobre a verso e a arquitetura que eles destinam. caso acima, o arquivo diz que se Figura 2.4 se Layout Memria apsNo inicializao pacote do Emacs, verso 20.7, release 11cl e projetado para a //criando trata novo do alias Carro carro2 = carro1; plataforma Intel 386. Os pacotes com nomes no formato NomeDoPacote-versao.src.rpm no contm binrios, somente os arquivos fontes relacionados ao aplicativo, quase sempre independentes de arquitetura. Apesar de vrias distribuies de Linux utilizarem pacotes do tipo RPM, isso no significa que eles sejam iguais e que um pacote feito originalmente para uma distribuio ir funcionar perfeitamente em outra. Alm dos arquivos que compem um determinado aplicativo, o pacote RPM contm tambm informaes de como instalar, em que local copiar os arquivos, como configurar, etc. Essas informaes adicionais podem ser diferentes de 2.5 Layout Memria duasevitar variveis referncia para o mesmo objeto uma distribuio para Figura outra, ento, para inconvenientes, o administrador deve procurar sempre utilizar pacotes feitos especificamente para a sua distribuio.
Cada criado dever ter sua prpria instncia de variveis pacotes na objeto Base de Dados RPM. (atributos) definidas pela classe. Os mtodos definem o comportamento de um comandos podem fazera alterao no objeto. IstoNormalmente importante, poisos denota que um mtodo pertence cada objeto da ento recomenda-se como (root). classe. Porm no devemos utilizados confundir isto com asuperusurio implementao do mtodo, que compartilhada por todas as instncias da classe.

rpm -ivh emacs-20.7-11cl.i386.rpm objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), da Instalao devendo especificar a mensagem completa:Opes o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Os valores das variveis em um objeto constituem sistema de arquivos, o seu estado. Dois objetos distintos tm o mesmo estado se suas 18.1.1. INSTALANDO UM PACOTE RPM variveis membro tm os 2.3.1 Invocao de Mtodos mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um

2.3

Utilizando o RPM possvel: Instalar, Atualizar, Remover e Consultar Membros de Instncia

142

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 158

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); = "2001"; Opo carro1.ano Descrio carro1.modelo= "fusca"; -i Indica= que o pacote ser instalado. carro1.cor "prata";
-v -h

Linux System Administration Linguagem de Programao Java

Mostra informaes do processo de instalao. Indica a porcentagem da instalao utilizando # como indicador.

A instalao de pacotes foi desenvolvida para ser o mais simples possvel, porm eventualmente alguns erros podem ocorrer, tais como o pacote j estar instalado, arquivos com conflitos e dependncia. A tabela abaixo mostra alguns dos erros que podem ocorrer durante uma instalao.
Figura 2.4 Layout Memria aps inicializao Erros comuns da Instalao

alias Erro //criando novoDescrio Carro carro2 = carro1; Se existir um arquivo j instalado por outro pacote, aparecer a seguinte mensagem: Este pacote no pode ser instalado... Para ignorar esta mensagem e instalar o pacote deve ser Arquivos com conflitos acrescentado o parmetro --replacefiles no comando.
rpm -ivh emacs-20.7-11cl.i386.rpm --replacefiles

Pacote j instalado

Ir aparecer a mensagem: package pacote.rpm j est instalado! Para ignorar a mensagem e instalar o pacote novamente voc deve indicar essa deciso ao RPM. Para isso acrescentar o parmetro --force ao comando.
rpm -ivh emacs-20.7-11cl.i386.rpm --force

Dependncia

O pacote.rpm que est sendo instalado depende de outro pacote previamente instalado. Aparecer a seguinte mensagem: falha de dependncia: pacoteXYZ.rpm necessrio para pacote.rpm. Para ignorar essa mensagem deve-se usar o parmetro --nodeps para realizar a instalao sem checar as dependncias.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto rpm -ivh emacs-20.7-11cl.i386.rpm --nodeps

prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da rpm -Uvh emacs-20.7-11cl.i386.rpm classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Opo Descrio Objetos se comunicam pela troca de mensagens, isto significa que um -U Indica que o pacote ser Atualizado. particular invocando uma objeto pode ter que mostrar um comportamento -v operao apropriada que informaes foi definida objeto. Em Java, isto feito pela Mostra do no processo de instalao. chamada de um mtodo em um objeto usando o operador binrio "." (ponto), -h Indica a porcentagem da instalao utilizando # como indicador. devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

18.1.2. ATUALIZANDO UM dever PACOTEter RPM Cada objeto criado sua

Membros de Instncia

Opes da Atualizao

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

143

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 159

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; A atualizao de um pacote.rpm normalmente carro1.modelo= "fusca"; posterior da verso est instalada, mas pode acontecer carro1.cor = que "prata";

Linux System Administration Linguagem de Programao Java

feita para uma verso que a nova verso no satisfaa as necessidades, sendo assim necessrio voltar para a verso antiga. Para que o RPM concorde em atualizar para uma verso mais antiga do pacote, ser preciso fornecer o parmetro --oldpackage.
rpm -Uvh emacs-20.7-11cl.i386.rpm --oldpackage

A opo de atualizao com U maisculo. comum em questes da certificao aparecerem com u minsculo. Fique aaps esse detalhe, pois devido ao pouco tempo Figura 2.4 Layout atento Memria inicializao comum marcar erradamente. //criando novo alias Carro carro2 = carro1;
D I C A

18.1.3. DESINSTALANDO UM PACOTE RPM


rpm -e emacs Opes da Desinstalao Opo
-e --allmatches

Descrio Indica que o pacote ser desinstalado. Para desinstalar um pacote deve ser informado apenas o nome do pacote, por exemplo, emacs. Isso porque o pacote j est instalado. Desinstala no s o pacote mas tudo que pertence a ele.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Se um outro pacote instalado depender do pacote que est sendo desinstalado, aparecer o seguinte erro: a remoo deste pacote quebraria dependncia: Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis pacote.rpm pela necessrio para pacoteXYZ.rpm . Parade remover assim mesmo, (atributos) definidas classe. Os mtodos definem o comportamento um em um objeto constituem acrescentar o parmetro --nodeps . mtodo pertence a cada objeto da objeto. Isto importante, pois denota que um o seu estado.
2.3 Membros de Instncia
classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias darpm classe. -e emacs --nodeps 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um 18.1.4. CONSULTANDO UM PACOTE RPM objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o -q operador binrio "." (ponto), rpm XX emacs devendo especificar a mensagem completa: o objeto que o recebedor da XX complemento da opo q (queue(se consulta). mensagem, o mtodo a ser invocado eo os argumentos para o mtodo houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional um queum esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

144

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 160

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; Opes de Consulta carro1.cor = "prata"; Opo Descrio

Linux System Administration Linguagem de Programao Java

Indica consulta no sistema de gerenciamento RPM. Normalmente essa opo vem juntamente com outras opes para especificao ou detalhamento da consulta.
-q

O comando abaixo mostra apenas o nome do pacote emacs.


rpm -q emacs

--qa

Mostra todos os pacotes que contenham o nome emacs. Este o melhor comando para ser utilizado quando deseja consultar um pacote j instalado.
rpm -qa | grep emacs
Figura 2.4 Layout Memria aps inicializao Para ver quais arquivos fazem parte de um determinado pacote. //criando novo alias rpm -qlp emacs-20.7-11cl.i386.rpm Carro carro2 = carro1; Para obter informaes sobre um pacote instalado no sistema.

-qlp

-qi

rpm -qi emacs

-qip

Obter informaes de um pacote no instalado.


rpm -qip emacs-20.7-11cl.i386.rpm

D I C A

O gerenciador de pacotes RPM um tpico que merece ateno, pois muito cobrado no exame da certificao LPI. Consultar o manual oficial do RPM para informaes mais detalhadas uma boa prtica para obter bom aproveitamento.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Usamos comando para converter um arquivo RPMdas em um Cada objeto o criado dever rpm2cpio ter sua prpria instncia de variveis Os valores variveis arquivo definidas do tipo pela cpio para Os poder obter informaes desse rpm ou extrair (atributos) classe. mtodos definem o comportamento de um em umarquivos. objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado . O comando abaixo converte oimplementao arquivo emacs-20.7-11cl.i386.rpm no arquivo classe. Porm no devemos confundir isto com a do mtodo, que Dois objetos distintos tm arqemacs.cpio . instncias da classe. cpio compartilhada por todas as
o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos rpm2cpio emacs-20.7-11cl.i386.rpm > arqemacs.cpio mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um

2.3

18.1.5. EXTRAINDO DADOS DE RPMS


Membros de Instncia

objeto pode ter que mostrar um comportamento particular invocando uma A listagem de um arquivo em formato cpio pode ser operao apropriada que foi definida no rpm objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto) , a seguir. devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

feita com o comando

145

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 161

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano =rpm2cpio "2001"; emacs-20.7-11cl.i386.rpm | cpio -t carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

Para extrair pode-se utilizar a opo -ivd.

rpm2cpio emacs-20.7-11cl.i386.rpm | cpio -ivd *.txt

18.1.6. USANDO YUM um sistema gerenciador de pacotes RPM que manipula muito bem as dependncias que os pacotes podem conter. Ele agiliza muito o processo de instalao, desinstalao, atualizao e busca de informaes de pacotes Figura 2.4 Layout Memria aps inicializao RPM.//criando Sua sintaxe muito novo alias simples e est descrita abaixo.
Carro carro2 = carro1;

Sintaxe: yum [opcao] [comando] [pacote] As opes so dependentes do comando que se usa. Os comandos esto relacionados no quadro a seguir e os pacotes representam o pacote a ser submetido ao yum.
Comandos do YUM Comando
install update check-update

Descrio Instala um ou mais pacotes indicados pelo nome incluindo suas dependncias.
2.5indicado Layout Memria variveis referncia o mesmo objeto Atualiza oFigura pacote com a duas verso mais recentepara disponvel.

Verifica se h verso mais recente disponvel. durante uma atualizao de distribuio.

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis remove ou erase pacotes sistema, definem assim como o rpm -e. (atributos) definidas Remove pela classe. Osdo mtodos o comportamento de um em um objeto constituem list Isto importante, objeto. pois denota que um mtodo pertence a cada objeto da Mostra informaes sobre um determinado pacote. o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que search Realiza pesquisa em pacotes baseadas em um padro de caracteres fornecidos. Dois objetos distintos tm compartilhada por todas as instncias da classe.
clean

Semelhante ao update, incluindo a opo --obsoletes que manipula pacotes obsoletos sobretudo upgrade 2.3 Membros de Instncia

Limpa o cache de diretrios do Yum.

localinstall o pacote informado usando repositrios locais. 2.3.1 Invocao deInstala Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma yum operao Exemplo: apropriada que foi install definidaemacs no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os mesmos valores.

146

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 162

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; 18.1.7. CONFIGURANDO O YUM carro1.modelo= "fusca"; carro1.cor "prata"; O arquivo =de configurao do YUM

Linux System Administration Linguagem de Programao Java

opes, veja as principais no quadro.

/etc/yum.conf, ele possui muitas

Opes do /etc/yum.conf Opo


cachedir keepcache debuglevel logfile //criando

Descrio Informa o diretrio de armazenamento dos pacotes e arquivos de dados. Normalmente /var/cache/yum. Mantm os pacotes e arquivos aps uma instalao (para valor 1, se valor 0 no mantm). Determina o nvel da mensagem de aviso. A faixa de valores vai de 0 a 10, sendo 2 o padro. Figura 2.4 Layout Memria aps inicializao

novo alias Define o caminha para o arquivo de log. Carro carro2 = carro1; Determina o nvel das mensagens de erro. A faixa de valores vai de 0 a 10, sendo 2 o errorlevel padro.
gpgcheck reposdir

Define se o yum deve ou no fazer a verificao da assinatura GPG dos pacotes. Determina uma lista de caminhos onde o yum pode procurar por arquivos .repo (definio de repositrios). O padro /etc/yum.repos.d ou /etc/yum/repos.d.

18.1.8. CRIAO DE UM ARQUIVO .REPO Ele possui o seguinte formato:


[identificador_repositorio] Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto name=descricao_do_repositorio baseurl=caminho_repositorio enabled=valor gpgcheck= Membros de valor Instncia

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) Onde definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem identificador_repositorio representa o termo que identifica unicamente objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado . o repositrio, descricao_do_repositorio descreve o nome do repositrio e base_url classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm localizao do diretrio que da contm a compartilhada por todas as instncias classe. os arquivos (pacotes) do repositrio podendo 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um YUMDOWNLOADER Ao invs de instalar um pacote, faz objeto pode ter que mostrar um comportamento particular invocando uma o download do mesmo operao apropriada que Se foi quiser definida optar no objeto. Em Java, isto feito pela no diretrio local. pelo fonte em vez do binrio usa-se a opo chamada de um mtodo em um objeto usando o operador binrio "." (ponto) , --source. devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, mtodo a ser invocado e os argumentos para o mtodo (se houver). Sintaxe: o yumdownloader pacote O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 147 um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

ser uma ou mais url http://, ftp://, file://.

o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 163

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; emacs Exemplos: yumdownloader e yumdownloader carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

--source emacs

18.1.9. ASSINATURAS DE PACOTES

Para incorporar uma chave ao banco de dados RPM necessrio utilizar a opo --import do comando rpm. No redhat enterprise o diretrio que contm as chaves /etc/pki/rpm-gpg/.
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

A verificao de cada pacote copiado do repositrio redhat pode ser feita Figura 2.4 Layout Memria aps inicializao quando utilizando-se a opo -checksig do comando rpm.
//criando novo alias Carro carro2 = carro1; rpm --checksig nome_do_pacote

J a integridade dos pacotes instalados pode se verificada com -V e a opo -Va verifica todos.
D I C A

As verificaes de assinatura (--checksig) e da integridade (-V) de pacotes RPM so presena garantida nas provas da LPI. Estude esses pontos e memorize as opes correspondentes.

18.2. GERENCIAMENTO DE PACOTES DEBIAN


18.2.1. DPKG de (DInstncia EBIAN PACKAGE) 2.3 Membros

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem DPKG pois odenota programa pelo gerenciamento de pacotes objeto. Isto O importante, que um responsvel mtodo pertence a cada objeto da o seu estado.em classe. Porm no devemos confundir isto com a implementao do mtodo, que sistemas Debian. Sua operao feita em modo texto, muito com o Doisparecido objetos distintos tm compartilhada por todas as instncias da classe.

objeto pode ter que mostrar um comportamento particular invocando uma ou o aptitude (uma ). Em Java, isto feito pela operao apropriada que evoluo foi definidado noapt objeto. chamada de um mtodo em um objeto usando do o operador binrio (ponto), Os usurios mais avanados Debian e os "." desenvolvedores usam o dpkg devendo especificar a mensagem completa: o objeto que o recebedor da para instalao, manuteno e construo de seus prprios pacotes. O nome dos mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 148 um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos Existem ferramentas mais amigveis para a seleo e instalao de pacotes, mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um

rpm, mas essa no a nica forma de utiliz-lo.

tais como o dselect (um front-end para o dpkg), o APT (Advanced Packaging Tool)

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 164

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; pacotes Debian possuem o seguinte formato: carro1.modelo= "fusca"; carro1.cor = "prata"; nomepacote_versao-revisao.deb

Linux System Administration Linguagem de Programao Java

dpkg -i [NomedoPacote] (ou install) dpkg -l [NomedoPacote] (--list) dpkg -r [NomedoPacote] (--remove) dpkg --purge [NomedoPacote] dpkg -S arquivo (--search) dpkg -s pacote (--status)

Figura 2.4 Layout Memria aps inicializao

Sintaxe / Opes DPKG Instala um pacote. Lista pacotes existentes no sistema. Remove um pacote. Remover um pacote e todos os diretrios e arquivos de configurao criados. Descobre a qual pacote do sistema o arquivo informado pertence. Verifica o status de um pacote no sistema.

18.2.2. APT (ADVANCED PACKAGE TOOL) O APT o sistema de gerenciamento de pacotes de programas do Debian que possui resoluo automtica de dependncias entre pacotes. mais fcil instalar, operar e atualizar pacotes ou a distribuio. Ele funciona atravs de linha de comando, mesmo assim existem interfaces grficas para o Apt como o Synaptic (modo grfico) e o aptitude (front-end para o APT).
Sintaxe / Opes APT Instala novos pacotes na distribuio. Remove o pacote, os arquivos de configurao. Para remoo Figura 2.5 Layout Memria duas mantendo variveis referncia para o mesmo objeto apt-get remove [NomedoPacote] completa, adicionar a oo --purge. apt-get update Atualiza a lista de pacotes (obrigatrio). apt-get -f dist-upgrade 2.3 Membros de Instncia Atualiza a distribuio.
apt-get install [NomedoPacote]

//criando novo alias Carro carro2 = carro1;

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto /etc/apt/sources.list importante, pois denota que um mtodo pertence a cada objeto da Arquivo classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe.

objeto pode ter que mostrar um comportamento particular invocando uma (contm software de cdigo fechado ou que no se enquadra na operao apropriada que foi definida no objeto. Em Java, isto feito pela Debiande deum Software Livre). chamada mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o repositrio objeto que vlido: o recebedor da Abaixo segue um exemplo de mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo suas Esse arquivo contm os endereos dos repositrios utilizados peloestado APT.se Os variveis membro tm os 2.3.1 Invocao de Mtodos repositrios so divididos em trs categorias: main (contm apenas softwares livres), mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um

contrib (contm software livre que dependem de software proprietrio) e non-free DFSG - Definio

149

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 165

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; deb ftp://ftp.br.debian.org/debian/ lenny main contrib non-free carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

Com esse repositrio teria acesso a arquivos compilados (deb), no servidor (ftp://ftp.br.debian.org/debian/), para a distribuio lenny do debian e pacotes tenham os tipos main, contrib e non-free. Em alguns casos possvel encontrar repositrios adicionais no diretrio /etc/apt/sources.list.d/. CONSULTA Pode-se utilizar apt-cache search programa ou aptitude search programa. Figura 2.4 Layout Memria aps inicializao ser feita atravs de apt-get install nome_programa ou aptitude install nome_programa. RECONFIGURAO Basta utilizar dpkg -reconfigure nome_programa.
//criando novo alias Carro carro2 = carro1; INSTALAO Pode

18.3. COMPILAO DE PROGRAMAS


Quando necessita-se instalar um programa cujo pacote pr-compilado no existe para uma determinada distribuio/plataforma ou para otimizar o pacote j existente, ento ser necessrio instalar atravs da compilao do cdigo fonte. O primeiro passo obter o cdigo fonte do programa, que geralmente encontrado no site do prprio desenvolvedor ou em sites como o freshmeat.net e 2.3 Membros deA Instncia sourceforge.net. maioria dos programas para linux so escritos na linguagem C ou Cada objeto criado dever ter sua prpria de variveis Os valores variveis C++ e so encontrados comumente na instncia forma de arquivos tar.gz oudas tar.bz2 (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem (empacotados e compactados). objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que Instalao Compilada compartilhada por todas as instncias da classe.
Passo Descrio
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

2.3.1 de Mtodos 1 Invocao Fazer o download do cdigo fonte. Objetos se comunicam pela troca de mensagens, isto significa que um Ex.: programa1.tar.gz e programa2.tar.bz2 ) objeto pode ter que mostrar um comportamento particular invocando uma 2 cdigo operaoDescompactar apropriada o que foi fonte. definida no objeto. Em Java, isto feito pela tar zxvf programa1.tar.gz ou tar jxvf o programa2.tar.bz2 chamada de um mtodo em um objeto usando operador binrio "." (ponto), 3 devendo Entrar especificar a mensagem completa: o objeto que o recebedor da no diretrio resultante da descompactao. cd o diretorio_do_programa mensagem, mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

150

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 166

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Examinar o contedo desse diretrio (opcional, mas recomendado). carro1.modelo= "fusca"; ls -la carro1.cor = "prata"; Procurar por informaes oficiais de instalao, tais como requisitos e detalhes tcnicos (Encontradas nos arquivos README ou INSTALL). Um ambiente mnimo para a instalao compilada deve conter os pacotes: Compilador C e C++ GCC (pacotes gcc, cpp e g++), GNU Make e, em alguns casos, o autoconf e o automake.

Linux System Administration Linguagem de Programao Java

4 5

Configurar o ambiente da instalao (script configure). Ele examina o sistema na busca por bibliotecas, arquivos de configurao e executveis necessrios para a compilao do programa. Se tudo estiver correto, ele gera um arquivo chamado Makefile, que ser usado pelo comando make durante a compilao. Se alguma dependncia for encontrada, a execuo ser encerrada e uma mensagem indicativa do erro ser exibida.
./configure
Figura 2.4 Layout Memria aps inicializao

7 8

Compilar o programa com o comando make. //criando novo alias make Carro carro2 = carro1; Ao final da compilao, se no houver nenhum erro, muitos arquivos binrios foram gerados, ento este ser o momento da instalao do programa. Essa etapa dever ser realizada pelo superusurio (root), pois ocorrero cpias de arquivos em lugares restritos. O comando su ser necessrio nesse momento e, aps a digitao da senha de root, o make install.
su make install

D I C A

Basicamente a sequencia para a realizao de uma instalao compilada, aps a descompactao do cdigo fonte do programa, j estando dentro do diretrio descompactado so:
$ ./configure $ make Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto # make install

Cada objeto criado ter do sua prpria instncia de variveis As opes mais dever comuns script configure podem ser listadas com a opo Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um --help. A mais usada, sem dvida, a --prefix, ela diz o caminho onde o programa em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado . ser instalado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos ./configure --prefix=/usr/ Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que comando foi definidaexibe no objeto. Em Java, isto de feito pela O primeiro as opes gerais configurao chamada de um mtodo em um objeto usando o operador binrio "." (ponto), segunda especifica que o software e toda a sua rea de diretrios sero devendo especificar a mensagem completa: o objeto que o recebedor da diretrio o/usr . a ser invocado e os argumentos para o mtodo (se houver). mensagem, mtodo O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional um queum esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

./configure --help

o mesmo estado se suas variveis membro tm os mesmos valores.

do script e a instalados no

151

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 167

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano "2001"; A maioria = dos softwares disponibilizam um comando de desinstalao, seu carro1.modelo= "fusca"; objetivo apagar os arquivos gerados pela compilao. Assim como o comando de carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

instalao, esse tambm necessita de direitos de administrativos.


make uninstall

comum a atualizao de sistemas ou at a reinstalao do mesmo, pensando-se nessa situao que existe um comando que limpeza de resduos (arquivos e diretrios) gerados de compilaes anteriores.
make clean
//criando novo alias Carro carro2 = carro1;
Figura 2.4 Layout Memria aps inicializao

18.4. GERENCIAMENTO DE BIBLIOTECAS COMPARTILHADAS


No mundo livre os desenvolvedores de softwares fazem uso constante de bibliotecas compartilhadas (semelhante s dlls do windows) como meio de torn-los cada vez mais portveis e menores, pois ao usar uma biblioteca que j existe no sistema, o tamanho do programa diminui sensivelmente de tamanho e a possibilidade de o mesmo ser compatvel com outras distribuies aumenta. Nesse contexto o gerenciamento de bibliotecas necessrio e vai alm de apenas fazer a instalao ou a configurao das mesmas, preciso conhecer seus princpios no Linux. Ento vamos a eles. 18.4.1. LOCALIZANDO AS BIBLIOTECAS
2.3 Membros de Instncia
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

A localizao das bibliotecas bibliotecas compartilhadas um dos maiores desafios quando assunto a pois programas podem apontar Cada objeto o criado dever tersua suamanipulao, prpria instncia de os variveis Os valores das variveis para o definidas seu nome (como em libc.so.6) para seu de caminho completo (como (atributos) pela classe. Os mtodos definem o ou comportamento um em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da de uma biblioteca, /lib/libc.so.6). No primeiro caso, deve-se configurar o caminho o seu estado.um classe. Porm no devemos confundir isto com a implementao do mtodo, que conjunto de diretrios em que os programas devem procurar pelas bibliotecas. Isto Dois objetos distintos tm compartilhada por todas as instncias da classe. o mesmo estado se suas pode ser feito tanto atravs de um arquivo de configurao global e atravs de uma membro tm os varivel de ambiente. Se um caminho esttico para uma bibliotecavariveis est errado, deve2.3.1 Invocao de Mtodos mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa um estes casos, se encontrar uma maneira de corrigir o problema. Em que todos depois de objeto pode ter que mostrar um comportamento particular invocando uma fazer uma mudana, pode-se precisar usar um comando para que o sistema reconhea operao apropriada que foi definida no objeto. Em Java, isto feito pela a alterao. chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem o objeto que o da recebedor da A primeira maneiracompleta: de definir o caminho biblioteca mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

fazer a edio do
152

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 168

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; arquivo /etc/ld.so.conf . Este arquivo contm o caminho das bibliotecas carro1.modelo= "fusca"; compartilhadas. distribuies possuem uma linha diferente neste arquivo, carro1.cor Algumas = "prata";

Linux System Administration Linguagem de Programao Java

esta linha comea com a diretiva include, e na verdade, ela inclui as bibliotecas por programa especfico:
include /etc/ld.so.conf.d/*.conf

Dentro do diretrio /etc/ls.so.conf.d/ encontram-se arquivos representativos das bibliotecas de programas instalados no sistema, como por exemplo, mysqli386.conf ou qt-i386.conf. Independente do arquivo de configurao manipulado, /etc/ld.so.conf ou /etc/ld.so.conf.d/* , preciso executar o comando ldconfig para Figura 2.4 Layout Memria aps inicializao que as alteraes possam ficar disponveis para o sistema. //criando novo alias Essa uma mudana permanente, no entanto para realizar uma mudana temporria possvel manipular a varivel de ambiente LD_LIBRARY_PATH para especificar caminhos adicionais. A linha de comando abaixo adiciona os diretrios /usr/local/testelib/ e /opt/novalib/ como caminho de busca. Usa-se dois pontos ( : ) para separar os caminhos.
Carro carro2 = carro1;

export LD_LIBRARY_PATH=/usr/local/testelib:/opt/novalib

Caso seja a necessidade, possvel colocar essa varivel de ambiente para ser inicializada durante o boot do sistema, para isso, basta coloc-la em um dos scripts de inicializao, tais como /etc/profile, ~/.bash_profile, etc. Porm o arquivo Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto /etc/ld.so.conf a forma mais apropriada.
Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da LDD Exibe a lista de bibliotecas compartilhadas das quais classe. Porm no devemos confundir isto com a implementao do mtodo, que depende. compartilhada por todas as instncias da classe.

2.3 ldd e Membros ldconfig.de Instncia

Os comandos para gerenciamento de bibliotecas compartilhadas no Linux so


Os valores das variveis em um objeto constituem o seu estado . um arquivo binrio Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um Exemplos objeto pode ter que mostrar um comportamento particular invocando uma operao Em Java, isto feito pela Comandoapropriada que foi definida no objeto. Descrio chamada de um mtodo em um objeto usando Mostra o operador "." (ponto) , a listabinrio de bibliotecas compartilhadas que o binrio ls ldd /bin/ls devendo especificar a mensagem completa: o precisa objeto para queseu perfeito o recebedor da funcionamento. mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Sintaxe: ldd [opcao] ... arquivo

153

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 170

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Exibe a lista de bibliotecas compartilhadas que o daemon do ssh ldd /usr/sbin/sshd carro1.modelo= "fusca"; depende. carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

Pode-se execut-lo normalmente com usurio comum, mas caso no seja possvel para algum comando, ser necessrio execut-lo como root. LDCONFIG Faz a atualizao da cache de bibliotecas compartilhadas. Sintaxe: ldconfig [opcao] O arquivo que armazena as bibliotecas encontradas no arquivo /etc/ld.so.conf e Figura 2.4 Layout Memria aps inicializao /etc/ld.so.conf.d/* em formato binrio /etc/ld.so.cache. //criando novo alias
Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

154

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 171

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; ABORATRIO carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

18.5. L

Este laboratrio tem o objetivo de fazer criar um repositrio local YUM baseado nos pacotes da mdia de instalao. Vamos supor que o repositrio tenha o IP 192.168.0.100 e o seu IP seja 192.168.0.101. Outras consideraes so que os pacotes referentes ao servidor web (apache) e o criador de repositrios (createrepo) devem estar instalados previamente no sistema. Configurao Lado Repositrio //criando novo alias
Carro carro2 o = pacote carro1; 1) Instalar CreateRepo,
rpm -ivh createrepo-versao
Figura 2.4 Layout Memria aps inicializao

responsvel pela criao de repositrios.

2) Criar um diretrio especfico para o repositrio.


mkdir /var/www/html/repositorio

3) Copiar contedo da pasta Server do DVD para o diretrio /var/www/html/repositorio/.


cp -r DVD/Server /var/www/html/repositorio

3) Criar o repositrio.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto createrepo /var/www/html/Server

Cada service objeto httpd criadostart dever ter sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. Configurao Lado Cliente classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada por todas as instncias da relacionado classe. 1) Criar o arquivo .repo com o repositrio criado.
vi /etc/yum.repos.d/repositorio.repo 2.3.1 Invocao de Mtodos [repositorio] Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode name=repositorio ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela baseurl=http://192.168.0.100/repositorio chamada de um mtodo em um objeto usando o operador binrio "." (ponto), enabled=1 devendo especificar a mensagem completa: o objeto que o recebedor da gpgcheck=0 mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

4) Iniciar o servidor web:

o mesmo estado se suas variveis membro tm os mesmos valores.

155

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 172

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da | 3Way treinamento@3way.com.br (62) Networks. 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; deve possuir o valor 1 para o tornar o repositrio ativo, caso seja 0, o D A opo enabled carro1.modelo= "fusca"; I repositrio estar desabilitado e voc no poder usar os pacotes dele. Tome cuidado carro1.cor = "prata"; C A com essa opo, pois ela pode causar problemas.

Linux System Administration Linguagem de Programao Java

2) Atualizar o repositrio para baixar a lista dos novos pacotes disponveis.


yum update

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional Aprendendo com Profissionais um que esteja definido pelo objeto.
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

156

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 173

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS= "prata"; carro1.cor

Linux System Administration Linguagem de Programao Java

18.6. E

Suponha que temos o pacote emacs-20.7-11cl.i386.rpm instalado e queremos instalar a verso anterior desse software (emacs-20.5-6.cl.i386.rpm por exemplo) no sistema. Qual seria o procedimento para conseguir isso? Quais so as sintaxes de utilizao do comando rpm para consulta? Exemplifique atravs de exemplos. Qual o comando utilizado para extrair um ou mais arquivos de um pacote rpm? Tendo como base o arquivo proftpd-1.3.0a-3.el5.rf.i386.rpm, extraia o arquivo teste.c (fictcio).Figura 2.4 Layout Memria aps inicializao Carro Como se checa a assinatura e a integridade de um pacote rpm? carro2 = carro1; Quais so as sintaxes do yum para instalao? Para que serve um arquivo .repo? Explique a sua estrutura bsica. Alm do dpkg, quais so as principais ferramentas para manipulao de pacotes debian? Qual a funo do arquivo /etc/apt/sources.list para o APT? Qual seria o procedimento (sequencia de comandos) para adicionar o repositrio http://security.debian.org nas categorias updates, main, contrib e non-free da verso lenny do Debian? Como se faz para instalar um software atravs da compilao do seu cdigo fonte? Enumere e explique os passos. Cada Para objeto que serve a opo do script configure ? criado dever --prefix ter sua prpria instncia de variveis
Membros de Instncia
Os valores das variveis
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

//criando novo alias

2.3

(atributos) definidas pela classe. Os mtodos definem o comportamento de um emsoftware? um objeto constituem Qual a vantagem de se usar bibliotecas compartilhadas em um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. no devemos com a implementao do mtodo, que Porm O comando do confundir sistemaisto que atualiza as bibliotecas compartilhadas ldconfig . tm Dois objetos distintos compartilhada por todas as instncias da classe.

Como se adiciona novos caminhos de bibliotecas no sistema?o mesmo estado se suas

2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

variveis membro tm os mesmos valores.

157

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 174

Este material no pode serem distribudo. Curso Especialista Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System LinguagemAdministration de Programao Java

19. TAREFAS AGENDADAS


O agendador de tarefas do Linux o cron, ele um daemon, ento ele roda continuamente, procurando por eventos que causem o incio de uma tarefa. Diferentemente da maioria dos daemons, que so servidores de rede, cron responde a eventos temporais. Ele verifica e examina, uma vez a cada minuto, os arquivos de configurao contidos nos diretrios /var/spool/cron/, /etc/cron.d/ e tambm o arquivo /etc/crontab, para executar os comandos especificados neles cujo tempo coincida com o tempo listado neles. Existem dois tipos de tarefas agendadas: as do sistema e as do usurio. Os agendamentos //criando novo alias do sistema so executados como root e executam tarefas de Carro carro2 = carro1; manuteno de todo sistema. Por padro, a maioria das distribuies Linux inclui o cron para executar a limpeza dos arquivos antigos do diretrio /tmp, executar a rotao do log e muitas outras tarefas. Os usurios comuns tambm podem criar seus prprios agendamentos para executar tarefas pessoais, enquanto o root mais usado para tarefas administrativas mais abrangentes. Um dos pontos crticos para se lembrar ao trabalhar com o cron que ele funciona sem superviso, ou seja, sem a presena de algum para fazer a entrada de dados. Portanto, no se deve chamar qualquer programa para o cron se esse programa necessitar da entrada do usurio, como por exemplo, um editor de textos.
Figura 2.4 Layout Memria aps inicializao

19.1. CRIANDO CRON JOBS DE SISTEMA Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
O arquivo /etc/crontab controla os jobs de sistema. Esse arquivo normalmente inicia-se com muitas linhas que configuram variveis de ambiente, tais 2.3 Membros de Instncia Cada objeto criado deverEle ter possui sua prpria instncia de variveis como $PATH e $MAILTO. um contedo parecido com o Osabaixo: valores das variveis

(atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da SHELL=/bin/bash classe. Porm no devemos confundir isto com a implementao do mtodo, que PATH=/sbin:/bin:/usr/sbin:/usr/bin compartilhada por todas as instncias da classe. MAILTO=root
HOME=/

2.3.1 Invocao de Mtodos # run-parts Objetos se comunicam pela troca de mensagens, isto significa que um 01 * * * * root run-parts /etc/cron.hourly objeto pode ter que mostrar um comportamento particular invocando uma 02 4 * * * root run-parts /etc/cron.daily operao foi run-parts definida no objeto. Em Java, isto feito pela 22 4 apropriada * * 0 que root /etc/cron.weekly chamada de um mtodo em um objeto usando o operador binrio "." (ponto), 42 4 1 * * root run-parts /etc/cron.monthly devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um Profissional Aprendendo um Seja que esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

158

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 175

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Essas linhas, com exceo da seo de variveis de ambiente, carro1.modelo= "fusca"; formato. Esse formato composto por cinco campos, que carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

certo especificam tempo. Esses campos so respectivamente:

possuem um por sua vez

minuto (0-59), hora (0-23), dia do mes (1-31), ms (1-12), dia da semana (0-7, onde 0 e 7 representa domingo)

Para os valores do ms e do dia da semana pode-se usar as trs primeiras letras do nome (em ingls) ao invs de nmeros. Em muitos casos, pode-se especificar mltiplos valores de vrias formas diferentes:
Figura 2.4 Layout Memria aps inicializao

Carro Um asterisco * ) representa todos os valores carro2 =( carro1; Uma lista separadas por vrgula (como 0,4,8,12,16) representa valores especficos. Dois valores separados por um travesso ( - ) indica uma faixa de valores no formato valor_inicial-valor_final, como por exemplo 8-18 representa de 8h a 18h. Uma barra ( / ), quando usada em conjunto com algum outro valor mltiplo, especifica uma faixa de valores onde alguns membros so pulados. Por exemplo, */5 no campo minuto significa que algum job ser executado a cada 5 minutos.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

//criando novo alias

Depois dos primeiros cinco campos, as entradas do arquivo /etc/crontab continuam com o nome de usurio a ser usado na execuo do programa 2.3 Membros de Instncia Cada objeto criado ter sua prpria instncia (run-parts de variveis /etc/cron.hourly Os valores das variveis (normalmente root ) e odever comando a ser executado como (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem na linha em destaque no exemplo acima).
o mesmo estado se suas linha destacada do exemplo, so executados todos os scripts de /etc/cron.hourly no os variveis membro tm 2.3.1 Invocao de Mtodos mesmos valores. primeiro minuto de cada hora. distribuies incluem cron mensais Objetos se comunicam pela trocaMuitas de mensagens, isto significa que um jobs do

objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. Porm devemos confundir isto com a implementao do mtodo, que run-parts, cronloop, As no entradas padro de /etc/crontab usam normalmente Dois objetos distintos tm ou compartilhada por todas as instncias da classe. um utilitrio similiar que executa qualquer script em um ditetrio. Deste modo, na

objeto pode ter que mostrar um comportamento particular invocando uma (/etc/cron.monthly/), dirios (/etc/cron.daily/), semanais (/etc/cron.weekly/) e de operao apropriada que foi definida no objeto. Em Java, isto feito pela em hora (/etc/cron.hourly/), cada um correspondendo aos scripts contidos em chamada de um mtodo em um objeto usando o operador binrio "." (ponto), respectivos diretrios. devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

hora seus

159

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 176

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano "2001"; Para criar = novos jobs, pode-se criar os scripts para a realizao da carro1.modelo= "fusca"; desejada e copi-lo o diretrio cron mais apropriado (/etc/cron.periodo/), carro1.cor = para "prata";

Linux System Administration Linguagem de Programao Java

script ser executado no perodo especificado.

tarefa que o

19.2. CRIANDO CRON JOBS DE USURIO


Para criar jobs de usurio usado o utilitrio crontab (no o arquivo /etc/crontab). A sintaxe desse utilitrio a seguinte:
crontab [-u usuario] [-l | -e | -r] [arquivo]

Se no for informado a opo -u usuario, considerado o usurio atual. A //criando novo alias opo -l utilizada forar a entrada no cron job do usurio atual, -r remove o Carro carro2 = para carro1; cron job atual e -e abre o editor padro para edio do cron job do usurio atual. O editor padro o vi, mas poder ser configurado atravs da varivel de ambiente VISUAL ou EDITOR. Alternativamente, um cron job pode ser criado passando um arquivo de configurao como parmetro:
crontab -u user1 config_cron

Figura 2.4 Layout Memria aps inicializao

Nesse exemplo, ser criado um cron job para o usurio user1 tendo como base o arquivo de configurao config_cron. Abaixo tem-se um exemplo do contedo do arquivo config_cron:
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

(atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. e O no controle de acessoisto aocom cron feito atravs dos arquivos /etc/cron.allow classe. Porm devemos confundir a implementao do mtodo, que Dois objetos distintos tm onde contedo ser a relao dos usurios que, respectivamente, /etc/cron.deny compartilhada por ,todas as seu instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um 19.3.pode ANACRON objeto ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usandoseja o operador "." (ponto) , Embora cron uma binrio grande ferramenta devendo especificar a mensagem completa: tarefas o objeto agendadas que o recebedor da determinadas em sistemas mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

SHELL=/bin/bash MAILTO=user1 HOME=/home/user1 2.3 Membros de Instncia 0,30 * * * * /usr/bin/fetchmail -s Cada objeto criado dever ter sua prpria instncia de variveis 0 2 * * mon /opt/script_backup.sh

Os valores das variveis

tero ou no acesso ao cron.

o mesmo estado se suas variveis membro tm os mesmos valores.

para executar que no param


160

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 177

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano (como servidores), = "2001"; uma ferramenta muito menos til em sistemas que ficam muito carro1.modelo= "fusca"; tempo desligados, = tais como notebooks ou mesmo desktops. Freqentemente, cron carro1.cor "prata";

Linux System Administration Linguagem de Programao Java

jobs que deveriam ser executados tarde da noite nunca so executadas nesses sistemas, podendo causar algumas situaes indesejveis, como arquivos de log muito grandes, contedo do diretrio /tmp descontrolado e vrias outras. Uma soluo para esses problema o anacron (http://anacron.sourceforge.net). Esse programa foi projetado como um complemento ao cron para certificar-se que alguns jobs sero executados em um intervalo de tempo razovel. Ele executa tarefas agendadas que por algum motivo no foram executadas pelo cron. Quando o sistema inicializa, o anacron verifica o arquivo /etc/anacrontab e caso algum agendamento noFigura tenha executado ele o far imediatamente. 2.4 sido Layout Memria aps inicializao de trs tipos principais de linhas: comentrios (representados por #), variveis de ambiente (como SHELL=/bin/bash), e definies de jobs. Esse ltimo tipo composto de quatro campos:
periodo atraso identificador comando
//criando novo alias Esse arquivo consiste Carro carro2 = carro1;

O periodo (period) a frequencia, em dias, que o comando deveria ser executado. O atraso (delay) o tempo, em minutos, entre a ativao da anacron e a execuo da tarefa, se o tempo desde a ltima execuo exceder o perodo de execuo. O identificador (identifier) um cdigo que identifica o comando. E o comando (command) o que se quer executar, podendo ser um script ou um comando.
Membros de Instncia
Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos)Abaixo definidas temos pela classe. mtodosdesse definem o comportamento de um um Os exemplo arquivo: objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da SHELL=/bin/sh classe. Porm no devemos confundir isto com a implementao do mtodo, que PATH=/sbin:/bin:/usr/sbin:/usr/bin compartilhada por todas as instncias da classe.
# format: period delay job-identifier command

2.3

2.3.1 Invocao de Mtodos run-parts /etc/cron.daily 1 65 cron.daily se comunicam pela troca de /etc/cron.weekly mensagens, isto significa que um 7 70Objetos cron.weekly run-parts objeto pode cron.monthly ter que mostrar um comportamento particular invocando uma 30 75 run-parts /etc/cron.monthly operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), Obviamente, para fazer tudo ocorretamente, anacronda precisa devendo especificar a mensagem completa: objeto que o orecebedor si mesmo, e isso a pode ser feito de duas maneiras: mensagem, o mtodo ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

ser iniciado por

161

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 178

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; 1)carro1.cor Via script de = inicializao: "prata";

Linux System Administration Linguagem de Programao Java

- Algum script SysV de inicializao. - O script de inicializao local (/etc/rc.d/rc.local em sistemas Red Hat ou /etc/boot.d/boot.local em sistemas SUSE). 2) Via cron job: Criao de um cron job para executar o anacron.
No importa a forma como o anacron vai ser inicializado, o que importa desabilitar os cron jobs que ele vai manipular. isso no for feito, as tarefas sero executadas Figura 2.4 LayoutSe Memria aps inicializao D I duas vezes. //criando novo alias
C

Carro carro2 = carro1; A Tambm tenha ateno para execut-lo em intervalos dirios, como padro, eliminando os cron jobs configurados para ele e que estiverem sendo executados de hora em hora.

AT Executa agendamentos uma nica vez. Sintaxe: at HH:mm MM/DD/YYYY ATQ Exibe a lista de agendamentos. ATRM Apaga um agendamento feito pelo AT.
at 08:00 at> cat /etc/passwd ~/saida.txt 2.3 Membros de > Instncia at> rm -f ~/saida.txt

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Exemplos Agenda os comandos digitados logo abaixo para serem executados as 08:00.

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis uma listagemde dos jobs agendados juntamente com (atributos) pela classe. Os mtodos definem oExibe comportamento um atq ou atdefinidas -l em um objeto constituem seus ids. objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. Apaga um job identificado classe. Porm no devemos confundir isto com a implementao do mtodo, que pelo id_job. atrm id_job ou at -r id_job Dois objetos distintos tm compartilhada por todas as instncias da classe.

objeto pode ter que mostrar um comportamento particular invocando uma usurio root poder utilizar o comando at. Se existir somente at.allow, os operao apropriada que foi definida no objeto. Em Java, isto feito pela que tero acesso ao em at, um devero constar Caso somente o at.deny existir, chamada de um mtodo objeto usando o nele. operador binrio "." (ponto) , usurios tero acesso ao at, completa: menos quem estiver listado nele. da devendo especificar a mensagem o objeto que o recebedor mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional um queum esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos O at suporta restries de acesso, assim como no cron, atravs dos arquivos mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um

/etc/at.allow e /etc/at.deny. Se nenhum desses arquivos existir, ento somente o usurios todos os

162

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 179

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; ABORATRIO carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

19.4. L

Este laboratrio tem o objetivo de mostrar o uso do cron para tarefas agendadas em um sistema onde no ocorre frequentes desligamentos. 1) Como usurio comum (Vamos supor o usurio user1) criar o script abaixo com o nome de cronjob.
SHELL=/bin/bash MAILTO=user1 1 * * * * /sbin/ifconfig

crontab novo cronjob //criando alias Carro carro2 = carro1;

2) Aplicar a tarefa do cron e esperar at o momento previsto para a execuo. Figura 2.4 Layout Memria aps inicializao

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

163

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 181

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= XERCCIOS "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

19.5. E

Descreva o processo de funcionamento do cron citando quais so os seus diretrios e arquivos de configurao. Existem os agendamentos do sistema e de usurio. Quais so as situaes mais indicadas para cada um deles? Explique o formato (campos) do arquivo de agendamento do sistema /etc/crontab. Qual a sintaxe de criao de agendamento de usurio baseada em arquivo de Figura 2.4 Layout Memria aps inicializao configurao? D um exemplo. Carro Quais so os carro2 = arquivos carro1; que provem o controle de acesso ao cron? Como eles funcionam? Para que serve o anacron e em qual situao ele mais indicado? Qual o formato do arquivo /etc/anacron? Explique cada campo.
//criando novo alias

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

164

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 182

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

20. GERENCIAMENTO DE LOGS


O Linux mantm arquivos de log que armazenam vrios detalhes importantes da operao do sistema. Saber como alterar a configurao dos arquivos de log uma importante atribuio de um administrador de sistemas. Isso pode ser feito configurando o daemon syslogd, normalmente proveniente do pacote sysklogd. Alguns servidores e programas possuem seus prprios logs e podem ser configurados independentemente do syslogd. Por medida de segurana pode ser configurado que um computador envie seus logs para outro na rede. importante ter conscincia que deve ser feita a correta manipulao da //criando novo alias rotao de logs para que eles no cresam indefinidamente e ocupem muito espao Carro carro2 = carro1; em disco na partio em que esto armazenados. Assim como o syslogd, o klogd um daemon, tambm instalado pelo mesmo pacote, que grava as mensagens de log do kernel. Para funcionar correta e harmoniosamente, o sistema de log precisa ser configurado. No caso do syslogd, o seu arquivo de configurao /etc/syslog.conf . Conhecer o formato desse arquivo importante para se configurar um bom servidor de logs.
Figura 2.4 Layout Memria aps inicializao

20.1. FORMATO DE /ETC/SYSLOG.CONF


Figura 2.5 Layout Memria duas representadas variveis referncia para o mesmo smbolo objeto Ele possui linhas de comentrios pelo ( # ). As outras linhas so de configurao e so formadas basicamente por dois campos:

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem objeto. IstoNa importante, pois denota que um mtodo pertence a cada objeto que da representa linha acima, a facilidade uma palavra cdigo tipo. de o seu o estado classe. Porm no devemos confundir isto com a implementao do mtodo, que programa ou ferramenta que gerou a mensagem a ser armazenada (logada); Dois objetos distintos a tm compartilhada por todas as instncias da classe.

2.3

facilidade.prioridade

Membros de Instncia

acao

mesmo estado se suas prioridade a palavra cdigo que expressa a importncia dessa o mensagem para o variveis membro tm sistema; e acao um arquivo (caminho completo), computador remoto, ou outra os 2.3.1 Invocao de Mtodos mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa um localidade que aceita o armazenamento da que mensagem. O conjunto objeto pode ter que mostrar um comportamento particular invocando uma facilidade.prioridade chamado de seletor .
operao apropriada que foi definida no objeto. Em Java, isto feito pela Cdigos vlidos facilidade so auth , authpriv chamada de um mtodo em umpara objeto usando o operador binrio "." (ponto),, cron, devendo especificar a news mensagem completa: o ,objeto que o recebedor da lpr, mail , mark, , security , user uucp, e local0 at local7 mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

daemon, kern,

165

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 183

Este material no pode ser distribudo. Curso Especialista em Redes Somente poder ser utilizado por alunos da Networks. treinamento@3way.com.br | 3Way (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; Muitos desses nomes referem-se a servios especficos ou carro1.modelo= "fusca"; programas, por exemplo, os servidores de e-mail normalmente usam a carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

classe de facilidade mail. Outros servidores que no possuem um nome especfico usam o cdigo daemon. A facilidade auth usada para segurana, a facilidade mark reservada para uso interno. Um asterisco (*) refere-se a todas as facilidades. Pode-se especificar vrias faciliades em um seletor separando-as por (,). Cdigos vlidos para a prioridade so debug, info, notice, warning, warn, error, err, crit, alert, emerg, e panic. A prioridade warning idntica a warn, error idntica a err, e emerg idntico a panic. Os nomes das prioridades error, warn e panic so obsoletos, Figura 2.4 Layout Memria aps inicializao preciso usar seus equivalentes. Exceto esses pares de prioridades, eles possuem //criando novo alias nveisCarro ascendentes de importncia. O nvel debug registra a maioria das informaes; carro2 = carro1; ele usado, como o nome indica, para programas que apresentam problemas de funcionamento. A prioridade emerg registra a maioria das mensagens indicativas de problemas muito srios. Quando um programa envia uma mensagem ao sistema de log, ele inclui o cdigo de prioridade, a mensagem s registrada (em arquivo ou computador remoto) se estiver configurado um local para aquele nvel. Deste modo, se foi especificado o cdigo de prioridade alert, o sistema registrar mensagens que so classificadas como alert ou emerg mas no mensagens crit ou inferiores. Uma exceo a essa regra se for feita uma configurao especfica, precedendo a prioridade crit com um sinal de igualdade ( = ), que descreva o que fazer com Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto mensagens crit. Um sinal de exclamao ( !) funciona com reverso da regra, ou seja, !crit faria com que todas as mensagens inferiores a crit fossem registradas. A prioridade * refere-se a todas as prioridades.
Membros de Instncia

Cada objeto criado dever ter sua prpria instncia de uma variveis Pode ser especificado mltiplos seletores para nica acao separando-as Os valores das variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem com ; (ponto e vrgula). No confundir com a , (vrgula) que separa mltiplas objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado . facilidades. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada todas as instncias da classe. Umapor acao , muito provavelmente, ser um arquivo dentro da rvore /var/log/.

2.3

Os arquivos messages, syslog e secure so arquivos importantesvariveis e comuns dentro membro tm os 2.3.1 Invocao de Mtodos daquele diretrio, mas nem todas as distribuies usam todos eles. Outros locais mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um possveis incluem arquivos de dispositivo de console (como /dev/console ) para exibir objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada definida objeto. Em Java, isto feito pela as mensagens na que tela,foi nomes deno computadores remotos precedidos pelo smbolo ( @ ) chamada de um mtodo em um objeto usando o operador binrio "." (ponto) , para gravar dados de um sistema especfico, e uma lista de nome de usurios de devendo especificar a mensagem completa: o objeto que o recebedor da pessoas logadas que deveriam ver essas mensagens, ou * para todos os usurios mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja um Profissional um que esteja definido Aprendendo pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas

166

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 184

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; logados. carro1.modelo= "fusca"; carro1.cor = "prata"; Exemplos Envia todas (*) as entradas de log identificas como mail para o mail.* /var/log/mail arquivo /var/log/mail. Envia todas as mensagens do nvel emerg para a console de todos os *.emerg * usurios logados em ferramentas de modo texto. A primeira linha envia todas as mensagens de kernel para o arquivo /var/log/kernel; kern.* /var/log/kernel A segunda envia mensagens crticas ( crit) de kernel para a mquina kern.crit @servidor-log.local servidor-log.local. A terceira envia uma cpia das mensagens crticas (crit) para a kern.crit /dev/console console (vistas somente em ferramentas baseadas no modo texto). kern.info;kern.!err /var/log/kernelinfo Figura 2.4 Layout Memria aps inicializao Altima, envia mensagens que se localizam entre a prioridade info e err para o arquivos /var/log/kernelinfo. //criando novo alias Carro carro2 = carro1;

Linux System Administration Linguagem de Programao Java

D I C A

Pelo fato de err ser de prioridade imediatamente inferior a crit, e por info ser de prioridade mais baixa ainda, essas linhas causam o registro duplo ou triplo de todas as mensagens de kernel: uma em /var/log/kernel, outra no computador remoto e na console ou /var/log/kernelinfo.

20.2. REGISTRANDO LOGS MANUALMENTE


Casualmente, ser preciso criar manualmente uma entrada de log ou ter um Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto script para fazer isso. A ferramento para fazer esse trabalho conhecida como logger.
2.3 Membros de Instncia LOGGER Cria logs manuais.

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) classe. Os mtodos definem o comportamento de um Sintaxe:definidas logger pela [opcao] objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. Opes
-i

2.3.1 Invocao de Mtodos -s Possibilita criar uma sada padronizada para determinados erros. Objetos se comunicam pela troca de mensagens, isto significa que um Indica um arquivo para a gravao dos registros de log. Ter cuidado com o tamanho desse arquivo, -f arquivo objeto pode ter que mostrar um comportamento particular invocando uma ele pode consumir espao em disco e prejudicar o desempenho do sistema. operao apropriada que foi definida no objeto. Em Java, isto feito pela -p prioridade Fornece uma prioridade para o registro de log. chamada de um mtodo em um objeto usando o operador binrio "." (ponto), -t tag um texto que aparecer no log para identificar o programa ou script responsvel pelo registro. devendo especificara mensagem completa: o objeto que o recebedor da mensagem a quee ir no registro. mensagem, o mtodo a mensagem ser invocado osaparecer argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 167 um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Grava o PID do processo a ser registrado.

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 185

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; ABORATRIO carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

20.3. L

Este laboratrio tem por objetivo personalizar o sistema de logs do sistema. Vamos fazer com que os registros de autenticaes privadas (facilidade authpriv) sejam gravados no arquivo /var/log/seguro ao invs do atual (/var/log/secure). 1) Criar o arquivo /var/log/seguro, pois o mesmo no existe ainda:
touch /var/log/seguro

2) Editar o arquivo /etc/syslog.conf com a seguinte alterao:


vi /etc/syslog.conf //criando novo alias/var/log/secure # authpriv.* Carro carro2 = carro1; authpriv.* /var/log/seguro
Figura 2.4 Layout Memria aps inicializao

3) Reinicie o syslog para que a alterao ter efeito.


service syslog restart

de log.

4) Para testar, logue-se a partir de outra mquina e configura o novo arquivo


ssh root@192.168.0.123 cat /var/log/seguro

5) Encerre a conexo, verifique novamente a mensagem de finalizao de conexo no arquivo /var/log/seguro e volte a configurao anterior.
cat /var/log/seguro vi /etc/syslog.conf authpriv.* /var/log/secure # authpriv.* Membros de Instncia/var/log/seguro service restart Cada objetosyslog criado dever ter sua prpria instncia de variveis
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

2.3

(atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto constituem 6) Teste novamente a conexo para verificar a gravao em no um arquivo de log objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. original. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada por todas as instncias da classe. ssh root@192.168.0.123 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Os valores das variveis

cat /var/log/secure

o mesmo estado se suas variveis membro tm os mesmos valores.

169

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 186

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS= "prata"; carro1.cor

Linux System Administration Linguagem de Programao Java

20.4. E

Quais so os daemons responsveis por gerenciar os logs no sistema? Qual o arquivo de configurao do syslog? O arquivo de configurao do syslog formado por
acao. Explique com detalhes cada um de seus campos. facilidade.prioridade

Qual a sintaxe completa do comando utilizado para logar informaes no sistema manualmente?
Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

170

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 187

Este material no pode serem distribudo. Curso Especialista Redes Somente poder ser utilizado por alunos da 3Way Networks. treinamento@3way.com.br | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System LinguagemAdministration de Programao Java

21. KERNEL

O Kernel pode ser entendido com um conjunto de arquivos que constituem o ncleo do sistema operacional. Esse ncleo tem o objetivo de controlar todo o hardware do computador, atravs do gerenciamento de todos os processos e compartilhamento de memria do computador. Como acontece com muitos softwares comerciais, novas verses so lanadas, assim tambm com o Kernel do Linux. A justificativa quase sempre para prover melhorias em uma determinada funo, fazer correes em pontos vulnerveis e/ou para acrescentar novas funcionalidades (recursos ou drivers). As verses Kernel so formadas por 3 nmeros distintos e separados por //criando novo do alias Carro carro2 carro1; pontos, sendo que=um quarto nmero poder ser aplicado.
A.B.C.D 2.6.18.1
Figura 2.4 Layout Memria aps inicializao

O primeiro nmero (A) indica a sua verso; o segundo (B) indica a ltima reviso feita at o momento na mesma verso; o terceiro (C), por sua vez, indica uma reviso menor dentro da verso Y, esse terceiro nmero pode vir acompanhado de pequenas siglas indicativas de verses no oficiais ou compilaes de empresas que produzem Linux (por exemplo, o RHEL usa 2.6.18-92.el5); um eventual quarto nmero (D) pode ser aplicado quando uma falha importante foi descoberta, sendo necessrio atualiz-lo. Antes da srie 2.6.x do Kernel, o segundo nmero (B) tinha um significado diferente, se fosse mpar, significava que ele fazia parte de uma srie de 2.3 Membros de Instncia desenvolvimento (instvel). Se o nmero fosse par, significava que aquela srie era Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis estvel.
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

(atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem No preciso sempre ter ltima verso de um kernel, como se fosse objeto. Isto importante, pois denota que uma mtodo pertence a cada objeto da o seu estadouma . classe. Porm no devemos confundir isto com a implementao do mtodo, que regra, mas altamente recomendvel que se faa atualizaes, sobretudo as Dois objetos distintosde tm compartilhada por todas as instncias da classe. segurana, ou promover a aplicao de patches (correo de problemas). 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser um Profissional Aprendendo um Seja que esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os mesmos valores.

171

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 188

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

Figura 2.4 Layout Memria aps inicializao

//criando novo alias Carro carro2 = carro1;


Figura 12: Organizao do sistema linux em camadas

22.1. COMPILAO DO KERNEL


A compilao do Kernel uma tarefa que est amplamente relacionada a otimizao. Uma compilao deve visar o aumento de desempenho, a insero de uma melhoria ou de uma nova funcionalidade. E apesar das distribuies ou mesmo usurios poderem compil-lo livremente, algumas distribuies fornecem Kernels modificados e, as vezes, as vezes fechados. o caso das distribuies comerciais (Enterprise), elas fornecem cliente uma assinatura onde ela fornece todo o suporte Figura 2.5ao Layout Memria duas variveis referncia para o mesmo objeto a distribuio, mas condicionada a no interveno do usurio em itens sensveis como o Kernel. Portanto, deve-se ter certeza da necessidade de compilar algo nesses 2.3 Membros de Instncia casos.

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis efetu-la inicialmente ser necessrio verificar a existncia de constituem alguns (atributos) Para definidas pela classe. Os mtodos definem o comportamento de um em um objeto objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da pacotes bsicos para a sua correta execuo. A linha de comando abaixo, executada o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que como verifica a existncia deles: Dois objetos distintos tm compartilhada por todas as instncias da classe.

objeto pode ter que mostrar um comportamento particular invocando uma Compilao Kernel operao apropriada que foi definida no objeto. Em de Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio , 1 Obter o cdigo fonte do Kernel desejado; ou baixar o cdigo fonte"." no (ponto) site kernel.org. Seu formato ser algo devendo especificar a mensagem .completa: o objeto que o recebedor da parecido com linux-versao.tar.bz2 mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 172 um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os # rpmInvocao -qa gcc ncurses \ 2.3.1 de Mtodos make kernel-devel autoconf automake ncurses-devel > redhat-rpm-config rpm-build mesmos valores. Objetos se comunicam pela troca de mensagens, isto significa que um

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 190

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.45.tar.bz2 carro1.modelo= "fusca"; carro1.cor = "prata"; Como root, descompactar o cdigo fonte obtido:
tar jxvf linux-2.6.27.45 .tar.bz2 -C /usr/src/ 3

Linux System Administration Linguagem de Programao Java

Criar um link simblico do no diretrio surgido em /usr/src/ (provavelmente linux-2.6.27.45):


ln -sf /usr/src/linux-2.6.27.45/ /usr/src/linux

Em caso de ter havido alguma compilao anterior necessrio retroceder ao estado padro dos arquivos de configurao, isso feito estando no diretrio /usr/src/linux com o seguinte comando:
make mrproper

Existem alguns arquivos previamente configurados para as plataformas suportadas pelo Kernel em /usr/src/linux/arch, ento possvel aproveit-los caso no se queira comear a configurao do zero. Figura 2.4 Layout Memria aps inicializao Copiar o arquivo de configurao bsico da plataforma escolhida ( defconfig) e nome-lo para .config em //criando /usr/src/linux : novo alias Carro carro2 = carro1;
cp -f /usr/src/linux/arch/i386/defconfig /usr/src/linux/.config

Entrar no diretrio base da compilao (/usr/src/linux) para continuidade do processo (configurao do kernel). Durante a configurao, pode-se escolher se o item ser interno (com y ou *), um mdulo (m) ou deix-lo inativo (n). Aps o trmino dessa etapa ser gerado um novo arquivo .config.
6 cd /usr/src/linux make menuconfig ou make config

ou

make xconfig

Obs.: Em caso de recompilao, utilizado o make oldconfig para aproveitar as configuraes antigas. A compilao feita aps a configurao. Sua execuo obtida pelo comando abaixo (executado como root):
7 make

Essa etapa pode demorar, no h como abrevi-la sem diminuir os itens a serem compilados. O resultado dela so, Figura 2.5 Layout Memria duas referncia o compor mesmo objeto entre outras coisas, a imagem (bzImage ou zImage ) e variveis os mdulos quepara vo o Kernel. A instalao dos mdulos feita (como root) com o comando:

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis Como definidas exposto anteriormente, compilao uma o srie de novos itens,de eles necessitam ser objeto transferidos para (atributos) pela classe. a Os mtodos gera definem comportamento um em um constituem seus devidos lugares no sistema. Esses arquivos so bzImage , System.map e .config objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da . o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm Transferindo a imagem bzImage compartilhada por todas as instncias da classe. /boot/vmlinuz-2.6.27.45 cp /usr/src/linux/arch/i386/boot/bzImage 2.3.1Transferindo Invocao de Mtodos o mapa de sistema cp /usr/src/linux/System.map Objetos se comunicam pela/boot/System.map-2.6.27.45 troca de mensagens, isto significa que um ln -sf /boot/System.map-2.6.27.45 /boot/System.map objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela Transferindo o arquivo de configurao cp /usr/src/linux/.config chamada de um mtodo em um /boot/config-2.6.27.45 objeto usando o operador binrio "." (ponto), devendo a disco mensagem completa: objetopelo que o para recebedor 10 Criarespecificar o arquivo de de RAM inicial (eleo usado kernel carregarda drivers antes do boot). Ele no mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 173 um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

make modules de Instncia Membros make modules_install

o mesmo estado se suas variveis membro tm os mesmos valores.

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 191

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano "2001"; necessrio caso todo o=driver necessrio tenha sido compilado no Kernel. carro1.modelo= "fusca"; carro1.cor = "prata"; Criando initrd (Red Hat)
mkinitrd -v /boot/initrd-2.6.27.45 2.6.27.45

Linux System Administration Linguagem de Programao Java

Criando initrd (Debian)


11

mkinitrd -o /boot/initrd-2.6.27.45 /lib/modules/2.6.27.45

A configurao no gerenciador de boot (GRUB / LILO) no faz parte do processo de compilao, mas necessrio caso se queira incluir o novo Kernel nas opes de boot ou at mesmo inici-lo.

Caso se queira personalizar a verso da compilao, basta editar as linhas VERSION, PATCHLEVEL, SUBLEVEL e EXTRAVERSION no arquivo Makefile, como no exemplo abaixo:
VERSION = 2 PATCHLEVEL = 6 //criando SUBLEVEL = 27 novo alias Carro carro2 = carro1; EXTRAVERSION = .45 -i386
Figura 2.4 Layout Memria aps inicializao

22.2. CONFIGURAO DO NOVO KERNEL NO LILO


# /etc/lilo.conf boot=/dev/hda # grava o LILO na MBR map=/boot/map install=/boot/boot.b prompt # mostra o prompt do LILO timeout=50 # tempo de espera do prompt de 5 segundos default=linux # define o linux como sistema padro image=/boot/vmlinuz-2.6.27.45 # arquivo com a imagem de kernel label=Linux-2.6.27.45 # nome do linux no menu do LILO root=/dev/hdXn # partio da imagem do kernel read-only Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto other=/dev/hda1 # partio do windows (C:\>) label=Windows # nome do windows no menu do LILO table=/dev/hda # disco rigido em que reside o windows

Cada objeto criado dever ter sua prpria o instncia de lilo variveis Os valores variveis Logo aps a configurao, executar comando (como root) paradas gravar o (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem LILO no MBR: objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm lilo compartilhada por todas as instncias da classe. 2.3.1 de Mtodos DO NOVO KERNEL NO GRUB 22.3.Invocao CONFIGURAO Objetos se comunicam pela troca de mensagens, isto significa que um # /boot/grub/menu.lst objeto pode ter que mostrar um comportamento particular invocando uma default=0 operao apropriada que foi definida no objeto. Em Java, isto feito pela timeout=30 chamada de um mtodo em um objeto usando o operador binrio "." (ponto), splashimage=(hd0,0)/grub/splash.xpm.gz devendo especificar a mensagem completa: o objeto que o recebedor da hiddenmenu mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). title Linux O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

o mesmo estado se suas variveis membro tm os mesmos valores.

174

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 192

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); root (hd0,1) = "2001"; carro1.ano kernel /vmlinuz-2.6.37.45 carro1.modelo= "fusca"; ro root=/dev/hda2 rhgb quiet vga=791 initrd /initrd-2.6.37.45.img carro1.cor = "prata"; title Windows rootnoverify (hd0,0) savedefault makeactive chainloader +1

Linux System Administration Linguagem de Programao Java

22.4. ATUALIZANDO O KERNEL


Faz parte das atividades de um administrador de sistemas saber aplicar patches de correo em Kernel, ou seja, atualiz-lo. Normalmente ele encontrado no site kernel.org junto com vrios cdigos fonte. Enquanto Figura 2.4 Layout Memria aps inicializao que o cdigo fonte possui o formato linux-versao1.tar.bz2 , o formato de um patch seria parecido com patch//criando novo alias Carro carro2 = carro1; versao2.tar.bz2, por exemplo, o que indicaria uma atualizao para a uma verso imediatamente superior ao kernel instalado. A aplicao do patch feita de forma anloga compilao, ou seja, o patch deve ser baixado e descompactado no diretrio /usr/src/ para inicializar o processo.
Atualizao de Kernel
1

Obter o pacote que atualiza o Kernel no site kernel.org.


wget http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.30.10.tar.bz2

Como root, descompactar o patch:


tar jxvf patch-2.6.30.10.tar.bz2 -C /usr/src/ Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Entrar no diretrio /usr/src/patch-2.6.30.10 e aplicar o patch:


-dc ../patch-2.6.30.10.tar.bz2 3 bzip2 2.3 Membros de Instncia cd /usr/src/patch-2.6.30.10 | patch -p1

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis Obs.: Para remover o patch, adicionar a opo -R: (atributos) definidas pela classe. Os mtodos definem o comportamento de um em um objeto constituem bzip2 -dc ../patch-2.6.30.10.tar.bz2 | patch -p1 -R objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. classe. Porm no devemos confundir isto com a implementao do mtodo, que Dois objetos distintos tm compartilhada por todas as instncias da classe. o mesmo estado se suas 22.5. RECOMPILANDO KERNEL EM DISTRIBUIES RPM variveis membro tm os 2.3.1 Invocao de Mtodos mesmos valores. Objetos se comunicam pela troca de, mensagens, significa que um e envolve O processo de compilao de certaisto forma, simples passos bem objeto pode ter que mostrar um comportamento particular invocando uma documentados, mas em distribuies como Red Hat, Fedora, CentOS, Suse e operao apropriada que foi definida no objeto. Em Java, isto feito pela Mandriva, que utilizam como opacotes altamente aconselhvel chamada de um mtodo em um RPM objeto usando operador instalveis, binrio "." (ponto) , gerar os RPMs do kernel em vez deo simplesmente devendo especificar a mensagem completa: objeto que o compil-lo recebedor da e instal-lo a partir do mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo 175 um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 193

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano "2001"; cdigo fonte, uma =vez que estes sistemas so carro1.modelo= "fusca"; RPMs. carro1.cor = "prata";

Linux System Administration Linguagem de Programao Java

construdos para trabalhar e gerenciar

Antes de iniciar o processo de compilar o kernel e criar um RPM preciso baixar o pacote SRPM (.src.rpm) e ter instalado o ambiente de desenvolvimento de RPMs. Ser necessrio ter os seguintes pacotes: rpmdevtools, yum-utils, rpmdevsetuptree, ncurses-devel, kernel-source, gcc, redhat-rpm-config. Eles podem ser instalados com o seguinte comando (baseado no Fedora):
$ su -c 'yum install rpmdevtools yum-utils ncurses-devel gcc redhat-rpm-config'
Figura 2.4 Layout Memria aps Agora preciso obter o RPM contendo o inicializao cdigo fonte do Kernel mais atual //criando novo alias nos repositrios da distribuio:

Carro carro2 = carro1;

$ yumdownloader updates-source --source kernel

22.6. LABORATRIO
Seguindo os passos contidos na pgina 195/196 para compilao de kernel, faa a compilao e instalao do kernel mais atual e estvel encontrado no site www.kernel.org. Esse lab dever ser supervisionado pelo instrutor nas questes mais delicadas do processo.
Obter o cdigo fonte do Kernel mais atual em www.kernel.org:
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis Os valores das variveis tar jxvf linux-2.6.x.x.tar.bz2 -C /usr/src/ (atributos) definidas pela classe. Os mtodos definem o comportamento de um Criar um link simblico do diretrio resultante da etapa anterior em /usr/src/: em um objeto constituem 3 objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da o seu estado. ln Porm -sf /usr/src/linux-2.6.x.x/ classe. no devemos confundir /usr/src/linux isto com a implementao do mtodo, que Dois objetos distintos tm Voltar ao estado arquivos de configurao (necessrio estar em /usr/src/linux): compartilhada porpadro todas dos as instncias da classe. 4

o cdigo fonte obtido no diretrio /usr/src: 2.3 Descompactar Membros de Instncia


2

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.x.x.tar.bz2

cp -f /usr/src/linux/arch/i386/defconfig /usr/src/linux/.config objeto pode ter que mostrar um comportamento particular invocando uma Configurar o kernel: operao apropriada que foi definida no objeto. Em Java, isto feito pela 6 chamada de um mtodo em um objeto usando o operador binrio "." (ponto), cd /usr/src/linux make menuconfig devendo especificar a mensagem completa: o objeto que o recebedor da 7 Compilar o kernel: mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

o mesmo estado se suas variveis membro tm os 2.3.1 Invocao de Mtodos Copiar o arquivo de configurao bsico da sua plataforma (defconfig) para .config em /usr/src/linux: mesmos valores. 5 Objetos se comunicam pela troca de mensagens, isto significa que um
make mrproper

176

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 194

Este material no pode ser distribudo. Somente poder ser utilizado por alunos da 3Way Networks. www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; make carro1.modelo= "fusca"; Compilar e Instalar os = mdulos: carro1.cor "prata";
8 make modules make modules_install

Linux System Administration Linguagem de Programao Java

Transferir os arquivos gerados na compilao para os lugares corretos: bzImage


9 cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.x.x

mapa de sistema

cp /usr/src/linux/System.map /boot/System.map-2.6.x.x ln -sf /boot/System.map-2.6.x.x /boot/System.map

arquivo de configurao
10

cp /usr/src/linux/.config /boot/config-2.6.x.x Figura 2.4 Layout Memria aps inicializao

Criar o initrd (Red Hat): //criando novo alias Carro-v carro2 = carro1; mkinitrd /boot/initrd-2.6.27.45 2.6.x.x Adicionar uma nova entrada para esse novo kernel no GRUB:

vi /boot/grub/menu.lst 11 title NovoKernelLinux root (hd0,1) kernel /vmlinuz-2.6.x.x ro root=/dev/hda2 rhgb quiet vga=791 initrd /initrd-2.6.x.x.img

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

177

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 195

Este material pode ser distribudo. Cursono Especialista em Redes Somente poder ser utilizado por alunos 3Way Networks. treinamento@3way.com.brda | (62) 3232 9333 www.3way.com.br
//atribuindo valor a varivel referncia Carro carro1 = new Carro(); carro1.ano = "2001"; carro1.modelo= "fusca"; XERCCIOS= "prata"; carro1.cor

Linux System Administration Linguagem de Programao Java

22.7. E

O que um Kernel e qual sua funo no sistema operacional? Digamos que um sistema Linux usa o kernel 2.6.27.45, o que significam esses nmeros? Qual a justificativa de se compilar um kernel? Em quais circustncias devemos efetu-la? Qual a funo dos comandos abaixo no processo de compilao? a) make mrproper modules_install //criando novo alias
Carro carro2 = carro1;

b)Figura make menuconfig c) make modules 2.4 Layout Memria aps inicializao

d) make

O arquivo .config um arquivo que normalmente no vem no cdigo fonte do kernel. Qual a sua funo e como ele composto? Qual seria o procedimento (passos) para se atualizar uma verso de kernel anterior para a verso 2.6.30.10? O procedimento para compilar um kernel em distribuies baseadas em RPM diferente das outras. Basicamente quais seriam as etapas mais importantes para compilar um kernel RPM?

Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto

Cada objeto criado dever ter sua prpria instncia de variveis (atributos) definidas pela classe. Os mtodos definem o comportamento de um objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da classe. Porm no devemos confundir isto com a implementao do mtodo, que compartilhada por todas as instncias da classe. 2.3.1 Invocao de Mtodos Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operao apropriada que foi definida no objeto. Em Java, isto feito pela chamada de um mtodo em um objeto usando o operador binrio "." (ponto), devendo especificar a mensagem completa: o objeto que o recebedor da mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver). O mtodo invocado no recebedor pode tambm enviar informaes de volta ao objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser Seja Profissional Aprendendo um queum esteja definido pelo objeto. com Profissionais
Todos os direitos reservados a 3Way Networks

2.3

Membros de Instncia

Os valores das variveis em um objeto constituem o seu estado. Dois objetos distintos tm o mesmo estado se suas variveis membro tm os mesmos valores.

178

Seja um Profissional Aprendendo com Profissionais www.3way.com.br

12 196

Siga-nos tambm no Twitter! twitter.com/3waynet