Tutorial básico de Calculate Linux

Elaborado tomando como fuentes a la wiki de Gentoo (que es la base aunque existan algunas diferencias entre estas dos distribuciones Linux), otras webs y foros y mi propias experiencias aprendiendo a utilizar Calculate.


OS Type: Linux
Basado en: Gentoo
Origen: Russia
Arquitectura: i686, x86_64
Escritorio: Cinnamon, KDE Plasma, LXQt, MATE, Xfce
Categoría: Desktop, Live Medium, Server, Source-based
Release Model: Fixed/Rolling Release
Estado: Activo
Sabayon usa Entropy. Calculate utiliza paquetes binarios portage.
CALCULATE LINUX PARA NOVATOS

Descargar Calculte Linux de:
http://www.calculate-linux.org/main/en/download
Descargar de Current releases si quieres una versión actualizada (la Stable Version está desactualizada y da muchos problemas):
Portugal http://calculate-linux.barata.pt/nightly
Otros mirrors

Complete list of our distributions with their abbreviations: Abreviación de las diferentes versiones:

CLD - Calculate Linux Desktop KDE
CLDC - Calculate Linux Desktop Cinnamon
CLDL - Calculate Linux Desktop LXQt
CLDM - Calculate Linux Desktop MATE
CLDX - Calculate Linux Desktop Xfce
CLS - Calculate Linux Scratch
CDS - Calculate Directory Server
CSS - Calculate Scratch Server
CMC - Calculate Media Center


Manual en español: https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Working/es#El_repositorio_Gentoo

PRIMEROS PASOS DESPUES DE LA INSTALACIÓN

HABILITAR SUDO en Calculate Linux.

kcalculate@calculate ~ $ sudo passwd kcalculate
Contraseña:
kcalculate is not in the sudoers file. This incident will be reported.

Muy importante sino pocas cosas vas a poder hacer.
Por defecto, sudo pide al usuario que se identifique con su propia contraseña. Una vez que la introduce, sudo la recuerda durante cinco minutos permitiendo al usuario centrarse en sus tareas sin tener que escribir su contraseña cada vez.
Este comportamiento, por supuesto, se puede cambiar: se puede establecer la directiva Defaults: en /etc/sudoers para cambiar el comportamiento por defecto para un usuario. . Ejecute sudo -l para informarse de cuáles son sus capacidades:
Ejemplo:
adrien@oxygen ~ $ sudo ls
Password/Contraseña:
adrien is not in the sudoers file. This incident will be reported./ adrien no está en el archivo sudoers. Este incidente será reportado.

Por lo tanto, para habilitarlo, conectar usuario root, con contraseña de root:
su -
calculate ~ #

Ejecute el siguiente comando:
visudo
Aparece:

## sudoers file.
##

## This file MUST be edited with the ‘visudo’ command as root.

## Failure to use ‘visudo’ may result in syntax or file permission errors

## that prevent sudo from running.
##

## See the sudoers man page for the details on how to write a sudoers file.
##

##

## Host alias specification
##

## Groups of machines. These may include host names (optionally with wildcards),

## IP addresses, network numbers or netgroups.
# Host_Alias WEBSERVERS = www1, www2, www3

##

## User alias specification
##

## Groups of users. These may consist of user names, uids, Unix groups,

## or netgroups.
# User_Alias ADMINS = millert, dowdy, mikef

##

## Cmnd alias specification
##

## Groups of commands. Often used to group related commands together.
# Cmnd_Alias PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice,
# /usr/bin/pkill, /usr/bin/top
# Cmnd_Alias REBOOT = /sbin/halt, /sbin/reboot, /sbin/poweroff

##

## Defaults specification
##

## You may wish to keep some of the following environment variables

## when running commands via sudo.
##

## Locale settings
# Defaults env_keep += “LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET”
##

## Run X applications through sudo; HOME is used to find the

## .Xauthority file. Note that other programs use HOME to find

## configuration files and this may lead to privilege escalation!
# Defaults env_keep += “HOME”
##

## X11 resource path settings
# Defaults env_keep += “XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH”
##

## Desktop path settings
# Defaults env_keep += “QTDIR KDEDIR”
##

## Allow sudo-run commands to inherit the callers’ ConsoleKit session
# Defaults env_keep += “XDG_SESSION_COOKIE”
##

## Uncomment to enable special input methods. Care should be taken as

## this may allow users to subvert the command being run via sudo.
# Defaults env_keep += “XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER”
##

## Uncomment to use a hard-coded PATH instead of the user’s to find commands
# Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
##

## Uncomment to send mail if the user does not enter the correct password.
# Defaults mail_badpass
##

## Uncomment to enable logging of a command’s output, except for

## sudoreplay and reboot. Use sudoreplay to play back logged sessions.
# Defaults log_output
# Defaults!/usr/bin/sudoreplay !log_output
# Defaults!/usr/local/bin/sudoreplay !log_output
# Defaults!REBOOT !log_output

##

## Runas alias specification
##

##

## User privilege specification
##
root ALL=(ALL) ALL

## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL

## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL

## Uncomment to allow members of group sudo to execute any command
# %sudo ALL=(ALL) ALL

## Uncomment to allow any user to run sudo if they know the password

## of the user they are running the command as (root by default).
# Defaults targetpw # Ask for the password of the target user
# ALL ALL=(ALL) ALL # WARNING: only use this together with ‘Defaults targetpw’

## Read drop-in files from /etc/sudoers.d

## (the ‘#’ here does not indicate a comment)
#includedir /etc/sudoers.d

DESCOMENTE ESTA LÍNEA (~ línea 82)(quitar el símbolo #):
# %wheel ALL=(ALL) ALL
(Vas hasta ella con las teclas de dirección del teclado y pulsas Supr (suprimir).
Salvas el archivo (If vi used : Esc and :wq!, If nano used Ctrl+O, Enter and Ctrl+X)
Antes de intentar, compruebe que su usuario está en el grupo “wheel”:
grep wheel /etc/group

Para mí, está bien:
wheel:x:10:root,adrien


SUDO
Conceder permisos

El paquete app-admin/sudo permite al administrador del sistema otorgar permiso a otros usuarios para lanzar una o más aplicaciones sobre las que, normalmente, no tendría permiso. A diferencia de usar el bit setuid en estas aplicaciones,
sudo proporciona un control más fino acerca de quién puede lanzar cierta orden y cuándo puede hacerlo.
Con sudo puede hacer una lista completa de “quién” puede ejecutar una aplicación determinada. Si estableciera el bit setuid en un ejecutable, cualquier usuario podría ejecutar la aplicación (o cualquier usuario de un grupo en concreto,
dependiendo de los permisos empleados). Con sudo se puede (e incluso se debe) exigir al usuario que proporcione una contraseña cuando éste quiera ejecutar la aplicación.
La configuración de sudo se gestiona mediante el fichero /etc/sudoers. Este fichero no se debe editar con nano /etc/sudoers o vim /etc/sudoers o cualquier otro editor que se utilice normalmente.
Cuando quiera modificar el fichero /etc/sudoers debe utilizar siempre visudo. Esta herramienta asegura que dos administradores no están editando este fichero en el mismo momento, mantiene los permisos sobre el mismo y realiza una comprobación
de la sintaxis para asegurar que no se han incluido errores fatales en el el fichero.

Sintaxis básica

La parte más difícil de sudo es la sintaxis de /etc/sudoers. La sintaxis básica se muestra a continuación:
CÓDIGO Sintaxis básica de /etc/sudoers

usuario nombre_de_equipo = orden

Esta línea le indica a sudo que el usuario, identificado como usuario y conectado al sistema nombre_de_equipo, puede ejecutar la orden orden (que también puede ser una lista de órdenes separadas por comas).

Un ejemplo más cercano a una situación real podría clarificar esto: Para permitir que el usuario larry lance emerge cuando está en localhost:
CÓDIGO Ejemplo real del fichero /etc/sudoers

larry localhost = /usr/bin/emerge

Instalación:
kcalculate@calculate ~ $ emerge --ask app-admin/sudo

Para ser sudo usted debe estar en el grupo wheel.
En KDE Plasma vaya a Preferencias del sistema> Detalles de cuentas > Y marque Administrador

sudo
su - ejecuta un comando con ID de usuario y grupo sustituto
OPTIONS
-, -l, --login

Iniciar el shell como un shell de inicio de sesión con un entorno similar a un inicio de sesión real:
. Borra todas las variables de entorno excepto TERM
. Inicializa las variables de entorno HOME, SHELL, USER, LOGNAME y PATH
. Cambios en el directorio inicial del usuario de destino
. Establece argv [0] del shell en ‘-’ para hacer del shell un shell de inicio de sesión

~ $ su -l
Contraseña:
calculate ~ #
*****
CONTRASEÑA ROOT (raíz)

Con la herramienta passwd puede establecer o cambiar cualquier contraseña de cuenta de usuario. En primer lugar, debe configurar el usuario root su contraseña. Ejecute passwd e ingrese la nueva contraseña.
La herramienta le pedirá que confirme la contraseña reentrándola después de la cual se actualiza la contraseña.
root # passwd

Cuenta de usuario

A continuación, se recomienda encarecidamente crear una cuenta de usuario para las tareas diarias. El usuario root es todopoderoso; Cualquier comando mal escrito puede dañar gravemente el sistema.
La ejecución de sus aplicaciones como usuario root también lo expone a las brechas de seguridad, aunque no existen muchos virus Linux, el daño que un virus puede hacer depende de los privilegios que obtiene y obtiene los privilegios de la herramienta
cuya falla ha explotado.

Para crear un usuario, use useradd y pase la opción -m de modo que se cree el directorio de inicio del usuario (/ home / nombre de usuario para el usuario del nombre de usuario). Agregue también los grupos a los que desea hacer que el usuario forme parte:
root #useradd -m -g users -G wheel,audio,cdrom,games,users john

La mayoría de los grupos se explican por sí mismos, pero el grupo de ruedas (wheel) puede necesitar una pequeña introducción.

El grupo wheel contiene todos los usuarios que pueden ejecutar su para cambiar de un usuario a otro (incluido el usuario root). Sólo ponga usuarios de confianza en este grupo. Una mejor alternativa al acceso de la rueda (ya que todavía requiere
que el usuario conozca las contraseñas de las cuentas a las que quiere cambiar) es usar sudo de los cuales existe una excelente guía en Gentoo.


Si su usuario no aparece en el grupo wheel, agréguelo:
usermod -G wheel -a tu usuario
Salga de su usuario e inicie sesión nuevamente para habilitar los nuevos derechos.

Si quieres usar el comando sudo, necesitas añadir entrada en el archivo /etc/sudoers o cualquier archivo en /etc/sudoers.d.
your_username ALL=(ALL) ALL

SER ROOT EN DOLPHIN «rootactions-servicemenu.pl» Root Actions Servicemenu (KDE)

Necesita instalar esto con emerge:
emerge kdialog
emerge kreadconfig
emerge krename
emerge krusader
emerge xdg-utils
emerge perl
emerge ruby (imprescindible para root)


calculate ~ # cl-update -s | grep Update
* Update server http://miroir.linuxtricks.fr/calculate

eix adobe-flash
cl-update --stable on
ls /usr/portage/www-plugins/adobe-flash/

calculate ~ # sudo emerge --sync
calculate ~ # emerge --oneshot portage

Local copy of remote index is up-to-date and will be used.
Calculating dependencies… done!

Emerging binary (1 of 1) sys-apps/portage-2.3.6::gentoo

calculate ~ # emerge --ask app-portage/mirrorselect

Calculating dependencies… done!
[binary N ] net-analyzer/netselect-0.3-r3
[binary N ] dev-util/dialog-1.3.20160828 USE=“nls unicode -examples -minimal -static-libs”
[binary N ] app-portage/mirrorselect-2.2.2-r2 PYTHON_TARGETS=“python2_7 python3_4”

calculate ~ # mirrorselect -i

calculate ~ # mirrorselect -a -s5

  • Modifying /etc/portage/make.conf with new mirrors…
    Writing new /etc/portage/make.conf
    Traceback (most recent call last):
    File “/usr/lib/python-exec/python3.4/mirrorselect”, line 61, in
    MirrorSelect().main(sys.argv)
    File “/usr/lib64/python3.4/site-packages/mirrorselect/main.py”, line 379, in main
    config_path, options.rsync)
    File “/usr/lib64/python3.4/site-packages/mirrorselect/main.py”, line 124, in change_config
    write_make_conf(self.output, config_path, var, mirror_string)
    File “/usr/lib64/python3.4/site-packages/mirrorselect/configs.py”, line 87, in write_make_conf
    config = open(config_path, ‘w’)
    IsADirectoryError: [Errno 21] Is a directory: ‘/etc/portage/make.conf’

Los más rápidos:
calculate ~ # mirrorselect -s3 -b10 -o -D >> /etc/make.conf


MIRRORSELECT

emerge mirrorselect

calculate ~ # mirrorselect
Usage: mirrorselect [options]

examples:

automatic:
# mirrorselect -s5
# mirrorselect -s3 -b10 -o >> /mnt/gentoo/etc/portage/make.conf
# mirrorselect -D -s4

interactive:
# mirrorselect -i -r

calculate ~ # mirrorselect -i -r
Gentoo rsync mirrors
79 mirrors
rsync://rsync2.pt.gentoo.org/ge* Portugal: Rede das Novas Licenciaturas - rsync2.pt.gentoo.org

–version show program’s version number and exit
-h, --help show this help message and exit

Main modes:
-a, --all_mirrors This will present a list of all filtered search
results to make it possible to select mirrors you wish
to use. For the -r, --rsync option, it will select
the rotation server only. As multiple rsync URL’s are
not supported.
-D, --deep Deep mode. This is used to give a more accurate speed
test. It will download a 100k file from each server.
Because of this you should only use this option if you
have a good connection.
-i, --interactive Interactive Mode, this will present a list to make it
possible to select mirrors you wish to use.

calculate ~ # mirrorselect -i
─"Gentoo Download Mirrors"─ (http/FTP/RSYNC)
155 mirrors

  • = Soporta IPV6
    rsync://ftp.rnl.tecnico.ulisboa.pt/pub/gentoo/gen* Portugal: RNL - Técnico Lisboa
    Options:

Server type selection (choose at most one):
-c COUNTRY, -country COUNTRY
only use mirrors from the specified country NOTE:
Names with a space must be quoted eg.: -c ‘South
Korea’
-F, --ftp ftp only mode. Will not consider hosts of other types.
-H, --http http only mode. Will not consider hosts of other types
-r, --rsync rsync mode. Allows you to interactively select your
rsync mirror. Requires -i or -a to be used.

-R REGION, -region REGION
only use mirrors from the specified region NOTE: Names
with a space must be quoted eg.: -R ‘North America’
-4, --ipv4 only use IPv4
-6, --ipv6 only use IPv6

Other options:
-b BLOCKSIZE, -blocksize BLOCKSIZE
This is to be used in automatic mode and will split
the hosts into blocks of BLOCKSIZE for use with
netselect. This is required for certain routers which
block 40+ requests at any given time. Recommended
parameters to pass are: -s 3 -b 10
-d VERBOSITY, -debug VERBOSITY
debug mode, pass in the debug level [1-9]
-f FILE, -file FILE
An alternate file to download for deep testing. Please
choose the file carefully as to not abuse the system
by selecting an overly large size file. You must also
use the -m, --md5 option.
-m MD5, --md5=MD5 An alternate file md5sum value used to compare the
downloaded file against for deep testing.
-o, --output Output Only Mode, this is especially useful when being
used during installation, to redirect output to a file
other than /etc/portage/make.conf
-P PROXY, -proxy PROXY
Proxy server to use if not the default proxy in the
environment
-q, --quiet Quiet mode
-s SERVERS, -servers SERVERS
Specify Number of servers for Automatic Mode to
select. this is only valid for download mirrors. If
this is not specified, a default of 1 is used.
-t TIMEOUT, -timeout TIMEOUT
Timeout for deep mode. Defaults to 10 seconds.


GAMERLAY
Gamers overlay for all various games. Not related with games team

calculate ~ # layman -a gamerlay

* Adding overlay…
* Repository ‘gamerlay’ was already installed

eliminar un overlay:

sudo layman -d nombre-overlay

****+*

ACTUALIZACIÓN DEL SISTEMA

Calculate Linux es una distribución Rolling Release. Puede actualizar el sistema un número de veces prácticamente ilimitado con cl-update.
Si desea realizar una actualización completa, con la sincronización de todas las superposiciones (overlays) y Portage, simplemente ejecute sin argumentos:

cl-update
(CalculateLinux-update)
Este protocolo de actualización incluye:
Sincronización de los repositorios de la distribución
Si alguna de las modificaciones encontradas en el paso anterior, ejecutando egencache (usage: egencache [options] … [atom] …) y eix-update
Actualización de la revisión y regeneración del archivo mundial
Actualización de los paquetes
Actualización de Python/Perl; Si se detectan paquetes rotos, todos serán recompilados
Eliminación de paquetes huérfanos
Recompilación de los módulos del kernel si es necesario
Recompilación de otros paquetes afectados si los hay
Recompilación de paquetes relacionados con Xorg (si es necesario)
Arranque de dispatch-conf

(La utilidad dispatch-conf se incluye con Portage y se utiliza en Gentoo para administrar las actualizaciones de los archivos de configuración. Permite a los administradores de sistemas revisar y luego aceptar o rechazar cambios de configuración en sentido ascendente, lo que ocurre con frecuencia cuando se actualizan los paquetes. Es capaz de integrarse con rcs para permitir la gestión de archivos de configuración controlada por versiones.

RCS integración.
Cuando dispatch-conf está configurado para integrarse con rcs, almacenará todos los cambios en /etc/config-archive.

Instalar el sistema de control de revisiones:
emerge --ask dev-vcs/rcs
Este proceso de configuración es tan sencillo como editar el archivo de configuración para incluir lo siguiente:
FILE /etc/dispatch-conf.conf
use-rcs=yes

usted puede deshacerse de un gran número de dependencias requeridas para construir el paquete ejecutando :
cl-update --with-bdeps OFF

calculate ~ # cl-update -ask
Para terminar la actualización aunque haya un archivo que de un error y no se instale. No pregunta.

calculate ~ # cl-update -check
usage: cl-update [–stable [ON/OFF]] [–scan [ON/OFF]] [–with-bdeps [ON/OFF]] [-s [ON/OFF]] [-o [ON/OFF]] [-p [ON/OFF]] [-r REPOSITORIES] [-e [ON/OFF]] [-C [ON/OFF]] [–force-fix [ON/OFF]] [–rebuild-world | --merge-world | --update-world]
[–force-egencache | --skip-egencache | --auto-egencache] [–force-eix-update | --skip-eix-update | --auto-eix-update] [-R [ON/OFF]] [–wait-another-update [ON/OFF]] [–schedule [ON/OFF]] [-1 [ON/OFF]] [–clean-pkg [ON/OFF]] [–branch REFS]
[-T TEMPLATES] [-v [ON/OFF]] [–usenew-conf | --skip-conf | --dispatch-conf] [-f]

Update the system:
–stable [ON/OFF] use only stable updates
–scan [ON/OFF] search for the most appropriate update server
–with-bdeps [ON/OFF]
save packages used during build
-s [ON/OFF], --sync-only [ON/OFF]
do not update packages
-o [ON/OFF], --update-other [ON/OFF]
update other overlays (enabled by default)
-p [ON/OFF], --pretend [ON/OFF]
instead of actually performing the update, simply display the list of packages that will be installed
-r REPOSITORIES, --repositories REPOSITORIES
synchronized repositories (all by default) (‘list’ for displaying possible values, ‘none’ is never one)
Ejemplos:
cl-update -r gentoo
cl-update -r calculate
cl-update -r distros

-e [ON/OFF], --emergelist [ON/OFF]
display the packages list in emerge format
-C [ON/OFF], --check-repos [ON/OFF]
check and fix the repositories integrity
–force-fix [ON/OFF] force fix the settings
–rebuild-world rebuild the system packages list
–merge-world append the profile packages list
–update-world update the system packages list (by default)
–force-egencache force the update of the overlays cache
–skip-egencache skip the update of the overlays cache
–auto-egencache update the overlays cache if outdated (by default)
–force-eix-update force the eix cache update
–skip-eix-update skip the eix cache update
–auto-eix-update update the eix cache if it is outdated (by default)
-R [ON/OFF], --skip-revdep-rebuild [ON/OFF]
skip reverse dependencies check (enabled by default)
–wait-another-update [ON/OFF]
wait until the running update is finished (enabled by default)
–schedule [ON/OFF] consider the autocheck schedule
-1 [ON/OFF], --one-depth [ON/OFF]
clear the history of repositories
–clean-pkg [ON/OFF] clean obsolete programs archives (enabled by default)
–branch REFS set references for repository (REPOSITORY:REF)
-T TEMPLATES, --templates TEMPLATES
select location for templates calculate,distros,local,remote,clt (‘list’ for displaying possible values, ‘none’ is never one)
-v [ON/OFF], --verbose [ON/OFF]
verbose output
–usenew-conf use the new config files
–skip-conf skip the update of config files
–dispatch-conf manually update config files (by default)

Common arguments:
-f, --force silent during the process

emerge -avuDN --with-bdeps=y world reconstruir dependencias del tiempo de la estructura: emergeworld -e --keep-going
(emerge @world -e --keep-going --with-bdeps)
Sea consciente de la diferencia entre - keep-going y --resume --skipfirst.
Cuando un paquete falla, --keep-going deja caer los paquetes fallidos y cualquier paquete que dependa de él, entonces continúa.
Usted obtiene una lista de problemas al final.
Sólo puede utilizar --resume --skipfirst después de que se produce un error de compilación y elimina solo el paquete que falló.


ACTUALIZACIÓN BÁSICA DEL SISTEMA

Emerge es el comando para controlar Portage, el ya legendario sistema de administración de paquetes de Gentoo. Por eso en Gentoo hablamos de “emerger” un paquete de Portage, que significa: descargar sus fuentes, compilarlo e instalarlo en el sistema.

He aquí los principales comandos de emerge seguidos de una breve explicación.

El directorio principal de configuración de Portage está en: /etc/portage/

donde están sus archivos de configuración:

make.conf (archivo de configuración principal de Portage)

package.use (donde se pueden definir las “USE flags” para paquetes individuales)

package.mask (donde se pueden “enmascarar” paquetes para que no se instalen o actualicen)

package.unmask (donde de pueden desenmascarar paquetes enmascarados en Portage para permitir que se instalen)

package.accept keywords (donde autorizar paquetes inestables)


SINCRONIZAR PORTAGE:

El repositorio Gentoo se actualiza normalmente con rsync, una utilidad rápida de transferencia de archivos incremental. La actualización es muy sencilla, ya que la orden emerge proporciona una interfaz
para rsync:

sudo emerge --sync actualiza el árbol de Portage que está en: /usr/portage/

En ocasiones, hay aplicadas restricciones de cortafuegos que impiden que rsync conecte con los servidores espejo. En estos casos, actualice el repositorio Gentoo usando las instantáneas de Gentoo generadas diariamente.
La herramienta emerge-webrsync recupera e instala en su sistema la instantánea mas reciente.
Una ventaja adicional de utilizar emerge-webrsync es que permite al administrador descargar únicamente instantáneas del repositorio Gentoo que están firmadas con la clave GPG del equipo de ingeniería de versiones de Gentoo.

sudo emerge-webrsync Actualiza el árbol de Portage desde la última instantánea de la web de Gentoo

emerge-webrsync
root # emerge-webrsync -h
emerge-webrsync es llamado internamente por eix-sync cuando sync-type en /etc/portage/repos.conf se establece en webrsync. Con permisos administrativos seguimos la ruta y en el archivo gentoo.config cambiar sync-type = git por
sync-type = webrsync y sync-uri = rsync://git.calculate-linux.org/repo/gentoo.git. Damos a Guardar.
emirrordist -h
env-update -h
fixpackages -h
regenworld -h

+#------------------------------------------------------------------------------
+# Modified Calculate Utilities 3.5.4
+# Processed template files:
+# /var/lib/layman/calculate/profiles/templates/3.5/2_ac_install_merge/sys-apps/portage/alpha190/02gentoo.conf
+# For modify this file, create /etc/portage/repos.conf/gentoo.conf.clt template.
+#------------------------------------------------------------------------------
[DEFAULT]
main-repo = gentoo

[gentoo]
location = /usr/portage
-sync-type = webrsync
-sync-uri = rsync://rsync2.pt.gentoo.org/gentoo-portage
+sync-type = git
+sync-uri = git://git.calculate-linux.org/repo/gentoo.git
auto-sync = yes

+# for daily squashfs snapshots
+#sync-type = squashdelta
+#sync-uri = mirror://gentoo/…/snapshots/squashfs
(1of 1) --/etc/portage/repos.conf/gentoo.conf

¿Qué hago si no me funciona rsync?

Cuando estás detrás de un cortafuegos que no permite tráfico de rsync a través del puerto 873, el comando emerge-webrsync puede ser usado para obtener e instalar una imagen de Portage mediante HTTP.
Lea esta sección para obtener información sobre la descarga de ficheros fuente e imágenes de Portage a través de un proxy:

Para hacer que portage utilice esta disposición de forma automática, defínalo en /etc/portage/make.conf:
ARCHIVO /etc/portage/make.conf Poner en marcha un proxy

http_proxy=“http://nombredeusuario:contraseña@suequipoproxy.org:numerodepuerto”
ftp_proxy=“ftp://nombredeusuario:contraseña@suequipoproxy.org:numerodepuerto”
RSYNC_PROXY=“rsync://nombredeusuario:contraseña@suequipoproxy.servidor:numerodepuerto”

Recuerde que el servidor proxy debe ofrecer soporte para el método CONNECT para el puerto o puertos rsync.


LISTA DE COMANDOS BÁSICOS

# ls --> Permite listar los archivos o ficheros y los directorios del directorios por defecto.
# adduser --> Permite crear un nuevo usuario común.
# passwd --> Permite crear una contraseña para un usuario.
# cat --> Permite editar, copiar y añadir un archivo.
# mkdir --> Permite crear un nuevo directorio.
# rmdir --> Permite borrar o eliminar un directorio.
# rm --> Permite borrar o eliminar archivos o ficheros.
# cd --> Permite ingresar a un directorio.
# cd … --> Permite salir de un directorio.
# lsmod --> Permite listar los módulos del Kernel.
# ps --> Permite listar los procesos actuales del Sistema.
# pstree --> Permite mostrar el árbol de procesos del Sistema.
# nano --> Permite inicializar un editor de texto.
# touch --> Permite crear un archivo o fichero.
# exit --> Permite salir del usuario actual.
# su – root --> Permite cambiar al usuario root administrador.
# login --> Permite ingresar a un usuario.
# lsusb --> Permite listar los datos de los puertos USB empleados.
# mount --> Permite montar un dispositivo de almacenamiento.
# umount --> Permite desmontar un dispositivo de almacenamiento.
# fdisk l -> Permite mostrar los dispositivos de almacenamiento montados.
# cal --> Permite mostrar el calendario.
# whoami --> Permite mostrar quién es el actual usuario.


buscar en Portage:

emerge -s paquete busca el paquete --search

emerge -S palabra busca también en las descripciones --searchdesc


instalar paquetes:

emerge -p paquete muestra las dependencias del paquete sin instalarlo --pretend

sudo emerge -a paquete instala el paquete, (-a pide confirmación antes de hacerlo --ask)

sudo emerge -f paquete descarga el paquete de fuentes pero no lo instala --fetchonly

Portage guarda las fuentes en: /usr/portage/distfiles/


DESINSTALAR paquetes:
Resumen:
calculate ~ # emerge -pv --depclean x11-drivers/xf86-input-joystick (Aquí no parece distinguir versión)
calculate ~ # emerge --unmerge x11-drivers/xf86-input-joystick
calculate ~ # emerge --unmerge x11-libs/libxcb-1.12-r2 (Distingue entre versiones)

calculate ~ # emerge -Ca paquete
* This action can remove important packages! In order to be safer, use
* `emerge -pv --depclean ` to check for reverse dependencies before
* removing packages.
Desinstala el paquete y sus dependencias (Portage no mira si las dependencias las necesita otro paquete, tampoco desinstala los archivos de configuración (–unmerge --ask)

Esta acción puede eliminar paquetes importantes! Para ser más seguro, use `emerge -pv --depclean ` para comprobar si hay dependencias inversas antes de quitar paquetes
Ej: emerge -pv --depclean net-libs/gnutls

Desinstalar:
Ej:
calculate ~ # emerge -pv --depclean wbar
Calculating dependencies… done!

Calculating removal order…
These are the packages that would be unmerged:
x11-misc/wbar
selected: 2.3.4-r2
protected: none
omitted: none
All selected packages: =x11-misc/wbar-2.3.4-r2

‘Selected’ packages are slated for removal.
‘Protected’ and ‘omitted’ packages will not be removed.
Packages installed: 1242
Packages in world: 180
Packages in system: 44
Required packages: 1241
Number to remove: 1

Cuando quiera desinstalar un paquete software de su sistema, utilice emerge --unmerge. Esto le indicará a Portage que desinstale todos los archivos instalados por el paquete en su sistema excepto los archivos de configuración de esa aplicación
si los había modificado después de la instalación. Esto le permite continuar trabajando con los mismos archivos de configuración si alguna vez decide volver a instalar la aplicación.
Advertencia
Portage no comprueba si el paquete que está intentando desinstalar es necesario para algún otro. A pesar de esto, le avisará cuando quiera eliminar un paquete importante que pueda romper su sistema si lo desinstala.

calculate ~ # emerge --unmerge paquete
* This action can remove important packages! In order to be safer, use
* `emerge -pv --depclean ` to check for reverse dependencies before
* removing packages.

Ejemplo. Desinstalar Filezilla:

emerge --unmerge --nospinner --noreplace net-ftp/filezilla


Xorg X

Solución de problemas
El servidor X se inicia y muere inesperadamente sin errores

Problema: Ejecutar startx iniciará el servidor X, sin embargo, morirá inmediatamente sin errores (buscar “EE” en /var/log/Xorg.0.log no devuelve resultados relacionados).

Causa: existe un archivo .xinitrc vacío para el usuario que está ejecutando el comando startx, por lo que el servidor X se está iniciando y, a continuación, se detiene porque ya no queda nada que hacer.

Resolución: Retire el archivo .xinitrc o defina un administrador de ventanas dentro de él.

Reproducible via:
user $touch ~/.xinitrc


actualización básica del sistema:

sudo emerge -ua world actualiza el sistema (no necesariamente las dependencias (–update --ask @world)

sudo emerge -uaD world actualiza el sistema incluidas todas las dependencias (–update -ask --deep @worl)

emerge -uaDNv world

Donde: u es actualizar, a pregunta antes de instalar, D revisa los paquetes en su completitud incluyendo sus dependencias, N vuelve a instalar paquetes que se vean afectados por cambios de la variable USE y v brinda más información sobre cada paquete.


actualización avanzada del sistema:

sudo emerge -uaD --with-bdeps=y world actualiza el sistema incluidas todas las dependencias + (“build dependencies”) (–update --ask --deep --with-bdeps=y @world)

sudo emerge -uaDN --with-bdeps=y world todo lo anterior + revisa por si hay cambios USE. ¡no te pide remover estos binarios aquí creados!(recomendado)
Ej:
calculate ~ # sudo emerge -uaDN --with-bdeps=y world
Local copy of remote index is up-to-date and will be used.
These are the packages that would be merged, in order:
Calculating dependencies… done!
[binary N ] dev-util/gperf-3.0.4
[binary N ] dev-util/cppunit-1.13.2-r2 USE="-doc -examples -static-libs" ABI_X86="(64) -32 (-x32)"
[binary N ] dev-util/re2c-0.16
[binary N ] dev-util/boost-build-1.62.0-r1 USE="-examples -python {-test}" PYTHON_TARGETS=“python2_7”
[binary N ] sys-devel/autoconf-archive-2016.03.20-r1
[binary N ] app-arch/cabextract-1.6 USE="-extras"
[binary N ] net-wireless/b43-fwcutter-019
[binary N ] sys-devel/ucpp-1.3.4 USE="-static-libs"
[binary N ] app-text/docbook-dsssl-stylesheets-1.79
[binary N ] app-portage/elt-patches-20170317
[binary N ] app-arch/rpm2targz-9.0.0.5g
[binary N ] dev-libs/libyaml-0.1.7 USE="-doc -examples -static-libs {-test}"
[binary N ] sys-devel/flex-2.6.1 USE=“nls -static {-test}” ABI_X86="(64) -32 (-x32)"

(–update --ask --deep --newuse --with-bdeps=y @world)

After world updates, it is important to remove obsolete packages with
emerge --depclean. Refer to `man emerge` for more information.


desinstalar dependencias huérfanas en 3 pasos:

sudo emerge -uaDN world (–update --aks --deep --newuse @world)
sudo emerge --depclean
sudo revdep-rebuild


SYNC & CACHE opciones.
-r REPOSITORIES, --repositories REPOSITORIES
Especifique los repositorios que se sincronizarán, ‘all’ (todos) de forma predeterminada (escriba ‘list’ (lista) para mostrar todos los valores disponibles). Esta opción es útil si sólo necesita sincronizar un repositorio.
Especifique la rama del repositorio (la sintaxis es REPOSITORY:BRANCH). Puede elegir entre las ramas master/develop/update
–branch BRANCHES
Forzar la actualización de caché de superposición (overlay)
-force
Omitir la actualización de la caché de superposición.
–skip-egencache

-f, --force
cl-update --force Ejecuta la herramienta en silencio. Actualización forzada. No resuelve problemas de “USE changes”.
Forzar la actualización de caché para la base de datos eix:
cl-update --force-eix-update
Actualiza la caché eix si está obsoleta (predeterminado):
–auto-eix-update
Actualizar repositorios externos (no Calculate). Desactivado de forma predeterminada. Para modificar este comportamiento, modifique el valor asignado a cl_update_other_set
en la sección ‘update’. Utilice el siguiente comando para activar el indicador:
cl-core-variables --set update.cl_update_other_set=on
No actualiza los paquetes, solo sincroniza y administra las revisiones:
-s [ON/OFF], --sync-only [ON/OFF]

Notas:
Aunque sea root si no tiene los permisos suficientes (“sudo”) le saldrá:
|You do not have a certificate. Use option --gen-cert-by HOST to generate a new request or --get-cert-from HOST to get a new certificate from the server.
Una vez lanzado, cl-update actualizará todos los componentes del sistema sucesivamente, a saber:
repositorios, árbol de Portage, plantillas, revisiones.

Para actualizar las superposiciones (overlays), eix-sync usará cl-update

O bien, si por el momento solamente desea actualizar la lista:
Cl-update --sync-only
Si utiliza otras superposiciones (overlays) que la predeterminadas, debe agregar --update-other (-o), también:
Cl-update --sync-only --update-other

cl-update-profile list
También puede explícitamente especificar el perfil:
cl-update-profile CLDX (Ej: Calculate Linux Desktop 17 Xfce)
Para utilizar un perfil no oficial: agregue la opción --url

Después de esto, usted puede instalar cualquier otra aplicación que necesite con Emerge.


FIJAR DEPENDENCIAS ROTAS

Cuando cambia los paquetes instalados, no se excluye que una dependencia está roto. Para superar este problema, es recomendable comenzar revdep-reconstrucción después de cada actualización o instalación.
ejemplo:
revdep-rebuild


DRIVERS TARJETA GRÁFICA (GUI)

calculate ~ # cl-setup-video --video list
Video driver values:
[default] X.Org Server auto detection
[radeon] AMD Radeon (radeon)
[amdgpu] AMD AMDGPU (amdgpu)
[intel] Intel (intel)
[nouveau] Nvidia Nouveau (nouveau)
[nvidia] Nvidia Graphics Driver (nvidia) *

calculate ~ # cl-setup-video --video nvidia
* Video settings are being configured …
* Updating icon cache
* Updating icon cache
* Creating Host-Only initramfs …
* Host-Only initramfs has been created
* Configuring the grub
* Updating icon cache
* Checking the video driver … [ ok ]
* Configuring OpenGL … [ ok ]
* Video settings configured!

emerge -q x11-drivers/nvidia-drivers (Error)
emerge --nospinner =x11-drivers/nvidia-drivers-378.13


CONCEPTOS PARA USAR CALCULATE LINUX:
*****

EMERGE

Emerge es la interfaz de línea de comandos definitiva para el sistema Portage. Se utiliza principalmente para instalar paquetes, y emerge puede manejar automáticamente cualquier dependencia que tenga el paquete deseado.
Emerge también puede actualizar el árbol portage, haciendo disponible paquetes nuevos y actualizados. Emerge graciosamente maneja la actualización de paquetes instalados a versiones más recientes también.
Maneja los paquetes binarios y de origen, y puede utilizarse para crear paquetes binarios para su distribución.
Emerge principalmente instala paquetes. Puede especificar paquetes para instalar de cinco maneras posibles: un átomo, un conjunto, un archivo instalado, un ebuild o un archivo tbz2 ( an atom, a set, an installed file, an ebuild, or a tbz2file).


atom

Un atom (átomo) describe los límites de un paquete que desea instalar. Por ejemplo,>=dev-lang/python-2.2.1-r2 coincide con la última versión disponible de Python mayor o igual a 2.2.1-r2. Del mismo modo, <dev-lang/python-2.0 coincide
con la última versión disponible de Python antes de 2.0. Tenga en cuenta que en muchos shells necesitará escapar de caracteres como ‘<’ y ‘=’; Use comillas simples o dobles alrededor del átomo para evitar problemas. También puede restringir
un átomo para que coincida con una RANURA específica añadiendo dos puntos y una RANURA. Ejemplo:x11-libs/qt:3.

En el contexto de Portage, el término package “paquete” también puede ser referido como un atom “átomo”. No se confunda si ve el término “átomo” usado en lugar del término “paquete”.


EMERGE
COMANDOS BÁSICOS DE EMERGE

–check-news
Analiza todos los repositorios de las novedades relevantes de GLEP 42 y muestra cuántas se encuentran. Consulte https://wiki.gentoo.org/wiki/GLEP:42.
–clean
Limpia el sistema examinando los paquetes instalados y eliminando los paquetes más antiguos. Esto se logra mirando cada paquete instalado y separando las versiones instaladas por ranura. Clean eliminará todas las versiones,
excepto la versión instalada más recientemente en cada ranura. Limpiar no debe quitar los paquetes no rotulados. Nota: La más reciente instalación significa la versión más reciente, no la más alta.
–config
Ejecutar acciones específicas del paquete necesarias para ejecutarse después de que el proceso de emerge se haya completado. Esto suele implicar la configuración de archivos de configuración u otras configuraciones similares que
el usuario pueda desear ejecutar.

–pkg-format
Especifique qué formato de paquete binario se creará como destino. Las opciones posibles ahora son tar y rpm o sus combinaciones.

–nospinner
Desactiva la hiladora (spinner) para la sesión. La hiladora está activa cuando se determina que el dispositivo terminal es un TTY. Este indicador (flag) lo desactiva independientemente.
–noreplace (-n)
Omite los paquetes especificados en la línea de comandos que ya se han instalado. Sin esta opción, cualquier paquete de átomos (atoms) o conjuntos de paquetes que especifique en la línea de comandos hará que Portage renueve el paquete,
incluso si ya está instalado. Tenga en cuenta que Portage no volverá a agrupar las dependencias de forma predeterminada. Esta opción se puede utilizar para actualizar el archivo mundial (world file) sin reconstruir los paquetes.

–pretend (-p)
En lugar de realizar la fusión, simplemente muestre lo que * * habría sido instalado si --pretend no se usaron. Se recomienda utilizar --pretend antes de instalar un paquete desconocido. En la impresión:
N nuevo (aún no instalado)
S nueva instalación SLOT (versiones lado a lado)
U actualización (a otra versión)
D degradación (la mejor versión parece inferior)
r reinstalar (forzado por alguna razón, posiblemente debido a la ranura o sub-ranura)
R reemplazando (relanzando la misma versión)
F fetch restricted (se debe descargar manualmente)
f fetch restricted (ya descargado)
I interactivo (requiere la entrada del usuario)
B bloqueado por otro paquete (conflicto no resuelto)
b bloqueado por otro paquete (conflicto resuelto automáticamente)

emerge -C Nombre_paquete
Desinstalar un archivo
emerge -C =packagecategory/packagename-version

emerge world
o
emerge -e system
Esto reinstala / actualiza todo en tu mundo archivo /lista de paquetes que deseas instalar. Esto es PELIGROSO si se hace sin la planificación adecuada, el enmascaramiento del paquete (ver más abajo) y los correctos / flags.
Para obtener la mejor manera de salir del mundo, consulta los howtos en los foros de Gentoo o Wiki de Gentoo y Good Luck.

–update (-u)
Actualiza los paquetes a la mejor versión disponible, que puede no ser siempre el número de versión más alto debido al enmascaramiento para pruebas y desarrollo. Los átomos de paquete especificados en la línea de
comandos son codiciosos, lo que significa que átomos inespecíficos pueden coincidir con varias versiones de paquetes con ranuras.

NOTAS Siempre debe preceder a cualquier instalación de paquete o intento de actualización con --pretend instalar o actualizar. Esto le permite ver cuánto se va a hacer, y le muestra los paquetes de bloqueo que tendrá que rectificar.
Esto va doblemente para el sistema y los conjuntos del mundo, que puede actualizar un gran número de paquetes si el árbol de portage ha sido particularmente activa.

También desea utilizar normalmente --update, que ignora los paquetes que ya están completamente actualizados pero actualiza aquellos que no lo son.
Cuando instala un paquete con dependencias desinstaladas y no especifica explícitamente esas dependencias en la lista de parámetros, no se agregarán al archivo global. Si desea que se detecten las actualizaciones mundiales,
asegúrese de enumerarlas explícitamente como parámetros para que aparezcan.
Las variables USE se pueden especificar en la línea de comandos para anular las especificadas en las ubicaciones predeterminadas, lo que le permite evitar el uso de algunas dependencias que no quiera tener. Los indicadores de USE
especificados en la línea de comandos NO se recuerdan. Por ejemplo, env USE="-X -gnome" emerge mc quiere emerge mc con los parámetros USE (en los shells compatibles con Bourne puede omitir la parte env).
Si desea que los ajustes de USE sean más permanentes, puede colocarlos en /etc/portage/package.use.

Si emerge --update @system o emerge --update @world falla con un mensaje de error, es posible que un ebuild utilice alguna característica más reciente que no esté presente en esta versión de emerge.
Puede utilizar emerge --update portage para actualizar a la última versión, que debe admitir las nuevas características necesarias.

ARCHIVOS
Aquí hay una lista común de archivos que probablemente le interesará. Para obtener una lista completa, consulte la página de manual de portage (5).

/usr/share/portage/config/sets/
Contiene la configuración predeterminada.

/var/lib/portage/world
Contiene una lista de todos los paquetes especificados por el usuario. Puede editar este archivo de forma segura, agregando paquetes que desea que se consideren en las actualizaciones establecidas por el mundo y quitando aquellos
que no desea que se consideren…

/var/lib/portage/world_sets
Esto es como el archivo del mundo, pero en lugar de los átomos del paquete contiene conjuntos de paquetes que siempre empiezan con el carácter @.
Utilice /etc/portage/sets/ para definir conjuntos de paquetes de usuario.

/etc/portage/make.conf
Contiene variables para el proceso de compilación, reemplazando las de make.globals.

/etc/portage/color.map
Contiene variables que personalizan los colores.

/etc/portage/sets/
Contiene definiciones de conjunto de paquetes de usuario (vea portage (5)).

/etc/dispatch-conf.conf
Contiene configuraciones para manejar actualizaciones/copias de seguridad automáticas de los archivos de configuración.

/etc/portage/make.profile/make.defaults
Contiene variables específicas del perfil para el proceso de compilación. No edite este archivo.

/usr/portage/profiles/use.desc
Contiene la lista maestra de indicadores USE con descripciones de sus funciones. No edite este archivo.

/etc/portage/make.profile/virtuals
Contiene una lista de paquetes predeterminados utilizados para resolver las dependencias virtuales. No edite este archivo.

/etc/portage/make.profile/packages
Contiene una lista de paquetes utilizados para el sistema base. El sistema y los conjuntos del mundo consultan este archivo. No edite este archivo.

/usr/share/portage/config/make.globals
Contiene las variables predeterminadas para el proceso de compilación. No modifique este archivo.

/var/log/emerge.log
Contiene un registro de todas las salidas emergentes. Este archivo siempre se agrega a, por lo que si desea limpiarlo, debe hacerlo manualmente.

/var/log/emerge-fetch.log
Contiene un registro de todas las recuperaciones de la invocación emergente anterior.

/var/log/portage/elog/summary.log
Contains the emerge summaries. Installs /etc/logrotate/elog-save-summary.

FÓRMULAS DE CONFIGURACIÓN UPDATE TOOLS, Herramientas tales como dispatch-conf, cfg-update y etc-update también están disponibles para ayudar en la fusión de estos archivos. Proporcionan la fusión interactiva y pueden combinar
automáticamente cambios triviales.


ACTUALIZACIONES AVANZADAS

Si simplemente desea actualizar todo en su sistema, a veces es mejor ejecutar un comando personalizado en su lugar. Algunas posibilidades son:
calculate ~ # eix-sync
calculate ~ # emerge -uDNa world -p
Recomendada. Te va preguntando
Emerge no enmascara los paquetes para la instalación, esto debe hacerse manualmente. Si enmascaras paquetes es mejor actualizar la instalación desde el código fuente. Entonces tienes rolling-release con una actualización continua de las versiones y sin problemas al actualizar bibliotecas.

.=‘update pass’ =‘binary update’ #=’/var/db update’ @=’/var/db move’
s=’/var/db SLOT move’ %=‘binary move’ S=‘binary SLOT move’
p='update /etc/portage/package.

emerge --update --ask @world
emerge --update world - actualiza todos los paquetes en tu archivo de mundo
emerge --update --deep world - como arriba, pero las dependencias de actualización también.

emerge --update --deep --newuse world - como anteriormente, pero también recompilar los paquetes afectados por cualquier cambio en la configuración de la bandera de uso

emerge --update --deep --newuse --tree --pretend --verbose world - mostrar todo lo que podría ser actualizado y de lo que depende en un agradable árbol organizado, con detalles de las banderas de uso, versiones y tamaños de descarga,
a continuación Calcular la cantidad esperada de tiempo que tomará :).
emerge --update system - actualiza los archivos del sistema
Etc.
Los comandos personalizados se pueden introducir en el cuadro de diálogo “Ejecutar comando personalizado” que se activa mediante la opción de menú “Acciones”.


ENMASCARAMIENTO cuando se utilicen repositorios de ebuilds no seguros

Cuando se utilizan repositorios de ebuilds con muchos paquetes o se cree que son de baja o desconocida calidad, es una buena práctica enmascarar todo el repositorio de ebuilds.
ARCHIVO /etc/portage/package.mask Enmascarar todos los paquetes de un repositorio de ebuilds

/::nombre-del-repositorio

Después de esto, desenmascarar los paquetes que se instalarán.
ARCHIVO /etc/portage/package.unmask Desenmascarar un paquete específico en un repositorio de ebuilds

foo/bar::nombre-del-repositorio

DESENMASCARAR UN PAQUETE - Unmasking a package

Algunos paquetes de software están enmascarados para que los usuarios puedan ser advertidos adecuadamente antes de instalarlos. Cualquier intento de instalar un paquete de estos resultados en la advertencia de Portage que los cambios adicionales
son necesarios antes de que proceda:
root #emerge --ask =xorg-server-1.11.99.2
[ebuild U #] x11-base/xorg-server-1.11.99.2 [1.11.2-r2]
The following mask changes are necessary to proceed:
#required by =xorg-server-1.11.99.2 (argument)

/usr/portage/profiles/package.mask:

Chí-Thanh Christopher Nguyễn chithanh@gentoo.org (19 Dec 2011)

# Mask prerelease x11 packages
=x11-base/xorg-server-1.11.99.2

En etc/portage/package.unmask ponemos:
=net-ftp/filezilla-3.25.2

emerge --ask --autounmask-write =net-ftp/filezilla-3.25.2
Calculating dependencies… done!
[binary N ] app-portage/elt-patches-20170317
[binary N ] dev-libs/pugixml-1.8
[ebuild N ~] dev-libs/libfilezilla-0.9.1 USE="{-test}"
[ebuild N ~] net-ftp/filezilla-3.25.2 USE=“dbus nls {-test}”
The following keyword changes are necessary to proceed:
(see “package.accept_keywords” in the portage(5) man page for more details)
# required by net-ftp/filezilla-3.25.2::gentoo
# required by =net-ftp/filezilla-3.25.2 (argument)
=dev-libs/libfilezilla-0.9.1 ~amd64
# required by =net-ftp/filezilla-3.25.2 (argument)
=net-ftp/filezilla-3.25.2 ~amd64

Would you like to add these changes to your config files? [Yes/No] yes
Autounmask changes successfully written.

  • IMPORTANT: config file ‘/etc/portage/package.keywords/custom’ needs updating.
  • See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
  • sections of the emerge man page to learn how to update config files.

Vamos a etc/portage/package.keywords/custom y ponemos:
# required by net-ftp/filezilla-3.25.2::gentoo
# required by =net-ftp/filezilla-3.25.2 (argument)
=dev-libs/libfilezilla-0.9.1 ~amd64
# required by =net-ftp/filezilla-3.25.2 (argument)
=net-ftp/filezilla-3.25.2 ~amd64

emerge --ask --autounmask-write =net-ftp/filezilla-3.25.2

calculate ~ # etc-update
Scanning Configuration files…
Automerging trivial changes in: /etc/portage/package.keywords/custom
Automerging trivial changes in: /etc/portage/package.keywords/custom
Exiting: Nothing left to do; exiting. :slight_smile:

Importante:
Normalmente se considera una mala idea sobrescribir la variable ACCEPT_KEYWORDS en la línea de comandos ya que no se hace persistente y puede resultar en un comportamiento no deseado por parte del gestor de paquetes.
package.keywords = package.accept_keywords

Package.accept_keywords y package.keywords son archivos o directorios de archivos que contienen definiciones de las sentencias ACCEPT_KEYWORDS por paquete. Son útiles para mezclar paquetes inestables con paquetes de sistema normalmente
estables o viceversa.

Estas dos ubicaciones permiten ACCEPT_KEYWORDS ser aumentado para paquetes individuales. Si tanto package.accept_keywords y package.keywords están presentes, ambos se utilizarán; Los valores de package.accept_keywords anularán los
valores de package.keywords. La ubicación package.accept_keywords está destinada a reemplazar la ubicación package.keywords, ya que los perfiles soportan una forma diferente de package.keywords que modifica KEYWORDS efectivos
(en lugar de ACCEPT_KEYWORDS).

Formato y ejemplos
Las líneas de comentario comienzan con # (no hay comentarios en línea).
Un átomo DEPEND por línea seguido de PALABRAS CLAVE (keywords) adicionales.
Las líneas sin PALABRAS CLAVE implican un arco de host inestable.

FILE /etc/portage/package.accept_keywordspackage.accept_keywords ejemplo:

# Always use unstable libgd
media-libs/libgd ~x86

# Only use stable mplayer
media-video/mplayer -~x86

# Always use unstable netcat
net-analyzer/netcat

Nota: Además de los valores normales de ACCEPT_KEYWORDS package.keywords admite tres tokens especiales:

    • El paquete es visible si es estable en cualquier arquitectura.
      ~ * - El paquete es visible si se está probando en cualquier arquitectura.
      • El paquete siempre está visible (las PALABRAS CLAVE (KEYWORD) son ignoradas por completo).

Nota adicional: Si encuentra el - * KEYWORD, esto indica que el paquete se sabe que está roto en todos los sistemas que no están enumerados en KEYWORDS. Por ejemplo, un paquete binario sólo que está construido para x86 se verá así:
FILE /etc/portage/package.accept_keywordsBroken on all but x86 example
games-fps/quake3-demo-1.11.ebuild:KEYWORDS="-* x86"

Para aceptar este paquete de todos modos, utilice una de las otras palabras clave en package.accept_keywords como esta:
FILE /etc/portage/package.accept_keywordsAccept anyways example
games-fps/quake3-demo x86


EBUILD

Un archivo ebuild es un archivo de texto, utilizado por los gestores de paquetes de Gentoo, que identifica un paquete de software específico y cómo debe manejarlo el gestor de paquetes de Gentoo. Utiliza un estilo de sintaxis tipo bash y
está estandarizado a través de la versión EAPI.

Gentoo Linux utiliza ebuilds como formato de gestión de paquetes para títulos de software individuales. Estos ebuilds contienen metadatos sobre el software (el nombre y la versión del software, la licencia que el software utiliza y la página de inicio),
información de dependencia (tanto en tiempo de construcción como en dependencias de tiempo de ejecución) e instrucciones sobre cómo tratar Con el software (configurar, construir, instalar, probar …).

La ubicación predeterminada para ebuilds en Gentoo es /usr/portage/.

ebuild también es el comando Portage para ejecutar las diversas funciones de ebuild. La información se puede encontrar localmente ejecutando:
user $ man 1 ebuild
user $ man 5 ebuild


PORTAGE

Portage es el sistema oficial de administración y distribución de paquetes para Gentoo. Funciona como el corazón de los sistemas operativos basados en Gentoo. Portage incluye muchos comandos para el repositorio y la gestión de paquetes,
el principal de los cuales es el comando emerge.

Calculate Linux utiliza Portage para gestionar el software. Por lo tanto, cualquier paquete listado en el árbol de Portage puede ser compilado con opciones personalizadas. Se usa por consola.

Actualizando

Para que Gentoo se mantenga al día, Portage debe mantenerse al día. Si el siguiente mensaje está visible después de emerge --sync, es importante hacer lo que el texto dice antes de actualizar otros paquetes.
CODE Portage update message

  • Una actualización de portage está disponible. Se recomienda que actualice portage ahora, antes de que se actualicen otros paquetes.
  • Para actualizar portage, ejecute ‘emerge --oneshot portage’ ahora.

root # emerge --ask --oneshot sys-apps / portage

Esto le indicará a Portage que se actualice exclusivamente. Después de actualizar Portage, los usuarios pueden actualizar otros paquetes.
Advertencia:
Portage no comprueba si el paquete que está intentando desinstalar es necesario para algún otro. A pesar de esto, le avisará cuando quiera eliminar un paquete importante que pueda romper su sistema si lo desinstala.


PORTHOLE - INSTALADOR GRÁFICO DE PROGRAMAS (2014-07-21)

Porthole es un front-end basado en GTK para Portage (el sistema de gestión de paquetes de Gentoo). Cuenta con una vista jerárquica de paquetes y soporta búsquedas rápidas y cálculos de dependencia. Porthole trabaja principalmente
ejecutando comandos “emerge” en su propia ventana de terminal, y soporta la mayoría de las operaciones emergentes.
Porthole se libera bajo GPL.
Porthole se basa parcialmente en un programa anterior llamado gportage, que ha sido descontinuado a favor de Porthole.
Aunque Porthole está diseñado para ser utilizado con un entorno de escritorio GTK + (Gnome, Xfce), también se sabe que funciona bien bajo KDE. Aparte de GTK +, la única dependencia relacionada con GNOME es libglade. Sin embargo,
si usted está buscando un front-end de portage más específico de KDE, quizás desee probar Kuroo.

Caracteristicas:

Interfaz intuitiva simple.
Múltiples vistas de paquetes, Todos, Instalados, Buscar, Actualizables, Desaprobados, Conjuntos.
Vista detallada de dependencias multinivel, con visores de dependencias emergentes.
Detallado, paquete Resumen que incluye una tabla de ebuild que muestra información vital sobre las diferentes versiones disponibles. Configuraciones detalladas de usuario guardadas para un paquete.
Fácil de usar menús de clic derecho en muchas áreas para acciones de paquetes comunes y relevantes.
Vista de Changelog destacada con errores #

NOTAS:
¡Debe ejecutarse como root!. ¡ANTES de utilizar leer la información del apartado Layman, instalarlo y actualizar los overlays!. No sustituye a Emerge. ¡Si un programa no se instala desde Porthole ir a la pestaña de Dependencias e instalar las necesarias,
luego volver a intentar instalar el programa en cuestión!

Sync Portage Tree
Cómo sincronizar el árbol de Portage
Portage mantiene su registro completo de todos los paquetes disponibles para usted en su sistema. Para asegurarse de que Portage esté al tanto de las versiones actuales de paquetes disponibles para usted, deberá actualizar este registro de vez en cuando.
No es difícil - basta con hacer clic en el botón “Sincronizar” en la barra de herramientas Porthole. Asegúrese de que no tiene habilitado “Pretend”.
Si se está preguntando cuánto tiempo pasó desde la última sincronización, coloque el cursor sobre el botón “Sincronizar” para mostrar una información de herramientas con la última hora y fecha de sincronización.

emerge-webrsync

Si necesita usar emerge-webrsync para actualizar el árbol de portage, seleccione “Customise Porthole” en el menú “Settings”. En la pestaña “General” del diálogo de preferencias hay una opción para usar emerge-webrsync en lugar del comando
de sincronización normal. El botón de sincronización ejecutará ahora un emerge-webrsync en lugar.


KUROO - Graphical frontend to Gentoo Portage - INSTALADOR GRÁFICO DE PROGRAMAS (2016-07-15)

Kuroo is a graphical frontend to Portage that integrates into the K-Desktop-Environment and covers most common maintenance tasks on Portage based systems.
https://sourceforge.net/projects/kuroo/


PROFILE (Portage)

Un perfil Portage especifica los valores predeterminados para los indicadores de USE global y por paquete, especifica los valores por defecto para la mayoría de las variables que se encuentran en /etc/portage/make.conf y define
un conjunto de paquetes del sistema. Enmascara las versiones de paquetes inestables y los indicadores USE. Los perfiles son mantenidos por los desarrolladores de Gentoo como parte del repositorio de Gentoo (/usr/portage/profiles),
pero hay formas para que los usuarios anulen piezas individuales.
Información:
man 5 portage

package.use.force y package.use.stable.force
Nota: En una configuración de perfil en cascada, puede quitar los indicadores de USE en perfiles de niños que se agregaron mediante perfiles primarios prefijando el indicador con un ‘-’.
Formato:

  • los comentarios comienzan con # (no hay comentarios en línea)
  • un DEPEND atom (átomo) por línea con espacio-delimitado USE flags (banderas)
    Ejemplos:
    # force docs for GTK 2.x
    =x11-libs/gtk±2* doc
    # unforce mysql support for QT
    x11-libs/qt -mysql

package.use
Indicadores de USE por paquete. Útil para el rastreo de banderas USE locales o para habilitar indicadores USE sólo para determinados paquetes. Tal vez desarrolles GTK y así quieras documentación para ello, pero no quieres documentación para QT.
Formato:

  • los comentarios comienzan con # (no hay comentarios en línea)

  • un DEPEND átomo por línea con espacio-delimitado USE banderas

  • USE banderas pueden ser prefijadas con USE_EXPAND nombre seguido de dos puntos (:slight_smile: y un espacio. En este caso, todos los nombres que lo siguen se tratan como valores para USE_EXPAND. Tenga en cuenta que si necesita quitar asignaciones anteriores
    o valores predeterminados, debe especificar explícitamente ‘- *’.
    Ejemplo:
    # turn on docs for GTK 2.x
    =x11-libs/gtk±2* doc
    # disable mysql support for QT
    x11-libs/qt -mysql
    # set preferred video card for all packages
    / VIDEO_CARDS: -* radeon


INSTALACIÓN DE PORTHOLE

En terminal escribímos:
emerge -av porthole -p
¿todo correcto?
entonces:
emerge -av porthole
confirme con Yes (sí)
después de esto para abrir:
porthole


EIX
eix - es un conjunto de utilidades para buscar, diferenciar y actualizar una caché binaria de sus locales portage-trees
Sinopsis:

eix [common options] [OPTIONS] EXPRESSION

eix-update [common options] [eix-update options]

calculate ~ # eix-update
Reading Portage settings…
Building database (/var/cache/eix/portage.eix)…

eix-diff [common options] OLD-CACHE [NEW-CACHE]

calculate ~ # eix-sync

eix-test-obsolete

eix-remote

calculate ~ # eix-layman
/usr/bin/eix-layman: línea 167: $1: variable sin asignar

eix-installed-after

eix-installed

eix-functions.sh

versionsort

eix-update genera una caché binaria de su árbol de portage local y superposiciones. eix busca en esta caché paquetes que coinciden con los criterios de restricción especificados en EXPRESSION; Si no especifica ninguna restricción,
todos los paquetes se emitirán, por supuesto. eix-diff compara dos cachés binarios y encuentra paquetes que se agregaron, eliminaron o para los que las versiones más estables han cambiado.

Todos estos programas y secuencias de comandos leen los archivos de configuración descritos más adelante. eix-sync tiene un archivo de configuración separado adicional.

eix-sync puede sincronizar los árboles portage/overlay y compararlos con el antiguo cache usando eix-diff. Para obtener más ayuda sobre eix-sync, llame a eix-sync -h y vea la documentación de /etc/eix-sync.conf a continuación.
Observe que el contenido de este último también se puede almacenar en la variable EIX_SYNC_CONF.


CALCULATE CONSOLE

Calculate Utilities Calculate Console proporciona acceso remoto al servidor de Utilities en Calculate 3 (calculate-core) a través de https. Esta funcionalidad es proporcionada por el paquete sys-apps/calculate-console.

calculate ~ # cl-console-gui

Creación de un certificado
Necesitará una clave privada y un certificado firmado por el servidor para acceder al servidor de Utilidades.

Para generar la clave privada y la solicitud de firma, se utiliza option --gen-cert-by ; Use option --port junto con ella para especificar el número de puerto (8888 por defecto), por ejemplo:
cl-console --gen-cert-by 192.168.0.56 --port 8888
En este ejemplo, si el puerto 8888 está escuchando el servidor de Utilidades como servidor 192.168.0.56, se le sugerirá que cree una solicitud.

En primer lugar, tiene que establecer una contraseña para el cifrado adicional de la clave privada: se le pedirá que intente conectarse al servidor de Utilidades. Si prefiere no cifrar la clave privada, deje el campo vacío.


EGENCACHE

Egencache es una herramienta que reconstruye la información de metadatos para el árbol de Portage. Está integrado en Portage y, por lo tanto, viene instalado en todos los sistemas Gentoo.
Los metadatos para el árbol de Portage se incluyen en las tarballs de Portage y, en la mayoría de las circunstancias, se puede volver a descargar ejecutando emerge --sync. No se descargará al usar un CVS o git checkout como
el método de sincronización de Portage, que es más fácilmente posible usando repos.conf.
Reconstruyendo la caché de metadatos
Para reconstruir el caché de metadatos en un sistema emita el siguiente comando:
root # egencache --jobs=9 --update --repo gentoo
Ajuste el número de trabajos que sea apropiado para cada sistema. La métrica “segura” para usar con trabajos dependerá de la carga del procesador y del sistema; Si no hay carga en el sistema, utilice la métrica de un trabajo
por hilo de procesador más uno. En un procesador de núcleo cuádruple (quad core) que tiene dos hilos (threads) por núcleo, la ecuación daría como resultado 9 para los trabajos (2 * 4 + 1). En el ejemplo anterior se utilizan 9 trabajos como ejemplo.
La reconstrucción de la caché MD5 puede tomar bastante tiempo. Si ejecuta el comando egencache se bloquea durante un tiempo, espere. Como con la mayoría de los comandos de Linux, si no devuelve un error,
entonces no ha terminado el trabajo. (Ejemplo: 12 minutos en i7 con 9 trabajos el 2016-06-10)


LAYMAN (método antiguo)

Layman es la principal herramienta de gestión de superposición (overlay) de Gentoo, que ofrece una gestión centralizada de repositorios para los usuarios finales.
Con app-portage/layman los usuarios pueden gestionar sus superposiciones de forma sencilla y centralizada. La aplicación Layman proporciona una visión general de los repositorios de superposición remotos disponibles y permite al usuario
seleccionar uno o más para el sistema. Una vez seleccionado, el usuario puede actualizar los repositorios (similar a emerge --sync), agregar superposiciones locales y más. Las versiones superiores a 2.1.0 se mejoran con un sistema de sincronización plug-in.
Nota
Aunque no todas las características del sistema de sincronización de plug-in de portage son compatibles ahora con layman la migración de portage es un buen paso para estar preparado para eso.
La aplicación layman facilita la gestión y actualización de múltiples repositorios de ebuilds adicionales. Se trata de una aplicación de la línea de órdenes a través de la cual se pueden listar los repositorios de ebuilds disponibles al público,
suscritos o no suscritos así como la actualización de esos repositorios.

Se ofrece soporte tanto para el método make.conf como para el método repos.conf.

Cuando se utiliza el método make.conf, layman gestiona un archivo dedicado de configuración que debe ser cargado por make.conf
Cuando se utiliza repos.conf, layman gestiona el fichero /etc/portage/repos.conf/layman.conf directamente.

Instalación
USE flags

Primero compruebe los indicadores (flags) USE que soporta el paquete Layman …
root # emerge --ask app-portage/layman
… y agregue los indicadores USE necesarios.
FILE /etc/portage/package.use/laymanadd the USE flags you need
app-portage/layman git subversion

emerge --search layman
root # emerge --ask app-portage/layman
Configuración:
Este método utiliza el nuevo sistema de complementos portage. Layman creará su archivo de configuración en /etc/portage/repos.conf/.
Configure layman para usar el método repos.conf en /etc/layman/layman.cfg. Nuevas instalaciones de layman probablemente tendrán esto ya establecido correctamente:
FILE /etc/layman/layman.cfg
# Repository config types used by layman
# (repos.conf, make.conf)
conf_type : repos.conf

Cree el directorio /etc/portage/repos.conf/ si aún no existe:
mkdir /etc/portage/repos.conf
ACTUALIZAR TODOS LOS OVERLAYS
layman -S

eliminar un overlay:

sudo layman -d nombre-overlay


Gentoo install
Please refer to http://www.gentoo.org/doc/en/gentoo-x86-quickinstall.xml and http://www.gentoo.org/doc/en/handbook/index.xml for more in-depth details about gentoo installation.
Partitioning
Do your thing and partition your disk(s). You need at least a root partition (/).

Create filesystems for your partitions according to your likings. Remember that you will need to install the *progs packages for your filesystem(s).

From now on we will assume that your root filesystem is mounted under /mnt/sabayon.

Also if you have a /var, /boot, /usr, /home … filesystems, create the mountpoints relative to /mnt/sabayon and mount them now.

Get Gentoo installation files

We will assume an x86_64 architecture here. If you’re on x86 (32 bits), change “amd64” with “x86”.

export ARCH=“amd64”

Pick up a mirror near you from this list: http://www.gentoo.org/main/en/mirrors.xml

export MIRROR=“ftp://distfiles.gentoo.org/pub/gentoo

We will refer to your arch as $ARCH and to your chosen mirror as $MIRROR from now on.

Download and verify stage3 archive

wget -r $MIRROR/releases/$ARCH/current-stage3/
cat stage3-$ARCH~~.tar.bz2.DIGESTS && md5sum stage3-$ARCH-.tar.bz2 && sha1sum stage3-$ARCH~~*.tar.bz2

Download and verify portage snapshot

wget $MIRROR/snapshots/portage-latest.tar.bz2
wget $MIRROR/snapshots/portage-latest.tar.bz2.md5sum
cat portage-latest.tar.bz2.DIGESTS && md5sum portage-latest.tar.bz2 && sha1sum portage-latest.tar.bz2

Unpack stage3 and portage

tar xfpj stage3-$ARCH-*.tar.bz2 -C /mnt/sabayon
tar xfpj portage-latest.tar.bz2 -C /mnt/sabayon/usr
Note the p option: it’s for preserving file permissions and it’s very important!

Chroot into your new Gentoo
Everything that follows is done while in /mnt/sabayon:

cd /mnt/sabayon
Mounting filesystems
mount -o bind /dev ./dev
mount -t devpts none ./dev/pts
mount -t tmpfs none ./dev/shm
mount -t proc none ./proc
mount -t sysfs none ./sys
Copying /etc/resolv.conf
cp /etc/resolv.conf ./etc
Chroot!
chroot /mnt/sabayon /bin/bash
Now you are on your Gentoo chroot!

Configure environnment
export LANG=en_US
export LANGUAGE=${LANG}
export LC_ALL=${LANG}.UTF-8
env-update
eselect python set 1 #sets python 2.7 as default
source /etc/profile
Some early configuration
Set up a root password
As I regulary forget to setup the root password, let’s do that as first thing:

passwd
Timezone

cd /etc/
ln -sf …/usr/share/zoneinfo// localtime
Where is your region and the nearest big city.

Hostname
Be original and change “localhost” to something else. Update /etc/hosts accordingly.

nano -w /etc/conf.d/hostname
nano -w /etc/hosts
Mount points
nano -w /etc/fstab

SABAYON OVERLAY SETUP AND INSTALLATION OF ENTROPY+EQUO - Añadir repositorio de Sabayon

emerge sys-apps/entropy
emerge app-admin/equo

LAYMAN
Layman es una herramienta de gentoo para administrar superposiciones de portage. Lo usaremos para poner nuestras manos en la capa de sabayón.

# emerge --sync asegúrese de que portage esté completamente actualizado … o no. Depende de usted. Portage instantáneas se realizan a diario, no veo la necesidad de sincronizar.
# USE=“git” emerge -avt layman ahora equo está en portage regular!
# layman -a sabayon

* Adding overlay…
* Overlay “sabayon” is not official. Continue installing? [y/n]: y
* Running Git… # ( cd /var/lib/layman && /usr/libexec/calculate/cl-git-wrapper clone git://github.com/Sabayon/for-gentoo.git /var/lib/layman/sabayon )
Cloning into ‘/var/lib/layman/sabayon’…

ENTROPY AND EQUO
emerge -avt equo --autounmask-write
etc-update
Escaneo de archivos de configuración …
La siguiente es la lista de archivos que deben actualizarse, cada uno
Archivo de configuración es seguido por una lista de posibles archivos de reemplazo.

  1. /etc/portage/package.keywords/custom (1)
    Seleccione un archivo para editarlo ingresando el número correspondiente.
    (No use -3, -5, -7 o -9 si no está seguro de qué hacer)
    (-1 para salir) (-3 para combinar automáticamente todos los archivos)
    (-5 para auto-merge Y no use ‘mv -i’)
    (-7 para descartar todas las actualizaciones)
    (-9 para descartar todas las actualizaciones Y no usar ‘rm -i’):
    emerge -avt equo
    Ahora tenemos entropía y equo instalado. Para hacer uso de ella, primero deberíamos generar la base de datos de entropía (sólo la primera vez!):

equo rescue generate
Sí, estás seguro de esto. Usted debe responder sí tres veces para hacerlo feliz.

Perfecto. Ahora necesitamos instalar repositorios de sabayon. Como ejemplo, utilizamos sabayonlinux.org (es decir, actualizado diariamente), pero puede usar sabayon-weekly en su lugar si desea actualizar con menos frecuencia.
Ver En: Entropy # Package_Repositories.

cd /etc/entropy/repositories.conf.d
cp entropy_sabayonlinux.org.example entropy_sabayonlinux.org
cd -
Let’s use equo to populate the repo db (if you used sabayon-weekly, substitute “sabayonlinux.org” with sabayon-weekly here):

equo update
equo repo mirrorsort sabayonlinux.org
¡Fueron puestos! Equo está ahora en un estado de trabajo!

FINISH INSTALLATION USING EQUO

eix
To make your life easier, let’s install eix (a tool for portage searching) and also the sabayon-distribution overlay (i.e. the entropy packages as a portage overlay):

equo install eix
layman -a sabayon-distro
cd /etc/portage
echo “source /var/lib/layman/make.conf” >> make.conf
git commit -m “source layman/make.conf in /etc/make.conf”
eix-sync
Now you can use eix to quickly search for installed/installable/upgradable packages and see their versions and use flags.

Filesystem progs
From gentoo quickinstall, code listing 2.27:

equo install xfsprogs # (if you use the XFS file system)
equo install jfsutils # (if you use the JFS file system)
Network stuff
equo install dhcpcd # (if you need a DHCP client)
equo install ppp # (if you need PPPoE ADSL connectivity)
equo install wireless-tools # (if you need wireless connectivity)
equo install wpa_supplicant # (if you need WPA/WPA2 authentication)
equo install wicd # (if you do like wicd)
Kernel & bootloader
equo install linux-sabayon
equo install grub2
nano -w /etc/default/sabayon-grub
/etc/default/sabayon-grub example:

GRUB_CMDLINE_LINUX="<boot options specific to your system… root=… dolvm crypt real_root etc…> console=tty1 splash=silent,theme:sabayon quiet"
Put boot options according to your system. It should at least be able to mount your rootfs (/).

Run grub2-mkconfig to generate /boot/grub/grub.cfg

mount /boot
grub2-mkconfig -o /boot/grub/grub.cfg
umount /boot
System logger and Cron daemon
equo install syslog-ng vixie-cron
rc-update add syslog-ng default
rc-update add vixie-cron default
This is just a suggestion: please go for the system logger and cron daemon of your choice!

Everything else
Install any other packages you want using equo:

equo install
For example, if you want KDE, the base packages needed can be installed with equo install kdebase-meta

Exit & cleanup
Exit the chroot
exit
Unmount filesystems
cd /mnt/sabayon
umount ./sys
umount ./proc
umount ./dev/shm
umount ./dev/pts
umount ./dev
Unmount any other filesystem inside /mnt/sabayon.

Then unmount the root filesystem of your new sabayon system:

umount /mnt/sabayon
Reboot
You are now ready to reboot (well, you were ready since the “setup grub” step, actually)

reboot
Enjoy your new shiny Sabayon system installed like it should be! (please forgive the troll in me)


OVERLAY (REVESTIMIENTO)
Dentro de Gentoo Linux, los usuarios ya disponen de un repositorio de paquetes “principal”. El repositorio principal contiene todos los paquetes de software (llamados ebuilds) que mantienen los desarrolladores de Gentoo.
Los árboles de paquetes adicionales se hospedan en repositories. Los usuarios pueden añadir estos repositorios adicionales (tradicionalmente llamados “recubrimientos” u “overlays”) a sus sistemas.
https://wiki.gentoo.org/wiki/Overlay/es


OVERLAYS

layman -o http://gpo.zugaina.org/lst/gpo-repositories.xml

layman -o http://gpo.zugaina.org/lst/gpo-repositories.xml -L

layman -a bgo-overlay -o http://gpo.zugaina.org/lst/gpo-repositories.xml

eliminar un overlay:

sudo layman -d nombre-overlay


ACTUALIZAR EL SOFTWARE

Cada sabor de Calculate Linux incluye un repositorio binario para paquetes precompilados optimizados para la distribución dada. Si prefiere compilar desde el código fuente, agregue la siguiente línea a su archivo /etc/portage/make.conf/custom:
FEATURES = “- getbinpkg”


ACTUALIZAR ARCHIVOS DE CONFIGURACIÓN

Al actualizar paquetes, no se sobrescriben los archivos de configuración de forma predeterminada. Se le notificará cuando se detecte una modificación. Los comandos principales de esta utilidad son: “PageUp”/“PageDown” - navegue por el archivo
de configuración, “u” reemplaza el archivo de configuración actual por el nuevo, “z” elimina el nuevo archivo de configuración, “q” - lo quita.
Si desea que los archivos de configuración sean corregidos automáticamente, establezca la variable cl_autoupdate_set en “on” en /etc/calculate/calculate.env, como se muestra a continuación:
[main]
cl_autoupdate_set = on

Si elige esta opción, asegúrese siempre de que todas las modificaciones de configuración se realizan correctamente y utiliza plantillas (templates).


CERTIFICADOS

(Necesario para abrir Calculate Console):
cl-core --sign-client command
cl-core --sign-client ID
El número del certificado debe ser int
cl-core --sign-client 2

calculate ~ # cl-core --sign-client 2
Introduzca el grupo del nuevo certificado (nombre de grupo o ‘all’): all
Certificate /var/calculate/server/client_certs/2.crt is signed


INSTALAR SOFTWARE NUEVO

Algunos simples comandos le permiten realizar actualizaciones o instalar nuevos programas.

El sistema almacena el árbol local de Portage donde se muestran todos los programas disponibles. Antes de actualizar o instalar cualquier paquete, tendrá que actualizar el árbol de Portage ejecutando en consola:

calculate ~ # eix-sync
* Running !-hooks
* Running /usr/sbin/cl-core --method update --sync-only --skip-eix-update
Repositories synchronization
* Checking Distros updates … [ ok ]
* Checking Calculate updates … [ ok ]
* Checking Gentoo updates … [ ok ]
* Synchronization finished
System configuration
* Update server http://miroir.linuxtricks.fr/calculate
* System update finished!
* Copying old database to /var/cache/eix/previous.eix
* Running eix-update
Reading Portage settings…
Building database (/var/cache/eix/portage.eix)…
[0] “gentoo” /usr/portage/ (cache: metadata-md5-or-flat)
Reading category 164|164 (100) Finished
[1] “distros” /var/lib/layman/distros (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
Reading category 164|164 (100) EMPTY!
[2] “calculate” /var/lib/layman/calculate (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
Reading category 164|164 (100) Finished
Applying masks…
Calculating hash tables…
Writing database file /var/cache/eix/portage.eix…
Database contains 19657 packages in 164 categories.
* Calling eix-diff
* Time statistics:
3 seconds for syncing
15 seconds for eix-update
2 seconds for eix-diff
20 seconds total

¡Necesitas ser root para hacer esto!
Una vez actualizado el árbol, puede instalar cualquier nuevo paquete con:

emerge package_name emerge nombre_del_paquete
Ej: emerge media-video/smplayer

Si no sabe el nombre exacto del paquete que necesita, utilice eix para buscar:

eix any_part_of_the_package_name

Desmascarar una versión (Unmasking a version)

El árbol de Portage generalmente proporciona varias versiones de software, y algunas de ellas pueden marcarse como prueba. Esto no significa que el programa sea inestable; Sólo significa que no ha sido probado lo suficiente por el momento.
Puede elegir entre versiones estables y de prueba e instalar lo que quiera.

Sin embargo, para instalar paquetes de prueba, primero tendrá que desenmascarar los paquetes relevantes. Por ejemplo, vamos a instalar Firefox 22.0, que actualmente está marcado como prueba.

  1. Compruebe las versiones disponibles:
    eix firefox
    www-client/firefox
    Available versions: *10.0.11 17.0.5 17.0.6 17.0.7 ~21.0 ~22.0
  2. Desmascare el paquete y sus dependencias.
    Asegúrese de que el directorio /etc/portage/package.keywords/ no esté vacío, de lo contrario ejecute:
    touch /etc/portage/package.{keywords,unmask,use}/custom
    Desmascare la versión que desea instalar:
    emerge --autounmask-write =www-client/firefox-22.0
    Actualizace la configuración:
    dispatch-conf
    Pulse “u” para confirmar.
  3. Instalar
    emerge firefox

¿Cómo evito que NumLock se inicie en el arranque?
Ejecute como root en la línea de comandos:
rc-update del numlock
Para que NumLock vuelva a arrancar:
rc-update add numlock default


¿Cómo puedo crear nuevos usuarios?

Si no indica explícitamente a Calculate Linux Desktop que cree una cuenta de usuario en el momento de la instalación, este crea como predeterminada una de invitado (Guest > Nick: guest Password. guest).
Es posible que desee utilizar esta para explorar su nuevo sistema, o para que sus amigos lo hagan. Para saber cómo administrar otras cuentas de usuario, consulte la guía Creación de cuentas de usuario.


Primeros pasos
Una vez concluida la instalación es hora de actualizar el sistema, para esto abra el terminal y escriba:

eix-sync
este simple comando sincroniza y actualiza
Una lista de los paquetes a actualizar será mostrada, aparecerá [U]=upgrade/actualizar paquetes [N]=new/nuevos paquetes [R]=reinstall/reinstalar paquetes
Después de comprobar y verificar que todo está en orden, escribir:

calculate ~ # emerge -uDNa world -p
Local copy of remote index is up-to-date and will be used.
These are the packages that would be merged, in order:
Calculating dependencies… done!

donde:
-uDNa va a actualizar y crear una nueva configuración para en las próximas actualizaciones poder usar simplemente -uDN world -p
-p es lo mismo que --pretend de la família Gentoo. Una actualización puede generar transtornos y es interesante ver lo que puede suceder en el sistema.

SUDO

https://wiki.gentoo.org/wiki/Sudo/es
calculate ~ # emerge --ask app-admin/sudo
sudo emerge -uDN world

PKG
emerge --config =dev-db/mariadb-10.0.30
Configuración de pkg …

* Tratando de obtener la contraseña para el usuario mysql ‘root’ de la sección ‘mysql’ …
* Tratando de obtener la contraseña para mysql ‘root’ usuario de la sección ‘cliente’ …
* Por favor proporcione una contraseña para el usuario root ‘mysql’ ahora oa través del archivo /root/.my.cnf.
* Evitar los caracteres ["’\ _%] en la contraseña



Use emerge @preserved-rebuild to rebuild packages using these libraries

  • IMPORTANT: 2 config files in ‘/etc’ need updating.
  • See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
  • sections of the emerge man page to learn how to update config files.
  • Use eselect news read to view new items.
  • After world updates, it is important to remove obsolete packages with
  • emerge --depclean. Refer to `man emerge` for more information.

IMPORTANT: config file ‘/etc/cups/cupsd.conf’ needs updating.

emerge: command-line interface to the Portage system
Usage:
emerge [ options ] [ action ] [ ebuild | tbz2 | file | set | atom ] [ ... ] emerge [ options ] [ action ] <system | @world >
emerge < --sync | --metadata | --info >
emerge --resume [ --pretend | --ask | --skipfirst ]
emerge --help
Options: -[abBcCdDefgGhjkKlnNoOpPqrsStuvVw]
[ --color < y | n > ] [ --columns ]
[ --complete-graph ] [ --deep ]
[ --jobs JOBS ] [ --keep-going ] [ --load-average LOAD ]
[ --newrepo ] [ --newuse ] [ --noconfmem ] [ --nospinner ]
[ --oneshot ] [ --onlydeps ] [ --quiet-build [ y | n ] ]
[ --reinstall changed-use ] [ --with-bdeps < y | n > ]
Actions: [ --depclean | --list-sets | --search | --sync | --version ]

For more help consult the man page.

Utilice emerge preserved-rebuild para reconstruir paquetes utilizando estas bibliotecas. Después de las actualizaciones mundiales, es importante eliminar los paquetes obsoletos con emerge --depclean. Consulte `man emerge` para obtener más información. emergepreserved-rebuild
emerge --verbose-conflicts
emerge --depclean

  • Como medida de seguridad, depclean no eliminará ningún paquete a menos que “todas” las dependencias requeridas hayan sido resueltas. Como consecuencia de ello, a menudo es necesario:
    emerge --update --newuse --deep --with-bdeps=y `world
    • ¿Se ha olvidado de hacer una actualización completa antes de depclean? El comando más completo para este propósito es el siguiente:
      emerge --update --newuse --deep --with-bdeps=y `world
  • Tenga en cuenta que la opción --with-bdeps=y no es necesaria en muchas situaciones. Consulte la página del manual de emerge (ejecute `man emerge`) para obtener más información acerca de --with-bdeps.
    Además, tenga en cuenta que puede ser necesario desinstalar manualmente paquetes que ya no existen en el árbol de portage, ya que puede que no sea posible satisfacer sus dependencias.
    emerge --update --newuse --deep @world

emerge --update --nospinner --noreplace world
emerge --sync --nospinner
–backtrack=30
emerge --sync --nospinner calculate

  • The specified repo(s) have sync disabled: calculate
    …returning
    calculate ~ # emerge --sync calculate

* The specified repo(s) have sync disabled: calculate
…returning

JUEGOS - STEAM
emerge games-util/steam-launcher

PROGRAMAS
emerge vlc
emerge smplayer
Instalar:
emerge --nospinner --noreplace mail-client/thunderbird
Desinstalar:
unmerge mail-client/thunderbird

sudo --p Password:
emerge --ask app-crypt/gnupg
gpg --list-public-keys

Generar una clave y agregar claves públicas a un llavero público
Crear una clave:
gpg --full-gen-key

**
!!! git pull error in /usr/portage

Usar:
cl-update
¿El error persiste?

Plan A (restablecer el repositorio git):

cd /usr/portage
git reset --hard HEAD
emerge --sync

Plan B (restaurar el/los bloques faltante/s):
Recomendado

cd /
wget https://bugs.funtoo.org/secure/attachment/12070/funtoo-portage-reblobber
sh funtoo-portage-reblobber
emerge --sync
rm -i funtoo-portage-reblobber

Plan C (reconstruir automáticamente el directorio .git):

rm -rf /usr/portage/.git
emerge --sync

Plan D (reconstruir manualmente el directorio .git)

cd /usr/portage
rm -rf .git
git init
git remote add origin git://github.com/funtoo/ports-2012.git
git fetch
git reset --hard origin/funtoo.org
git checkout funtoo.org
emerge --sync
echo “distfiles/” > .gitignore
echo “packages/” >> .gitignore
git clean -f -d

Si eso falla también realice una reconstrucción completa (Plan E o F). (Como último recurso)

Si continúa con el Plan F y opta por eliminar el directorio /usr/portage en lugar de cambiarlo, asegúrese de que no le importa el directorio distfiles y paquetes que se almacena en su interior.

Además, si /usr/portage reside en otra partición, ajuste las instrucciones en consecuencia.

Plan E (cambie el nombre del árbol de portage existente y luego vuelva a recuperarlo, asegúrese de mover atrás el directorio de distfiles y paquetes):

cd /usr
mv portage portage.bak
emerge --sync

Plan F (quitar el árbol de portage existente y luego recuperarlo):

rm -rf /usr/portage
emerge --sync

Nota: NO siga las instrucciones de la página Instalación de Portage From Snapshot wiki. Las instantáneas actuales están dañadas.


emerge -a --depclean

Actualización de puertos:

emerge --sync
emerge -uDNav world
emerge -uDNav system
new python coded version:
revdep-rebuild -i

eliminar paquetes innecesarios:
emerge -avc


EMERGE FAILED/UPDATED FAILED:

cl-update
Ej:
The following USE changes are necessary to proceed:
(see “package.use” in the portage(5) man page for more details)

required by net-libs/gnutls-3.5.11::gentoo[idn]
required by net-libs/glib-networking-2.50.0::gentoo[ssl]
required by @auto_slot_operator_replace_installed (argument)

=net-dns/libidn2-0.16-r1 abi_x86_32

required by net-libs/gnutls-3.5.11::gentoo
required by net-libs/glib-networking-2.50.0::gentoo[ssl]
required by @auto_slot_operator_replace_installed (argument)

=dev-libs/libunistring-0.9.7 abi_x86_32

  • Emerge failed * Update failed

Ponemos, en este caso, en un terminal:

printf “net-dns/libidn2 abi_x86_32\ndev-libs/libunistring abi_x86_32\n” >> /etc/portage/package.use/custom

Luego actualizamos con el comando:
cl-update

Más información:
man 3 printf

Ejemplo:

[binary N ] app-text/docbook2X-0.8.8-r4::gentoo USE="{-test}" 293 KiB
[binary N ] virtual/linux-sources-3-r9::calculate 0 KiB
[ebuild R ] x11-libs/libva-1.7.3::gentoo USE=“X drm opengl vdpau -egl -wayland” ABI_X86=“32 (64) (-x32)” VIDEO_CARDS=“nvidia -dummy (-fglrx) -i965* -intel* -nouveau*” 806 KiB
[ebuild R ] media-libs/mesa-17.0.6::gentoo USE=“classic dri3 egl gallium gbm gles2 llvm nptl vaapi vdpau wayland xa xvmc -bindist -d3d9 -debug -gles1 -opencl -openmax -osmesa -pax_kernel -pic (-selinux)
-valgrind -vulkan**” ABI_X86=“32 (64) (-x32)” VIDEO_CARDS="(-freedreno) -i915** -i965* -imx -intel* -nouveau* -r100* -r200* -r300* -r600* -radeon* -radeonsi* (-vc4) (-vivante) -vmware" 9273 KiB
[ebuild R ] x11-drivers/nvidia-drivers-381.22:0/381::gentoo USE=“X compat driver gtk3 kms multilib static-libs* tools uvm -acpi -pax_kernel -wayland” ABI_X86=“32 (64) (-x32)” 0 KiB
[ebuild R ] app-admin/conky-1.10.4::gentoo USE=“X iconv imlib ipv6 irc ncurses nvidia* portmon pulseaudio truetype -apcupsd -audacious -cmus -curl -eve -hddtemp -ical -iostats -lua-cairo -lua-imlib -lua-rsvg -math -moc
-mpd -mysql -nano-syntax -rss (-systemd) -thinkpad -vim-syntax -weather-metar -weather-xoap -webserver -wifi -xmms2” 357 KiB
* 19 packages will be installed, 11796 KiB will be downloaded
The following USE changes are necessary to proceed:
(see “package.use” in the portage(5) man page for more details)
# required by app-admin/conky-1.10.4::gentoo[X,nvidia]
# required by `selected

required by `world (argument)

=x11-drivers/nvidia-drivers-381.22 static-libs
* Emerge failed
* Update failed

Vamos a etc/portage/package.use/custom y añadimos y salvamos.
=x11-drivers/nvidia-drivers-381.22 static-libs

Seguimos:
cl-update


cl-update

make: ***** [Makefile:403: all] Error 2
* ERROR: net-libs/loudmouth-1.4.3-r2::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info ‘=net-libs/loudmouth-1.4.3-r2::gentoo’`,
* the complete build log and the output of `emerge -pqv ‘=net-libs/loudmouth-1.4.3-r2::gentoo’`.
* The complete build log is located at ‘/var/calculate/tmp/portage/net-libs/loudmouth-1.4.3-r2/temp/build.log’.
* The ebuild environment file is located at ‘/var/calculate/tmp/portage/net-libs/loudmouth-1.4.3-r2/temp/environment’.
* Working directory: ‘/var/calculate/tmp/portage/net-libs/loudmouth-1.4.3-r2/work/loudmouth-1.4.3’
* S: ‘/var/calculate/tmp/portage/net-libs/loudmouth-1.4.3-r2/work/loudmouth-1.4.3’

* Failed to emerge net-libs/loudmouth-1.4.3-r2::gentoo
* Update failed

Sacar la información de un error y hacer un pastebin:

wgetpaste /var/calculate/tmp/portage/net-libs/loudmouth-1.4.3-r2/temp/build.log

Actualizar el paquete:
echo “net-libs/loudmouth ~amd64” >> /etc/portage/package.keywords/custom


Ejemplo:
calculate ~ # emerge mail-filter/MailScanner

The following keyword changes are necessary to proceed:
(see “package.accept_keywords” in the portage(5) man page for more details)
# required by mail-filter/MailScanner (argument)
=mail-filter/MailScanner-4.84.5.2 ~amd64

Con permisos administrativos vamos al archivo llamado custom siguiendo la ruta /etc/portage/package.accept_keywords y pegamos (para este ejemplo): # required by mail-filter/MailScanner (argument)
=mail-filter/MailScanner-4.84.5.2 ~amd64
Luego guardamos el archivo.
Esto se puede hacer siempre que no nos indique problemas, incompatibilidades o archivos bloqueados.

man 5 portage

Per-package ACCEPT_KEYWORDS. Útil para mezclar paquetes inestables con un sistema normalmente estable o viceversa. Esto permitirá ACCEPT_KEYWORDS ser aumentado para un solo paquete.
Si tanto package.accept_keywords como package.keywords están presentes, se utilizarán ambos y los valores de package.accept_keywords anularán valores de package.keywords. El archivo package.accept_keywords está destinado a
reemplazar el archivo package.keywords, ya que los perfiles soportan una forma diferente de package.keywords que modifica KEYWORDS efectivos (en lugar de ACCEPT_KEYWORDS).

FILE /etc/portage/package.accept_keywords .package.accept_keywords ejemplo:

Formato:

  • las líneas de comentario comienzan con # (no hay comentarios en línea)
  • un atom (átomo) DEPEND por línea seguido de KEYWORDS (PALABRAS CLAVE) adicionales
  • las líneas sin ninguna PALABRA CLAVE implican arco inestable del anfitrión

Example:
# always use unstable libgd
media-libs/libgd ~x86
# only use stable mplayer
media-video/mplayer -~x86
# always use unstable netcat
net-analyzer/netcat

Nota:
Además de los valores normales de ACCEPT_KEYWORDS package.keywords soporta tres tokens especiales:

* Paquete es visible si es estable en cualquier arquitectura
~* Paquete es visible si está en la prueba en cualquier arquitectura
**** paquete siempre visible (KEYWORDS se ignoran completamente)

Nota adicional: Si encuentra la -* KEYWORD, esto indica que el paquete se sabe que está roto en todos los sistemas que no están enumerados en KEYWORDS. Por ejemplo, un paquete binario sólo que está construido para x86 se verá así:
FILE /etc/portage/package.accept_keywords .Broken on all but x86 example
games-fps/quake3-demo-1.11.ebuild:KEYWORDS="-* x86"

Si desea aceptar este paquete de todos modos, a continuación, utilice una de las otras palabras clave en su package.accept_keywords como este:
FILE /etc/portage/package.accept_keywords .Accept anyways example

games-fps/quake3-demo x86

ACCEPT_KEYWORDS
La variable ACCEPT_KEYWORDS informa al gestor de paquetes qué valores de KEYWORDS puede aceptar un ebuild.
(Keywords:En un ebuild la variable KEYWORDS informa en qué arquitecturas el ebuild es estable o aún en fase de prueba)
La variable se suele definir en el perfil de Gentoo, pero se puede revocar en el archivo /etc/portage/make.conf del usuario, para cada paquete en el archivo o directorio /etc/portage/package.accept_keywords o incluso en la línea de órdenes.
Importante
Normalmente se considera una mala idea sobrescribir la variable ACCEPT_KEYWORDS en la línea de comandos ya que no se hace persistente y puede resultar en un comportamiento no deseado por parte del gestor de paquetes.


LISTAR REPOSITORIOS

Para ver un listado compacto de repositorios ordenado por números ascendentes en prioridad y formateado para una fácil lectura:
emerge --info --verbose | sed -n ‘/^Repo/,/^ABI/p’ | head -n -1

Para ver una lista detallada de repositorios sin ningún formato:
portageq repos_config /


calculate / # emerge-webrsync
The current sync-type attribute of repository ‘gentoo’ is not set to ‘rsync’ or ‘webrsync’:

sync-type=git

If you intend to use emerge-webrsync then please
adjust sync-type and sync-uri attributes to refer to rsync.
emerge-webrsync exiting due to abnormal sync-type setting.

calculate / # eselect profile list
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/plasma
[7] default/linux/amd64/13.0/desktop/plasma/systemd
[8] default/linux/amd64/13.0/developer
[9] default/linux/amd64/13.0/no-multilib
[10] default/linux/amd64/13.0/systemd
[11] default/linux/amd64/13.0/x32
[12] hardened/linux/amd64
[13] hardened/linux/amd64/selinux
[14] hardened/linux/amd64/no-multilib
[15] hardened/linux/amd64/no-multilib/selinux
[16] hardened/linux/amd64/x32
[17] hardened/linux/musl/amd64
[18] hardened/linux/musl/amd64/x32
[19] default/linux/uclibc/amd64
[20] hardened/linux/uclibc/amd64
[21] calculate:desktop/amd64
[22] calculate:server/amd64
[23] distros:CLD/amd64
[24] distros:CLDC/amd64 *
[25] distros:CLDL/amd64
[26] distros:CLDM/amd64
[27] distros:CLDX/amd64
[28] distros:CDS/amd64
[29] distros:CLS/amd64
[30] distros:CSS/amd64
[31] distros:Timeless/amd64
calculate / # eselect profile set 24 (Para Cinnamon)
Para comprobar los USEs establecidos por profile y make.conf
emerge --info | grep ^USE

De forma predeterminada, bindist está habilitado por default make3.conf de stage3. Si no planeamos distribuir paquetes, retírelo. Bindist puede causar conflictos, es decir entre openssh y openssl.
USE="${CPU_FLAGS_amd64} -bindist -qt4 -libav vaapi"

calculate / # eix-sync
cl-update


PRESERVE-LIBS
ruta /var/lib/portage/preserved_libs_registry

La configuración FEATURES = preserve-libs hará que Portage preserve las bibliotecas cuando cambien los nombres durante la actualización o la degradación, solo cuando sea necesario para satisfacer las dependencias de bibliotecas
compartidas de los consumidores instalados. Las bibliotecas conservadas se eliminan automáticamente cuando no hay consumidores restantes, lo que ocurre cuando los paquetes de consumidor se reconstruyen o desinstalan. Idealmente,
las reconstrucciones se activan automáticamente durante las actualizaciones, para satisfacer las dependencias de los operadores de ranura. Antes de salir de emerge después de instalar las actualizaciones, si hay bibliotecas conservadas
restantes porque no se han utilizado dependencias de operadores de ranura para activar reconstrucciones automáticas, emerge mostrará un mensaje como el siguiente:

!!! existing preserved libs:

package: dev-libs/cyrus-sasl-2.1.26-r9
* - /usr/lib64/libsasl2.so.3
* - /usr/lib64/libsasl2.so.3.0.0
* used by /usr/bin/ldapcompare (net-nds/openldap-2.4.44)
* used by /usr/bin/ldapdelete (net-nds/openldap-2.4.44)
* used by /usr/bin/ldapexop (net-nds/openldap-2.4.44)
* used by 12 other files

package: net-libs/gnutls-3.5.11
* - /usr/lib64/libgnutls.so.30
* - /usr/lib64/libgnutls.so.30.14.2
* used by /usr/bin/dirmngr (app-crypt/gnupg-2.1.18)
* used by /usr/lib64/gio/modules/libgiognutls.so (net-libs/glib-networking-2.50.0)
* used by /usr/lib64/libloudmouth-1.so.0.1.0 (net-libs/loudmouth-1.5.3)
* used by /usr/lib64/libmu_auth.so.5.0.1 (net-mail/mailutils-3.1.1)
Use emerge @preserved-rebuild to rebuild packages using these libraries

En algunos casos, las bibliotecas conservadas pueden permanecer incluso después de que el usuario haya reconstruido los paquetes correspondientes. En casos como estos, las invocaciones repetidas de emerge @ preserved-rebuild no
eliminarán las bibliotecas conservadas. Esto indica que el sistema de compilación de un paquete en particular hace que se vincule inadecuadamente con la versión antigua (conservada) de la biblioteca, en lugar de la nueva. Si encuentra un paquete
como este, debe archivar un error para el mantenedor del paquete (por ejemplo, vea el bug # 230257). Como solución, puede quitar manualmente la biblioteca antigua (como /lib/libreadline.so.5.2) y, a continuación, ejecutar revdep-rebuild para
reconstruir los paquetes vinculados. Se puede obtener una lista de todas las bibliotecas conservadas usando:
calculate ~ # portageq list_preserved_libs /
app-pda/libusbmuxd-1.0.10 /usr/lib64/libusbmuxd.so.2.1.0 /usr/lib64/libusbmuxd.so.2 (Ejemplos)

Si preserve-libs no está habilitado en FEATURES, los usuarios deben ejecutar manualmente revdep-rebuild para detectar las dependencias de biblioteca rotas y reconstruir los paquetes apropiados. Tenga en cuenta que las bibliotecas
conservadas por preserve-libs (o alternativamente por la función preserve_old_lib de eutils.eclass) impiden la ruptura que de otro modo sería detectable por revdep-rebuild. Por lo tanto, revdep-rebuild (sin argumentos especiales) no es útil
para reconstruir los consumidores de las bibliotecas conservadas. En su lugar, si preserve-libs está habilitado, emerge le recomendará al usuario ejecutar emerge @ preserved-rebuild cuando sea necesario. De forma alternativa, si preserve-libs
no está habilitado y la función preserve_old_lib de eutils.eclass ha sido llamada por un ebuild para preservar una biblioteca, el usuario recibirá un mensaje de ewarn como el siguiente:

* Old versions of installed libraries were detected on your system.
* In order to avoid breaking packages that depend on these old libs,
* the libraries are not being removed. You need to run revdep-rebuild
* in order to remove these old dependencies. If you do not have this
* helper program, simply emerge the ‘gentoolkit’ package.
*
* # revdep-rebuild --library ‘/lib/libfoo.so.1’ && rm ‘/lib/libfoo.so.1’

# emerge --ask @preserved-rebuild

emerge @preserve-rebuild

Este método requiere que primero instale gentoolkit si aún no lo ha hecho.
emerge --ask gentoolkit

revdep-rebuild
Es posible que tenga problemas con las versiones de paquetes no existentes debido a que están obsoletas o enmascaradas. Si este es el caso, usted querrá usar la opción --package-names para revdep-rebuild. Esto hace que los paquetes
se recompilen en función del nombre del paquete, en lugar del nombre y la versión exactos. Esto reconstruye el paquete.

Local copy of remote index is up-to-date and will be used.
emerge: There are no sets to satisfy ‘preserve-rebuild’. The following sets exist:

autodeps
changed-deps
custom
downgrade
installed
live-rebuild
module-rebuild
preserved-rebuild
profile
rebuilt-binaries
security
selected
selected-packages
selected-sets
system
unavailable
unavailable-binaries
world
x11-module-rebuild

emerge @preserved-rebuild

Advertencia
A pesar de que preserve-libs hace innecesario usar revdep-rebuild (proporcionado por gentoolkit) para las actualizaciones más comunes, sigue siendo una buena práctica ejecutar `revdep-rebuild -ip` después de las actualizaciones,
para comprobar si hay alguna falla Bibliotecas que preserve-libs no era capaz de manejar.
En algunos casos, las bibliotecas conservadas pueden permanecer incluso después de que el usuario haya reconstruido los paquetes correspondientes. En casos como estos, las invocaciones repetidas de emerge @ preserved-rebuild
no eliminarán las bibliotecas conservadas. Esto indica que el sistema de compilación de un paquete en particular hace que se vincule inadecuadamente con la versión antigua (conservada) de la biblioteca, en lugar de la nueva.
Si encuentra un paquete como este, debe archivar un error para el mantenedor del paquete (por ejemplo, vea el bug # 230257). Como solución, puede quitar manualmente la biblioteca antigua (como /lib/libreadline.so.5.2) y, a continuación, ejecutar:
revdep-rebuild para reconstruir los paquetes vinculados.

BORRAR:

calculate ~ # emerge --unmerge =net-libs/gnutls-3.5.11

Se puede obtener una lista de todas las bibliotecas conservadas usando:

portageq list_preserved_libs /

Updating packages
* Calculating dependencies …
* Listing packages for installation

A TLS 1.2 and SSL 3.0 implementation for the GNU project (U) net-libs/gnutls-3.5.11 (0 KiB)

Would you like to merge these packages? (Yes/No):¿Desea combinar estos paquetes? (Sí / No):

Si preserve-libs no está habilitado en FEATURES, los usuarios deben ejecutar manualmente revdep-rebuild para detectar las dependencias de biblioteca rotas y reconstruir los paquetes apropiados.
Tenga en cuenta que las bibliotecas conservadas por preserve-libs (o alternativamente por la función preserve_old_lib de eutils.eclass) impiden la ruptura que de otro modo sería detectable por revdep-rebuild.
Por lo tanto, revdep-rebuild (sin argumentos especiales) no es útil para reconstruir los consumidores de las bibliotecas conservadas. En su lugar, si preserve-libs está habilitado, emerge le recomendará al usuario
ejecutar emerge @ preserved-rebuild cuando sea necesario. De forma alternativa, si preserve-libs no está habilitado y la función preserve_old_lib de eutils.eclass ha sido llamada por un ebuild para preservar una biblioteca,
el usuario recibirá un mensaje de ewarn como el siguiente:

* Old versions of installed libraries were detected on your system.
* In order to avoid breaking packages that depend on these old libs,
* the libraries are not being removed. You need to run revdep-rebuild
* in order to remove these old dependencies. If you do not have this
* helper program, simply emerge the ‘gentoolkit’ package.
*
* # revdep-rebuild --library ‘/lib/libfoo.so.1’ && rm ‘/lib/libfoo.so.1’

(PRECAUCIÓN): Otro método más directo es ir, con permisos administrativos, al txt que está en la ruta /var/lib/portage/preserved_libs_registry y borrar lo que nos esté dando problemas, luego guardamos el .txt


COMPROBAR ACTUALIZACIONES DEL SISTEMA - EMERGE-WEBRSYNC

Una de las primeras cosas que hago cuando enciendo el PC es comprobar si hay actualizaciones del sistema, en Gentoo esto podemos hacerlo con el siguiente comando:

$ emerge-webrsync
$ emerge --sync
$ emaint -A sync

Los tres comandos llevan a cabo la misma tarea, pero difieren en varios aspectos:

emerge --sync: Solo existe para propósito de compatibilidad, ya que los otros dos comandos son más modernos
emaint -A sync: emaint es una herramienta para realizar tareas de mantenimiento en el sistema relacionadas con los paquetes, también realiza comprobaciones de “salud”. Entre sus subcomandos está la opción sync,
que comprueba si hay actualizaciones para los paquetes instalados. La opción -A es para que sincronice todos los repositorios.

emerge-webrsync: Este es similar al anterior, pero descarga los datos en un tarball (archivos comprimidos tar), lo cual lo hará mucho más rápido que los dos anteriores, este es el comando que suelo usar.

Calcular ~ # emerge-webrsync
Obteniendo la instantánea más reciente …
* Fecha de la última instantánea: 20170516
*
* Sello de tiempo aproximado de la instantánea: 1494981900
* Hora local local actual: 1495010101
*
* La marca de hora local actual es más reciente que la marca de hora de la última
* Instantánea. Para forzar la sincronización, utilice la opción --revert o elimine
* El archivo de marca de tiempo ubicado en ‘/usr/portage/metadata/timestamp.x’.
Si nos da este problema seguimos la ruta y borramos el archivo timestamp.x

http://mirror.yandex.ru/gentoo-distfiles/

Actualizar el sistema

Sincronizados con el servidor, deberemos realizar la actualización en sí, en caso de existir. Para esta tarea yo suelo usar el siguiente comando:

$ emerge --update --deep --newuse -atv @world

Desglosemos cada parámetro:

–update: Actualiza el paquete a la mejor versión disponible.
–deep:: Obliga a que se consideren todas las dependencias de un paquete, en lugar de únicamente las dependencias directas. De este modo se actualizan librerías que no están listadas directamente en las dependencias de un paquete.
–newuse: En el caso de que se haya modificado la variable USE, no es necesaria de lo contrario, pero yo suelo ponerla.
-a (–ask): Pide confirmación antes de realizar la operación.
-t (–tree): Muestra los paquetes a actualizar e instalar en forma de árbol.
-v (–verbose): Muestra más información.

Eliminar un paquete con todas sus dependencias

Para eliminar por completo un paquete, con todas las dependencias:

$ emerge -atv --depclean paquete

Tras eliminar el paquete podemos ejecutar de nuevo:

$ emerge -atv --depclean

para eliminar las dependencias que tuviera el paquete desistalado, pero depclean no eliminará ningún paquete a no ser que todas las dependencias requeridas hayan sido resueltas, por tanto es necesario ejecutar el siguiente comando:

$ emerge --update --newuse --deep @world

En el caso de no haber actualizado la variable USE en nuestro sistema, podemos ahorrar tiempo con:

$ emerge --update --changed-use --deep @world

Buscar paquetes a instalar

Hay varias formas, se puede buscar:
Usando expresiones regulares

$ emerge -s “%^python$”

Esto buscará paquetes que se llamen exáctamente python, y por tanto solo hay uno:

[ Results for search key : %^python$ ]
Searching…

dev-lang/python
Latest version available: 3.4.3-r1
Latest version installed: 3.4.3-r1
Size of files: 14,096 KiB
Homepage: http://www.python.org/
Description: An interpreted, interactive, object-oriented programming language
License: PSF-2

[ Applications found : 1 ]

Buscar paquetes que contengan la palabra x

Para buscar todos los paquetes que contengan la palabra python:

$ emerge -s python

Tras ejecutar este comando, en mi caso aparecen 200 paquetes.
Buscar paquetes basándonos en su descripción

En lugar de buscar por el nombre del paquete, podemos buscar en su descripción:

$ emerge --searchdesc python

También se pueden usar expresiones regulares.
Instalar paquetes

Una vez encontrado el paquete que deaseamos instalar, prodecemos del siguiente modo:

$ emerge -atv paquete

GENTOOTOOLKIT > Equery

Equery es parte del paquete gentoolkit, el cual instala una serie de aplicaciones destinadas a la administración de Gentoo, para instalarlo basta con ejecutar:

$ emerge --ask app-portage/gentoolkit

Equery es una aplicación creada con el propósito de hacer tareas comunes en Portage más sencillas, veamos una lista de lo que puede hacer:

Gentoo package query tool
Usage: equery [global-options] module-name [module-options]

global options
-h, --help display this help message
-q, --quiet minimal output
-C, --no-color turn off colors
-N, --no-pipe turn off pipe detection
-V, --version display version info

modules (short name)
(b)elongs list what package FILES belong to
©hanges list changelog entries for ATOM
chec(k) verify checksums and timestamps for PKG
(d)epends list all packages directly depending on ATOM
dep(g)raph display a tree of all dependencies for PKG
(f)iles list all files installed by PKG
h(a)s list all packages for matching ENVIRONMENT data stored in /var/db/pkg
(h)asuse list all packages that have USE flag
ke(y)words display keywords for specified PKG
(l)ist list package matching PKG
(m)eta display metadata about PKG
(s)ize display total size of all files owned by PKG
(u)ses display USE flags for PKG
(w)hich print full path to ebuild for PKG

Si quisieramos ver el árbol de dependencias de firefox:

$ equery g firefox

Eclean

eclean es otra herramienta parte del paquete Gentoolkit, diseñada para limpiar el sistema del código fuente usado para compilar los paquetes y binarios creados durante el proceso de compilación.

Limpiar el código fuente de los paquetes

Tras instalar paquetes, el código fuente queda guardado junto con los objetos generados por si es necesario recompilar, si no los queremos mantener, es posible eliminarlos con estos comandos:

$ eclean --deep distfiles
$ eclean-dist

  • Building file list for distfiles cleaning…
  • Your distfiles directory was already clean.

eclean-dist es un alias de eclean distfiles, la opción --deep deja únicamente el código fuente necesario para una reinstalación.

Limpiar paquetes binarios

Los paquetes binarios son aquellos que no proporcionan código fuente, como por ejemplo el software privativo, o paquetes precompilados, para borrarlos basta ejecutar:

$ eclean --deep packages
$ eclean-pkg

Apps Recomendadas

Antes de usar Gentoo, utilizaba el comando df para ver el estado de los discos duros, un ejemplo:

$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda4 20G 7.9G 11G 44% /
tmpfs 1.2G 952K 1.2G 1% /run
dev 10M 0 10M 0% /dev
shm 5.9G 91M 5.8G 2% /dev/shm
cgroup_root 10M 0 10M 0% /sys/fs/cgroup
/dev/sda2 128M 16M 113M 12% /boot
/dev/sda5 87G 38G 45G 46% /home
/dev/sdb1 110G 11G 94G 11% /home/hkr/ssd2
none 5.9G 0 5.9G 0% /run/user/1000

Tras instalar Gentoo descubrí el paquete pydf, similar a df pero visualmente más atractivo, colorea el resultado y muestra una representación gráfica del porcentaje ocupado:

$ pydf -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda4 19G 8043M 10G 41.1 [##################################…] /
/dev/sda2 128M 15M 112M 12.0 [##########…] /boot
/dev/sda5 87G 38G 45G 43.4 [####################################…] /home
/dev/sdb1 110G 11G 94G 9.8 [########…] /home/h


https://wiki.gentoo.org/wiki/Portage

calculate ~ # eix-sync /etc/portage/repos.conf
eix-sync /usr/sbin/cl-core —method update —sync-only —skip-eix-update

emerge --search proxy

regenworld


emerge-webrsync using patches to minimize bandwidth
app-portage/emerge-delta-webrsync
calculate ~ # emerge-delta-webrsync
Looking for available base versions for a delta
Checking digest …
fetching patches
Fetching file snapshot-20170510-20170511.patch.bz2.md5sum …
Fetching file snapshot-20170510-20170511.patch.bz2.md5sum …
failed fetching snapshot-20170510-20170511.patch.bz2.md5sum
no patches found? up to date?
syncing with existing file
Syncing local tree …

calculate ~ # kdesu webrsync

kdesu qt5ct
qt5ct


INTERNET
ifconfig -a

PORTAGEQ

Portageq es una herramienta para consultar rápidamente la información de Portage. Es utilizado principalmente por los desarrolladores de Gentoo para determinar la información de configuración de Portage.
portageq

emerge -v mirrorselect
mirrorselect -i
emerge-websync -v

Una solución o truco es simplemente crear un alias que combinará los comandos emerge-webrsync y update-eix. bajo bash:
alias eix-webrsync=‘emerge-webrsync && update-eix’


NETWORKMANAGER es un software de gestión de red para Ethernet, WiFi, DSL, acceso telefónico, VPN, WiMAX, y las conexiones de red de banda ancha móvil.

ifconfig eth0
rc-update
Portage conoce el indicador USE global networkmanager para habilitar el soporte para NetworkManager en otros paquetes. Habilitar este indicador de USE hará que estos paquetes tiren en net-misc/networkmanager automáticamente:
euse -E networkmanager
Para instalar manualmente NetworkManager, si no se ha sacado en forma automática con el comando de arriba:
root #emerge --ask net-misc/networkmanager

Después de cambiar los parámetros USE ejecute el siguiente comando para actualizar el sistema para que los cambios tengan efecto:
emerge --ask --changed-use --deep @world

NetworkManager está cambiando considerablemente y su conjunto de características está moviendo lentamente de una herramienta orientada portátil a un servicio de gestión de red universal configurado utilizando
todo tipo de herramientas de nmcli través nmtui de herramientas GUI como nm-applet, nm-connection-editor, indicador de red de Gnome Shell , Gnome 3 centro de control, de plasma-nm de KDE, y más.

La manera más conveniente es añadir la superposición IXIT usando Layman.

root # layman -a ixit
A continuación, puede instalar la versión de NetworkManager deseada.

root #emerge --ask --autounmask-write =net-misc/networkmanager-9999

Si algo va mal, el contacto del usuario: Pavlix. Esos son los ebuilds en vivo y por lo tanto en ocasiones pueden necesitar ponerse al día. También estoy considerando iniciar una capa separada sólo para
la creación de redes herramientas relacionadas, que me haga saber si eso le ayudaría.

Molecule es una herramienta de compilación que puede construir, reconstruir o ampliar Sabayon Linux o Gentoo Linux OS libera plantillas OpenVZ y tarballs stage4. No contiene ningún bit específico del gestor de paquetes y
puede funcionar con tu favorito. La filosofía de Molécula es simple: facilidad de uso y modularidad. Al igual que Catalyst, Molecule utiliza su propio formato de archivo .spec y aprender a escribir uno es sólo ejemplos de lectura
proporcionados en http://git.sabayon.org/molecules.git/. Usted puede ajustar su imagen ISO o crear uno fuera de su chroot (stage4) en ningún momento. Molecule utiliza un sistema basado en plugins para implementar soporte
para nuevos patrones de ejecución (como ISO a ISO, ISO a Tar, Chroot a ISO, etc.). Molecule nace dentro de Sabayon y se utiliza en su ciclo de lanzamiento para las imágenes ISO diarias (en vivo) y versionadas. Los desarrolladores
de moléculas están buscando ayuda para escribir documentos de usuario y HOWTOs.

Si quieres hacer tu propio Sabayon Linux personalizado, esta es la herramienta que necesitas. Primero necesita instalar el paquete dev-util / molecule vía entropía. Usted puede seguir junto con el desarrollo de la molécula a través de
nuestro git molecule.git También puede encontrar archivos de muestra para ver a través del repo git.


SUID

calculate ~ # sudo find / -perm -4000


GENKERNEL

genkernel es una herramienta creada por Gentoo que se utiliza para automatizar el proceso de construcción del núcleo e initramfs. Algunas de las características generales incluyen:

Configurar los ficheros fuente del núcleo.
Construir el núcleo comprimido bzImage y copiarlo a /boot.
Crear un initramfs y copiarlo a /boot.
Crear enlaces simbólicos en /boot.
Añadir código del usuario al initramfs tal como ficheros de cifrado, imágenes de inicio (spla.github.io/sh), módulos añadidos y demás.
Comprimir el initramfs.
Configurar el Gestor de arranque para arrancar el núcleo e initramfs recientemente creados.

Instalación:
root # emerge --ask sys-kernel/genkernel

**+
INSTALACIÓN Y ACTUALIZACIÓN DE UN NUEVO NUCLEO / KERNEL

EMERGE
Instalar sys-kernel/gentoo-sources:
root # emerge --ask sys-kernel/gentoo-sources

Buscar todas las alternativas.
Una lista completa de las fuentes del núcleo con descripciones cortas se puede encontrar buscando con emerge:
root # emerge --search sources

  • sys-kernel/calculate-sources
    Latest version available: 4.10.14
    Latest version installed: 4.9.26
    Size of files: 92303 KiB
    Homepage: http://www.calculate-linux.org
    Description: Calculate Linux kernel image
    License: GPL-2 freedist

    [ Applications found : 22 ]

La versión del kernel en sys-kernel/calculate-sources kernel está más actualizada que en sys-kernel/gentoo-sources. La versión más actualizada está en sys-kernel/vanilla-sources.

root # emerge --ask sys-kernel/calculate-sources
root # emerge --ask sys-kernel/aufs-sources
root # emerge --ask sys-kernel/vanilla-sources

root # emerge --ask sys-kernel/calculate-sources-4.10.14
Local copy of remote index is up-to-date and will be used.
!!! ‘sys-kernel/calculate-sources-4.10.14’ is not a valid package atom.
!!! Please check ebuild(5) for full details.

[Masked]
root # emerge --ask sys-kernel/vanilla-sources

Local copy of remote index is up-to-date and will be used.
These are the packages that would be merged, in order:
Calculating dependencies… done!
[ebuild N ~] sys-kernel/vanilla-sources-4.11.1 USE="-build -symlink"
The following keyword changes are necessary to proceed:
(see “package.accept_keywords” in the portage(5) man page for more details)
# required by sys-kernel/vanilla-sources (argument)
=sys-kernel/vanilla-sources-4.11.1 ~amd64
Would you like to add these changes to your config files? [Yes/No] yes
Autounmask changes successfully written.

  • IMPORTANT: config file ‘/etc/portage/package.keywords/custom’ needs updating.
  • See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
  • sections of the emerge man page to learn how to update config files.

Con permisos administrativos vamos al archivo llamado custom siguiendo la ruta /etc/portage/package.accept_keywords y pegamos (para este caso)y guardamos:
# required by sys-kernel/vanilla-sources (argument)
=sys-kernel/vanilla-sources-4.11.1 ~amd64
Ponemos otra vez:
emerge --ask sys-kernel/vanilla-sources

[Masked]
root # emerge --ask sys-kernel/aufs-sources

* IMPORTANT: config file ‘/etc/portage/package.keywords/custom’ needs updating.
* See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
* sections of the emerge man page to learn how to update config files.

The following keyword changes are necessary to proceed:
(see “package.accept_keywords” in the portage(5) man page for more details)
# required by sys-kernel/aufs-sources (argument)
=sys-kernel/aufs-sources-4.10.15 ~amd64

AVISO: De momento, los drivers Nvidia no soportan el kernel de Linux v.4.11.1

**

La actualización del núcleo puede ser una buena idea cuando se instalan los fuentes. A veces se instalan los fuentes cuando se actualiza el sistema lanzando la siguiente orden:
root # emerge --ask --update --deep --with-bdeps=y --newuse @world

Desde luego se pueden instalar directamente utilizando la siguiente orden (reemplazar gentoo-sources por hardened-sources cuando se utilice un perfil hardened):
root # emerge --ask --update --deep --with-bdeps=y --newuse sys-kernel/gentoo-sources
root # emerge --ask --update --deep --with-bdeps=y --newuse sys-kernel/calculate-sources
Otras opciones:
emerge --ask --update --deep --with-bdeps=y --newuse sys-kernel/vanilla-sources
emerge --ask --update --deep --with-bdeps=y --newuse sys-kernel/aufs-sources

Al instalar unas nuevas fuentes del núcleo, no se le ofrece al usuario un nuevo núcleo. IMPORTANTE: Es necesario INSTALAR y CONSTRUIR un nuevo núcleo a partir de las nuevas fuentes y REINICIAR el sistema para correr el nuevo núcleo.
Construir un nuevo núcleo a partir de las nuevas fuentes es básicamente el mismo proceso que el construir un nuevo núcleo cuando se instala el sistema. La diferencia es que se puede partir de la configuración
del anterior núcleo para crear la configuración del nuevo. El utilizar la antigua configuración evita que el usuario tenga que recorrer de nuevo todas las opciones del núcleo (como con make menuconfig).

KERNELS DISPONIBLES - SELECCIÓN
Para definir el enlace simbólico con eselect:

calculate linux # eselect kernel list

Esto muestra las fuentes del núcleo disponibles. El asterisco indica las fuentes elegidas.
Para cambiar las fuentes del núcleo, por ejemplo a la segunda entrada, se debe hacer lo siguiente:
root # eselect kernel set 2
(Gentoo: Para la mayoría de los usuarios, recomendamos el núcleo sys-kernel/gentoo-sources. Los fuentes gentoo-sources están basados en un núcleo Linux 4.x, ligeramente parcheado para corregir problemas de seguridad,
errores y para incrementar la compatibilidad con las arquitecturas de sistema menos comunes).
cl-update (Mirar eselect kernel list si no ha cambiado la selección del kernel). (ok Nvidia y Broadcom)

Construcción.
Importante
Cuando se instalan módulos del núcleo externos (como nvidia o zfs), puede que se necesite lanzar make modules_prepare tal y como se describe en Preparar “Reinstalar módulos externos del núcleo” antes de construir el núcleo.
Algunos módulos no se pueden instalar o preparar antes de construir el núcleo.
Importante
No olvide reconfigurar el cargador de arranque para tener en cuenta los nuevos nombres de los ficheros del núcleo y también reconstruir el initramfs si se utilizó alguno.

Preparar “REINSTALAR MÓDULOS EXTERNOS DEL NÚCLEO”:

  • # cd /usr/src/linux
  • # make oldconfig
    Support for Intel® DH895xCC (CRYPTO_DEV_QAT_DH895xCC) [M/n/y/?] m
    Support for Intel® C3XXX (CRYPTO_DEV_QAT_C3XXX) [M/n/y/?] m
    Support for Intel® C62X (CRYPTO_DEV_QAT_C62X) [M/n/y/?] m
    Support for Intel® DH895xCC Virtual Function (CRYPTO_DEV_QAT_DH895xCCVF) [M/n/y/?] m
    Support for Intel® C3XXX Virtual Function (CRYPTO_DEV_QAT_C3XXXVF) [M/n/y/?] m
    Support for Intel® C62X Virtual Function (CRYPTO_DEV_QAT_C62XVF) [M/n/y/?] m
    Chelsio Crypto Co-processor Driver (CRYPTO_DEV_CHELSIO) [M/n/?] m
    VirtIO crypto driver (CRYPTO_DEV_VIRTIO) [M/n/y/?] (NEW)
    … (Muchísimas opciones)
  • # make modules_prepare

Explicación:
Cualquier módulo externo del núcleo como los módulos binarios del núcleo, necesitan reconstruirse cada vez que se actualiza el núcleo. Si todavía no ha construido su núcleo deberá PREPARARSE en
primer lugar para la construcción de los módulos externos del núcleo: root # make modules_prepare

(Los paquetes que contienen módulos se pueden reconstruir utilizando el conjunto module-rebuild: root # emerge --askmodule-rebuild )
Ejemplo:
Local copy of remote index is up-to-date and will be used.
These are the packages that would be merged, in order:
Calculating dependencies… done!
[ebuild R ] x11-drivers/nvidia-drivers-378.13
[ebuild R ] net-wireless/broadcom-sta-6.30.223.271-r4

  • Gentoo soporta kernels que son compatibles con NVIDIA
    * Que se limitan a los siguientes núcleos:
    * <Sys-kernel / gentoo-sources-4.10

    • <Sys-kernel / vanilla-sources-4.10

    • Usted es libre de utilizar epatch_user para proporcionar lo que sea

    • Apoyo que considere apropiado, pero no recibirá

    • Apoyo como resultado de esos cambios.

    • Mensajes para el paquete x11-drivers / nvidia-drivers-378.13:

    • Estas fuentes aún no han sido preparadas.

    • No podemos construir contra un árbol desprevenido.

    • Para resolver esto, escriba lo siguiente:

    • cd /usr/src/linux

    • make oldconfig

    • make modules_prepare

    CONFIGURAR EL NUEVO NÚCLEO
    Para utilizar la configuración del núcleo antiguo en el nuevo nucleo, se necesita convertir. La conversión se puede realizar bien usando make silentoldconfig o make olddefconfig. ¡Utilice una u otra pero no ambas!.

    make silentoldconfig
    La siguiente configuración es igual que la configuración basada en texto con make config. Para nuevas opciones de configuración, se pregunta al usuario para que decida la opción. Por ejemplo:
    calculate ~ # cd /usr/src/linux
    calculate linux # make silentoldconfig
    Anticipatory I/O scheduler (IOSCHED_AS) [Y/n/m/?] (NEW)
    Lamentablemente, make silentoldconfig no muestra, al lado de la ayuda, más información de cada opción, como el contexto, de modo que a veces es difícil elegir la respuesta adecuada. En este caso,
    la mejor forma de proceder es recordar el nombre de la opción y revisarla más tarde a través de alguna de las herramientas gráficas de configuración del núcleo.

    MAKE OLDDEFCONFIG
    Si se desea ajustar todas la opciones nuevas de configuración a sus valores recomendados (esto es, por defecto) utilizar make olddefconfig:
    calculate ~ # cd /usr/src/linux
    calculate linux # make olddefconfig

    calculate linux # make olddefconfig
    HOSTCC scripts/basic/fixdep
    HOSTCC scripts/kconfig/conf.o
    SHIPPED scripts/kconfig/zconf.tab.c
    SHIPPED scripts/kconfig/zconf.lex.c
    SHIPPED scripts/kconfig/zconf.hash.c
    HOSTCC scripts/kconfig/zconf.tab.o
    HOSTLD scripts/kconfig/conf
    scripts/kconfig/conf --olddefconfig Kconfig

    using defaults found in /boot/config-4.9.26-calculate

    /boot/config-4.9.26-calculate:903:warning: symbol value ‘m’ invalid for NF_CT_PROTO_DCCP

    cd /usr/src/linux
    make nconfig
    Pulsar ESC y salvar

    CONSTRUCCIÓN
    Después de haber realizado correctamente la configuración, compile el núcleo:
    root # make -j9 (octacore)
    root # make
    En sistemas con procesadores con varios núcleos (cores), se debe intentar conseguir que trabajen todos. Añada la opción -j(<NÚMERO_DE_NÚCLEOS> + 1). Por ejemplo, un procesador de doble núcleo contiene dos núcleos lógicos más uno (2 + 1):
    root # make -j3
    Configuración
    Si se activaron controladores como módulos, se deberían instalar:
    root # make modules_install
    Los módulos se copiarán a un directorio de /lib/modules.
    Ej:

    INSTALL /lib/firmware/acenic/tg2.bin
    INSTALL /lib/firmware/adaptec/starfire_rx.bin
    INSTALL /lib/firmware/adaptec/starfire_tx.bin
    INSTALL /lib/firmware/bnx2x/bnx2x-e1-6.2.9.0.fw
    INSTALL /lib/firmware/bnx2x/bnx2x-e1h-6.2.9.0.fw
    INSTALL /lib/firmware/bnx2x/bnx2x-e2-6.2.9.0.fw
    INSTALL /lib/firmware/bnx2/bnx2-mips-09-6.2.1a.fw
    INSTALL /lib/firmware/bnx2/bnx2-rv2p-09-6.0.17.fw
    INSTALL /lib/firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw
    INSTALL /lib/firmware/bnx2/bnx2-mips-06-6.2.1.fw

Para instalar el núcleo:
root # make install
Esta orden lanza /sbin/installkernel, que es parte del paquete sys-apps/debianutils. El nuevo núcleo se instala en /boot/vmlinuz-{versión}. Si ya existe un enlace simbólico /boot/vmlinuz éste se refresca haciendo un enlace simbólico
desde /boot/vmlinuz al nuevo núcleo y el núcleo previamente instalado estará disponible como /boot/vmlinuz.old. (Página del manual de installkernel). Ocurre lo mismo para los ficheros config y System.map. Estos enlaces simbólicos son muy útiles
ya que apunta siempre al último núcleo que se ha construido sin necesidad de cambiar la ruta a los ficheros (por ejemplo, se pueden utilizar en la configuración del cargador de arranque).
Ej:
sh ./arch/x86/boot/install.sh 4.11.1 arch/x86/boot/bzImage
System.map “/boot”

Ahora REINSTALAMOS MÓDULOS EXTERNOS DEL NÚCLEO
emerge --ask @module-rebuild
Ej:
Local copy of remote index is up-to-date and will be used.
These are the packages that would be merged, in order:
Calculating dependencies… done!
[ebuild R ] x11-drivers/nvidia-drivers-378.13
[ebuild R ] net-wireless/broadcom-sta-6.30.223.271-r4

**+
DRACUT
Dracut es una infraestructura initramfs y tiene como objetivo tener lo menos posible codificado en los initramfs.
Antes de poder utilizar las imágenes generadas por dracut, su kernel debe incluir el soporte de initramfs. El ebuild le advertirá si su kernel no tiene las opciones requeridas.
Algunos módulos dracut también requieren dependencias adicionales para funcionar. Una lista de dependencias opcionales aparece al final de la instalación. La variable DRACUT_MODULES en make.conf ya no se utiliza.
root # emerge --ask sys-kernel/dracut
Creación de una imagen initramfs
Imágenes predeterminadas
Una vez que haya instalado dracut, puede usarlo para crear una imagen initramfs. La forma más sencilla de hacerlo es simplemente correr:
root # mount /boot
root # dracut
La imagen initramfs creada de esta manera es una imagen genérica, que incluirá todos los módulos instalados y herramientas del sistema que puede encontrar, adecuados para arrancar una variedad de máquinas.
Si está produciendo un initramfs para una sola máquina, puede especificar que dracut debe pasar al modo host-only:
root # dracut --hostonly
La imagen producida contendrá sólo aquellos elementos utilizados por la máquina local para arrancar. Ciertos módulos se comportan de manera diferente en el modo host-only. El módulo kernel-modules, por ejemplo,
sólo incluirá las herramientas y módulos utilizados por el sistema de archivos rootfs actual, y el módulo i18n instalará las fuentes y los mapas de claves para la máquina local. De lo contrario, se incluirían todos los sistemas de archivos disponibles,
fuentes, etc. Puede establecer el modo hostonly como predeterminado en /etc/dracut.conf.

De forma predeterminada, dracut producirá una imagen adecuada para arrancar el kernel actualmente activo; Se extraerá los módulos del kernel necesarios para ese kernel, etc.
La imagen se escribirá en un archivo llamado / boot / initramfs- .img. Puede anular ambas opciones especificando un nuevo nombre de archivo y una versión del kernel en la línea de comandos, en ese orden.
Ambos parámetros son opcionales, pero si desea sobrescribir la versión del kernel y mantener el nombre de archivo predeterminado debe pasar una cadena vacía de marcador de posición como el primer parámetro:
root # dracut --hostonly ‘’ 3.2.5-hardened

**+

#! ADVERTENCIA: Los siguientes ajustes dependen de la versión del kernel (poner su versión del núcleo!)
dracut -fH --xz --kver=4.9.17-calculate /boot/initramfs-4.9.17-calculate.img
dracut -fH --xz --kver=4.10.15 /boot/initramfs-4.10.15.img
dracut -H -kver 4.10.15-open --force
Ej:

calculate ~ # dracut -H -kver 4.10.15-open --force
dracut: Executing: /usr/bin/dracut -H -kver 4.10.15-open --force
dracut: dracut module ‘bootchart’ will not be installed, because command ‘/sbin/bootchartd’ could not be found!
dracut: dracut module ‘dash’ will not be installed, because command ‘/bin/dash’ could not be found!
dracut: dracut module ‘plymouth’ will not be installed, because it’s in the list to be omitted!
dracut: dracut module ‘multipath’ will not be installed, because it’s in the list to be omitted!
dracut: dracut module ‘iscsi’ will not be installed, because command ‘iscsistart’ could not be found!
dracut: dracut module ‘iscsi’ will not be installed, because command ‘iscsi-iname’ could not be found!
dracut: dracut module ‘biosdevname’ will not be installed, because it’s in the list to be omitted!

cl-setup-boot
* The boot parameters are being configured …
* Updating icon cache
* Updating icon cache
* Creating Host-Only initramfs was skipped
* Configuring the grub
* Updating icon cache
* Installing the bootloader … [ ok ]
* Changing the I/O scheduler … [ ok ]
* Boot parameters configured!

Cada vez que se instala un nuevo kernel, GRUB2 debe reconfigurarse para reconocerlo. Esto se puede hacer usando grub-mkconfig, como se muestra a continuación, o puede hacerse manualmente.

calculate ~ # grub-mkconfig -o /boot/grub/grub.cfg
Generando un fichero de configuración de grub…
Encontrado fondo de pantalla: /boot/grub/grub-calculate.png
Encontrada imagen de linux: /boot/vmlinuz-4.11.1
Encontrada imagen de linux: /boot/vmlinuz-4.9.28-calculate
Encontrada imagen de memoria inicial: /boot/initramfs-4.9.28-calculate.img
Encontrada imagen de linux: /boot/vmlinuz-4.9.28-SafeMode-calculate
Encontrada imagen de memoria inicial: /boot/initramfs-4.9.28-SafeMode-calculate.img
Encontrada imagen de linux: /boot/vmlinuz-4.9.26-calculate
Encontrada imagen de memoria inicial: /boot/initramfs-4.9.26-calculate.img
Encontrada imagen de linux: /boot/vmlinuz-4.9.26-calculate.old
Encontrada imagen de memoria inicial: /boot/initramfs-4.9.26-calculate.img
Encontrada imagen de linux: /boot/vmlinuz-4.9.26-SafeMode-calculate
Encontrada imagen de memoria inicial: /boot/initramfs-4.9.26-SafeMode-calculate.img
/run/lvm/lvmetad.socket: connect failed: No existe el fichero o el directorio
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
Encontrado Arch Linux (rolling) en /dev/sde3
Found memtest image: /boot/memtest86plus/memtest
hecho

Tenga en cuenta que GRUB2 sólo necesita ser reconfigurado, no reinstalado en el Boot Record (MBR) de la unidad de arranque. Por otro lado, cuando se ha actualizado GRUB2 sí que tiene que ser reinstalado en la unidad de arranque,
pero por lo general no necesita ser reconfigurado.

cl-update

Eliminación de fuentes del núcleo

Después de instalar un nuevo kernel y si funciona satisfactoriamente, el núcleo antiguo puede ser eliminado. Para eliminar los orígenes antiguos del kernel, se puede usar la opción --depclean de emerge (forma corta -c) para eliminar
todas las versiones viejas o no utilizadas de un paquete ranurado, por ejemplo para sys-kernel/gentoo-sources.
root # emerge --ask --depclean gentoo-sources
calculate ~ # emerge --ask --depclean vanilla-sources
Asegúrese de verificar que no está eliminando los orígenes del kernel que se está ejecutando actualmente (consulte el artículo de actualización del núcleo sobre cómo actualizar).

Proteger las fuentes del kernel

Si se han fusionado fuentes de kernel más nuevas y se ejecuta --depclean antes de cambiar a las fuentes más recientes, se eliminarán las fuentes actuales. Pero si desea quedarse con las fuentes actuales, esta eliminación no se desea,
ya que puede necesitar las fuentes, por ejemplo para actualizar módulos externos del kernel. Por lo tanto, es una buena práctica agregar la versión específica del kernel a su archivo mundial para protegerla de las operaciones de --depclean.
root # emerge --ask --noreplace gentoo-sources:3.3.8

Tenga en cuenta la notación de ranura, con dos puntos en lugar de un guión. Cada versión del kernel es su propia ranura.

Eliminar las sobras del núcleo
Utilizando eclean-kernel
App-admin / eclean-kernel es una herramienta sencilla para la limpieza/eliminación de núcleos antiguos. Elimina tanto los archivos de kernel construidos como los directorios de compilación si ya no son referencia por ningún kernel preservado.
Por ejemplo, para mantener tres núcleos más recientes alrededor:
root # eclean-kernel -n 3