INFORMÁTICA PARA CONCURSOS LINUX Profº Flávio Santos Conhecimentos básicos em informática O que é Linux? Sistema operacional: é o componente de software que faz a interface básica entre os programas do usuário e o computador, gerenciando itens como os recursos e periféricos ( memória, discos, arquivos, usuários, impressoras), segurança, privilégios, comunicação e outros. Linux é um sistema operacional como o Windows, MacOS, OS/2 etc. O Linux possui as seguintes características É Software Livre (Open Source); Multitarefa; Multiusuário; Multiprocessado; É somente o Kernel; O Conjunto Operacional se chama Distribuição. Flávio Santos - Informática para Concursos 2 Principais Características entre os Programas: Sistemas Proprietários - Aqueles que são pagos e cujo código fonte não é livremente disponibilizado. (Windows, Mac). Sistemas Gratuitos - Aqueles que não são pagos, mas cujo código fonte também não é de livre acesso (BeOS). Sistemas Open Source (Código Aberto) - Aqueles cujo código fonte é aberto (BSD). Sistemas Livres - Aqueles que são Open Source, e cujo código fonte ao ser alterado, se distribui sobre a mesma licença (Linux). Flávio Santos - Informática para Concursos 3 Questões a Considerar Quanto ao Linux Depois de tudo o que foi apresentado, aparentemente estaremos vivenciando um processo de transição que não tem precedentes no mundo da informática e que não mostra sintomas de que será acalmado ou, muito menos, impedido! Mas mesmo sendo essa transição tão “inevitável”, há certos aspectos a serem analisados de forma mais crítica. Vamos dar uma olhada em certas questões relevantes ao movimento de mudança Windows/Linux: • O custo da implantação e da manutenção do Linux é muito baixo: essa, não por acaso, é a mais gritante das características favoráveis ao novato. Por tudo o que vem sendo discutido aqui, é bastante compreensível o porquê do uso do Linux ser tão barato e ainda o porquê do Windows não conseguir, nem de longe, oferecer qualquer resistência a ele nesse aspecto. Essa questão é muito importante porque permite a empresas (e até mesmo países) em desenvolvimento ou recuperação conseguirem atingir estabilidade e auto-suficiência sem estar sob o jugo da Microsoft e de outras detentoras de copyright de softwares! Ou seja, o Linux permitirá uma verdadeira revolução tecnológica e mesmo econômica para diversas instituições e até nações. • O Windows é mais conhecido e mais usado: Nesse ponto, o fato de a maioria utilizar o Windows em suas casas e nas empresas dá um ponto ao veterano sistema, pois, a esse fato aparentemente banal, está atrelado algo que deve ser pensado pelas empresas: os custos com treinamento de pessoal. Sim, o Linux pode ser mais caro durante o início das atividades dele na organização, sendo pública ou privada, porque denotará a necessidade de treinamento dos funcionários! Ainda tem mais: é sabido que, se os funcionários não conseguem utilizar uma determinada tecnologia devidamente, a produtividade vai cair consideravelmente e só será retomada quando a novidade se tornar habitual (ou seja, quando se acostumarem com o Linux). Flávio Santos - Informática para Concursos 4 O Plug and “Pray” do Linux: pois é, para alguns fabricantes de hardware, como impressoras, scanners, web cams e afins, parece que o Linux não existe! Ao comprar um equipamento novo, é muito raro (eu ainda não encontrei um) se deparar com um que traga, no seu CD de drivers, a versão para o sistema do pingüin. Em outras palavras, a maioria dos fabricantes só desenvolve drivers para o Windows, permitindo que seus dispositivos possam ser instalados apenas nesse sistema. O Linux ainda é posto em segundo plano, porque, apenas em alguns poucos casos, o fabricante coloca, no máximo, o driver para Linux em seu site. • O Windows é mais “amigável”: outra coisa que parece incontestável, mas vai de ponto de vista! Como estamos acostumados a lidar com o sistema da Microsoft, então claro que ele nos parecerá mais fácil e intuitivo. O Linux ainda nos apresentará alguns segredos que, quando perfeitamente descobertos, o tornarão tão fácil de usar quanto o Windows. • O Linux é mais complicado: Bom, o outro lado da questão citada acima é esse! O Linux não é complicado, é complexo (e completo). Quero dizer, no Linux, podemos fazer uma operação de várias maneiras, algumas mais fáceis (com mouse e ícones), algumas mais difíceis, através de comandos estranhos e arquivos de configuração assombrados. Isso só dependerá do seu nível de conhecimento e intimidade com o sistema (os experts preferem os arquivos de configuração e os comandos, porque talvez isso os faça parecer mais experts!). • Sistema 100% estável: o Linux não trava! Pelo menos é isso que se ouve por parte dos entusiastas exacerbados! “O Linux não pega vírus” – dirão eles também! Em ambos os casos, está errado! O Linux trava sim, mas não com a freqüência com que o Windows o faz. O Linux também está sujeito às intempéries causadas por vírus de computador, mas numa escala muito inferior à do concorrente! O importante é que o Linux foi feito para não travar, portanto a comunidade Linux vai criar correções para todos os problemas que o sistema apresentar, deixando-o mais seguro e menos propenso a erros, visando manter a integridade do sistema e a confiança que todos depositam nele. Flávio Santos - Informática para Concursos 5 Surgimento do Linux O Linux é um sistema operacional multitarefa e multiusuário,baseado nas características do UNIX Arquiteturas dos Sistemas: Sistemas mono tarefa (ex: DOS); Sistemas multitarefa (ex: Windows, Linux, Unix); Sistemas multi-processado (Windows, Linux); Os sistemas multitarefa podem ainda ser mono-usuário (BeOS) ou multiusuários (Unix, Linux). O que é o UNIX? É um sistema operacional utilizado em computadores de grande porte nas empresas dos mais variados segmentos. É um sistema robusto que é encontrado em vários tipos de UNIX, que tem seu código-fonte fechado. Ambiente do UNIX: Distribuições É composta por uma empresa, pessoa ou grupo que organizam o Kernel + Aplicativos o resultado dessa junção denomina-se distribuição. Em resumo o papel da distribuição é empacotar o Linux, reunindo neste pacote kernel e programas disponíveis deixando assim o sistema pronto para uso. Kernel: é o componente central de qualquer sistema operacional, contendo as principais tarefas de gerenciamento. Existem inúmeras distribuições entre elas podemos citar: Kurumin, RedHat, Ubuntu, SuSE, Debian, Slackware, Mandrake + Conectiva = Mandriva. O que é GPL A sigla GPL(General Public License - Licença Pública Geral), da FSF(Free Software Foundation – Fundação do Software Livre) é a licença na qual o Kernel do Linux é liberado. Com uso da licença GPL alguns direitos são atribuídos aos usuários dos programas regidos por ela que citaremos abaixo: • • • • O software pode ser usado para qualquer finalidade; O software poderá ser estudado; O software poderá ser alterado; O software poderá ser distribuído. Conectiva Linux: é a distribuição da empresa brasileira Conectiva. Um dos mais amigáveis Linux para o Brasil, apresenta uma interface de instalação muito boa (ou seja, ele é fácil de instalar!). Atualmente (Maio de 2005), está na versão 10, usando o Kernel 2.6. Lembre-se de que versões anteriores do Conectiva usavam versões anteriores do Kernel, claro! o Conectiva pode ser usado tanto em casa como em servidores. • Red Hat: Distribuição americana que recentemente deixou de ser distribuída gratuitamente. A empresa Red Hat simplesmente fornece seu Linux para servidores de rede, não mais para usuários de computadores. A última versão gratuita foi a 9, usando o Kernel 2.4. • Slackware: considerada por muitos (os especialistas, normalmente) como a melhor distro de todas, por ser a mais estável (a última versão do “Slack”, a 10.1, por exemplo, utiliza o Kernel 2.4, ainda, que, segundo eles, é mais confiável que o 2.6). O pessoal que mantém o Slack é muito tradicionalista e sempre pregou a criação de uma distro muito enxuta, sem firulas. O Slack é um dos mais difíceis de instalar e de configurar, além disso, traz poucos programas consigo, portanto, é mais recomendado para servidores. Essa é para experts! • Suse Linux: uma distro alemã, também muito famosa e gostosa de usar. Traz diversos programas para usuários finais (como programas de escritório, por exemplo). • Mandrake Linux: também muito fácil de usar, dando preferência aos usuários finais, o pessoal da Mandrake coloca sempre muitos recursos bons para que o Mandrake Linux possa ser usado em casa por qualquer usuário. • Fedora Core: é o projeto de distro gratuita da empresa Red Hat (para não saírem mal na foto com a comunidade Linux, eles – da Red Hat – mantiveram um projeto com ela – a comunidade – de atualização desta distro). É muito completa, cheia de recursos para servidores e usuários finais. • Debian: uma distribuição muito boa de usar (para experts também). O pessoal que usa e mantém o Debian é “o outro extremo da linha” do pessoal do Slack, há uma certa “rivalidade” entre eles. Flávio Santos - Informática para Concursos 8 Conhecendo o Ambiente Linux Além do Kernel o Linux possui um ambiente que se comunica com o usuário, recebendo seus comandos e enviando-os para o seu núcleo(kernel). Esse ambiente é denominado de Shell que é o interpretador de comandos, ou seja, é ele que traduz uma ordem dada pelo usuário e a repassa ao núcleo do sistema operacional Linux. Características do Sistema Linux: • • • Multitarefa: permite a execução de vários programas ao mesmo tempo; Multiusuário: permite a utilização do sistema por vários usuários simultaneamente; Case Sensitive: diferencia letras maiúsculas e minúsculas nos nomes de arquivos e comandos. Estrutura de Diretórios O Linux possui uma estrutura de diretórios peculiar, objeto de uma série de padronizações e similar à que pode ser encontrada em versões comerciais do UNIX. No Linux não existem referências às unidades como no Windows, tudo começa na raiz (/) e as demais pastas (diretórios) estão abaixo dele. [/] – É o diretório principal, que contém todos os arquivos e diretórios do sistema. [/bin] – A maioria dos programas possui o seu arquivo executável neste diretório. [/dev] – Local onde ficam armazenadas as referências aos dispositivos presentes no computador, para o controle destes dispositivos. Esse diretório contém apontadores para, por exemplo, disquetes, os discos rígidos, portas de acesso seriais e paralelas, etc. [/home] – Contém os diretórios pessoais dos usuários e suas configurações. [/proc] – Fornece informações sobre o Kernel e sobre os processos que estão rodando no momento, além de informações sobre a utilização de alguns dispositivos. [/usr] – Contém comandos, bibliotecas, programas, páginas de manual e outros arquivos que que se fazem necessários para a operação normal do sistema. [/boot] – Contém os arquivos de inicialização do sistema. É aqui que fica o arquivo contendo o Kernel e o gerenciador de boot (lilo ou grub) para o carregamento do sistema operacional. [/etc] – É um dos mais importantes diretórios do sistema. Nele ficam a maioria dos arquivos de configuração e manipulação dos serviços essenciais ao sistema. [/var] – Contém arquivos que possuem dados variáveis de programas em execução para armazenar informações úteis aos seus funcionamentos [/sbin] – Contém ferramentas de interesse do root e que geralmente são usadas por serviços básicos do computador. Flávio Santos - Informática para Concursos 10 Login / Logout Login é a processo de identificação na inicialização do sistema Linux, onde é solicitado o nome do usuário e a sua senha de acesso, e o Logout é a saída do sistema que poderá ser executada com logout, exit e CTRL + D. Logon é tão-somente o nome dado ao processo de apresentação do Login e da senha, ou seja, logon é “entrar no sistema”, “identificar-se”. Não confunda, porém, com Login, que é o nome do usuário que está se logando! Depois de efetuado o logon no sistema, alguns processos são realizados para que Linux apresente sua área de trabalho comum aos usuários (é uma tela muito semelhante à área de trabalho do Windows) e os permita comandar o sistema. Essa área de trabalho também pode se apresentar de formas diferentes, dependendo da distribuição, mas, mais precisamente, dependendo do ambiente gráfico utilizado pelo usuário (veremos o conceito disso nos próximos tópicos). Veja, abaixo, um exemplo da área de trabalho do Linux (ambiente GNOME) usado no Conectiva Linux 10 Flávio Santos - Informática para Concursos 11 Usuários do Linux Usuários Comuns: são contas criadas com acesso limitado aos recursos do sistema. $ -> este símbolo representa o modo usuário sem direitos administrativos. Superusuário(o Administrador): o usuário root conhecido como o superusuário ou administrador de sistema Linux. # -> este símbolo representa o modo superusuário todos os direitos administrativos. Flávio Santos - Informática para Concursos 12 Identificação de Dispositivos O diretório /dev possui os arquivos que representam os dispositivos (hardware) do computador, esses arquivos são acessados através do uso do comando (mount) que criará a pasta para acesso ao determinado dispositivo. Discos de padrão IDE são representados da seguinte forma: hda – disco mestre da IDE primária; hdb – disco escravo da IDE primária; hdc – disco mestre da IDE secundária; hdd – disco escravo da IDE secundária. EXEMPLOS: /dev/hdx HD IDE Discos não IDE são representados da seguinte forma: sda – primeiro disco não IDE; sdb – segundo disco não IDE. EXEMPLOS: /dev/sdx HD SCSI OU SATA. Discos flexíveis são representados da seguinte forma: fd0 – primeiro disco não IDE; EXEMPLOS : /dev/fd0 Interfaces seriais: /dev/ttyS0 COM1 /dev/ttyS1 COM2 Flávio Santos - Informática para Concursos 13 rm – remover arquivos e diretórios; Ex: rm /tmp/curso Principais Comandos su – Alterar o modo de usuário; Ex: su – usuário ln – cria link simbólico; Ex: ln –s /curso cursolinux shutdown – Desligar o sistema; Ex: shutdown –r +10 cat – exibe o conteúdo de um arquivo; Ex: cat /tmp/cursolinux cd – navegando entre diretórios; Ex: cd /diretório mount – montagem de dispositivos; ls – listar arquivos; Ex: ls -l bin Ex: mount /dev/hda2 /diretório startx– inicia a interface gráfica do Linux; Ex: startx mkdir – criar diretórios; Ex: mkdir /curso df – exibe espaço em disco; Ex: df [opções] clear – limpa a tela; Ex: clear du – mostra o espaço que um diretório e os arquivos internos ocupam; Ex: du [opções] rmdir – remover diretórios vazios; Ex: rmdir /curso touch – cria arquivos; Ex: touch /tmp/cursolinux mv – mover arquivos e diretórios; Ex: mv curso.txt /tmp cp – copiar arquivos de um diretório/pasta para outro. Ex: cp /etc/passwd /curso/ reboot – Reinicia o computador; Ex: reboot halt: Desliga o computador; Ex: halt Flávio Santos - Informática para Concursos 14 Kill: Termina um processo pelo número; Ex: kill 1201 adduser: Criar usuário; Ex: adduser user1 ps: Exibe os processos em execução; Ex: ps aux userdel: Remove usuário; Ex: userdel user1 passwd: Criar senha; Ex: passwd user1 Formatando Unidades de memória como Pen Drive, Cartão de Memória, etc. mount: Montagem de dispositivos; Ex: mount /dev/hda2 /diretório Verifique em qual dispositivo o pendrive foi montado; umount: Desmontagem de dispositivos; Ex: umount /dev/cdrom # mount Depois logout: Faz o logout do usuário; Ex: logout # mformat /dev/dispositivo man: busca ajuda referente a determinado comando; Ex: man touch free: mostra a utilização de memória do sistema; Ex: free Ex: /dev/sda, /dev/sdb, /dev/sdc Ou então: # mkfs.vfat /dev/dispositivo info: mostra informações sobre comandos; Ex: info ping Flávio Santos - Informática para Concursos 15 A interface Gráfica Os gerenciadores de janelas(Ambiente Gráfico do Linux) permite que o sistema seja acessado de uma maneira mais amigável para o usuário, tornando a manipulação do sistema mais interativa através de janelas, ícones, menus e botões. O Linux pode apresentar destaques: inúmeros gerenciadores de janela, mas vamos apresentar os de maiores KDE (K Desktop Environment); Gnome; Window Maker Flávio Santos - Informática para Concursos 16 Centro de Controle É o programa responsável pelos ajustes e configurações do sistema como o painel de controle do Windows podemos executar várias configurações no centro de controle como verificamos na figura abaixo, entre elas estão: Administração do Sistema, Ambiente de Trabalho, Aparência e Temas, Controle de Energia, Internet e Rede, etc. Flávio Santos - Informática para Concursos 17 Konqueror É o gerenciador de arquivos do gerenciador de janelas KDE, através dele podemos ter acesso aos diretórios (pastas) do Linux e podemos realizar infinitas operações como por exemplo: exclusão, criação de pastas e arquivos como executamos no gerenciador de arquivos do sistema operacional Windows. Flávio Santos - Informática para Concursos 18