注意:

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

Instrucciones para Actualizar/1.3-release

From Funtoo
Jump to navigation Jump to search
Other languages:
English • ‎español • ‎中文(中国大陆)‎
   Warning

Actualizar a 1.3 removerá la compatibilidad de 32-bit de tu sistema, ya que tenemos un soporte multilibrería obsoleto. Por favor sea consciente de esto antes de comenzar el proceso de actualización.

   Important

El objetivo de estas instrucciones es proveer a los usuarios de Funtoo Linux con un set de instrucciones consistente y de confianza para actualizar Funtoo Linux de la versión 1.2 a 1.3. Por favor ayúdenos a asegurar que estas instrucciones son completas y guíe a los usuarios a través de alguna potencial complicación. Dado que este es un wiki, realice los cambios necesarios en la página para que estas instrucciones sean 100% confiables. ¡Gracias!

Antes de Actualizar a 1.3

Antes de actualizar a 1.3, necesita realizar un ego sync sobre la todavía versión 1.2. Si es que se encuentran errores con ego sync que no hubieran completado exitosamente con xorg-kit o gnome-kit, realice los siguientes pasos para corregir la estructura de archivos. Primero, agregue lo siguiente a /etc/ego.conf:

   /etc/ego.conf
[global]

kits_depth = 20

Después, ejecute los siguientes comandos:

root # rm -rf /var/git/meta-repo
root # ego sync

Ahora, asegúrese que tiene ego 2.7.2 o una versión superior instalada, ya que esto es un requerimiento para con la actualización.

Fijar Versión y Sincronización

En /etc/ego.conf, selecciona la versión 1.3:

   /etc/ego.conf
[global]

Versión = 1.3

Ahora, ejecute ego sync:

root # ego sync

Opcional Ubique Pure64

If you are running a pure64 build of Funtoo Linux, you will need to run the following command to update your /etc/portage/make.profile/parent file to no longer reference the pure64 arch profile, as it has been deprecated. Run the following command:

root # epro arch x86-64bit
root ##y##WARNING: Previous value: x86-64bit -- typically, user should not change this.

=== Enabled Profiles: ===

        arch: x86-64bit
       build: current
     subarch: intel64-westmere
      flavor: core
     mix-ins: mediaformat-gfx-common
     mix-ins: mediaformat-gfx-extra

>>> Set arch to x86-64bit.
Updating profiles at /etc/portage/make.profile/parent...
   Note

You may also need to update subarch using a similar set of arguments to epro, e.g. from intel64-westmere-pure64 to intel64-westmere.

Optionally Remove Xorg-Server

1.3-release contains a completely reworked xorg-server, and as such, it is best to remove your old xorg-server prior to updating:

root # emerge -C xorg-server
root # emerge -aC $(qlist -IC x11-proto)
root # emerge --oneshot x11-base/xorg-proto

Relax Deps and Rebuild

Before upgrading, it is a good idea to perform the following commands to relax any existing 32-bit ABI deps so that installed packages don't block necessary updates. Be sure to back up /var/db/pkg, as included in the instructions below, and specify the find commands below exactly -- best to copy and paste:

root # cd /var/db
root # cp -a pkg /var/tmp/pkg.bak
root # cd pkg
root # find -iname RDEPEND -exec sed -i -e 's/\[abi_x86_32(-),abi_x86_64(-)]//g' {} \;
root # find -iname RDEPEND -exec sed -i -e 's/,abi_x86_32(-),abi_x86_64(-)]/]/g' {} \;

Any critical installed packages should no longer depend on ebuilds providing 32-bit ABIs.

Now, proceed to install the new gcc, remove the old one, and then upgrade glibc:

root # emerge -u1 gcc
root # emerge -C =sys-devel/gcc-7.3.1*
root # emerge -u1 glibc

Perl Rebuild

With 1.3-release dev-lang/perl updated from 5.24 to 5.26 version. It is necessary to rebuild perl modules installed with such major version update, which can be done with:

root # emerge -v1 --nodeps dev-lang/perl
root # perl-cleaner --all
   Note

Some systems may require perl-cleaner --reallyall

Now, you are ready to proceed with a full system and world update:

root # emerge -auDN @system --ignore-world
root # emerge -auDN @world

Now, it should be possible to rebuild any necessary packages to get rid of preserved libraries, paying particular attention to any old versions of glibc:

root # emerge -av @preserved-rebuild
   Important

It appears that dev-lang/go will keep rebuilding against a preserved 32-bit glibc, so to fully remove multilib on a system that has dev-lang/go installed, you will need to perform the following steps: emerge -C dev-lang/go; emerge dev-lang/go.

Now, after update and rebuild you will want to either run etc-update or dispatch-conf to perform changes to the configuration files that may happen with ebuild updates:

root # etc-update

Optionally Update Kernel

If you were not using debian-sources-lts before, you may want to upgrade to this kernel. Do this as follows:

root # emerge -av debian-sources-lts
root # ego boot update

Depending on your /etc/boot.conf settings, you may need to tweak the file in order to have debian-sources-lts selected by default.

   Important

Remember to rebuild any necessary kernel modules!

This can be achieved with:

root # emerge -av @module-rebuild --exclude debian-sources-lts

Reboot

At this point, we recommend rebooting the system to ensure you are running in the new environment:

root # reboot