How to Slackware (basico)

Started by insanity, 15 de June , 2006, 04:38:46 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

insanity

Howto slackware "Slackware for the real nerd's"

Autor: insanity
MSN/Google talk: www.greenpeace.org.br
                                                             
 

Abortarei coisas basicas sobre o sistema GNU/Linux Slackware, que é uma das principais distribuições linux existente,
por não fazer nada "sozinha" muitos falam que é uma distribuição para hacker...
Não abordarei interfaces graficas nesse texto...

<< Introdução >>:

Uma vez dominando bem o slackware você pode pegar qualquer *nix que você não vai ter nenhuma dificuldade,
Com a filosofia KISS ( keep it simple stupit - Mantenha isto simples estúpido \o/) o Slackware tenta se manter
bem proximo do Unix, e não fazendo nada para você automaticamente você vai ser forçado a aprender a fazer
quase tudo na "unha" =;)   
O tutorial está bem BÁSICO..
Só para deixar claro, não estou dizendo que o slackware é a melhor distribuição...

<< Índice >>:

1- Comando basicos do slackware
2- Instalando pacotes no slackware
3- Inciando direto na interface grafica
4- Compilando com o GCC
5- Montando CDROOM e disquete
6- Dicas de Securança
7- Desligando o computador
8- Montando partições
9- Hackeando via LILO
10- Estrutura de diretorios
11- Dicas para o slackware
12 - Recomentações
13- Conclusão


----------------------------------------------------------------------------------------------------------------------

<< Comandos basico >>

Os comandos abaixo servem para configurar seu slackware:

xorgconfig -> configura a placa de video, teclado, mouse e monitor

xwmconfig -> Para alterar de interface gráfica.

startx -> inicia a interface grafica

pppsetup -> Configuração do modem e regras de discagem.

netconfig -> Configuração da placa de rede.

liloconf -> Utilitário de configuração do lilo

timeconfig -> Altera o fuso-horário do micro.

fontconfig -> Altera o tamanho e tipo de fonte do modo texto.

setup.cdrom -> Detecta e instala o drive de CD-ROM.

mouseconfig -> Configura o mouse.

alsaconf -> Se sua placa de som não for detectada automaticamente

-----------------------------------------------------------------------------------------------------------------------

<< Instalando pacotes no Slackware >>

Para instalar e remover pacotes digite o comando "pkgtool" (sem aspas) como root ( administrador)

O slackware tem seu proprio pacotes .tgz, que são encontrados com mais facilidade no site da distribuição:

ftp.slackware.com

Apos terem baixado um pacote para instalar digite:

# installpkg insanity.tgz

Para remover:

# removepkg insanity.tgz

Atualizar o pacote para uma versão mais recente:

# upgradepkg insanity.tgz

Para converter de rpm para tgz:

# rpm2tgz insanity.rpm

Obs: O nome do pacote insanity é só um exemplo =;)

-----------------------------------------------------------------------------------------------------------------------

<< Para iniciar o slackware direto na interface gráfica >>

É bem simples, basta editar o arquivo com o seguinte comando:

mcedit /etc/inittab

Observe a seguinte linha:

# Default runlevel. (Do not set to 0 or 6)
id:3:initdefault:

No lugar do 3 coloque 4, e aperte F2 para salvar, reinicie a maquina

------------------------------------------------------------------------------------------------------------------------

<< Compilando com o GCC >>


O gcc/g++ é o compilador C/C++ da GNU. Pode ser baixado no site da gnu, individualmente,
ou como parte do pacote do EGCS (que inclue um conjunto de programas acessórios).
Para obter mais informações abra o konqueror e digite man:/gcc ou g++


Protótipo e parâmetros do gcc/g++

Aqui vão os protótipo/parâmetros q vc vai passar para o compilador GNU

Protótipo do gcc/g++:

g++ [opções] [parâmetros] arquivos.
-v-----------------------------------------------------------------------------Mostra detalhes da compilação.
-wall -------------------------------------------------------------------------Mostra todos os warnings.
-onome ------------------------------------------------------------------------Define o nome do arquivo de saída (opcional).
-w ----------------------------------------------------------------------------Elimina mensagens de warning.
-I/path -----------------------------------------------------------------------Acrescenta path include.
-l/path/lib -------------------------------------------------------------------Inclue biblioteca (lib).
-ggdb -------------------------------------------------------------------------Informações extras para o gdb.
-O ----------------------------------------------------------------------------Optimiza o código (-O1,-O2,-O3).
-c-----------------------------------------------------------------------------Somente compila (gera o arquivo *.o).
-S ----------------------------------------------------------------------------Somente compila o arquivo, não linka.
-lcomplex ---------------------------------------------------------------------Inclue biblioteca dos complexos.
-lm Inclue --------------------------------------------------------------------biblioteca matemática.
-E ----------------------------------------------------------------------------Cria somente o arquivo pré-processado.
-C ----------------------------------------------------------------------------Não inclue comentários no executável.
-g ----------------------------------------------------------------------------Gera informações para o debuger (código lento).


Arquivos gerados pelo gcc/g++


-qdigraph ----------------------------------------------------------------------Adiciona teclas dígrafas.
-qcompact---------------------------------------------------------------------- Deixa o código mais compacto.
-xlinguagem-------------------------------------------------------------------- Expecfica a linguagem (C, C++,assembler).
-p -----------------------------------------------------------------------------Informações para o profiler proff.
-pg ----------------------------------------------------------------------------Informações para o gro_.
-m686 --------------------------------------------------------------------------Especifica que a máquina alvo é um 686.
-static ------------------------------------------------------------------------Especifica que a linkagem deve ser estática.
-p -----------------------------------------------------------------------------Especifica inclusão de instruções para o profiler.
-pg ----------------------------------------------------------------------------Especifica inclusão de instruções para o profiler da gnu (gprof ).

A medida q os arquivos sao compilados e linkados, são gerados alguns arquivos adicionais.
Lista-se a seguir os arquivos de entrada (*.h, *.cpp), e os arquivos de saída gerados pelo g++.

*.h ----------------------------------------------------------------------------Arquivos header.
*.i---------------------------------------------------------------------------- Arquivos de pré-processamento para programas em C.
*.ii ---------------------------------------------------------------------------Arquivos de pré-processamento para programas em C++.
.c,.cc,.C,.c++,.cpp, -----------------------------------------------------------Arquivos de fonte.
.o -----------------------------------------------------------------------------Arquivo objeto.
.s -----------------------------------------------------------------------------Arquivo assembler.
.a -----------------------------------------------------------------------------Arquivo de biblioteca estática.
.sa ----------------------------------------------------------------------------Blocos de bibliotecas estáticas linkados ao programa.
.so.n --------------------------------------------------------------------------Arquivo de biblioteca dinâmica.
a.out-------------------------------------------------------------------------- Arquivo de saída (executável).


Exemplo de uso do gcc/g++


Exemplo básico:

1. Edita o programa hello.cpp com o emacs.
Abra um terminal e execute emacs darkers.cpp.

#include
using namespace std;
main()
{
cout < < "darkers!" < < endl;
}
/*No emacs use ctrl+x ctrl+s para salvar o arquivo
e ctrl+x ctrl+q para sair do emacs*/

2. Cria o arquivo de pré-processamento [opcional]
g++ -E darkers.cpp

3. Compila o módulo hello (gera o hello.o)
g++ -c darkers.cpp

4. Linka o programa e gera o executável
g++ -o darkers darkers.o

5. Executa o programa
./darkers

6. Observe que os passos 2,3 e 4 podem ser executados usando:
g++ -v -o darkers darkers.cpp

O -v Mostra um conjunto de informações a respeito dos passos da compilação.
Neste exemplo o nome do programa executável é darkers e foi especificado com a opção -o darkers.
Se você não especificar um nome, o programa executável se chamará a.out.


Só pra lembrar:

Linker: O linker transforma um ou mais arquivos *.obj (*.o) em um arquivo executável.
Os arquivos que serão unidos são definidos em um arquivo de projeto ou em um arquivo makefile.
Depois de linkado um programa tem um arquivo executável *.exe no Windows, a.out no Linux.
Os erros de ligação são detectados pelo linker.
Veja mais em baixo as extensões dos arquivos gerados nas diferentes plataformas.



Situações:
---------------------------------------------------Windows---------------------------------------linux
Antes de compilar----------------------------------nome.h/nome.cpp-------------------------------nome.h/nome.cpp
Depois de compilar---------------------------------nome.obj--------------------------------------nome.o
Depois de linkar-----------------------------------nome.exe--------------------------------------nome



------------------------------------------------------------------------------------------------------------------------

<< Montando CDROOM e Disquete: >>

O Slackware por padrão, só o ROOT pode montar o CDROM e o Disquete, para mudar isso basta editar o arquivo fstab

mcedit /etc/fstab

A linha do CDROM e Disquete é esse por padrão:

/dev/cdrom       /mnt/cdrom       iso9660     noauto,owner,ro 0   0
/dev/fd0         /mnt/floppy      auto        noauto,owner    0   0
Deixa assim:

/dev/cdrom       /mnt/cdrom       iso9660     user,noauto,owner,ro 0   0
/dev/fd0         /mnt/floppy      auto        user,noauto,owner    0   0

Agora é só colocar o CD ou disquete e montar:

mount /dev/cdrom /mnt/cdrom
mount /dev/fd0 /mnt/floppy
-----------------------------------------------------------------------------------------------------------------------

<< Dicas de segurança: >>

1- Crie um usuário para você, não fique como ROOT:

2- Desabilite serviços desnecessários:
Digite "pkgtool" entre em "Setup" depois "services" e desabilite os serviços desnecessarios...

3- coloque senha no lilo:
Comandos: mcedit /etc/lilo.conf
Acrescente a linha: password="SENHA AQUI" (como aspas mesmo =;)

4- Sempre use o KERNEL mais atualizado possivel

5- Estude iptables

----------------------------------------------------------------------------------------------------------------------

<< Desligando e reiniciando o computador: >>

shutdown -h now -> desliga o computador

halt -> deliga o computador

reboot -> reinicia

shtdown -r now -> reinicia

init 0 -> desliga

init 6 -> reinicia

Muitos comandos para uma mesmo tarefa =;)

-----------------------------------------------------------------------------------------------------------------------

<< Montando partiçoes Windows: >>

mount -t vfat /dev/hda1 /mnt/windows -> Sistema de arquivo FAT
mount -t ntfs /dev/hda1 /mnt/windows -> Sistema de arquivo NTFS

------------------------------------------------------------------------------------------------------------------------

<< Hackeando via LILO >>

Ao inicializar a máquina e aparecer o prompt do LILO (LILO:), digite:

linux init=/bin/bash -> aperte ENTER e espere carregar

Logo depois digite:

mount -o remount -rw / -> Para ter permissão de escrita

passwd -> Para definir a nova senha do ROOT

Obs.: Você tambem pode deixar o ROOT sem senha basta editar o arquivo

mcedit /etc/passwd

------------------------------------------------------------------------------------------------------------------------
<< Estrutura de diretorio >>

/ -> Diretorio raiz

/bin -> Arquivos executaveis de comando essenciais

/boot -> Arquivos de inicialização do sisstema

/dev  -> Arquivos de dispositivos do sistema

/etc ->Arquivos de configurações

/home -> Lugar onde ficam as pastas locais dos usuarios

/lib -> Arquivos de bibliotecas essenciais ao sistema utilizadas pelos programas em /bin

/mnt -> Ponto de montagem

/proc -> Informações do KERNEL, dos processos e interrupções da maquina

/root -> Pasta do administrador do sistema

/sbin -> Arquivos relacionados diretamente ao sistema

/temp -> Arquivos temporarios

/usr -> Arquivos que pertencentes aos usuarios

/var -> Pasta onde são guardadas informações variáveis sobre o sistema
 
------------------------------------------------------------------------------------------------------------------------

Dicas para o slackware :

Como gravar um arquivo .bin com o "cdrdao"?
cdrdao write --overburn --driver generic-mmc --device 0,0,0 arquivo.cue

Administração de Usuários.
Adicionar usuários no sistema:

Digite: adduser nick_do_usuario

Mudar a senha do usuário no sistema:

Digite: passwd nick_do_usuário

Apagar usuário no sistema:

Digite: userdel nick_do_usuário

Descompactando arquivos .tar.bz2.
Para descompactar Arquivos .tar.bz2, basta utilizar a opção j. A linha de comando fica assim:

$ tar -xvfj arquivo.tar.bz2

Como usar o comando find?
Podemos usar este comando de varias formas, desde uma procura simples ate uma procura com pedido de exclusão de arquivos
e outros tipos. Vamos dar exemplos assim e outros simples, mas já dá para você procurar aqueles arquivos que você não
sabe onde esta.

Primeiro exemplo:

Procura arquivos em todos os subdiretórios com a extensão .sh

find . -name "*.sh"

Procura arquivos em toda a arvore com extensão .sh

find / -name .sh

Segundo exemplo:

Procura arquivos em todos os subdiretórios com extensão .sh e os apaga.

find . -name "*.sh" -exec rm -f {} ;

Terceiro exemplo:

Procura arquivos em todos os subdiretórios com extensão .sh e os apaga, pedindo confirmação um por vez.

find . -name "*.sh" -ok rm -f {} ;

Como gravar um ISO usando o "cdrecord"?
cdrecord -v -eject fs=64m dev=0,0,0 nome.iso

Como carregar módulos do kernel?

Para carregar um módulo de um determinado dispositivo, digite:

# insmod nome_módulo

Para listar os módulos que estão carregados, digite:

# lsmod

Se não estiver mais usando o módulo, digite:

# rmmod nome_módulo

Configurando a rodinha do mouse.

Editar o /etc/X11/XF86Config e colocar (na seção "InputDevice"):

Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/mouse" Option "ZAxisMapping" "4 5" Option "Buttons" "5" EndSection

No caso do seu mouse ser serial, substitua o Protocol de IMPS/2 para IntelliMouse.

Mouse para canhotos.
A grande maioria das pessoas são destras, mas o X não se esquece dos canhotos. De maneira simples,
pode-se alterar a configuração do mouse, invertendo os botões. Simplesmente digite:

xmodmap -e "pointer = 3 2 1"

Se gostou das configurações assim, pode colocar no seu .Xmodmap uma linha com:

pointer = 3 2 1

O .xinitrc do Slackware já lê por default o .Xmodmap, em algumas outras distros,
pode ser necessário incluir o seguinte comando ao .xinitrc:

xmodmap .Xmodmap

Limitando a banda no wget.
Faça download com a linha:

wget --limit-rate=5k --continue http://www.darkers.com/insanity.zip

Estou fazendo download do arquivo insanity.zip com a velocidade de limitado a 5kbytes.

Como listar as portas abertas TCP?
# netstat -na|grep LISTEN

Para converter pacotes .RPM em .TGZ.
Utilize o software Alien. Digite o comando:

# alien -t insanity.rpm

Com o comando acima, ele transformará o insanity.rpm para testando.tgz.

Para você tirar um screenshot use o comando:

import -w root insanity.jpg

Abra o konqueror e digite, por exemplo:
# man:/bash

Você verá o manual do bash no konqueror

Se você esqueceu o nome do comando todo, lembra só a primeira ou segunda letra, aperte TAB duas vezes, exemplo:

st ->Aberte TAB duas vezes (lembrei o comando era startx).



Obs. Algumas dicas foram retiradas do site slackware-brasil...


<< Recomendações >>


Estude IPtables
Estudade "C", pode ter certeza que você vai precisar desse linguagem =;)
Tente aprender alguns comandos
E o principal, tente conhecer o maximo sobre o KERNEL.

 

<< Conclusão >>

Está aí o basico para você começar a usar o slackware...

_Dr4k0_

hmm  legal

tava precisando de algo do tipo
100% Livre!!!Livre para escolher o que há de melhor no Windows e Linux. Livre de preconceito direto ou inverso!
Adote essa filosofia e tenha mais chance de sucesso profissional.


nibbles

Quote from: "anti-mateira"http://www.guiadohardware.net/livros/kurumin/
acho que o kurumin segue mais a kiss

kurumin qua qua qua :X
se for pra usar kurumin, usa windows de uma vez :/
huauha zuera, é que eu amo slack ;~~



"A diversão do inteligente é se fingir de burro para aquele que se finge de inteligente."
"ENGENHARIA SOCIAL. Porque não existe patch para a ignorância humana."

rog

bem legal e bem completo

eu espero que esse topico leva algums membres a experimentar o linux

rog
realty.sys is corrupt :  reboot the universe (Y/N)

HadeS

Sobre o "Hackeando via LILO", talvez seja necessário editar o arquivo /etc/shadow. ;)

Mas no demais está ótimo!

HadeS

Anonymous

Otimo cara... Estava mesmo presisando.
VLW

Anonymous

Ótimo post,
uso o slackware e o gentoo, na minha opinião as melhores distros que existem.
lembrando que o comando
pppsetup
não funciona mais no slack 10.2, nesse você usa o
pppoe-setup para configurar uma conexão.

e mais uma coisinha pra completar o post.
depois de ter editado o inittab e ter colocado o runlevel para 4
será necessário a edição do arquivo /etc/rc.d/rc.4
para ecolher qual gerenciador de login você vai querer que inicie.
são três opções. deixe apenas uma descomentada.

um abraço! partiu...

nibbles

no slackware não tem o rc.4 não cara...
só mudar o inittab mesmo
;p



"A diversão do inteligente é se fingir de burro para aquele que se finge de inteligente."
"ENGENHARIA SOCIAL. Porque não existe patch para a ignorância humana."

Anonymous

Fala Nibbles
no slackware tem sim o rc.4
está localixado em
/etc/rc.d/rc.4

da uma olhada aí ;)

um abraço! partiu....

Anonymous

Cara, Parabéns.

Tô brincando com o Slackware agora e tá sendo bem divertido.

Parabéns pelo post aí

Abraços