{"id":147,"date":"2026-08-14T07:51:09","date_gmt":"2026-08-14T07:51:09","guid":{"rendered":"https:\/\/linuxfokus.de\/?p=147"},"modified":"2026-08-14T07:51:09","modified_gmt":"2026-08-14T07:51:09","slug":"ferninstallation-per-browser-fedora-baut-webbasierte-remote-installation-fuer-anaconda","status":"publish","type":"post","link":"https:\/\/linuxfokus.de\/?p=147","title":{"rendered":"Ferninstallation per Browser: Fedora baut webbasierte Remote\u2011Installation f\u00fcr Anaconda"},"content":{"rendered":"<p>Das Fedora\u2011Projekt arbeitet an einer browserbasierten Ferninstallation f\u00fcr den Anaconda\u2011Installer. Ziel ist, Maschinen ohne Bildschirm \u2014 etwa Server im Rack oder ressourcenarme ARM\u2011Boards \u2014 direkt \u00fcber einen entfernten Browser zu installieren. Das reduziert Datenaufwand und Latenz gegen\u00fcber klassischem Screen\u2011Streaming per VNC oder RDP und nutzt die bereits vorhandene Web\u2011UI von Anaconda.<\/p>\n<h2>Warum ein webbasiertes Remote\u2011Installationsverfahren?<\/h2>\n<p>Traditionell kommen bei Kopflosen Systemen VNC oder RDP zum Einsatz, um die GTK\u2011Installeroberfl\u00e4che fernzusteuern. Anaconda besitzt inzwischen aber eine vollwertige Web\u2011UI, die zun\u00e4chst in Fedora 42 Workstation eingef\u00fchrt und in Fedora 43 auf alle Live\u2011Spins ausgeweitet wurde. Diese Oberfl\u00e4che basiert auf Cockpit\u2011Werkzeugen und PatternFly\u2011Widgets und l\u00e4uft als Browser\u2011Fullscreen-Anwendung.<\/p>\n<p>Da die Web\u2011UI ohnehin HTML\/CSS\/JS nutzt, l\u00e4sst sich sie sinnvollerweise direkt an einen entfernten Browser ausliefern. Dieser Ansatz \u00fcbertr\u00e4gt wesentlich weniger Daten als pixelbasiertes Streaming und bietet geringere UI\u2011Latenzen. Au\u00dferdem entf\u00e4llt die Notwendigkeit, auf dem Zielsystem einen grafischen Browser mit GPU\u2011Support zu starten \u2014 was insbesondere auf kleinen ARM\u2011SBCs wie dem Raspberry Pi hilfreich ist.<\/p>\n<h2>Konzept und grundlegende Entscheidungen<\/h2>\n<p>Die Kernidee ist simpel: Der Anaconda\u2011Web\u2011Installer wird \u00fcber eine HTTPS\u2011Verbindung bereitgestellt. Ein Anwender \u00f6ffnet im Browser die IP des Zielsystems, meldet sich per PIN an und steuert den Installationsprozess wie lokal. Einige Architekturbeschl\u00fcsse stehen bereits:<\/p>\n<ul>\n<li>Authentifizierung per PIN, die \u00fcber Kickstart oder Boot\u2011Optionen gesetzt wird; der Anwender gibt die PIN im Browser ein.<\/li>\n<li>Verschl\u00fcsselung per TLS mit einem bei Boot generierten, selbstsignierten Zertifikat. Das sch\u00fctzt die Verbindung, akzeptiert aber die Browserwarnung f\u00fcr nicht vertraute Zertifikate.<\/li>\n<li>Standardm\u00e4\u00dfig nur eine gleichzeitige Browserverbindung \u2014 parallele Sessions k\u00f6nnten sich widersprechen und Speicher- oder Plattenkonfigurationen besch\u00e4digen.<\/li>\n<li>Beim Verbindungsverlust h\u00e4ngt das Verhalten vom Installationsfortschritt ab: Vor der finalen Best\u00e4tigungsseite startet die Session neu, danach gelangt man direkt auf die Fortschrittsanzeige.<\/li>\n<li>Cockpit\u2011Konfigurationen f\u00fcr die Installation werden isoliert gehalten, standardm\u00e4\u00dfig unter \/etc\/anaconda\/cockpit\/, damit nichts in das sp\u00e4tere Zielsystem \u201eleakt\u201c.<\/li>\n<li>Der Dienst soll standardm\u00e4\u00dfig Port 443 nutzen, l\u00e4sst sich aber konfigurieren.<\/li>\n<\/ul>\n<h3>Authentifizierung und TLS<\/h3>\n<p>F\u00fcr die erste Authentifizierung ist ein PIN\u2011Mechanismus vorgesehen, der \u00e4hnlich wie bei VNC oder RDP vom Benutzer eingegeben wird. Die Entwickler entschieden sich gegen die Auslieferung eines privaten Schl\u00fcssels auf dem Installationsmedium, daher erfolgt TLS mit einem bei Systemstart erzeugten, selbstsignierten Zertifikat. F\u00fcr gro\u00dfskalige, zertifikateverwaltete Deployments empfiehlt das Team stattdessen vorbereitete Images via Image Builder mit eigenen Zertifikaten einzusetzen.<\/p>\n<h3>Sitzungsverwaltung und Konfigurationsisolation<\/h3>\n<p>Sitzungen verwenden Cookies, die das Schlie\u00dfen eines Tabs \u00fcberdauern, jedoch nach komplettem Schlie\u00dfen des Browsers eine erneute Anmeldung erfordern. Alle Cockpit\u2011spezifischen Einstellungen f\u00fcr den Installationsmodus werden getrennt von regul\u00e4ren Cockpit\u2011Pfaden verwaltet, um Konfigurations\u00fcbertragungen ins Zielsystem zu vermeiden.<\/p>\n<h2>Typische Einsatzszenarien<\/h2>\n<p>Die Entwickler nennen drei Hauptanwendungsf\u00e4lle:<\/p>\n<ul>\n<li>Headless\u2011Server: Maschinen im Rechenzentrum oder im Rack ohne angeschlossenen Bildschirm lassen sich per Browser vom Schreibtisch aus installieren.<\/li>\n<li>Ressourcenarme ARM\u2011Boards: Ein Raspberry Pi oder \u00e4hnliches kann lediglich den Installer\u2011Backend betreiben; alle Rendering\u2011 und Interaktionsaufgaben \u00fcbernimmt der Client\u2011Browser.<\/li>\n<li>Remote\u2011Monitoring: Auch bei lokal angeschlossenem Monitor kann das Beobachten oder Mitverfolgen einer Installation von einem anderen Ger\u00e4t aus n\u00fctzlich sein.<\/li>\n<\/ul>\n<h2>Vergleich zu VNC und RDP<\/h2>\n<p>VNC und RDP bleiben als Optionen f\u00fcr die \u00e4lteren GTK\u2011Installationsoberfl\u00e4chen erhalten. Technisch teilen sich VNC und RDP das Prinzip, den Bildschirminhalt zu \u00fcbertragen; RDP arbeitet dabei auf Display\u2011Level. Die webbasierte L\u00f6sung hingegen sendet nur Anweisungen und UI\u2011\u00c4nderungen als strukturierten Inhalt an den Browser, wodurch Bandbreite gespart und Reaktionszeiten verbessert werden. Zudem entfallen plattformabh\u00e4ngige Viewer\u2011Installationen: Jeder aktuelle Browser kann als Client dienen. Ein weiterer Vorteil ist ein einheitlicher Codepfad \u2014 Features, die in der Web\u2011UI entwickelt werden, stehen automatisch auch f\u00fcr die Remote\u2011Nutzung zur Verf\u00fcgung, ohne eine zus\u00e4tzliche GTK\u2011Codebasis zu pflegen.<\/p>\n<h2>Aktueller Entwicklungsstand und Proof\u2011of\u2011Concept<\/h2>\n<p>Der Funktionsumfang im Entwickler\u2011Preview umfasst bereits mehrere Elemente:<\/p>\n<ul>\n<li>Eine angepasste Login\u2011Seite mit PIN\u2011Authentifizierung.<\/li>\n<li>Eine separate, socket\u2011aktivierte systemd\u2011Unit f\u00fcr die Authentifizierung, getrennt vom Haupt\u2011Cockpit\u2011Prozess.<\/li>\n<li>Sitzungscookies, die Tabwechsel \u00fcberstehen, aber nach komplettem Browser\u2011Schlie\u00dfen Neuanmeldung erzwingen.<\/li>\n<li>Isolierte Cockpit\u2011Konfiguration unter anaconda\u2011eigener Pfadstruktur.<\/li>\n<\/ul>\n<p>Offene Punkte sind unter anderem die technische Durchsetzung der Einzelsitzung (dazu ist Abstimmung mit den Cockpit\u2011Maintainerinnen und Maintainer n\u00f6tig) sowie die Backend\u2011Erkennung, ob eine Installation bereits l\u00e4uft \u2014 beides relevant f\u00fcr korrektes Reconnect\u2011Verhalten.<\/p>\n<p>Es existiert ein Proof\u2011of\u2011Concept\u2011Zweig im anaconda\u2011Web\u2011UI\u2011Repository (Branch poc\u2011remote), der die Authentifizierungskomponenten demonstriert. Wer experimentell testen m\u00f6chte, kann den PR\u2011Zweig klonen, ein <em>updates.img<\/em> erzeugen und eine VM mit virt\u2011install so starten, dass das Image als Update bereitgestellt wird und der Remote\u2011Modus aktiviert ist. Wichtiger Hinweis: Dieses PoC ist nicht f\u00fcr produktive Nutzung gedacht \u2014 die PIN ist dort fest auf 1234 eingestellt, TLS ist nicht eingerichtet und die Einzelsitzungsregelung fehlt noch.<\/p>\n<h2>Diskussionspunkte f\u00fcr die Community<\/h2>\n<p>Die Fedora\u2011Entwicklerinnen und Entwickler suchen aktiv R\u00fcckmeldungen zu mehreren Entscheidungen. Wichtig ist insbesondere, ob ein minimalistisches Boot\u2011ISO ohne lokalen Browser sinnvoll w\u00e4re \u2014 ein leichtgewichtiges Image, das standardm\u00e4\u00dfig Remote\u2011Installation erlaubt und damit gezielt auf kopf\u2011 und bildschirmlose Szenarien zugeschnitten ist. Alternativ bleibt die bisherige opt\u2011in\u2011L\u00f6sung, die per Bootoption oder Kickstart aktiviert wird.<\/p>\n<p>Falls Sie heute VNC oder RDP f\u00fcr Remote\u2011Installationen nutzen: W\u00fcrde ein Browser\u2011basierter Weg diese Szenarien ersetzen? Welche Anforderungen sehen Sie noch, damit ein solches System in Ihrer Umgebung praktikabel ist? Die Entwickler bitten um Feedback \u00fcber Matrix (#anaconda:fedoraproject.org) oder via Kommentar und verfolgen die Arbeit im anaconda\u2011webui\u2011Repository auf GitHub.<\/p>\n<p>Fazit: Die webbasierte Ferninstallation f\u00fcr Anaconda ist ein nachvollziehbarer Schritt, um Remote\u2011Setups effizienter und wartungs\u00e4rmer zu gestalten. Der aktuelle Stand zeigt eine solide Richtung, aber einige sicherheits\u2011 und betrieblich relevante Details sind noch offen \u2014 jetzt ist der richtige Zeitpunkt, um Einw\u00e4nde und Anforderungen aus der Community einzubringen.<\/p>\n<aside class=\"lfem-source-box\"><strong>Quelle:<\/strong> <a href=\"https:\/\/fedoramagazine.org\/web-based-remote-installation-for-fedora-linux-heres-what-were-building\/\" target=\"_blank\" rel=\"noopener noreferrer external\">Fedora Magazine<\/a><br \/><small>LinuxFokus hat den verlinkten Originalartikel als Recherchegrundlage ausgewertet und daraus einen eigenst\u00e4ndigen deutschsprachigen Beitrag erstellt. F\u00fcr vollst\u00e4ndige Prim\u00e4rdetails gilt die Originalquelle.<\/small><\/aside>\n","protected":false},"excerpt":{"rendered":"<p>Fedora entwickelt eine native Remote\u2011Installationsm\u00f6glichkeit f\u00fcr den webbasierten Anaconda\u2011Installer: Statt VNC oder RDP soll die komplette Installationsoberfl\u00e4che per HTTPS an einen entfernten Browser ausgeliefert werden. Dieser Artikel erkl\u00e4rt Idee, Technik, aktuelle Umsetzung und offene Punkte.<\/p>\n","protected":false},"author":1,"featured_media":148,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ocean_front_end_style_editor":"no","ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"on","ocean_gallery_id":[],"footnotes":""},"categories":[2],"tags":[42,46,45,14,47,44,43],"class_list":["post-147","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux-news","tag-anaconda","tag-arm","tag-cockpit","tag-fedora","tag-headless","tag-remote-installation","tag-web-installer","entry","has-media"],"_links":{"self":[{"href":"https:\/\/linuxfokus.de\/index.php?rest_route=\/wp\/v2\/posts\/147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxfokus.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxfokus.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxfokus.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxfokus.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=147"}],"version-history":[{"count":0,"href":"https:\/\/linuxfokus.de\/index.php?rest_route=\/wp\/v2\/posts\/147\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxfokus.de\/index.php?rest_route=\/wp\/v2\/media\/148"}],"wp:attachment":[{"href":"https:\/\/linuxfokus.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxfokus.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxfokus.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}