Google

sexta-feira, 11 de julho de 2008

Compilar Software no Linux

Ola Pessoal,

Como ja instamos o linux, conhecemos a estrutura de arquivos e comandos, agora vamos conhecer um pouco sobre compilacao de software no linux.

Abaixo segue os passos para compilar um programa no linux.

Para a compilação de um programa são necessários 3 comandos básicos:

./configure
make
make install

O primeiro comando (./configure) é um script que irá configurar a compilação, isto é, faz uma pesquisa à procura de dependências, se existe algum compilador no sistema e se este compilador consegue criar executáveis e ainda procura outras exigências do próprio programa. Se algo de errado acontecer com esta pesquisa, o script automaticamente pára e mostra uma mensagem de erro. Estas mensagens são simples e diretas, se uma pessoa conhecer um pouco de inglês facilmente identifica o erro.

O segundo comando (make) vai juntar o (os vários) arquivo(s) “makefile” que é (são) criado(s) pelo configure. Nestes arquivos estão todas as configurações que vão ser aplicadas no momento da compilação, iso é, após iniciar-mos o “make”, a compilação começa, no configure nada está sendo compilado… ainda. Se acontecer algum erro (caso raro) temos várias opções: Mandar um email ao pessoal que desenvolveu o programa, ou então poderá ser a falta de uma biblioteca que não foi verificada quando fez o ./configure. O processo de compilação poderá ser demorado conforme da aplicação.

Por fim, o terceiro comando (make install) é o mesmo que o “make install” mas com outra finalidade. É com este comando que vamos instalar os executáveis já compilados e outros arquivos necessários ao programa. Como este comando instala um programa, é necessário que seja executado como root, pois o programa copia pastas que o utilizador “normal” não tem acesso de escrita.

Estes são os comandos básicos para se compilar qualquer programa em Linux. Convém é ler o arquivo README ou INSTALL que acompanha o arquivo zipado para mais detalhes.

ahhh antes que me esqueça, aqui deixo algumas dicas de ultima hora:

=> Existem programas que não trazem o tal script do “configure”, estes arquivos normalmente são drivers. Quando tal acontecer, pode começar o processo de compilação pelo segundo comando.

=> Se gosta de ter o seu sistema organizado, pode utilizar um prefixo comum. Para utilizar este prefixo, adicione –prefix= no ./configure. Geralmente usa-se o –prefix=/usr, ficando o comando: ./configure –prefix=/usr

=> Para saber mais sobre o ./configure, digite ./configure –help

Até a próxima!! Utilizem, compilem. Só assim aparecão dúvidas e aprenderemos mais com elas.

Abraços.

Sistema de Arquivos

A principal diferença entre o sistema de Linux e um sistema Windows é o sistema de arquivos. No linux não são utilizadas letras para os drivers, para identificar as diferentes partições. Sob o Linux, existe apenas um único diretório principal. Você pode relacionar isto com o drive C: do ambiente DOS. Cada partição em seu sistema é montada como um diretório dentro do diretório principal. É como se você tivesse um disco rígido expansível.

Chamamos o diretório principal de diretório root (ou raiz), e o mesmo é representado por uma barra (/). Este conceito pode soar estranho, mas isso torna sua vida mais fácil quando você quer adicionar mais espaço. Por exemplo, vamos dizer que você ficou sem espaço em disco no diretório /home. Muitas pessoas ao instalarem o linux criam uma única partição raiz. Bem, como uma partição pode ser montada para qualquer diretório, você só precisa ir até a loja mais próxima e comprar um disco rígido novo e montá-lo como /home. Você agora colocou mais espaço em seu sistema. E tudo sem precisar mover nada de lugar.

Abaixo, você irá encontrar as descrições dos diretórios mais importantes:

bin - Programas essenciais para os usuários são armazenados aqui. Isso representa um conjunto mínimo de programas requeridos pelo usuário para a utilização do sistema. Coisas como o shell e os comandos do sistema de arquivos (ls, cp, e assim por diante) são armazenados aqui. O diretório /bin também não recebe modificação após a instalação.

boot - Arquivos que são utilizados pelo Linux Loader (LILO). Esse diretório também recebe pequenas modificações após a instalação.

dev - Tudo no Linux é tratado como arquivo, inclusive dispositivos de hardware como as portas seriais, discos rígidos, etc. Em ordem de acessar esses dispositivos, um arquivo especial chamado de dispositivo de conexão tem de estar presente. Todos os dispositivos de conexão são armazenados no diretório /dev. Você vai descobrir que isso é verdade através dos muitos sistemas operacionais baseados em Unix.

etc - Esse diretório mantém os arquivos de configuração do sistema. Todos os arquivos de configuração do X Window, o banco de dados do usuário, até o sistema de inicialização de scripts. Com o tempo, o administrador do sistema ficará bastante familiarizado com este diretório.


home - O Linux é um sistema operacional multi-usuário. A cada usuário no sistema é dado uma conta e um diretório único para seus arquivos pessoais. Este diretório é chamado de diretório raiz do usuário. O diretório /home é fornecido como localização padrão para os diretórios raiz do usuário.

lib - As bibliotecas do sistema que são necessárias para operações básicas do sistema são armazenadas aqui. A biblioteca C, o carregador dinâmico, as bibliotecas ncurses e os módulos do kernel estão entre as coisas aqui armazenadas.

mnt - Este diretório contém pontos de montagem temporários para discos rígidos em operação ou drivers removíveis. Aqui você encontrará os pontos de montagem para o seus derives de CD-ROM e de disquete.

opt - Pacotes de software opcionais. A idéia por trás do diretório /opt é que cada pacote de software instalado no diretório /opt/pacote de software, que seja fácil de remover depois.

proc - Este é um diretório único. Ele não é realmente parte do sistema de arquivos, mas sim um sistema de arquivos virtual que provê acesso às informações do kernel. Vários pedaços de informação que o kernel quer que você conheça são transportados a você através de arquivos no diretório /proc. Você pode enviar informação para o kernel através desses mesmos arquivos. Tente o comando cat /proc/cpuinfo.

root - O administrador do sistema é conhecido como root no sistema. O diretório raíz do usuário root é mantido em /root em vez de /home/root. A razão é simples. O que acontece se o diretório /home estiver em uma partição diferente do diretório / e não puder ser montado? O usuário //root irá querer logar e repara o problema. Se o seu diretório de usuário raíz estiver no sistema de arquivos danificado, será meio difícil para ele conseguir logar-se.

sbin - Programas essenciais que são rodados pelo usuário root e durante o processo de boot do sistema são mantidos aqui. Usuários normais não irão rodar programas neste diretório.

tmp - Local de armazenagem temporária. Todos os usuários possuem acesso de leitura e escrita neste diretório.

usr - Este é o maior diretório em um sistema Linux. Tudo o mais vem aqui, programas, documentação, o código-fonte do kernel. Este é o diretório que você mais irá gostar de estar instalando programas.

var - Arquivos de log do sistema, informações de cache, e arquivos protegidos de programas são armazenados aqui. Este é o diretório para mudanças freqüentes de informação.
Depois da instalação e da descrição do sistema de arquivos você já tem uma boa noção do funcionamento do linux, não tenha medo, instale, reinstale só assim você aprenderá.

Lembre-se é com os erros e que aprendemos mais, por isso tente, nunca desanime.

Comandos do Linux

Comandos do Linux:

É importante frisar que, dependendo de sua distribuição Linux, um o outro comando pode estar indisponível. Além disso, alguns comandos só podem ser executados por usuários com privilégios de administrador.

Abaixo a relação com alguns comandos básicos:

cal – exibe um calendário;

cat arquivo: mostra o conteúdo de um arquivo;

cd – abre um diretório;

chmod – comando para alterar as permissões de arquivos e diretórios;

clear – limpa a tela, limpa a linha de comando até o topo;

cp origem destino – copia um arquivo ou diretório para outro local;

date – mostra a data e a hora atual;

df – mostra as partições usadas;

du diretório – mostra o tamanho de um diretório;

emacs – abre o editor de textos emacs;

file arquivo – mostra informações de um arquivo;

find diretório parâmetro termo – O comando find serve para localizar informações, de acordo com o termo da busca, abaixo os parâmetros;

name – busca por nome;

type – busca por tipo;

size – busca pelo tamanho do arquivo;

mtime – busca por data da modificação;

finger usuário – exibe informações sobre o usuário indicado;

free – mostra a quantidade de memória RAM disponível;

halt – Desliga o computador;

history – mostra os últimos comandos inseridos;

id usuário – mostra qual o número de identificação do usuário especificado no sistema;

kill – encerra processos em andamento;

ls – lista os arquivos e diretórios da pasta atual;

lpr arquivo – imprime o arquivo especificado;

lpq – mostra o status da fila de impressão;

lprm – remove trabalhos da fila de impressão;

lynx – abre o navegador da internet apenas em modo, desde que instalado no sistema;

mv origem destino – tem a mesma função do comando cp, só que ao inveés de copiar, move o arquivo ou o diretório para o destino especificado;

mkdir diretório – cria um diretório;

passwd – altera sua senha;

ps – mostra os processos em execução;

pwd – mostra o diretório em que você está;

reboot – reinicia o sistema;

rm arquivo – apaga o arquivo especificado;

rmdir diretório – apaga o diretório especificado, desde que vazio;

shutdown -h now – desliga o computador;

shutdown –r now – reinicia o sistema imediatamente, recomendável;

su – para o usuário administrador;

tar –xzvf arquivo.tar.gz – extrai um arquivo compactado em tar.gz;

telnet – ativa o serviço Telnet em uma máquina;

top – exibe a lista de processos, conforme os recursos de memória consumidos;

uname – mostra informações do sistema operacional e do computador;

useradd usuário – cria uma nova conta usuário;

userdel usuário – apaga a conta do usuário especificado;

uptime – mostra a quantas horas seu computador está ligado;

vi – inicia o editor de textos vi;

whereis nome – procura pelo binário do arquivo indicado;

w – mostra os usuários logados;

who – mostra também quem está usando o sistema;
Desativar e ativar uma placa de rede:

Desativa link de rede - ip link set dev eth0 down

Ativa link de rede - ip link set dev eth0 up

Desativa - ifconfig eth1 down

Ativa - ifconfig eth1 up

Apagar LOG - cat /dev/null > /var/log/debug

Esses são alguns comandos que são extremamente úteis para um usuário linux.

Abraços e até a próxima.

quarta-feira, 9 de julho de 2008

Instalação do Linux - Parte II

O programa setup

Uma vez criada as partições, estamos prontos para instalar o Slackware. O próximo passo da instalação é executar o programa setup. Para executá-lo simplesmente digite setup no prompt. O setup possui um sistema de menu na qual permite que você instale os pacotes do Slackware e configure seu sistema.

O processo de instalação é algo do tipo:

Selecione as opções de acordo como elas são listadas no programa setup. (É claro que você pode mudar a ordem de escolha das opções, não seguindo passo-a-passo o programa.) Os itens do menu são selecionados usando as teclas seta para cima e seta para baixo, e os botões OK e Cancel são usados para proseguir ou para voltar. Como alternativa, você pode escolher a opção desejada, teclando a letra correspondente destacada do menu para cada opção. Para selecionar as opções utiliza-se a barra de espaço.

Na seção help do setup você pode ver mais descrições.

HELP

Caso seja a primeira vez que você esteja instalando o Slackware, você pode dar uma olhada na tela de ajuda. Assim terá uma descrição de cada parte do programa setup e instruções para navegação e para o restante da instalação.

KEYMAP

Caso necessite de um teclado diferente do padrão americano qwerty, você deverá alterá-lo nessa seção. Existe uma grande quantidade de modelos de teclado que poderá escolher.

ADDSWAP

Caso você tenha criado uma partição de swap, é aqui que você deverá habilitá-la para utilizar. As partições de swap existentes em seu disco serão exibidas automaticamente, permitindo que você selecione, pelo menos uma, para formatar e habilitar.

TARGET

Na seção target você formatará suas partições e mapeará os pontos de montagens dos sistemas de arquivos. Uma lista com as partições de seu disco rígido são mostradas. Para cada partição, poderá escolher formatar ou não. Dependendo do kernel utilizado, você poderá escolher os seguintes sistemas de arquivos reiserfs (padrão), ext3, ext2, jfs e xfs. A maioria das pessoas utilizam reiserfs ou ext3.

A partição a ser selecionada é onde o sistera root (/)deverá ser instalado. Após isso, você poderá escolher e mapear cada partição para cada sistema de arquivos de acrodo com a sua escolha. (Por exemplo, você pode querer que a sua terceira partição /dev/hda3, seja o sistemas de arquivos para o home. Isto é apenas um exemplo; crie os pontos de montagens de acordo com o seu gosto.)

SOURCE

A seção Source é onde selecionamos a mídia a partir da qual o Slackware será instalado. Atualmente, há quatro opções disponíveis. São elas: CD-ROM, uma partição no disco rígido, NFS, ou um diretório pré-montado.

A opção CD-ROM permite a instalação a partir de um CD-ROM. Há a opção de procurar automaticamente um drive de CD-ROM ou exibir uma lista da qual pode-se escolher o tipo do drive. Assegure-se de ter o CD do Slackware no seu drive antes de começar a busca.

A opção NFS pede informações da sua rede e de seu servidor NFS. O servidor NFS já deve estar configurado. Note também que não é possível usar nomes de máquina (hostnames), deve-se usar endereços IP tanto para a sua máquina, quanto para o servidor NFS (não há um serviço de resolução de nomes no disco de instalação). Naturalmente, deve ser usado o disquete network.dsk para dar suporte para a sua placa de rede.

O diretório pré-montado oferece maior flexibilidade. Use este método para instalar a partir de dispositivos como Jaz disks, pontos de montagem NFS sobre PLIP, e sistemas de arquivos FAT. Monte o sistema de arquivos em um local de sua escolha antes de executar a instalação, e então especifique esse local aqui.

SELECT

A seção Select permite escolher as séries de software que desejamos instalar. É obrigatória a instalação da série A para ter um sistema base funcional. Todas as outras séries são opcionais.

INSTALL

Considerando que tenhamos passado pelas seções "target", "source", and "select", a seção install permite selecionar pacotes dentre as séries de software escolhidas. Se não, pedirá que você volte e complete as outras seções do programa de instalação. Esta seção permite escolher dentre seis diferentes métodos de instalação: //full, newbie, menu, expert, custom, e tag path.

A opção full (completo) instala todos os pacotes das séries escolhidas na seção select. Não há mais perguntas. Este é o método de instalação mais fácil, já que não é necessário tomar quaisquer decisões quanto aos pacotes a instalar de fato. É claro que esta opção também é a que ocupa maior espaço no disco rígido.

A próxima opção é newbie (novato). Esta opção instala todos os pacotes requeridos pelas séries selecionadas. Em todos os outros pacotes há um prompt onde podemos selecionar Yes (sim), No (não), ou Skip (pular). Yes e No fazem o óbvio, enquanto Skip pula para a próxima série de software. Além disso, é exibida uma descrição e o tamanho de cada pacote para ajudar a decidir se o mesmo é necessário. Recomendamos esta opção para os novos usuários, já que ela assegura que os pacotes desejados sejam instalados. Contudo, ela é um pouco mais lenta devido às perguntas.

Menu é uma versão mais rápida e mais avançada da opção newbie. Em cada série, aparece um menu, a partir do qual pode-se selecionar todos os pacotes não requeridos que se deseja instalar. Os pacotes requeridos não aparecem nesse menu.

Para os usuários mais avançados, a instalação oferece a opção expert. Isto permite total controle sobre quais pacotes são instalados. É possível remover da seleção pacotes que são absolutamente necessários, o que resulta em um sistema entrar em colapso. Por outro lado, é possível controlar exatamente o que entra em seu sistema. Simplesmente selecione os pacotes de cada série que deseja que sejam instalados. Isto não é recomendado para os novos usuários, já que é muito fácil dar um tiro no próprio pé.

Após escolher o seu método de instalação, uma coisa ou outra abaixo vai acontecer. Se tiver selecionado full ou menu, uma tela com um menu aparecerá, permitindo a seleção dos pacotes a ser instalados. Se tiver selecionado full, os pacotes começarão a ser instalados no destino imediatamente. Se tiver selecionado newbie, os pacotes serão instalados até que se alcance um pacote opcional. Observe que é possível que o espaço em disco acabe durante a instalação. Se selecionar pacotes demais para a quantidade de espaço livre no dispositivo alvo, você terá problemas. É mais seguro selecionar alguns programas e adicionar mais depois, se necessário. Isto pode ser feito facilmente usando as ferramentas de gerenciamento de pacotes do Slackware.

CONFIGURE

A seção configure permite fazer algumas configurações básicas do sistema, agora que os pacotes já foram instalados. O que você vê depende em grande parte de que programas foram instalados. Contudo, sempre será exibido o conteúdo abaixo:

Kernel selection (Seleção do kernel)

Aqui você deverá escolher um kernel para ser instalado. Você pode instalar o kernel do disco de boot usado na instalação, do CD-ROM do Slackware, ou de outro disquete que você (sempre se antecipando) tiver preparado. Ou você pode decidir pular, sendo que então o kernel padrão será instalado e o processo continuará.

Make a boot disk (Fazer um disco de boot)

Provavelmente será uma boa idéia fazer um disco de boot para usar no futuro. Você terá a opção de formatar um disquete e, então, criar um dos dois tipos de disco de boot. O primeiro tipo, simple (simples), simplesmente (como é de se esperar) grava um kernel no disquete. Uma opção mais flexível (e altamente recomendada) é lilo, que, é claro, cria um disco de boot do lilo. É claro, você também pode decidir simplesmente continuar, de modo que não será criado um disco de boot.

Modem

Serão solicitadas informações sobre o seu modem. Mais especificamente, se você possui um modem, e, se possuir, em qual porta serial ele está.

As próximas sub-seções de configuração podem aparecer ou não, dependendo se os seus pacotes correspondentes tiverem sido instalados.

Timezone (Fuso horário)

Aqui é bem direto: será perguntado em qual fuso horário você está. Se estiver no horário Zulu, sentimos muito; a lista (extremamente longa) está em ordem alfabética, e você está no final dela.

Mouse

Esta sub-seção simplesmente pergunta que tipo de mouse você tem, e se você quer ter suporte ao mouse no console com o gpm(8) habilitado na inicialização.

Hardware clock (Relógio de hardware)

Esta sub-seção pergunta se o relógio de hardware do seu computador está ajustado no Tempo Universal Coordenado (UTC ou GMT). A maioria dos PCs não estão, então provavelmente você deve dizer "no" (não).

Font

A sub-seção font permite que se escolha dentre de uma lista de fontes personalizadas para o console.

LILO

Aqui é perguntado sobre a instalação do LILO.

Se o Slackware for o único sistema operacional em seu computador, a opção simple (simples) deve funcionar perfeitamente. Se houver dual-boot, a opção expert é uma melhor escolha. A terceira opção, do not install (não instalar), não é recomendada, a não ser que você saiba o que está fazendo e que tenha uma ótima razão para não instalar o LILO. Se o modo de instalação for "expert", você poderá escolher onde o LILO será instalado. O LILO pode ficar na MBR (Master Boot Record) do seu disco rígido, no superbloco da sua partição raíz do Linux, ou em um disquete.

Network

Na verdade, a sub-seção de configuração network é o netconfig.

X Window Manager (Gerenciador de Janelas do X)

Esta sub-seção permite a escolha de um gerenciador de janelas padrão para o X.

Não importa quais pacotes tenham sido instalados, a última coisa que será feita na seção configure será perguntar se você quer continuar e criar uma senha para o root . Por razões de segurança, provavelmente está será uma boa idéia; todavia, como tudo mais no Slackware, você decide.

Abraços e até a próxima.

Escola Técnica de Viçosa - R. Dr. Milton Bandeira 160 3º andar