O documento apresenta uma introdução ao software livre, discutindo licenças como GPL, LGPL e BSD, além de estrutura de diretórios e comandos básicos do Linux.
2. Licenças de
Software Livre
Para se definir as regras para utilização de um software são utilizadas licenças, por
exemplo, caso se deseje proteger os direitos autorais utiliza-se o copyright, assim
como se podem colocar diversas restrições ao uso de determinado software;
As licenças de software livre visam garantir a possibilidade de alteração e
distribuição do software, definindo as regras de utilização. Ao longo tempo diversas
licenças surgiram, apresentando de forma geral as seguintes características:
Proteger a identidade do autor;
Distribuir os códigos fontes;
Qualquer trabalho que inclua parte do software deve citar o autor;
Instalação do software em um número irrestrito de computadores;
Não restringir a venda do software;
3. Licenças GNU
GNU GPL (General Public Licence – Licença Pública Geral) , que garante acesso ao
código fonte do programa, sendo assim possível personalizá-lo ou modificá-lo;
O software pode ser distribuído com ou sem custo, mas, ao contrário do software
comercial, não existem restrições para sua utilização, podendo o comprador utilizá-lo
em um número indeterminado de máquinas, redistribuí-lo, modificá-lo ou até mesmo
cobrar pela cópia;
Entretanto, caso algum pedaço de um software licenciado pelo GNU seja utilizado,
obrigatoriamente o novo programa deverá ser licenciado conforme a licença GPL;
GNU LGPL (Library General Public License – Licença Pública Geral de Biblioteca).
Através dessa licença, as bibliotecas desenvolvidas pela GNU podem ser livremente
utilizadas em aplicações comerciais, tendo como única restrição que o programa seja
capaz de aceitar atualizações das bibliotecas livres;
GNU FDL (Free Documentation License – Licença para documentação livre), que visa
assegurar que documentos , manuais, livros sejam livres, sendo permitido a alteração,
cópia e redistribuição de forma gratuita ou comercial.
4. Licença BSD
A licença BSD (Berkeley Software Distribution), foi criada pela Universidade
de Berkeley que desenvolveu o seu próprio sistema operacional Unix
quando o mesmo passou a ser comercializado pela AT&T;
Esta licença impõe poucas limitações, tendo como objetivo disponibilizar o
desenvolvimento do software para a sociedade e ao mesmo tempo permitir
que um financiador privado faça uso da pesquisa pra seus fins proprietários;
Qualquer pessoa pode alterar o programa e comercializá-lo como se fosse
de sua autoria;
Esta licença é bastante utilizada pelos desenvolvedores comerciais como
DEC e Sun, no entanto, existem softwares gratuitos que o utilizam esta
licença tais como os sistemas operacionais FreeBSD e OpenBSD e os
programas BIND, o Apache e o Sendmail
12. Estrutura
do
GNU/Linux
Para manipular estes dados, ele possui uma estrutura de arquivos e diretórios
bem definida e padronizada;
Para cada tipo de arquivo e de acordo com suas funcionalidades e importância,
existe um local especifico para seu armazenamento;
FHS – Filesystem Hierarchy Standard – é um conjunto de requerimentos
técnicos que são usados para padronizar e estabelecer normas para estruturar
sistemas Unix-Like (Linux, BSD etc);
É ela quem define quais são os diretórios que deverão existir, a localização dos
arquivos de configuração etc., com o intuito de padronizar o sistema para o
torná-lo mais portável, ou seja, a fim de conseguir compatibilidade entre as
distribuições de Linux;
http://www.pathname.com/fhs/;
13. Estrutura
do
GNU/Linux
O diretório “/” é o diretório raiz,
tudo nasce a partir dele, seria o
“C:” do Windows;
Todos os outros diretórios do
Linux ficam abaixo desse;
Essa comparação é injusta, pois
a estrutura de arquivos do Linux
é bem mais organizada e
definida!!!
Dentro do diretório raíz
encontramos os diretórios e
subdiretórios do nosso linux.
14. Estrutura
do
GNU/Linux
Qual o conteúdo do diretório /bin ?
Contém os executáveis essenciais a todos os usuários do sistema, como os
comandos ls, cd, mkdir, rm, mv etc.
Qual o conteúdo do diretório /media ?
Diretório destinado à montagem de dispositivos removíveis.
Qual o conteúdo do diretório /opt ?
Diretório destinado à instalação de binários pré-compilados e programas
proprietários.
Qual o conteúdo do diretório /srv ?
Diretório destinado à centralização de serviços como em um servidor de
arquivos ou servidor de páginas web por exemplo.
Qual o conteúdo do diretório /home ?
Destina-se a contem os diretórios pessoais dos usuários.
15. Estrutura
do
GNU/Linux
Qual o conteúdo do diretório /proc ?
Na verdade, o seu conteúdo não faz parte dos arquivos de sistema (não ocupa
espaço no HD). Ele é apenas um sistema de arquivo virtual para que os
administradores do sistema tenham acesso as informações do processamento
do kernel em forma de arquivos para consulta;
Nele encontramos arquivos com a configuração atual do sistema;
Exemplo prático. Como eu posso ver informações da minha CPU?
# cat /proc/cpuinfo
Qual o conteúdo do diretório /boot ?
Contém os arquivos necessários para o boot do sistema, como os arquivos do
boot loader e a imagem do kernel;
Qual o conteúdo do diretório /etc?
Contém os arquivos de configuração sistema.
16. Estrutura
do
GNU/Linux
Qual o conteúdo do diretório /usr?
Contém todos os outros programas que não são essenciais ao sistema e
seguem o padrão GNU/Linux (programas não proprietários), exemplos são o
browser firefox, gerenciador de janelas etc;
É tão grande que é considerado uma hierárquia secundária, perdendo apenas
para o diretório raiz (/);
As bibliotecas necessárias para as aplicações hospedadas em /usr não
pertencem a /lib, e sim a /usr/lib;
Qual o conteúdo do diretório /dev ?
Contém os arquivos de dispositivos. O Linux trabalha com dispositivos (falando
em hardware) como arquivos;
Ou seja, para cada dispositivo que eu tenho na máquina, terá um arquivo
dispositivo para ele em /dev;
Por exemplo, todos os arquivos gravados no "arquivo" /dev/dsp serão
reproduzidos pela placa de som, enquanto o "arquivo" /dev/ttyS0 contém os
dados enviados pelo mouse (ou outro dispositivo conectado na porta serial 1).
17. Estrutura
do
GNU/Linux
Qual o conteúdo do diretório /lib?
Contém bibliotecas compartilhadas (essenciais) necessárias para a execução
dos arquivos contidos nos diretórios /bin e /sbin, além de conter os módulos do
kernel;
A função destas bibliotecas lembra um pouco a dos arquivos .dll no Windows!! :P
Qual o conteúdo do diretório /mnt ?
Diretório destinado à montagem de sistema de arquivos remotos;
Qual o conteúdo do diretório /sbin?
Contém os executáveis essenciais à administração do sistema, ou seja,
essenciais apenas ao usuário root. Nesse diretório estão comandos como fdisk,
cfdisk, ifconfig, mkfs, fsck etc;
root=raiz=ADMINISTRADOR DO SISTEMA
EVITE SEMPRE USAR ESSE USUÁRIO DE FORMA DESNECESSÁRIA
18. Estrutura
do
GNU/Linux
Qual o conteúdo do diretório /tmp ?
Diretório de uso comum a todos os usuários e guarda arquivos temporários;
Não deixe arquivos importantes aqui, pois ele é limpo a cada inicialização;
Qual o conteúdo do diretório /root ?
Destina-se a ser o diretório pessoal do superusuário root;
Qual o conteúdo do diretório /var ?
Diretório de conteúdo variável destinado principalmente à tarefas
administrativas, como armazenar os logs do sistema, spool de impressão etc;
19. Interface Texto
SHELL
Terminal ou linha de comando;
É um código que fornece uma interface de comunicação entre o usuário e o
sistema computacional;
Interpretador de comandos;
No Linux utilizamos com mais frequência o shell conhecido como BASH;
Jeito mais simples de uso do sistema!
Antiquado?...SIM, mas muito útil.
AMADO POR LINUXERS, PROGRAMADORES E DESENVOLVEDORES.
ALGO CONTRA?????
Calma!!!
Alguns comandos básicos;
20. Interface Texto
SHELL
Uma coisa importante antes de mexer no Linux é que ele é Case Sensitive. Ou
seja, ele diferencia letras maiúsculas de letras minúsculas.
Então, se eu tenho um arquivo chamado:
teste.txt
Ele é diferente do arquivo que chama:
Teste.txt
Prática:
Crie um diretório chamado "teste" em seu /home. Por exemplo /home/maria
21. Interface Texto
SHELL
Eu também posso criar um diretório se eu estiver em outro diretório, mas eu
precisarei indicar o caminho completo onde ficará esse novo diretório;
Dica:
Você pode usar a tecla TAB do teclado para auto-completar um comando, assim
você não precisa ter que fica digitando ele todo!
Dica:
Se estou no diretório /home/maria e vou para o diretório /tmp com:
$ cd /tmp
Se eu digitar o comando abaixo eu volto para o diretório que eu estava antes:
$ cd -
22. Interface Texto
SHELL
Para ir direto para o home do usuário corrente sem colocar o caminho completo,
faça:
$ cd ~
Crie os arquivos no diretório teste, cada um chamado assim: arq1, arq2, arq3,
sessao1, sessao2 sessao3 sapo satisfacao
23. Interface Texto
SHELL
Para alterarmos a data e hora que esse diretório foi criado, também usamos o
comando touch. Por exemplo:
$ touch aniversario
$ touch -t 200809161940 aniversario
A opção -t é para escolher o tempo que vamos alterar
200809161940 tem o seguinte formato AAAAMMDDHHHH
A - ano, M - mes, D - dia, H - hora
Como eu posso criar um arquivo oculto no linux?
$ touch .arq4
E como poderei visualizá-lo? Será que o comando ls sozinho
consegue listar arquivos ocultos? Ou devo passar algum parâmetro?
$ ls -a
24. Interface Texto
SHELL
Ok, agora mudei de idéia e quero que o arquivo não seja mais oculto. O que
posso fazer para que isso aconteça?
$ mv .arq4 arq4 (basta renomear o arquivo)
Para remover o arquivo:
$ rm arq4
Para copiar um diretório e seu conteúdo precisamos usar o parâmetro R
com comando cp:
25. Interface Texto
SHELL
cd – muda de diretório;
cd - – volta para o último diretório;
cd ~ – volta para o diretório do usuário;
pwd – informa qual o diretório corrente;
touch – cria arquivos e muda datas;
mkdir – cria diretórios;
ls – lista conteúdo de diretório;
ls -a – lista conteúdo mostrando diretórios ocultos;
mv – renomeia arquivos ou move eles de lugar;
cp – copia arquivos entre diretórios
cp -R – copia arquivos e diretórios
27. Interfaces
Gráficas
KDE (www.kde.org/)
Interface baseada em janelas e cliques via dispositivo apontador(mouse);
Software de origem alemã, o KDE (sigla inglesa para K Desktop
Environment) é, simultaneamente, um ambiente gráfico (que inclui um
gerenciador de janelas) e uma plataforma de desenvolvimento livre e de
código aberto, desenvolvido com base na biblioteca Qt;
Voltado inicialmente aos utilizadores de platafomas Unix, funciona também
no Mac OS X utilizando o seu servidor X11 e no Windows. Juntamente com
o GNOME é um dos mais populares ambientes gráficos usados no Linux.