Read in English - Leer en español
Powered by Google Translate

O Linux - Parte 1: Sistemas de arquivo e acesso a disco

1 - O que é o Linux?

O GNU/Linux é um sistema operacional similar ao Unix, vindo da união do projeto GNU (aplicativos e gerenciamento do software), criado por Richard Stallman e o kernel (núcleo, camada mais próxima do hardware, gerenciador de recursos de um sistema), criado por Linus Torvalds.

Na verdade, o Linux é apenas o nome do kernel, não um sistema operacional, claro que sendo a principal camada de um sistema, sendo então, indispensável.

Com isso, há as distribuições, que é a junção do kernel com programas diversos. Entre elas, as mais conhecidas são Slackware, RedHat, SuSE, Debian além de outros.

O grande diferencial do Linux dos outros sistemas, é que ele atua isoladamente dos processos, fazendo com que haja grande estabilidade do sistema, uma vez que o comprometimento de um processo não comprometerá o kernel como um todo.

As possibilidades de travamentos se dão por causa de hardware. Como pane em placas, por exemplo.

2 - Os Sistemas de arquivos...

O File System, refere-se ao modo como os dados são armazenados, organizados e acessados pelo sistema operacional. Este processo é conhecido como formatação lógica do disco.

Dentre os FS, os mais conhecidos estão:

• Baseado no Windows:
 FAT32 – Criado em 1996 pela Microsoft para substituir o FAT16 usado pelo MS-DOS e com uma série de limitações. O FAT32 foi implementado nos sistemas Windows 95 (OSR2), 98 e Millennium e ainda possui compatibilidade com os sistemas Windows 2000 e XP, que utilizam um sistema de arquivos mais moderno, o NTFS.

 NTFS – Usado com tecnologia de Journaling, permite que os dados não se percam com facilidade. Além disso, possue um excelente gerenciamento de acesso à discos por usuários, através de gerenciadores. Permite menor disperdício e maior armazenamento de dados

• Baseado no Linux:
 ext2 – Projetado para corrigir falhas do ext, respeitando a semnatica do Unix, podendo ser notada na utilização dos grupos de blocos, análogos aos grupos de cilindros utilizados pelo UFS. Os blocos consistem em um conunto de setores –sendo que cada setor possue 512 bytes – sendo a menor unidade de alocação para ext2, podendo variar de 1k a 4k.

 ext3 – Nova geração de FS ext2, incluindo o suporte a journaling.

 ReiserFS – Mais ágil no processo de busca por arquivos, além do suporte a journaling. Neste sistema, não se usam EXATAMENTE blocos de bytes fixos para armazenar um arquivo. Ele usa os 4K, combinado a uma técnica chamada de tail packing, que acomoda melhor os arquivos pequenos, economizando espaço em disco.

Inodes são informações armazenadas referentes a um arquivo. Essas informações são tecnicamente chamadas de metadados. Assim, o inode de um arquivo é um conjunto de metadados que definem quem é o dono e o grupo do arquivo, permissões de leitura/escrita, data e hora de criação e o local em disco onde ele se encontra.

A técnica de journaling consiste em registrar todas as alterações de metadados e dados realizados em um LOG serial no disco, antes que tais alterações aconteçam. Isso permite a recuperação rápida de perda de dados em caso de falhas, como queda de energia.

Há de se frizar que, o ext3 é mais lento que o ReiserFS, pelo simples fato que este salva metadados e dados, sendo que ReiserFS faz o journal dos metadados, apenas. Outra: O ext3 pode se corromper com queda de energia, apesar do journaling. Em ReiserFS, alguns arquivos podem ficar truncados simplismente, não havendo perda de partições.

Quando algo é salvo no HD, é salvo em blocos de tantos bytes. Em sistemas Microsoft, chamamos os blocos de clusters.

A escolha do File System, dependerá de suas necessidades. Com exceção de que o ReiserFS não é recomendado para HD’s com menos do que 200MB, a melhor escolha é sempre ext3.

3 - Como funcionam os esquemas de acesso a disco...

Uma outra coisa importante de se verificar é como os dispositivos de armazenamento em massa são identificados. Sobretudo antes, há de se ter um conhecimento básico sobre como os dispositivos são conectados ao PC.

Os dispositivos em sua grande maioria até o presente momento, são instalados em dispositivos IDE. Estes dispositivos possuem quatro conexões de entrada:

• IDE Primária: uma MASTER e outra SLAVE;
• IDE Secundária: Uma MASTER e outra SLAVE.

Nos sistemas Microsoft, estes dispositivos, se não particionados, são identificados, respectivamente, pelos rótulos: C: , D: , E: , e E: .

Em sistemas Linux, estes são rotulados, respectivamente, como hda, hdb, hdc e hdd, supondo que estes não estejam particionados. Quando estão particionados, acrescenta-se um número ao dispositivo IDE.


Exemplo:
Suponhamos que o HD na IDE primária MASTER esteja particionada em três sistemas de arquivos, NTFS, FAT32 e ReiserFS. O Windows iria reconhecer, por defaut, apenas dois sistemas de arquivos, que seriam NTFS e FAT32. Estes seriam identificados pelos rótulos C: e D:. Mas o Linux iria reconhecer todos os três, identificando-os como hda1, hda2 e hda3, respectivamente.

Além dos dispositivos IDE, existem também os SCSI. A identificação pelos sistemas Microsoft são os mesmos. No Linux, são identificados como sda. O esquema de identificação de partições é o mesmo, identificando-os com números. Identificados assim também (como sda), os dispositivos SATA e pendrives – observe que todos estes dispositivos são seriais, não paralelos.

Há também, os drives de disquetes. Estes são identificados nos sistemas Microsoft com as letras A: e B:. Em sistemas Linux, identificamos estes pelo rótulo fd0 e fd1, respectivamente.

Muda-se também, a forma de acesso a estes a estes discos. Quando estamos usando o modo Shell no Windows (ambiente DOS, prompt de comando ou CMD, como preferir), digitamos A: e ele entra facilmente no disquete. No Linux, precisamos primeiro montar o dispositivo para acessá-los depois – assunto mais a frente, quando formos estudar comandos.

4 - Quanto a sistemas em Dual-Boot...

Dual-Boot quer dizer que podemos instalar dois sistemas operacionais no mesmo dispositivo. Quando você for optar por isso, tem de saber a seqüência de instalações de sistemas.

Primeiro, instalamos o Windows, depois o Linux. Isso porque o Linux instala o GRUB no setor de boot do HD (que chamamos de MBR). O Windows não lê o GRUB, e apaga se este for instalado por segundo.

É sempre interessante ter a nossa disposição, uma espécie de laboratórios para experiencia.
Supondo que você esteja utilizando o Windows agora, mesmo que você tenha uma única partição no seu HD, isso não será problema, pois nas versões mais atuais que utilizam o Debian, ou qualquer outra distribuição de Linux com um ambiente gráfico mais bem trabalhado, como é o caso do Kurumin, haverá sempre um gerenciador de partições disponíveis, como o GParted, por exemplo. É claro que há outras opções mais conhecidas, como o Partition Magic, por exemplo. Mas não se preocupe, são muito parecidos
Supondo que, por exemplo, que você já tyenha o Windows Instalado no vosso computador, o que é normal.

Mas você não tem aquiela famosa partição só pra guardar arquivos, já que você precisa formatar o PC regularmente. Na hora de instalar o Linux, usa-se os gerenciadores de partições, primeiro diminuindo C:, e criando uma outra para a instalação do Linux. No caso de ter uma partição só para arquivos, o esquema é o mesmo, sem modificação.
Recomenda-se verificar qual sistema de arquivos você estará utilizando no Windows.

Quando usando NTFS, não haverá muito problema na hora de diminuir a partição de C:. Quando o sistema de arquivos for FAT32, recomenda-se desfragmentar o HD antes de "pensar" em instalar o Linux, para evitar perda de arquivos na hora do reparticionamento.
Particularmente, nunca tentei repaticionar usando FAT32 como FileSys do Windows. Mas acredito que, por medida de segurança será necessário.

Uma outra coisa importante sobre os sistemas de arquivos na hora de reparticionar:
Todo Linux precisa de, na verdade, duas partições para funcionamento correto: O File System do sistema (Ext2, Ext3, ReiserFS) e o do Swap. O Swap é uma extensão da memória RAM – mesma função da memória virtual em sistemas Microsoft Windows. Sem ele, o sistema não funcionará da maneira correta, haja vista que ele foi programado para uso junto ao SWAP.

Conclusão

Será sempre bem vindo uma instalação em dual-boot, devido à falta de prática, mas a curiosidade de aprender.

Não tenha medo na hora de instalar, apenas preste muita atenção antes de confirmar qualquer decisão eletrônica.

Nunca esqueça da principal lição de hoje, sobre o acesso à discos, pois este te acompanhara pro resto de seu uso de Linux.


Próxima parte
___
Referências

Livro
FILHO, João Eriberto Mota; Sistema operacional GNU/Linux em redes TCP/IP; 13ª edição; 2006; Apostila da Escola Nacional de Governo.

O Linux - Parte 2: Ambiente Shell e caracteres

Introdução
Quando falamos em Linux, deve ser levado em consideração que lidaremos exclusivamente com ambiente shell. O ambiente shell é aquela tela preta, onde digitamos linhas de comandos, parecido com o MS-DOS. Mas sistemas Microsoft são completamente diferentes dos sistemas Linux, como veremos. Mudam a estrutura de pasta, barras...


O ambiente Shell...
É aquela famosa tela preta onde digitamos as linhas de comandos para que sejam executados o que queremos.aquei é realmente vamos focar nossos estudos.


As barras comum e invertida...
No Linux, pouco se usa a barra invertida “ \ ”. Ela só é usada para dois fins:

Indicar que um comando continua na próxima linha ou protejer um caractere para que este não seja interpretado como recurso de comando.

Exemplo:

# free \
-m
Indica que o comando free só será executado na próxima linha, quando completado.

# echo \$a
$a
Exibira a palavra $a ao invés de interpretar $ como variável de comando.

A barra comum “/” no Linux, será usada quando nos referirmos a diretórios (ou pastas, se preferir)

Os caracteres maiúsculos e minúsculos...
O Linux diferencia os caracteres maiúsculos e minúsculos, sendo que “A” é diferente de “a”, podendo assim, existir várias formas de palavras, principalmente quando falamos de usuários. Poderemoas assim, ter vários “jose”s cadastrados no sistema, por exemplo.

Arquivos e diretórios...
No Linux, diferentemente dos sistemas Microsoft, não existe a “obrigação” das extensões para identificar arquivos, salvo em alguns programas, como o OpenOffice, ou arquivos de multimídia, por exemplo.


Parte Anterior
Próxima Parte
___
Referências

Livro
FILHO, João Eriberto Mota; Sistema operacional GNU/Linux em redes TCP/IP; 13ª edição; 2006; Apostila da Escola Nacional de Governo.

O Linux - parte 3: Login e gerenciamento de usuários

Apresentação
A segurança no Linux, se baseia no fato de que este é um sistema operacional que opera basicamente em redes. Para isso, vamos estudar nesta parte, alguns padrões que são encontrados em todos os SO’s baseados em ambiente de rede: o login.

No Linux, você somente começa a operar, identificando-se, primeiramente...

Realizando login
O login, é um conjunto de entrada de dados que identificam um usuário, classificando-o. Há basicamente dois usuários: administrador e cliente.

O administrador é um usuário avançado que detêm todos os poderes dentro de um SO, como: adicionar, remover, editar, limitar usuários entre outras coisas. Este usuário no Linux chama-se Root.

O cliente é um usuário que geralmente está limitado a algumas tarefas, sendo capaz de editar somente a sua conta de usuário, na maioria dos sistemas operacionais. Este usuário tem pouco ou nehum acesso à configurações avançadas de um sistema, podendo ter qualquer nome - observando sempre as letras maiúsculas e minúsculas.

No Linux, para identificar o Root de um usuário comum, usam-se caracteres especiais # (cerquilha) e $ (cifrão), respectivamente.

Quando o Linux é iniciado e todo o sistema foi carregado com êxito, a primeira coisa que o sistema irá pedir é que você se identifique, usando login, sendo caracterizado com nome de usuário e senha.

Lá você digita seu username (um nome qualquer que o identifique) ou o usuário root, seguido de uma senha

Operações multiusuário
O Linux permite que o sistema trabalhe com vários usuários logados ao mesmo tempo, tanto local quanto remoto. Quando o usuário é local, os terminais são acessados com teclas de atalho:

ALT+F1,
ALT+F2, ALT+F3, ALT+F4, ALT+F5 e ALT+F6.

Cada terminal será acessado por um usuário, podendo até ter o mesmo usuário em outros terminais ao mesmo tenpo.

Encerrando uma sessão
Uma sessão de usuário pode ser encerrada a qualquer momento, usando o comando logout ou exit na linha de comando do sistema, tanto para usuário comum quanto para usuário root.

Adicionando usuários
Somente o usuário root poderá adicionar usuários, devendo-se então, logar-se como tal.

Já logado, o usuário deverá executar o comando adduser seguido do nome de usuário pretendido.

Ex:
# adduser nosf

Em seguida, ele irá criar toda a estrutura da conta de usuário, pedindo-lhe senha logo após. A senha não será exibida quando digitada. Logo após, confirme a senha, digitando-a novamente.

Daí em diante, informações pessoais serão requisitadas a você, sendo todas opcionais, terminando com a famosa pergunta: Estas informações estão corretas?

Alterndo a senha de usuários no Linux
Para alterar uma senha, inclusive a do root, devemos emitir o comando passwd, digitando o nome de usuário que deseja-se alterar. O usuário root pode alterar a senha de qualquer usuário disponível mas somente o root pode alterar a prórpia senha. Um usuário comum poderá somente mudar a própria senha.

Ex:
# passwd nosf

Logo após, ele pedirar para que você altere e confirme a senha.

Remover usuários no Linux
O comando userdel será emitido, quando o root quiser remover contas de usuário, mantendo ou não, as informações nela contidas, como arquivos, fotos, filmes...

Ex:
# userdel [-r] nosf

[-r] remover todos os arquivos e diretórios de um usuário

OBS: Lembre-se sempre que o Linux diferencia letras maiúsculas de minúsculas.


Próxima parte
Parte anterior
____
Referências

Livro
FILHO, João Eriberto Mota; Sistema operacional GNU/Linux em redes TCP/IP; 13ª edição; 2006; Apostila da Escola Nacional de Governo.

Site
http://focalinux.cipsga.org.br