Compilar ou não, eis a questão. [RESOLVIDO]

1. Compilar ou não, eis a questão. [RESOLVIDO]

edps
edps

(usa Slackware)

Enviado em 12/04/2016 - 15:29h

Boa tarde pessoal, já a algum tempo venho utilizando o Funtoo como meu sistema principal, mas ainda mantenho aqui o Debian e o Slackware.

Como diria o meu amigo Pedro Augusto da Tupi... acontece que: determinados pacotes no funtoo tendem a levar um tempo considerável de compilação numa máquina modesta, caso do LibreOffice que deve levar uns 3 dias em meu PC.

Se não me engano pacotes do KDE exigem 6 GBs de RAM para a compilação, enquanto que o kernel debian-sources requer no mínimo 14GB de espaço na partição temporária.

* o do kernel é fácil, aumentei para 20GBs a partição montada em tmpfs /var/tmp/portage.
** mas removi todos os kernels do Funtoo e já estou usando um compilado manualmente.

Por este motivo, alguns pacotes venho instalando manualmente, caso do LibreOffice (seguindo a receita de um SlackBuild), basicamente isto (basta alterar a versão):


#!/bin/sh

cd
mkdir -p libreoffice

wget -c http://download.documentfoundation.org/libreoffice/stable/5.1.1/rpm/x86/LibreOffice_5.1.1_Linux_x86_...
wget -c http://download.documentfoundation.org/libreoffice/stable/5.1.1/rpm/x86/LibreOffice_5.1.1_Linux_x86_...
wget -c http://download.documentfoundation.org/libreoffice/stable/5.1.1/rpm/x86/LibreOffice_5.1.1_Linux_x86_...

tar xf LibreOffice_5.1.1_Linux_x86_rpm.tar.gz
cd LibreOffice_5.1.1.3_Linux_x86_rpm/RPMS/
rm -fv *onlineupdate*.rpm
for FILE in *.rpm ; do rpm2cpio < $FILE | cpio -imdv ; done

rm -fv *.rpm
rm -fv usr/share/applications/libreoffice*-startcenter.desktop
rm -rfv usr/bin
rm -fv opt/libreoffice5.1/share/fonts/truetype/{DejaVu,Liberation,OpenSans}*.ttf

mv opt usr ~/libreoffice/
cd

tar xf LibreOffice_5.1.1_Linux_x86_rpm_langpack_pt-BR.tar.gz
cd LibreOffice_5.1.1.3_Linux_x86_rpm_langpack_pt-BR/RPMS/
for FILE in *.rpm ; do rpm2cpio < $FILE | cpio -imdv ; done
cp -a opt/libreoffice5.1/* ~/libreoffice/opt/libreoffice5.1/
cd

tar xf LibreOffice_5.1.1_Linux_x86_rpm_helppack_pt-BR.tar.gz
cd LibreOffice_5.1.1.3_Linux_x86_rpm_helppack_pt-BR/RPMS/
for FILE in *.rpm ; do rpm2cpio < $FILE | cpio -imdv ; done
cp -a opt/libreoffice5.1/* ~/libreoffice/opt/libreoffice5.1/
cd

chmod +x ~/libreoffice/opt/libreoffice5.1/share/xdg/*.desktop

sudo cp -av ~/libreoffice/opt/* /opt/
sudo cp -av ~/libreoffice/usr/share/* /usr/share/

cd /usr/bin
sudo rm -fv {sbase,scalc,sdraw,simpress,smath,soffice,swriter,libreoffice5.1,unopkg,libreoffice*}

sudo ln -sfv /opt/libreoffice5.1/program/sbase sbase
sudo ln -sfv /opt/libreoffice5.1/program/scalc scalc
sudo ln -sfv /opt/libreoffice5.1/program/sdraw sdraw
sudo ln -sfv /opt/libreoffice5.1/program/simpress simpress
sudo ln -sfv /opt/libreoffice5.1/program/smath smath
sudo ln -sfv /opt/libreoffice5.1/program/soffice soffice
sudo ln -sfv /opt/libreoffice5.1/program/swriter swriter
sudo ln -sfv /opt/libreoffice5.1/program/unopkg unopkg
sudo ln -sfv /opt/libreoffice5.1/program/soffice libreoffice5.1

cd /usr/share/applications
sudo rm -fv {base.desktop,calc.desktop,draw.desktop,impress.desktop,math.desktop,writer.desktop,startcenter.desktop,libreoffice*}
sudo chmod +x /opt/libreoffice5.1/share/xdg/*.desktop

sudo cp -av /opt/libreoffice5.1/share/xdg/base.desktop libreoffice5.1-base.desktop
sudo cp -av /opt/libreoffice5.1/share/xdg/calc.desktop libreoffice5.1-calc.desktop
sudo cp -av /opt/libreoffice5.1/share/xdg/draw.desktop libreoffice5.1-draw.desktop
sudo cp -av /opt/libreoffice5.1/share/xdg/impress.desktop libreoffice5.1-impress.desktop
sudo cp -av /opt/libreoffice5.1/share/xdg/math.desktop libreoffice5.1-math.desktop
sudo cp -av /opt/libreoffice5.1/share/xdg/writer.desktop libreoffice5.1-writer.desktop
sudo cp -av /opt/libreoffice5.1/share/xdg/startcenter.desktop libreoffice5.1-startcenter.desktop
sudo cp -av /opt/libreoffice5.1/share/xdg/xsltfilter.desktop libreoffice5.1-xsltfilter.desktop

sudo update-desktop-database -q /usr/share/applications;
sudo update-mime-database /usr/share/mime >/dev/null 2>&1;
sudo gtk-update-icon-cache /usr/share/icons/$theme >/dev/null 2>&1;

exit 0


Do VirtualBox, pois com um único instalador posso instalar em meus 3 sistemas.

E agora que o Chrome não mais disponibiliza pacotes 32Bits, resta-nos apenas o Chromium (que no Funtoo requer 3GBs de RAM) ao custo de 500MB de download e uma espera herculea (que nem cheguei a tentar).

Para contornar isto, peguei os 3 pacotes providos pelo AlienBob:

http://www.slackware.com/~alien/slackbuilds/chromium/pkg/current/
http://www.slackware.com/~alien/slackbuilds/chromium-pepperflash-plugin/pkg/current/
http://www.slackware.com/~alien/slackbuilds/chromium-widevine-plugin/pkg/current/

Descompactei os mesmos, removi a pasta usr/doc e criei um .tar.gz (na verdade um .tar.xz) e o descompactei em /:

$ sudo tar -xvf chromium-funtoo-49.0.2623.112 -C / 


E não é que funcionou na boa?

* e mesmo funcionando corretamento, como os prugrins do NetFlix e o Pepperflash, por generosidade ainda instalei tudo o que o Chromium requer para compilar:

$ install \                                        
dev-python/html5lib \
app-arch/snappy \
dev-python/beautifulsoup \
dev-libs/jsoncpp \
dev-python/simplejson \
dev-perl/JSON \
dev-python/markupsafe \
dev-python/lxml \
app-accessibility/espeak \
dev-libs/dotconf \
dev-python/pyxdg \
app-accessibility/speech-dispatcher \
dev-python/beautifulsoup \
dev-python/jinja \
media-libs/speex


Gostaria da opinião de vocês... vale a pena perder tanto tempo em busca da dita otimização extrema? ou vocês concordam que gambiarras às vezes são bem-vindas?


  


2. Re: Compilar ou não, eis a questão. [RESOLVIDO]

Ronaldo Ferreira de Lima
textmode

(usa Slackware)

Enviado em 12/04/2016 - 16:51h

O problema aqui é analítico.

edps escreveu:
Gostaria da opinião de vocês... vale a pena perder tanto tempo em busca da dita otimização extrema?

Você precisa primeiro definir seus objetivos, seria a pergunta "O que pretendo
alcançar fazendo isto?". Por exemplo, se deseja adquirir conhecimento ou
experiência já seria algo que justificaria o esforço.

ou vocês concordam que gambiarras às vezes são bem-vindas?

Não sei dizer se o procedimento que usou foi uma gambiarra, mas parece
indício de que ou o procedimento ou a distribuição em questão não estejam
lhe servindo. Em caso afirmativo, um dos três itens precisa mudar:
1. distribuição,
2. procedimento,
3. você.



3. Re: Compilar ou não, eis a questão. [RESOLVIDO]

edps
edps

(usa Slackware)

Enviado em 12/04/2016 - 17:03h

textmode escreveu:

O problema aqui é analítico.

edps escreveu:
Gostaria da opinião de vocês... vale a pena perder tanto tempo em busca da dita otimização extrema?

Você precisa primeiro definir seus objetivos, seria a pergunta "O que pretendo
alcançar fazendo isto?". Por exemplo, se deseja adquirir conhecimento ou
experiência já seria algo que justificaria o esforço.

ou vocês concordam que gambiarras às vezes são bem-vindas?

Não sei dizer se o procedimento que usou foi uma gambiarra, mas parece
indício de que ou o procedimento ou a distribuição em questão não estejam
lhe servindo. Em caso afirmativo, um dos três itens precisa mudar:
1. distribuição,
2. procedimento,
3. você.


O eu está mais perto com certeza, pois até hoje não vi um sistema com o qual esteja totalmente satisfeito, sempre há uma coisa em um que falta no outro, é como olhar as vizinhas rsrs.

Conhecimento? não, não é o caso, resolução rápida de necessidade sim! pois não possuo máquina potente para encarar 3 dias de compilação, nem tempo para acompanhar e por outro lado não curto as distros out-of-the-box.

Quando digo gambiarra, me refiro ao fato de ir na contramão do sistema, que possui um gerenciador de pacotes eficiente.

Grato pelo comentário, já pensaste em ser psicólogo? dava pra ganhar uma graninha! rsrs

--------------------------------------------------------------------------------------------------------------
Em Linux, geralmente 99,9% dos problemas são causados por um "ser" que ocupa
o espaço entre a cadeira e o teclado: FATO!


4. Re: Compilar ou não, eis a questão. [RESOLVIDO]

Gustavo Valério
GustavoValerio

(usa Debian)

Enviado em 12/04/2016 - 18:05h

Cara, tenho uma vontade danada de usar Gentoo ou Funtoo, ou apenas Slackware. Mas não possuo nenhuma máquina potente nem tenho pretensão em adquirir uma nova.

Conhecimento para usar uma distro difícil (Gentoo/Funtoo exceto Exherbo [Meu conhecimento é limitado]) eu possuo, mas não tempo, energia e paciência para aguardar tanto tempo.

Por isso ainda prefiro um bom netinstall, e por isso me aventuro sempre no Arch, Ubuntu e Debian.
Como o Ubuntu é bem parecido com o Debian, o eliminei.

Mas já encontrei minha distro de eleição no futuro.
Atualmente uso o Debian testing/unstable sem Systemd ou Pulseaudio, e pretendo migrar diretamente pro Devuan assim que sair sua primeira versão estável.

Para mim, a compilação é um baita aprendizado, te proporciona o conhecimento, te leva às entranhas do sistema e te força a conhecer o sistema e seu funcionamento.

Mas no seu caso, como é um usuário com muito conhecimento em relação a várias de distros e também do funcionamento do sistema (Acompanho o seu blog! https://edpsblog.wordpress.com/ ), creio que uma distro estável e com pacotes prontos seja o mais indicado.

Talvez seja como eu, todos os dias tem vontade de trocar de distro.
Talvez possua um um boot de 6 distros como eu, ou possua pelo menos umas 10 na VM, assim como eu...

Sempre estive em crise de distro, mas sempre volto pro Debian como a distro principal.

Consigo tudo o que desejo no Debian, desde que o faça a partir do netinstall.
Deixo o sistema enxuto, leve e fluído. Qualquer ambiente gráfico consigo otimizar no Debian de maneira a conseguir um desempenho fantástico até no PC da Xuxa!

Daí, compilar pra mim hoje é a última opção!
Quando não encontro o pacote desejado de maneira nenhuma e /ou em nenhum lugar confiável, a solução é compilar!
Mas nunca opto por esta opção em detrimento de um pacote compilado presente nos repositórios do Debian.
Prefiro fazer um Pinning do que compilar um pacote.

Talvez por isso eu tenha desistido do LFS...

Tornei-me preguiçoso, não que eu não gosto de compilar, na verdade eu amo me aprofundar no terminal e ficar horas e horas escovando bits...

Mas não é meu modo de usar o pc, é um modo de aprender enquanto me divirto e quebro a cabeça...

No mais, penso da seguinte maneira:
Se o pacote existe, compilado e funcional na sua distro e na versão atualizada, qual a necessidade de compilar?

Desculpe-me pelo livro!
rs...


------------------------------------------------------------------------------
Não concordo nem discordo, muito pelo contrário...
http://gustavovalerio.blogspot.com.br



5. Re: Compilar ou não, eis a questão. [RESOLVIDO]

edps
edps

(usa Slackware)

Enviado em 12/04/2016 - 18:33h

GustavoValerio escreveu:
...
Mas no seu caso, como é um usuário com muito conhecimento em relação a várias de distros e também do funcionamento do sistema (Acompanho o seu blog! https://edpsblog.wordpress.com/ ), creio que uma distro estável e com pacotes prontos seja o mais indicado.


Por este motivo, o Debian ainda está aqui... como funciona bem este sistema, além de estar systemd-free

Talvez seja como eu, todos os dias tem vontade de trocar de distro.
Talvez possua um um boot de 6 distros como eu, ou possua pelo menos umas 10 na VM, assim como eu...

Sempre estive em crise de distro, mas sempre volto pro Debian como a distro principal.


Dessa fase já passei a muito tempo, tenho apenas esses 3 sistemas, todos atualizados constantemente.

Quando o Slackware ficar pronto, verei se dá para usá-lo sem o PA, que aqui rola péssimamente! tu abre um player de vídeo, deixa o de audio no pause e a desgraça do som não sai! rsrs

A vantagem do Gentoo/Funtoo é montar o sistema apenas com o que quer (em meu caso, sem PA, systemd, NM e outros demônios).

...

Daí, compilar pra mim hoje é a última opção!
Quando não encontro o pacote desejado de maneira nenhuma e /ou em nenhum lugar confiável, a solução é compilar!
Mas nunca opto por esta opção em detrimento de um pacote compilado presente nos repositórios do Debian.
Prefiro fazer um Pinning do que compilar um pacote.


No Debian, eu já faço o oposto, se um pacote não possui a versão desejada no Jessie ou Backports, vou nos sources do Testing ou Unstable e empacoto:

$ dget -x -u URL_do_arquivoi.dsc
$ cd pasta-expandida
$ mk-build-dep
$ sudo dpkg -i *.deb
$ sudo apt-get -f install
$ dpkg-buildpackage -us- uc -b -tc
$ sudo dpkg -i ../novo_pacote.deb
$ sudo apt-get -f install


* lógico que isto depende do tempo dispendido, não tentarei com LibreOffice, FF ou CHromium por exemplo.

No mais, penso da seguinte maneira:
Se o pacote existe, compilado e funcional na sua distro e na versão atualizada, qual a necessidade de compilar?



Em distros tradicionais, não vale mesmo a pena! a anos atrás andei utilizando o apt-build para reempacotar com otimização os pacotes do sistema e não vi ganho algum.

Desculpe-me pelo livro!
rs...
------------------------------------------------------------------------------
Não concordo nem discordo, muito pelo contrário...
http://gustavovalerio.blogspot.com.br


Tranquilo! rsrs é que ultimamente (exceto hoje) ando com o tempo curto... por isso o Blog também está parado.

[]'s



6. Re: Compilar ou não, eis a questão.

Ruan
ru4n

(usa Debian)

Enviado em 12/04/2016 - 18:34h

No começo da trilha da Luz (mundo open source), eu costumava recompilar muitos pacotes, apenas por diversão. No Slackware 12.2 - que já era a minha distro principal na época - eu recompilava a maioria dos pacotes oficiais que eu usava no dia dia. Era bacana ver as letrinhas brancas no fundo preto trabalhando, rs!
Agora, enquanto a minha idade avança, a paciência retrocede, nisso acho que compilação não é mais pra mim, rsrs!

Hoje eu prefiro pacotes prontos para ser instalado, já que nas minhas máquinas - que é de 2011 e meu note é de 2015 - não notei nenhuma diferença prática em relação aos pacotes compilados localmente e com as flags setadas para a minha máquina. Não vi ganho de desempenho. Pra mim, compilar só em casos onde não existe um pacote oficial pronto, ou em casos onde preciso atualizar um pacote oficial manualmente...

Detalhe: nunca compilei o Firefox ou o LibreOffice para ver se fica mais rápido, justamente por causa do tempo de compilação.
--
LinuxCounter: #596371


7. Re: Compilar ou não, eis a questão. [RESOLVIDO]

edps
edps

(usa Slackware)

Enviado em 12/04/2016 - 18:41h

ru4n escreveu:

...

Hoje eu prefiro pacotes prontos para ser instalado, já que nas minhas máquinas - que é de 2011 e meu note é de 2015 - não notei nenhuma diferença prática em relação aos pacotes compilados localmente e com as flags setadas para a minha máquina. Não vi ganho de desempenho. Pra mim, compilar só em casos onde não existe um pacote oficial pronto, ou em casos onde preciso atualizar um pacote oficial manualmente...
--
LinuxCounter: #596371


É mais ou menos onde quis chegar... por exemplo se a NVIDIA disponibiliza um instalador para o seu driver porque perder mó tempão construindo os pacotes via SlackBuilds?

E já que falei na NVIDIA, já a um bom tempo uso somente o driver open-source nouveau.

Nisso vejo uma grande vantagem em usar Linux: ter alternativas!

* meu PC é de 2006, um Athlon 64 3000+ single-core! sobrevivente a 2 Athlons multi-cores que já partiram desta.



8. Re: Compilar ou não, eis a questão. [RESOLVIDO]

Eris Ribeiro Junior
erisrjr

(usa Arch Linux)

Enviado em 12/04/2016 - 18:53h

Eu credito que so vale para aquilo que usamos muito e o "custo beneficio" seja evidente, ou ainda para habilitar recurso não disponível no pacote disponibilizado pela distribuição.

A tarifa de luz esta cara, e se usarmos um ambiente atual, acabamos compilando constantemente os mesmos pacotes.

O kernel, onde noto diferença no tempo de resposta do sistema, acabo usando o zen ou o ck (Ambos disponíveis no arch via repositórios, no oficial e no repo-ck respectivamente).
No firefox eu não vi tanta diferença e nas ultimas versões, ele esta mais responsivo mesmo com o pacote padrão.
Agora, pacotes que sempre compilo aqui são o amarok e o vlc, onde noto boa diferença (Principalmente para o Amarok).

Ja compilei boa parte do KDE logo que saiu o "KDE5", mas com a evolução do ambiente, os pacotes entregues pelo arch apresentam bom desempenho e não vi mais necessidade em recompilar.

Eu até ja tive uma boa lista de pacotes para recompilar aqui, mas francamente não noto tanta diferença em um ambiente desktop na maioria dos programas. Ainda que goste da ideia de ter este recurso a mão, para usar quando julgar necessário.

*Se a desgraça da franquia de dados para para internet fixa pegar, teremos mais um motivo para não compilar. Eu espero que isso não passe, mas por precaução ja estou pesquisando sobre pacotes delta em todos os sistemas que uso.

------------------------------------------------------
KISS principle, RTFM and STFW = 42


9. Re: Compilar ou não, eis a questão.

edps
edps

(usa Slackware)

Enviado em 12/04/2016 - 18:57h

erisrjr escreveu:

....

* se a desgraça da franquia de dados para para internet fixa pegar, teremos mais um motivo para não compilar. Eu espero que isso não passe, mas por precaução ja estou pesquisando sobre pacotes delta em todos os sistemas que uso.

------------------------------------------------------
KISS principle, RTFM and STFW = 42


Disse tudo!

no Debian eu uso o debdelta. No Arch também tem, lembro que fiz uma dica a esse respeito, vou pesquisar aqui, mas lembro que o repo era muito lento!

EDIT:

segue:

https://www.vivaolinux.com.br/dica/Arch-Linux-e-os-Deltas-de-Pacotes

EDIT2:

O Fedora também trabalha com deltas.


10. Re: Compilar ou não, eis a questão. [RESOLVIDO]

Ruan
ru4n

(usa Debian)

Enviado em 12/04/2016 - 19:00h

edps escreveu:

É mais ou menos onde quis chegar... por exemplo se a NVIDIA disponibiliza um instalador para o seu driver porque perder mó tempão construindo os pacotes via SlackBuilds?
[...]


Nesse caso não vejo vantagem mesmo em construir um pacote SlackBuild, a não ser que a versão do pacote pronto disponibilizado pela NVIDIA seja mais antiga.

Um caso que eu lembrei agora: toda vez que eu precisei do Wine pra alguma coisa (geralmente queria testar algum jogo for win), eu ia no site oficial do winehq e pegava a versão compilada prontinha para o Slackware. O Wine do SlackBuild demorava para compilar, e no fim tinha o mesmo proveito que o Wine baixado do site winehq, em minha máquina.



--
LinuxCounter: #596371


11. Re: Compilar ou não, eis a questão. [RESOLVIDO]

edps
edps

(usa Slackware)

Enviado em 12/04/2016 - 19:07h

ru4n escreveu:

edps escreveu:

É mais ou menos onde quis chegar... por exemplo se a NVIDIA disponibiliza um instalador para o seu driver porque perder mó tempão construindo os pacotes via SlackBuilds?
[...]


Nesse caso não vejo vantagem mesmo em construir um pacote SlackBuild, a não ser que a versão do pacote pronto disponibilizado pela NVIDIA seja mais antiga.

Um caso que eu lembrei agora: toda vez que eu precisei do Wine pra alguma coisa (geralmente queria testar algum jogo for win), eu ia no site oficial do winehq e pegava a versão compilada prontinha para o Slackware. O Wine do SlackBuild demorava para compilar, e no fim tinha o mesmo proveito que o Wine baixado do site winehq, em minha máquina.



--
LinuxCounter: #596371


Pois é, e se quiser ficar na crista da onda em Debian, Ubuntu ou derivado basta substituir wine por wine-development.

* mas se existe um pacote que eu odeio é o webkitgtk3 (principalmente no Slack) demorá um tempão! dá pra compilar um kernel, ir na rua tomar umas cervas e o diacho não termina. O qt5 também demora um bocado.


12. Re: Compilar ou não, eis a questão. [RESOLVIDO]

Ruan
ru4n

(usa Debian)

Enviado em 12/04/2016 - 19:07h

[...]
*Se a desgraça da franquia de dados para para internet fixa pegar, teremos mais um motivo para não compilar. Eu espero que isso não passe, mas por precaução ja estou pesquisando sobre pacotes delta em todos os sistemas que uso.


Dale comprar pen drives, pra levar para a lan house mais próxima, dar boot em um CD com Arch e rodar um pacman -Syuw para baixar os pacotes e depois movê-los para o pen drive e instalar em casa, rsrs!

--
LinuxCounter: #596371



01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts