GNU/Linux >> Znalost Linux >  >> Ubuntu

Ubuntu – Odstraněná složka Lib Modules po každém restartu?

uname -r:4.13.0-16-generic (server ubuntu 17.10)

Mám problém, že iptables po restartu nefunguje:

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.

Zkusil jsem přeinstalovat jádro a iptables:

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

když jej přeinstaluji (bez restartu), iptables po restartu služby funguje.

když restartuji počítač, znovu se zobrazí stejná chyba.

Všiml jsem si, že s každým restartem zmizí následující složka:

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

ve složce ipv4 zbývají pouze 2 soubory:
gre.ko udp_tunnel.ko

kopírování chybějících souborů do tohoto umístění nefunguje, bude odstraněno při příštím restartu.

Máte nápad, jak to opravit?

Přijatá odpověď:

Mám to samé na Ubuntu 16.04. Nemám opravu, ale mám určitý přehled o tom, proč se to děje. Během procesu knihy se systém zpočátku spouští ze souborového systému založeného na RAM:initramfs. Později v procesu zavádění převezme řízení pevný disk, ale adresář modulů z initramfs je připojen do adresáře modulů pevného disku. Všimněte si, že výstup mount obsahuje řádek:

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

Dobře, takže jakékoli změny v /lib/modules, např. provedením

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

budou ztraceny při restartování systému. Jak to tedy má fungovat? Když se apt install příkaz přidá nové moduly, měl by vložit odpovídající záznam do /usr/share/initramfs-tools/hooks . Poté instalační skript, který apt install vyvolá spuštění update-initramfs , který generuje archiv CPIO /boot/initrd.img-(uname -r) což je váš obraz initramfs, který by nyní měl obsahovat moduly potřebné k tomu, aby iptables fungovaly, když je systém restartován.

Chyba je v tom, že relevantní položky nejsou ve skutečnosti nikdy vytvořeny v /usr/share/initramfs-tools/hooks , a proto se příslušné položky nezapisují do initramfs, a proto se při restartu systému nezachovají.

V tomto bodě jsem uvízl.


Ubuntu
  1. Konfigurace brány firewall pomocí Iptables na Ubuntu 14.04

  2. Ufw zůstává deaktivován po restartu pomocí Ubuntu Server 16.04?

  3. Ubuntu visí při vypnutí/rebootu?

  1. Jak nainstalovat SSHGuard na Ubuntu

  2. Ztráta nastavení serveru Nvidia X při každém restartu?

  3. Prodleva myši po upgradu na Ubuntu 14.04?

  1. Ubuntu 18.10 (hostující Virtualbox) – Černá obrazovka po instalaci doplňků pro hosty a restartu?

  2. Ubuntu 16.04 Žádná Wifi po pozastavení?

  3. Bios nedetekuje Ssd po restartu z Ubuntu 16.04 (dell Xps 15)?