Sistemas Operacionais
Aula 4 – Comandos Básicos do Linux – Final
Prof.: Roberto Franciscatto
Unidade 8: Controle de Acesso
• A permissão de acesso protege o sistema de arquivos
Linux do acesso indevido de pessoas ou programas não
autorizados.
• A permissão de acesso do GNU/Linux também impede
que:
•
•
•
- um programa mal intencionado, por exemplo,
apague um arquivo que não deve
- envie arquivos para outra pessoa
- forneça acesso da rede para que outros usuários
invadam o sistema.
Unidade 8: Controle de Acesso
• Permissões de Acesso
O sistema de arquivos do Linux possibilita que sejam
atribuídos direitos de acesso diferenciados para usuários
do sistema.
O sistema GNU/Linux é muito seguro e como qualquer
outro sistema seguro e confiável impede que usuários
iniciantes (ou mal intencionados)
Instalem programas enviados por terceiros sem saber para
que, eles realmente servem e causem danos irreversíveis
em seus arquivos, seu micro ou sua empresa.
Unidade 8: Controle de Acesso
• Donos, grupos e outros usuários
• O princípio da segurança no sistema de arquivos GNU/Linux é definir
o acesso aos arquivos por donos, grupos e outros usuários:
• dono
– É a pessoa que criou o arquivo ou o diretório. O nome do dono do
arquivo/diretório é o mesmo do usuário usado para entrar no
sistema GNU/Linux.
– Somente o dono pode modificar as permissões de acesso do
arquivo. As permissões de acesso do dono de um arquivo somente
se aplicam ao dono do arquivo/diretório. A identificação do dono
também é chamada de user id (UID).
Unidade 8: Controle de Acesso
dono
– A identificação de usuário e o nome do grupo que
pertence são armazenadas respectivamente nos
arquivos /etc/passwd e /etc/group.
– Estes são arquivos textos comuns e podem ser editados
em qualquer editor de texto, mas é preciso cuidado
para não modificar o campo que contém a senha do
usuário encriptada (que pode estar armazenada neste
arquivo caso não estiver usando senhas ocultas).
Unidade 8: Controle de Acesso
grupo
– Para permitir que vários usuários diferentes tivessem acesso a um
mesmo arquivo (já que somente o dono poderia ter acesso ao
arquivo), este recurso foi criado.
– Cada usuário pode fazer parte de um ou mais grupos e então
acessar arquivos que pertençam ao mesmo grupo que o seu
(mesmo que estes arquivos tenham outro dono).
– Por padrão, quando um novo usuário é criado, o grupo ele
pertencerá será o mesmo de seu grupo primário.
– A identificação do grupo é chamada de gid (group id). Um usuário
pode pertencer a um ou mais grupos.
Unidade 8: Controle de Acesso
outros
•É a categoria de usuários que
não são donos ou não
pertencem ao grupo do
arquivo.
Unidade 8: Controle de Acesso
Tipos de Permissões de Acesso
Quanto aos tipos de permissões que se aplicam ao dono, grupo e
outros usuários, temos 3 permissões básicas:
– r - Permissão de leitura para arquivos. Caso for um diretório,
permite listar seu conteúdo (através do comando ls, por exemplo).
– w - Permissão de gravação para arquivos. Caso for um diretório,
permite a gravação de arquivos ou outros diretórios dentro dele.
Para que um arquivo/diretório possa ser apagado, é necessário o
acesso a gravação.
– x - Permite executar um arquivo (caso seja um programa
executável). Caso seja um diretório, permite que seja acessado
através do comando cd.
Unidade 8: Controle de Acesso
– As permissões de acesso a um arquivo/diretório
podem ser visualizadas com o uso do comando ls
-la.
– As 3 letras (rwx) são agrupadas da seguinte
forma:
– -rwxrwxrwx roberto users teste
– Virou uma bagunça? Vamos ver o que quer dizer
as 10 letras acima (da esquerda para a direita):
Unidade 8: Controle de Acesso
-rwxrwxrwx roberto users teste
A primeira letra diz qual é o tipo do arquivo.
Caso tiver um "d" é um diretório, um "l" um link a um
arquivo no sistema, um "-" quer dizer que é um arquivo
comum, etc.
– Da segunda a quarta letra (rwx) dizem qual é a
permissão de acesso ao dono do arquivo. Neste caso
gleydson ele tem a permissão de ler (r - read), gravar (w
- write) e executar (x - execute) o arquivo teste.
Unidade 8: Controle de Acesso
-rwxrwxrwx roberto users teste
– Da quinta a sétima letra (rwx) diz qual é a permissão de acesso
ao grupo do arquivo.
– Neste caso todos os usuários que pertencem ao grupo users tem
a permissão de ler (r), gravar (w), e também executar (x) o
arquivo teste.
– Da oitava a décima letra (rwx) diz qual é a permissão de acesso
para os outros usuários.
– Neste caso todos os usuários que não são donos do arquivo teste
tem a permissão para ler, gravar e executar o programa.
Unidade 8: Controle de Acesso
Etapas para acesso a um arquivo/diretório
– O acesso a um arquivo/diretório é feito verificando
primeiro se o usuário que acessará o arquivo é o seu
dono, caso seja, as permissões de dono do arquivo são
aplicadas.
– Caso não seja o dono do arquivo/diretório, é verificado
se ele pertence ao grupo correspondente, caso
pertença, as permissões do grupo são aplicadas.
– Caso não pertença ao grupo, são verificadas as
permissões de acesso para os outros usuários que não
são donos e não pertencem ao grupo correspondente
ao arquivo/diretório.
Unidade 8: Controle de Acesso
Etapas para acesso a um arquivo/diretório
– Após verificar aonde o usuário se encaixa nas permissões de acesso do
arquivo (se ele é o dono, pertence ao grupo, ou outros usuários), é
verificado se ele terá permissão acesso para o que deseja fazer (ler, gravar
ou executar o arquivo), caso não tenha, o acesso é negado, mostrando
uma mensagem do tipo: "Permission denied" (permissão negada).
– O que isto que dizer é que mesmo que você seja o dono do arquivo e
definir o acesso do dono (através do comando chmod) como somente
leitura (r) mas o acesso dos outros usuários como leitura e gravação, você
somente poderá ler este arquivo mas os outros usuários poderão ler/graválo.
– As permissões de acesso (leitura, gravação, execução) para donos, grupos
e outros usuários são independentes, permitindo assim um nível de acesso
diferenciado. Lembre-se: Somente o dono pode modificar um
arquivo/diretório!
Unidade 8: Controle de Acesso
Exemplo de acesso a um arquivo
– Abaixo um exemplo e explicação das permissões de acesso a um arquivo no
GNU/Linux (obtido com o comando ls -la, explicarei passo a passo cada parte:
– -rwxr-xr-- 1 roberto user 8192 nov 4 16:00 teste
–
-rwxr-xr–
• Estas são as permissões de acesso ao arquivo teste. Um conjunto de 10
letras que especificam o tipo do arquivo, permissão do dono do arquivo,
grupo do arquivo e outros usuários. Veja a explicação detalhada sobre cada
uma abaixo:
-rwxr-xr–
A primeira letra (do conjunto das 10 letras) determina o tipo do arquivos.
Se a letra for um d é um diretório, e você poderá acessa-lo usando o
comando cd. Caso for um l é um link simbólico para algum arquivo ou
diretório no sistema. Um - significa que é um arquivo normal.
Unidade 8: Controle de Acesso
Exemplo de acesso a um arquivo
-rwxr-xr–
Estas 3 letras (da segunda a quarta do conjunto das 10 letras) são as
permissões de acesso do dono do arquivo teste. O dono (neste caso roberto)
tem a permissão para ler (r), gravar (w) e executar (x) o arquivo teste.
– -rwxr-xr–
– Estas 3 letras (da quinta a sétima do conjunto das 10 letras) são as permissões
de acesso dos usuários que pertencem ao grupo user do arquivo teste. Os
usuários que pertencem ao grupo user tem a permissão somente para ler (r) e
executar (x) o arquivo teste não podendo modifica-lo ou apaga-lo.
– -rwxr-xr–
– Estas 3 letras (da oitava a décima) são as permissões de acesso para usuários
que não são donos do arquivo teste e que não pertencem ao grupo user.
Neste caso, estas pessoas somente terão a permissão para ver o conteúdo do
arquivo teste.
Unidade 8: Controle de Acesso
Exemplo de acesso a um arquivo
– roberto
• Nome do dono do arquivo teste.
– user
• Nome do grupo que o arquivo teste pertence.
– teste
• Nome do arquivo.
Unidade 8: Controle de Acesso
Exemplo de acesso a um diretório
– Abaixo um exemplo com explicações das permissões de
acesso a um diretório no GNU/Linux:
– drwxr-x--- 2 roberto user 1024 nov 4 17:55 exemplo
– drwxr-x--• Permissões de acesso ao diretório exemplo. É um conjunto de
10 letras que especificam o tipo de arquivo, permissão do dono
do diretório, grupo que o diretório pertence e permissão de
acesso a outros usuários. Veja as explicações abaixo:
drwxr-x--A primeira letra (do conjunto das 10) determina o tipo do
arquivo. Neste caso é um diretório porque tem a letra d.
Unidade 8: Controle de Acesso
Exemplo de acesso a um diretório
drwxr-x--Estas 3 letras (da segunda a quarta) são as permissões de
acesso do dono do diretório exemplo. O dono do diretório
(neste caso roberto) tem a permissão para listar arquivos do
diretório (r), gravar arquivos no diretório (w) e entrar no
diretório (x).
drwxr-x--Estas 3 letras (da quinta a sétima) são as permissões de
acesso dos usuários que pertencem ao grupo user. Os
usuários que pertencem ao grupo user tem a permissão
somente para listar arquivos do diretório (r) e entrar no
diretório (x) exemplo.
Unidade 8: Controle de Acesso
Exemplo de acesso a um diretório
drwxr-x--Estas 3 letras (da oitava a décima) são as permissões
de acesso para usuários que não são donos do
diretório exemplo e que não pertencem ao grupo
user.
Com as permissões acima, nenhum usuário que se
encaixe nas condições de dono e grupo do diretório
tem a permissão de acessa-lo.
Unidade 8: Controle de Acesso
Exemplo de acesso a um diretório
– roberto
• Nome do dono do diretório exemplo.
– user
• Nome do grupo que diretório exemplo pertence.
– exemplo
• Nome do diretório
Unidade 8: Controle de Acesso
chmod
– Muda a permissão de acesso a um arquivo ou diretório.
– Com este comando você pode escolher se usuário ou grupo terá
permissões para ler, gravar, executar um arquivo ou arquivos.
– Sempre que um arquivo é criado, seu dono é o usuário que o criou
e seu grupo é o grupo do usuário (exceto para diretórios
configurados com a permissão de grupo "s", será visto adiante).
– chmod [opções] [permissões] [diretório/arquivo]
» Onde:
– diretório/arquivo
• Diretório ou arquivo que terá sua permissão mudada.
Unidade 8: Controle de Acesso
chmod
opções
– -v, --verbose
• Mostra todos os arquivos que estão sendo processados.
– -f, --silent
• Não mostra a maior parte das mensagens de erro.
– -c, --change
• Semelhante a opção -v, mas só mostra os arquivos que tiveram as
permissões alteradas.
– -R, --recursive
• Muda permissões de acesso do diretório/arquivo no diretório atual e
sub-diretórios.
Unidade 8: Controle de Acesso
chmod
ugoa+-=rwxXst
ugoa - Controla que nível de acesso será mudado.
Especificam, em ordem, usuário (u), grupo (g), outros (o),
todos (a).
–
+-= - + coloca a permissão, - retira a permissão do arquivo e
= define a permissão exatamente como especificado.
rwx - r permissão de leitura do arquivo. w permissão de
gravação. x permissão de execução (ou acesso a diretórios).
Unidade 8: Controle de Acesso
Exemplos de permissões de acesso:
– chmod g+r *
• Permite que todos os usuários que pertençam ao grupo
dos arquivos (g) tenham (+) permissões de leitura (r) em
todos os arquivos do diretório atual.
– chmod o-r teste.txt
• Retira (-) a permissão de leitura (r) do arquivo teste.txt
para os outros usuários (usuários que não são donos e
não pertencem ao grupo do arquivo teste.txt).
Unidade 8: Controle de Acesso
Exemplos de permissões de acesso:
– chmod uo+x teste.txt
• Inclui (+) a permissão de execução do arquivo teste.txt para o
dono e outros usuários do arquivo.
– chmod a+x teste.txt
• Inclui (+) a permissão de execução do arquivo teste.txt para o
dono, grupo e outros usuários.
– chmod a=rw teste.txt
• Define a permissão de todos os usuários exatamente (=) para
leitura e gravação do arquivo teste.txt.
Unidade 8: Controle de Acesso
chgrp
– Muda o grupo de um arquivo/diretório.
– chgrp [opções] [grupo] [arquivo/diretório]
– Onde:
– grupo
• Novo grupo do arquivo/diretório.
– arquivo/diretório
• Arquivo/diretório que terá o grupo alterado.
Unidade 8: Controle de Acesso
chown
– Muda dono de um arquivo/diretório. Opcionalmente pode
também ser usado para mudar o grupo.
– chown [opções] [dono.grupo] [diretório/arquivo]
– onde:
– dono.grupo
• Nome do dono.grupo que será atribuído ao diretório/arquivo. O
grupo é opcional.
– diretório/arquivo
• Diretório/arquivo que o dono.grupo será modificado.
Unidade 8: Controle de Acesso
opções
-v, --verbose
• Mostra os arquivos enquanto são alterados.
-f, --supress
• Não mostra mensagens de erro durante a execução do programa.
-c, --changes
• Mostra somente arquivos que forem alterados.
-R, --recursive
• Altera dono e grupo de arquivos no diretório atual e subdiretórios.
O dono.grupo pode ser especificado usando o nome de grupo ou o
código numérico correspondente ao grupo (GID).
Unidade 8: Controle de Acesso
Você deve ter permissões de gravação no diretório/arquivo para
alterar seu dono/grupo.
– Exemplos:
– chown joao teste.txt - Muda o dono do arquivo teste.txt para
joao.
– chown joao.users teste.txt - Muda o dono do arquivo teste.txt
para joao e seu grupo para users.
– chown -R joao.users * - Muda o dono/grupo dos arquivos do
diretório atual e sub-diretórios para joao/users (desde que você
tenha permissões de gravação no diretórios e sub-diretórios).
Unidade 8: Controle de Acesso
Modo de permissão octal
– Ao invés de utilizar os modos de permissão +r, -r, etc, pode ser
usado o modo octal para se alterar a permissão de acesso a um
arquivo.
– O modo octal é um conjunto de oito números onde cada número
define um tipo de acesso diferente.
– É mais flexível gerenciar permissões de acesso usando o modo
octal ao invés do comum, pois você especifica diretamente a
permissão do dono, grupo, outros ao invés de gerenciar as
permissões de cada um separadamente.
Unidade 8: Controle de Acesso
– Abaixo a lista de permissões de acesso octal:
– 0 - Nenhuma permissão de acesso. Equivalente a -rwx.
– 1 - Permissão de execução (x).
– 2 - Permissão de gravação (w).
– 3 - Permissão de gravação e execução (wx).
– 4 - Permissão de leitura (r).
– 5 - Permissão de leitura e execução (rx).
– 6 - Permissão de leitura e gravação (rw).
– 7 - Permissão de leitura, gravação e execução. Equivalente a +rwx.
Unidade 8: Controle de Acesso
– Basta agora fazer o seguinte:
– - Somente permissão de execução, use 1.
– - Somente a permissão de leitura, use 4.
– - Somente permissão de gravação, use 2.
– - Permissão de leitura/gravação, use 6 (equivale a 2+4 / Gravar+Ler).
– - Permissão de leitura/execução, use 5 (equivale a 1+4 /
Executar+Ler).
– - Permissão de execução/gravação, use 3 (equivale a 1+2 /
Executar+Gravar).
– - Permissão de leitura/gravação/execução, use 7 (equivale a 1+2+4 /
Executar+Gravar+Ler).
Unidade 8: Controle de Acesso
Exemplos:
"chmod 764 teste"
– Os números são interpretados da direita para a esquerda como
permissão de acesso aos outros usuários (4), grupo (6), e dono
(7).
– O exemplo acima faz os outros usuários (4) terem acesso
somente leitura (r) ao arquivo teste, o grupo (6) ter a permissão
de leitura e gravação (w), e o dono (7) ter permissão de leitura,
gravação e execução (rwx) ao arquivo teste.
Unidade 8: Controle de Acesso
Exemplos:
"chmod 40 teste"
O exemplo acima define a permissão de acesso dos
outros usuários (0) como nenhuma, e define a permissão
de acesso do grupo (4) como somente leitura (r).
Note usemos somente dois números e então a
permissão de acesso do dono do arquivo não é
modificada (leia as permissões de acesso da direita para
a esquerda!).
Unidade 8: Controle de Acesso
Exemplos:
"chmod 751 teste"
O exemplo acima define a permissão de acesso
dos outros usuários (1) para somente execução
(x), o acesso do grupo (5) como leitura e
execução (rx) e o acesso do dono (7) como
leitura, gravação e execução (rwx).
Unidade 8: Controle de Acesso
umask
– A umask (user mask) são 3 números que definem as permissões
iniciais do dono, grupo e outros usuários que o arquivo/diretório
receberá quando for criado ou copiado.
– Digite umask sem parâmetros para retornar o valor de sua umask
atual.
– A umask tem efeitos diferentes caso o arquivo que estiver sendo
criado for binário (um programa executável) ou texto.
– Veja a tabela a seguir para ver qual é a mais adequada a sua
situação:
Unidade 8: Controle de Acesso
– Um arquivo texto criado com o comando umask 012;touch texto.txt
receberá as permissões -rw-rw-r--, pois 0 (dono) terá permissões rw, 1 (grupo), terá permissões rw- e 2 (outros usuários) terão
permissões r--.
– Um arquivo binário copiado com o comando umask 012;cp /bin/ls
/tmp/ls receberá as permissões -r-xr--r-x (confira com a tabela
acima).
Unidade 8: Controle de Acesso
– Por este motivo é preciso um pouco de atenção antes de
escolher a umask, um valor mal escolhido poderia causar
problemas de acesso a arquivos, diretórios ou programas não
sendo executados.
– O valor padrão da umask na maioria das distribuições atuais é
022. A umask padrão no sistema Debian é a 022 .
– A umask é de grande utilidade para programas que criam
arquivos/diretórios temporários, desta forma pode-se bloquear o
acesso de outros usuários desde a criação do arquivo, evitando
recorrer ao chmod.
Unidade 9: Gerenciamento de
Pacotes
Na grande maioria dos casos, um aplicativo não é
formado apenas por um único arquivo executável,
mas sim por um grande número de executáveis e
arquivos de configuração e documentação.
No caso de uma atualização de um aplicativo, alguns
arquivos deixam de ser necessários, ficam obsoletos,
e outros assumem sua atividade. Isso faz com que a
manutenção de um aplicativo fique muito difícil.
Unidade 9: Gerenciamento de
Pacotes
Para solucionar isto usamos pacotes de instalação, o
qual possui uma base de dados de todas as suas
dependências e alterações em diretórios e arquivos,
para que o aplicativo funcione após a instalação e até
mesmo após uma atualização.
Para cada distribuição temos um padrão de pacotes
próprio. É muito comum ouvirmos falar de
dependências de pacotes. Isto é apresentado quando
um pacote necessita de outro para que ele funcione.
Unidade 9: Gerenciamento de Pacotes
dpkg
– O dpkg (Debian Package) é o programa responsável pelo
gerenciamento de pacotes em sistemas Debian.
– Sua operação é feita em modo texto e funciona através de
comandos, assim caso deseje uma ferramenta mais amigável
para a seleção e instalação de pacotes, prefira o dselect (que
é um front-end para o dpkg) ou o apt.
– dpkg é muito usado por usuários avançados da Debian e
desenvolvedores para fins de instalação, manutenção e
construção de pacotes.
Unidade 9: Gerenciamento de Pacotes
Pacotes
– Pacotes Debian são programas colocados dentro de um
arquivo identificados pela extensão .deb
– Incluem arquivos necessários para a instalação do programa,
um sistemas de listagem/checagem de dependências,
scripts de automatização para remoção parcial/total do
pacote, listagem de arquivos, etc.
– Um nome de pacote tem a forma nome-versão_revisão.deb
Unidade 9: Gerenciamento de Pacotes
Instalar pacotes
– Use o comando: dpkg -i [NomedoPacote] (ou -install) para instalar um pacote em seu
sistema.
– Talvez ele peça que seja instalado algum
pacote que depende para seu funcionamento.
– É preciso especificar o nome completo do
pacote (com a versão e revisão).
Unidade 9: Gerenciamento de Pacotes
Dependências
– Dependências são pacotes requeridos para a instalação
de outro pacote.No Debian cada pacote contém um
programa com uma certa função.
– Por exemplo, se você tentar instalar o pacote de
edição de textos supertext que usa o programa sed,
você precisará verificar se o pacote sed está instalado
em seu sistema antes de tentar instalar o supertext,
Unidade 9: Gerenciamento de Pacotes
Dependências
– caso contrário, o pacote supertext pedirá o sed e não
funcionará corretamente.
– Note que o pacote supertext é apenas um exemplo e
não existe (pelo menos até agora :-).
– O programa dselect faz o trabalho de checagem de
dependências automaticamente durante a instalação
dos pacotes.
Unidade 9: Gerenciamento de Pacotes
Listar pacotes existentes no sistema
– Use o comando: dpkg -l [pacote] (--list) para isto.
– Na listagem de pacotes também será mostrado o "status"
de cada um na coluna da esquerda, acompanhado do
nome do pacote, versão e descrição básica. Caso o nome
do [pacote] seja omitido, todos os pacotes serão listados.
– É recomendado usar "dpkg -l|less" para ter um melhor
controle da listagem (pode ser longa dependendo da
quantidade de programas instalados).
Unidade 9: Gerenciamento de Pacotes
Removendo pacotes do sistema
– Use o comando: dpkg -r NomedoPacote (-remove) para remover um pacote do sistema
completamente. Somente é necessário digitar o
nome e versão do pacote que deseja remover,
não sendo necessário a revisão do pacote.
– O comando dpkg -r não remove os arquivos de
configuração criados pelo programa.
Unidade 9: Gerenciamento de Pacotes
Removendo completamente um pacote
– Use o comando: dpkg -P [NomedoPacote|-a] (--purge) para
remover um pacote e todos os diretórios e arquivos de
configuração criados. Não é necessário especificar a revisão do
pacote. O comando dpkg--purge pode ser usado após uma remoção
normal do pacote (usando dpkg -r).
– Caso você usar diretamente o comando dpkg --purge, dpkg
primeiro removerá o pacote normalmente e após removido
apagará todos os arquivos de configuração.
–
– Caso especifique a opção -a (ou sua equivalente --pending) no
lugar do nome do pacote, todos os pacotes marcados para
remoção serão removidos completamente do sistema.
Unidade 9: Gerenciamento de Pacotes
Mostrar descrição do pacote
– Use o comando: dpkg -I NomedoPacote (--info)
para mostrar a descrição do pacote.
– Entre a descrição são mostradas as
dependências do pacote, pacotes sugeridos,
recomendados, descrição do que o pacote faz,
tamanho e número de arquivos que contém
Unidade 9: Gerenciamento de Pacotes
Procura de pacotes através do nome de
um arquivo
– Use o comando: dpkg -S arquivo (--search)
para saber de qual pacote existente no
sistema o arquivo pertence
Unidade 9: Gerenciamento de Pacotes
Status do pacote
– Use o comando: dpkg -s pacote (--status)
para verificar o status de um pacote em seu
sistema, se esta ou não instalado,
configurado, tamanho, dependências,
maintainer, etc.
– Se o pacote estiver instalado no sistema, o
resultado será parecido com o do comando
dpkg -c [pacote] (--contents).
Unidade 9: Gerenciamento de Pacotes
Procurando pacotes com problemas de instalação
– A checagem de pacotes com este tipo de problema
pode ser feita através do comando:
dpkg -C (--audit)
– Será listado todos os pacotes com algum tipo de
problema, verifique os detalhes do pacote com "dpkg s" para decidir como corrigir o problema
Unidade 9: Gerenciamento de Pacotes
Mostrando a lista de pacotes do sistema
– Use o comando:
dpkg --get-selections
– para obter uma lista de seleção dos pacotes em seu
sistema. A listagem é mostrada na saída padrão, que
pode ser facilmente redirecionada para um arquivo
usando dpkg --get-selections > dpkg.lista.
– A listagem obtida com este comando é muito útil
para repetir os pacotes usados no sistema usando o
dpkg --set-selections.
Unidade 9: Gerenciamento de Pacotes
Obtendo uma lista de pacotes para instalar no sistema
Use o comando:
dpkg --set-selections <arquivo
– para obter a lista de pacotes que serão instalados no sistema.
O uso do dpkg --get-selections e dpkg --set-selections é muito
útil durante uma necessidade de reinstalação do sistema
GNU/Linux ou repetir a instalação em várias máquinas sem
precisar selecionar algumas dezenas entre os milhares de
pacotes no dselect.
– Após obter a lista com dpkg --get-selections, use dpkg --setselections <arquivo e então entre no dselect e escolha a opção
INSTALL, todos os pacotes obtidos via dpkg --set-selections
serão automaticamente instalados.
Unidade 9: Gerenciamento de Pacotes
Configurando pacotes desconfigurados
– Pacotes estão desconfigurados quando, por algum motivo, a
instalação do mesmo não foi concluída com sucesso.
– Pode ter faltado alguma dependência, acontecido algum erro
de leitura do arquivo de pacote, etc.
– Quando um erro deste tipo acontece, os arquivos necessários
pelo pacote podem ter sido instalados, mas os scripts de
configuração pós-instalação não são executados.
Use o comando:
dpkg --configure [NomedoPacote]
– Para configurar um pacote. O NomedoPacote não precisa
conter a revisão do pacote e extensão.
Unidade 9: Gerenciamento de Pacotes
Listando arquivos de um pacote
– Use o comando: dpkg -c arquivo (--contents) para obter
a listagem dos arquivos contidos no pacote. É
necessário digitar o nome completo do pacote.
– O comando dpkg -c é útil para listarmos arquivos de
pacotes que não estão instalados no sistema.
– Para obter a listagem de arquivos de pacotes já
instalados no sistema, use o comando: dpkg -L arquivo.
É necessário digitar somente o nome do pacote (sem a
revisão e extensão).
Unidade 9: Gerenciamento de Pacotes
APT
O apt é um sistema de gerenciamento de pacotes de programas
que possui resolução automática de dependências entre pacotes,
método fácil de instalação de pacotes, facilidade de operação,
permite atualizar facilmente sua distribuição, etc.
Ele funciona através de linha de comando sendo bastante fácil de
usar. Mesmo assim, existem interfaces gráficas para o apt como o
synaptic (modo gráfico) e o aptitude (modo texto) que permitem
poderosas manipulações de pacotes sugeridos, etc.
– O apt pode utilizar tanto com arquivos locais como remotos na
instalação ou atualização, desta maneira é possível atualizar toda
a sua distribuição Debian via ftp ou http com apenas 2 simples
comandos!
Unidade 9: Gerenciamento de Pacotes
APT
– É recomendável o uso do método apt no programa dselect pois ele
permite a ordem correta de instalação de pacotes e checagem e
resolução de dependências, etc.
– Devido a sua facilidade de operação, o apt é o método preferido
para os usuários manipularem pacotes da Debian.
– O apt é exclusivo da distribuição Debian e distribuições baseadas
nela e tem por objetivo tornar a manipulação de pacotes poderosa
por qualquer pessoa e tem dezenas de opções que podem ser
usadas em sua execução ou configuradas no arquivo
/etc/apt/apt.conf.
Unidade 9: Gerenciamento de Pacotes
O arquivo /etc/apt/sources.list
– Este arquivo contém os locais onde o apt encontrará os pacotes, a
distribuição que será verificada (stable, testing, unstable, Woody, Sarge)
e a seção que será copiada (main, non-free, contrib, non-US).
– Woody(Debian 3.0) e Sarge(Debian 3.1) são os nomes das versões
enquanto stable e unstable são links para as versões estável e testing
respectivamente.
– Se desejar usar sempre uma distribuição estável (como a Woody),
modifique o arquivo sources.list e coloque Woody como distribuição.
– Caso você desejar estar sempre atualizado mas é uma pessoa cuidadosa e
deseja ter sempre a última distribuição estável da Debian, coloque stable
como versão.
Unidade 9: Gerenciamento de Pacotes
Endereços de servidores e mirrors nacionais da Debian
– Segue abaixo uma relação de servidores que podem ser colocados em
seu arquivo sources.list:
– Endereço
Diretório Principal
---------------------- ----------ftp://ftp.debian.org.br
/debian
ftp://ftp.br.debian.org
/debian
ftp://ftp.debian.org
/debian
ftp://download.sourceforge.net /debian
ftp://ftp.quimica.ufpr.br
/debian
ftp://download.unesp.br
/linux/debian
Unidade 9: Gerenciamento de Pacotes
Um modelo de arquivo sources.list
–
Você pode copiar o modelo do sources.list abaixo para ser usado em sua distribuição
Stable ou personaliza-lo modificando a distribuição utilizada e servidores:
Unidade 9: Gerenciamento de Pacotes
O arquivo /etc/apt/apt.conf
– Você pode especificar opções neste arquivo que
modificarão o comportamento do programa apt
durante a manipulação de pacotes (ao invés de
especificar na linha de comando).
– Se estiver satisfeito com o funcionamento do programa
apt, não é necessário modifica-lo. Para detalhes sobre
o formato do arquivo, veja a página de manual do
apt.conf. Na página de manual do apt-get são feitas
referências a parâmetros que podem ser especificados
neste arquivo ao invés da linha de comando.
Unidade 9: Gerenciamento de Pacotes
Copiando a lista de pacotes disponíveis
– O apt utiliza uma lista de pacotes para verificar se os
pacotes existentes no sistema precisam ou não ser
atualizados. A lista mais nova de pacotes é copiada
através do comando apt-get update.
– Este comando pode ser usado com alguma freqüência se
estiver usando a distribuição stable e sempre se estiver
usando a unstable (os pacotes são modificados com muita
freqüência). Sempre utilize o apt-get update antes de
atualizar toda a distribuição.
Unidade 9: Gerenciamento de Pacotes
Instalando novos pacotes
– Use o comando apt-get install [pacotes] para instalar novos pacotes em sua
distribuição. Podem ser instalados mais de um pacotes ao mesmo tempo
separando os nomes por espaços. Somente é preciso especificar o nome do
pacote (sem a versão e revisão).
– Se preciso, o apt instalará automaticamente as dependências necessárias
para o funcionamento correto do pacote.
– Quando pacotes além do solicitado pelo usuário são requeridos para a
instalação, o apt mostrará o espaço total que será usado no disco e
perguntará ao usuário se ele deseja continuar.
– Após a instalação, o pacote será automaticamente configurado pelo dpkg
para ser executado corretamente em seu sistema.
Unidade 9: Gerenciamento de Pacotes
Removendo pacotes instalado
– Use o comando apt-get remove [pacotes] para remover
completamente um pacote do sistema. Podem ser
removidos mais de um pacote ao mesmo tempo
separando os nomes dos pacotes com espaços.
– O apt-get remove remove completamente o pacote
mas mantém os arquivos de configuração, exceto se
for adicionada a opção --purge.
– É preciso especificar somente o nome do pacote (sem a
versão e revisão).
Unidade 9: Gerenciamento de Pacotes
Verificando pacotes corrompidos
– Use o comando apt-get check para verificar arquivos
corrompidos. A correção é feita automaticamente. A
lista de pacotes também é atualizada quando utiliza
este comando.
Corrigindo problemas de dependências e outros
erros
– Use o comando apt-get -f install (sem o nome do
pacote) para que o apt-get verifique e corrija
problemas com dependências de pacotes e outros
problemas conhecidos.
Unidade 9: Gerenciamento de Pacotes
RPM
O RPM é um sistema de instalação de programas criado
pela Red Hat.
O que é um pacote RPM?
Um pacote RPM nada mais é do que os arquivos do
programa, scripts e regras para sua instalação.
Unidade 9: Gerenciamento de Pacotes
Comandos usados pelo RPM
Instalar um pacote:
rpm –i nome_do_pacote.rpm
Atualizar para uma versão mais recente de pacote já
instalado
rpm –U nome_do_pacote.rpm
Remover um pacote já instalado:
rpm –e nome_do_pacote
Unidade 9: Gerenciamento de Pacotes
Para ver a lista de pacotes instalado no sistema
rpm –qa
Para ver se algum pacote já está instalado no sistema
rpm –qa | grep nome_do_pacote
Para obter informações sobre um pacote instalado no
sistema
rpm –qi nome_do_pacote
Obter informações sobre um pacote não instalado
rpm –qip nome_do_pacote.rpm
Unidade 10: Editores de Textos
Vi
O editor de textos Vi foi originalmente criado pelo presidente da
SUN, Bill Joy, a partir do ed, enquanto ele ainda estudava em
Stanford.
– O Vi simples serve apenas para editar, enquanto que suas variantes
servem até para programar, compilar e debugar programas.
–
Anos e anos de experiência ensinam que o melhor meio de se
aprender a usar algum aplicativo é praticando, por isso,
primeiramente listaremos os comandos mais importantes e logo em
seguida partiremos para um exemplo onde se utilizam esse
comandos.
Existem dois modos no Vi: Edição e Comando;
Unidade 10: Editores de Textos
No modo de edição, podemos digitar a vontade como se fosse um
editor de textos comum.
Esse modo é iniciado no editor - a partir do shell digitando-se vi
entra-se no editor - através de um dos seguintes comandos:
–
–
–
–
–
–
i : insere texto a partir do cursor atual
a : insere texto depois do cursor atual
I : insere texto no início da linha
A : insere texto no final da linha
s : substitui texto no cursor atual
S : substitui texto depois do cursor atual
– o : abre uma linha abaixo do cursor atual
Unidade 10: Editores de Textos
No modo de comando, você pode executar comandos. O modo de comando começa
quando se aperta a tecla ESC. Alguns desses comandos são: substituição, inserção e
procura de texto, gravação e abertura de arquivos entre outros, além de recorte,
cópia e colagem de texto.
Os comandos mais usados são:
Unidade 10: Editores de Textos
Outros editores de textos mais utilizados no Linux
O sistema Linux possui um infinidade de editores de
textos desenvolvidos tanto para modo gráfico, como
para modo texto.
Os editores de textos mais utilizados no Linux são:
–
–
–
–
- emacs
- vi
- joe
- mcedit
Unidade 10: Editores de Textos
emacs
Este editor de textos tem algumas características um pouco
diferentes daquelas dos editores que conhecemos, mas adota uma
filosofia muito utilizada no Linux.
Ele trabalha com uma janela onde é digitado o texto e outra onde
são digitados comandos específicos para o editor de textos.
– Para iniciar o editor digite na linha de comando:
– [usuario@spaceghost usuario]$ emacs
Unidade 10: Editores de Textos
joe
Para os saudosistas do Wordperfect, esse editor implementa uma
aparência semelhante ao seu predecessor.
Tendo uma linha de status que fica no topo da janela, com as
informações de status do arquivo, nome do arquivo, linha,
coluna, hora e as teclas para se obter a ajuda, é um editor muito
leve e prático.
Seu sistema consiste basicamente em iniciar o editor e começar
a digitar. Tem uma "janela" de ajuda que pode ficar visível
durante todo o tempo ou oculta, bastando para isso pressionar
Ctrl-H, alternando-se o modo de exibição da "janela".
Unidade 10: Editores de Textos
mcedit
– De modo semelhante ao joe, este editor de textos também possui uma
linha de status no topo da tela, mas, além disso, tem uma linha com as
teclas de atalho de seus comandos principais no rodapé da tela.
– Grande parte de suas funções são acessadas via menu, que aparece ao
se pressionar a tecla F9. Observe no topo da tela a linha de status: ela
muda para um menu que abre as opções do editor, pelas quais você
pode navegar facilmente com as setas de direção.
– A grande atração deste editor é que as teclas de atalho principais estão
associadas às teclas Fn, onde n varia de 1 até 12.
– Para iniciar o editor digite na linha de comando: mcedit.
– Agora você está na tela inicial do mcedit;
Unidade 11: Documentação
Páginas de Manual
O GNU/Linux possui uma vasta documentação em todas as distribuições.
Esta documentação está disponível para qualquer usuário, de forma
rápida e prática. Temos como principal meio de consulta o comando
man.
man
O comando man é o principal meio de consulta off-line dos
sistemas Unix. Nele você pode encontrar informações em todo o
sistema operacional Linux.
O man formata e apresenta as documentações que contém os
programas que fazem parte do sistema operacional. Cada
projeto é responsável por sua documentação.
Unidade 11: Documentação
info
Da mesma forma que o man, o info formata e apresenta os manuais
produzidos pelos projetos. Ele é uma atualização do man, onde é
possível utilizar links dentro do documento, por exemplo.
Sintaxe: info [comando]
help
Para facilitar mais a execução de comando e a pesquisa sobre o
funcionamento deles, cada comando insere seu binário as principais
funções de seu programa. Para que tenhamos acesso a esta
informação devemos digitar: [comando] –-help
O help da mesma forma que o man e o info, é mantido pelo projeto
que produziu o programa, o qual o mantém.
Unidade 11: Documentação
Internet
Certamente o melhor suporte ao GNU/Linux é via Internet, veja abaixo alguns locais
úteis de onde pode obter ajuda ou se atualizar.
http://debian-br.cipsga.org.br/
Projeto Debian-Br. A Debian é uma distribuição de Linux conhecida por sua
qualidade, grande número de pacotes, estabilidade, facilidade de atualização,
desenvolvimento aberto, segurança, ferramentas de gerenciamento de servidores e
comprometimento com o software livre.
http://www.linux.trix.net/
Boletim diário com as noticias mais recentes sobre GNU/Linux, testes, redes,
descrição/configuração/ avaliação de programas, entrevistas, downloads, dica do
dia, mecanismo de busca no site, links, etc. Em Português.
Unidade 11: Documentação
Internet
http://www.olinux.com.br/
Trata o GNU/Linux com o foco jornalístico e tem a intenção de prover
informações eficazes e esclarecedoras capazes de instruir, reciclar e tornar
acessível aos usuários o conhecimento e aprofundamento de temas
relacionados a plataforma GNU/Linux.
http://www.linuxsecurity.com.br/
Boletins de segurança, publicações de textos nacionais, traduções de sites
especializados em segurança, programas relacionados com criptografia e
segurança no ambiente Linux. A página requer um navegador com suporte a
Java.
Unidade 11: Documentação
http://www.tldp.org/
Projeto de documentação do GNU/Linux no Brasil. Toda a
documentação traduzida para o Português do Brasil pode ser
encontrada lá.
http://www.guiadohardware.net/
Site de Hardware, conta com notícias diárias, cursos on-line,
artigos, tutoriais, análises de equipamentos, fórum, dicionário de
termos, dicas sobre overclock, palm pilot e sessão FAQ com mais de
300 dúvidas respondidas.
Unidade 11: Documentação
http://www.noticiaslinux.com.br/
Notícias diárias sobre GNU/Linux e Software Livre no site, por e-mail ou RSS.
http://www.linux.org/
Página oficial do GNU/Linux mantida pela Transmeta (a empresa que Linus
Torvalds vem trabalhando atualmente). Muita referência sobre GNU/Linux,
distribuições, hardwares, softwares, downloads, etc.
http://counter.li.org/
Este é um serviço que tem o objetivo de contar os usuários, máquinas, grupos
de usuários Linux existentes ao redor do mundo. Te encorajo a se registrar
neste site e indica-lo aos seus amigos, é de graça, você estará contribuindo
para o aumento das estatísticas do número de usuários no mundo, país, sua
cidade, etc.
Unidade 11: Documentação
http://www.vivaolinux.com.br
Site completo, 100% brasileiro, como diversos tutoriais, artigos, etc...
http://www.linuxclube.com.br
Muita informação sobre tecnologia além de noticias atualizadas e
recentes.
http://www.linuxmagazine.com.br
Revista sobre Linux, que está em sua 26ª edição.
Unidade Especial: Lista de
Programas para Linux
Acessem este site e veremos
juntos a lista de programas...
http://focalinux.cipsga.org.br/guia/inic_interm/ch-aplic.htm
Exercícios
• Crie cinco arquivos dentro de cada
subpasta num total de 5 subpastas
• Utilize para cada um destes arquivos
uma configuração de permissão
diferente
– Modo alfanumerico
– Modo octal
Exercícios
• Acesse o guia foca linux e tente
instalar um programa de sua
preferência.
• Pesquise sobre comandos APT
– Instalação
– Atualização
– Remoção
Exercícios
• Pesquise sobre os seguintes itens e
descreva seu funcionamento:
– Emuladores
– Firewall
– Sistemas de Arquivos Linux
• Leia o material da disciplina sobre comandos Linux
e identifique qual comando você tem maior
dificuldade
Dúvidas, sugestões,
questionamentos
???
“Podemos vencer pela fé, pela habilidade,
talvez até pela sorte, mas nunca sem trabalho”
Download

Parte 3