GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Ubuntu – Ordner „Lib Modules“ nach jedem Neustart entfernt?

uname -r:4.13.0-16-generic (Ubuntu 17.10-Server)

Ich habe ein Problem, dass iptables nach einem Neustart nicht funktioniert:

iptables-apply /etc/network/iptables
[ ok ] Stopping fail2ban (via systemctl): fail2ban.service.
Applying new iptables rules from '/etc/network/iptables'... modprobe: FATAL: Module ip_tables not found in directory /lib/modules/4.13.0-16-generic
iptables-restore v1.6.1: iptables-restore: unable to initialize table 'filter'

Error occurred at line: 3
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
failed.
Error: unknown error applying new iptables rules: /etc/network/iptables
Reverting to old iptables rules... done.

Ich habe versucht, Kernel und iptables neu zu installieren:

apt install --reinstall linux-generic linux-image-4.13.0-16-generic linux-image-extra-4.13.0-16-generic linux-headers-4.13.0-16-generic iptables

Wenn ich es neu installiere (ohne Neustart), funktioniert iptables nach einem Neustart des Dienstes.

Wenn ich die Maschine neu starte, erhalte ich denselben Fehler erneut.

Mir ist aufgefallen, dass bei jedem Neustart folgender Ordner weg ist:

/lib/modules/4.13.0-16-generic/kernel/net/ipv4/netfilter

Nur noch 2 Dateien im Ordner ipv4 sind:
gre.ko udp_tunnel.ko

Das Kopieren der fehlenden Dateien an diesen Ort funktioniert nicht, wird beim nächsten Neustart entfernt.

Irgendeine Idee, wie man das beheben kann?

Akzeptierte Antwort:

Ich bekomme das gleiche auf Ubuntu 16.04. Ich habe keine Lösung, aber ich habe einen Einblick, warum dies geschieht. Während des Buchvorgangs bootet das System zunächst auf einem RAM-basierten Dateisystem:initramfs. Später im Boot-Vorgang übernimmt die Festplatte, aber das Modulverzeichnis aus dem initramfs wird in das Modulverzeichnis der Festplatte eingehängt. Beachten Sie, dass die Ausgabe von mount enthält die Zeile:

copymods on /lib/modules type tmpfs (rw,relatime)

Ok, also alle Änderungen an /lib/modules, z.B. durch Ausführen

sudo apt-get install --reinstall linux-image-$(uname -r)

gehen verloren, wenn das System neu gestartet wird. Wie soll das also funktionieren? Nun, wenn die apt install Wenn der Befehl neue Module hinzufügt, sollte er einen entsprechenden Eintrag in /usr/share/initramfs-tools/hooks einfügen . Dann das Installationsskript, das apt install ruft update-initramfs auf , das das CPIO-Archiv /boot/initrd.img-(uname -r) generiert das ist Ihr initramfs-Image, das nun die Module enthalten sollte, die für iptables erforderlich sind, wenn das System neu gestartet wird.

Der Fehler besteht darin, dass die relevanten Einträge niemals tatsächlich in /usr/share/initramfs-tools/hooks vorgenommen werden , und daher werden die entsprechenden Einträge nicht in initramfs vorgenommen und bleiben daher nicht erhalten, wenn das System neu gestartet wird.

An diesem Punkt stecke ich fest.


Ubuntu
  1. Firewall-Konfiguration mit Iptables unter Ubuntu 14.04

  2. So installieren Sie SSHGuard auf Ubuntu

  3. Mausverzögerung nach dem Upgrade auf Ubuntu 14.04?

  4. Ubuntu 18.10 (Gast-Virtualbox) – Schwarzer Bildschirm nach Installation von Gasterweiterungen und Neustart?

  5. Ubuntu 16.04 Kein WLAN nach Suspend?

Muss Dinge nach der Installation von Ubuntu 13.04 tun

Dinge, die nach der Installation von Ubuntu 13.10 zu tun sind

Welche Linux-Distribution soll nach Ubuntu verwendet werden?

So starten Sie Ubuntu 20.04 LTS neu

So installieren Sie FreeFileSync unter Ubuntu 18.04, 19.04, 16.04

So ändern Sie die Ordnerfarbe in Ubuntu 22.04