Есть много способов отключить 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
), но вы сказали, что уже проверили это.
Запустите modprobe -c |grep "options ipv6"
от имени пользователя root. Если ответ содержит строку:
options ipv6 disable=1
, то IPv6 отключен конфигурацией модуля ядра, и вы должны найти эту строку в одном из файлов в /etc/modprobe.d
.
Чтобы снова -включить IPv6 в этом случае, найдите эту строку, закомментируйте ее и запустите update-initramfs -u
от имени пользователя root, чтобы убедиться, что 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, затем перезагрузите (или просто перенастройте сетевые интерфейсы ).
Решение с объяснением:
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