Você está na página 1de 64

1

Linux Marta Pina

Introduo ao Linux ......................................................................................................... 4 Kernel do Linux ........................................................................................................ 5 Como surgiu o Linux? .............................................................................................. 5 O que so distribuies Linux? ................................................................................ 5 Software Livre .......................................................................................................... 6 Movimento GNU ...................................................................................................... 6 GNU PUBLIC LICENSE ......................................................................................... 6 Movimento OPEN SOURCE ................................................................................... 6 LINUX STANDARD BASE .................................................................................... 6 Acessando o Linux ........................................................................................................... 8 Identificao de discos e parties em sistemas Linux ............................................ 9 Customizar o gerenciador de boot .................................................................................. 10 GRUB (GRan Unified Bootloader) ........................................................................ 11 Lilo Linux Loader ............................................................................................... 11 Encerramento do sistema ........................................................................................ 11 Filesystem Hierarchy Standard (FHS)............................................................................ 11 Ext3 ...................................................................................................................... 12 Jfs .......................................................................................................................... 12 Reiserfs .................................................................................................................. 12 Xfs ......................................................................................................................... 13 Gerenciamento de Pacotes .............................................................................................. 13 Pacotes APT-Get .................................................................................................... 14 Pacotes RPM .......................................................................................................... 16 Dpkg ....................................................................................................................... 19 URPMI ................................................................................................................... 20 YUM Yellow Dog Modifier ................................................................................ 21 Portage .................................................................................................................... 22 TGZ ........................................................................................................................ 22 Hierarquia de diretrios .................................................................................................. 23 Conceitos de usurios e grupos ...................................................................................... 24 Administrando usurios e grupos ........................................................................... 24 Arquivos de configurao....................................................................................... 24 Permisses e propriedades de arquivos .......................................................................... 25 User-Group-Others ................................................................................................. 25 Proprietrio do arquivo ........................................................................................... 26 Permisses do arquivo ............................................................................................ 26 Gerenciamento de Processos .......................................................................................... 28 Caractersticas dos processos: ................................................................................ 28 Encerrar processos .................................................................................................. 29 Utilizando a Unidade de Disquete .................................................................................. 29 Comandos de disco ......................................................................................................... 30 Comandos basicos do editor vi. .............................................................................. 38 GSOIII Exerccio 1 .............................................................................................. 40 GSOIII Exerccio 2 .............................................................................................. 40 GSOIII Exerccio 3 .............................................................................................. 43 GSOIII Exerccio 4 .............................................................................................. 51 GSOIII Exerccio 5 .............................................................................................. 55 GSOIII Exerccio 6 .............................................................................................. 62 GSOIII Exerccio 7 .............................................................................................. 63

3 GSOIII Exerccio 8 .............................................................................................. 64

4
Introduo ao Linux Que Linux? O Linux um Sistema Operacional, assim como o Windows, o Dos, o MacOS, o OS/2, etc... O objetivo do sistema operacional prover um ambiente de execuo para os programas, promovendo a interao entre usurio e o computador, ou seja, responsvel pelo gerenciamento de recursos e perifricos (como memria, discos, arquivos, impressoras, CDROMs, etc.), interpretao de mensagens e a execuo de programas.

Figura 2

Interface: Hardware x Humanware Para o caso do Linux, o Kernel (ncleo principal de um sistema operacional) mais um conjunto de ferramentas compem o Sistema Operacional Shell O Shell o interpretador de comandos do Linux, responsvel por converter o vocabulrio utilizado pelo usurio em instrues que o computador entenda. Fica entre o usurio e o ncleo do sistema operacional (kernel), formando uma concha, da o nome Shell, servindo assim, como uma interface para o usurio. Quando um comando digitado, o Shell executa as seguintes aes: substituio de variveis; expanso de metacaracteres; tratamento dos redirecionamentos de entrada e sada; Pipelines; substituio de comandos. Existem diversos tipos de Shell e cada um deles oferece um conjunto de caractersticas e recursos diferentes. Os mais utilizados so: Bourne Shell (sh), desenvolvido por Steven Bourne nos AT&T Bell Laboratories; C Shell (csh), desenvolvido por Bill Joy na Universidade da Califrnia; Korn Shell (ksh), desenvolvido por David G. Korn nos AT&T Bell Laboratories.

5
Como o Shell no faz parte do sistema operacional propriamente dito, o usurio pode escolher o Shell que desejar. O IBM AIX utiliza o ksh como Shell padro j o Linux usa o sh como padro. Quando o usurio entra em um sistema operacional UNIX, o Shell iniciado em seu terminal e um prompt de linha de comando indica ao usurio o prximo comando a ser executado. Por exemplo, no caso do Bourne Shell o prompt o smbolo $, seguido de um espao em branco (pode ter antes do $ o diretrio corrente do usurio). O Shell, alm de ser um interpretador de comandos, tambm pode ser utilizado como uma linguagem de programao, oferecendo comandos que permitem programar de maneira estruturada, como estruturas condicionais e de repetio, etc. alm, de permitir tambm a definio de variveis. Usurios podem combinar seqncias de comandos, para serem executados na ordem em que forem declarados, criando assim, os chamados scripts, que seriam equivalentes aos arquivos .bat do DOS. Scripts normalmente so utilizados para realizar tarefas que so executadas diariamente no sistema, como por exemplo, para criar novos usurios, reiniciar servios do sistema, realizar back-up, etc. Kernel do Linux O Kernel a parte central do sistema operacional, que serve para isolar os programas executados do hardware sobre o qual ele roda. Ele o responsvel por gerenciar os recursos disponveis no seu computador: Memria, processador, discos, CD, vdeo, teclado, mouse, modem, placa de rede, etc... Para um programador, o kernel prov uma interface homognea entre vrios recursos do sistema,facilitando o desenvolvimento de novos softwares, e promovendo maior separao entre o software e o hardware. As verses de Kernel so identificadas por trs nmeros, assim dispostos: Primeiro nmero - Major version ou verso principal Segundo nmero - Minor version Se for par, uma verso estvel Se for mpar, ainda uma verso de desenvolvimento Terceiro nmero - Verso de atualizao, com pequenas modificaes. Para saber qual a verso atual do Kernel do Linux aconselha-se visitar o site http://www.kernel.org. Neste site possvel fazer o download de vrias verses do kernel do linux, porm h muito mais do que apenas o kernel do linux. Como surgiu o Linux? O Linux foi desenvolvido por Linus Torvalds, um estudante da Universidade de Helsinque, na Finlndia, e sua primeira verso oficial foi lanada em 1991. Desde o incio o Linux foi distribudo sob sob a licena GPL1. O Linux surgiu como uma soluo para um problema pessoal onde a idia inicial era substituir o sistema operacional minix, mas foi se popularizando com o auxlio de programadores do mundo inteiro e tornando-se o que hoje. Linus Torvalds escreveu o kernel do sistema, e a partir da, vrios softwares do projeto GNU foram compilados para Linux alm de muitos outros passarem a ser escritos diretamente para ele. Com isso, o volume de softwares disponveis atualmente para Linux imenso, contendo desde pequenos utilitrios a complexos servidores de e-mail, web e outros. O que so distribuies Linux? Embora o kernel a parte fundamental do sistema, sozinho ele no suficiente para que se tenha um sistema operacional.

6
A juno do Kernel com ferramentas bsicas para o uso do computador e outros programas essenciais como editores de texto, editores grficos, planilhas, bancos de dados, ambientes de programao, firewalls, etc, compoem algo que podemos chamar de distribuio. Como existem diversas distribuies Linux disponveis e cada distribuio possui suas prprias caractersticas, com seus diferenciais, como ferramentas, instalao e sistema de pacotes a escolha adequada (uso domstico ou empresarial) de fundamental importncia para o funcionamento correto e a satisfao esperada. Software Livre O conceito de software livre e software grtis so muito facilmente confundidos na sua verso em ingls. No entanto quando falamos de free software no sentido de freedom que quer dizer software livre no sentido de liberdade e no de software grtis.

Smbolo do movimento GNU Movimento GNU Em http://www.cipsga.org.br/ existe um texto de Richard Stallman, idealizador e fundador do movimento GNU, hoje conhecido por Free Software Foundation (FSF), que trata exatamente do Linux e do Sistema GNU. O projeto GNU se iniciou com o intuito de desenvolver um sistema operacional Unix-like totalmente livre. Lembrando novamente que livre se refere liberdade, no a preo; significa que se livre para executar, distribuir, estudar, mudar e melhorar o software. GNU PUBLIC LICENSE GNU Public License ou simplesmente GPL a licena do movimento GNU que foi elaborada com suporte de advogados e garante os preceitos bsicos do movimento, ou seja, garante que um software livre no possa se tornar proprietrio. Dessa forma a GPL garante: O software possa ser executado para qualquer propsito; O software possa ser modificado para adaptar-se s suas necessidades; O software possa ser redistribudo, gratuitamente ou no; O software modificado possa ser redistribudo, para que a comunidade se beneficie de suas alteraes. Movimento OPEN SOURCE Este movimento surgiu em fevereiro de 1998 a partir de um debate entre os idealizadores do movimento: Todd Anderson, Chris Peterson, John "maddog" Hall, Larry Augustin, Sam Ockman e Eric Raymond. O movimento Open Source muito semelhante ao movimento GNU, porm muito mais flexvel, j que no projeto GNU, a idia que todo o software seja livre, enquanto no movimento Open Source aceita-se que haja partes proprietrias. LINUX STANDARD BASE Linux Standard Base ou simplesmente LSB um movimento de padronizao do Linux que conta com a participao de vrios distribuidores Linux. Mais detalhes em: http://www.linuxbase.org

Free Standards group Como o Linux livre, vrias empresas comearam a montar suas prprias distribuies, e criar seus prprios padres. Isto comeou a se tornar um problema medida que cada distribuio mudava o nome dos arquivos e os colocava em lugares diferentes. Para evitar um enfraquecimento da plataforma, foi criado o LSB, e a maioria das distribuies tem convergido para este padro. Algumas das distribuies mais conhecidas so:

Acessando o Linux Para acessar uma mquina rodando Linux, necessrio que o usurio informe suas credenciais (nome de usurio e senha). Essas credenciais so nicas e no devem ser

9
divulgadas. Quando o sistema estiver pronto para ser utilizado, aparece um prompt para o usurio: Apesar de ser possvel termos nomes de usurios e senhas maiores (at 255 caracteres) utilizando funcionalidades adicionais; no entanto, o nome de usurio e a senha costumam ter no mximo 8 caracteres para manter a compatibilidade com sistemas antigos. Quando o usurio estiver conectado no sistema em modo texto, ele ter uma linha de comandos, conhecida como prompt, onde poder digitar comandos. Para sair deste prompt e liberar o sistema para uso por outro usurio, pode-se usar os comandos logout, exit, ou a seqncia de teclas Ctrl+D. Cabe Lembrar que sair do sistema no quer dizer desligar o sistema, mas sim deixar de utilizar o sistema como aquele usurio. O Linux proporciona seis terminais virtuais por padro, onde possvel conectar-se com diferentes usurios, para executar tarefas distintas. Por se tratar de um sistema multi-usurio, uma sesso de um usurio em um terminal no interfere com a sesso de outro usurio, ou do mesmo, em outro terminal. Para alternar entre um terminal e outro se utiliza a combinao de teclas ALT+F1, ALT+F2..., ALT+F7. Uma vez conectado no modo grfico seqncia de teclas para alternar de terminais passa a ser CTRL+ALT+F1, CTRL+ALT+F2..., CTRL+ALT+F7. Primeiramente seguem algumas definies: Arquivo: pode ser um programa, uma msica, um texto, um documento, etc. a forma como so armazenados os dados do usurio. Todo arquivo deve possuir um nome que o diferencie dos demais que se encontram no mesmo local. Arquivos podem ser do tipo binrio ou texto: Arquivo Binrio: o contedo s entendido por computadores. gerado por intermdio de um arquivo de programa, atravs de um processo denominado compilao. Compilao basicamente a converso de um programa que est em linguagem humana para o mesmo programa s que em linguagem de mquina. Arquivo Texto: o contedo compreendido por pessoas. Pode ser um arquivo texto, uma carta, um script, um programa de computador escrito pelo programador, arquivos de configurao do linux, etc. Extenso de arquivo: A extenso (aquelas 3 letras que aparecem aps o .) serve para identificar o tipo do arquivo. Por exemplo: arquivos cuja extenso .txt so arquivos do tipo texto, arquivos cuja extenso .log so registros de algum programa, arquivos cuja extenso .html so arquivos de hypertexto (pginas da Internet). Medidas para arquivos: para medir o tamanho de arquivos utilizada a seguinte nomenclatura provinda da matemtica: byte, Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte, Etabyte, Zettabyte e Yottabyte; porm, a diferena est que na matemtica aplicamos esta nomenclatura na base 10, enquanto que na informtica esta nomenclatura aplicado com a base 2 que a base binria. Diretrio: local onde ficam armazenados conjuntos de arquivos. Isto proporciona melhor organizao e localizao. Diretrio Home (Diretrio do usurio): Em sistemas Linux cada usurio possui seu prprio diretrio onde poder armazenar seus programas e arquivos pessoais. Normalmente fica localizado em /home/[conta], onde [conta] o nome do usurio. Dependendo da situao, este diretrio pode ser indicado por ~(til), podendo este ser utilizado normalmente para acesso ao diretrio. O diretrio do usurio root para a maioria das distribuies Linux fica localizado em /root. O Linux Case Sensitive, ou seja, diferencia letras maisculas de minsculas. Esta regra aplica-se tanto para nomes de arquivo e nomes de diretrio quanto para comandos do sistema. No podem existir dois arquivos com o mesmo nome em um diretrio, ou um sub-diretrio com um mesmo nome de um arquivo em um mesmo diretrio. Identificao de discos e parties em sistemas Linux Todos os dispositivos de hardware do linux ficam dentro do diretrio /dev , e so arquivos especiais (arquivos que se referem aos dispositivos conectados no seu sistema). Abaixo esta uma tabela na qual podemos comparar alguns de nossos conhecidos termos do DOS com arquivos do Linux.

10

Linux /dev/cua0 /dev/cua1 /dev/cua2 /dev/cua3 /dev/lpd /dev/hda /mnt/cdrom (ponto de montagem do CD)

Dos / Windows Com1 Com2 Com3 Com4 Lpt1 Drive c: Drive D:(CD-Rom)

/mnt/floppy (ponto de montagem do disquete) Drive A: /dev/mouse = (/dev/cua2) mouse

No GNU/Linux, os dispositivos existentes em seu computador (como discos rgidos, disquetes, tela, portas de impressora, modem, etc) so identificados por um arquivo referente a este dispositivo no diretrio /dev. A identificao de discos rgidos no GNU/Linux feita da seguinte forma: /dev/hda1 | | || | | ||_Nmero que identifica o nmero da partio no disco rgido. | || | | |_Letra que identifica o disco rgido (a=primeiro, b=segundo, etc...). | | | |_Sigla que identifica o tipo do disco rgido (hd=ide, sd=SCSI, xt=XT). | |_Diretrio onde so armazenados os dispositivos existentes no sistema. Abaixo algumas identificaes de discos e parties em sistemas Linux: /dev/fd0 - Primeira unidade de disquetes. /dev/fd1 - Segunda unidade de disquetes. /dev/hda - Primeiro disco rgido na primeira controladora IDE do micro (primary master). /dev/hda1 - Primeira partio do primeiro disco rgido IDE. /dev/hdb - Segundo disco rgido na primeira controladora IDE do micro (primary slave). /dev/hdb1 - Primeira partio do segundo disco rgido IDE. /dev/sda - Primeiro disco rgido na primeira controladora SCSI. /dev/sda1 - Primeira partio do primeiro disco rgido SCSI. /dev/sdb - Segundo disco rgido na primeira controladora SCSI. /dev/sdb1 - Primeira partio do segundo disco rgido SCSI. /dev/sr0 - Primeiro CD-ROM SCSI. /dev/sr1 - Segundo CD-ROM SCSI. /dev/xda - Primeiro disco rgido XT. /dev/xdb - Segundo disco rgido XT. As letras de identificao de discos rgidos podem ir alm de hdb, em meu micro, por exemplo, a unidade de CD-ROM est localizada em /dev/hdg (Primeiro disco - quarta controladora IDE). importante entender como os discos e parties so identificados no sistema, pois ser necessrio usar os parmetros corretos para monta-los. desmontagem para garantir que todos os dados ainda no gravados sero salvos. Customizar o gerenciador de boot O gerenciador de boot tem a funo de permitir a escolha do sistema operacional a ser carregado na mquina, no momento da inicializao, ou seja, do boot. O disco rgido poder conter vrios sistemas operacionais diferentes. Atravs do gerenciador de boot, podemos customizar qual ser carregado por padro, ou especificar um intervalo de tempo para que o usurio possa fazer sua escolha. Por questes de segurana, o gerenciador de boot poder implementar um senha de controle, para evitar que pessoas estranhas alterem essa configurao.

11

O gerenciador de boot tambm pode ser utilizado para recuperar algum sistema operacional que no seja iniciado por apresentar algum problema. Os gerenciadores de boot mais utilizados so: Grub; Lilo. GRUB (GRan Unified Bootloader) Sua configurao baseada em um arquivo de configurao chamado de menu.lst, ou interativamente no momento do boot. Aps sua alterao os valores j sero atualizados, dispensando a utilizao de algum comando para valid-las. Arquivo de configurao - /boot/grub/menu.lst Lilo Linux Loader O Lilo o gerenciador mais antigo do Linux. configurado atravs do arquivo /etc/lilo.conf. atualizado pelo comando lilo. Encerramento do sistema Quando o sistema iniciado vrios processos so executados dentro de uma hierarquia. Quando o sistema finalizado esse processos so encerrados dentro de uma hierarquia inversa. So encerrados os processos dos mais novos aos mais velhos. Comandos para o encerramento: shutdown init 0 ou halt init 6 ou reboot Comando shutdown Sintaxe: shutdown [-t sec] [opes] time [aviso] shutdown h now shutdown r +30 O sistema ser reiniciado Comando halt ou init 0 Sintaxe: halt [opes] Halt Por padro invoca o shutdown. halt f No invoca o shutdown. Encerra imediatamente. halt n No executa o sync. O comando sync atualiza as pendncias de memria. Filesystem Hierarchy Standard (FHS) A FHS foi o primeiro esforo de padronizao do Linux, visando padronizar a organizao de arquivos e diretrios. Cada diretrio do sistema tem seus respectivos arquivos que so armazenados conforme regras definidas pela FHS (FileSystem Hierarchy Standard - Hierarquia Padro do Sistema de Arquivos) verso 2.0, definindo que tipo de arquivo deve ser armazenado em cada diretrio. Para a hierarquia de diretrios, adotado o FHS verso 2.2. Atualmente, grande parte das distribuies Linux adotam o FHS no seu sistema de diretrios. Para saber mais: http://www.pathname.com/fhs.

12
Existem vrios tipos de Sistemas de Arquivos utilizados pelo Linux, seguem alguns: Ext2 O ext2 um sistema de arquivos de disco de alta performance usado nativamente pelo Linux para dispositivos de armazenamento, como discos rgidos e mdias removveis. O sistema de arquivos second extended Filesystem foi desenhado como uma extenso de extended Filesystem (ext). O ext2 oferece a melhor performance (em termos de velocidade e uso da CPU) entre todos os sistemas de arquivos suportados pelo Linux. Ext2 um sistema de arquivos muito rpido pelo fato de no possuir um journal, sendo assim os dados so gravados diretamente. Quando ocorre algum crash, o fsck acionado para a verificao do sistema, corrigindo eventuais perdas de dados. Ext3 O ext3 (que significa "extended file system verso 3") faz parte da nova gerao de sistemas de gesto de arquivos do Linux. A sua maior vantagem o suporte de journaling, que consiste em guardar informao sobre as transaes de escrita, permitindo uma recuperao rpida e confivel em caso de interrupo sbita (por exemplo, por falta de [Electricidade|eletricidade]]). Na maioria dos casos, comparado ao ext2, o uso deste sistema de arquivos melhora o desempenho do sistema de arquivos atravs da gravao seqencial dos dados na rea de metadados e acesso mhash da sua rvore de diretrios. A estrutura da partio ext3 semelhante da ext2, pelo que a migrao de um formato para o outro simples. A adio do journaling feita em um arquivo chamado .journal que fica oculto pelo cdigo ext3 na partio (desta forma ele no poder ser apagado, comprometendo o funcionamento do sistema). A estrutura idntica da partio ext3 com a ext2 torna mais fcil a manuteno do sistema, j que todas as ferramentas para recuperao ext2 funcionaro sem problemas, sendo mesmo possvel montar uma partio ext3 como se fosse ext2. Jfs O JFS um sistema de ficheiros desenvolvido pela IBM com o intuito de rodar nos "UNIXes" que a IBM vendia. Alm de possuir journal ele permite que as parties do sistema sejam redimensionadas sem que seja necessrio desligar o computador. Extremamente rpido e permite trabalhar com uma quantia de dados muito superior aos demais sistemas de arquivos. O sistema de arquivos JFS tambm usa a estrutura inode para armazenar a localizao dos blocos de cada arquivo nas estruturas fsicas do disco, a verso JFS2 armazena esses inodes em uma rvore binria para acelerar o acesso a essas informaes, esses blocos podem variar de 512 a 4096 bytes, a alocao dos inodes feita conforme vai sendo necessrio. Entretanto, inicialmente o JFS sofreu uma perda de credibilidade devido a constantes instabilidades e bugs, caso este que atualmente encontra-se resolvido e assim muito estvel. Reiserfs ReiserFS um sistema de arquivos que pode ser usado em um sistema Linux, como FAT usado no Windows. Criado por Hans Reiser e mantido pela empresa The Naming System Venture o ReiserFS um dos sistemas de arquivos com suporte a journaling mais rpidos na actualidade. So seus patrocinadores as empresas SuSE e Linspire. Este um sistema de arquivos alternativo ao ext2/3. Entre suas principais caractersticas, esto que ele possui tamanho de blocos variveis, suporte a arquivos maiores que 2 Gigabytes (esta uma das limitaes do EXT3) e o acesso mhash a rvore de diretrios um pouco mais rpida que o ext3. ReiserFS usa rvores balanceadas para tornar o processo de busca de arquivos, informaes sobre segurana e outros metadados mais eficientes. Para arquivos muito pequenos, seus dados podem ser armazenados prximos aos metadados, ento, ambos podem ser recuperados com um pequeno movimento do mecanismo da "cabea" de leitura do disco. Essa propriedade vai contribuir para um melhor desempenho caso uma aplicao necessite abrir muitos arquivos pequenos rapidamente.

13
Outra grande vantagem do ReiserFS a alocao dinmica de inodes, j que esse sistema de arquivos no os aloca em espaos fixos ou blocos e sim, aloca o tamanho exato que o arquivo precisa. Em sistemas baseados em inodes fixos, como o ext3, o espao no disco alocado em blocos que variam de 512 a 4096 bytes ou at maior, caso o arquivo exceda um mltiplo exato do tamanho do bloco. A leitura e escrita de arquivos grandes so limitadas pela velocidade do dispositivo de armazenamento e pelo canal de entrada e sada da controladora de discos. J o acesso a arquivos pequenos, como scripts do Shell, limitado pela eficincia do projeto do sistema de arquivos. A razo disso que a abertura de um arquivo requer a leitura dos metadados sobre ele que esto armazenados no inode do diretrio em uma rea distinta dos dados. Aps localizar a entrada referente ao arquivo no diretrio que o sistema realiza a leitura dos setores que contm os dados. Alm disso, o sistema precisa examinar os metadados relativos segurana para verificar se o usurio tem permisso de acesso ao arquivo, isso significa leituras adicionais. O sistema pode gastar mais tempo decidindo entre permitir o acesso e localizar as entradas de dados do que se as buscasse dentro do prprio arquivo. No caso de um desligamento incorreto do sistema, o ReiserFS capaz de recuperar a consistncia do sistema de arquivos em pouco tempo e a possibilidade de perda de pastas ou parties reduzida. Em compensao, os arquivos que eventualmente estiverem sendo gravados no exato momento em que acabou a energia ficaro com seus dados corrompidos, haver acesso aos arquivos normalmente, mas o contedo estar truncado ou incompleto. Uma desvantagem do ReiserFS o seu consumo de CPU muito elevado, ele utiliza no mnimo 7 por cento da CPU, chegando a usar at 99 por cento, quando a actividade de disco elevada. Xfs XFS um sistema de arquivos muito rpido na gravao. Foi desenvolvido originalmente pela Silicon Graphics e posteriormente disponibilizado o cdigo fonte. Considerado um dos melhores sistemas de arquivos para banco de dados. O XFS um sistema de arquivos com journaling de metadados que vem com um robusto conjunto de funes e otimizado para escalabilidade. Entretanto recomendado usar este sistema de arquivos em sistemas rodando Linux com equipamento SCSI de ponta e/ou armazenamento em canais de fibra e fonte de energia sem interrupo. Pelo fato de o XFS criar cachs agressivamente de dados em uso na memria RAM, programas mal desenhados (que no tomam precaues na hora de escrever os arquivos em disco, e existem muitos deles) podem perder uma grande quantidade de dados se o sistema for desligado sem aviso. Exemplo de um comparativo entre vrios tipos de sistemas de arquivos baseados em velocidade: http://linuxgazette.net/102/piszcz.html Gerenciamento de Pacotes Os gerenciadores de pacotes so programas que vieram para facilitar o trabalho do usurio na instalao de programas e aplicativos. So programas que empacotam o cdigo j compilado e basta instalar e usar. Uma outra facilidade a atualizao em um banco de dados relacionando o histrico de instalao e remoo de pacotes no sistema. Normalmente os empacotadores so voltados para algumas distribuies macro como: RPM (Red Hat Package Manager) utilizado pela Red Hat, Mandriva, SuSe e outros oriundos dessa distribuio. DEB (Debian) utilizado pela distribuio Debian, Knoppix, Kurumim e outras. DPKG (Debian Package) TGZ (Slackware) APT (Debian)

14
YUM (Fedora) URPMI (Mandriva, Mandrake) Tarefas relacionadas aos pacotes: Listar Remover Adicionar Atualizar Verificar o status Pesquisar vnculos entre arquivos e pacotes Pacotes APT-Get O apt-get um recurso desenvolvido originalmente para a distribuio Debian que permite a instalao e a atualizao de pacotes (programas, bibliotecas de funes, etc) no Linux de maneira fcil e precisa. Este artigo, dividido em duas partes, mostrar como utilizar seus principais recursos. Vale frisar que o apt-get deve ser utilizado atravs de um usurio com privilgios de administrador. O que apt-get Em qualquer sistema operacional h a necessidade de se instalar programas para que o uso do computador faa sentido. O problema que, muitas vezes, o processo de instalao trabalhoso, forando o usurio a procurar arquivos indispensveis ao software (dependncias) ou a editar scripts, por exemplo. Para poder lidar com esse e com problemas oriundos, desenvolvedores da distribuio Debian Linux criaram o APT (Advanced Packaging Tool), uma ferramenta para instalar e atualizar pacotes (e suas dependncias) de maneira rpida e prtica. No demorou para que o APT fosse utilizado em outras distribuies, sendo padro no Debian e no Ubuntu (j que este baseado no Debian). Como utilizar o apt-get Atualizando a lista de pacotes Quando o apt-get utilizado no Linux, o comando consulta um arquivo denominado sources.list, geralmente disponvel no diretrio /etc/apt/. Esse arquivo informa onde esto os locais (repositrios) nos quais ele obter os pacotes requisitados pelo usurio. Pelo arquivo /etc/apt/sources.list o APT sabe onde procurar os pacotes solicitados. O problema que ele precisa conhecer o que est instalado no sistema operacional para saber exatamente o que procurar. Se no tiver essas informaes, o APT no saber que um determinado pacote essencial a um programa no est instalado e no providenciar sua instalao, por exemplo. Para lidar com essa situao, o APT utiliza um banco de dados prprio e o compara aos repositrios registrados no sources.list para saber quando um pacote est atualizado ou quando h uma nova verso de um determinado aplicativo. Para fazer o APT executar essa tarefa, basta digitar em um terminal o seguinte comando: apt-get update Instalando pacotes Antes de instalar um programa, necessrio executar o comando mostrado no tpico anterior para o APT saber o que est e o que no est instalado no computador. por isso que esse comando foi explicado primeiro.

15
Depois de ter executado o apt-get update, basta digitar o seguinte comando para instalar os pacotes desejados: apt-get install nomedoprograma Por exemplo, suponha que voc queira instalar o cliente de e-mail Mozilla Thunderbird. Para isso, basta dar o comando: apt-get install mozilla-thunderbird Quando esse comando executado, o APT procura nos repositrios os pacotes correspondentes e os instala imediatamente aps baix-los. Caso o programa necessite de um outro pacote, o APT o procurar e perguntar se voc deseja instal-lo, no que voc dever responder com Y (sim) ou N (no), como mostra a situao abaixo: 0 packages upgraded, 6 newly installed, 0 to remove and 2 not upgraded. Need to get 6329kB of archives. After unpacking 14.1MB will be used. Do you want to continue? [Y/n] Removendo pacotes com o apt-get Se voc no quer mais utilizar um determinado programa, pode desinstal-lo atravs do comando apt-get. Para isso, basta digitar: apt-get remove nomedoprograma Por exemplo, suponha que voc queira desinstalar o Mozilla Thunderbird. O comando ficar ento da seguinte forma: apt-get remove mozilla-thunderbird importante destacar que o comando acima remove o programa, mas mantm os arquivos de configurao, caso estes existam. Para uma desinstalao total do programa, incluindo arquivos extras, deve-se usar o comando: apt-get --purge remove nomedoprograma Atualizando pacotes com o apt-get Verses novas de programas so lanadas periodicamente por conterem correes de segurana, disponibilizarem novos recursos ou por executarem de forma melhor. Com o comando apt-get possvel obter e instalar verses mais novas de pacotes. Para isso basta digitar o comando: apt-get -u upgrade O parmetro -u serve para o apt-get mostrar os pacotes que esto sendo atualizados, portanto, seu uso opcional. Um detalhe importante: na atualizao de pacotes, tambm importante executar antes o comando apt-get update. Descobrindo nomes de pacotes

16
Voc viu que necessrio conhecer o nome de um pacote para poder instal-lo. Em muitos casos, o nome segue a mesma denominao do aplicativo. Por exemplo, se voc quer instalar o programa para bate-papo XChat, basta digitar: apt-get install xchat Entretanto, nem sempre o nome do pacote trivial e muitas vezes no sabemos sequer o nome do programa, apenas estamos procura de um software que atenda a uma determinada necessidade. O que fazer ento? No APT pode-se usar o seguinte comando: apt-cache search termo Por exemplo, suponha que voc queira procurar jogos para o Linux. O comando a ser usado : apt-cache search games Pacotes RPM O sistema operacional Linux, at hoje, tem a fama de ter instalaes complicadas, o que, muitas vezes, no deixa de ser verdade. Na tentativa de resolver esses problemas de instalao, A empresa Red Hat criou uma tecnologia chamada RPM, que significa RedHat Package Manager (Gerenciador de Pacotes RedHat). O RPM um poderoso gerenciador de pacotes, que pode ser usado para criar, instalar, desinstalar, pesquisar, verificar e atualizar pacotes individuais de software. Um pacote consiste em armazenagem de arquivos e informaes, incluindo nome, verso e descrio. Veja a seguir, alguns comandos e suas respectivas funes, usadas nos pacotes RPM: rpm -ivh - Instalao de pacotes; rpm -Uvh - Atualizao de pacotes; rpm -qi - Informaes sobre o pacote; rpm -ql - Lista os arquivos do pacote; rpm -e - Desinstala o pacote; rpm -qa - Lista os pacotes instalados;

Utilizando o RPM O RPM tem 5 modos bsicos de operao, excluindo-se o modo de confeco de pacotes: instalao, desinstalao, atualizao, consulta e verificao. Voc pode obter mais informaes usando rpm --help ou man rpm. Vejamos cada modo: 1 - Instalao Pacotes RPM tm nomes de arquivos tais como foo-1.0-1/.i386.rpm, que incluem o nome do pacote (foo), verso (1.0), release (1) e plataforma (i386). A instalao de um pacote feita atravs de uma linha de comando, como por exemplo: $ rpm -ivh foo-1.0-1.i386.rpm foo ################################ Como se pode observar, o RPM apresenta o nome do pacote e apresenta uma sucesso de caracteres # atuando como uma rgua de progresso do processo de instalao. O processo de

17
instalao foi desenvolvido para ser o mais simples possvel, porm eventualmente alguns erros podem acorrer: - Pacotes j instalados Se o pacote j tiver sido instalado anteriormente ser apresentada a seguinte mensagem: $ rpm -ivh foo-1.0-1.i386.rpm foo package foo-1.0-1 is already installed error: foo-1.0-1.i386.rpm cannot be installed Caso se deseje ignorar o erro, pode-se usar o parmetro --replacefiles na linha de comando; - Dependncias no resolvidas Pacotes RPM podem depender da instalao de outros pacotes, o que significa que eles necessitam destes pacotes para poderem ser executados adequadamente. Caso deseje instalar um pacote que dependa de outro pacote no localizado, ser apresentada a seguinte mensagem: $ rpm -ivh bar-1.0-1.i386.rpm failed dependencies: foo is needed by bar-1.0-1 Para corrigir este erro, ser necessrio instalar o pacote solicitado. Caso deseje que a instalao ocorra de qualquer forma, pode-se utilizar o parmetro --nodeps na linha de comando. 2 - Desinstalao Para desinstalar um pacote utilize o comando: $ rpm -e foo Onde foo o nome do pacote. Pode ser encontrado um erro de dependncia durante o processo de desinstalao de um pacote ( outro pacote necessita de sua existncia para funcionar corretamente). Neste caso ser apresentada a seguinte mensagem: $ rpm -e foo removing these package would break dependencies: foo is needed by bar-1.0-1 Para ignorar a mensagem de erro e desinstalar o pacote deve ser utilizado o parmetro -nodeps na linha de comando. 3 - Atualizao Para atualizar um pacote utilize o comando: $ rpm -Uvh foo-2.0-1.i386.rpm foo ########################################

18
O RPM desinstalar qualquer verso anterior do pacote e far a nova instalao preservando as configuraes. Sugerimos utilizar sempre a opo -U, j que ela funciona perfeitamente, mesmo quando no h uma verso anterior do pacote. Uma vez que o RPM executa um processo de atualizao inteligente, apresentada uma mensagem do tipo: saving /etc/foo.conf as /etc/foo.conf.rpmsave O que significa que os arquivos de configurao existentes esto salvos, porm mudanas no software podem tornar este arquivo de configurao incompatvel com o pacote. Neste caso, as adequaes necessrias devem ser feitas pelo usurio. Como o processo de atualizao uma combinao dos processos de desinstalao e instalao, alguns erros podem ocorrer. Por exemplo, quando se quer atualizar um pacote com uma verso anterior verso corrente, ser apresentada a seguinte mensagem: # rpm -Uvh foo-1.0-1.i386.rpm foo package foo-2.0-1 (which is never) is already installed error: foo-1.0-1.i386.rpm cannot be installed Para forar uma atualizao de qualquer forma, deve-se usar o parmetro --oldpackage na linha de comando. 4 - Consulta A consulta base de dados de pacotes instalados feita atravs do comando rpm -q. Na sua utilizao, so apresentados o nome do pacote, verso e release. Por exemplo: $ rpm -q foo foo-2.0-1 Ao invs de especificar o nome do pacote, pode-se utilizar as seguintes opes aps o parmetro q : a - Consulta todos os pacotes instalados; f <file> - Consulta o pacote que contm o arquivo <file>; F - Funciona como o parmetro -f, exceto que funciona a partir do stdin (entrada padro), como por exemplo find /usr/bin | rpm -qF; p <arquivo do pacote> - Consulta o pacote originado pelo <arquivo do pacote>; P - Funciona como o parmetro -p, exceto que funciona a partir do stdin (entrada padro), como por exemplo find /mnt/cdrom/RedHat/RPMS | rpm -qP. H diversas formas de especificar que informaes devem ser apresentadas pelas consultas. As opes de seleo so: i - Apresenta as informaes do pacote, tais como nome, descrio, release, tamanho, data de criao, data de instalao e outras; l - Apresenta a lista de arquivos relacionados com o pacote; s - Apresenta o status dos arquivos do pacote. H dois estados possveis: normal ou missing (no localizado); d - Apresenta uma lista dos arquivos de documentao (pginas de manual, pginas info, README, etc.); c - Apresenta uma lista dos arquivos de configurao. Estes arquivos podem ser alterados aps a instalao para personalizao. Exemplos sendmail.cf, passwd, inittab, etc. 5 - Verificao

19
A verificao de um pacote provoca a comparao dos arquivos instalados de um pacote com as informaes localizadas nas bases de dados do RPM. Entre outras coisas a verificao compara o tamanho, MD5 sum, permisses, tipo, dono e grupo de cada arquivo. Para verificar um pacote deve-se utilizar o comando: rpm -V <nome do pacote Pode-se usar as mesmas opes disponveis no processo de consultas. Exemplos: Para verificar um pacote que contenha um arquivo em especial: rpm -Vf /bin/vi Para verificar todos os pacotes instalados: rpm -Va Para verificar um pacote instalado e o arquivo de pacote RPM: rpm -Vp foo-1.0-1.i386.rpm Esta funo pode ser til caso haja alguma suspeita de que a base de dados RPM esteja corrompida. Se no houver uma discrepncia no haver resposta do sistema, caso contrrio ser apresentada na forma de uma expresso com 8 caracteres, com um c significando arquivo de configurao e aps, o nome do arquivo. Cada um dos 8 caracteres significa um dos atributos do arquivo comparado aos atributos definidos no pacote RPM, onde um ponto significa que o atributo est Ok. Os atributos so: 5 - MD5 checksum S - Tamanho do arquivo L - Link simblico T - Modificao do arquivo D - Device U - Usurio G - Grupo M - Modo Se alguma informao for apresentada, necessrio avali-la e verificar se necessrio remover o pacote, reinstal-lo ou procurar resolver o problema, estudando outra forma.

Dpkg O dpkg um programa de computador do Sistema de Gerenciamento de Pacotes da distribuio Debian. Foi criado por Ian Jackson em 1993. O dpkg similar ao RPM, usado para instalar, remover e fornecer informaes sobre os pacotes .deb. O dpkg uma ferramenta em linguagem de baixo nvel; front end de alto nvel so exigidas para buscar pacotes em lugares remotos ou conflitos complexos nas dependncias dos pacotes. O Debian fornece do APT para este propsito. As ferramentas do dpkg

20
O Debian tem uma srie de ferramentas que tm que ser chamada para construir um pacote. So as seguintes: dpkg-source empacota e desempacota os arquivos-fontes de um pacote Debian. dpkg-deb empacota e desempacota pacotes binrios. dpkg-gencontrol l a informao de um pacote desempacotado da rvore-fonte do Debian e gera um pacote de controle binrio, e cria uma entrada para isto nos arquivos Debian. dpkg-shlibdeps calcula as dependncias ocorridas com respeito a bibliotecas. dpkg-genchanges l a informao de um pacote desempacotado da rvore-fonte do Debian gerando uma construo de controle de arquivos (.changes). dpkg-buildpackage um script de controle que pode ser usada para construir um pacote automaticamente. dpkg-distaddfile adiciona um arquivo nos arquivos Debian. dpkg-parsechangelog l os arquivos de mudanas (changelog) de um pacote desempacotado da rvore-fonte do Debian.

URPMI O urmpi original do Mandrake Linux e est incorporado no Mandriva Linux 2006. Ele traz muitos benefcios do apt-get, ou seja, trabalha com repositrios para instalao automtica dos pacotes com suas dependncias. Seus repositrios podem ser sites de ftp, http, rsync, nfs, volumes de armazenamento locais ou removveis como CDROM, PenDrive, etc. O arquivo que mantm os provedores de pacotes o Pode instalar as dependncias a partir de um meio fsico diferente do pacote principal. Instalao do urpmi Normalmente ele j vem instalado, mas poder ser utilizado o CDROM do produto e procurar pelo diretrio RPMS ou a partir de provedores de pacotes como http://www.rpmfind.net. Utilizao do urpmi Este comando pode ser utilizado pelas ferramentas grficas ou pela linha de comando. As ferramentas grficas so: rpmdrake Instalador de pacotes rpmdrake-remove Desinstalador de pacotes rrpmi.setup Faz a manuteno dos provedores de pacotes Alm dessas ferramentas grficas pode-se usar o Mandrake Control Center, a partir da estrelinha de inicializao para executar as mesmas atividades acima. O urpmi um comando muito fcil de ser utilizado. Basta colocar o nome do pacote para ser instalado, listado ou removido. um grande facilitador quanto a necessidade de dependncias, pois ele procura as dependncias de mesma verso. Os repositrios podem ser atualizados conforme eles vo sofrendo modificaes, ou ficando obsoletos. O urpmi permite que sejam selecionados os repositrios da nossa preferncias ou que fique tudo automtico. Comandos de linhas de comando: Atualizando o arquivo de configurao urpmi.cfg urmpi.addmedia MandrivaCD1 removable:///mnt/cdrom Remover provedores de pacotes obsoletos ou desnecessrios urpmi.removemedia MandrivaCD1 Atualizar a lista de repositrios urpmi.update MandrivaCD1 urpmi.update -a

21

Listar os repositrios (medias) cadastradas: urpmq --list-media Listar pacotes disponveis urpmq --list Listar os pacotes existentes no repositrio CDROM urpmq --list --media cdrom Listar pacotes disponveis urpmq list Listar as dependncias de um pacote urpmq d pacote urpmq less (lista este pacote) urpmq d less (lista tambm as dependncias) urpmq y wine (lista pelo radical da palavra) Instalar pacotes: urpmi pacote urpmi --media MandrivaCD1 samba urpmi --auto postfix (inclui as dependncias) urpmi less (instala o pacote less) Remover pacotes: urpme pacote urpme --auto samba-common (remove as dependncias automaticamente) YUM Yellow Dog Modifier Yum faz instalao, atualizao e remoo de pacotes automaticamente em sistemas rpm. Resolve dependncias automaticamente e informa das suas necessidades. Facilita dar manuteno de grupos de mquinas sem ter atualiza-las uma a uma. Caractersticas: Mltiplos repositrios Arquivo de configurao simples Corrige dependncias Operao rpida Baseado no comportamento do rpm Instalar o YUM Baixar o yum como root Wget http://www.fedorafaq.org/samples/yum.confRpm Uvh http://www.fedorafaq.org/yum Obs.: O YUM ser atualizado de tempos em tempos. Listar software disponveis: yum list available Instalar um software: yum install pacote Atualizar um software: yum upate pacote Atualizar todos os softwares: yum update Verificar atualizaes disponveis: yum check-update Pesquisando pacotes

22
yum search word Instalando interface grfica do YUM yum install yumex Obs.: Yum Extender dever ser acessado sob o menu System Tools no Red Hat Portage Portage um sistema de distribuio, configurao e atualizao de pacotes da distribuio GNU/Linux chamada Gentoo Linux. Este sistema contm uma "rvore" representando os pacotes de software e as suas dependncias. Ele operado atravs de uma srie de comandos que permitem ao usurio atualizar o Portage, atualizar os pacotes pr-instalados ou instalar novos pacotes, tudo isso pela Internet. Alguns Comandos emerge --sync Atualiza a "rvore" do Portage. emerge --update --world Atualiza todos os pacotes instalados pelo usurio. emerge --update --world --pretend Mostra quais pacotes sero atualizados. emerge kde Instala ou atualiza os pacotes relacionados ao KDE. TGZ O formato TGZ utilizado pela distribuio Slackware. A maior dificuldade no Slackware encontrar os mirrors para fazer atualizao e instalao de pacotes. Por isso o site www.linuxmafia.org deve ser companheiro de todo linux man em especial dos Slackers. Ferramentas do Slackware Essa distribuio tambm tem comandos especficos para instalar, remover, listar ou fazer tudo com um nico comando. Instalar pacotes: installpkg pacote.tgz Atualizar pacotes: upgradepkg pacote.tgz Remove um pacote removepkg pacote.tgz Ferramenta geral que engloba as anteriores pkgtool Atualizaes de verses de pacotes ftp://ftp.slackware.com/pub/slackware/slackware-current Patches de segurana e bugfixes ftp://ftp.slackware.com/pub/slackware/slackware-9.0/patches/packages Site com dicas do Slack www.linuxmafia.org O Slackware, como as outras disribuies, tambm tem o gerenciador de pacotes chamado de SLAPT-GET. Instalar o slapt-get installpkg slapt-get-xxx.tgz Customizar a lista de mirrors para que elas sejam ativadas vi /etc/slapt-get/mirror Para que os mirros sejam ativados deve-se tirar o comentario de agumas linhas do arquivo /etc/slapt-get/mirror Obs.: Deve ser evitado descomentar muitas linhas.

23
Atualizar os mirrors: slapt-get update Instalar um pacote: slapt-get install pacote.tgz Atualizar um pacote slapt-get --update squid Apagar um pacote slapt-get --delete squid Obs.: O slapt no instala as dependncias automaticamente. Hierarquia de diretrios A hierarquia de diretrios do Linux bastante parecida com a do Unix, mas com o tempo alteraes foram introduzidas, de modo a agilizar o trabalho e melhor organizar a infinidade de programas que tem sido desenvolvidas para o sistema. No Linux no existem drives, como drive A:, C: ou D:. Para serem acessados, os dispositivos devem ser montados em algum diretrio abaixo do diretrio raiz / do sistema. /Diretrio raiz ou root /: Todo o sistema fica abaixo dele; /bin: No diretrio /bin ficam os comandos mais fundamentais do Linux, necessrios para um ambiente mnimo. e manuteno bsica do sistema /boot: O diretrio /boot onde fica o arquivo com a imagem do Kernel, alm de outros arquivos e configuraes necessrios para o gerenciador de boot /dev: O diretrio /dev contm entradas para os dispositivos fsicos, presentes ou no no sistema; /etc: O diretrio /etc no guarda executveis, mas um dos diretrios mais importantes, pois todas as configuraes essenciais ao sistema esto neste diretrio; Encontramos nele tambm arquivos de configurao de aplicativos, arquivos que contm informaes sobre usurios (passwd e shadow), grupos (group e gshadow), entre outros; /home: Diretrio criado para conter os diretrios de trabalho dos usurios /lib: No diretrio /lib esto os mdulos do kernel e as bibliotecas dinmicas usadas por eles e pelos comandos essenciais ao sistema (contidos em /bin e /sbin). /mnt: Por conveno, usado em algumas distribuies como diretrio de ponto de montagem para cdrom, floppy e outros dispositivos. /opt: Diretrio onde so colocados programas opcionais como o OpenOffice /proc: Sistema de arquivos virtual, residente em memria. Contm uma cpia dos processos do kernel e do sistema, alm de informaes estatsticas sobre eles. Normalmente no se escreve em arquivos que esto dentro do diretrio /proc, pois isto pode corromper o sistema de arquivos e parar o sistema. /sbin: No diretrio /sbin, assim como no diretrio /bin, esto comandos fundamentais do Linux, necessrios para um ambiente mnimo, mas neste esto apenas comandos de uso do superusurio. /tmp: O diretrio /tmp usado por programas para escrever arquivos que sero utilizados rapidamente e deixados de lado (ou apagados) logo em seguida. Costume apagar seu contedo a todo reinicio do sistema. /usr: Hierarquia secundria de diretrios, sendo importantes: /usr/bin - aplicativos no-necessrios carga do sistema /usr/sbin - aplicativos do superusurio no necessrios carga do sistema /usr/src - fontes de programas /usr/src/linux - fontes do kernel /usr/lib - bibliotecas dinmicas para os programas de /usr/bin e /usr/sbin /var: armazena arquivos que so escritos e lidos com grande freqncia, que so constantemente atualizados como Log, e-mail, spool de Impresso, cache e etc, utilizados pelas aplicaes e pelo administrador para guardar informaes temporrias que devem ser mantidas se a mquina for reiniciada Abaixo do diretrio /usr est o maior volume de dados no sistema. Sua hierarquia constitui um dos diretrios mais importantes do linux, pois contm todos os binrios usados pelos usurios, sua documentao, suas bibliotecas, etc...

24
Alguns diretrios importantes: /usr/bin - contm a maioria dos binrios dentro do sistema /usr/sbin - binrios de administrao do sistema, no necessrios subida do sistema /usr/src - diretrio onde ficam os fontes dos programas, para serem compilados /usr/src/linux - contm os fontes do kernel do Linux /usr/lib - bibliotecas dinmicas Conceitos de usurios e grupos Para o Linux, um usurio um cadastro, ou seja, toda vez que o administrador cria um usurio novo no sistema, o Linux cadastra este usurio em um arquivo. Na verdade so vrios arquivos que sero detalhados logo mais, porm o que importante destacar agora que quando um usurio criado/cadastrado no sistema, ele j possui algumas informaes relacionadas, por exemplo: Todo usurio deve possuir um nome, uma senha, um cdigo de usurio conhecido como UID (User Identification), um cdigo de grupo conhecido como GID(Group Identification), um diretrio pessoal conhecido como diretrio home do usurio, onde ele possa armazenar e ler suas informaes e um Shell (Interpretador de Comandos). Mesmo que o Linux esteja instalado num computador pessoal, ou na computador de uma empresa, e s uma pessoa utilize este computador, ainda assim aconselhvel que se tenha um usurio comum para fazer as tarefas do dia a dia e utilizar o usurio administrador do sistema (root) somente para tarefas administrativas. Administrando usurios e grupos Para adicionar um usurio ao sistema, utiliza-se o comando useradd: # useradd usurio # useradd s /bin/bash teste (Adicionar usr teste , com shell /bin/bash) O comando passwd serve para definir ou alterar a senha de um usurio: # passwd teste New UNIX password: [nada ecoa] Retype new UNIX password: [nada ecoa] passwd: all authentication tokens updated successfully Para excluir um usurio, utiliza-se o comando userdel: # userdel usurio # userdel -r teste (Exclui usrurio teste, seu diretrio home e seus arquivos de email) Com o comando usermod pode-se alterar opes do usurio como alterar o shell padro do usurio para /bin/tcsh: # usermod -s /bin/tcsh teste Os comandos groupadd e groupdel servem, respectivamente, para adicionar e remover de grupos: # groupadd grupoteste # groupdel grupoteste Para gerenciar um grupo, pode-se utilizar o comando gpasswd. Sendo que o root definir o usurio administrador do grupo e os usurios membros do grupo: # gpasswd A teste grupoteste (define administrador do grupo) # gpasswd M teste2 grupoteste (define membro do grupo) $ gpasswd a teste3 grupoteste (admin grupo adiciona usurio ao grupo) $ gpasswd d teste3 grupoteste (admin grupo remove usurio do grupo) Arquivos de configurao

25
Ao criarmos um usurio, o comando adduser l informaes dos arquivos /etc/default/useradd e /etc/login.defs para criar suas definies de contas e escrever os arquivos /etc/passwd e /etc/shadow (arquivos de usurio), /etc/group e /etc/gpasswd (arquivos de grupo), e tambm copia o contedo do diretrio /etc/skel para o seu diretrio HOME. Arquivos que so gravados na incluso do usurio: /etc/passwd informaes de contas de usurios /etc/shadow informaes de senhas de usurios /etc/group informaes de grupos /etc/gshadow informaes de senhas de grupos Arquivos que so lidos na incluso do usurio: /etc/default/useradd informaes gerais /etc/login.defs definies de login /etc/skel arquivos de perfil do usurio Permisses e propriedades de arquivos A permisso de acesso ao sistema de arquivos no Linux serve para impedir ou liberar o acesso para um determinado arquivo ou diretrio. Alm disso, tambm possvel evitar que programas mal intencionados apaguem arquivos importantes ou mesmo que os utilizem indevidamente. A primeira coisa a saber sobre permisses de arquivos para qual tipo de arquivo se est atribuindo ou desatribuindo uma determinao permisso. No Linux pssvel visualizar a identificao dos arquivos utilizando a opo l do comando ls e reparando no primeiro caractere esquerda de cada linha da listagem exibida. A tabela abaixo descreve a identificao dos arquivos no Linux: Caractere d l c b p s Descrio Arquivo Regular Diretrio Soft Link Dispositivo de Caractere Dispositivo de Bloco Pipe Socket

Assim ao se digitar o comando ls l tem-se uma listagem parecida com o que se segue; repare no primeiro caractere da esquerda que identifica o tipo de arquivo apresentado: $ ls l drwxrwxrwx 1 root root 4096 Sep 23 07:42 Desktop -rwxrwxrwx 5 root root 1024 Dez 07 20:32 teste drwx------ 3 root root 4096 Sep 23 07:07 tmp Uma vez que j se consegue identificar o tipo de um determinado arquivo, pode-se ento partir para a identificao do dono do arquivo e para quais grupos este arquivo pertence. User-Group-Others Para compreender melhor o principio da segurana em sistemas de arquivos GNU/Linux preciso compreender que o acesso aos arquivos definido para o dono do arquivo, para o grupo a qual o arquivo pertence e para os demais usurios do sistema. Assim temos: Dono: quem criou o arquivo e somente o dono do arquivo pode modificar as suas permisses de acesso. Grupo: por padro o grupo a que pertence o dono do arquivo. Permite que os usurios do grupo em questo tenham acesso a um mesmo arquivo mesmo que este arquivo tenha outro dono.

26
Outros: so todos os usurios do sistema exceto o dono do arquivo e os que pertencem ao grupo deste arquivo. Ainda h pouco foi demonstrado que o primeiro caractere da coluna da esquerda o que indica o tipo do arquivo. J os outros nove caracteres indicam as permisses do arquivo. Existem trs grupos de permisses: Usurio, Grupo e Outros, e cada grupo destes tem trs permisses distintas: R (read): permisso de leitura; W (write): permisso de escrita ou gravao; X (execute): permisso de execuo Tomemos como exemplo o diretrio tmp mostrado a seguir: drwx------ 3 zeca tele 4096 Ago 15 13:48 Desktop -rw------- 1 zeca tele 270336 Jul 10 11:35 teste drwxrwxr-x 2 zeca tele 4096 Ago 18 10:44 tmp Os caracteres de 2 a 4 indicam que o usurio dono do arquivo (zeca) tem permisso de leitura, escrita e execuo neste diretrio. Os caracteres de 5 a 7 indicam que o grupo dono do arquivo (tele) tem permisso de leitura, escrita e execuo neste diretrio. Os caracteres de 8 a 10 indicam que todos os outros usurios do sistema tem permisso de leitura e execuo neste diretrio. Proprietrio do arquivo Como j foi dito anteriormente, todo arquivo possui um dono e um grupo, no entanto podem surgir situaes onde ser necessrio a substituio do dono e/ou do grupo desse arquivo. O comando chown serve para altera o dono e/ou grupo de um ou mais arquivos. Utiliza-se da seguinte forma: # chown [usurio][:grupo] <arquivo> # chown zeca:zeca agenda.txt # chown [usurio][.grupo] <arquivo> # chown zeca.zeca agenda.txt importante lembrar que apenas o usurio administrador do sistema (root) pode alterar o dono de um arquivo. J o grupo do arquivo pode ser alterado pelo seu dono, desde que este tambm faa parte do grupo para o qual se deseja mudar o arquivo. Alm do comando chown tambm existe o comando chgrp que serve para altera o grupo de um ou mais arquivos. Seu uso da seguinte forma: chgrp [grupo] <arquivo> # chgrp zeca tmp Permisses do arquivo possvel alterar as permisses de arquivos no Linux. Para isto deve-se utilizar o comando chmod. Sua utilizao muito simples: # chmod [permisses] arquivo As permisses, como visto anteriormente, podem ser de leitura(R), escrita(W) e execuo(X) e podem ser representadas nas formas octal e simblica, onde na representao octal as permisses so atribudas considerando a posio da permisso e na representao simblica as permisses so atribudas atravs de letras/simbolos. Representao octal: 4: representa a permisso de leitura 2: representa a permisso de gravao/escrita

27
1: representa a permisso de execuo Representao simblica: r: representa a permisso de leitura w: representa a permisso de gravao/escrita x: representa a permisso de execuo Assim, uma permisso rwxr-xr-x igual a 755, ou seja, r+w+x=7,r+x=5,r+x=5. Portanto, para atribuir a um arquivo ou diretrio a permisso acima, pode-se usar o comando: $ chmod 755 arquivo ou $ chmod u=rwx,g=rx,o=rx arquivo A representao simblica permite adicionar ou subtrair permisses enquanto que a representao octal s permite atribuir permisses. $ chmod go+rx arquivo soma-se a grupo e outros as permisses r e x. $ chmod u-w arquivi subtrai-se a permisso w do usurio. $ chmod 755 arquivo equivalente a chmod u=rwx,g=rx,o=rx Exemplos: Atribuir ao arquivo agenda.txt as permisses rw-r--r-$ chmod u=rw,g=r,o=r agenda.txt Adicionar a permisso de escrita para o grupo, no arquivo acima $ chmod g+w agenda.txt Remover a permisso de leitura dos outros usurios $ chmod o-r agenda.txt Permisses Padro Alm da possibilidade de trocar as permisses dos arquivos, o linux tambm trabalha com permisses padro, a user mask ou umask. Em resumo so trs nmeros que definem as permisses iniciais do dono, grupo e outros usurios que o arquivo/diretrio receber quando for criado ou copiado. Caso o arquivo a ser criado seja um arquivo binrio (um programa executvel) ou um diretrio, a umask ter efeitos diferentes. Por exemplo, se a umask for igual a 012 e um arquivo texto for criado, este receber as permisses rw-rw-r--. Se um arquivo binrio, utilizando a mesma umask, for criado, este receber as permisses -r-xr--r-x. A tabela abaixo ajuda a facilitar o entendimento:

Arquivos Umask 0 1 2 3 4 5 6 7 Binrio r-x r-r-w r---x ----x --Texto rwrwr-r--w-w----Diretrio rwx rwr-x r--wx -w--x ---

28

Deve-se escolher a umask com bastante ateno, pois uma escolha ruim poderia resultar em problemas de acesso a arquivos, diretrios ou programas no sendo executados, etc. Na maioria das distribuies, o valor padro da umask 022. Para se visualizar a mscara padro do sistema, digite o comando umask sem opes. Gerenciamento de Processos Desde o primeiro momento em que a mquina ligada os primeiros programas, ou processos, so executados. O processo significa uma atividade viva da mquina. Todo processo acompanhado de um nmero chamado de PID (Process ID). Atravs desse PID o processo pode ser administrado. Caractersticas dos processos: So hierarquizados; Recebem um nmero enquanto estiverem no ar; Pode ser gerenciado de qualquer terminal do mesmo sistema; Processos em foreground ocupam a sesso; Processos em background liberam a sesso; Tem prioridades de execuo; Tem estado de operao. Listar os processos: O comando ps usado para listar os processos. Sintaxe: ps [opes] Opes: -f Hierarquia de processos. -e Lista todos os processos da CPU. -u usurio Lista os processos do usurio. -l Lista longa incluindo prioridades. Por padro exibe as seguintes informaes: PID PPID TTY CPU CMD Nmero do processo. Nmero do processo pai. Terminal onde foi invocado. Tempo acumulado de execuo [dia]hh:mm:ss Nome do processo.

Listar Hierarquia de Processos Exemplo: ps f UID Joca Joca Joca Joa PID 5089 5092 5666 5069 PPID 5008 5089 5089 5089 CMD -bash sort arq find / ps -f

Listar Prioridades de Processos Exemplo: ps l UID Joca PID 5089 PPID 5008 PRI 75 NI 0 CMD -bash

29
Joca Joca Joca 5092 5666 5069 5089 5089 5089 81 78 75 0 0 0 sort arq o arq & find / > lista & ps f

Cada processo tem a sua prpria prioridade identificada pela varivel PRI. O usurio pode influenciar nessa prioridade atravs dos comandos nice e renice. O que, por sua vez, alterar o valor da varivel NI, que por sua vez alterar o valor de PRI. O valor de NI est no intervalo entre -20 e 19. O padro 0. Obs.: Quanto menor o nmero da prioridade, mais rpido ser atendido o processo. Encerrar processos Comando kill. O comando kill finaliza o processo a partir do PID. Sintaxe: kill [-s sinal] PID So 64 sinais de tratamento de processos. Os sinais podem ser tratados pelo nome ou pelo nmero. Ex.: kill -15 6584 Todos encerram o kill s 15 6584 processo e fecham kill s SIGTERM 6584 os arquivos envolvidos. Normalmente os sinais de interrupo podem ser tratados, e em alguns casos at ignorados, com exceo do sinal 9 SIGKILL. O SIGKILL no devolve um retorno para o processo pai o que pode provocar um estado de zombie onde processo fica sinalizado como defunct. Os dados de memria so perdidos. Ex.: kill -9 5889 kill s SIGKILL 5889 Comando killall. Este comando encerra processos pelo nome. Se houverem vrios PIDs vinculados a um nome de processo todos sero encerrados Killal Encerra todos os processos vinculados ao samba. killall samba ki Pergunta killall v samba Mostra quais processos foram encerrados killall 9 samba Idem ao primeiro porm sem salvar o contedo da memria. Utilizando a Unidade de Disquete Montar a unidade de Disquete #mount /dev/fd0 /mnt/floppy #mount t vfat /dev/fd0 /mnt/floppy (Partio Vfat para parties windows 95 que utilizam nomes extensos de arquivos e diretrios) #mount t etx2 /dev/fd0 /mnt/floppy (Etx2- Para parties GNU/Linux usando o Extendend file system verso 2 a mais comun ) #mount t etx3 /dev/fd0 /mnt/floppy (etx3 Parta parties GNU/Linux usando o Extendend file system verso 3, com suporte a journaling) Desmontar a Unidade de Disquete

30
#umount /dev/fd0 $mkfs -t ext2 -c /dev/fd0h1440 ( cria o sistema de arquivos) $fdformat /dev/fd0h144 (Formatar um disquete de 1.44 apenas formatar no quer dizer que pode usar o disco, dever criar o sistema de arquivos ) $mkbootdisk (cria um arquivo de boot em um disquete flexvel para o sistema atual). $mount /dev/fd0 /mnt/disk Isto far com que voc acesse o disquete que est no drive atualmente. Quando voc quiser retirar o disco geralmente deve-se 'desmont-lo' primeiro. Comandos de disco man : Exibe uma pgina do manual interno do Unix, para um dado comando ou ou recurso (isto , qualquer utilitrio do sistema que no seja comando, por exemplo, uma funo de biblioteca). como um "help interno ao sistema. Sintaxe : man <comando> onde "comando" e o nome do comando ou recurso que se deseja obter a ajuda. Para garantir a segurana do sistema, o sistema Unix requer o uso de uma senha. Se voc achar que algum utilizou sua conta sem permisso, mude sua senha imediatamente. Algumas dicas para a escolha da senha: Escolha uma senha que voc possa lembrar sem a necessidade de escrever. A sua password deve ter ao menos seis caracteres e deve conter pelo menos um nmero. No use seu prprio nome ou suas iniciais. No use nomes de animais ou objetos relacionados a seu interesse. Se voc tem mais de uma conta, no use a mesma senha para todas as contas. O comando "passwd" utilizado para modificar a senha pessoal. Estratgias de Backup/Restore Um ponto primordial a preservao das informaes nos meios de armazenamento. Nos dias atuais a utilizao de sistemas remotos que acessam discos se tornam cada vez mais necessrios, em virtude de segurana, utilizando sites backups. Os arquivos pode sem compactados e empacotados antes de serem enviados pela rede ou simplesmente para serem guardados. O compactador gzip. gzip Compacta o arquivo; Gera esteno .gz. gunzip zcat Descompacta o arquivo.gz. Exibe o contedo do arquivo compactado.

Exemplos: gzip v arq1 Ir produzir arq1.gz ; gzip -v arq2 Ir produzir arq2.gz; Aproximadamente 80% de compresso. cat arq1 arq2 | gzip v arq12.gz gzip cv arq1 arq2 > arq12.gz Melhor compresso O comando zcat Exibe o contedo do arquivo compactado. Exemplos: zcat arq1 Ir exibir o contedo de arq1.gz sem descompact-lo.

31
O comando gunzip Ir descompactar o arquivo gerado pelo gzip. gunzip arq1 Ir descompactar o arquivo arq1.gz; gunzip c arq12.gz Ir descompactar os membros do arquivo arq12.gz se houver erro em algum membro ir para o prximo. O comando bzip2 Compacta o arquivo; Gera esteno .bz2. bgunzip2 descompacta o arquivo.bz2. bzcat exibe o contedo do arquivo compactado. Exemplos: bgzip2 v arq1 Ir produzir arq1.gz ; bgzip2 -vvv arq2 Ir produzir arq2.gz e exibir mais detalhes. Aproximadamente 90% de compresso nos exemplos acima. Empacotar arquivos para sofrerem o backup. Empacotar arquivos, ou fazer backups. O comando tar tem sido muito utilizado no mundo para transferir arquivos, empacotando vrios em um arquivo comprimido. A partir do projeto GNU o tar recebeu algumas opes que o permite fazer compactao tanto do gzip quando do bzip2. Vamos conhecer algumas opes do comando tar. Comando tar. Sintaxe: tar [czxt] [v] [f dispositivo] arquivo_origem tar c Criar uma cpia. tar t Exibir o contedo copiado. tar x Restaurar a cpia. tar zc Gerar uma cpia compactada pelo gzip. tar jc Gerar uma cpia compactada pelo bzip2. tar f disp Indica o dispositivo de armazenamento. tar v Exibe a atividade conforme est sendo executada. Exemplos do comando tar. tar c vf arq.tar arq1 arq2 arq3 dir1 dir2 dir3 O tar recursivo, portando sero copiados os arquivos todo o contedo dos diretrios citados para o arquivo arq.tar. tar czvf arq.tgz arq1 arq2 arq3 dir1 dir2 dir3 O mesmo que o anterior porm a cpia j est compactando o contedo e o nome do arquivo arq.tgz traz a informao do tipo de compresso gzip . tar cjvf arq.tbz2 arq1 arq2 arq3 dir1 dir2 dir3 O mesmo que o anterior porm a cpia j est compactando o contedo e o nome do arquivo arq.bz2 traz a informao do tipo de compresso bzip2. tar tvf arq.tbz2 Para todos os execmplos acima poder ser utilizado o comando tar vf para exibir o contedo do do arquivo empacotado. tar xjvf arq.tbz2 Na restaurao dever ser indicada a opo adequada para descompactar. Neste caso, restaurar o arquivo gerado pelo bzip2.

32

tar xzvf arq.tgz Restaurar o arquivo gerado pelo gzip. df exibe o espao livre no disco rgido (para parties montadas)

df a exibe informaes de todos os sistemas de arquivos , iclusive oe que possuem zero blocos. free fsck mostra a quantidade de memria usada pelo sistema verifica o disco

Diretrios Cd (change directory) Usado sem argumento vai para o diretrio do usurio Sintaxe : cd < diretrio > onde (diretrio) o nome do diretrio para o qual voc deseja mudar. O smbolo "." refere-se ao diretrio corrente e o smbolo ".." refere-se ao "diretrio-pai". Para mover para um "diretriopai", ou seja, um diretrio acima do que voc est, use o comando : cd .. ( Note o espao entre "cd" e ".." ) Voc tambm pode usar nomes-de-caminho (pathnames) como argumento para o comando cd. Por exemplo : cd /planilha/textos o posicionar diretamente em textos". O uso de "cd" sem nenhum argumento far com que voc retorne para o seu "home-directory" . cd / vai para o diretrio raiz cd.. vai para o dietrio pai cd../.. vai pra o diretrio avo sobe dois nveis cd /home vai para o /home onde ficam todos os usurio comuns cd /root tentar ir para o root login permission denied acesso negado ls Exibe informaes sobre arquivos nomeados e diretrios, usado para visualizar o contedo de um diretrio. Sintaxe: ls (diretrio)[opes] Quando executado sem qualquer parmetro, mostra o contedo do diretrio corrente.Assim, a linha de comando: "ls" pode ser controlado por opes que comeam com um hfen (-). Tenha sempre o cuidado de deixar um espao antes do hfen. Uma opo bastante til -a (que vem do ingls 'all', tudo, arquivos ocultos), e ir mostrar detalhes que voc nunca imaginou sobre o seu diretrio. Ls [opes] 1 Fora a sada de coluna nica de listagens; -a Lista todos os arquivos, incluindo quaisquer arquivos - ponto; -C Fora sada de vrias colunas em listagens; -d Lista diretrio em vez de contedo; -F Indica o tipo de arquivo / = diretrio, * = executvel; -l Gera uma longa listagem de arquivos e diretrios;

33
-m Mostra os arquivos em uma lista separada por vrgulas; -r Reverte qualquer ordem de classificao de arquivo; -R Mostra, recursivamente, diretrios e seu contedo; -s Mostra o tamanho dos arquivos, em blocos (normalmente 1 bloco igual 1024 bytes); -t Classifica a sada na ordenao mais recentemente modificada;

du Determina o espao ocupado pelos arquivos ou diretrios, no informando o local, sero exibidas informaes do diretrio corrente. Sintaxe: du [opes ] [arquivo] Opes: du -s exibe apenas o espao ocupado pelo arquivo e ou diretrio du h exibe o tamanho da unidade mais adequada du m exibe o tamanho do arquivo ou diretrio em MB,KB ou bytes respectivamente pwd Exibe o diretrio corrente.

Este comando utilizado para exibir o seu diretrio corrente no sistema de arquivos. Mkdir Cria um novo diretrio.

Sintaxe :mkdir [opes ] [arquivo] mkdir planilha cria um diretrio chamado planilha mkdir textos cria um diretrio chamado textos mkdir apresentaes cria um diretrio chamado apresentaes Opes: $mkdir -p Com esta opo, mkdir cria o nome do diretrio atravs da criao de todos os diretrios-pai no existentes primeiro. Exemplo: mkdir -p planilha/textos/ apresentaes cria a estrutura de subdiretrios rmdir utilizado para apaga diretrios vazios.

Sintaxe: rmdir[p] [caminho] Ex. $rm r planilha rmdir planilha apaga um diretrio chamado planilha rmdir textos apaga um diretrio chamado textos rmdir apresentaes apaga um diretrio chamado apresentaes O comando "rmdir" se recusa a apagar um diretrio inexistente, exibindo a mensagem: No such file or directory Quando usar "rmdir", lembre-se que o seu diretrio de trabalho corrente no pode estar contido no(s) diretrio(s) a ser(em) apagado(s). Se voc tentar remover seu prprio diretrio corrente, ser exibida a seguinte mensagem: Operation not permited Se o diretrio o qual voc deseja remover no estiver vazio, utilize o comando "cd para acessar os arquivos dentro do diretrio, e ento remova estes arquivos utilizando o comando "rm". rm carta.doc - apaga carta.doc cp Copia arquivos pra um outro arquivo ou diretrio

34
Sintaxe:cp[opes ] [diretrio] cp carta1.doc carta2.doc cp carta1.doc carta2.doc/textos onde carta.doc ser copiado para o diretrio textos . O arquivo fonte e o destino no podem ter o mesmo nome. Se o arquivo-destino no existe, "cp" criar um arquivo com o nome especificado em diretrio textos . Se o arquivo-destino j existia antes e no for um diretrio, "cp" escrever o novo contedo por cima do antigo. Exemplo : $ cp -r textos textos1 Este comando copia todos os arquivos e subdiretrios dentro do diretrio temp para um novo diretrio temp1. Esta uma cpia recursiva, como designado pela opco -r. Se voc tentar copiar um diretrio sem utilizar esta opco, voc ver uma mensagem de erro. Ex: cp carta1.doc carta2.doc Carta1 o arquivo de entrada da operao de cpia, e o carta2 a sada produzida. Arquivo1 e arquivo2 devem ter nomes distintos; se tiverem o mesmo nome, ento ser emitida uma mensagem de diagnstico indicando que so identicos, e o arquivo no ser copiado sobre si mesmo. Se o arquivo2 j existia, seu contedo ser substitudo pelo contedo do arquivo1. Sintaxe: cp [-ipr] carta.doc textos Parmetros: -i - Pede confirmao para cada arquivo a ser copiado. -p - Mantm na cpia as datas de modificao e permisses do arquivo original. -r - Copia recursivamente arquivos e diretrios. Neste caso destino deve se referir a um diretrio. Exemplo: cp -r /leonardo/textos/apresentao mv Move arquivos para um outro arquivo ou diretrio

O comando "mv" utilizado para mover arquivo(s) para outro arquivo ou diretrio. Este comando faz o equivalente a uma cpia seguida pela deleo do arquivo original. Pode ser usado para renomear arquivos. Sintaxe:mv[opes]<origem><destino> mv carta.doc textos onde carta.doc ser o arquivo a ser movidos, e texto e o diretrio para onde os arquivos sero movidos. Se (destino) no for um diretrio, somente um arquivo dever ser especificado como fonte. Se for um diretrio, mais de um arquivo poder ser especificado. Se (destino) no existir, "mv" criar um arquivo com o nome especificado. Se (destino) existir e no for um diretrio, seu contedo ser apagado e o novo contedo ser escrito no lugar do antigo. Se (destino) for um diretrio, o(s) arquivo(s) ser(o) movido(s) para este diretrio. Os arquivos "fonte" e "destino" no precisam compartilhar o mesmo diretrio pai. Opes: -i Com esta opo, "mv" ir perguntar a voc se permitido escrever por cima do contedo de um arquivo destino existente. Uma resposta "y" (yes = sim) significa que a operao poder ser executada. Qualquer outra resposta impedir que "mv" escreva por cima do contedo de um arquivo j existente. Exemplo: $ pwd diretrio corrente /home/usurio1/temp ls teste mv teste ../temp1 ls ../temp1 Teste Neste exemplo, o diretrio teste foi movido de temp para temp1 com o comando "mv". rm Este comando utilizado para apagar arquivos.

35
importante lembrar que quando os arquivos so apagados, no sistema Linux, impossvel recuper-los. Sintaxe: rm carta.doc onde carta.doc ser o arquivos a serem apagados. Se um arquivo no possuir permisso de escrita e a sada-padro for um terminal, todo o conjunto de permisses do arquivo ser exibido, seguido por um ponto de interrogao. um pedido de confirmao. Se a resposta comear com "y" ("yes" = sim), o arquivo ser apagado, caso contrrio ele ser mantido no sistema. Quando voc apaga um arquivo com o comando "rm", voc est apagando somente um link (ligao ou entrada) para um arquivo. Um arquivo somente ser apagado verdadeiramente do sistema quando ele no possuir mais nenhuma ligao para ele, isto , nenhum link referenciando-o. Geralmente, arquivos possuem somente um link, portanto o uso do comando "rm" ir apagar o(s) arquivo(s). No entanto, se um arquivo possuir muitos links, o uso de "rm" ir apagar somente uma ligao; neste caso, para apagar o arquivo, necessrio que voc apague todos os links para este arquivo. Voc pode verificar o nmero de links que um arquivo possui utilizando o comando Opes: -f Remove todos os arquivos (mesmo se estiverem com proteo de escrita) em um diretrio sem pedir confirmao do usurio. -i Esta opo pedir uma confirmao do usurio antes de apagar o(s) arquivo(s) especificado(s). -r Opco recursiva para remover um diretrio e todo o seu contedo, incluindo quaisquer subdiretrios e seus arquivos. CUIDADO : diretrios e seus contedos removidos com o comando "rm -r" no podem ser recuperados. rmdir Remove diretorio vazio

[aluno01@localhost aluno01]$ rmdir empresa/escolar cat Concatena e imprime arquivos no dispositivo de sada padro

Usado assim sem argumentos, coloca o terminal em um modo de tela demonstrando: Standard input - teclas apertadas Standard output - so jogadas no video um echo das teclas apertadas Nota . No bash possvel fazer o redirecionamento de Standard input e Standard output, isto , pode-se enviar o texto digitado diretamente para um arquivo direcionando o teclado para o arquivo desejado, ou pode-se direcionar a sada no display o contedo de um arquvio. O redirecionamento feito usando os smbolos> e < que indicam se esta direcionando a entrada ou a sada. O redirecionamento pode ser utilizado em muitos comandos. Se o arquivo for inexistente ele ser criado. Se for um arquivo que j existe ele ser sobreescrito para sair do modo de edio cat > texto.txt Coloca o terminal em um modo em que os caracteres digitados sero enviados para o arquivo texto.txt Para sair do modo de edio teclar <crtl> D ou <crtl> C cat> carta.doc cat carta.doc opes cat carta.doc | more (mostra o contedo com pausa na tela) more : Exibe o contedo de arquivos nomeados, fazendo pausas a cada tela cheia. Ele exibe um arquivo, uma tela cheia de cada vez, fazendo normalmente uma pausa aps cada tela cheia, quando exibe "--More-- " na parte de baixo da tela. Ao teclar-se (Enter), more ir exibir uma linha a mais; ele exibe outra tela cheia ao teclar-se o caracter "espao". O caracter "b" faz com que "more" exiba a tela anterior. O caracter "q" provoca a parada de execuo do comando more.

36
Sintaxe: $more carta.doc onde carta.doc ser o arquivo a serem exibido. Pode-se procurar por uma palavra (ou uma cadeia de caracteres) em um arquivo. Para isso, pressione o caracter "/", digite a palavra (ou a cadeia de caracteres),e tecle (Enter). $Less carta.doc (mostra o contedo do arquivo carta.doc less ls al /bin | less grep Exibe o contedo do arquivo, idem ao more exibe o contedo do /bin em pausa a base da famlia de comandos grep(grep,egrep,fgrep).

um filtro que examina os arquivos de entrada em busca de padres. Quando um batimento encontrado, a linha que o contm gravada na sada padro, a menos que seja impedido por uma das opes. Mltiplos arquivos podem ser processados concorrentemente especificandose seus nomes na linha de comando, embora usulamente seja usado em um arquivo por vez. Ex: grep opes expresso arquivo(s) As opes so: * -c : produz contagem das linhas que contm o padro; * -i : instrui o grep a no lvar e conta a diferena entre letras maisculas e ninsculas. * -l : especifica que somente devem ser exibidos os nomes dos arquivos que contm o padro. til quando se processa grande quantidade de arquivos. * -n : ativa a numerao de linhas, na exibio das linhas que batem. * -s : causa a supresso das mensagens de erro quando so encontrados arquivos que no podem ser lidos ou quando no so encontrados os arquivos especificados. * -v : instrui o grep a imprimir na sada padro todas as linhas, exceto aquelas que no contm o padro. Se o usurio quiser ver sua entrada em um arquivo como o /etc/passwd, no necessrio listar o arquivo inteiro, ou edit-lo. O camando a seguir poderia ser usado para produzir a informao desejada: Ex: grep tsm /etc/passwd grep Procura um texto como parmetro em um ou mais arquivos, um programa de busca grep casa texto.txt Exibe as linhas de texto.txt que contenham a palavra casa ls la | grep t* Exibe todos os arquivos que comeam com t O comando "grep" exibe todas as linhas, dos arquivos nomeados, que so iguais ao padro especificado. Exemplo $grep trabalho /trabalho/unix/grep.html mostrar todas as linhas no arquivo /trabalho/unix/grep.html que contm o padro "trabalho". Comandos diversos Alt+F1 Alt+F6 Muda sees, alterna entre os consoles disponveis para voc trabalhar clear tree -a limpa a tela arvore de diretrios

Arch Mostra a arquitetura da mquina, que tipo de processador, verso do S.O etc. Badblocks Busca por trilhas ruins no disco Exit ou logout Sai da sesso atual e retorna a tela de login touch carta.doc carta.doc (cria arquivo em branco) arch mostra a arquitetura de mquina , que tipo de processador, verso S.O fornecido halt Desliga a maquina startx entra no ambiente grfico

37
Copy * > total Copia todos os arquivos existentes para novo arquivo c hamado total, exemplos de redirecionamento de resultados de comandos. Free Mostra informaes de memria (swap inclusive). Setterm Este comando serve para modificar configuraes do terminal do Linux, tais como cor de fundo e cor da letra. Ex: setterm -background green --> Fundo Verde setterm -foreground yellow --> Letra "amarela". O amarela est entre aspas devido ao fato de que a cor no parece ser amarelo no. OBS: Este comando mudar a cor a partir do momento em que ele for dado, ou seja, voc precisa imprimir algo na tela ou dar um clear para realmente mudar a cor. Localizar Arquivos find - Este comando uma maneira fcil e poderosa de localizar objetos no sistema de arquivos do UNIX. O comando find tem muitas opes. Ex: find / -name Systems -print Esse exemplo instrui o comando find para comear a busca na raiz do sistema de arquivos ( / ), localizar todas as ocorrncias de arquivos chamados Systems ( - name Systems), e exibir os resultados na sada padro ( -print ). Ex: find /usr/tsm -name Sis* -print Este outro exemplo, procura a partir do diretrio /usr/tsm todos os arquivos que tenham comeo com Sys. Sintaxe - find -name <arquivo> find -name teste.tar find . -name carta.doc localizar arquivo, busca por um arquivo igual ao nome locate - Localiza os arquivos ou diretrios que coincidem com o critrio de busca locate textolongo.txt Pesquisar dentro dos arquivos Sintaxe grep <palavra> <arquivo> file : Exibe o tipo de um arquivo. Alguns arquivos, tais como arquivos binrios e executveis, no podem ser visualizados na tela. O comando "file" pode ser til se voc no tem certeza sobre o tipo do arquivo. O uso do comando permitir a visualizao do tipo do arquivo. Exemplo : file copyfile copyfile: ascii text date Exibe a data configurada no sistema

O comando "date",a nvel de usurio, exibe na tela a data configurada no sistema. Ele pode se usado com opes mostram a data local ou data universal GMT - Greenwich Mean Time. A configurao dos dados deste comando s podem se realizadas pelo super-usurio. Para exibir a data local, basta executar "date". Caso queira a data GMT utilize a opo date -u Veja: %date

38
Wed Jan 8 12:05:57 EDT 1997 Aqui a data exibida em 6 campos que representam o dia da semana abreviado, o ms do ano abreviado, o dia do ms, a hora disposta em horas/minutos/segundos, a zona horria e o Exibir Calendrio cal mostra um calendrio do ms atual cal -j cal -y cal 4 1965 $time mostra a data e hora

Alterar Data e Hora do Sistema Sintaxe - date [MMDDhhmm [CC]YY] [.ss] MM - ms de 01 a 12 DD - dia de 01 a 31 hh - hora de 00 a 24 mm - minuto de 00 a 59 CC - dois primeiros dgitos do ano (sculo) YY - anos do sculo de 00 a 99 .ss - segundos de 00 a 59 Ajustando para 01/12 14h [aluno01@localhost aluno01]$ date 12011400 Ajustando para 26/04/1965 17h 30min 58 [root@localhost aluno01]# date 042617301965.58 mail - Esse comando permite ver os mails recebidos. Ex: mail [nome do usurio] Subject (assunto), finalize a mensagem com (.) final no inicio de uma linha em branco e tecle <enter> Efetue logout Acesse a conta & (digite o numero da mensagem) enter cc(com copia) quit (encerrar) Comandos basicos do editor vi. O editor de texto preferido de 9 entre cada 10 A sintaxe para executar o vi a seguinte: $ vi nome_do_arquivo Uma vez carregado o vi, veja abaixo uma lista Observacao: Para passar para o modo usuarios dos UNIX o vi.

principais pressione

comandos: ESC.

comando

Comandos basicos de insercao de texto: i Insere texto antes do cursor a Insere texto depois do cursor r Insere texto no incio da linha onde se encontra o cursor A Insere texto no final da linha onde se encontra o cursor o Adiciona linha abaixo da linha atual O Adiciona linha acima da linha atual

39
Ctrl + h Apaga o ultimo caracter Comandos basicos de movimentacao: Ctrl+f Move o cursor para a proxima tela Ctrl+b Move o cursor para a tela anterior H Move o cursor para a primeira linha da tela M Move o cursor para o meio da tela L Move o cursor para a ultima linha da tela h Move o cursor um caracter a esquerda j Move o cursor para a proxima linha k Move o cursor para linha anterior l Move o cursor um caracter a direita w Move o cursor para o inicio da proxima palavra (Ignora a pontuacao) W Move o cursor para o inicio da proxima palavra (Nao ignora a pontuacao) b Move o cursor para o inicio da palavra anterior (Ignora a pontuacao) B Move o cursor para o inicio da palavra anterior (Nao ignora a pontuacao 0 Move o cursor para o inicio da linha atual ^ Move o cursor para o primeiro caracter nao branco da linha atual $ Move o cursor para o final da linha atual nG Move o cursor para a linha n G Move o cursor para a ultima linha do arquivo Comandos basicos para localizar texto: /palavra Busca pela palavra ou caracter em todo o texto ?palavra Move o cursor para a ocorrencia anterior da palavra n Repete o ultimo comando / ou ? N Repete o ultimo comando / ou ? , na direcao reversa Ctrl+g Mostra o nome do arquivo, o numero da linha corrente e o total de linhas Comandos basicos para alteracao de texto: x Deleta o caracter que esta sob o cursor dw Deleta a palavra, da posicao atual do cursor ate o final dd Deleta a linha atual D Deleta a linha a partir da posicao atual do cursor ate o final Substitui o caracter sob o cursor pelo especificado em x( rx opcional indicar o caracter) Rx Substitui a palavra sob o cursor pela palavra indicada em x u Desfaz a ultima modificacao U Desfaz todas as modificacoes feitas na linha atual J Une a linha corrente a proxima s:/palavra1/palavra2 Substitui a primeira ocorrencia de "palavra1" por "palavra2" Comandos para salvar o texto: :wq Salva o arquivo e sai do editor :w nome_do_arquivo Salva o arquivo corrente com o nome especificado :w! nome_do_arquivo Salva o arquivo corrente no arquivo especificado :q Sai do editor :q! Sai do editor sem salvar as alteracoes realizadas

40

GSOIII Exerccio 1 Nome :_________________________N ____________data: __ Turma ____ Nome :___________________N ____________data: ________ Turma ____ 1. Que sistema operacional? ____________________________________________________________________________ __________________________________________________ 2. Que Linux? ____________________________________________________________________________ __________________________________________________ 3. Defina o Kernel. Qual a sua funo? _______________________________________________________________ _______________________________________________________________ 4. Quem foi o criador do Linux? ____________________________________________________________________________ __________________________________________________ 5. Cite pelo menos trs pessoas que contribuem ou contriburam ativamente para o Linux e o Software Livre. ____________________________________________________________________________ __________________________________________________ _______________________________________________________________ 6. Sob qual licena o Linux distribudo, e quais so suas premissas bsicas? ____________________________________________________________________________ __________________________________________________ 7) Marque os comandos usados para listar os pacotes disponveis. (Escolha trs). [ ] rpm ivh [ ] urpmq --list [ ] dpkg l [ ] rpm qa 8)Indique quatro grenciadores de pacotes. . ( ) urpmi. ( ) rpm ( ) apt-get ( ) installpkg ( ) yum ( ) yoda. 9)Faa o relacionamento entre as colunas: (1) hda ( ) segundo disco scsi; (2) hdb ( ) IDE primria (mster); (3) hdc ( ) primeiro disco scsi; (4) sda ( ) IDE primria (slave); (5) sdb ( ) IDE secundria (mster); 10)Que comando utilizado para criar parties fsicas no disco? ( ) fsck; ( ) mount ( ) fdisk ( ) tune2fs

GSOIII Exerccio 2 Nome :_________________________N ____________data: __ Turma ____ Nome :_________________________N ____________data: ________ Turma ____ 01)Qual o tamanho mximo do nome de um arquivo no Linux? A( ) 32 caracteres

41
B( ) 256 caracteres C( ) 128 caracteres D( ) 255 caracteres 02..Marque com um x nas opes abaixo que representam um tipo de sistema de arquivos: A( ) jfs B( ) bashFS C( ) ext3 D( ) suselinux 03. Onde deveriam estar armazenadas as informaes de usurios no Mandriva Linux? A( ) /home B( ) /user C( ) / D( ) /root 04.Que tipo de informaes existem no diretrio /etc/? A( ) rea de trabalho do sistema. B( ) Arquivos de configurao do sistema e pode ser manipulado por usurios do grupo aluno. C( ) Arquivos de configurao do sistema. D( ) Localizao dos dispositivos do sistema e s pode ser manipulado pelo administrador. 05.Os sistemas de arquivos podem ser armazenados em parties diferentes no mesmo disco rgido? A( ) Sim B( ) No 06.A verso do kernel do Linux composta por trs partes. Faa o casamento das duas colunas baseado no exemplo 2.6.17: ( ( ) for mpar indica verso em desenvolvimento. 2 Se for par indica verso estvel. ( ) Associado a correo de bugs. 6 ( ) Associado arquitetura do sistema. 17 07.Quais so as funes do kernel? [ ] Gerenciamento de usurios; [ ] Gerenciamento de memria; [ ] Suporte rede; [ ] Gerenciamento das filas de impresso; [ ] Chamada aos servios de servidores; [ ] Chamada interna ao sistema syscalls. 08.Qual o arquivo de configurao do grub? ( ) /etc/grub.conf ( ) /etc/menu.lst ( ) /boot/grub/menu.lst ( ) /etc/grub/grub.conf 09. possvel colocar uma requisio de senha atravs do gerenciador de boot? ( ) sim ( ) no 10.Qual a funo do comando lilo? ( ) efetivar as alteraes feitas no seu arquivo de configurao; ( ) carregar os mdulos do lilo; ( ) o lilo no pode ser executado em multi-usurio; ( ) alterar a senha do gerenciador de boot. 11.Que comando deve ser executado aps o trmino da configurao do arquivo do grub? ( ) nenhum

42
( ) grub ( ) service grub ( ) n.d.a.

43
GSOIII Exerccio 3 Nome :____________________N ____________data: ________ Turma ____ Nome :____________________N ____________data: ________ Turma ____ 1) Criar a seguinte arvore no diretrio /home/aluno com o comando mkdir \home aluno editores vi joe jed jstar apresentacao planilhas amb_grafico programacao php 2) O que faz cada um dos seguintes comandos? a)ls *.??? b)ls l | more c) ls l | less 3)Utilize o comando ls al, verifique o contedo da tela listado e explique o que significa? d rwx - rwx 4)Identifique as informaes mostradas na tela ? 5) Qual a diferena entre utilizar o comando ls-l e ls-al? 06)utilze os seguintes comandos e descreva? a)date b)cal c)cal j d)cal y 7)Baseado nas permisses abaixo, sendo o usurio aluno membro do grupo aluno, informe a alternativa correta: - -wx rw- rwx 1 aluno aluno 191 Fev 8 10:00 arq_profile A( ) O usurio aluno poder ler e gravar. B( ) O usurio aluno herda as permisses do grupo. C( ) Tanto faz pois ele dono do arquivo. D( ) O usurio aluno poder gravar e executar. 8)Exemplifique como deveria ser o comando chmod para que as permisses do arquivo teste ficassem com - r-x rw- -w-. 9)Os valores octais 724 representam que permisses? A( ) rwx rwx r-x B( ) r-x w- r- C( ) rwx w- r- D( ) rwx -w- x- -

gnome kde linguagem C

44

10) Executando alguns programas : xmms k3b kaffeine aumix kmix konqueror ksnapshot amarok gimp 11) Verificando processos com o ps O ps um comando de extrema importncia para o gerenciamento de processos. Por ele, possvel saber quais os processos em execuo atualmente, quais os UIDs e PIDs correspondentes, entre outros. Se somente ps for digitado na linha de comando, geralmente o sistema mostra quais os processos do usurio. preciso usar uma combinao de opes para obter mais detalhes. As opes mais importantes so os seguintes: a - mostra todos os processos existentes; e - exibe as variveis de ambiente relacionadas aos processos; f - exibe a rvore de execuo dos processos; l - exibe mais campos no resultado; m - mostra a quantidade de memria ocupada por cada processo; u - exibe o nome do usurio que iniciou determinado processo e a hora em que isso ocorreu; x - exibe os processos que no esto associados a terminais; w - se o resultado de processo no couber em uma linha, essa opo faz com que o restante seja exibido na linha seguinte. Das opes acima, a combinao mais usada aux: Visualizando os processos da mquina: # ps aux | more Onde: ps: comando a : todos os processos de kernel u: de todos os usurios x: de todos os terminais | more : mostrar paginando ps aux Como exemplo, o resultado obtido com esse comando foi o seguinte:

45

Note que usando a combinao lax, o resultado mostra mais detalhes: ps lax A seguir, segue a descrio dos campos mostrados anteriormente e alguns que s so mostrados com a combinao lax: Vamos entender agora o que cada coluna nos mostra:

Outra opo interessante a visualizao dos processos em forma de rvore: #ps axf | more ou

46
#pstree Para podermos acompanhar os processos em tempo real, podemos usar o comando top, j que o ps s nos mostra o status dos processos que esto no ar no momento do comando. pstree: esse comando mostra processos relacionados em formato de rvore. Sua sintaxe : pstree -opo PID Entre as opes, tem-se: -u - mostra o proprietrio do processo; -p - exibe o PID aps o nome do processo; -c - mostra a relao de processos ativos; -G - usa determinados caracteres para exibir o resultado em um formato grfico. Um detalhe importante: se ao digitar o comando pstree o PID no for informado, todos os processos sero listados. #pstree -G

11) Verificando os processos sendo executados no em segundo plano - jobs Para colocar um processo em segundo plano pressione CTRL+Z enquanto o processo estiver sendo executado. Exemplo: - Entre com o comando: yes > /dev/null - Pressione CTRL+Z - Observe a mensagem: [1]+ Stopped yes > /dev/null OBS: O comando yes gera repetidamente a string "y" como sada. Estamos redirecionando sua sada para /dev/null (um dispositivo especial do linux) para que no seja impresso nada na tela. Se voc esquecer do sinal > pressione CTRL+C para fechar o processo. Use o comando # jobs

47

jobs -opo As opes disponveis so: -l - lista os processos atravs do PID; -r - lista apenas os processos em execuo; -s - lista apenas os processos parados. Se na linha de um processo aparecer o sinal positivo (+), significa que este o processo mais recente a ser paralisado ou a estar em segundo plano. Se o sinal for negativo (-), o processo foi o penltimo. Note tambm que no incio da linha um nmero mostrado entre colchetes. Muitos confundem esse valor com o PID do processo, mas, na verdade, trata-se do nmero de ordem usado pelo jobs. Para ver o processo em segundo plano agora. Repare que ele est parado (Stopped). Para coloc-lo em execuo no segundo plano use o comando # bg se o processo est em background verificar a existncia do caractere & no final da linha. Se o processo estiver parado, geralmente a palavra "stopped" aparece na linha, do contrrio, a palavra "running" exibida. Esperimente as variaes do jobs novamente: # jobs -l Controlando jobs fg e bg: o fg um comando que permite a um processo em segundo plano (ou parado) passar para o primeiro (foreground), enquanto que o bg passa um processo do primeiro plano para o segundo. Para usar o bg, deve-se paralisar o processo. Isso pode ser feito pressionando-se as teclas Ctrl + Z no teclado. Em seguida, digita-se o comando da seguinte forma: bg yes O nmero mencionado corresponde ao valor de ordem informado no incio da linha quando o comando jobs usado. Quanto ao comando fg, a sintaxe a mesma: fg yes bg/fg - Alterna os processos entre primeiro e segundo plano. Para colocar um processo em segundo plano use # bg <PID>" # bg %<JOB>". Exemplo: Supondo que a sada do comando: # ps PID TTY TIME CMD 100 pts/0 00:00:00 bash 105 pts/0 00:00:00 yes 120 pts/0 00:00:00 ps E do comando jobs seja:

48

[1]+ Stopped yes > /dev/null Voc pode colocar o processo em segundo plano usando o comando # bg 105" (usando o PID) ou # bg %1" (usando o nmero do Job). Para colocar o processo em primeiro plano novamente use # fg <PID>" ou # fg %<JOB>". Para coloc-lo novamente em segundo plano use CTRL+Z. Experimente executar o editor "vi" e coloc-lo em segundo plano. Para voltar para o editor digite #fg %<NR. DE JOB DO VI>". Exemplo: - Execute "vi" - Pressione CTRL+Z (Aparece a mensagem: [[1]+ Stopped vi) - Execute algum outro comando (por exempllo: ls) - Retorne para o vi com o comando: fg %1 - Para fechar o editor "vi", digite ":q!"" e pressione ENTER. OBS: Este procedimento muito til quando se est usando algum programa interativo e preciso executar alguma outra operao no shell. & - possvel iniciar um processo diretamente em segundo plano acrescentando-se um & ao final da linha de comando. Exemplo: yes > /dev/null & OBS: Se voc esquecer de usar "> /dev/null" o processo estar em segundo plano, mas imprimindo dados para a tela. No ser possvel interromp-lo com CTRL+C. Para fazer isto voc deve primeiro colocar o processo em primeiro plano . Digite "fg <ENTER>", mesmo sem ver o que est digitando e depois pressione CTRL+C. 12) Verificando processos com o top O comando ps trabalha como se tirasse uma fotografia da situao dos processos naquele momento. O comando top, por sua vez, coleta as informaes, mas as atualiza regularmente. Geralmente essa atualizao ocorre a cada 10 segundos. A sintaxe do comando top a seguinte: top -opo Entre as opes, tem-se as que se seguem: # top -d 30 -d - atualiza o top aps um determinado perodo de tempo (em segundos). Para isso, informe a quantidade de segundos aps a letra d. -c - exibe a linha de comando ao invs do nome do processo; -i - faz o top ignorar processos em estado zumbi; -s - executa o top em modo seguro. possvel manipular alguns recursos do comando top atravs das teclas do teclado. Por exemplo, para atualizar imediatamente o resultado exibido, basta pressionar a tecla de espao. Se pressionar a tecla q, o top finalizado. Pressione a tecla h enquanto estiver utilizando o top para ver a lista completa de opes e teclas de atalho.

49

Terminando processos -------------------Listando processos na Interface grfica ksysguard ou crtl+esc 13) Interrompendo um processo com o KILL

Uso: "kill <PID>" ou "kill %<JOB>" Exemplos: kill 105 ou kill %1 Normalmente o comando kill envia um aviso ao processo (sinal TERM) para que este tenha tempo de fechar seus arquivos e terminar normalmente suas operaes. Para forar o trmino imediato de um processo (podendo resultar em perdas de informaes, etc) use "kill -s KILL <PID>". Para interromper o processo sendo executado no momento pressione CTRL+C. OBS: Somente o usurio "root" pode fechar os processos de outros usurios. killall - Termina um processo atravs do nome. Exemplo: killall yes - Termina TODOS os processos com o comando "yes". /proc - O diretrio "/proc" possui informaes sobre processos em execuo.

50

Na verdade ele no foi projetado para ser usado por um usurio e sim por outros programas que fazem uso destas informaes (o programa "ps" consulta os dados de /proc para exibir informaes dos processos). Cada diretrio em /proc representado por nmeros corresponde a um PID de processo. H outras informaes no diretrio /proc referentes hardware, rede e sistemas de arquivos tambm. Repare no entanto, que "/proc" no um diretrio real. Seus arquivos no esto armazenados em disco algum. Ele apenas uma representao de informaes do kernel usada por outros programas.

51
GSOIII Exerccio 4 1)Controlando prioridades ----------------------nice - possvel executar comandos com prioridade diferenciadas. Por exemplo: Se voc precisa ordenar um arquivo ou compilar um programa muito grande e esta operao ser demorada, voc pode reduzir o impacto na execuo associando prioridades mais baixas a este processo. Basta executar o processo com o comando nice: # ps l nice yes > /dev/null & A prioridade padro 10 (quanto maior o nmero, mais baixa a prioridade). Voc pode alter-la com: nice -n 5 yes > /dev/null & OBS: Somente o root pode atribuir prioridades negativas (altas) a um processo. renice - Altera a prioridade de um processo em execuo. Exemplo: renice 7 177 - Altera para 7 a prioridade do processo de PID 177. OBS: Somente o usurio root pode dar mais prioridade para um processo. Os usurios normais s podem reduzir a prioridade. (Lembre-se que na verdade, quando maior o valor de nice, menor a prioridade.) Planos de Execuo Trabalhar com nveis de plano de execuo, pode nos ajudar por exemplo em casos que queremos executar uma aplicao e mantermos ainda o terminal livre, para continuar trabalhando no mesmo. BACKGROUND - processo em segundo plano FOREGROUND - processo em primeiro plano & - inicia o processo em background bg - coloca um processo j iniciado em background fg - coloca um processo em foreground jobs - lista processos em background ctrl+z - para um processo que est em foreground Exemplos: # updatedb & (inicia o updatedb em modo background, deixando o terminal livre)

#jobs -l (visualizando os processos em background do terminal)

52
# fg (o comando fg mais o PID do processo , coloca o processo em foreground)

#bg (o comando bg mais o PID do processo, coloca o processo em backgound)

Prioridade de Processos A escala a baixo representa os valores de prioridade que um processo pode ter:

A coluna "NI" apresenta os valores de cada processo.

Os comandos para manipular os valores de cada processo so: o nice e o renice. O nice usado apenas para declarar a prioridade de um processo quando o mesmo for iniciado, e o renice o comando utilizado para trocar a prioridade de um processo j iniciado. Comandos nice e renice Ao abordarmos os comandos nice e renice necessrio entender o conceito de gentileza. Um processo pode ter prioridade em relao a outros em sua execuo. Quando um processo gentil, significa que ele "oferece a gentileza" de permitir que um processo com prioridade maior que a sua seja executado antes dele. Os nveis de gentileza, tambm chamados de nice, so determinados atravs de nmeros. Quanto mais alto for o valor nice, mais gentil o processo. Geralmente, o intervalo de nmeros usados no nice so os inteiros entre -19 e 19. Embora determinar a prioridade de um processo no seja uma prtica comum, afinal, o prprio Linux faz muito bem essa tarefa, isso pode ser necessrio em alguma situao. Para isso, utiliza-se um comando que recebe o mesmo nome do conceito: nice. A sintaxe : nice -n prioridade processo Por exemplo:

53

nice -n -5 ntpd No exemplo, o ntpd recebe prioridade -5. Trata-se de uma prioridade alta, afinal, como j dito, quanto menor o nmero menor sua gentileza. Se um determinado processo est em execuo, isso acontece com uma prioridade j definida. Para alterar um processo nessa condio, usa-se o comando renice, cuja sintaxe : renice prioridade opo processo/destino As opes do renice so: -u - a alterao ocorrer nos processos do usurio informado; -g - a alterao ocorrer nos processos do grupo indicado; -p - a alterao ocorrer no processo cujo PID for informado. Um exemplo: renice +19 1000 -u infowester Neste caso, o comando renice alterou a prioridade do processo 1000, assim como a prioridade dos processos do usurio infowester. Exemplos: # nice -n -20 man ls (inicia o comando man ls, com prioridade -20)

#ps lax | grep "man ls" (visualiza o processo "man ls")

# renice -p 10 (troca a prioridade do processo para o valor "10") Finalizando Processos No muito raro processos darem erros e sermos obrigados a finaliz-los. No nada complicado matar um processo: #kill -1 = (reload no processo) -15 = (termina um processo) -9 = ( mata um processo) obs: sem d! Matando processos por usurio: #kill -9 `lsof -t -u ze` (mata todos os processos do usurio "ze")

54

Uma boa dica matar os processos usando o top, pois nele voc encontra um banco de consulta com parmetros que podem ser usados para manipular os processos. Pode significar bastante em casos onde voc erra a sintaxe do comando tentando manipular o processo na mo.

2) Execute a seqncia abaixo ? Ative uma janela de terminal. Digite o comando yes. O que aconteceu ?

Ative outra janela . Vamos ver como esto os processos. Digite o comando top. apareceu ?

O que

2)Ache o processo chamado "yes". Qual o pid dele ? Liquide-o com o comando kill -9 "nmero do pid dele". Funcionou ? ____________________________________________________________________________ Escolha dois processos aleatoriamente e liquide-os (kill -9 "pid"). ____________________________________________________________________________ Escolha um processo do "root" e tente mat-lo (via kill). O que houve ? Qual a mensagem ? ____________________________________________________________________________ Em primeiro lugar, digite df. Qual o espao livre do disco ? ____________________________________________________________________________ Vamos tentar ench-lo. Digite yes > yes.txt. O que voc acha que isto vai fazer ?

Verifique como as coisas esto evoluindo com ls -l yes.txt. Qual o tamanho do arquivo? (repita vrias vezes) ____________________________________________________________________________ Liquide o processo do "yes" e veja o tamanho do arquivo "yes.txt". Qual foi o tamanho final ? Quanto espao sobrou no disco (veja com df) ___________________________________________________________________________ Remova o arquivo "yes.txt" (com rm yes.txt). Quanto espao ficou no disco (veja com df) ____________________________________________________________________________ Liquide o processo do "yes" e veja o tamanho do arquivo "yes.txt". Qual foi o tamanho final ? Quanto espao sobrou no disco (veja com df) ____________________________________________________________________________

55
GSOIII Exerccio 5 Nome :___________________N ____________data: ________ Turma ____ Nome :___________________N ____________data: ________ Turma ____ Comandos Unix & Linux - Bash Shell A partir do seu diretrio "home" (/home/<nomeusuario>) faa os seguintes exerccios: 1) V para a raiz (cd /) e comece a navegar pelos principais diretrios e descreva abaixo o que significa cada um deles e indique o equivalente no Windows . Para se verificar o contedo use o comando ls al. Voc pode ler o contedo de alguns arquivos usando o "cat", e o nome do arquivo. / /var /boot /dev /usr /bin /etc /tmp /home /lib /dev/fd1 /dev/lpd /dev/hda /mnt/cdrom D /dev/sda 2) Localize um dos arquivos no /etc arquivo lilo.conf , voc poder edita-lo com o Kedit 3) Localize o arquivo no /boot/grub/ arquivo menu.lst voc poder edita-lo no Kedit 4)Criar o seguinte arquivo de texto no vi com o nome de redes.txt O Linux um clone UNIX de distribuio livre para PCs baseados em processadores 386/486/Pentium. O Linux uma implementao independente da especificao POSIX, com a qual todas as verses do UNIX padro (true UNIX) esto convencionadas. O Linux foi primeiramente desenvolvido para PCs baseados em 386/486/Pentium, mas atualmente tambm roda em computadores Alpha da DEC, Sparcs da SUN, mquinas M68000 (semelhantes a Atari e Amiga), MIPS e PowerPCs. O Linux foi escrito inteiramente do nada, no h cdigo proprietrio em seu interior. O Linux est disponvel na forma de cdigo objeto, bem como em cdigo fonte. 5)Utilize os seguintes comandos no VI e descreva

56
:wq :w nome_do_arquivo :w! nome_do_arquivo :q :q! 4) Verifique se h outros editores de texto no Linux com a) pico b) joe 5)Verifiqueo tamanho do arquivos com ls al , utilize os comando abaixo para compactar, e verifique a diferena entre os dois descompactadores e as extenses . a) gzip redes.txt b) bzip2 redes.txt 6) Para Descompactar utilize os seguintes comandos: a) gunzip redes.gz b)bunzip2 redes.bz2 7)COMANDOS PARA REDES ifconfig : configura a interface de rede netconf : Interface grfica do RedHat para confiurar a rede netconfig : Outra interface grfica para a configurao da rede hostname : nome da mquina netstat : Mostra informaes sobre as conexes rede domainname: Mostra ou ajusta o nome de domnio do sistema route : Mostra e manipula a tabela de roteamento showmount : Mostra informaes de sistemas NFS montados sobre a rede nmap: capta informaes em conexes remotas, como o sistema operacional usado, portas abertas... Sintaxe: nmap -O 200.0.0.5 tracerout : mostra o caminho percorrido do pc at um ''tal'' servidor da internet ping : informaes de conexo Parmetros: -r : avisa se o pacote no chegar ao destino -c''N'' : onde ''N'' o n de pings a serem executados -s : determina o tamanho dos pacotes enviados, por defalt 56bytes rusers : mostra quem est usando as mquinas na rede ruptime : informaes sobre mquinas da rede local Parmetros : -a: usurios inativos a mais de uma hora

57
-l : ordena sada de informaes de cada host -r : inverte ordem de sada de informaes -t : (uptime) -u: ordena sada por n de usurios rup: semalhante ao uptime, porm para outra mquina na rede. Sintaxe: rup rwho : mostra o que est ''sendo feito'' nos computadores da rede local (semelhante ao ruptime) 8)Utilize o comando touch e crie vrios arquivos com os serguintes nomes no dentro do diretrio /home/aluno. arquitetura.txt redes.doc gestao.txt manuteno.txt desenvolvimento.doc analise.txt 9)Renomeie o arquivo como analise.txt para sistemas.doc 10)Comandos bsicos: descreva suscintamente a funo de cada comando e indique qual o comando DOS equivalente. man cp cd /home ls al | more cp redes.txt introducao.txt mv introducao.txt aula1.txt rm aula1.txt introduo mkdir goslll rmdir gosIII cat introducao.txt Ifconfig pwd df a killall date fsck Ifconfig -a ping [opes][IP/DNS] Dnsdomainname Hostname netstat r traceroute [opes] [host/IP de destino] reboot halt

58
GSOIII Exerccio 5 Nome :____________________N ____________data: ________ Turma ____ Nome :____________________N ____________data: ________ Turma ____ 1)execute os COMANDOS DE SISTEMA dmsg | less : mostrar lista de inicializao arch : mostra a arquitetura do computador uname : informaes de sistema Parmetros: -m : hardware -n : nome da mquina na rede -r : verso do kernel -s : nome do OS -v : data de compilao do OS -a : todas as acima... uptime : mostra o tempo em que a mquina est no ar free : mostra o uso da memria vmstat : Mostra as estatsticas da memria virtual ps -aux | grep tty : lista terminais em uso tty : mostra em qual terminal o usurio atual est stty : exibir ou escolher parmetos do terminal tset : escolher tipo de terminal fgconsole : exibe o n de terminais vlidos type : informa o que faz um certo comando. Exemplo: type mount last : informa a entrada e sada de usurios no sistema lastlog : informa o ltimo usurio que logou no sistema lspci : lista os dispositivos PCI setserial : informaes sobre as portas seriais 2)Vamos conhecer um o python uma ferramenta de desenvolvimento Descreva o programinha abaixo no Edite no kedit ou kwrite e salve como programa1.py Vamos um programinha de adivinhar a idade. O programa vai perguntando idade e dizendo se mais alta ou mais baixa at o interlocutor acertar. Para isso precisamos de apenas duas variveis. Uma varivel "numero" vai armazenar a idade e o outro vai armazenar o nmero digitado. O programa vai rodando enquanto os dois forem

59
diferentes. coloque tambm uma varivel "tentativas" que armazena o nmero de chutes errados comece a digitas Tente adivinhar a idade da Maria" numero = 37 chute = 0 tentativas = 0 print "\n Tente adivinhar a idade da Maria" while chute != numero: chute = input("\n Chute uma idade: ") tentativas = tentativas + 1 if chute > numero : print " Ela no to velha assim. Voc errou", tentativas, "vezes." elif chute < numero : print " Ela parece mais nova do que ... Voc errou", tentativas, "vezes" print "\n Ufa! Achei que no ia acertar nunca, se fosse jogador de futebol tava jogando no Palmeiras. \n" Abra um terminal e chame o programa Python programa1.py Como viu, o Python uma linguagem bastante simples de usar. Este texto foi apenas uma breve introduo, "just for fun", mas voc pode estudar mais e comear a fazer coisas mais srias usando a linguagem. Descreva o programinha abaixo no Edite no kedit ou kwrite e salve como programa2.py aluno = raw_input("\n Qual o nome do aluno? ") prova 1 = input("\n Nota da primeira prova: ") prova2 = input("\n Nota da segunda prova: ") prova3 = input("\n Nota da terceira prova: ") prova4 = input("\n Nota da quarta prova: ") media = (proval + prova2 + prova3 + prova4) ! 4 if media < 7: print "\n Mdia". media ............... Que vergonha". aluno. Levou bomba!" elif media >=7: print "\n Mdia". media ............... aluno. "passou. Parabns!" Descreva o programinha abaixo implementando o contador Edite no kedit ou kwrite e salve como programa3.py alunos = input("\n Quantos alunos esta sala tem?") contagem = O total = O while contagem < alunos: contagem = contagem + 1 print "\n Notas do aluno ". contagem proval = input(" Nota da primeira prova: ") prova2 = input(" Nota da segunda prova: ") prova3 = input(.. Nota da terceira prova: ") prova4 = input(" Nota da quarta prova: ") total = total + proval + prova2 + prova3 + prova4 media = total! alunos! 4 print "\n\n A mdia geral da sala ". media. "\n\n" Voc pode encontrar uma srie de tutorais, do nvel bsico ao avanado no site oficial: http://www.python.org/doc/

60
GSOIII Exerccio 5 Nome :____________________N ____________data: ________ Turma ____ Nome :____________________N ____________data: ________ Turma ____ # useradd usurio - cria usurio # passwd usurio - cria senha # userdel usurio - deleta usurio # groupadd adiciona usurio ao grupo # groupdel deleta o grupo Para gerenciar um grupo, pode-se utilizar o comando gpasswd. Sendo que o root definir o usurio administrador do grupo e os usurios membros do grupo: # useradd testes # groupadd grupoteste # gpasswd A teste grupoteste (define administrador do grupo) # gpasswd M teste2 grupoteste (define membro do grupo) $ gpasswd a teste3 grupoteste (admin grupo adiciona usurio ao grupo) $ gpasswd d teste3 grupoteste (admin grupo remove usurio do grupo) 1. Faa o login no sistema como usurio root. 2. Crie o usurio alfredo. _______________________________________________________________ 3. Defina a senha alfredo123 para este usurio. _______________________________________________________________ 4. Crie o usurio antonio. _______________________________________________________________ 5. Defina a senha antonio123 para este usurio. _______________________________________________________________ 6.. Crie o usurio mateus. _______________________________________________________________ 7. Defina a senha mateus123 para este usurio. _______________________________________________________________ 8. Crie o grupo laboratorio. _______________________________________________________________ 9. Defina o usurio alfredo como usurio do grupo laboratrio _______________________________________________________________ 10. Saia do login de root. _______________________________________________________________ 11. Faa o login no sistema como usurio alfredo. _______________________________________________________________ 12. Defina o prprio usurio alfredo como membro do grupo laboratrio linux. _______________________________________________________________ 13. Defina o usurio antonio como membro do grupo laboratorio _______________________________________________________________ 14. Saia do login de alfredo. _______________________________________________________________ 15. Faa o login no sistema como usurio root. 16. Crie o diretrio /dados. _______________________________________________________________

61
17. Mude a propriedade do diretrio /dados para que fique como dono root e grupo administrador . _______________________________________________________________ 20. Saia do login de root. 21. Faa o login no sistema como usurio alfredo. 22. Crie um arquivo dentro do diretrio /dados. _______________________________________________________________ 23. Saia do login de alfredo. 24. Faa o login no sistema como usurio antonio. 25. Crie um arquivo dentro do diretrio /dados. _______________________________________________________________ 27. Ainda como usurio antonio, tente remover o arquivo do usurio alfredo. _______________________________________________________________ 29. Saia do login de antonio. 30. Faa o login no sistema como usurio mateus. 31. Crie um arquivo dentro do diretrio /dados. _______________________________________________________________ 32. Perceba que isso no possvel, pois o usurio mateus no pertence ao grupo laboratrio 33.Verifique quem esta logado a) w b) who

62
GSOIII Exerccio 6 Nome :____________________N ____________data: ________ Turma ____ Nome :____________________N ____________data: ________ Turma ____ 1)Criar um arquivo com o nome rascunho.txt utilizando o joei com o seguinte texto : Buscando o desenvolvimento da comunidade Linux no Brasil, a Conectiva fechou um contrato com a Red Hat Software, para distribuio na Amrica Latina de uma verso regional do Red Hat Linux, sendo includo a cada nova release o mximo possvel de softwares, instalao, comandos, manuais, pacotes, documentao, etc... traduzidos para o portugus. 1) Experimente visualizar os processos existentes no seu seu sistema . Pode experiementar ps e top e informe a diferena. 2) Criar uma arquivo chamado apostila.txt dentro de um diretrio qualquer os dados do ls-al do diretrio, verifique o tamanho desse arquivo. 3) Mude as permisses acesso negado para todos os usurio para este arquivo apostila . 4.O que significam as permisses rwx-r-- --x : A( ) Usurio e grupo tm todas as permisses, mas outros s de execuo B( ) Usurio s pode ler, mas grupo pode tudo e outros s pode gravar. C( ) Usurio pode ler, gravar e executar, grupo s pode ler e outros s pode executar. D( ) Usurio s pode ler, grupo s pode ler e outros s pode executar. 5.O comando utilizado para trocar as permisses pelo mtodo octal : A( ) chmode B( ) chmod C( ) chperm D( ) chgrp 6.Quem pode alterar a mascar de criao? Escolha duas. A[ ] O root B[ ] Os membros de um grupo administrativo C[ ] Somente dono D[ ] O usurio dono 7).Utilize o comando touch e crie vrios arquivos com os serguintes nomes no diretrio /home/aluno: lista.doc declarao.txt pp.doc conselho.txt informatica.doc adm.txt logstica.doc cadastro.doc

63
GSOIII Exerccio 7 Nome :____________________N ____________data: ________ Turma ____ Nome :____________________N ____________data: ________ Turma ____ 1)Criar um arquivo dentro do diretrio aluno com o nome de linguagem.txt utilizando o vi com o seguinte texto: A verso de C fornecida com o sistema Unix verso 5 foi o padro da linguagem por muitos anos. Um grande nmero de implementaes, porm, foi criado, com a popularidade dos microcomputadores, e isso gerou uma certa incompatibilidade entre essas implementaes. Foi baseado nesta situao que em 1983 o ANSI (American National Standards Institute) estabeleceu um comit para criar um padro para definir a linguagem C. Atualmente, todos os principais compiladores de C implementam o padro C ANSI. 2) Mostrar o contedo do arquivo com cat. 3) Copie o arquivo linguagem.txt para o diretrio writer utilizadando o comando cp. Terminada . esta operao renomeie o arquivo para a turboc.doc utilizando mv. 4)Aps a listagem de um arquivo com o comando ls al . Explique e descreva quais as informaes que aparecem referentes ao arquivo linguagem.txt. 5) Mude as permisses negando o acesso a todos os usurios

64
GSOIII Exerccio 8 Nome :_________________________N ____________data: __ Turma ____ Nome :___________________N ____________data: ________ Turma ____ Exerccios Interface Grfica 1) Identifique qual a utilizao das ferramentas abaixo. KWord KEdit KSpread KuickShow XMMS KCalc Aumix ou Kmix MPlayer Inkscape 2Quais aplicativos existentes nesta distribuio ? 3)Quais as interfaces grficas presentes nesta distribuio ? 4) Crie a seguinte estrutura de pastas dentro da pasta Kurumin:

5. Informe os passos para a criao de um usurio nesta distribuio atravs da interface grfica KDE 6. Informe os passos para a criao de um usurio nesta distribuio atravs do gnometerminal (linha de comando)? 7.Como fao para configurar a rede nesta distribuio?

Você também pode gostar