# [gelöst] Wann erfolgen Paketupdates??

## mptaiko

Hallo ich habe ein kleines Verständnisproblem zu den Updates von Paketen.

Als ich Gentoo auf meinem Rechner installiert habe, nutzte ich dazu folgendes Profil benutzt:

```
fritz micha # eselect profile list              

Available profile symlink targets:

.

.

.

  [13]  default/linux/amd64/17.0/selinux (stable)

  [14]  default/linux/amd64/17.0/hardened (stable)

  [15]  default/linux/amd64/17.0/hardened/selinux (stable)

  [16]  default/linux/amd64/17.0/desktop (stable) *

  [17]  default/linux/amd64/17.0/desktop/gnome (stable)

 .

.

.
```

Ich wollte einige Pakete aus unstable installieren. Wenn ich die Wikis richtig verstanden habe, steuere ich dies über die Datei /etc/portage/package.accept_keywords, in der diese Pakete mit einem ~amd64 versehen werden müssen. 

Die Datei sieht wie folgt aus:

```
 # required by x11-themes/numix-gtk-theme-2.6.7::gentoo

 1 # required by x11-themes/numix-gtk-theme (argument)

 2 =dev-ruby/sass-3.5.7 ~amd64

 3 # required by dev-ruby/sass-3.5.7::gentoo[ruby_targets_ruby23]

 4 # required by x11-themes/numix-gtk-theme-2.6.7::gentoo

 5 # required by x11-themes/numix-gtk-theme (argument)

 6 .

.

.

32 >=media-libs/babl-0.1.60 ~amd64

33 # required by media-gfx/gimp-2.10.8-r1::gentoo

34 # required by @selected

35 # required by @world (argument)

36 >=media-libs/gegl-0.4.12 ~amd64

37 # required by media-gfx/gimp-2.10.8-r1::gentoo

38 # required by @selected

39 # required by @world (argument)

40 >=media-libs/libmypaint-1.3.0 ~amd64

41 # required by app-misc/nnn (argument)

42 =app-misc/nnn-2.2 ~amd64

43 

44 ## eigene pakete

45 >=media-gfx/simple-scan-3.30.2 ~amd6

46#>media-gfx/simple-scan-3.30.2 ~amd64

47 #media-gfx/simple-scan ~amd64

48 >=net-misc/youtube-dl-2019.01.17 ~amd64

49 #>net-misc/youtube-dl-2019.01.17 ~amd64

50 #net-misc/youtube-dl ~amd64

51 >=www-client/firefox-bin-64.0.2-r1 ~amd64

52 #>www-client/firefox-bin-64.0.2-r1 ~amd64

53 #www-client/firefox-bin ~amd64

54 >=mail-client/thunderbird-bin-60.4.0-r1 ~amd64

55 #>mail-client/thunderbird-bin-60.4.0-r1 ~amd64

```

Mich interessieren vor allem die Pakete unten in der Datei. Wenn ich ein emerge avuND @world eingebe, passiert nichts 

```

micha@fritz ~  sudo emerge -avuND @world

Password: 

setlocale: unsupported locale setting

setlocale: unsupported locale setting

These are the packages that would be merged, in order:

Calculating dependencies... done!

Total: 0 packages, Size of downloads: 0 KiB

Nothing to merge; quitting.

 micha@fritz ~ 

```

und das nun schon über einige Wochen, obwohl auf meinem Arch-Rechner (in stable) bei Firefox bei der Version 65.0.1 gegenüber 64.0.2 bei Gentoo und bei Thunderbird (Arch) 60.5.0 (Gentoo) 60.4.0 bin. Gut ich möchte in jedem Fall nicht so viele Updates wie bei Arch haben. Aber nach einigen Wochen kommt es mir doch komisch vor, dass ich keine Updates bekomme.

Meine Fragen gehten dahin:

1. Wie lange bleiben die Pakete in testing?

2. Wann werden aus Testing -Stable-Pakete?

Gut, dass kann man so pauschal nicht sagen ....

3. Wie oft sollte man ein Gentoo-System updaten?

4. Mache ich beim Updaten Fehler?

Meine Vorgehensweise ist wie folgt:

```

1. # emerge -avuND Qworld

2. # emerge depclean

3. # repdev-rebuild

Gegebenenfalls

4. # etc-config
```

Welche Tipps könnt ihr mir geben?

LG MichaLast edited by mptaiko on Thu Feb 14, 2019 4:48 pm; edited 3 times in total

----------

## mvaterlaus

hi mptaiko,

ich weiss nun nicht, ob es ein Tippfehler ist, oder ob du die Datei tatsächlich package.keywords_accept genannt hast. Die Datei müsste package.accept_keywords heissen.

Gruss

madmat

[edit]

Zu der Frage, wie oft dass ein Gentoo System geupdatet werden sollte: Das ist unterschiedlich. Auf meinen Servern mache ich Updates alle 3-5 Monate, jedoch spiele ich immer Sicherheitsupdates zeitnah ein (ca 1-2 Tage nach Erscheinen). Diverse Leute sagen, man sollte das System 1x pro Woche updaten, was als Anfänger sicherlich eine gute Idee ist, da du so weniger Probleme bekommen solltest. Jedoch ist es kein Problem, wenn du 1x im Monat Updates einspielst. Wichtig hierbei zu erwähnen ist, dass für gewisse Updats nicht zu lange gewartet wird, wie z.B. Profile Updates. Generell kann auch gesagt werden, dass je länger man mit dem Update wartet, desto mehr Probleme auftreten können.

[/edit]

----------

## mptaiko

Hallo,

das mit der /etc/portage/package.accept_keywords war in der Tat ein Tippfehler. Die Datei hat den richtigen Namen. Werde das im Ausgangsbeitrag ändern.

Aber ist denn mein Vorgehen beim Updaten richtig?

LG Micha

----------

## mike155

Hallo mptaiko,

rufst Du auch ab und zu mal "emerge --sync" auf? Dann müsstest Du ja eigentlich die Pakete sehen, die sich ändern. Jedenfalls gehört "emerge --sync" (oder wenn Du eix nutzt: "eix-sync") auf Position 0 Deiner Vorgehensliste.

Ich update ungefähr 1 Mal pro Woche.

Deine Idee, auf stable zu bleiben und von einzelnen Pakete über /etc/portage/package.keywords eine neuere unstable-Version auszuwählen, finde ich gut - ich mache das auch so.

Mike

----------

## mptaiko

Hallo Mike,

vielen Dank. das hatte ich wohl ab und an mal gemacht, aber seit einiger Zeit nicht. Jetzt werden 39 Pakete aktualisiert. Das ist ok. Auf alle Fälle werde ich diesen Schritt in meinen "Updatealgorithmus als Punkt 1 aufnehmen"

LG Micha

----------

## mike155

Mein Tipp: installiere das Paket "eix" und rufe dann regelmäßig "eix-sync" statt "emerge --sync" auf. Mit "eix <paketname>" (also z.B. "eix gcc") siehst Du dann alle wichtigen Informationen zu einem Paket: USE-Flags, installierte Versionen, verfügbare Versionen, usw. Ich benutze das Tool jeden Tag.

----------

## mptaiko

Hallo Mike,

mach ich. Vielen Dank

LG Micha

----------

## firefly

 *mike155 wrote:*   

> Mein Tipp: installiere das Paket "eix" und rufe dann regelmäßig "eix-sync" statt "emerge --sync" auf. Mit "eix <paketname>" (also z.B. "eix gcc") siehst Du dann alle wichtigen Informationen zu einem Paket: USE-Flags, installierte Versionen, verfügbare Versionen, usw. Ich benutze das Tool jeden Tag.

 

mit aktuellen portage ist die verwendung von eix-sync nicht mehr notwendig. eix bindet sich als post sync hook ein und macht dann nach dem sync ein update seiner datenbank

----------

## mike155

Hallo Firefly,

danke für den Tipp. Aber ich verstehe das noch nicht. Auf der Eix Wiki Seite wird erklärt, dass man 

entweder eix-sync aufrufen soll, das dann automatisch 'emerge --sync' aufruft

oder händisch einen Hook in /etc/portage/postsync.d/eix anlegen soll, damit eix-update nach jedem 'emerge --sync' automatisch aufgerufen wird.

Dein Post liest sich, als würde der Hook mittlerweile automatisch angelegt? Wie genau geht das? Ich habe eix gerade eben komplett gelöscht und neu installiert - aber da wurde kein Hook angelegt.

Mike

----------

## asturm

 *mike155 wrote:*   

> Mit "eix <paketname>" (also z.B. "eix gcc") siehst Du dann alle wichtigen Informationen zu einem Paket: USE-Flags, installierte Versionen, verfügbare Versionen, usw. Ich benutze das Tool jeden Tag.

 

Oder man verwendet einfach equery (aus gentoolkit) für all diese Dinge, ohne gleich eine zweite Datenbank pflegen zu müssen.

----------

## Josef.95

 *asturm wrote:*   

>  [...]
> 
> Oder man verwendet einfach equery (aus gentoolkit) für all diese Dinge, ohne gleich eine zweite Datenbank pflegen zu müssen.

 

asturm,

sorry, aber das ist ein Äpfel Birnen-Vergleich.

Die equery Module sind toll, und beim Umgang mit Gentoo oft sehr hilfreich, aber auf eix möche man idR nicht verzichten.

Beide Tools können doch auch ganz unterschiedliche Dinge, sprich equery ersetzt eix nicht, und eix nicht equery - sie ergänzen sich eher.

Im täglichen Umgang mit Gentoo nutze ich neben equery (aus app-portage/gentoolkit) neben app-portage/eix

auch noch gern die Tools aus app-portage/portage-utils

Ich mag es für verschiedene Zwecke gern das passende Tool verfügbar zu haben :)

----------

## asturm

Mir hat noch niemand den Vorteil erklären können, in der Liste war jedenfalls nichts dabei. Und wann immer ich davon höre fällt es eher durch (Anwender-)Probleme auf (weil jemand nicht weiß, was gesynct werden muss...).

----------

## firefly

 *asturm wrote:*   

> Mir hat noch niemand den Vorteil erklären können, in der Liste war jedenfalls nichts dabei. Und wann immer ich davon höre fällt es eher durch (Anwender-)Probleme auf (weil jemand nicht weiß, was gesynct werden muss...).

 

Naja eix ist deutlisch schneller, wenn du z.b. nach einem paket suchst. Da ist equery arsch langsam.

Das war damals der grund wiso ich eix installiert hatte und immer noch verwende.

----------

## asturm

Liegt vielleicht an der SSD, bei mir ist das instant.

----------

## firefly

 *mike155 wrote:*   

> Hallo Firefly,
> 
> danke für den Tipp. Aber ich verstehe das noch nicht. Auf der Eix Wiki Seite wird erklärt, dass man 
> 
> entweder eix-sync aufrufen soll, das dann automatisch 'emerge --sync' aufruft
> ...

 

Hmm im ebuild von eix sieht es nicht so aus als ob es automatisch passiert.

Hab es wohl mal von hand erzeugt.

Bei mir sieht das wie folgt aus:

 *Quote:*   

> ls -l /etc/portage/postsync.d/
> 
> total 0
> 
> lrwxrwxrwx 1 root root 21 Jul 14  2018 50-eix-postsync -> /usr/bin/eix-postsync
> ...

 

----------

## mike155

@Firefly: danke für die Antwort und die Anleitung! 

Ich werde vermutlich weiterhin "von Hand" updaten (also "eix-sync" aufrufen), weil ich manchmal auch nur ein Update des Portage Repositories möchte - und dann "emerge --sync" verwende.

Vielleicht stelle ich aber auch irgendwann auf die Hooks um - und dann werde ich es so machen, wie in Deinem Post gezeigt.

----------

## Josef.95

mike155,

eix-sync ruft per default `emerge --sync` auf.

Wenn du nur das ::gentoo Repository synchronisieren möchtest, dann geht auch `emerge --sync gentoo`

/edit

oder `emaint sync -r gentoo`

----------

## mike155

Josef.95: danke für den Hinweis. Aber das weiß ich.  :Smile: 

Vermutlich habe ich mich falsch ausgedrückt.

Ich weiß, dass es ein Porage Repository und eine eix-Datenbank gibt.

In den meisten Fällen möchte ich das Portage Repositpory UND die eix-Datenbank updaten. Dann rufe ich 'eix-sync' auf.

Manchmal möchte ich nur das Portage Repositoiry updaten. Dann rufe ich "emerge --sync" auf. In einigen Fällen rufe ich danach auch noch 'eix-update' auf, um die eix-Datenbank auf den Stand des Portage Repositories zu bringen, OHNE dass das Portage Repository noch einmal neu upgedated wird.

Was ich zum Ausdruck bringen wollte: wenn ich die Hooks verwende, wird die eix-Datenbank immer gleich mit upgedated, wenn ich "emerge --sync" aufrufe (das ist ja wohl der Zweck von den Hooks). Das will ich aber nicht, weil ich manchmal NUR das Portage Repository updaten will.

----------

## firefly

 *mike155 wrote:*   

> Was ich zum Ausdruck bringen wollte: wenn ich die Hooks verwende, wird die eix-Datenbank immer gleich mit upgedated, wenn ich "emerge --sync" aufrufe (das ist ja wohl der Zweck von den Hooks). Das will ich aber nicht, weil ich manchmal NUR das Portage Repository updaten will.

 

Und welchen sinn hat es eine veraltete eix datenbank zu haben? Dann kann man auch gleich darauf verzichten

----------

## mike155

 *Quote:*   

> Und welchen sinn hat es eine veraltete eix datenbank zu haben? 

 

Vermutlich gar keinen.  :Wink: 

Aber das ist natürlich eine andere Frage als: könnte es Fälle geben, bei denen man nur das Portage Repository, aber nicht die eix-Datenbank aktualisieren möchte?

Ja, solche Fälle gibt es, zumindest bei mir: beispielsweise funktioniert ca. 1 Mal im Jahr "emerge --sync" nicht - aus den verschiedensten Gründen. Fürs Debugging verwende ich dann gerne nur "emerge --sync" - ohne Hooks. Wenn der Fehler behoben ist und die Synchronisation wieder funktioniert, verwende ich wieder eix-sync.

----------

