# [gelöst] /usr/src/linux/Makefile ist verschwunden

## oliver2104

Hallo,

habe folgendes Problem:

```

  >emerge --update world

  >emerge --depclean

```

installiert manchmal die neuesten gentoo-sources und

deinstalliert bei den alten gentoo-sources u.a. auch das Makefile.

Im Forum findet man zu diesem Thema z.b. folgendes

 *Quote:*   

> 
> 
> Das "Problem" ist eher der Admin, der --depclean unüberprüft machen lässt, oder nicht sauber definierte Abhängigkeiten auf einen benötigten Slot. Slots die nicht irgendwo (zb im ebuild, oder im world) als Abhängigkeit definiert/gesetzt sind, werden beim depclean halt zum deinstallieren vorgemerkt. Das ist ja auch der Sinn von depclean, und auch OK so 
> 
> Wenn man zb bei den gentoo-sources den gewünschten Slot nicht mit in wold aufnimmt , dann wird ein --depclean halt alle Versionen bis auf die aktuelle deinstallieren - denn es gibt ja bei den Sources normal kein dep auf einen bestimmten Slot.
> ...

 

Wie kann ich jetzt meine gentoo-sources "sauber als dep setzen" bzw.

was bedeutet "aufnahme in world"

bitte um HilfeLast edited by oliver2104 on Sat Nov 10, 2012 1:19 pm; edited 1 time in total

----------

## Finswimmer

Aufnahme in World Datei:

In Datei /var/lib/portage/world zum Beispiel =sys-kernel/gentoo-sources-3.5.7 schreiben.

Damit ist diese Version explizit installiert und wird auch nicht deinstalliert.

----------

## Christian99

wenn du aber mal neue kernel sources installieren möchtest, dann kannst du mit "eselect kernel set <x>" den link, wo /usr/src/linux hinzeigt entsprechend setzen.

----------

## Josef.95

 *oliver2104 wrote:*   

> Wie kann ich jetzt meine gentoo-sources "sauber als dep setzen" bzw.
> 
> was bedeutet "aufnahme in world"

 

Mit "aufnahme in world" war gemeint das die gewünschte Version die nicht via --depclean entfernt werden soll mit ins world file aufgenommen werden sollte bzw mit aufgenommen werden kann - somit wäre die Version bzw der Slot eine Abhängigkeit von world, und würde beim --depclean nicht mehr mit entfernt werden.

Die Verfügbaren Slots bei den gentoo-sources werden zb via eix sehr schön mit aufgelistet: 

```
 eix gentoo-sources

[I] sys-kernel/gentoo-sources

     Available versions:  

        (3.0.17-r2)     3.0.17-r2^bs

        (3.0.35)        3.0.35^bs

        (3.0.49)        ~3.0.49^bs

        (3.3.8) 3.3.8^bs

        (3.3.8-r1)      ~3.3.8-r1^bs

        (3.4.9) ~3.4.9^bs

        (3.4.11)        ~3.4.11^bs

        (3.5.6) (~)3.5.6^bs

        (3.5.7) 3.5.7^bs

        (3.6.4) ~3.6.4^bs

        (3.6.5) ~3.6.5^bs

        (3.6.6) ~3.6.6^bs
```

 (ist ein Auszug)

Die Slots sind die die vorne in Klammern aufgelistet werden.

Der gewünschte Slot kann beim emerge Kommando mit einem Doppelpunkt mit übergeben werden. Für den 3.5.7 Slot also zb via 

```
# emerge -n gentoo-sources:3.5.7

Calculating dependencies... done!

>>> Recording sys-kernel/gentoo-sources:3.5.7 in "world" favorites file...

...
```

Und um den Slot (sofern nicht mehr benötigt) wieder aus dem world file zu entfernen dann zb via 

```
# emerge --deselect gentoo-sources:3.5.7

>>> Removing sys-kernel/gentoo-sources:3.5.7 from "world" favorites file...
```

Sprich, mit der aufnahme des gewünschten Slots ins world file lässt sich ein versehentliches deinstallieren via --depclean recht gut verhindern.

/edit:

Eine andere Möglichkeit wäre noch die gentoo-sources von vornherein vom --depclean auszuschließen - zb via 

```
emerge -a --depclean --exclude gentoo-sources
```

----------

## oliver2104

Vielen Dank für die Vorschläge,

Da gibt's ja viele Lösungsansätze.

Am einfachsten erscheint mir noch

```

>emerge --depclean --exclude gentoo-sources

```

zu sein

In Zukunft werd ich das so machen.

nochmals Danke und viele Grüße

----------

## Christian99

du kannst auc beim updaten gentoo-sources excluden. dann hast du nicht massenweise ungenutzte kernelsouren rumliegen

----------

