Note

The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.

Difference between revisions of "Upgrade Instructions/1.2-release/pt-br"

From Funtoo
Jump to navigation Jump to search
(Created page with "{{Importante | O objetivo dessas instruções é fornecer aos usuários do Funtoo Linux um conjunto confiável e consistente de instruções para atualizar o Funtoo Linux de 1...")
m (FuzzyBot moved page Upgrade Instructions/pt-br to Upgrade Instructions/1.2-release/pt-br without leaving a redirect: Part of translatable page "Upgrade Instructions")
 
(51 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Importante | O objetivo dessas instruções é fornecer aos usuários do Funtoo Linux um conjunto confiável e consistente de instruções para atualizar o Funtoo Linux de 1.0 para 1.2. Por favor, ajude a garantir que estas instruções sejam completas e guie os usuários através de possíveis complicações. Como este é um wiki, faça alterações na página necessárias para tornar essas instruções 100% confiáveis. Obrigado!}}
{{Note|O objetivo dessas instruções é fornecer aos usuários do Funtoo Linux um conjunto confiável e consistente de instruções para atualizar o Funtoo Linux de 1.0 para 1.2. Por favor, ajude a garantir que estas instruções sejam completas e guiem os usuários através de possíveis complicações. Como este é um Wiki, faça as alterações necessárias na página para tornar essas instruções 100% confiáveis. Obrigado!}}


These instructions will guide you through the process of upgrading your system from Funtoo Linux 1.0 to 1.2. First, please make sure that you have created a backup of your system. If you choose to proceed without
Estas instruções irão guiá-lo através do processo de atualização do seu sistema do Funtoo Linux 1.0 para 1.2. Primeiro, por favor, certifique-se de ter criado uma cópia de segurança (backup) do seu sistema. Se você optar por continuar sem
a backup, then you are assuming the risk of a broken system and dealing with fixing it or re-installing. While these install steps are fairly robust, we will
uma cópia de segurança, então você está assumindo o risco de ter seu sistema quebrado e lidar com conserto ou ainda precisar de uma reinstalação completa. Embora estas etapas de atualização sejam bastante robustas, serão removidos pacotes que aparentemente não são mais utilizados em seu sistema, e embora todas as precauções sejam tomadas para evitar a quebra de outros pacotes, em alguns casos especiais isso pode resultar na remoção de pacotes que você realmente precisa. Tipicamente isso não acontecerá, mas, como essa possibilidade existe, é melhor estar preparado para essa possibilidade, particularmente em sistemas críticos.
be removing what appear to be unused packages on the system, and while every precaution is taken to avoid breaking packages, in odd cases this could result in some packages being removed that you actually need. Typically
this will not happen, but since the possibility exists, it is best to be prepared for this possibility, particularly on critical systems.


Now, edit your {{f|/var/lib/portage/world}} file. Look for catpkgs (ie. "category/packagename") that you no longer use or need on your system and remove them. Also consider packages you may have installed
Agora, edite seu arquivo {{f | /var/lib/portage/world}}. Procure por campos do tipo catpkgs (ou seja, "category / packagename") que você não usa mais ou não precisa no seu sistema e remova-os. Considere também os pacotes que você pode ter instalado com {{c | --oneshot}} que não estão no arquivo world mas deveriam estar, e adicione-os. O sistema Portage usará {{f | /var/lib/portage/world}} como uma lista principal de pacotes que devem estar ativados em seu sistema. Vamos agora olhar para a limpeza de quaisquer pacotes desnecessários que não estejam no conjunto de @world. Iremos remover esses pacotes por alguns motivos. Primeiro, eles não serão atualizados com uma atualização do {{c | @world}}. Segundo, porque eles não estão incluídos no {{c | @world}}, eles podem estar desatualizados e ter dependências antigas e problemáticas que podem dificultar a nossa atualização, uma vez que o portage não vai querer "quebrar" as dependências desses pacotes órfãos. Terceiro, quando fazemos um {{c|emerge@preserved-rebuild}}, podemos acabar reconstruindo pacotes que não precisamos. Portanto, remover pacotes desnecessários é uma boa ideia por todas essas razões.
with {{c|--oneshot}} that are not in the world file but should be, and add them. Portage will use {{f|/var/lib/portage/world}} as the master list of packages that should be on
your system. We will now look into cleaning up any unnecessary packages that are not in the world set. We want to remove these packages for a couple of reasons. First,
they will not get upgraded with a {{c|@world}} update. Second, because they are not included in {{c|@world}}, they could be outdated and have old and problematic dependencies that could hamper our upgrade, since portage will not want to "break" dependencies for these orphaned packages. Third, when we do an {{c|emerge @preserved-rebuild}}, we may end up rebuilding packages that we don't need. So removing unnecessary packages is a good idea for quite a few reasons.


{{Note|You may be wondering -- what are these packages on my system that are not part of the world set? They could be a number of things. First, they could be build dependencies for certain packages. They could possibly be old slots of packages you already use -- for example, an old version of PHP. The could also be packages that were dependencies of certain packages, but are no longer needed by those packages -- possibly due to changes in {{c|USE}} flags. Often, virtuals are part of this group of packages, and it is generally safe for virtuals to be removed. They will get re-emerged in the future if referenced by an ebuild.}}
{{Note|Você pode estar se perguntando - quais são esses pacotes no meu sistema que não fazem parte do conjunto do @world? Eles podem ser várias coisas. Primeiro, eles poderiam ser dependências de construção para certos pacotes. Eles podem ser antigos slots de pacotes que você já usa - por exemplo, uma versão antiga do PHP. Eles também podem ser pacotes que eram dependências de certos pacotes, mas não são mais necessários para esses pacotes - possivelmente devido a alterações nos sinalizadores (flags) utilizadas em {{c | USE}}. Geralmente, os pacotes virtuais fazem parte desse grupo de pacotes e geralmente é seguro remover os pacotes virtuais. Eles ressurgirão (re-emerged) no futuro se forem referenciados por um ebuild.}}


Run the following command and carefully review its output. Do not say "y" at this point:
Execute o seguinte comando e revise cuidadosamente sua saída. Não diga "y" neste ponto:


{{console|body=
{{console|body=
Line 20: Line 15:
}}
}}


{{Note|The {{c|1=--ignore-soname-deps=n}} option will prevent packages that provide necessary libraries from being removed, even if they appear to be "orphaned." This is an additional safety measure when cleaning dependencies from your system.}}
{{Note| A opção {{c|1=--ignore-soname-deps=n}} impedirá que pacotes que forneçam bibliotecas necessárias sejam removidos, mesmo que eles pareçam "órfãos". Essa é uma medida de segurança adicional ao limpar dependências em seu sistema.}}


Now, review the list of packages that are going to be removed. See anything in this list that you know you need? This would indicate that you need to add the cat/pkg
Agora, revise a lista de pacotes que serão removidos. Veja se alguma coisa que você precise não está nesta lista. Isso indicaria que você precisa adicionar o cat / pkg para {{f|/var/lib/portage/world}} antes de continuar. Quando a lista estiver OK, digite:
to {{f|/var/lib/portage/world}} before proceeding. Once the list looks OK, type:


{{console|body=
{{console|body=
Line 29: Line 23:
}}
}}


...And type "y" [enter] to remove old packages.
... e digite "y" [enter] para remover pacotes antigos.


Now, you should have a still-functioning system, but with all "extra" packages removed. Now it is time to upgrade the packages that remain.  
Agora, você deve ter um sistema ainda em funcionamento, mas com todos os pacotes "extras" removidos. Agora é hora de atualizar os pacotes que permaneceram.  


Now you will want to run {{c|ego sync}} and upgrade to the latest ego-2.4.x series available.  
Agora você precisa executar o comando {{c | ego sync}} e atualizar para a última série do ego-2.4.x disponível.
{{console|body=
{{console|body=
# ##i## ego sync
# ##i## ego sync
Line 39: Line 33:
}}
}}


If you have difficulty satisfying deps for it for whatever reason, the following should work:
Se você tiver dificuldade em satisfazer as dependências, por qualquer motivo, o comando seguinte deve funcionar:
{{console|body=
{{console|body=
# ##i## emerge -v1 --nodeps ego
# ##i## emerge -v1 --nodeps ego
}}
}}


If you still cannot merge using emerge, the following should work:
Se você ainda não consegue mesclar (merge) usando o emerge, o comando seguinte deve funcionar:
{{console|body=
{{console|body=
# ##i## cd /var/git/meta-repo/kits/core-kit/app-admin/ego
# ##i## cd /var/git/meta-repo/kits/core-kit/app-admin/ego
# ##i## ebuild ego-2.4.2.ebuild merge
# ##i## ebuild ego-2.4.2.ebuild merge
}}
}}
Once the new ego is merged, edit your /etc/ego.conf to look like this:
Uma vez que uma nova versão de ego é mesclada, edite seu arquivo /etc/ego.conf para ficar assim:


{{file|name=/etc/ego.conf|body=
{{file|name=/etc/ego.conf|body=
Line 57: Line 51:
}}
}}


Now, run the following steps as root.
Agora, execute os próximos passos como superusuário (root).


{{console|body=
{{console|body=
Line 63: Line 57:
}}
}}


This will activate the new 1.2 kits. Now, time to start upgrading:
Isso ativará os novos kits da versão 1.2 de Funtoo. Agora, é hora de começar a atualização:


{{console|body=
{{console|body=
Line 69: Line 63:
}}
}}


This will upgrade gcc.
Isso atualizará o compilador gcc.


This is an ideal time to review the subarch setting of your Funtoo Linux installation. Funtoo Linux 1.2 now has optimizations available for 5th and 6th-generation Intel
Este é o momento ideal para revisar a configuração da sub-arquitetura da sua instalação do Funtoo Linux. O Funtoo Linux 1.2 possui otimizações disponíveis para as 5ª e a 6ª gerações de processadores da Intel, bem como processadores AMD da família Ryzen. Verifique se a sub-arquitetura atual, bem como as sub-arquiteturas disponíveis, digitando o seguinte comando:
Core processors, as well as Ryzen processors. View your current subarch, as well as available subarches, by typing the following command:


{{console|body=
{{console|body=
Line 89: Line 82:
}}
}}


If desired and supported by your CPU, you can now update your subarch to a more optimized subarch for your hardware. The new subarch profiles available are:
Se sua CPU é suportada e você assim desejar, você poderá atualizar sua sub-arquitetura para uma otimizada para o seu hardware. Os novos perfis de sub-arquitetura disponíveis são:


* {{c|intel64-skylake}} - Optimized for Intel Core 6th Generation Processors (see [[intel64-skylake]] for more info.)
* {{c|intel64-skylake}} - Optimized for Intel Core 6th Generation Processors (see [[intel64-skylake]] for more info.)
Line 95: Line 88:
* {{c|amd64-zen}} - Optimized for AMD Ryzen Processors.
* {{c|amd64-zen}} - Optimized for AMD Ryzen Processors.


Use the {{c|lscpu}} command to view information about your CPU and do a web search for its name to determine what generation CPU it is. Then, the system's subarch
Use o comando {{c | lscpu}} para visualizar informações detalhadas sobre sua CPU e faça uma pesquisa na Web para determinar o nome da geração a que sua CPU pertençe. Então, modifique a sub-arquitetura de seu sistema da seguinte forma:
can be changed as follows:


{{console|body=
{{console|body=
Line 113: Line 105:
}}
}}


Now that we have ensured that we have an optimal subarch set for your system, it's time to begin the process of rebuilding critical packages with the new compiler. We will start with glibc. Enter the following command:
Agora que garantimos que temos um conjunto de sub-arquitetura ideal para o seu sistema, é hora de começar o processo de reconstrução de pacotes críticos com o novo compilador. Vamos começar com a glibc. Digite o seguinte comando:


{{console|body=
{{console|body=
Line 119: Line 111:
}}
}}


Glibc and its dependencies/related packages will now be upgraded.
A Glibc e suas dependências (e pacotes relacionados) serão atualizados.


Since moving to 1.2 also includes moving to python-3.6, perform the following steps:
Mover seu sistema para a versão 1.2 significa mover python para a versão 3.6. Isso é feito com os seguintes passos:


{{console|body=
{{console|body=
Line 128: Line 120:
}}
}}


This will ensure that we have python-3.6 ready and installed, and the older python-3.4 removed. Removing python-3.4 is important to ensure that python modules upgrade properly.
Isso garantirá que teremos o python-3.6 pronto e instalado, e o antigo python-3.4 removido. A remoção do python-3.4 é importante para garantir que os módulos python sejam atualizados corretamente.


Some packages rely on a current ruby being available on the system, and having stale versions on your system can cause problems. To remove these from your system, run:
Alguns pacotes dependem que uma versão de Ruby esteja disponível no sistema, e ter versões obsoletas atualmente instaladas no sistema podem causar problemas. Para removê-las do seu sistema, execute:


{{console|body=
{{console|body=
Line 136: Line 128:
}}
}}


For upgrading to 1.2, you
Para atualizar para 1.2, você tem que reconstruir todos os pacotes, o que garantirá que seu sistema esteja totalmente otimizado com o novo compilador gcc.
have to rebuild all packages, which will ensure that your system is fully optimized with the new gcc.


{{Note|Include the {{c|1=--jobs=3}} (or higher number) option as a parameter to the {{c|emerge}} command if you have sufficient RAM and CPU cores to build several packages in parallel.}}
{{Note|Inclua a opção {{c|1=--jobs=3}} (ou um valor maior) como um parâmetro para o comando  {{c|emerge}} se você tem memória RAM suficiente e vários núcleos de CPU para construir pacotes em paralelo.}}


Here is what you need to run:
Aqui está o que você precisa para executar:


{{console|body=
{{console|body=
Line 147: Line 138:
}}
}}


This will fully rebuild all packages on your system. It will take a lot of time, but will ensure everything is freshly rebuilt. Once completed successfully, this will result in an up-to-date system, with potentially better-optimized binaries, benefiting from more recent gcc improvements.
Isso reconstruirá totalmente todos os pacotes no seu sistema. Vai levar um tempo (um tempo longo) , mas vai garantir que tudo seja recém reconstruído. Depois de concluído com êxito, isso resultará em um sistema atualizado, com binários potencialmente melhor otimizados, aproveitando as melhorias mais recentes do compilador gcc.


{{Note|If the preceding command fails, you should run 'emerge -uDN1 --keep-going @world' to ensure that all dependencies are fully resolved and rebuilt, then run the 'emerge --emptytree -a @world' command again to ensure that every package is rebuilt with the new gcc compiler.}}
{{Note | Se o comando anterior falhar, você deve executar 'emerge -uDN1 --keep-going @world' para assegurar que todas as dependências sejam totalmente resolvidas e reconstruídas, então execute o comando 'emerge --emptytree -a @world' novamente para garantir que cada pacote seja reconstruído com o novo compilador gcc.}}


Finally, you will want to either run {{c|etc-update}} or {{c|dispatch-conf}}:
Finalmente, execute {{c|etc-update}} ou {{c|dispatch-conf}}:


{{console|body=
{{console|body=
Line 157: Line 148:
}}
}}


If your kernel has been upgraded, make the necessary changes to {{f|/etc/boot.conf}} to make the new kernel the default, and then re-run {{c|boot-update}}:
Se seu kernel foi atualizado, faça as mudanças necessárias no arquivo {{f | /etc/boot.conf}} para tornar esse novo kernel o padrão, e então execute novamente {{c | boot-update}} para atualizar o seu arquivo {{f |/boot/grub/grub.cfg}}:


{{console|body=
{{console|body=
Line 163: Line 154:
}}
}}


Now is a good time to perform a pre-check of any packages that have been installed that may require configuration file updates. One notable example is php-fpm -- you may need to perform the following steps if your system uses php-fpm:
Agora é um bom momento para realizar uma pré verificação de quaisquer pacotes instalados que possam exigir atualizações em seus arquivos de configuração. Um exemplo notável é o php-fpm - você pode precisar executar as seguintes etapas se o seu sistema usar o php-fpm:


{{console|body=
{{console|body=
Line 169: Line 160:
}}
}}


This will ensure that the settings you use for the previously-installed version of php-fpm will be applied to the current version.
Isso garantirá que as configurações usadas para a versão do php-fpm instalada anteriormente sejam aplicadas à versão atual.


{{Note|If you find any other packages that need similar manual steps post-upgrade, please document them here for the benefit of others! Thanks.}}
{{Note | Se você encontrar algum outro pacote que precise de etapas manuais semelhantes após a atualização, por favor, registre-os aqui para o benefício de outros! Obrigado.}}


At this point, the migration to 1.2 should be complete. At a convenient time, reboot your system, and perform a thorough check of all services to ensure they have started
Neste ponto, a migração para o 1.2 deve estar completa. Em um momento conveniente, reinicie o sistema e faça uma verificação completa de todos os serviços para garantir que eles tenham sido iniciados corretamente:
correctly:


{{console|body=
{{console|body=
Line 180: Line 170:
}}
}}


After reboot:
Após a reinicialização:


{{console|body=
{{console|body=
Line 186: Line 176:
}}
}}


Now, perform a final check of any production services to ensure that they are operating properly, by loading web pages, sending test emails, etc.
Agora, faça uma verificação final de quaisquer serviços de produção para garantir que eles estejam operando  corretamente, carregando páginas da Web, enviando e-mails de teste e etc.


At this point, you are now upgraded to Funtoo Linux 1.2! Please report any bugs to https://bugs.funtoo.org and let us know of any issues you experience, either as part of the upgrade, related to dependencies, or related to functionality on your upgraded system.
Neste ponto, você está agora atualizado para o Funtoo Linux 1.2! Por favor, relate quaisquer falhas (bugs) em https://bugs.funtoo.org e informe-nos sobre quaisquer problemas que você enfrente como parte dessa atualização. Identifique qualquer problema relacionado a dependências ou relacionados à funcionalidade em seu sistema atualizado.


[[Category:Official Documentation]]
[[Category:Official Documentation]]

Latest revision as of 16:19, December 4, 2018

Other languages:
English • ‎português do Brasil
   Note

O objetivo dessas instruções é fornecer aos usuários do Funtoo Linux um conjunto confiável e consistente de instruções para atualizar o Funtoo Linux de 1.0 para 1.2. Por favor, ajude a garantir que estas instruções sejam completas e guiem os usuários através de possíveis complicações. Como este é um Wiki, faça as alterações necessárias na página para tornar essas instruções 100% confiáveis. Obrigado!

Estas instruções irão guiá-lo através do processo de atualização do seu sistema do Funtoo Linux 1.0 para 1.2. Primeiro, por favor, certifique-se de ter criado uma cópia de segurança (backup) do seu sistema. Se você optar por continuar sem uma cópia de segurança, então você está assumindo o risco de ter seu sistema quebrado e lidar com conserto ou ainda precisar de uma reinstalação completa. Embora estas etapas de atualização sejam bastante robustas, serão removidos pacotes que aparentemente não são mais utilizados em seu sistema, e embora todas as precauções sejam tomadas para evitar a quebra de outros pacotes, em alguns casos especiais isso pode resultar na remoção de pacotes que você realmente precisa. Tipicamente isso não acontecerá, mas, como essa possibilidade existe, é melhor estar preparado para essa possibilidade, particularmente em sistemas críticos.

Agora, edite seu arquivo /var/lib/portage/world. Procure por campos do tipo catpkgs (ou seja, "category / packagename") que você não usa mais ou não precisa no seu sistema e remova-os. Considere também os pacotes que você pode ter instalado com --oneshot que não estão no arquivo world mas deveriam estar, e adicione-os. O sistema Portage usará /var/lib/portage/world como uma lista principal de pacotes que devem estar ativados em seu sistema. Vamos agora olhar para a limpeza de quaisquer pacotes desnecessários que não estejam no conjunto de @world. Iremos remover esses pacotes por alguns motivos. Primeiro, eles não serão atualizados com uma atualização do @world. Segundo, porque eles não estão incluídos no @world, eles podem estar desatualizados e ter dependências antigas e problemáticas que podem dificultar a nossa atualização, uma vez que o portage não vai querer "quebrar" as dependências desses pacotes órfãos. Terceiro, quando fazemos um emerge@preserved-rebuild, podemos acabar reconstruindo pacotes que não precisamos. Portanto, remover pacotes desnecessários é uma boa ideia por todas essas razões.

   Note

Você pode estar se perguntando - quais são esses pacotes no meu sistema que não fazem parte do conjunto do @world? Eles podem ser várias coisas. Primeiro, eles poderiam ser dependências de construção para certos pacotes. Eles podem ser antigos slots de pacotes que você já usa - por exemplo, uma versão antiga do PHP. Eles também podem ser pacotes que eram dependências de certos pacotes, mas não são mais necessários para esses pacotes - possivelmente devido a alterações nos sinalizadores (flags) utilizadas em USE. Geralmente, os pacotes virtuais fazem parte desse grupo de pacotes e geralmente é seguro remover os pacotes virtuais. Eles ressurgirão (re-emerged) no futuro se forem referenciados por um ebuild.

Execute o seguinte comando e revise cuidadosamente sua saída. Não diga "y" neste ponto:

root # emerge -p --depclean --ignore-soname-deps=n
   Note
A opção --ignore-soname-deps=n impedirá que pacotes que forneçam bibliotecas necessárias sejam removidos, mesmo que eles pareçam "órfãos". Essa é uma medida de segurança adicional ao limpar dependências em seu sistema.

Agora, revise a lista de pacotes que serão removidos. Veja se alguma coisa que você precise não está nesta lista. Isso indicaria que você precisa adicionar o cat / pkg para /var/lib/portage/world antes de continuar. Quando a lista estiver OK, digite:

root # emerge -a --depclean  --ignore-soname-deps=n

... e digite "y" [enter] para remover pacotes antigos.

Agora, você deve ter um sistema ainda em funcionamento, mas com todos os pacotes "extras" removidos. Agora é hora de atualizar os pacotes que permaneceram.

Agora você precisa executar o comando ego sync e atualizar para a última série do ego-2.4.x disponível.

root #  ego sync
root #  emerge -v1 ego

Se você tiver dificuldade em satisfazer as dependências, por qualquer motivo, o comando seguinte deve funcionar:

root #  emerge -v1 --nodeps ego

Se você ainda não consegue mesclar (merge) usando o emerge, o comando seguinte deve funcionar:

root #  cd /var/git/meta-repo/kits/core-kit/app-admin/ego
root #  ebuild ego-2.4.2.ebuild merge

Uma vez que uma nova versão de ego é mesclada, edite seu arquivo /etc/ego.conf para ficar assim:

   /etc/ego.conf
[global]

release = 1.2

Agora, execute os próximos passos como superusuário (root).

root # ego sync

Isso ativará os novos kits da versão 1.2 de Funtoo. Agora, é hora de começar a atualização:

root # emerge -u1 gcc

Isso atualizará o compilador gcc.

Este é o momento ideal para revisar a configuração da sub-arquitetura da sua instalação do Funtoo Linux. O Funtoo Linux 1.2 possui otimizações disponíveis para as 5ª e a 6ª gerações de processadores da Intel, bem como processadores AMD da família Ryzen. Verifique se a sub-arquitetura atual, bem como as sub-arquiteturas disponíveis, digitando o seguinte comando:

root # ego profile list subarch

=== subarch: ===

    amd64-bulldozer, amd64-excavator, amd64-jaguar, amd64-k10
    amd64-k8, amd64-k8+sse3, amd64-piledriver, amd64-steamroller
    amd64-zen, atom_64, btver1_64, core-avx-i, core2_64, corei7
    generic_64, intel64-broadwell, intel64-haswell, intel64-ivybridge
    intel64-nehalem, intel64-sandybridge, intel64-silvermont, intel64-skylake
    intel64-westmere*, native_64, nocona, opteron_64, xen-pentium4+sse3_64

root #

Se sua CPU é suportada e você assim desejar, você poderá atualizar sua sub-arquitetura para uma otimizada para o seu hardware. Os novos perfis de sub-arquitetura disponíveis são:

  • intel64-skylake - Optimized for Intel Core 6th Generation Processors (see intel64-skylake for more info.)
  • intel64-broadwell - Optimized for Intel Core 5th Generation Processors (see intel64-broadwell for more info.)
  • amd64-zen - Optimized for AMD Ryzen Processors.

Use o comando lscpu para visualizar informações detalhadas sobre sua CPU e faça uma pesquisa na Web para determinar o nome da geração a que sua CPU pertençe. Então, modifique a sub-arquitetura de seu sistema da seguinte forma:

root # ego profile subarch intel64-skylake
=== Enabled Profiles: ===

        arch: x86-64bit
       build: current
     subarch: intel64-skylake
      flavor: core

>>> Set subarch to intel64-skylake.
root ##b##Updating profiles at /etc/portage/make.profile/parent...

root #

Agora que garantimos que temos um conjunto de sub-arquitetura ideal para o seu sistema, é hora de começar o processo de reconstrução de pacotes críticos com o novo compilador. Vamos começar com a glibc. Digite o seguinte comando:

root # emerge -u1 glibc libnsl libtirpc rpcsvc-proto

A Glibc e suas dependências (e pacotes relacionados) serão atualizados.

Mover seu sistema para a versão 1.2 significa mover python para a versão 3.6. Isso é feito com os seguintes passos:

root # emerge -u1 =dev-lang/python-3.6*
root # emerge -C =dev-lang/python-3.4*

Isso garantirá que teremos o python-3.6 pronto e instalado, e o antigo python-3.4 removido. A remoção do python-3.4 é importante para garantir que os módulos python sejam atualizados corretamente.

Alguns pacotes dependem que uma versão de Ruby esteja disponível no sistema, e ter versões obsoletas atualmente instaladas no sistema podem causar problemas. Para removê-las do seu sistema, execute:

root # emerge -C \<=dev-lang/ruby-2.3.0

Para atualizar para 1.2, você tem que reconstruir todos os pacotes, o que garantirá que seu sistema esteja totalmente otimizado com o novo compilador gcc.

   Note

Inclua a opção --jobs=3 (ou um valor maior) como um parâmetro para o comando emerge se você tem memória RAM suficiente e vários núcleos de CPU para construir pacotes em paralelo.

Aqui está o que você precisa para executar:

root # emerge --emptytree -a @world

Isso reconstruirá totalmente todos os pacotes no seu sistema. Vai levar um tempo (um tempo longo) , mas vai garantir que tudo seja recém reconstruído. Depois de concluído com êxito, isso resultará em um sistema atualizado, com binários potencialmente melhor otimizados, aproveitando as melhorias mais recentes do compilador gcc.

   Note
Se o comando anterior falhar, você deve executar 'emerge -uDN1 --keep-going @world' para assegurar que todas as dependências sejam totalmente resolvidas e reconstruídas, então execute o comando 'emerge --emptytree -a @world' novamente para garantir que cada pacote seja reconstruído com o novo compilador gcc.

Finalmente, execute etc-update ou dispatch-conf:

root # etc-update

Se seu kernel foi atualizado, faça as mudanças necessárias no arquivo /etc/boot.conf para tornar esse novo kernel o padrão, e então execute novamente boot-update para atualizar o seu arquivo /boot/grub/grub.cfg:

root # boot-update

Agora é um bom momento para realizar uma pré verificação de quaisquer pacotes instalados que possam exigir atualizações em seus arquivos de configuração. Um exemplo notável é o php-fpm - você pode precisar executar as seguintes etapas se o seu sistema usar o php-fpm:

root # cp /etc/php/fpm-php-7.1/php* /etc/php/fpm-php-7.3/php*

Isso garantirá que as configurações usadas para a versão do php-fpm instalada anteriormente sejam aplicadas à versão atual.

   Note
Se você encontrar algum outro pacote que precise de etapas manuais semelhantes após a atualização, por favor, registre-os aqui para o benefício de outros! Obrigado.

Neste ponto, a migração para o 1.2 deve estar completa. Em um momento conveniente, reinicie o sistema e faça uma verificação completa de todos os serviços para garantir que eles tenham sido iniciados corretamente:

root # reboot

Após a reinicialização:

root # rc-status

Agora, faça uma verificação final de quaisquer serviços de produção para garantir que eles estejam operando corretamente, carregando páginas da Web, enviando e-mails de teste e etc.

Neste ponto, você está agora atualizado para o Funtoo Linux 1.2! Por favor, relate quaisquer falhas (bugs) em https://bugs.funtoo.org e informe-nos sobre quaisquer problemas que você enfrente como parte dessa atualização. Identifique qualquer problema relacionado a dependências ou relacionados à funcionalidade em seu sistema atualizado.