После успешного отключения IPv6 с помощью этого скрипта:
echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf
echo 'net.ipv6.conf.default.disable_ipv6 = 1' >> /etc/sysctl.conf
echo 'net.ipv6.conf.lo.disable_ipv6 = 1' >> /etc/sysctl.conf
sysctl -p
Я пытаюсь снова включить этот скрипт:
sed -i "/net.ipv6.conf.all.disable_ipv6/d" /etc/sysctl.conf
sed -i "/net.ipv6.conf.default.disable_ipv6/d" /etc/sysctl.conf
sed -i "/net.ipv6.conf.lo.disable_ipv6/d" /etc/sysctl.conf
sysctl -p
Я проверил, что сценарий включения удаляет отключите строки из файла sysctl.conf.
В каждом случае я проверяю результат следующим образом:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
где «1» означает «отключено», а «0» означает «нет».
-съемная деталь не работает.
В каждом случае команда sysctl -p перезагружает файл /etc/sysctl.conf. Однако кажется, что перезагрузка просто втягивается в свой буфер, а не полностью записывает его, так что свойства отключения не удаляются.
Правильно ли этот анализ?
Если это так, я не вижу возможности очистить кеш sysctl.conf. Есть ли это? Или существует стратегия для этого требования?
Записи в /etc/sysctl.conf и любые файлы, включенные в него, указывают, какие параметры sysctl будут применяться во время загрузки или когда вы запустите sudo sysctl -p. Но отсутствие записи в этом файле означает, что такой sysctl (из которых тысячи) не будет изменен с любого значения, которое он в настоящее время имеет.
Вы удалили записи sysctl, которые отключили IPv6 из этого файла , но, похоже, вы не изменили сами настройки sysctl. Запуск sudo sysctl -p не изменил их, потому что они не были в /etc/sysctl.conf.
Чтобы изменить эти записи на свои значения по умолчанию, вы можете либо перезагрузить систему, либо использовать sysctl для установить их явно. Например:
sudo sysctl net.ipv6.conf.all.disable_ipv6=0
sudo sysctl net.ipv6.conf.default.disable_ipv6=0
sudo sysctl net.ipv6.conf.lo.disable_ipv6=0
Записи в /etc/sysctl.conf и любые файлы, включенные в него, указывают, какие параметры sysctl будут применяться во время загрузки или когда вы запустите sudo sysctl -p. Но отсутствие записи в этом файле означает, что такой sysctl (из которых тысячи) не будет изменен с любого значения, которое он в настоящее время имеет.
Вы удалили записи sysctl, которые отключили IPv6 из этого файла , но, похоже, вы не изменили сами настройки sysctl. Запуск sudo sysctl -p не изменил их, потому что они не были в /etc/sysctl.conf.
Чтобы изменить эти записи на свои значения по умолчанию, вы можете либо перезагрузить систему, либо использовать sysctl для установить их явно. Например:
sudo sysctl net.ipv6.conf.all.disable_ipv6=0
sudo sysctl net.ipv6.conf.default.disable_ipv6=0
sudo sysctl net.ipv6.conf.lo.disable_ipv6=0
Записи в /etc/sysctl.conf и любые файлы, включенные в него, указывают, какие параметры sysctl будут применяться во время загрузки или когда вы запустите sudo sysctl -p. Но отсутствие записи в этом файле означает, что такой sysctl (из которых тысячи) не будет изменен с любого значения, которое он в настоящее время имеет.
Вы удалили записи sysctl, которые отключили IPv6 из этого файла , но, похоже, вы не изменили сами настройки sysctl. Запуск sudo sysctl -p не изменил их, потому что они не были в /etc/sysctl.conf.
Чтобы изменить эти записи на свои значения по умолчанию, вы можете либо перезагрузить систему, либо использовать sysctl для установить их явно. Например:
sudo sysctl net.ipv6.conf.all.disable_ipv6=0
sudo sysctl net.ipv6.conf.default.disable_ipv6=0
sudo sysctl net.ipv6.conf.lo.disable_ipv6=0