Corrigindo perfis de Portage em Sabayon e Gentoo

Publicado por Alberto Federman Neto. em 14/05/2014

[ Hits: 5.983 ]

Blog: https://ciencialivre.blog/

 


Corrigindo perfis de Portage em Sabayon e Gentoo



Distribuições baseadas em Gentoo usam Portage como gerenciador de pacotes. Suponha que você tenha uma antiga instalação de Gentoo, ou de Sabayon, que ficou muito tempo sem atualizar.

Ocorre que o Portage mudou muito nesse tempo. Os perfis, os EAPI, alguns arquivos mudaram de lugar (ex.: o make.conf e make.profile, mudaram de /etc para /etc/portage, etc...).

Se você tentar atualizar direto (comando: emerge --sync), não conseguirá e obterá mensagens assim:

# emerge -va portage
 !!! Unable to parse profile: '/etc/make.profile'
 !!! ParseError: Profile contains unsupported EAPI '5':
     '/usr/portage/profiles/eapi-5-files/eapi'
 !!! Your current profile is invalid. If you have just changed your profile
 !!! configuration, you should revert back to the previous configuration.
 !!! Allowed actions are limited to --help, --info, --search, --sync, and
 !!! --version.

 
# emerge --sync
 !!! Unable to parse profile: '/etc/make.profile'
 !!! ParseError: Profile contains unsupported EAPI '5': 
     '/usr/portage/profiles/eapi-5-files/eapi'
 !!! SYNC is undefined. Is /usr/share/portage/config/make.globals missing?


Detalhes: Gentoo Forums :: View topic - Unable to parse profile

Se você verificar seus perfis (comando: eselect profile list), verá que eles estão velhos.

O ideal é reinstalar limpo seu Gentoo ou Sabayon. Mas, suponho que queira consertar (pois o Gentoo é muito trabalhoso para instalar). Ainda, o Dinossauro gosta de consertar o GNU/Linux! (rs!)

Faça assim:

1. Abra seu editor de texto em modo root (em usei Pluma, com sudo gráfico: gksu pluma) e edite o arquivo /etc/portage/make.profile/parent.

Se seu Portage for velho, provavelmente o terá. Ao editar, comente a linha do perfil velho e a modifique para o novo perfil (13, EAPI 5).

Deixe-o assim:

# Perfil Novo:
gentoo:default/linux/amd64/13.0/desktop

# Arquivo Original. Perfis Velhos:
# gentoo:default/linux/amd64/10.0/desktop
# gentoo:gentoo/1.0/linux-gnu/build/current
# gentoo:gentoo/1.0/linux-gnu/flavor/desktop

2. Salve o arquivo na pasta correta, com o mesmo nome: /etc/portage/make.profile/parent

Em meus testes, não ocorreu, mas se você não tiver o arquivo original, crie-o. Mantenha o editor ABERTO, isto porque:

Agora, você precisará editar outros arquivos. Verá no editor, ou com comandos (tipo: locate ou find):

cd /
$ find -name make.profile


Verá que tem um arquivo make.profile ou em /etc, ou em /etc/portage. Mas se tentar abrir no editor, receberá uma mensagem de que o "arquivo não foi achado". Isso é uma proteção do Portage, que não deixa editar.

Drible isso da seguinte forma: se você tiver seu make.conf na pasta /etc ou na pasta /etc/portage, mantenha o caminho adequado.

No meu exemplo, estava em /etc/portage. Então, este é o caminho padrão do seu Portage. Em modo root, crie um arquivo "branco", "vazio", chamado make.profile nessa pasta:

cd /
$ sudo touch /etc/portage/make.profile


Observe que isso sobrescreverá o arquivo original (que vimos acima, não editava!).

Agora, volte ao editor que manteve aberto, e lembrando que editou o arquivo /etc/portage/make.profile/parent, salve uma outra cópia dele, mas em /etc/portage/make.profile (ou alternativamente, em /etc/make.profile, dependendo do que seu Portage usar).

Se você for um usuário com alguma experiência em GNU/Linux, um outro jeito de fazer isso é com os comandos:

cd /
$ cd etc/portage
$ sudo touch make.profile
$ sudo echo "gentoo:default/linux/amd64/13.0/desktop" > /etc/portage/make.profile


Agora, feche o editor, etc... E, num terminal, execute o comando para ver os perfis:

eselect profile list

Verá que já tem todos os perfis novos:

 Available profile symlink targets:
   [1]   default/linux/amd64/13.0
   [2]   default/linux/amd64/13.0/selinux
   [3]   default/linux/amd64/13.0/desktop
   [4]   default/linux/amd64/13.0/desktop/gnome
   [5]   default/linux/amd64/13.0/desktop/gnome/systemd
   [6]   default/linux/amd64/13.0/desktop/kde
   [7]   default/linux/amd64/13.0/desktop/kde/systemd
   [8]   default/linux/amd64/13.0/developer
   [9]   default/linux/amd64/13.0/no-multilib
   [10]  default/linux/amd64/13.0/x32
   [11]  hardened/linux/amd64
   [12]  hardened/linux/amd64/selinux
   [13]  hardened/linux/amd64/no-multilib
   [14]  hardened/linux/amd64/no-multilib/selinux
   [15]  hardened/linux/amd64/x32
   [16]  hardened/linux/uclibc/amd64


Agora, escolha um perfil. Eu uso o para Desktop:

sudo eselect profile set 3

E regule as variáveis de ambiente. Nas distros tipo Gentoo, é feito com os comandos abaixo e o source deve ser executado como usuário comum:

sudo etc-update
$ sudo env-update
$ source /etc/profile



Espero ter ajudado a colocar seu Portage funcionando novamente.
Até a próxima.

Outras dicas deste autor

Melhorando a conexão Wi-Fi

Recuperação de OpenRC e SysVinit em Sabayon Linux

Rescatux e SuperGRUB2 - Recuperação emergencial de boot e/ou de GRUB

Meu micro está usando todos os processadores? [Resolvido]

Compilando/Instalando o novo Cairo-Dock no Sabayon

Leitura recomendada

Imagem customizada na parte superior do cubo do Compiz

[Resolvido] Quadrados ao invés de caracteres no openSUSE

Sincronizar hora de um host Windows através de um host Linux com Samba

Configuração do Synaptics - Mouse e Touchpad

Fortune em português no Slackware Current

  

Comentários
[1] Comentário enviado por albfneto em 16/05/2014 - 09:41h

COMPLEMENTO DA DICA:

Há outro método Alternativo de trocar os Perfis;

Vc pode primeiro renomear o Portage padrão, seu, para guardá-lo:

$ cd /
$ cd usr
$ sudo mv portage portage.copia

Agora, baixe o "Snapshot" do Portage, a partir de um espelho Gentoo, por exemplo, da UNICAMP:

http://www.las.ic.unicamp.br/pub/gentoo/releases/snapshots/current/

e o salve em /usr

Expanda:

$ sudo tar -jxvf portage-latest.tar.bz2

Terá uma nova pasta /usr/portage, com um subdiretório "profiles". com os Perfis novos.




Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts