GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Ubuntu - Dossier de modules Lib supprimé après chaque redémarrage ?

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

J'ai un problème avec iptables qui ne fonctionne pas après un redémarrage :

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.

J'ai essayé de réinstaller le noyau et 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

quand je le réinstalle (sans redémarrage) iptables fonctionne après un redémarrage du service.

lorsque je redémarre la machine, j'obtiens à nouveau la même erreur.

J'ai remarqué qu'à chaque redémarrage, le dossier suivant a disparu :

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

seuls 2 fichiers restants dans le dossier ipv4 sont :
gre.ko udp_tunnel.ko

copier les fichiers manquants à cet emplacement ne fonctionne pas, sera supprimé au prochain redémarrage.

Une idée de comment résoudre ce problème ?

Réponse acceptée :

J'obtiens la même chose sur Ubuntu 16.04. Je n'ai pas de solution, mais j'ai une idée de la raison pour laquelle cela se produit. Pendant le processus de livre, le système démarre initialement sur un système de fichiers basé sur la RAM :initramfs. Plus tard dans le processus de démarrage, le disque dur prend le relais, mais le répertoire des modules de l'initramfs est monté sur le répertoire des modules du disque dur. Notez que la sortie de mount inclut la ligne :

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

Ok, donc toute modification de /lib/modules, par ex. en exécutant

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

seront perdus lors du redémarrage du système. Alors, comment est-ce censé fonctionner? Eh bien, lorsque le apt install La commande ajoute de nouveaux modules, elle doit mettre une entrée correspondante dans /usr/share/initramfs-tools/hooks . Puis le script d'installation qui apt install invoque exécute update-initramfs , qui génère l'archive CPIO /boot/initrd.img-(uname -r) qui est votre image initramfs, qui devrait maintenant contenir les modules nécessaires pour qu'iptables fonctionne lorsque le système est redémarré.

Le bogue est que les entrées pertinentes ne sont jamais réellement faites dans /usr/share/initramfs-tools/hooks , et donc les entrées pertinentes ne sont pas faites dans initramfs, et ne sont donc pas conservées lorsque le système est redémarré.

À ce stade, je suis bloqué.


Ubuntu
  1. Décalage de la souris après la mise à niveau vers Ubuntu 14.04 ?

  2. Ubuntu 18.10 (invité Virtualbox) - Écran noir après l'installation des ajouts d'invités et le redémarrage ?

  3. Ubuntu 16.04 Pas de Wifi après suspension ?

  4. Le Bios ne détecte pas le SSD après le redémarrage à partir d'Ubuntu 16.04 (Dell Xps 15) ?

  5. PHP-FPM ne démarre pas automatiquement après le redémarrage

Doit faire des choses après l'installation d'Ubuntu 13.04

Choses à faire après l'installation d'Ubuntu 13.10

Quelle distribution Linux utiliser après Ubuntu ?

Comment redémarrer Ubuntu 20.04 LTS

Comment installer FreeFileSync sur Ubuntu 18.04, 19.04, 16.04

Comment changer la couleur du dossier dans Ubuntu 22.04