Sistema Operacional - Linux
Por: Reginaldo Neto • 27/10/2016 • Trabalho acadêmico • 7.211 Palavras (29 Páginas) • 500 Visualizações
Linux
Introdução a Filosofia do Linux
O Linux, a exemplo de qualquer sistema operacional, realiza a manipulação de dados, mas para isso ele precisa ser bem definido, com uma estrutura de arquivos e diretórios padronizada. Portanto, para cada tipo de arquivo e também de acordo com as suas funcionalidades, existe um local específico para o seu armazenamento.
Estrutura do Linux
[pic 2]
FHS – File Hierarchy Standard – é um conjunto de requerimentos técnicos que são utilizados para padronizar e estabelecer normas para a estruturação de sistemas do tipo Unix-Like, ex. Linux, BSD, etc.
É o FHS que define quais são os diretórios que deverão existir obrigatoriamente, a localização de arquivos específicos, etc. O intuito do FHS é tornar o Linux mais compatível entre as suas diversas distribuições, ou seja, mais portável.
Então, é o FHS que especifica que um sistema GNU/Linux deve conter obrigatoriamente os diretórios abaixo:
[pic 3]
[pic 4]
[pic 5]
Toda documentação de forma detalhada pode ser encontrada no site http://www.pathname.com/fhs/
Vejamos alguns diretórios:
/bin – Arquivos binários de comandos essenciais. São comandos que podem ser utilizados tanto pelo usuário comum quanto pelo superusuário. Os comandos que não são suficientemente essenciais para o sistema para estar no /bin estarão localizados no /usr/bin. Não crie subdiretórios no /bin. Ex: ls, cd, mkdir, rm.
/media – destinado a montagem de dispositivos removíveis.
/opt – aqui deve-se instalar os arquivos binários pré-compilados e programas proprietários.
/srv – destinado a centralização de serviços como em um servidor de arquivos ou de páginas web.
/home – contém os diretórios pessoais dos usuários.
/proc – este não faz parte do arquivo de sistema, ou seja, não ocupa espaço no disco, ele é um sistema de arquivos virtual que disponibiliza acesso as informações do sistema, processamento do kernel, interrupções, memória, em forma de arquivos para os administradores do sistema consultarem.
Ex: # cat/proc/cpuinfo
/boot – contém os arquivos de boot. Boot loader e imagem do kernel.
/usr – contém todos os programas que não são essenciais para o sistema, mas que seguem o padrão GNU/Linux. São programas não proprietários. Este é considerado como uma hierarquia secundária, pois perde apenas para o diretório raiz. As bibliotecas necessárias para as aplicações em /usr não pertencem a /lib, e sim a /usr/lib.
/usr/local – este é um subdiretório dos mais importantes, pois nele ficam os programas instalados após o “pacote básico” do Sistema Operacional. Alguns sistemas instalam tanto no /usr quanto no /usr/local, portanto cheque sempre os dois e inclua os dois na variável PATH.
/dev – contém os arquivos de dispositivo de entrada e saída. Este diretório não contém arquivos de dados que façam sentido, mas que podem ser acessados, conforme o caso, por programas que editam, filtram ou processam de maneira geral. Todo cuidado é pouco com este diretório.
/etc – arquivos de configuração do sistema. Ex: fstab (tabela do filesystem), inittab (configuração da inicialização do sistema para cada nível).
/lib – são as bibliotecas compartilhadas e que são essenciais para a execução dos arquivos contidos nos diretórios /bin e /sbin, além de conter os módulos do kernel.
/mnt – é destinado à montagem de sistemas de arquivos remotos.
/sbin – contém todos os executáveis que só o superusuário pode acessar, ou seja, são executáveis que são essenciais à administração do sistema, como fdisk, cfdisk, ifconfig, mkfs, fsck, etc. Os utilitários para administrar o sistema estão armazenados em /sbin, /usr/sbin e /usr/local/sbin (mas o essencial fica no /sbin).
/tmp – guarda todos os arquivos temporários e é um diretório de uso comum. Este diretório é limpo a cada inicialização, portanto não deixe nada importante aqui.
/root – diretório pessoal do superusuário
/var – tem um conteúdo variável destinado à tarefas administrativas, como armazenamento de logs, spool de impressão, etc.
Particionamento de HD
Basicamente temos dois grandes motivos para particionar o HD, ou seja, fraciona-lo em pequenos pedaços, que são:
- Segurança;
- A partição fica independente do sistema.
Para particionar um HD deve-se levar em consideração algumas informações:
- Tamanho do HD;
- Função da máquina (servidor ou desktop);
- Ambiente interno (quantidade de usuários);
- Tamanho da memória RAM.
Segue abaixo os diretórios mais recomendados para deixar em uma partição separada.
/tmp – arquivos temporários
Motivo: dessa forma o sistema consegue garantir que os programas que necessitem criar arquivos temporários durante o boot do sistema, vão levantar sem problemas.
/home – dados pessoais
Motivo: por segurança e, caso haja a necessidade de definir cotas de discos no sistema para os usuários, o sistema de cotas só trabalha a nível de partição.
/boot – arquivos de boot e kernel.
Motivo: Garante que o sistema irá inicializar mesmo se outras partições estiverem com problemas.
Swap – arquivo de troca
Motivo: memória de troca, auxiliar da memória RAM. Regra geral: 2x a memória RAM, limitado a 1GB. Se for necessário mais que isso, indica-se fazer upgrade da memória RAM.
Comandos GNU/Linux
Nesta parte, três situações deverão ser esclarecidas antes de começar a mexer com o Linux.
Primeiro deve-se saber que ele é case sensitive.
Segundo é que existem dois tipos de comandos, os internos e os externos. Comandos internos estão dentro do próprio shell (interpretador de comandos). Comandos externos estão localizados no /bin ou /sbin
Terceiro é a permissão. Quando um comando pode ser executado por um usuário comum ele será precedido pelo símbolo ($), e quando só puder ser executado pelo superusuário, será precedido pelo símbolo (#).
...