segunda-feira, 25 de março de 2013

Desembarcando no openSUSE


Depois do Ubuntu, Fedora, Arch, achei uma distribuição definitiva: openSUSE.

Grande surpresa foi o gerenciador de pacotes, o Zypper. Quem usou o Fedora por um tempo sabe da lentidão do YUM. Pois o Zypper é o contrário (não ser escrito em Python ajuda bastante...). Tudo que precisava para aprender a usá-lo encontrei na man page.

Multimídia

Ao contrário do Fedora, que não traz nenhum pacote que não implemente tecnologias 100% livres de royalties (ver Multimídia no Fedora), o openSUSE tem os pacotes básicos com os plugins -bad e -ugly do GStreamer, porém são capados — não possuem suporte para decodificação de MP3, AAC, AC-3, etc. Já o e gst-libav, necessário para vídeos em MPEG-4, não é distribuído.

Aí entra o Packman, que é uma espécie de RPM Fusion para o openSUSE. No Packman, moram todos os pacotes com problemas com patentes. Lá, temos o pacote do plugin -libav do GStreamer bem como os demais, com os mesmos nomes dos presentes no repositório oficial. São iguais em recursos, porém a diferença está nos pacotes sufixados com -orig-addon, inexistentes no repositório oficial. Estes trazem todos os plugins desabilitados nos pacotes principais.

Em teoria, seria possível manter os pacotes não-orig-addon do repositório oficial, porém aqui existe um problema de sincronização de dependências. Usando o repositório oficial, o pessoal do Packman teria que lançar imediatamente uma versão a cada vez que saísse uma atualização; do contrário, haveria quebradeira. Apesar de possível, coloca pressão desnecessária na administração do Packman. Então, eles criam seus próprios pacotes não-orig-addon e sobem suas versões (aquela parte final depois do traço) quando comparados com os pacotes oficiais, além de fazê-los terem entre si uma dependência exata de versões.

Resumo: é necessário substituir os pacotes do GStreamer do repositório oficial pelos do Packman. O Zypper só faz a mudança com um dist-upgrade, pois trata-se de uma mudança de fornecedor.

Zypper e os pacotes recomendados

O comportamento do Zypper por padrão é instalar todos os pacotes recomendados. Esses pacotes não são dependências e não são requeridos para os pacotes que os referenciam funcionarem. Não me agrada. Podemos adicionar a opção --no-recomends a cada invocação do Zypper, ou tornar permanente editando um arquivo de configuração. Ver Pacotes sugeridos no openSUSE.

Pós-instalação (GNOME)

Deve dar para fazer tudo pelo YaST. Montei via linha de comando para facilitar o processo. Ctrl+C/V e tudo pronto. As invocações a seguir do Zypper são totalmente automatizadas. Não será pedida nenhuma confirmação. Ideal para scriptzinhos.

Sobre as fontes da Microsoft, ver aqui.

# Tudo como root (ou via sudo)

# Desativa a instalação dos pacotes recomendados
sed -ri 's/^# (solver.onlyRequires =) false/\1 true/' /etc/zypp/zypp.conf

# Atualiza o sistema
zypper -n up

# Instala repositórios adicionais
zypper ar -f -n 'Packman' http://ftp.gwdg.de/pub/linux/packman/suse/openSUSE_Leap_42.1/ packman
zypper ar -f -n 'namtrac FreeType' http://download.opensuse.org/repositories/home:/namtrac:/subpixel/openSUSE_Leap_42.1/ namtrac-subpixel

# Substitui pacotes
zypper -n --gpg-auto-import-keys dup

# Subpixel rendering
# http://caixaseca.blogspot.com.br/2016/05/finalmente-fontes-legiveis-no-opensuse.html
sed -i '/^USE_LCDFILTER=/ s/lcdnone/lcddefault/' /etc/sysconfig/fonts-config
sed -i '/^USE_RGBA=/ s/none/rgb/' /etc/sysconfig/fonts-config
fonts-config

# Plugins do GStreamer, nano, tradução pt-BR do LibreOffice, exFAT (modifique à vontade)
zypper -n in gstreamer-plugins-bad-orig-addon gstreamer-plugins-ugly-orig-addon gstreamer-plugins-libav gstreamer-plugins-vaapi vaapi-tools nano nano-lang libreoffice-l10n-pt-BR fuse-exfat exfat-utils

# Fontes da Microsoft
# Baixe o arquivo antes, o link está no post
zypper -n in msttcore-fonts-1.0-2.noarch.rpm

# Remove o plugin MP3 Fluendo, pois é desnecessário com os pacotes do Packman,
# e o inútil Postfix, que serve só para atrasar o boot
# MTA num desktop, esses caras estão loucos...
zypper -n rm -u gstreamer-fluendo-mp3 postfix
rm -rf /var/spool/postfix /var/lib/postfix /etc/postfix
userdel postfix

[Atualização - 27/05/2016] Atualizado para o openSUSE 42.1 + GNOME. Lista de pacotes enxugada. Texto mais conciso.
[Atualização - 29/05/2016] FreeType com subpixel rendering.
[Atualização - 04/06/2016] Suporte ao sistema de arquivos exFAT.

2 comentários:

  1. valeu mesmo, muti útil
    muito obrigado pela dica
    o blog esta de parabéns
    clerto

    ResponderExcluir
    Respostas
    1. Obrigado. Editei o post para corrigir algumas coisinhas. ;-)

      Excluir