# Actualizar sistema omitiendo aplicaciones

## fredvin27

Hola estuve leyendo sobre la variable USE y modifique sus valores, desde la vez q instale gentoo, ahora quiero actualizar mi sistema con emerge -u --deep --newuse world pero mi problema surge porq aparece q es necesario instalar evolution y epiphany, pero yo no los ocupo y no quiero q se instalen, probe agregando los paquetes al archivo package.mask pero me marca error ya que gnome depende de esos paquetes, no hay alguna forma de excluir esos paquetes para q cuando actualize mi sistema no tenga q instalarlos y posteriormente desinstalarlos??

----------

## i92guboj

 *fredvin27 wrote:*   

> Hola estuve leyendo sobre la variable USE y modifique sus valores, desde la vez q instale gentoo, ahora quiero actualizar mi sistema con emerge -u --deep --newuse world pero mi problema surge porq aparece q es necesario instalar evolution y epiphany, pero yo no los ocupo y no quiero q se instalen, probe agregando los paquetes al archivo package.mask pero me marca error ya que gnome depende de esos paquetes, no hay alguna forma de excluir esos paquetes para q cuando actualize mi sistema no tenga q instalarlos y posteriormente desinstalarlos??

 

No entiendes como funciona esto.

Si el paquete B se instala porque es dependencia de otro paquete A, significa que A necesita a B. De la misma forma que un coche necesita ruedas. Guste o no guste.

La forma correcta de hacerlo no es como tú haces, porque básicamente estás rompiendo tu instalación cada vez que desinstalas una dependencia de otro paquete que esté instalado.

Primero tienes que ver qué paquetes en tu sistema dependen del paquete que tú no quieres instalar. Para ello puedes usar "equery d evolution", por ejemplo. Equery es parte de gentoolkit, así que emérgelo si no lo tienes. 

En segundo lugar, muchas dependencias se pueden quitar de forma correcta, no mutilando tu sistema, usando las use flags. Por ejemplo, evolution seguramente pueda quitarse como dependencia de muchos paquetes usando USE="-eds". Así que añade dicha flag a tu make.conf. En cuanto a epiphany, creo que gnome depende en él, aunque no estoy seguro. En cualquier caso, el camino por el que ibas no es el correcto.

Usa equery para ver las dependencias de los paquetes que quieras eliminar, y luego postead los resultados y pregunta si tienes dudas.

EDIT: En cualquier caso, y por si no lo dije suficientemente claro, USE="-eds" no te asegura que evolution no se vaya a instalar. Ojo, si algún paquete lo necesita forzósamente, se instalará. De la misma forma que es imposible instalar gnome sin gtk o kde sin qt. Los use flags solo quitan el soporte cuando es opcional en un paquete (y si el ebuild ha sido diseñado para dicho propósito). De cualquier otro modo, dicho use no tendrá valor alguno.

----------

## elKano

En realidad, y aunque i92guboj tiene toda la razón, en este caso hay un pequeño detalle: gnome no es un paquete normal, es un metapaquete.

Si instalas el metapaquete 'gnome', estás instalando el escritorio gnome completo.

Es posible que puedas instalar gnome caso por caso, eligiendo los componentes que te interesen; o puedes instalar todo el bloque gracias al metapaquete en cuestión.

Si estás 100% seguro de que ningún otro paquete requiere evolution o epiphany (equery es tu amigo) supongo que podrías utilizar el atajo del 'package.provided' (indica a portage que tú provees el paquete, asi que no se preocupa por verificar la dependencia) y el metapaquete. No es aconsejable, de todos modos.

----------

## i92guboj

 *elKano wrote:*   

> En realidad, y aunque i92guboj tiene toda la razón, en este caso hay un pequeño detalle: gnome no es un paquete normal, es un metapaquete.
> 
> Si instalas el metapaquete 'gnome', estás instalando el escritorio gnome completo.
> 
> Es posible que puedas instalar gnome caso por caso, eligiendo los componentes que te interesen; o puedes instalar todo el bloque gracias al metapaquete en cuestión.
> ...

 

Eso no cambia nada. El concepto de metapaquete se basa precisamente -y más que en ningún caso- en las dependencias. Dicho metapaquete funciona haciendolo depender en todos los paquetes de gnome, y así dichos paquetes se instalan como dependencias. Si ese es el caso, entonces hay que desinstalarlo o reinstalarlo con -eds. El procedimiento es el mismo, con indiferencia de que sea un metapaquete o un paquete "normal" entre comillas.

Por cierto, package.provided no es mejor que el método usado por nuestro amigo originalmente si se usa de esa forma que dices.

package.provided está usado para casos en los que tu mantienes un paquete manualmente fuera de portage. De esa forma le dices a portage que el paquete está instalado, y que no se preocupe de instalarlo él. Por ejemplo, esto es útil si quieres mantener tú misno el kernel, como hace mucha gente. Pero no para tapar huecos que se dejan en el sistema. Eso es el camino a una reinstalación segura si toca a algún paquete importante (y si te acostumbras a hacer cosas así, al final pasará).

----------

## ekz

También añade las uses -epiphany y firefox a tu make.conf.

Y el ebuild no gestiona evolution por medio de alguna use.. los metapaquetes si que deberían tener más uses (en mi opinión)

```
RDEPEND="

        >=dev-libs/glib-2.12.12

        >=x11-libs/gtk+-2.10.12

        >=dev-libs/atk-1.18.0

        >=x11-libs/pango-1.16.4

        >=dev-libs/libxml2-2.6.27

        >=dev-libs/libxslt-1.1.20

        >=media-libs/audiofile-0.2.6-r1

        >=media-sound/esound-0.2.38

        >=x11-libs/libxklavier-3.2

        >=media-libs/libart_lgpl-2.3.19

        >=dev-libs/libIDL-0.8.8

        >=gnome-base/orbit-2.14.7

        >=x11-libs/libwnck-2.18.2

        >=x11-wm/metacity-2.18.3

        >=gnome-base/gnome-keyring-0.8.1

        >=gnome-extra/gnome-keyring-manager-2.18.0

        >=gnome-base/gnome-vfs-2.18.1

        >=gnome-base/gnome-mime-data-2.4.3

        >=gnome-base/gconf-2.18.0.1

        >=net-libs/libsoup-2.2.100

        >=gnome-base/libbonobo-2.18.0

        >=gnome-base/libbonoboui-2.18.0

        >=gnome-base/libgnome-2.18.0

        >=gnome-base/libgnomeui-2.18.1

        >=gnome-base/libgnomecanvas-2.14.0

        >=gnome-base/libglade-2.6.0

        >=gnome-extra/bug-buddy-2.18.1

        >=gnome-base/control-center-2.18.1

        >=gnome-base/eel-2.18.0.1

        >=gnome-base/nautilus-2.18.1

        >=media-libs/gstreamer-0.10.8

        >=media-libs/gst-plugins-base-0.10.7

        >=media-libs/gst-plugins-good-0.10.3

        >=gnome-extra/gnome-media-2.18.0

        >=media-sound/sound-juicer-2.16.4

        >=media-video/totem-2.18.2

        >=media-gfx/eog-2.18.2

        >=www-client/epiphany-2.18.2

        >=app-arch/file-roller-2.18.3

        >=gnome-extra/gcalctool-5.9.14

        >=gnome-extra/gconf-editor-2.18.0

        >=gnome-base/gdm-2.18.2

        >=x11-libs/gtksourceview-1.8.5

        >=app-editors/gedit-2.18.1

        >=app-text/evince-0.8.1

        >=gnome-base/gnome-desktop-2.18.2

        >=gnome-base/gnome-session-2.18.2

        >=gnome-base/gnome-applets-2.18.0

        >=gnome-base/gnome-panel-2.18.2

        >=gnome-base/gnome-menus-2.18.2

        >=x11-themes/gnome-icon-theme-2.18.0

        >=x11-themes/gnome-themes-2.18.1

        >=gnome-extra/deskbar-applet-2.18.1

        >=x11-themes/gtk-engines-2.10.2

        >=x11-themes/gnome-backgrounds-2.16.2

        >=x11-libs/vte-0.16.4

        >=x11-terms/gnome-terminal-2.18.0

        >=gnome-extra/gucharmap-1.10.0

        >=gnome-base/libgnomeprint-2.18.0

        >=gnome-base/libgnomeprintui-2.18.0

        >=gnome-extra/gnome-utils-2.18.1

        >=gnome-extra/gnome-games-2.18.2

        >=gnome-base/librsvg-2.16.1

        >=gnome-extra/gnome-system-monitor-2.18.2

        >=gnome-base/libgtop-2.14.9

        >=x11-libs/startup-notification-0.9

        >=gnome-extra/gnome2-user-docs-2.18.1

        >=gnome-extra/yelp-2.18.1

        >=gnome-extra/zenity-2.18.2

        >=net-analyzer/gnome-netstatus-2.12.1

        >=net-analyzer/gnome-nettool-2.18.0

        cdr? ( >=gnome-extra/nautilus-cd-burner-2.18.2 )

        dvdr? ( >=gnome-extra/nautilus-cd-burner-2.18.2 )

        >=gnome-extra/gtkhtml-3.14.2

        >=mail-client/evolution-2.10.2

        >=gnome-extra/evolution-data-server-1.10.2

        >=gnome-extra/evolution-webcal-2.10.0

        >=net-misc/vino-2.18.1

        >=app-admin/gnome-system-tools-2.14.0

        >=app-admin/system-tools-backends-1.4.2

        >=gnome-extra/fast-user-switch-applet-2.18.0

        >=app-admin/pessulus-2.16.2

        ldap? (

                >=app-admin/sabayon-2.18.1

                >=net-im/ekiga-2.0.7

                )

        >=gnome-extra/gnome-screensaver-2.18.2

        >=x11-misc/alacarte-0.11.3

        >=gnome-extra/gnome-power-manager-2.18.3

        >=gnome-base/gnome-volume-manager-2.17.0

        accessibility? (

                >=gnome-extra/libgail-gnome-1.18.0

                >=gnome-base/gail-1.18.0

                >=gnome-extra/at-spi-1.18.1

                >=app-accessibility/dasher-4.4.1

                >=app-accessibility/gnome-mag-0.14.3

                >=app-accessibility/gnome-speech-0.4.11

                >=app-accessibility/gok-1.2.5

                >=app-accessibility/orca-2.18.1 )

        cups? ( >=net-print/gnome-cups-manager-0.31-r2 )

        mono? ( >=app-misc/tomboy-0.6.3 )"

```

Yo también pasé por lo de instalarme "gnome a medias", sin evolution, eog, epiphany, ni totem, ni... (con alternativas mejores a esos programas, partiendo por mplayer) pero yo modificaba el ebuild de gnome para lograr ese objetivo. (Ahora estoy muy contento con XFCE + algunas Gnome apps)

SAludos

----------

## fredvin27

mmm....que desalentador, pero creo que tiene mucho fundamento lo que dicen, en conclusion no puedo actualizar el sistema, q incluye alguna q otra actualizacion de gnome sin tener q [re]instalar evolution y eipihany....gracias y revisare mas el uso de portage en los doc's online de gentoo, y tendre q dejar q emerge actualize el sistema completo, creo q no hay de otra :S

----------

## i92guboj

 *ekz wrote:*   

> También añade las uses -epiphany y firefox a tu make.conf.
> 
> Y el ebuild no gestiona evolution por medio de alguna use.. los metapaquetes si que deberían tener más uses (en mi opinión)
> 
> 

 

Puede que sí, puede que no.

En mi opinión, no es necesario. Si quieres usar el metapaquete, es porque quieres instalarlo todo. Si no es así, entonces instala solamente los paquetes que realmente necesites, y pasa del metapaquete. También está la posibilidad de usar gnome-light (no tengo ni idea de qué instala o qué no instala ese, pero se supone que tendrá menos dependencias que gnome).

Si por mi fuera, cogería todos los metapaquetes y los borraría del mapa, porque crean más confusión que otra cosa. La gente no entiende la diferencia entre usar metapaquetes o emerger paquetes sueltos, y surgen estas confusiones. Si se usa el metapaquete entonces estamos diciendo que lo queremos todo. Y todo es todo, no todo menos esto. Para eso ya tenemos el sistema de paquetes sueltos.

----------

## i92guboj

 *fredvin27 wrote:*   

> mmm....que desalentador, pero creo que tiene mucho fundamento lo que dicen, en conclusion no puedo actualizar el sistema, q incluye alguna q otra actualizacion de gnome sin tener q [re]instalar evolution y eipihany....gracias y revisare mas el uso de portage en los doc's online de gentoo, y tendre q dejar q emerge actualize el sistema completo, creo q no hay de otra :S

 

emerge -C gnome, y luego emerge gnome-light, o, alternativemente, emerge -C gnome y luego emerge las partes de gnome que si quieres. Nada más que emergiendo gnome-panel ya tendrías que tener de dependencia más de la mitad de lo que tienes instalado para gnome.

Para el resto, usa emerge --ask --depclean, revisa la lista de paquetes que se van a desinstalar. Si hay algunos que necesitas, aborta y emérgelos o añádelos a /var/lib/portage/world. De este modo, depclean no intentará desinstalarlos más. Luego repite el depclean de nuevo, cuando en la lista no salgan paquetes conocidos que quieres conservar, le dices que proceda, y así desinstalará la basura que no necesitas, mientras conservas las piezas de gnome que si quieres.

En un sistema bien configurado, revdep-rebuild no querrá reconstruir nada, y emerge --depclean no arrojará resultados tampoco. En cualquier otro caso, tu sistema no está 100% correcto, como pasará si desinstalas paquetes a mano siéndo éstos dependencias de otros instalados.

----------

## kropotkin

algún tiempo atras, pase substituí paquetes como por ejemplo kdenetwork kdeutils kdepim por los -meta

ahora me gustaría eliminar estos paquetes meta para poder quitar paquetes que realmente no ocupo como por ejemplo kfloppy de kdeutils.

la pregunta es. puedo de alguna forma meter en world paquetes como por ejemplo kcalc que es de kdeutils-meta para que después de eliminar kdeutils-meta al hacer un "emerge --deepclean" no me intente eliminar kcalc ??..

Saludos.

----------

## i92guboj

 *kropotkin wrote:*   

> algún tiempo atras, pase substituí paquetes como por ejemplo kdenetwork kdeutils kdepim por los -meta
> 
> ahora me gustaría eliminar estos paquetes meta para poder quitar paquetes que realmente no ocupo como por ejemplo kfloppy de kdeutils.
> 
> la pregunta es. puedo de alguna forma meter en world paquetes como por ejemplo kcalc que es de kdeutils-meta para que después de eliminar kdeutils-meta al hacer un "emerge --deepclean" no me intente eliminar kcalc ??..
> ...

 

No se si hay algún tipo de utilidad para esto (la gente inventa utilidades para las cosas más absurdas). Pero lo más sencillo para mi limitado entendimiento es esto:

1.- mirar el ebuild -meta en cuestión, ejemplo: kdenetwork-meta. En él veremos algo como:

```

RDEPEND="$(deprange $PV $MAXKDEVER kde-base/dcoprss)

        $(deprange $PV $MAXKDEVER kde-base/kdenetwork-filesharing)

        $(deprange $PV $MAXKDEVER kde-base/kdict)

        $(deprange $PV $MAXKDEVER kde-base/kget)

        $(deprange $PV $MAXKDEVER kde-base/knewsticker)

        $(deprange $PV $MAXKDEVER kde-base/kopete)

        $(deprange $PV $MAXKDEVER kde-base/kpf)

        $(deprange $PV $MAXKDEVER kde-base/kppp)

        $(deprange $PV $MAXKDEVER kde-base/krdc)

        $(deprange $PV $MAXKDEVER kde-base/krfb)

        $(deprange $PV $MAXKDEVER kde-base/ksirc)

        $(deprange $PV $MAXKDEVER kde-base/ktalkd)

        wifi? ( $(deprange $PV $MAXKDEVER kde-base/kwifimanager) )

        $(deprange 3.5.6 $MAXKDEVER kde-base/librss)

        $(deprange $PV $MAXKDEVER kde-base/kdnssd)

        $(deprange $PV $MAXKDEVER kde-base/kdenetwork-kfile-plugins)

        $(deprange $PV $MAXKDEVER kde-base/lisa)"

```

2.- nano -w /var/lib/portage/world

3.- añadimos los paquetes que queramos conservar en ese fichero, uno por línea, y en formato "categoría/paquete", por ejemplo:

```

kde-base/kppp

```

4.- repetimos 1, 2 y 3 para todos los meta que queramos eliminar

5.- emerge -C <los -meta que quieras desinstalar>

6.- emerge --ask --depclean

Este último paso debería desinstalar todos los componentes que en su día fueron instalados por los meta (los meta que acabas de desinstalar), que no hayas añadido al fichero world.

Si no entiendes algo, tan solo pregunta.

----------

## Inodoro_Pereyra

Hace un tiempo me surgió una duda parecida en la cual gringo me decía:

 *gringo wrote:*   

> elog del últimp portage disponible :
> 
>  *Quote:*    "The world file now supports slot atoms such as 'sys-devel/gcc:3.4'. In some"
> 
> 	 "cases, emerge --depclean may remove slots that it would not have removed"
> ...

 

Por ende, deberías instalar kcalc con emerge --noreplace kcalc. 

Que sería de nosotros sin gente como gringo?

Salud!

----------

## kropotkin

muchas gracias por las repuesta me quedo todo muy claro   :Very Happy: 

exelente. agrege los paquetes que yo uso o creo necesario de kde-utils  en el fichero /var/lib/portage/world por lo cual ahora a la hora de remover el paquete meta y luego hacer el depclean funciono todo a la perfección 

```

Calculating dependencies... done!

 kde-base/superkaramba

    selected: 3.5.7

   protected: none

     omitted: none

 kde-base/khexedit

    selected: 3.5.7

   protected: none

     omitted: none

 kde-base/ktimer

    selected: 3.5.7

   protected: none

     omitted: none

 kde-base/kfloppy

    selected: 3.5.7

   protected: none

     omitted: none

 kde-base/klaptopdaemon

    selected: 3.5.7-r1

   protected: none

     omitted: none

 kde-base/kjots

    selected: 3.5.7

   protected: none

     omitted: none

 kde-base/kgpg

    selected: 3.5.7

   protected: none

     omitted: none

```

Saludos y gracias

----------

## Inodoro_Pereyra

 :Wink: 

----------

