/boot too small to upgrade

Наконец-то я сам это исправил...

Если вы работаете с DO API и следуете некоторым руководствам вроде этого (середина статьи), то, скорее всего, вы столкнетесь с одной из следующих ошибок.

Ошибка 1 приводит к чему-то вроде ...request body malformed Для ее решения убедитесь, что вы не забыли экранировать какую-либо строку/знак в yaml.

Ошибка 2 на первый взгляд не вызывает никаких проблем. Ваш api запрос проходит, дроплет раскручивается, и если вы не сделали ничего необычного, вы можете даже не заметить ее (если вы не проверите, что ваш скрипт сделал с системой...). Проверка журналов cloud-init, однако, покажет, что failed loading yaml blob. Это происходит, когда символы, требующие экранирования, экранируются недостаточно часто (?!).

Пример:

  • Это приведет к ошибке 1 (пропущена экранировка символа доллара):
    sed -i -e '$a\ \n#Add logfile information\nlogfile /var/log/ntp.log' /etc/ntp.conf
  • Это приведет к ошибке 2 (доллар экранирован аккуратно, но одного экранирования здесь недостаточно...):
    sed -i -e '\$a\ \n#Add logfile information\nlogfile /var/log/ntp.log' /etc/ntp.conf

Поэтому решение следующее:
sed -i -e '\\\$a\\\ \\n#Add logfile information\\nlogfile /var/log/ntp.log' /etc/ntp.conf

Если кто-то действительно все еще читает и понимает, как я расстроен, пожалуйста, дайте мне знать, если вы можете объяснить, что здесь происходит... - Вообще-то я не очень хочу погружаться в это снова, но с другой стороны, я всегда готов учиться.

Единственная причина, которую я мог бы понять: Поскольку скрипт bask тянет yaml и эта куча отправляется через удаленный shell в json, ему нужно немного больше "заботы" и поэтому двойное экранирование?!

1
14.09.2012, 05:59
2 ответа

Используйте gparted, чтобы переместить sdb2 к концу диска, чтобы перед ним было свободное пространство. Затем вы можете изменить размер sdb1.

1
29.04.2021, 00:53

Вы уверены, что вам вообще нужен отдельный загрузочный раздел? Раньше это было необходимо (или, по крайней мере, очень удобно), но grub довольно хорошо загружается с LVM, raid и наиболее распространенных файловых систем Linux в наши дни.

если вам не нужен отдельный / boot, вы можете переместить его в подкаталог на /.

Например:

cp -af /boot /boot.new
umount /boot
mv /boot.new /boot

Затем отредактируйте / etc / fstab и закомментируйте запись / boot

Вам также потребуется переустановить grub на / dev / sdb, поскольку файлы в / boot были перемещены: grub-install / dev / sdb .

1
29.04.2021, 00:53

Теги

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