Регулярное обновление сломало initramfs в Elementary OS 6

Есть много способов отключить IPv6 в Linux, так что вам придется проверить их все.

Во-первых, ваша версия ядра не совсем похожа на стандартное ядро ​​Debian 10 AMD64. Если вы используете собственное ядро, IPv6 может быть отключен во время компиляции ядра, и в этом случае вам потребуется перекомпилировать ядро ​​(или переключиться на другое ядро ​​), чтобы включить его.

Пожалуйста, запустите grep CONFIG_IPV6 /boot/config-$(uname -r)и посмотрите, что там написано. Если ответ включает строку:

# CONFIG_IPV6 is not set

тогда в вашем текущем ядре была отключена поддержка IPv6 во время компиляции.

Если ответ содержит строку:

CONFIG_IPV6=m

тогда поддержка IPv6 скомпилирована как модуль ядра.

Если вместо строки:

CONFIG_IPV6=y

тогда поддержка IPv6 скомпилирована в основное ядро. В этом случае одним из способов отключить IPv6 было бы добавить параметр загрузки ipv6.disable=1в командную строку ядра (в /etc/default/grub), но вы сказали, что уже проверили это.

IPv6 скомпилирован как модуль

Запустите modprobe -c |grep "options ipv6"от имени пользователя root. Если ответ содержит строку:

options ipv6 disable=1

, то IPv6 отключен конфигурацией модуля ядра, и вы должны найти эту строку в одном из файлов в /etc/modprobe.d.

Чтобы снова -включить IPv6 в этом случае, найдите эту строку, закомментируйте ее и запустите update-initramfs -uот имени пользователя root, чтобы убедиться, что IPv6 не будет отключен при ранней загрузке, так как эта стратегия отключения может потребовать перезагрузки для повторно -включить.

(Теоретически, выгрузки и повторной -загрузки ipv6после комментирования опции отключения должно быть достаточно, но из-за зависимостей между модулями это может быть трудно сделать без перезагрузки.)

Методы применимы как для модульных, так и для скомпилированных -в IPv6

Вам также следует проверить настройки sysctl:

grep "disable_ipv6" /etc/sysctl.conf /etc/sysctl.d/*.conf

Если выходные данные содержат такие строки, IPv6 отключен в настройках sysctl:

net.ipv6.conf.<something>.disable_ipv6 = 1

Здесь <something>может быть словом allили defaultили именем определенного сетевого интерфейса. Чтобы снова включить -, закомментируйте строки disable_ipv6и запустите sysctl -pот имени root, затем перезагрузите (или просто перенастройте сетевые интерфейсы ).

0
30.10.2021, 12:42
1 ответ

Это действительно легко решить

Решение с объяснением:

cd /var/cache/apt/archives/
ls -al
#list packages installed

sudo rm -rf initramfs-tools*
#removes the problem files

sudo apt update 
#updates software cache 

sudo apt --fix-broken install
#looks for other problems and solve it 

sudo apt install initramfs-tools*
#recovers problems packages.

Правильный скрипт будет:

#! /bin/bash
sudo apt-get clean
sudo dpkg --configure -a
sudo apt-get autoclean
sudo apt-get update
echo
echo
echo "Packages that will be updated:"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
sudo apt list --upgradable -a
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo
echo
sudo apt-get upgrade -y
sudo apt-get full-upgrade -y
sudo apt-get autoremove  -y
sudo apt-get clean

Используйте apt -get или aptitude -f вместо apt -fast

apt-get
#stable

apt-fast
#unstable but fast

aptitude -f
#best and safe and fix all the problems.

--purge 
#without specification can sometimes delete important files

Если это не сработало, опубликуйте вывод каждой команды, которую я вам сказал, особенноapt --fix-broken install

1
31.10.2021, 02:18

Теги

Похожие вопросы