Software">
Sistema Operacional Linux
Sistema Operacional Linux
Sistema Operacional Linux
Software
Cópia
Redistribuição
Modificação
Uso
. Geralmente é pago: espécie de aluguel que confere o direito ao uso (não é possível comprar
o software) → pode ser gratuito (livre ≠ gratuito).
. Outras licenças:
Copiado
Usado
Redistribuído
Alterado
Estudado
. Não pode ser apropriado e transformado em proprietário.
. Geralmente é gratuito → o serviço pode ser cobrado, mas a licença de uso não.
. Código aberto (open source): permite a edição pelo usuário → software livre raiz: GPL.
. GPL (General Public License): baseado em 4 liberdades (executar, acessar e modificar, copiar
e distribuir, melhorar) → copyleft.
Cuidado: GPL é a licença de uso livre, enquanto GNU é o projeto de software livre.
Ressalvas:
2. Portal brasileiro de software público: aceita apenas softwares 100% livres, ou seja, que não
usa/dependa de software proprietário para o seu uso → qualquer um pode pegar e colocar SW
no portal.
Dois processos:
Quando se inicia um computador ele busca na memória ROM um firmware que contém
instruções para a inicialização do computador. Trata-se do firmware BIOS – certo.
II. Drivers: manual/externo ao hardware, que descreve como comunicar-se com as peças.
Existem drivers genéricos, mas não é recomendado a sua utilização, como forma de
aproveitamento das funções.
. Finalidades:
Suítes de escritório: conjunto de aplicativos que cooperam em termos de uso, uma vez
que cada um atende uma necessidade específica e, em conjunto, atendem uma
necessidade maior.
2. Sistema Operacional
2.1. Definição: programa (software) que tem como principais funções gerenciar toda a parte
física do computador e servir de interface entre o usuário e a máquina.
Ex: caso atualize o SO é preciso entrar em contato com o fabricante para baixar um novo
driver, permitindo que o equipamento volte a funcionar.
V: não exige uma máquina potente, visto que carrega os sistemas de forma independente.
D: não é possível carregar ao mesmo tempo, de modo que, para trocar de um sistema para
outro, é necessário reiniciar o computador.
Cuidado: Para ter o Windows e o Linux, simultaneamente, podendo optar pela utilização de
um ou outro após a inicialização, é preciso instalar primeiro o Windows, visto que o Ubuntu
identifica uma instalação, criando um menu de opção para o momento da inicialização.
Lado outro, o Windows não identifica a instalação Ubuntu, de modo que caso seja
instalado posteriormente, o usuário fica preso apenas ao Windows.
2.2. Componentes
. Partes:
a) Núcleo
b) Interface
I. Kernel (núcleo): “coração” do sistema operacional (parte mais importante, que é sempre a
mesma), tratando-se do software responsável por controlar o hardware do computador,
realizando a interface entre os programas e o SO e gerenciando os recursos do sistema →
parte interna e principal.
Espécies:
Kernel Monolítico: bloco único que apresenta todas as funções essenciais para o
funcionamento e outras estruturas para funções adicionais (drivers de dispositivo),
que podem ser utilizadas, sendo vantajoso, na medida em que, caso precise, a
estrutura já está disponível (ex: para ouvir áudios).
O usuário não entra em contato direto com o kernel, se comunicando com ele por intermédio
de outros elementos que também compõem o sistema operacional.
II. Shell: interface de comunicação, consistente na camada que envolve o kernel e se comunica
com o usuário, tratando-se de um software que interpreta o que o usuário deseja e traduz
essa informação para o kernel → trata-se de um interpretador e transmissor de comandos.
Formas:
Textual (não gráfica): uso de linhas de comando de texto → ambiente mais simples,
consistente na tela preta na qual se edita os comandos, trata-se do prompt de
comando.
SO: Windows, Linux (utiliza as duas formas de interface, ademais, suporta distintas GUIs,
sendo as principais o GNOME e KDE).
O shell e o kernel são duas partes essenciais do sistema operacional Linux: o primeiro serve
para interpretar os comandos do usuário, e o segundo, para controlar os dispositivos do
computador - certo.
2.3. Características
. Quanto à tarefa:
Monotarefa: executa uma tarefa por vez e, se precisar parar para executar outra,
perde o trabalho feito.
Multitarefa: sistema que aparenta (em verdade, há alternância de forma célere, mas
não há simultaneidade) ou realiza mais de uma tarefa simultaneamente, pautado na
ideia da existência de mais de um processador para realização simultânea.
. Quanto ao usuário:
Monousuário: sistema que permite apenas uma sessão ativa por vez (cuidado:
permite o cadastro de mais de um usuário, contudo, não admite login simultâneo).
Multiusuário: sistema que suporta múltiplas sessões ativas simultaneamente.
. Plug and play (plugar e usar): sistema que busca e instala automaticamente os drives
necessários, logo, o usuário não precisa fazer nada, basta conectar o dispositivo ao
computador que o SO, automaticamente, faz o que for preciso para que seja identificado e
operado.
. 32 X 64 bits: reconhece até 3GB de memória RAM (suporta aplicativos 32) X reconhece mais
que 3GB de memória RAM (suporta aplicativos 32 e 64).
3. Sistema Linux
3.1. Características*
. Software livre: sistema open source que possui código fonte aberto, de modo que qualquer
usuário pode editá-lo, permitindo a criação de versões distintas (Windows: sistema fechado).
O código-fonte aberto permite que qualquer pessoa veja como o sistema funciona, podendo
modificá-lo e vendê-lo livremente – errado (admite-se a venda da distribuição, mas não do
código-fonte).
. Copyleft: é livre (no sentido de liberdade e não gratuidade), de modo que exige que todas as
versões modificadas e extensões também sejam livres (Windows: copyright) → licença GPL
(GNU General Public License).
. Multiusuário e multitarefa: permite que vários usuários acessem o sistema ao mesmo tempo
e a execução de diversos programas simultaneamente.
3.2. Sistemas de arquivos: essencial para manipulação de dados dentro do disco rígido, sendo
espécie de gerenciador e organizador que permite ao sistema ler os arquivos contidos no HD.
Ex: determina quantos caracteres poderão ser utilizados para nomeação de arquivos.
Ext4
XFS
JKS
ReiserFs
BTRFs
. Composição:
GNU (kernel) + Servidor X-Window (X-11) + GUI (interface gráfica adicionada pelo usuário) +
Pacote de aplicativos (adicionado pelo usuário) = Distribuição Linux.
I. Debian → sistema utilizado pelo governo do Paraná a partir do programa “Paraná Digital”.
I.I. Ubuntu: distribuição Linux com o maior número de usuários domésticos, desenvolvida a
partir do Debian, com o acréscimo de um conjunto de aplicativos e aprimoramento da
interface gráfica (utiliza a interface gráfica Gnome).
Kubuntu
Linux Mint: surgimento a partir do Ubuntu, sendo a mais utilizada das versões
atualmente.
I.II. Linux Mint: versão que utiliza o repositório do Debian, permitindo ao usuário escolher
se irá utilizar elementos do armazém deste ou do Ubuntu.
II. Red Mat: muito utilizado por servidores de internet, cuja manutenção passou a ser cobrada
após um tempo de sua criação (não é possível a cobrança da licença do Linux, mas das suas
manutenções e atualizações pode), o que propiciou o surgimento de outros sistemas a partir
dele.
Fedora
Mandrake
Conectiva
. GUI: interface gráfica de usuário (ou seja, acrescida sobre o sistema Linux, que já possui a
interface X-11).
Estão em menor número que as distribuições, de modo que é importante conhecê-las para
distinguir daquelas, quando for cobrado em prova.
O Windows utiliza uma única interface gráfica, enquanto o Linux é compatível com diferentes
ambientes gráficos, inclusive, podendo operar sem se utilizar de qualquer um deles.
$: usuário comum
#: administrador/super usuário/root
Principais*:
/ home: pasta dos usuários → dentro da qual cada usuário terá sua própria pasta,
reservada para arquivos pessoais, sendo que o root tem acesso a todas, enquanto
cada usuário só tem acesso a sua pasta (Windows: Document and Settings).
/ root: pasta do usuário root → ao baixar o sistema operacional essa pasta é
automaticamente criada, sendo que somente após digitar a senha desta pasta (senha:
root) será solicitada pelo sistema que seja criada nova pasta (exceção: distribuição
Ubuntu não cria a pasta root, criando um usuário diretamente) → não deve ser
utilizado no dia-a-dia, pois, em razão da diversidade de poderes que possui, a sua
utilização vulnerabiliza o sistema; há apenas um usuário root e diversos comuns.
/ boot: arquivos essenciais para inicializar o sistema, possuindo o kernel e outros
arquivos de inicialização.
/ bin: binários (executáveis) e comandos essenciais do sistema → onde estão os
programas instalados e comandos editados no terminal (Windows: .exe).
/ Sbin: binários e comandos do sistema → arquivos e comandos executados pelo
sistema, de modo que são aqueles que exigem a interferência do administrador.
/ snap: gerenciamento de pacotes.
/ srv: dados de serviço fornecidos pelo sistema.
/ lib (e lib64): bibliotecas compartilhadas e módulos do kernel → comandos e funções
que mais de um programa utiliza, para evitar a necessidade de duplicação de dados.
/ media: armazenamento de mídias temporárias, consistente nas mídias removíveis (CD,
DVD, pen drive) → ao conectar os dispositivos ao computador esse diretório é
automaticamente criado para permitir o acesso ao conteúdo dessas mídias.
/ dev (device/ dispositivos): arquivo de dispositivos de entrada e saída, ou seja, dos
drivers, bem como placa de som, disco rígido, etc.
Windows Linux
C: /dev/hda1
D: /dev/fd1
E: /dev/sda1
I. Konqueror: também pode ser utilizado como navegador de internet, desde que
ativado o modo para tal.
II. Nautilus
III. Dolphin
3.5. Terminal Linux: interface simples (tela preta) para inserção de comandos.
. Edição de textos: se encontram dentro do próprio terminal, sendo utilizados para editar
comandos.
busca o histórico de comandos (uma seta: último comando; duas setas: penúltimo; e assim
sucessivamente).
$: usuário comum
#: administrador/super usuário/root
. Comandos:
sudo: permite que o usuário comum execute comandos de super usuário (é preciso
saber a senha do administrador)
su: altera o usuário comum para o administrador, que possui mais poderes e
privilégios para executar comandos no terminal.
exit (man sh ou man csh): sair do terminal ou retorno para o usuário comum (caso
esteja no super usuário).
halt: desliga o computador.
ssh: acesso remoto via SSH (utilização do protocolo de segurança shell).
passwd: alterar a senha.
pwd (print working directory): mostra o diretório atual.
ls (dir): listar conteúdo do diretório atual (≠ cat: conteúdo do arquivo).
ls-l: listar todo o conteúdo do diretório atual / ls-a: listar todo o conteúdo do diretório
atual, inclusive, itens ocultos / ls-R: listar todo o conteúdo do diretório e subdiretórios.
cd.: diretório atual / cd..: volta ao diretório anterior / cd~: vai para o diretório do usuário
(“home”) / cd-: volta para o último diretório acessado (“desfazer”).
cp: copiar.
cp-R (cp-r): copia todos os arquivos do diretório, inclusive, subdiretórios / cp-f: cópia a
força (se o arquivo já existe na pasta não perguntará ao usuário se deseja realmente uma
nova cópia) / cp*: copia todos os arquivos de um diretório.
rm-d: remove um diretório (mesmo que contenha arquivos) / rm-r: deleta o conteúdo dos
subdiretórios / rm-f: não pede autorização para o usuário e ignora os arquivos não
localizados/ rm-i: pergunta ao usuário se deseja mesmo apagar o arquivo.
O parâmetro pode ser: name (nome do arquivo), type, size, mtime (data da modificação).
grep: localizar arquivos, conteúdos que contenha, pesquisando o termo dentro dos
arquivos.
info: explorador de informações.
man: manual, exibe opções do comando (help).
file: determina o tipo do arquivo.
diff: compara o conteúdo de dois arquivos.
cmp: comparar dois arquivos (propriedade, tamanho, etc) (≠ diff).
gzip: compacta/descompacta (arquivos em formato zip).
tar: empacota (agrupa arquivos).
head: exibe primeiras linhas de um arquivo.
tail: exibe as últimas linhas de um arquivo (por padrão as 10 últimas).
lpr: imprimir arquivo.
lprq: mostra o status da fila de impressão / lprm: remove trabalhos da fila de impressão.
# chown Maria /mp3 (= Maria passou a ser dona do diretório /mp3) → não inclui os
subdiretórios (pastas dentro do diretório), sendo que, para incluí-las é preciso acrescentar
-c-R.
top: lista de processos mais detalhado, visto que mostra o desempenho dos processos,
como memória utilizada (em tempo real).
kill: matar processo (encerra processos em andamento).
bg (&): coloca processo em segundo plano (bg de background).
Quando o comando é digitado, em regra, ele é executado em primeiro plano ( fg), contudo,
ao fim, caso se acrescente o &, ele será executado em segundo plano (bg).
. Caracteres de intercomunicação:
>: redireciona a saída de um comando para um dispositivo ou arquivo (joga o que está
no comando para dentro do arquivo).
>>: adiciona ao final do arquivo (o > substitui, de modo que o >> é indicado para se ter
mais cautela).
<: redireciona a saída de um arquivo para um comando (joga o que está no arquivo
para o comando).
I (pipe): redireciona a saída de um comando para um comando → separador de
comandos, delimitando comando de entrada e saída (lista de comandos).
cat (nome do arquivo) I grep (palavra) → mostra dentro do arquivo apenas as linhas que
contenham a palavra.
Ressalva: o comando tee une as duas funções, separando comandos e levando arquivos.
apt: comando que busca um pacote no repositório para trazer para o sistema / dpkg: instala o
pacote / apt-get: instala, atualiza e remove pacotes.
Para tornar o repositório mais acessível ao usuário há o gerenciador de pacotes Synaptic →
ferramenta “amigável” de instalação, remoção e atualização de pacotes, para buscar
conteúdos do repositório (se assemelha a Apple Store ou Google Play, apresentado a lista de
aplicativos disponíveis).
Cuidado: Ubuntu 10.09 retirou o gerenciador da sua função padrão, devendo ser instalado
manualmente.
O comando dir exibe o caminho completo do diretório atual – errado (exibe o conteúdo de um
diretório).
DPC PR: Deseja-se criar um link simbólico do arquivo vim, o qual deverá ser chamado vi, a
alternativa que corretamente criará tal link é: ln –s vim vi.
DPC PR: A alternativa que apresenta, corretamente, o comando que irá desligar o computador
é: shutdown –s nowo (s é o comando que desliga o sistema).
UFPR: Para criar uma pasta com o nome meus trabalhos utiliza-se o comando mkdir meus
trabalhos ou md “meus trabalhos” – errado (não existe o comando md e o comando mkdir
meus trabalhos criará duas pastas, logo, o correto seria mkdir “meus trabalhos”).
No Linux, o diretório /home é o local onde é instalada a maior parte dos aplicativos e das
bibliotecas do sistema operacional, enquanto no diretório /usr são armazenados os arquivos
dos usuários – errado (/home = arquivos dos usuários, /lib = bibliotecas, /usr = arquivos,
programas e bibliotecas).
3.6. Permissões*
O sistema de permissão torna o sistema mais “blindado”, permitindo apenas que o usuário
root execute tarefas potencialmente danosas (mais seguro que o Windows).
Somente o usuário root (superusuário) possui permissões irrestritas, sendo responsável pela
configuração do sistema e a forma de uso pelos demais usuários.
No Linux, um usuário comum não pode causar danos ao sistema operacional da máquina de
forma acidental – certo.
0: sem permissão.
1: executar.
2: gravar.
3: gravar/executar.
4: ler.
5: ler/executar.
6: ler/gravar.
7: ler/gravar/executar.
u: proprietário/dono (1º).
g: grupo de usuários (2º) → alteração do grupo por meio do comando chgrp.
o: usuário comum (3º).
Sintaxe: tipo de arquivo (d, -1) + 3 caracteres relativos ao dono (r,w,x, -) + 3 caracteres relativos
ao grupo (r,w,x, -) + 3 caracteres relativos ao usuário comum (r,w,x, -).
1
cuidado: não confundir com a ausência de permissão.
-rw-r-- → trata-se de um arquivo; proprietário pode ler e escrever, mas não executar; grupo
pode apenas ler.
chmod 623 estudar.txt = -rw-w-wx → primeiro grupo = proprietário / segundo grupo = grupo
de usuários / terceiro grupo = usuário comum, logo, proprietário pode ler e gravar; grupo de
usuários pode gravar; usuário comum pode gravar e executar.
3.7. Softwares
Cuidado: provas costumam cobrar os nomes, misturando com espécies de interfaces para
confundir o candidato.
. Editores de texto simples: Vi/Vim, Emacs, Nano, Gedit, krite, Sublime text, Joe.
. Servidor Proxy (controle de conexão e acesso à internet): Squid → utilizados para manter a
segurança em redes intranet.
Nas configurações de rede do SO Linux é possível criar um proxy da rede para determinar
quais serviços poderão ser acessados ou não na rede. Ademais, admite-se a criação de uma
VPN, para comunicação com um servidor privado.
3.8. Atalhos
. Gnome: