Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Otimizando o seu Slackware pra valer com o SlackBuild
Linux user
jllitvay
11/10/2005
Você tem um Athlon-XP ou um Pentium-4 e os pacotes são otimizados para 486? Aqui vai um tutorial para usufruir de uma ferramenta que o Patrick disponibilizou para tornar seu Slackware tão otimizado quanto qualquer Gentoo.
Por: José Luiz Litvay
[ Hits: 26843 ]
Conceito: 10.0   2 voto(s)2 voto(s)2 voto(s)2 voto(s)2 voto(s) + quero dar nota ao artigo

Introdução

O SlackBuild é um script que descompacta, recompila e empacota um programa fonte dos CDs SOURCE do Slackware.

Como é um script, você pode alterar livremente as configurações afim de obter uma melhor otimização do programa, adicionando ou alterando flags para melhorar o desempenho.

Onde obter: Nos CDs 3 e 4 do Slackware, junto com os sources dos programas está um arquivo de texto chamado: nomedoprograma.SlackBuild

Cada SlackBuild é feito para aquele programa, e só para aquele.

Pré-requisitos


Ter conhecimento básicos de Linux, já ter ouvido falar ou conseguido instalar algum programa a partir do fonte.

Como sou curioso como a maioria e não um programador, na dúvida tenha instalado todos os programas da pasta "d" do seu Slackware, assim vai evitar ter que sair instalando coisas.

Por quê?
O SlackBuild é um script, uma máquina não muito pensante, ou seja, se der algo errado durante o processo ele vai continuar a compilar e empacotar o programa e se o erro ocorrer, vai gerar um pacote .tgz problemático, que pode ferrar com o seu Slackware se você instalar sem verificar antes.

O que verificar: o tamanho do pacote.
Geralmente quando alguma dependência de compilação não foi satisfeita, o SlackBuild gera um pacote de tamanho significativamente menor. Então tenha em mãos o CD 1 e 2 do Slackware para comparar os tamanhos dos pacotes.

Próxima página >>




Páginas do artigo
   1. Introdução
   2. Alterando o SlackBuild
   3. Executando e conclusões

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por cvs em 11/10/2005 - 09:55h:

muito bom, ja ta nos favoritos, vou aplica-lo em casa e aqui no trampo... parabens =)

[2] Comentário enviado por cvs em 11/10/2005 - 10:13h:

Agora que terminei de ler... Tenho que ir fazendo isso, programa por pograma? Trabalhoso hein.. hehehe

E se eu quiser instalar tudo assim, desde o inicio, não tem jeito, só dessa maneira, compilando e atualizando?

[3] Comentário enviado por FDL em 11/10/2005 - 10:26h:

Legal o artigo mas ae deve ser muito xato fazer isso com todos programas. Deve se gastar uma semana. Ae o gentoo ainda tem vantagem.

[4] Comentário enviado por loko137 em 11/10/2005 - 10:45h:

Você pode jogar as informações da compilação num arquivo de texto:
"sh -x gimp.SlackBuild &> teste.txt". Depois é só verificar no arquivo "teste.txt" e procurar os erros, todas as informações da compilação vão estar lá.


[5] Comentário enviado por fabio em 11/10/2005 - 10:50h:

Não sei se há uma forma automatizada pra isso, mas não seria complicado criar um shell script que processasse todos os arquivos de SlackBuild dos CDs.

Deixo aqui minha sugestão para os slack-maníacos :)
Criem o script, enviem pro VOL e publiquem o link em forma de comentário aqui nesse artigo. Um busca no Google também pode resolver o problema, duvido que já não tenham feito isso antes.

[]'s,
Fábio

[6] Comentário enviado por andrack em 11/10/2005 - 11:58h:

Virei um Gentoo-maníaco...

Mas dei uma pesquisada no Googlão, e achei esse projeto aqui:
http://freaknet.org/alpt/Emerde/

Nunca testei... mas pode render um artigo!

Vlw!

[7] Comentário enviado por hdoria em 11/10/2005 - 12:36h:

Eu estou tentando usar o emerde aqui. Acho que ele cai bem como ferramenta para optimizar o slack.

O projeto é bem legal, porém ainda tem alguns bugs. Depois que eu conseguir deixar ele redondo eu faço um artigo pra explicar pra galera ae.

[]'s

[8] Comentário enviado por redhate em 10/11/2005 - 03:39h:

so para acresentar....

Options That Control Optimization

These options control various sorts of optimizations.

Without any optimization option, the compiler's goal is to reduce the
cost of compilation and to make debugging produce the expected results.
Statements are independent: if you stop the program with a breakpoint
between statements, you can then assign a new value to any variable or
change the program counter to any other statement in the function and
get exactly the results you would expect from the source code.

Turning on optimization flags makes the compiler attempt to improve the
performance and/or code size at the expense of compilation time and
possibly the ability to debug the program.

Not all optimizations are controlled directly by a flag. Only opti-
mizations that have a flag are listed.

-O
-O1 Optimize. Optimizing compilation takes somewhat more time, and a
lot more memory for a large function.

With -O, the compiler tries to reduce code size and execution time,
without performing any optimizations that take a great deal of com-
pilation time.

-O turns on the following optimization flags: -fdefer-pop
-fmerge-constants -fthread-jumps -floop-optimize -fcrossjumping
-fif-conversion -fif-conversion2 -fdelayed-branch
-fguess-branch-probability -fcprop-registers

-O also turns on -fomit-frame-pointer on machines where doing so
does not interfere with debugging.

-O2 Optimize even more. GCC performs nearly all supported optimiza-
tions that do not involve a space-speed tradeoff. The compiler
does not perform loop unrolling or function inlining when you spec-
ify -O2. As compared to -O, this option increases both compilation
time and the performance of the generated code.

-O2 turns on all optimization flags specified by -O. It also turns
on the following optimization flags: -fforce-mem -foptimize-sib-
ling-calls -fstrength-reduce -fcse-follow-jumps -fcse-skip-blocks
-frerun-cse-after-loop -frerun-loop-opt -fgcse -fgcse-lm
-fgcse-sm -fdelete-null-pointer-checks -fexpensive-optimizations
-fregmove -fschedule-insns -fschedule-insns2 -fsched-interblock
-fsched-spec -fcaller-saves -fpeephole2 -freorder-blocks -fre-
order-functions -fstrict-aliasing -falign-functions -falign-jumps
-falign-loops -falign-labels

Please note the warning under -fgcse about invoking -O2 on programs
that use computed gotos.

-O3 Optimize yet more. -O3 turns on all optimizations specified by -O2
and also turns on the -finline-functions and -frename-registers
options.

-O0 Do not optimize. This is the default.

-Os Optimize for size. -Os enables all -O2 optimizations that do not
typically increase code size. It also performs further optimiza-
tions designed to reduce code size.

-Os disables the following optimization flags: -falign-functions
-falign-jumps -falign-loops -falign-labels -freorder-blocks
-fprefetch-loop-arrays

If you use multiple -O options, with or without level numbers, the
last such option is the one that is effective

Intel 386 and AMD x86-64 Options

These -m options are defined for the i386 and x86-64 family of comput-
ers:

-mcpu=cpu-type
Tune to cpu-type everything applicable about the generated code,
except for the ABI and the set of available instructions. The
choices for cpu-type are i386, i486, i586, i686, pentium, pentium-
mmx, pentiumpro, pentium2, pentium3, pentium4, prescott, nocona,
k6, k6-2, k6-3, athlon, athlon-tbird, athlon-4, athlon-xp, athlon-
mp, winchip-c6, winchip2 and c3.

While picking a specific cpu-type will schedule things appropri-
ately for that particular chip, the compiler will not generate any
code that does not run on the i386 without the -march=cpu-type
option being used. i586 is equivalent to pentium and i686 is
equivalent to pentiumpro. k6 and athlon are the AMD chips as
opposed to the Intel ones.

-march=cpu-type
Generate instructions for the machine type cpu-type. The choices
for cpu-type are the same as for -mcpu. Moreover, specifying
-march=cpu-type implies -mcpu=cpu-type.

-m386
-m486
-mpentium
-mpentiumpro
These options are synonyms for -mcpu=i386, -mcpu=i486, -mcpu=pen-
tium, and -mcpu=pentiumpro respectively. These synonyms are depre-
cated.

slkcflags se orientam pelo gcc entao.... sejam felizes..
qualquer coisa msn: redhate@gmail.com

abracos [']sss

[9] Comentário enviado por bones_pf em 19/09/2006 - 23:11h:

Aeee galera, fiz um script em perl que altera e processa todos os SlackBuild's, deêm uma olhada ae:
http://www.vivaolinux.com.br/scripts/verScript.php?codigo=2265


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.