{"id":4400,"date":"2026-08-17T20:42:11","date_gmt":"2026-08-17T18:42:11","guid":{"rendered":"https:\/\/www.marcelcuvelier.de\/?p=4400"},"modified":"2026-08-17T21:03:22","modified_gmt":"2026-08-17T19:03:22","slug":"gentoo-update-skript-gentoo-update-fuer-updates-und-wartung","status":"publish","type":"post","link":"https:\/\/www.marcelcuvelier.de\/?p=4400","title":{"rendered":"Gentoo Update Skript: gentoo-update f\u00fcr Updates und Wartung"},"content":{"rendered":"<p>Wer Gentoo einsetzt, wei\u00df vermutlich genau, warum er sich f\u00fcr diese Distribution entschieden hat. Man hat viel Kontrolle \u00fcber das eigene System und wei\u00df ziemlich genau, was darauf passiert. Diese Freiheit bedeutet aber auch, dass regelm\u00e4\u00dfige Updates etwas mehr Aufmerksamkeit ben\u00f6tigen.&nbsp;Auf meinem Gentoo-System hat sich deshalb \u00fcber die Zeit eine feste Update-Routine entwickelt. Repository synchronisieren, <code>@world<\/code> aktualisieren, Konfigurations\u00e4nderungen (und Gentoo-News) pr\u00fcfen und anschlie\u00dfend die \u00fcblichen Wartungsarbeiten durchf\u00fchren. Dazu kommen bei mir Docker-Compose-Projekte, deren Images ebenfalls aktuell gehalten werden sollen.<\/p>\n<p>Irgendwann stellte ich mir daher die Frage: Warum eigentlich jedes Mal dieselben Befehle und Kontrollen von Hand abarbeiten?<\/p>\n<p>Aus dieser \u00dcberlegung ist mein <strong>Gentoo Update Skript gentoo-update<\/strong> entstanden.<\/p>\n<h2>Warum ich gentoo-update entwickelt habe<\/h2>\n<p>Mein Ziel war von Anfang an nicht, Gentoo m\u00f6glichst unbeaufsichtigt zu aktualisieren. ABER, gerade bei Gentoo m\u00f6chte ich <strong>wichtige Entscheidungen<\/strong> weiterhin selbst treffen. Stattdessen soll mir <code>gentoo-update<\/code> die immer wiederkehrenden Arbeitsschritte m\u00f6glichst abnehmen. Das Skript bringt sie in eine sinnvolle Reihenfolge und zeigt mir anschlie\u00dfend \u00fcbersichtlich, was passiert ist.<\/p>\n<p>Ein vollst\u00e4ndiger Durchlauf k\u00fcmmert sich unter anderem um:<\/p>\n<ul>\n<li>die Synchronisierung der Gentoo-Repositories,<\/li>\n<li>das Update von <code>@world<\/code>,<\/li>\n<li>ausstehende Konfigurations\u00e4nderungen,<\/li>\n<li>ungelesene Gentoo-News,<\/li>\n<li><code>@preserved-rebuild<\/code>,<\/li>\n<li><code>depclean<\/code>,<\/li>\n<li>die Pr\u00fcfung auf defekte Reverse Dependencies,<\/li>\n<li>das Aufr\u00e4umen der Distfiles,<\/li>\n<li>die Kontrolle der Portage-Konfiguration mit <code>eix-test-obsolete<\/code>,<\/li>\n<li>sowie die Wartung erkannter Docker-Compose-Projekte.<\/li>\n<\/ul>\n<p>Damit ersetzt das Skript nicht die einzelnen Gentoo-Werkzeuge. Es verbindet sie vielmehr zu einem reproduzierbaren Arbeitsablauf.<\/p>\n<h2>Automatisieren, ohne die Kontrolle abzugeben<\/h2>\n<p>Ein wichtiger Grundsatz bei der Entwicklung war f\u00fcr mich: <strong>gentoo-update soll kritische Entscheidungen nicht einfach selbst treffen.&nbsp;<\/strong>Stehen beispielsweise \u00c4nderungen an Konfigurationsdateien an, bleibt <code>etc-update<\/code> interaktiv. Auch Gentoo-News werden nicht stillschweigend als gelesen markiert.&nbsp;\u00c4hnlich verh\u00e4lt sich das Skript bei Docker. Container, die nicht von Docker Compose verwaltet werden, werden nicht einfach automatisch neu erstellt.&nbsp;Das Gentoo Update Skript automatisiert also den Ablauf, aber nicht die Verantwortung f\u00fcr das System.<\/p>\n<p>Genau diese Trennung ist f\u00fcr mich einer der wichtigsten Vorteile des Tools.<\/p>\n<h2>Gentoo Updates zuerst mit Dry-Run pr\u00fcfen<\/h2>\n<p>Bevor ich \u00c4nderungen am System durchf\u00fchre, m\u00f6chte ich h\u00e4ufig auch erst einmal nur wissen, was \u00fcberhaupt ansteht. Deshalb besitzt <code>gentoo-update<\/code> einen Dry-Run-Modus.<\/p>\n<p>Mit<\/p>\n<pre><code>gentoo-update --dry-run<\/code><\/pre>\n<p>kann ich einen vollst\u00e4ndigen Durchlauf in einer m\u00f6glichst sicheren Vorschau betrachten.<\/p>\n<p>Paketupdates, <code>depclean<\/code>, <code>preserved-rebuild<\/code> und die Distfile-Bereinigung verwenden dabei ihre jeweiligen Preview-M\u00f6glichkeiten. Auch die Docker-Umgebung wird lediglich untersucht. Das Skript zieht keine Images und erstellt keine Container neu.<\/p>\n<p>Wichtig ist au\u00dferdem: Im Dry-Run werden die Repository-Metadaten nicht synchronisiert. Die Paketvorschau basiert bewusst auf dem aktuell lokal vorhandenen Stand.&nbsp;So kann ich mir zun\u00e4chst einen \u00dcberblick verschaffen und anschlie\u00dfend entscheiden, wann ich das eigentliche Update durchf\u00fchren m\u00f6chte.<\/p>\n<h2>Update und Wartung getrennt ausf\u00fchren<\/h2>\n<p>Nicht immer m\u00f6chte ich den kompletten Ablauf auf einmal starten. Deshalb kann <code>gentoo-update<\/code> seine beiden von mir definierten Hauptphasen auch getrennt ausf\u00fchren.&nbsp;F\u00fcr Repository-Synchronisation, World-Update und die anschlie\u00dfenden administrativen Pr\u00fcfungen verwende ich:<\/p>\n<pre><code>gentoo-update --update<\/code><\/pre>\n<p>Die nachgelagerten Wartungsarbeiten lassen sich separat starten:<\/p>\n<pre><code>gentoo-update --maintenance<\/code><\/pre>\n<p>Beide Varianten k\u00f6nnen wiederum mit <code>--dry-run<\/code> kombiniert werden.<\/p>\n<p>F\u00fcr mich hat sich diese Aufteilung besonders beim Testen neuer Versionen bew\u00e4hrt. Sie ist aber auch im normalen Betrieb praktisch, wenn ich Update und Wartung bewusst voneinander trennen m\u00f6chte.<\/p>\n<h2>Docker-Compose-Projekte kontrolliert aktualisieren<\/h2>\n<p>Ein weiterer wichtiger Bestandteil meiner pers\u00f6nlichen Update-Routine ist Docker.&nbsp;<code>gentoo-update<\/code> erkennt konfigurierte Docker-Compose-Projekte und kann deren Images aktualisieren. Anschlie\u00dfend kontrolliert das Skript, ob die Container wieder laufen und tats\u00e4chlich das erwartete Image verwenden.&nbsp;Dabei war mir die Reihenfolge wichtig. Alte Docker-Images werden nicht einfach vorab gel\u00f6scht. Ein Docker-Prune erfolgt erst nach den eigentlichen Wartungsarbeiten und nur, wenn die vorherigen Pr\u00fcfungen erfolgreich waren.&nbsp;Container ohne Docker-Healthcheck werden ebenfalls entsprechend gekennzeichnet. Das Skript behauptet in diesem Fall also nicht, einen Gesundheitszustand gepr\u00fcft zu haben, den Docker gar nicht bereitstellt.<\/p>\n<h2>Eine Zusammenfassung statt vieler einzelner Befehle<\/h2>\n<p>Nach einem Update m\u00f6chte ich schnell erkennen k\u00f6nnen, was tats\u00e4chlich passiert ist.&nbsp;Deshalb erstellt <code>gentoo-update<\/code> am Ende eine Zusammenfassung der einzelnen Arbeitsschritte. Dort sehe ich unter anderem, welche Aufgaben erfolgreich waren, welche \u00fcbersprungen wurden und ob Warnungen oder Fehler aufgetreten sind.<\/p>\n<p>Normale produktive Durchl\u00e4ufe werden zus\u00e4tzlich protokolliert. Dadurch kann ich sp\u00e4ter nachvollziehen, was w\u00e4hrend eines Updates passiert ist.<\/p>\n<p>Das klingt zun\u00e4chst nach einer Kleinigkeit. Im t\u00e4glichen Umgang mit einem Server macht eine solche Zusammenfassung die Wartung f\u00fcr mich jedoch deutlich angenehmer!<\/p>\n<h2>F\u00fcr wen ist gentoo-update gedacht?<\/h2>\n<p><code>gentoo-update<\/code> ist urspr\u00fcnglich f\u00fcr mein eigenes Gentoo-System entstanden. Entsprechend orientiert sich das Skript an den Werkzeugen und Abl\u00e4ufen, die ich dort tats\u00e4chlich verwende.&nbsp;Es ist daher kein Versuch, den einen universellen Update-Manager f\u00fcr jedes Gentoo-System zu bauen.<\/p>\n<p>Viele der einzelnen Schritte d\u00fcrften anderen Gentoo-Nutzern trotzdem bekannt vorkommen. Wer eine \u00e4hnliche Update-Routine verwendet, kann das Skript direkt einsetzen, an die eigene Umgebung anpassen oder einfach als Ausgangspunkt f\u00fcr eine eigene L\u00f6sung verwenden.<\/p>\n<p>Gerade darin sehe ich einen weiteren Mehrwert der Ver\u00f6ffentlichung: Der komplette Quellcode ist einsehbar. Man kann also genau nachvollziehen, welche Befehle ausgef\u00fchrt werden und an welchen Stellen bewusst keine Automatisierung stattfindet.<\/p>\n<h2>gentoo-update bleibt ein transparentes Werkzeug<\/h2>\n<p>Gentoo lebt f\u00fcr mich auch davon, dass ich verstehe, was auf meinem System passiert. Ein Update-Skript sollte diesen Vorteil nicht zunichtemachen.&nbsp;gentoo-update soll Gentoo deshalb nicht weniger transparent machen. Es soll die regelm\u00e4\u00dfig notwendigen Arbeiten \u00fcbersichtlicher und reproduzierbarer machen, ohne mir die Kontrolle \u00fcber das System aus der Hand zu nehmen.&nbsp;Das war meine urspr\u00fcngliche Motivation f\u00fcr das Projekt und ist auch weiterhin der Ma\u00dfstab f\u00fcr neue Funktionen.<\/p>\n<h2>gentoo-update herunterladen und Quellcode ansehen<\/h2>\n<p>Den aktuellen Quellcode, die Dokumentation, das Changelog und die ver\u00f6ffentlichten Versionen meines <strong>Gentoo Update Skripts<\/strong> findet ihr auf GitLab:<\/p>\n<p><strong><a href=\"https:\/\/gitlab.com\/Wa77ace\/gentoo-update\" target=\"_blank\" rel=\"noopener noreferrer\">gentoo-update auf GitLab<\/a><\/strong><\/p>\n<p>Dort stehen auch die aktuellen Releases sowie die zugeh\u00f6rigen Git-Tags und Source-Code-Archive zum Download bereit. Und wenn ihr einen Bug findet oder Verbesserungsvorschl\u00e4ge habt, dann schreibt mir gerne.<\/p>\n<div class=\"pdf24Plugin-cp\"> \t<form name=\"pdf24Form0\" method=\"post\" target=\"pdf24PopWin\" action=\"https:\/\/doc2pdf.pdf24.org\/wordpress.php\"><input type=\"hidden\" name=\"blogCharset\" value=\"Cw1x07UAAA==\" \/><input type=\"hidden\" name=\"blogPosts\" value=\"MwQA\" \/><input type=\"hidden\" name=\"blogUrl\" value=\"yygpKSi20tcvLy\/Xy00sSk7NSS4tS83JTC3SS0kFAA==\" \/><input type=\"hidden\" name=\"blogName\" value=\"y00sSk7NSS4tS83JTC3SS0kFAA==\" \/><input type=\"hidden\" name=\"blogValueEncoding\" value=\"gzdeflate base64\" \/><input type=\"hidden\" name=\"postId_0\" value=\"MzExMAAA\" \/><input type=\"hidden\" name=\"postTitle_0\" value=\"c0\/NK8nPVwgtSEksSVUIzi7KLCixUkgHi+qWQkTTDu8pgqooVijNS1EITywqKc1LBwA=\" \/><input type=\"hidden\" name=\"postLink_0\" value=\"yygpKSi20tcvLy\/Xy00sSk7NSS4tS83JTC3SS0nVty+wNTExMAAA\" \/><input type=\"hidden\" name=\"postAuthor_0\" value=\"800sSk7NAQA=\" \/><input type=\"hidden\" name=\"postDateTime_0\" value=\"MzIwMtM1sNA1NFcwMrAysLAyNAQA\" \/><input type=\"hidden\" name=\"postContent_0\" value=\"hVlNbxy5Eb3nVzA+BAmgkYBcFlC02sgrybvYaOFYXhvYS8Ce5kxzp5s9INmaeM77MwL4ot\/gk2\/zx\/Jekf0ljb0XezTDJquKr169qr7YXr43Xr0yLratMtYFE\/fxRO2MPXxUD8Y3XaztslJr43SH77XvGoUnAr9cHT57VVoTjLq2IXpbdNG2TmG3sKysKY1TlY6n6k7LB\/VgTa1+al30bV0bdfhcYKtSB5yMA4y6\/xCiaVTnymzB3ppmfn7Aeq+7ldrqEKzx2P1aLLj1xlbGRlXg3C6aqDR3192yOuEZQXmzNnVzeDx8xGnql22po8HRkZs2pvLqqls1xm+CbjZpI3f4FGnZ6V9cEbb\/wO9YaB1MTBFbZIPpm0SkNKHSddF7Zo36lTvxGbUyWJuPXbxpESp8iW12drkxNfx4Y7ZtsLH1H1T44JaVb52li8adqItlW5rLf+5aX5cXZ\/KH0pvY6XpYgriu7LrzmncQDo+uNL5zsF79lQHNFv9sduFvausPn1f4hT9oh8uqrTl8NPiLNsN6Bh2\/v9c+Yo+gfQE\/8EXZ+WWFe69wJCKv953atE2DX7BANdar6xbu+MX3bQNvzOK1b38zm2hwBzRT\/djoNaOO4K50XQfxwtQ1bhiR4xE74wmcQIi404uz7eWfLraXP3p4Uu60wy8R6xFKBpwnlrrKwb712PycVhOlvLmE3t8AiQAU1gmtNQ5XL83KVAAhQzBA0qkH4PcHzbAUvdPf9TZcdSFt4NXhf7jg2qwRHAXoCyzUBXKgdevLnE7pqtX9xtttJIIZ\/06+vDjLSyVXIs4bXK3+fpnsz7AfH5qABYgrsAnW0q47Hv4rcwv5KR5cIbiwDGnnsA0SOpvUHD6tGRFY3LnCII8IW2A8KtzkDFCn6urlzZsTmOB1aeR6x03wTIp\/7\/IubWPUjeS+saVAb\/Rzx1D6CoYy\/jg\/erNa8Zj7qGPE\/YR86XKnCe9PYpZgz4u2gJxXO1KM3xiCkZC5kgsLON\/bCAMn3urCmapJmA39lRTeujUzFxu6lKTBOvcg5PSGdOJWbb1OGNkbRom2zRNGUl2iyKMSRfXcRGgMCL6xRBcgH5mbiBVyhdlUk802h890KdNI5yKpixlMOmzO0x5djX9qe8kI3E8ZgigsBx5fDEQCrJ5cnOGJ9Bgsy5gkRo5QymSx7gLyrGJgv8wsk\/X8u0ZqIIYTppksyMdtPfPnwZQLb4rOHjs6rSzNdlkb7Z7\/Tvdfk8DoNoNXIpVBMbgyVCwWI7MVQCyf+w8K94fHjoTFgLFsrWw9X2bNpEZx1evWRxDLYhYHQCHmGBr73wVKSVy0BQBsBqhONg0twCrQzZSKIroBmfGev8CYp\/npM7n27eW15ol0ECVaqmaGsaS47A0I703t4Fy+AxT3zd50a3OqbgLreWERmAR5FmMpe8j8VNS82fq27FB0PchvTChdEKMjP111sW0QhL7ytJVLvo1h08UepxZkgExShH\/PEkAqAFQGHfdCLAzyTSK3mrEhjYm4aPDA+UAyczYUrkAEYAcI5wnx5KDAr5VGQj3hnFTOB3K6F6DTkrBFUAK4Cig6\/D5WUBDpPAlogZUfTlRRG1sMWIjLJ3xlecmgVvsASoUameZHX+yStSFa0MOy2knpQglCecxZpRrtNyJ3ku2H3ysnpQ13Wh0e615\/TMgNcU3IOlXf4140rtifyDWl08gBaYHK0ONmOxbhmO06mdvXR1P394\/PznTEpJTkbBsZ9mgJ1BPcRHrXKqFtgddJ0msjmN8hasBEm9IlaU26J5JrYNVXFIZZhL4FGl1fkQf8CLi9YCzjL1BmvMPGxkqGB\/W2beswAnxmfUCC0ENJ+Gv\/YfGmc72AGtD90jy0XiriDDZNL2knuulkVkBxeR1wJTpVAklzGygV19FeVsVUU6TOVLpjHB2pmco3y83CgO738WtVk0FwvfmLO6R5GGJ4Z2P+6M3lkT3UYlHiQTiVd8NqrOSj5DDVB\/lJfXOT+pbrq5\/WZCJWNCGuAlDCNRYmes3QjLrvtd6YmMwIvQx+Whry118qLVK+iaie7Rcvcax1VtQbMZ\/kQ6mZMxZXBMGIHKzFh9fegCl3i7ts+EY0YU5l2TXR9y8N+E7Iy\/pS1QYRqIdaHrA4zrQHSBY434joyJqYZvaplH8ZEpd5NsTkfYKxwFx3kCHI0eYc2wzwzGlL88auYnFnomYgB76ZaojUSCmJ98NwITrlamF21AO52jaDaK\/bDaCK5ZVIWOx8TzGbieC+VQM+KJz2nTs8ytUntIiIZqux4S3wxNXxpsT03J6SIW85NI6ivPrWatai9Kk2pnZexDP6SrwG6kAc9C7k54a8\/lkCleTmNG0ZXTQ+W1T7OFCYhCenL0S9F5z0OSqR+EqCBrnwQpwUbpbWxqyAU8Od0JUg97eVZjUQtjhidw78LblvcvGjWJTqdaLeU\/QtJrEgUmYx5yFlg8NRI\/HQg2RC0ly0LycNY3H+R9wx83OkDqLNIdtR4QB\/cfFZu1nr1BZYqeFbdP6xj+wfHttoVl6n3fL52S8ZZvVOe6u5BvL7kyMiU0eB5msUd0+5j9depEvJaTbk5e1QcsaBgBQmqE7WGoINVN2yQARedaPeGilGyG4A7B0bidaJFNkdHivm5D2bkzAZZgCMyrUeGJMmNkLkFyhHFBhB+g+T0+MI0vs0BryANukvlGDoWKZ8QZbC\/yTyUhGftoxzrScN31h08emlkVaXoUhzFK+2cBmxz+OGJ8MR+p0lTFZsX6lv6AOZC5ss0yRpviStJSiSkLOhxNP+d8ZBM7dHnQX1W0j2jFSdQKTICJnN0OEGMl890BZ0FuyLmfvHIjRIKJYiymBhATtvR3NEYWE9+ph9OCrYQNC6oJQ8fApSiHhB+bnXgDY6B8+tY1IgzEphuAm7HklOegaVkiFHI1kIjM9lcyCLtDcqLnbd6ZGlxohJA5Ht+cFAgVY4EVUhOzMOi1gIkMO0p4Q\/vPI993VmXl0LI0oJQta6lIONusUOSXTmmUgqQq9MgCOcHIZ9J\/jExiLvZCbCQYs7kWhksbzWvUotKCNi1r5D3twQur92QXMstgKBMfMChxzScmGHvk3z\/RBqLDc6S6mmT99p0Ql0FE4krI+0lQTiDGSzCUTGVC5Eg8T4SjZBuN6Q3s0xX8qJC8+GLriGlmMMdFTq2SiDUKlZqkGIawb2OTaGJWmuss1KetcJEgg55Bug6NL3LY25ZQzJjispiVEqBlRIz8s\/J7pU0t2yETNZmVJ7mx5luP3DY9yn8Pk2tpuc7USWiIpRzYQtllKV4b6oeanm+nsQ5hbVguCFoYk4OhMiZDe1TKFGceT00LT8VItOpeY8pb6DtF73XNmsOeJr8ngZnQa1LwhD58yXDpmRfHZ\/kynE2CX9ZspW0j5P\/DXjy5mZ\/\/MAbSlwyHZh5nm9XZuSB383QPkr6OLTHe\/28NklkZzMMDZTjglPBuyTKak0+gMHcMbloh0mZ5MGWDvJ2mEEktADpSa37lIrLM8QsLPs6ek4Z85NEJPTnJnCXCp1erFgXOaRzlmZPskUOReyO+0obZJ7aQg992tPid1NJMQ7MsSTDLvv55kltllFmTqkutVPErq4N96hlLdxT3leGJktkY\/TdP6UYUigADrdVC8P1bZ3GsyYSuMYytJ6lM3+\/RBjp10eOMl7m6H30W6bFFubXUjzgpqDt0C8hm3nNrk5F3PyDv9CZZp1Y5MGX+bPJbSaG2klxTxrDKfuTIXnWJiTjDp8YichQMau5xDhfpTr6t\/sXQhFuVbxqiq0T++pxHcpE\/LO6XmKJ3rqXx9Ae6+NqO9eDub+JS9kR5Qw0Yuv1NlNZ2hDgVjJdG4sJfMUy3Mm4g+a3IUt+ZLU0kN8yL08v6hNMZ2DiHos9QMbAHkhlqEuc97EXXp8w5UROr5mo2bIkMmw4AQumlRfh4FKro2gM\/5vSEdDxT8ywMum9i\/O0sOAgAjGiZsqb8Q5pjxI+E3f6EEUR0JH1MdVr1Hm03lsyct5Muf0ee88yOwV17H3lDkomi+C8JW8KEIO53cL4\/hLlJvc84znjLprUX7S\/HiYaGVVKqallp7FcHhfwoPu9OEjEFKkh9gtqFsmknQLX8JLRWRhk1r3qByBr4n5iWK\/Jqukph6fhnUnecKx4cQ85uaRNn9fsT7U7XroHh9mWScTtqGdaVIp\/Nr7sTC+KkpZwEGM4PGVjf\/SRd\/uXfabXGiFMrv69kUV4zacn52tbax1cbpsm7P3+ptv9NKczeLxAhzvIRC+ffEfdOtu8wI4qL994dp2a2TC0mI744GHF08COVpxcaYvB0OHIi6CJ82QdT8VGoP5BoyOpp2w7d8BcDZeHT4lpYydF2\/1Os1\/7lsIDYOGpTSLK0gOapU9+tHrdufqVpdZc56qX+QdOeVI5TMbvuzWfezazIMFX6uRX0Ia6aD2oX+Apo28Rr5LRW0RViHqkXIuN4D\/Bw==\" \/><\/form> \t<div class=\"pdf24Plugin-cp-link\"> \t\t<a href=\"#\" onclick=\"var pdf24Win = window.open('about:blank', 'pdf24PopWin', 'resizable=yes,scrollbars=yes,width=600,height=250,left='+(screen.width\/2-300)+',top='+(screen.height\/3-125)+''); pdf24Win.focus(); document.pdf24Form0.submit(); if(typeof pdf24OnCreatePDF === 'function'){void(pdf24OnCreatePDF(this,pdf24Win));} return false;\">Diesen Beitrag als PDF herunterladen<\/a> \t<\/div> <\/div>","protected":false},"excerpt":{"rendered":"<p>Wer Gentoo einsetzt, wei\u00df vermutlich genau, warum er sich f\u00fcr diese Distribution entschieden hat. Man hat viel Kontrolle \u00fcber das eigene System und wei\u00df ziemlich genau, was darauf passiert. Diese Freiheit bedeutet aber auch, dass regelm\u00e4\u00dfige Updates etwas mehr Aufmerksamkeit ben\u00f6tigen.&nbsp;Auf meinem Gentoo-System hat sich deshalb \u00fcber die Zeit eine feste Update-Routine entwickelt. Repository synchronisieren, @world aktualisieren, Konfigurations\u00e4nderungen (und Gentoo-News) pr\u00fcfen und anschlie\u00dfend die \u00fcblichen Wartungsarbeiten durchf\u00fchren. Dazu kommen bei mir Docker-Compose-Projekte, deren Images ebenfalls aktuell gehalten werden sollen. Irgendwann [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4404,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[915,1061],"tags":[797,1275,803,1274,1277,1273,1272,60,1262,1264,1263,1150,1265,1266,1270,919,1271,1267,1276,1268,1269],"class_list":["post-4400","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-open-source","category-software-tools","tag-automatisierung","tag-bash","tag-docker","tag-docker-compose","tag-dry-run","tag-eix","tag-emerge","tag-gentoo","tag-gentoo-linux","tag-gentoo-update-skript","tag-gentoo-update","tag-gitlab","tag-linux","tag-linux-server","tag-linux-updates","tag-open-source","tag-portage","tag-server-administration","tag-shell-script","tag-systemadministration","tag-systemwartung"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Gentoo Update Skript: gentoo-update f\u00fcr Updates und Wartung<\/title>\n<meta name=\"description\" content=\"Mein Gentoo Update Skript gentoo-update b\u00fcndelt Systemupdates, Wartung und Docker-Pflege in einem kontrollierten &amp; nachvollziehbaren Ablauf.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.marcelcuvelier.de\/?p=4400\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gentoo Update Skript: gentoo-update f\u00fcr Updates und Wartung\" \/>\n<meta property=\"og:description\" content=\"Mein Gentoo Update Skript gentoo-update b\u00fcndelt Systemupdates, Wartung und Docker-Pflege in einem kontrollierten &amp; nachvollziehbaren Ablauf.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.marcelcuvelier.de\/?p=4400\" \/>\n<meta property=\"og:site_name\" content=\"marcelcuvelier.de\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-17T18:42:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-17T19:03:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2026\/08\/gentoo-update-Beitragsbild-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Marcel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marcel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/?p=4400#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/?p=4400\"},\"author\":{\"name\":\"Marcel\",\"@id\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/#\\\/schema\\\/person\\\/746417d9f5f65ec1a72eaac330433844\"},\"headline\":\"Gentoo Update Skript: gentoo-update f\u00fcr Updates und Wartung\",\"datePublished\":\"2026-08-17T18:42:11+00:00\",\"dateModified\":\"2026-08-17T19:03:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/?p=4400\"},\"wordCount\":991,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/?p=4400#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/gentoo-update-Beitragsbild-1.png\",\"keywords\":[\"Automatisierung\",\"Bash\",\"Docker\",\"Docker Compose\",\"Dry Run\",\"eix\",\"emerge\",\"Gentoo\",\"Gentoo Linux\",\"Gentoo Update Skript\",\"gentoo-update\",\"GitLab\",\"Linux\",\"Linux Server\",\"Linux Updates\",\"Open Source\",\"Portage\",\"Server Administration\",\"Shell Script\",\"Systemadministration\",\"Systemwartung\"],\"articleSection\":[\"Open Source\",\"Software &amp; Tools\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.marcelcuvelier.de\\\/?p=4400#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/?p=4400\",\"url\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/?p=4400\",\"name\":\"Gentoo Update Skript: gentoo-update f\u00fcr Updates und Wartung\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/?p=4400#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/?p=4400#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/gentoo-update-Beitragsbild-1.png\",\"datePublished\":\"2026-08-17T18:42:11+00:00\",\"dateModified\":\"2026-08-17T19:03:22+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/#\\\/schema\\\/person\\\/746417d9f5f65ec1a72eaac330433844\"},\"description\":\"Mein Gentoo Update Skript gentoo-update b\u00fcndelt Systemupdates, Wartung und Docker-Pflege in einem kontrollierten & nachvollziehbaren Ablauf.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/?p=4400#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.marcelcuvelier.de\\\/?p=4400\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/?p=4400#primaryimage\",\"url\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/gentoo-update-Beitragsbild-1.png\",\"contentUrl\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/gentoo-update-Beitragsbild-1.png\",\"width\":1536,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/?p=4400#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Start\",\"item\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gentoo Update Skript: gentoo-update f\u00fcr Updates und Wartung\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/#website\",\"url\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/\",\"name\":\"marcelcuvelier.de\",\"description\":\"Nichts \u00e4ndert sich so schnell, wie die Lage.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/#\\\/schema\\\/person\\\/746417d9f5f65ec1a72eaac330433844\",\"name\":\"Marcel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f750a58762a8260c6802a7e2a3f7c88d8652f78fc2647729a6f29ec0d771ad15?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f750a58762a8260c6802a7e2a3f7c88d8652f78fc2647729a6f29ec0d771ad15?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f750a58762a8260c6802a7e2a3f7c88d8652f78fc2647729a6f29ec0d771ad15?s=96&d=mm&r=g\",\"caption\":\"Marcel\"},\"sameAs\":[\"https:\\\/\\\/www.marcelcuvelier.de\"],\"url\":\"https:\\\/\\\/www.marcelcuvelier.de\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Gentoo Update Skript: gentoo-update f\u00fcr Updates und Wartung","description":"Mein Gentoo Update Skript gentoo-update b\u00fcndelt Systemupdates, Wartung und Docker-Pflege in einem kontrollierten & nachvollziehbaren Ablauf.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.marcelcuvelier.de\/?p=4400","og_locale":"de_DE","og_type":"article","og_title":"Gentoo Update Skript: gentoo-update f\u00fcr Updates und Wartung","og_description":"Mein Gentoo Update Skript gentoo-update b\u00fcndelt Systemupdates, Wartung und Docker-Pflege in einem kontrollierten & nachvollziehbaren Ablauf.","og_url":"https:\/\/www.marcelcuvelier.de\/?p=4400","og_site_name":"marcelcuvelier.de","article_published_time":"2026-08-17T18:42:11+00:00","article_modified_time":"2026-08-17T19:03:22+00:00","og_image":[{"width":1536,"height":1024,"url":"https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2026\/08\/gentoo-update-Beitragsbild-1.png","type":"image\/png"}],"author":"Marcel","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Marcel","Gesch\u00e4tzte Lesezeit":"6\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.marcelcuvelier.de\/?p=4400#article","isPartOf":{"@id":"https:\/\/www.marcelcuvelier.de\/?p=4400"},"author":{"name":"Marcel","@id":"https:\/\/www.marcelcuvelier.de\/#\/schema\/person\/746417d9f5f65ec1a72eaac330433844"},"headline":"Gentoo Update Skript: gentoo-update f\u00fcr Updates und Wartung","datePublished":"2026-08-17T18:42:11+00:00","dateModified":"2026-08-17T19:03:22+00:00","mainEntityOfPage":{"@id":"https:\/\/www.marcelcuvelier.de\/?p=4400"},"wordCount":991,"commentCount":0,"image":{"@id":"https:\/\/www.marcelcuvelier.de\/?p=4400#primaryimage"},"thumbnailUrl":"https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2026\/08\/gentoo-update-Beitragsbild-1.png","keywords":["Automatisierung","Bash","Docker","Docker Compose","Dry Run","eix","emerge","Gentoo","Gentoo Linux","Gentoo Update Skript","gentoo-update","GitLab","Linux","Linux Server","Linux Updates","Open Source","Portage","Server Administration","Shell Script","Systemadministration","Systemwartung"],"articleSection":["Open Source","Software &amp; Tools"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.marcelcuvelier.de\/?p=4400#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.marcelcuvelier.de\/?p=4400","url":"https:\/\/www.marcelcuvelier.de\/?p=4400","name":"Gentoo Update Skript: gentoo-update f\u00fcr Updates und Wartung","isPartOf":{"@id":"https:\/\/www.marcelcuvelier.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.marcelcuvelier.de\/?p=4400#primaryimage"},"image":{"@id":"https:\/\/www.marcelcuvelier.de\/?p=4400#primaryimage"},"thumbnailUrl":"https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2026\/08\/gentoo-update-Beitragsbild-1.png","datePublished":"2026-08-17T18:42:11+00:00","dateModified":"2026-08-17T19:03:22+00:00","author":{"@id":"https:\/\/www.marcelcuvelier.de\/#\/schema\/person\/746417d9f5f65ec1a72eaac330433844"},"description":"Mein Gentoo Update Skript gentoo-update b\u00fcndelt Systemupdates, Wartung und Docker-Pflege in einem kontrollierten & nachvollziehbaren Ablauf.","breadcrumb":{"@id":"https:\/\/www.marcelcuvelier.de\/?p=4400#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.marcelcuvelier.de\/?p=4400"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.marcelcuvelier.de\/?p=4400#primaryimage","url":"https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2026\/08\/gentoo-update-Beitragsbild-1.png","contentUrl":"https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2026\/08\/gentoo-update-Beitragsbild-1.png","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/www.marcelcuvelier.de\/?p=4400#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Start","item":"https:\/\/www.marcelcuvelier.de\/"},{"@type":"ListItem","position":2,"name":"Gentoo Update Skript: gentoo-update f\u00fcr Updates und Wartung"}]},{"@type":"WebSite","@id":"https:\/\/www.marcelcuvelier.de\/#website","url":"https:\/\/www.marcelcuvelier.de\/","name":"marcelcuvelier.de","description":"Nichts \u00e4ndert sich so schnell, wie die Lage.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.marcelcuvelier.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/www.marcelcuvelier.de\/#\/schema\/person\/746417d9f5f65ec1a72eaac330433844","name":"Marcel","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/f750a58762a8260c6802a7e2a3f7c88d8652f78fc2647729a6f29ec0d771ad15?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f750a58762a8260c6802a7e2a3f7c88d8652f78fc2647729a6f29ec0d771ad15?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f750a58762a8260c6802a7e2a3f7c88d8652f78fc2647729a6f29ec0d771ad15?s=96&d=mm&r=g","caption":"Marcel"},"sameAs":["https:\/\/www.marcelcuvelier.de"],"url":"https:\/\/www.marcelcuvelier.de\/?author=1"}]}},"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/p4qNjn-18Y","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack_featured_media_url":"https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2026\/08\/gentoo-update-Beitragsbild-1.png","_links":{"self":[{"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=\/wp\/v2\/posts\/4400","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4400"}],"version-history":[{"count":2,"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=\/wp\/v2\/posts\/4400\/revisions"}],"predecessor-version":[{"id":4402,"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=\/wp\/v2\/posts\/4400\/revisions\/4402"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=\/wp\/v2\/media\/4404"}],"wp:attachment":[{"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}