
Ich versuche, Platz auf meiner Root-Partition freizugeben, und /lib/firmware nimmt viel Platz ein. Es gibt viele Dateien für Geräte, von denen ich weiß, dass ich sie nicht habe, aber es gibt auch viele Dateien für Geräte, die ich nicht erkenne, sodass ich nicht weiß, ob ich die Firmware brauche oder nicht.
Gibt es vielleicht eine Möglichkeit zu sehen, welche Firmware-Dateien tatsächlich geladen wurden?
Antwort1
Ich greife hier mal ein: Ich stimme zu, dass es möglicherweise viele Dateien darin gibt, /lib/firmware
die Sie nicht benötigen, und dass es daher möglich sein sollte, einige davon zu entfernen.
Dies sollte jedoch in jedem Fall mit Vorsicht geschehen und Sie sollten darauf vorbereitet sein, die fehlenden Firmware-Dateien über einen Live-USB-Boot oder eine ähnliche Methode wiederherzustellen.
/lib/firmware
Ich habe als Einstieg die folgende Liste der Ordner erstellt, die größer als 5 MB sind:(Ich habe intel
und entfernt intel-ucode
, da Sie diese höchstwahrscheinlich nicht entfernen sollten)
/lib/firmware/netronome : NIC firmware implementation for Agilio SmartNICs /lib/firmware/amdgpu : AMD GPU firmware /lib/firmware/mellanox : Mellanox Ethernet and InfiniBand NIC firmware /lib/firmware/qcom : Qualcomm device firmware /lib/firmware/mrvl : Marvell device firmware /lib/firmware/ath11k : Firmware for Qualcomm IEEE 802.11ax devices /lib/firmware/i915 : Firmware for i915 Intel GFX Driver /lib/firmware/liquidio : NIC firmware implementation for Marvell Liquidio SmartNICs /lib/firmware/qed : Firmware for QLogic Everest FastLinQ Linux Driver /lib/firmware/mediatek : MediaTak device firmware /lib/firmware/dpaa2 : Firmware for DPAA2 (Data Path Acceleration Architecture Gen2) /lib/firmware/ath10k : Firmware for Qualcomm IEEE 802.11ac devices /lib/firmware/brcm : Broadcom device firmware /lib/firmware/radeon : Firmware for AMD Radeon GPU adapters /lib/firmware/rtw89 : Firmware for Realtek rtw89 devices /lib/firmware/cypress : Cypress device firmware /lib/firmware/ti-connectivity : Texas Instruments device firmware
Ich würde dann vorschlagen, dass Sie ausführen sudo lshw
und die Liste gründlich durchgehen. Wenn Sie 100% sicher sind, dass Sie keine Hardware von einem bestimmten Anbieter haben, würde ich sagen, Sie könntenbewegendieser Firmware-Ordner. Beachten Sie, dass ich Ihnen empfehlen würdebewegenanstatt es zunächst zu entfernen, damit Sie es bei Problemen wieder einsetzen können.
Ich glaube, Grafikkarten sind ein gutes Beispiel. Wenn Sie nur eine NVidia-Grafikkarte haben, können Sie wahrscheinlich die AMD-GPU-Firmware entfernen – und umgekehrt. Ähnlich verhält es sich mit WLAN-Adaptern: Wenn Sie einen von einem Anbieter haben, haben Sie höchstwahrscheinlich keinen von einem der anderen Anbieter.
Beachten Sie jedoch, dass Sie möglicherweise einige der Firmware-Dateien vermissen, wenn Sie sich zu einem späteren Zeitpunkt dazu entschließen, Ihre Hardware zu ändern. Aus diesem Grund empfehle ich (noch einmal), dass Sie nichts entfernen, sondern es an einen anderen Ort verschieben.
Und schließlich sollten Sie sich bewusst sein, dass beim Ausführen sudo apt upgrade
möglicherweise neue Dateien darin installiert werden könnten /lib/firmware
. Sie sollten also in regelmäßigen Abständen nach Ordnern suchen, die Sie absolut sicher nicht benötigen.
Ist das eine elegante Lösung?NEIN.Ist es verdammt hackig?Ja.Ich würde jedoch immer noch argumentieren, dass es einige Fälle gibt, in denen Dateien ohne jegliche Konsequenzen entfernt werden könnten. Es ist mit Sicherheit kein Problem, AMD- und Nvidia-Firmware zu entfernen, wenn Sie Ubuntu Server nur mit einem integrierten Grafikadapter ausführen. Und es gibt wahrscheinlich noch andere ähnliche Szenarien.
Seien Sie einfach vorsichtig und seien Sie in jedem Fall darauf vorbereitet, Dateien wiederherzustellen.
NB: Ich untersuche derzeit eine Möglichkeit, zuverlässig herauszufinden, auf welche Firmware-Dateien seit dem letzten Neustart zugegriffen wurde. Ich werde in ein paar Tagen darüber berichten ...
Antwort2
Sie können die für Ihr System verwendete Firmware im Kernel-Protokoll überprüfen.
grep firmware /var/log/kernel.log
gibt Ihnen eine übersichtliche Liste der Firmware, die seit der letzten Logrotation geladen wurde (das können mehrere Tage sein)
Seit ich dies jedoch zum ersten Mal gepostet habe, habe ich erfahren, dass die meiste Firmware von initrd geladen wird und dass normalerweise keine Protokolldatei über die Vorgänge erstellt wird.